From 3865912d4a6c31a4981e1831e2af8d59f3eb4ac0 Mon Sep 17 00:00:00 2001 From: Kurt Korbatits Date: Wed, 7 Oct 2009 08:40:14 +1000 Subject: Fixed thread lockup in win32 backend for QAudioOutput. -Was not closing the WaveOut on cleanup, fixed. -Was emitting signal in critical section, fixed. Reviewed-by:Bill King --- src/multimedia/audio/qaudiooutput_win32_p.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp index ef4bf0e..2c4a1c2 100644 --- a/src/multimedia/audio/qaudiooutput_win32_p.cpp +++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp @@ -189,7 +189,6 @@ void QAudioOutputPrivate::stop() { if(deviceState == QAudio::StopState) return; - deviceState = QAudio::StopState; close(); if(!pullMode && audioSource) { delete audioSource; @@ -465,13 +464,15 @@ bool QAudioOutputPrivate::deviceReady() } else if(l == 0) { bytesAvailable = bytesFree(); + int check = 0; EnterCriticalSection(&waveOutCriticalSection); - if(waveFreeBlockCount == buffer_size/period_size) { + check = waveFreeBlockCount; + LeaveCriticalSection(&waveOutCriticalSection); + if(check == buffer_size/period_size) { errorState = QAudio::UnderrunError; deviceState = QAudio::IdleState; emit stateChanged(deviceState); } - LeaveCriticalSection(&waveOutCriticalSection); } else if(l < 0) { bytesAvailable = bytesFree(); -- cgit v0.12 From 8b7e766aa42739df8998ec9c1e94087b965ac87b Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Wed, 7 Oct 2009 15:18:50 +1000 Subject: Fix build error introduced in change ffeb6900. Change ffeb6900 renamed a function but didn't rename all the calls. Reviewed-by: Trust Me --- examples/webkit/fancybrowser/mainwindow.cpp | 2 +- examples/webkit/googlechat/main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/webkit/fancybrowser/mainwindow.cpp b/examples/webkit/fancybrowser/mainwindow.cpp index 2adfa20..a3293b8 100644 --- a/examples/webkit/fancybrowser/mainwindow.cpp +++ b/examples/webkit/fancybrowser/mainwindow.cpp @@ -56,7 +56,7 @@ MainWindow::MainWindow() file.close(); //! [1] - QNetworkProxyFactory::setUseSystemConfigurationEnabled(true); + QNetworkProxyFactory::setUseSystemConfiguration(true); //! [2] view = new QWebView(this); diff --git a/examples/webkit/googlechat/main.cpp b/examples/webkit/googlechat/main.cpp index fd08114..6b5e11f 100644 --- a/examples/webkit/googlechat/main.cpp +++ b/examples/webkit/googlechat/main.cpp @@ -47,7 +47,7 @@ int main(int argc, char * argv[]) { QApplication app(argc, argv); - QNetworkProxyFactory::setUseSystemConfigurationEnabled(true); + QNetworkProxyFactory::setUseSystemConfiguration(true); GoogleChat *chat = new GoogleChat; chat->show(); -- cgit v0.12 From 087b624c616bc1b3dbe850a74d0737fffc08bec2 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 7 Oct 2009 09:55:11 +0200 Subject: implement qHash function for QScriptString Reviewed-by: Olivier Goffart --- src/script/api/qscriptstring.cpp | 8 ++++++++ src/script/api/qscriptstring.h | 2 ++ src/script/api/qscriptstring_p.h | 7 +++++++ tests/auto/qscriptstring/tst_qscriptstring.cpp | 17 +++++++++++++++++ 4 files changed, 34 insertions(+) diff --git a/src/script/api/qscriptstring.cpp b/src/script/api/qscriptstring.cpp index 65bd818..c2362da 100644 --- a/src/script/api/qscriptstring.cpp +++ b/src/script/api/qscriptstring.cpp @@ -195,4 +195,12 @@ QScriptString::operator QString() const return toString(); } +uint qHash(const QScriptString &key) +{ + QScriptStringPrivate *d = QScriptStringPrivate::get(key); + if (!d) + return 0; + return qHash(d->identifier.ustring().rep()); +} + QT_END_NAMESPACE diff --git a/src/script/api/qscriptstring.h b/src/script/api/qscriptstring.h index e0a808e..40d156c 100644 --- a/src/script/api/qscriptstring.h +++ b/src/script/api/qscriptstring.h @@ -76,6 +76,8 @@ private: Q_DECLARE_PRIVATE(QScriptString) }; +Q_SCRIPT_EXPORT uint qHash(const QScriptString &key); + QT_END_NAMESPACE QT_END_HEADER diff --git a/src/script/api/qscriptstring_p.h b/src/script/api/qscriptstring_p.h index 25ce702..d3bb47d 100644 --- a/src/script/api/qscriptstring_p.h +++ b/src/script/api/qscriptstring_p.h @@ -73,6 +73,8 @@ public: inline ~QScriptStringPrivate(); static inline void init(QScriptString &q, QScriptStringPrivate *d); + static inline QScriptStringPrivate *get(const QScriptString &q); + inline void detachFromEngine(); QBasicAtomicInt ref; @@ -101,6 +103,11 @@ inline void QScriptStringPrivate::init(QScriptString &q, QScriptStringPrivate *d q.d_ptr = d; } +inline QScriptStringPrivate *QScriptStringPrivate::get(const QScriptString &q) +{ + return const_cast(q.d_func()); +} + inline void QScriptStringPrivate::detachFromEngine() { engine = 0; diff --git a/tests/auto/qscriptstring/tst_qscriptstring.cpp b/tests/auto/qscriptstring/tst_qscriptstring.cpp index 0968b61..e1a4bc1 100644 --- a/tests/auto/qscriptstring/tst_qscriptstring.cpp +++ b/tests/auto/qscriptstring/tst_qscriptstring.cpp @@ -58,6 +58,7 @@ public: private slots: void test(); + void hash(); }; tst_QScriptString::tst_QScriptString() @@ -138,5 +139,21 @@ void tst_QScriptString::test() } } +void tst_QScriptString::hash() +{ + QScriptEngine engine; + QHash stringToInt; + QScriptString foo = engine.toStringHandle("foo"); + QScriptString bar = engine.toStringHandle("bar"); + QVERIFY(!stringToInt.contains(foo)); + for (int i = 0; i < 1000000; ++i) + stringToInt.insert(foo, 123); + QCOMPARE(stringToInt.value(foo), 123); + QVERIFY(!stringToInt.contains(bar)); + stringToInt.insert(bar, 456); + QCOMPARE(stringToInt.value(bar), 456); + QCOMPARE(stringToInt.value(foo), 123); +} + QTEST_MAIN(tst_QScriptString) #include "tst_qscriptstring.moc" -- cgit v0.12 From c14455b78904f25e724cd928652c49f9583c6aa0 Mon Sep 17 00:00:00 2001 From: ninerider Date: Wed, 7 Oct 2009 10:50:36 +0200 Subject: Whe STL is not enabled, most of the test threads failed to start. A second worker function that was not defined in the descendant classes was used in these cases. The missing worker functions have been supplied and some tests skipped that depend on iterator ranges. Reviewed-by: Joerg --- .../tst_qtconcurrentiteratekernel.cpp | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp b/tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp index a5748ae..3b1e18f 100644 --- a/tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp +++ b/tests/auto/qtconcurrentiteratekernel/tst_qtconcurrentiteratekernel.cpp @@ -66,6 +66,7 @@ struct TestIterator }; #include +#ifndef QT_NO_STL namespace std { template <> struct iterator_traits @@ -79,6 +80,7 @@ int distance(TestIterator &a, TestIterator &b) } } +#endif #include @@ -112,7 +114,7 @@ class PrintFor : public IterateKernel { public: PrintFor(TestIterator begin, TestIterator end) : IterateKernel(begin, end) {iterations = 0; } - inline bool runIterations(TestIterator/*beginIterator*/, int begin, int end, void *) + bool runIterations(TestIterator/*beginIterator*/, int begin, int end, void *) { iterations.fetchAndAddRelaxed(end - begin); #ifdef PRINT @@ -120,6 +122,11 @@ public: #endif return false; } + bool runIteration(TestIterator it, int index , void *result) + { + return runIterations(it, index, index + 1, result); + } + }; class SleepPrintFor : public IterateKernel @@ -135,6 +142,10 @@ public: #endif return false; } + bool runIteration(TestIterator it, int index , void *result) + { + return runIterations(it, index, index + 1, result); + } }; @@ -165,6 +176,10 @@ public: counter.fetchAndAddRelaxed(end - begin); return false; } + bool runIteration(TestIterator it, int index , void *result) + { + return runIterations(it, index, index + 1, result); + } }; void tst_iteratekernel::stresstest() @@ -215,6 +230,10 @@ public: return false; } + bool runIteration(TestIterator it, int index , void *result) + { + return runIterations(it, index, index + 1, result); + } bool shouldThrottleThread() { @@ -254,6 +273,9 @@ public: void tst_iteratekernel::blockSize() { +#ifdef QT_NO_STL + QSKIP("Missing stl iterators prevent correct block size calculation", SkipAll); +#endif const int expectedMinimumBlockSize = 1024 / QThread::idealThreadCount(); BlockSizeRecorder(0, 10000).startBlocking(); if (peakBlockSize < expectedMinimumBlockSize) @@ -276,6 +298,9 @@ public: void tst_iteratekernel::multipleResults() { +#ifdef QT_NO_STL + QSKIP("Missing stl iterators prevent correct summation", SkipAll); +#endif QFuture f = startThreadEngine(new MultipleResultsFor(0, 10)).startAsynchronously(); QCOMPARE(f.results().count() , 10); QCOMPARE(f.resultAt(0), 0); -- cgit v0.12 From 3715e8ff3cc61dd869ec2ae484d6323f97c0a80a Mon Sep 17 00:00:00 2001 From: ninerider Date: Wed, 7 Oct 2009 10:55:02 +0200 Subject: A test requiring an enter/leave signal to be emitted is skipped. Enter leave signals are not yet supported on Windows Mobile. Reviewed-by: Joerg --- tests/auto/qabstractitemview/tst_qabstractitemview.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp index 4e385d5..d6911d2 100644 --- a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp +++ b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp @@ -1225,6 +1225,9 @@ void tst_QAbstractItemView::task250754_fontChange() void tst_QAbstractItemView::task200665_itemEntered() { +#ifdef Q_OS_WINCE_WM + QSKIP("On Windows Mobile the mouse tracking is unavailable at the moment", SkipAll); +#endif //we test that view will emit entered //when the scrollbar move but not the mouse itself QStandardItemModel model(1000,1); -- cgit v0.12 From ee383b89f16a9a75a934076255bddbef5a075fa3 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 19 Aug 2009 15:50:45 +0200 Subject: Integrate the GuiPlatformPlugin interface This is an internal interface for plugins that can be provided by the platform to give platform-specific features by platforms built on top of Qt. We can easlily integrate Qt on Windows, Mac, Gnome, ... without any plugin because we can link to their respective library (dynamically if we don't want to depend on it). On Gnome, we can dynamically resolve Gtk+ symbols. This is however not possible for KDE or other platform built on top of Qt: we can't link against their library because they depend on us and we can't dynamically resolve the symbols because they are mangled (C++) So this plugin provides hooks inside Qt to be able to do things like native File or Color dialog, native icons, accurate reading of the config file, and so on. This is currently private API. Task-number: QT-406 Reviewed-by: Jens Bache-Wiig Reviewed-by: Oswald Buddenhagen --- examples/dialogs/standarddialogs/dialog.cpp | 5 - src/gui/dialogs/qcolordialog.cpp | 21 ++- src/gui/dialogs/qcolordialog_p.h | 1 + src/gui/dialogs/qfiledialog_p.h | 24 +-- src/gui/image/qicon.cpp | 11 +- src/gui/kernel/kernel.pri | 6 +- src/gui/kernel/qapplication.cpp | 38 +---- src/gui/kernel/qapplication_p.h | 1 - src/gui/kernel/qapplication_x11.cpp | 42 +---- src/gui/kernel/qguiplatformplugin.cpp | 231 ++++++++++++++++++++++++++++ src/gui/kernel/qguiplatformplugin_p.h | 122 +++++++++++++++ src/gui/kernel/qkde.cpp | 33 +++- src/gui/kernel/qkde_p.h | 9 +- src/gui/styles/qcommonstyle.cpp | 54 +------ src/gui/styles/qcommonstyle_p.h | 1 - 15 files changed, 441 insertions(+), 158 deletions(-) create mode 100644 src/gui/kernel/qguiplatformplugin.cpp create mode 100644 src/gui/kernel/qguiplatformplugin_p.h diff --git a/examples/dialogs/standarddialogs/dialog.cpp b/examples/dialogs/standarddialogs/dialog.cpp index c29d2dd..6e06190 100644 --- a/examples/dialogs/standarddialogs/dialog.cpp +++ b/examples/dialogs/standarddialogs/dialog.cpp @@ -150,11 +150,6 @@ Dialog::Dialog(QWidget *parent) native = new QCheckBox(this); native->setText("Use native file dialog."); native->setChecked(true); -#ifndef Q_WS_WIN -#ifndef Q_OS_MAC - native->hide(); -#endif -#endif QGridLayout *layout = new QGridLayout; layout->setColumnStretch(1, 1); layout->setColumnMinimumWidth(1, 250); diff --git a/src/gui/dialogs/qcolordialog.cpp b/src/gui/dialogs/qcolordialog.cpp index a7df999..44a82ef 100644 --- a/src/gui/dialogs/qcolordialog.cpp +++ b/src/gui/dialogs/qcolordialog.cpp @@ -62,6 +62,7 @@ #include "qmime.h" #include "qspinbox.h" #include "qdialogbuttonbox.h" +#include "private/qguiplatformplugin_p.h" #ifdef Q_WS_S60 #include "private/qt_s60_p.h" @@ -1454,6 +1455,8 @@ void QColorDialogPrivate::init(const QColor &initial) q->setSizeGripEnabled(false); q->setWindowTitle(QColorDialog::tr("Select Color")); + nativeDialogInUse = false; + nextCust = 0; QVBoxLayout *mainLay = new QVBoxLayout(q); // there's nothing in this dialog that benefits from sizing up @@ -1719,6 +1722,8 @@ void QColorDialog::setCurrentColor(const QColor &color) d->setCurrentQColor(color); d->setCocoaPanelColor(color); #endif + if (d->nativeDialogInUse) + qt_guiPlatformPlugin()->colorDialogSetCurrentColor(this, color); } QColor QColorDialog::currentColor() const @@ -1871,6 +1876,17 @@ void QColorDialog::setVisible(bool visible) setAttribute(Qt::WA_DontShowOnScreen, false); } } +#else + + if (!(d->opts & DontUseNativeDialog) && qt_guiPlatformPlugin()->colorDialogSetVisible(this, visible)) { + d->nativeDialogInUse = true; + // Set WA_DontShowOnScreen so that QDialog::setVisible(visible) below + // updates the state correctly, but skips showing the non-native version: + setAttribute(Qt::WA_DontShowOnScreen); + } else { + d->nativeDialogInUse = false; + setAttribute(Qt::WA_DontShowOnScreen, false); + } #endif QDialog::setVisible(visible); @@ -1970,8 +1986,8 @@ QRgb QColorDialog::getRgba(QRgb initial, bool *ok, QWidget *parent) QColorDialog::~QColorDialog() { -#if defined(Q_WS_MAC) Q_D(QColorDialog); +#if defined(Q_WS_MAC) if (d->delegate) { d->releaseCocoaColorPanelDelegate(); QColorDialogPrivate::sharedColorPanelAvailable = true; @@ -1985,6 +2001,9 @@ QColorDialog::~QColorDialog() settings.setValue(QLatin1String("Qt/customColors/") + QString::number(i), cusrgb[i]); } #endif + if (d->nativeDialogInUse) + qt_guiPlatformPlugin()->colorDialogDelete(this); + } diff --git a/src/gui/dialogs/qcolordialog_p.h b/src/gui/dialogs/qcolordialog_p.h index c7cabfb..81df503 100644 --- a/src/gui/dialogs/qcolordialog_p.h +++ b/src/gui/dialogs/qcolordialog_p.h @@ -114,6 +114,7 @@ public: QColorDialog::ColorDialogOptions opts; QPointer receiverToDisconnectOnClose; QByteArray memberToDisconnectOnClose; + bool nativeDialogInUse; #ifdef Q_WS_MAC void openCocoaColorPanel(const QColor &initial, diff --git a/src/gui/dialogs/qfiledialog_p.h b/src/gui/dialogs/qfiledialog_p.h index 54fc0e0..44289d9 100644 --- a/src/gui/dialogs/qfiledialog_p.h +++ b/src/gui/dialogs/qfiledialog_p.h @@ -76,6 +76,8 @@ #include #include "qsidebar_p.h" #include "qfscompleter_p.h" +#include "../kernel/qguiplatformplugin_p.h" + #if defined (Q_OS_UNIX) #include @@ -405,17 +407,17 @@ inline QString QFileDialogPrivate::rootPath() const { #ifndef Q_WS_MAC // Dummies for platforms that don't use native dialogs: - inline void QFileDialogPrivate::deleteNativeDialog_sys() {} - inline bool QFileDialogPrivate::setVisible_sys(bool) { return false; } - inline QDialog::DialogCode QFileDialogPrivate::dialogResultCode_sys(){ return QDialog::Rejected; } - inline void QFileDialogPrivate::setDirectory_sys(const QString &) {} - inline QString QFileDialogPrivate::directory_sys() const { return QString(); } - inline void QFileDialogPrivate::selectFile_sys(const QString &) {} - inline QStringList QFileDialogPrivate::selectedFiles_sys() const { return QStringList(); } - inline void QFileDialogPrivate::setFilter_sys() {} - inline void QFileDialogPrivate::setNameFilters_sys(const QStringList &) {} - inline void QFileDialogPrivate::selectNameFilter_sys(const QString &) {} - inline QString QFileDialogPrivate::selectedNameFilter_sys() const { return QString(); } + inline void QFileDialogPrivate::deleteNativeDialog_sys() { qt_guiPlatformPlugin()->fileDialogDelete(q_func()); } + inline bool QFileDialogPrivate::setVisible_sys(bool visible) { return qt_guiPlatformPlugin()->fileDialogSetVisible(q_func(), visible); } + inline QDialog::DialogCode QFileDialogPrivate::dialogResultCode_sys(){ return qt_guiPlatformPlugin()->fileDialogResultCode(q_func()); } + inline void QFileDialogPrivate::setDirectory_sys(const QString &directory) { qt_guiPlatformPlugin()->fileDialogSetDirectory(q_func(), directory); } + inline QString QFileDialogPrivate::directory_sys() const { return qt_guiPlatformPlugin()->fileDialogDirectory(q_func()); } + inline void QFileDialogPrivate::selectFile_sys(const QString &filename) { qt_guiPlatformPlugin()->fileDialogSelectFile(q_func(), filename); } + inline QStringList QFileDialogPrivate::selectedFiles_sys() const { return qt_guiPlatformPlugin()->fileDialogSelectedFiles(q_func()); } + inline void QFileDialogPrivate::setFilter_sys() { qt_guiPlatformPlugin()->fileDialogSetFilter(q_func()); } + inline void QFileDialogPrivate::setNameFilters_sys(const QStringList &filters) { qt_guiPlatformPlugin()->fileDialogSetNameFilters(q_func(), filters); } + inline void QFileDialogPrivate::selectNameFilter_sys(const QString &filter) { qt_guiPlatformPlugin()->fileDialogSelectNameFilter(q_func(), filter); } + inline QString QFileDialogPrivate::selectedNameFilter_sys() const { return qt_guiPlatformPlugin()->fileDialogSelectedNameFilter(q_func()); } #endif QT_END_NAMESPACE diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index fce4508..3448459 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -54,6 +54,7 @@ #include "qvariant.h" #include "qcache.h" #include "qdebug.h" +#include "private/qguiplatformplugin_p.h" #ifdef Q_WS_MAC #include @@ -966,13 +967,9 @@ QIcon QIcon::fromTheme(const QString &name, const QIcon &fallback) QIcon icon; -#ifdef Q_WS_X11 - if (X11->desktopEnvironment == DE_KDE) { - icon = QKde::kdeIcon(name); - if (!icon.isNull()) - return icon; - } -#endif + icon = qt_guiPlatformPlugin()->loadIcon(name); + if (!icon.isNull()) + return icon; if (iconCache.contains(name)) { icon = *iconCache.object(name); diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri index 7cde384..760d73c 100644 --- a/src/gui/kernel/kernel.pri +++ b/src/gui/kernel/kernel.pri @@ -47,7 +47,8 @@ HEADERS += \ kernel/qgesture_p.h \ kernel/qstandardgestures.h \ kernel/qstandardgestures_p.h \ - kernel/qsoftkeymanager_p.h + kernel/qsoftkeymanager_p.h \ + kernel/qguiplatformplugin_p.h SOURCES += \ kernel/qaction.cpp \ @@ -79,7 +80,8 @@ SOURCES += \ kernel/qkeymapper.cpp \ kernel/qgesture.cpp \ kernel/qstandardgestures.cpp \ - kernel/qsoftkeymanager.cpp + kernel/qsoftkeymanager.cpp \ + kernel/qguiplatformplugin.cpp win32 { DEFINES += QT_NO_DIRECTDRAW diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index 044fedd..43addb6 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -84,6 +84,8 @@ #include "qinputcontextfactory.h" #endif +#include "qguiplatformplugin_p.h" + #include #include @@ -788,6 +790,9 @@ void QApplicationPrivate::construct( qCritical("Library qttestability load failed!"); } } + + //make sure the plugin is loaded + qt_guiPlatformPlugin(); #endif } @@ -1955,38 +1960,7 @@ void QApplicationPrivate::setSystemFont(const QFont &font) */ QString QApplicationPrivate::desktopStyleKey() { -QString desktopstyle; -#if defined(Q_WS_WIN) && defined(Q_WS_WINCE) - if (qt_wince_is_smartphone() || qt_wince_is_pocket_pc()) - desktopstyle = QLatin1String("WindowsMobile"); - else - desktopstyle = QLatin1String("WindowsCE"); - -#elif defined(Q_WS_WIN) - if ((QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA - && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) - desktopstyle = QLatin1String("WindowsVista"); - else if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP - && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) - desktopstyle = QLatin1String("WindowsXP"); - else - desktopstyle = QLatin1String("Windows"); // default styles for Windows -#elif defined(Q_WS_X11) && defined(Q_OS_SOLARIS) - desktopstyle = QLatin1String("CDE"); // default style for X11 on Solaris -#elif defined(Q_WS_S60) - desktopstyle = QLatin1String("S60"); // default style for Symbian with S60 -#elif defined(Q_OS_SYMBIAN) - desktopstyle = QLatin1String("Windows"); // default style for Symbian without S60 -#elif defined(Q_WS_X11) && defined(Q_OS_IRIX) - desktopstyle = QLatin1String("SGI"); // default style for X11 on IRIX -#elif defined(Q_WS_QWS) - desktopstyle = QLatin1String("Plastique"); // default style for X11 and small devices -#elif defined(Q_WS_X11) - desktopstyle = QApplicationPrivate::x11_desktop_style(); // default runtime dependant style for X11 -#elif defined(Q_WS_MAC) - desktopstyle = QLatin1String("Macintosh"); // default style for all Mac's -#endif - return desktopstyle; + return qt_guiPlatformPlugin()->styleName(); } /*! diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h index 6036196..95b6d28 100644 --- a/src/gui/kernel/qapplication_p.h +++ b/src/gui/kernel/qapplication_p.h @@ -305,7 +305,6 @@ public: #if defined(Q_WS_X11) #ifndef QT_NO_SETTINGS - static QString x11_desktop_style(); static bool x11_apply_settings(); #endif static void reset_instance_pointer(); diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index e46a370..bf95684 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -85,6 +85,7 @@ #include "qtimer.h" #include "qlibrary.h" #include +#include "qguiplatformplugin_p.h" #include "qkde_p.h" #if !defined (QT_NO_TABLET) @@ -919,7 +920,7 @@ bool QApplicationPrivate::x11_apply_settings() QString stylename = settings.value(QLatin1String("style")).toString(); if (stylename.isEmpty() && QApplicationPrivate::styleOverride.isNull() && X11->use_xrender) { - stylename = x11_desktop_style(); + stylename = qt_guiPlatformPlugin()->styleName(); } static QString currentStyleName = stylename; @@ -1313,8 +1314,7 @@ static void qt_set_x11_resources(const char* font = 0, const char* fg = 0, pal.setColor(QPalette::Disabled, QPalette::Highlight, Qt::darkBlue); } - if (kdeColors) - pal = QKde::kdePalette().resolve(pal); + pal = qt_guiPlatformPlugin()->palette().resolve(pal); QApplicationPrivate::setSystemPalette(pal); QColor::setAllowX11ColorNames(allowX11ColorNames); } @@ -2560,42 +2560,6 @@ void qt_init(QApplicationPrivate *priv, int, #endif } - - // run-time search for default style -/*! - \internal -*/ -QString QApplicationPrivate::x11_desktop_style() -{ - QString stylename; - switch(X11->desktopEnvironment) { - case DE_KDE: - stylename = QKde::kdeStyle(); - break; - case DE_GNOME: { - QStringList availableStyles = QStyleFactory::keys(); - // Set QGtkStyle for GNOME if available - QString gtkStyleKey = QString::fromLatin1("GTK+"); - if (availableStyles.contains(gtkStyleKey)) { - stylename = gtkStyleKey; - break; - } - if (X11->use_xrender) - stylename = QLatin1String("cleanlooks"); - else - stylename = QLatin1String("windows"); - break; - } - case DE_CDE: - stylename = QLatin1String("cde"); - break; - default: - // Don't do anything - break; - } - return stylename; -} - void QApplicationPrivate::initializeWidgetPaletteHash() { } diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp new file mode 100644 index 0000000..cf15aa2 --- /dev/null +++ b/src/gui/kernel/qguiplatformplugin.cpp @@ -0,0 +1,231 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qguiplatformplugin_p.h" +#include +#include "private/qfactoryloader_p.h" +#include "qstylefactory.h" +#include "qapplication.h" +#include "qplatformdefs.h" + +#ifdef Q_WS_WINCE +#include "qguifunctions_wince.h" +extern bool qt_wince_is_smartphone(); //qguifunctions_wince.cpp +extern bool qt_wince_is_mobile(); //qguifunctions_wince.cpp +extern bool qt_wince_is_pocket_pc(); //qguifunctions_wince.cpp +#endif + + +#if defined(Q_WS_X11) +#include "qkde_p.h" +#include "qt_x11_p.h" +#endif + + +QT_BEGIN_NAMESPACE + + +/*! \internal + Return (an construct if necesseray) the Gui Platform plugin. + + The plugin key to be loaded is inside the QT_PLATFORM_PLUGIN environment variable. + If it is not set, it will be the DESKTOP_SESSION on X11. + + If no plugin can be loaded, the default one is returned. + */ +QGuiPlatformPlugin *qt_guiPlatformPlugin() +{ + static QGuiPlatformPlugin *plugin; + if (!plugin) + { +#if !defined(QT_NO_LIBRARY) && !defined(QT_NO_SETTINGS) + + QString key = QString::fromLocal8Bit(qgetenv("QT_PLATFORM_PLUGIN")); +#ifdef Q_WS_X11 + if (key.isEmpty()) { + switch(X11->desktopEnvironment) { + case DE_KDE: + key = QString::fromLatin1("kde"); + break; + default: + key = QString::fromLocal8Bit(qgetenv("DESKTOP_SESSION")); + break; + } + } +#endif + + if (!key.isEmpty() && QApplication::desktopSettingsAware()) { + QFactoryLoader loader(QGuiPlatformPluginInterface_iid, QLatin1String("/gui_platform")); + plugin = qobject_cast(loader.instance(key)); + } +#endif // QT_NO_LIBRARY + + if(!plugin) { + static QGuiPlatformPlugin def; + plugin = &def; + } + } + return plugin; +} + + +/* \class QPlatformPlugin + QGuiPlatformPlugin can be used to integrate Qt applications in a platform built on top of Qt. + The application developer should not know or use the plugin, it is only used by Qt internaly. + + But full platform that are built on top of Qt may provide a plugin so 3rd party Qt application + running in the platform are integrated. + */ + +/* + The constructor can be used to install hooks in Qt + */ +QGuiPlatformPlugin::QGuiPlatformPlugin(QObject *parent) : QObject(parent) {} +QGuiPlatformPlugin::~QGuiPlatformPlugin() {} + + +/* return the string key to be used by default the application */ +QString QGuiPlatformPlugin::styleName() +{ +#if defined(Q_WS_WIN) && defined(Q_WS_WINCE) + if (qt_wince_is_smartphone() || qt_wince_is_pocket_pc()) + return QLatin1String("WindowsMobile"); + else + return QLatin1String("WindowsCE"); +#elif defined(Q_WS_WIN) + if ((QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA + && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) + return QLatin1String("WindowsVista"); + else if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP + && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) + return QLatin1String("WindowsXP"); + else + return QLatin1String("Windows"); // default styles for Windows +#elif defined(Q_WS_X11) && defined(Q_OS_SOLARIS) + return QLatin1String("CDE"); // default style for X11 on Solaris +#elif defined(Q_WS_S60) + return QLatin1String("S60"); // default style for Symbian with S60 +#elif defined(Q_OS_SYMBIAN) + return QLatin1String("Windows"); // default style for Symbian without S60 +#elif defined(Q_WS_X11) && defined(Q_OS_IRIX) + return QLatin1String("SGI"); // default style for X11 on IRIX +#elif defined(Q_WS_QWS) + return QLatin1String("Plastique"); // default style for X11 and small devices +#elif defined(Q_WS_MAC) + return QLatin1String("Macintosh"); // default style for all Mac's +#elif defined(Q_WS_X11) + QString stylename; + switch(X11->desktopEnvironment) { + case DE_KDE: + stylename = QKde::kdeStyle(); + break; + case DE_GNOME: { + QStringList availableStyles = QStyleFactory::keys(); + // Set QGtkStyle for GNOME if available + QString gtkStyleKey = QString::fromLatin1("GTK+"); + if (availableStyles.contains(gtkStyleKey)) { + stylename = gtkStyleKey; + break; + } + if (X11->use_xrender) + stylename = QLatin1String("cleanlooks"); + else + stylename = QLatin1String("windows"); + break; + } + case DE_CDE: + stylename = QLatin1String("cde"); + break; + default: + // Don't do anything + break; + } + return stylename; +#endif +} + +/* return an aditional default palette (only work on X11) */ +QPalette QGuiPlatformPlugin::palette() +{ +#ifdef Q_WS_X11 + if (QApplication::desktopSettingsAware() && X11->desktopEnvironment == DE_KDE) + return QKde::kdePalette(); +#endif + + return QPalette(); +} + +/* backend for QIcon::fromTheme. A null icon means it uses the default backend */ +QIcon QGuiPlatformPlugin::loadIcon(const QString &name) +{ + return QIcon(); +} + +/* Like QStyle::styleHint */ +int QGuiPlatformPlugin::platformHint(PlatformHint hint) +{ + int ret = 0; + switch(hint) + { + case PH_ToolButtonStyle: + ret = Qt::ToolButtonIconOnly; +#ifdef Q_WS_X11 + if (X11->desktopEnvironment == DE_KDE && X11->desktopVersion >= 4 + && QApplication::desktopSettingsAware()) { + ret = QKde::kdeToolButtonStyle(); + } +#endif + break; + case PH_ToolBarIconSize: +#ifdef Q_WS_X11 + if (X11->desktopEnvironment == DE_KDE && X11->desktopVersion >= 4 + && QApplication::desktopSettingsAware()) { + ret = QKde::kdeToolBarIconSize(); + } +#endif + //by default keep ret = 0 so QCommonStyle will use the style default + break; + } + return ret; +} + + +QT_END_NAMESPACE diff --git a/src/gui/kernel/qguiplatformplugin_p.h b/src/gui/kernel/qguiplatformplugin_p.h new file mode 100644 index 0000000..57ea8af --- /dev/null +++ b/src/gui/kernel/qguiplatformplugin_p.h @@ -0,0 +1,122 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGUIPLATFORM_P_H +#define QGUIPLATFORM_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +class QStyle; +class QPalette; +class QIcon; +class QFileDialog; +class QColorDialog; + +struct Q_GUI_EXPORT QGuiPlatformPluginInterface : public QFactoryInterface +{ +}; + +#define QGuiPlatformPluginInterface_iid "com.nokia.qt.QGuiPlatformPluginInterface" + +Q_DECLARE_INTERFACE(QGuiPlatformPluginInterface, QGuiPlatformPluginInterface_iid) + +class Q_GUI_EXPORT QGuiPlatformPlugin : public QObject, public QGuiPlatformPluginInterface +{ + Q_OBJECT + Q_INTERFACES(QGuiPlatformPluginInterface:QFactoryInterface) + public: + explicit QGuiPlatformPlugin(QObject *parent = 0); + ~QGuiPlatformPlugin(); + + virtual QStringList keys() const { return QStringList() << QLatin1String("default"); }; + + virtual QString styleName(); + virtual QPalette palette(); + virtual QIcon loadIcon(const QString &name); + enum PlatformHint { PH_ToolButtonStyle, PH_ToolBarIconSize }; + virtual int platformHint(PlatformHint hint); + + + virtual void fileDialogDelete(QFileDialog *) {} + virtual bool fileDialogSetVisible(QFileDialog *, bool) { return false; } + virtual QDialog::DialogCode fileDialogResultCode(QFileDialog *) { return QDialog::Rejected; } + virtual void fileDialogSetDirectory(QFileDialog *, const QString &) {} + virtual QString fileDialogDirectory(const QFileDialog *) const { return QString(); } + virtual void fileDialogSelectFile(QFileDialog *, const QString &) {} + virtual QStringList fileDialogSelectedFiles(const QFileDialog *) const { return QStringList(); } + virtual void fileDialogSetFilter(QFileDialog *) {} + virtual void fileDialogSetNameFilters(QFileDialog *, const QStringList &) {} + virtual void fileDialogSelectNameFilter(QFileDialog *, const QString &) {} + virtual QString fileDialogSelectedNameFilter(const QFileDialog *) const { return QString(); } + + virtual void colorDialogDelete(QColorDialog *) {} + virtual bool colorDialogSetVisible(QColorDialog *, bool) { return false; } + virtual void colorDialogSetCurrentColor(QColorDialog *, const QColor &) {} +}; + +//internal +QGuiPlatformPlugin *qt_guiPlatformPlugin(); + +QT_END_NAMESPACE + +QT_END_HEADER + + +#endif // QGUIPLATFORMPLUGIN_H diff --git a/src/gui/kernel/qkde.cpp b/src/gui/kernel/qkde.cpp index 6c8909f..edc53ac 100644 --- a/src/gui/kernel/qkde.cpp +++ b/src/gui/kernel/qkde.cpp @@ -141,14 +141,33 @@ QString QKde::kdeStyle() return QLatin1String("windows"); } -/*!\internal - placeholder to load icon from kde. - to be implemented - */ -QIcon QKde::kdeIcon(const QString &name) + +int QKde::kdeToolButtonStyle() +{ + QSettings settings(QKde::kdeHome() + QLatin1String("/share/config/kdeglobals"), + QSettings::IniFormat); + settings.beginGroup(QLatin1String("Toolbar style")); + QString toolbarStyle = settings.value(QLatin1String("ToolButtonStyle"), QLatin1String("TextBesideIcon")).toString(); + if (toolbarStyle == QLatin1String("TextBesideIcon")) + return Qt::ToolButtonTextBesideIcon; + else if (toolbarStyle == QLatin1String("TextOnly")) + return Qt::ToolButtonTextOnly; + else if (toolbarStyle == QLatin1String("TextUnderIcon")) + return Qt::ToolButtonTextUnderIcon; + + return Qt::ToolButtonTextBesideIcon; +} + +int QKde::kdeToolBarIconSize() { - //###todo - return QIcon(); + static int iconSize = -1; + if (iconSize == -1) { + QSettings settings(QKde::kdeHome() + QLatin1String("/share/config/kdeglobals"), + QSettings::IniFormat); + settings.beginGroup(QLatin1String("ToolbarIcons")); + iconSize = settings.value(QLatin1String("Size")).toInt(); + } + return iconSize; } QT_END_NAMESPACE diff --git a/src/gui/kernel/qkde_p.h b/src/gui/kernel/qkde_p.h index 4063f0e..c22a145 100644 --- a/src/gui/kernel/qkde_p.h +++ b/src/gui/kernel/qkde_p.h @@ -61,12 +61,17 @@ QT_BEGIN_NAMESPACE -// This namespace contains helper function to help KDE integration +/*!\internal + This namespace contains helper function to help KDE integration + They are only used if we detect the use of KDE and the KDE platform plugin is not found (old KDE version) + Or if the detected KDE version is KDE3 +*/ namespace QKde { QString kdeHome(); QString kdeStyle(); QPalette kdePalette(); - QIcon kdeIcon(const QString &name); + int kdeToolButtonStyle(); + int kdeToolBarIconSize(); } diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp index df4f866..612258a 100644 --- a/src/gui/styles/qcommonstyle.cpp +++ b/src/gui/styles/qcommonstyle.cpp @@ -63,7 +63,6 @@ #include #include #include -#include <../kernel/qkde_p.h> #include #include #include @@ -75,6 +74,7 @@ #include #include #include +#include #include @@ -837,35 +837,6 @@ static void drawArrow(const QStyle *style, const QStyleOptionToolButton *toolbut } #endif // QT_NO_TOOLBUTTON - -#ifdef Q_WS_X11 // These functions are used to parse the X11 freedesktop icon spec - -/*!internal - -Checks if you are running KDE and looks up the toolbar -from the KDE configuration file - -*/ -int QCommonStylePrivate::lookupToolButtonStyle() const -{ - int result = Qt::ToolButtonIconOnly; - if (X11->desktopEnvironment == DE_KDE && X11->desktopVersion >= 4) { - QSettings settings(QKde::kdeHome() + - QLatin1String("/share/config/kdeglobals"), QSettings::IniFormat); - settings.beginGroup(QLatin1String("Toolbar style")); - QString toolbarStyle = settings.value(QLatin1String("ToolButtonStyle"), QLatin1String("TextBesideIcon")).toString(); - if (toolbarStyle == QLatin1String("TextBesideIcon")) - result = Qt::ToolButtonTextBesideIcon; - else if (toolbarStyle == QLatin1String("TextOnly")) - result = Qt::ToolButtonTextOnly; - else if (toolbarStyle == QLatin1String("TextUnderIcon")) - result = Qt::ToolButtonTextUnderIcon; - } - return result; -} - -#endif //Q_WS_X11 - #ifndef QT_NO_ITEMVIEWS QSize QCommonStylePrivate::viewItemSize(const QStyleOptionViewItemV4 *option, int role) const @@ -4688,19 +4659,8 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid break; case PM_ToolBarIconSize: -#ifdef Q_WS_X11 - if (X11->desktopVersion >= 4) { - static int iconSize = 0; - if (!iconSize) { - QSettings settings(QKde::kdeHome() + - QLatin1String("/share/config/kdeglobals"), - QSettings::IniFormat); - settings.beginGroup(QLatin1String("ToolbarIcons")); - iconSize = settings.value(QLatin1String("Size"), QLatin1String("22")).toInt(); - } - ret = iconSize; - } else -#endif + ret = qt_guiPlatformPlugin()->platformHint(QGuiPlatformPlugin::PH_ToolBarIconSize); + if (!ret) ret = proxy()->pixelMetric(PM_SmallIconSize, opt, widget); break; @@ -5192,13 +5152,7 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget ret = true; break; case SH_ToolButtonStyle: - ret = Qt::ToolButtonIconOnly; -#ifdef Q_WS_X11 - { - static int buttonStyle = d_func()->lookupToolButtonStyle(); - return buttonStyle; - } -#endif + ret = qt_guiPlatformPlugin()->platformHint(QGuiPlatformPlugin::PH_ToolButtonStyle); break; case SH_RequestSoftwareInputPanel: ret = RSIP_OnMouseClickAndAlreadyFocused; diff --git a/src/gui/styles/qcommonstyle_p.h b/src/gui/styles/qcommonstyle_p.h index 7162392..a905601 100644 --- a/src/gui/styles/qcommonstyle_p.h +++ b/src/gui/styles/qcommonstyle_p.h @@ -122,7 +122,6 @@ public: } #endif mutable QIcon tabBarcloseButtonIcon; - int lookupToolButtonStyle() const; #ifndef QT_NO_TABBAR void tabLayout(const QStyleOptionTabV3 *opt, const QWidget *widget, QRect *textRect, QRect *pixmapRect) const; #endif -- cgit v0.12 From ed9fb96a626c284cebd4fcd9a2e00f32e202099a Mon Sep 17 00:00:00 2001 From: David Faure Date: Wed, 7 Oct 2009 11:20:23 +0200 Subject: Fix compilation with -pedantic Merge-request: 1716 Reviewed-by: Thiago Macieira --- src/gui/effects/qgraphicseffect.cpp | 2 +- src/gui/kernel/qsoftkeymanager_p.h | 2 +- src/gui/text/qfontengine.cpp | 2 +- src/opengl/gl2paintengineex/qglcustomshaderstage_p.h | 2 +- src/opengl/util/fragmentprograms_p.h | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/gui/effects/qgraphicseffect.cpp b/src/gui/effects/qgraphicseffect.cpp index e971fd8..ee01fdc 100644 --- a/src/gui/effects/qgraphicseffect.cpp +++ b/src/gui/effects/qgraphicseffect.cpp @@ -566,7 +566,7 @@ QGraphicsColorizeEffect::~QGraphicsColorizeEffect() \brief the color of the effect. By default, the color is light blue (QColor(0, 0, 192)). -*/; +*/ QColor QGraphicsColorizeEffect::color() const { Q_D(const QGraphicsColorizeEffect); diff --git a/src/gui/kernel/qsoftkeymanager_p.h b/src/gui/kernel/qsoftkeymanager_p.h index c4bb84d..b455445 100644 --- a/src/gui/kernel/qsoftkeymanager_p.h +++ b/src/gui/kernel/qsoftkeymanager_p.h @@ -74,7 +74,7 @@ public: SelectSoftKey, DoneSoftKey, MenuSoftKey, - CancelSoftKey, + CancelSoftKey }; static void updateSoftKeys(); diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index e5a88fc..21b9cca 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -1160,7 +1160,7 @@ Q_GLOBAL_STATIC_WITH_INITIALIZER(QVector, qt_grayPalette, { QRgb *it = x->data(); for (int i = 0; i < x->size(); ++i, ++it) *it = 0xff000000 | i | (i<<8) | (i<<16); -}); +}) const QVector &QFontEngine::grayPalette() { diff --git a/src/opengl/gl2paintengineex/qglcustomshaderstage_p.h b/src/opengl/gl2paintengineex/qglcustomshaderstage_p.h index 25f5c2f..f8c13c5 100644 --- a/src/opengl/gl2paintengineex/qglcustomshaderstage_p.h +++ b/src/opengl/gl2paintengineex/qglcustomshaderstage_p.h @@ -64,7 +64,7 @@ QT_MODULE(OpenGL) class QGLCustomShaderStagePrivate; class Q_OPENGL_EXPORT QGLCustomShaderStage { - Q_DECLARE_PRIVATE(QGLCustomShaderStage); + Q_DECLARE_PRIVATE(QGLCustomShaderStage) public: QGLCustomShaderStage(); virtual ~QGLCustomShaderStage(); diff --git a/src/opengl/util/fragmentprograms_p.h b/src/opengl/util/fragmentprograms_p.h index 18da5c8..340023c 100644 --- a/src/opengl/util/fragmentprograms_p.h +++ b/src/opengl/util/fragmentprograms_p.h @@ -71,7 +71,7 @@ enum FragmentVariable { VAR_FMP2_M_RADIUS2, VAR_FMP, VAR_INV_MATRIX_M0, - VAR_ANGLE, + VAR_ANGLE }; enum FragmentBrushType { @@ -80,7 +80,7 @@ enum FragmentBrushType { FRAGMENT_PROGRAM_BRUSH_CONICAL, FRAGMENT_PROGRAM_BRUSH_LINEAR, FRAGMENT_PROGRAM_BRUSH_TEXTURE, - FRAGMENT_PROGRAM_BRUSH_PATTERN, + FRAGMENT_PROGRAM_BRUSH_PATTERN }; enum FragmentCompositionModeType { @@ -109,12 +109,12 @@ enum FragmentCompositionModeType { COMPOSITION_MODES_DIFFERENCE_NOMASK, COMPOSITION_MODES_EXCLUSION_NOMASK, COMPOSITION_MODE_BLEND_MODE_MASK, - COMPOSITION_MODE_BLEND_MODE_NOMASK, + COMPOSITION_MODE_BLEND_MODE_NOMASK }; enum FragmentMaskType { FRAGMENT_PROGRAM_MASK_TRAPEZOID_AA, - FRAGMENT_PROGRAM_MASK_ELLIPSE_AA, + FRAGMENT_PROGRAM_MASK_ELLIPSE_AA }; static const unsigned int num_fragment_variables = 19; -- cgit v0.12 From fb3e09c620b519eed57488cb229d42ebb793f387 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 7 Oct 2009 11:55:58 +0200 Subject: Use the recursive mutex functions for D-Bus only. At least in D-Bus 1.2.16, there's a deadlock caused by locking an already-locked mutex. When Qt is linked to libdbus-1 instead of dynamically loading it, it maintains legacy compatibility by only providing the non-recursive mutexes, which triggers this deadlock. The recursive functions have been present since 0.93, so I guess the non-recursive variants aren't tested. Report: https://bugzilla.novell.com/show_bug.cgi?id=482749#c30 --- configure | 2 +- dist/changes-4.6.0 | 5 ++++- src/dbus/qdbusthread.cpp | 32 +++++--------------------------- 3 files changed, 10 insertions(+), 29 deletions(-) diff --git a/configure b/configure index ea50b37..1a7a8ef 100755 --- a/configure +++ b/configure @@ -617,7 +617,7 @@ fi unset QTDIR # the minimum version of libdbus-1 that we require: -MIN_DBUS_1_VERSION=0.62 +MIN_DBUS_1_VERSION=0.93 # initalize internal variables CFG_CONFIGURE_EXIT_ON_ERROR=yes diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0 index 2e7e699..cd9f130 100644 --- a/dist/changes-4.6.0 +++ b/dist/changes-4.6.0 @@ -19,6 +19,9 @@ information about a particular change. * General * **************************************************************************** + - QtDBus + * The minimum required version of the D-Bus reference library is + now 0.93. **************************************************************************** @@ -133,4 +136,4 @@ information about a particular change. for all floating point numbers, and this can be changed using the new function setFloatingPointPrecision(). Set Qt_4_5 as the version of the QDataStream to get the behavior of previous versions. - \ No newline at end of file + diff --git a/src/dbus/qdbusthread.cpp b/src/dbus/qdbusthread.cpp index 6e180b1..7bc107a 100644 --- a/src/dbus/qdbusthread.cpp +++ b/src/dbus/qdbusthread.cpp @@ -47,33 +47,24 @@ QT_USE_NAMESPACE -static DBusMutex* mutex_new() -{ - return reinterpret_cast(new QMutex(QMutex::NonRecursive)); -} - -#if 0 static DBusMutex* recursive_mutex_new() { return reinterpret_cast(new QMutex(QMutex::Recursive)); } -#endif static void mutex_free(DBusMutex *mutex) { delete reinterpret_cast(mutex); } -static dbus_bool_t mutex_lock(DBusMutex *mutex) +static void mutex_lock(DBusMutex *mutex) { reinterpret_cast(mutex)->lock(); - return true; } -static dbus_bool_t mutex_unlock(DBusMutex *mutex) +static void mutex_unlock(DBusMutex *mutex) { reinterpret_cast(mutex)->unlock(); - return true; } static DBusCondVar* condvar_new() @@ -110,42 +101,29 @@ QT_BEGIN_NAMESPACE bool qDBusInitThreads() { - // ### Disable the recursive mutex functions. + // Use only the non-recursive mutex functions static DBusThreadFunctions fcn = { - DBUS_THREAD_FUNCTIONS_MUTEX_NEW_MASK | - DBUS_THREAD_FUNCTIONS_MUTEX_FREE_MASK | - DBUS_THREAD_FUNCTIONS_MUTEX_LOCK_MASK | - DBUS_THREAD_FUNCTIONS_MUTEX_UNLOCK_MASK | DBUS_THREAD_FUNCTIONS_CONDVAR_NEW_MASK | DBUS_THREAD_FUNCTIONS_CONDVAR_FREE_MASK | DBUS_THREAD_FUNCTIONS_CONDVAR_WAIT_MASK | DBUS_THREAD_FUNCTIONS_CONDVAR_WAIT_TIMEOUT_MASK | DBUS_THREAD_FUNCTIONS_CONDVAR_WAKE_ONE_MASK | - DBUS_THREAD_FUNCTIONS_CONDVAR_WAKE_ALL_MASK, -#if 0 + DBUS_THREAD_FUNCTIONS_CONDVAR_WAKE_ALL_MASK | DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_NEW_MASK | DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_FREE_MASK | DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_LOCK_MASK | DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_UNLOCK_MASK, -#endif - mutex_new, - mutex_free, - mutex_lock, - mutex_unlock, + 0, 0, 0, 0, // non-recursive mutex functions condvar_new, condvar_free, condvar_wait, condvar_wait_timeout, condvar_wake_one, condvar_wake_all, -#if 0 recursive_mutex_new, mutex_free, mutex_lock, mutex_unlock, -#else - 0, 0, 0, 0, -#endif 0, 0, 0, 0 }; -- cgit v0.12 From bb13e2d43c664359aa61fc39c31f75a5c3fb4f5e Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 7 Oct 2009 12:04:44 +0200 Subject: Use dbus_threads_init_default instead of QMutex wrappers The minimum version for the recursive mutexes is D-Bus 0.93. That's also the same version that introduced the default thread functions. So we don't need to provide ours anymore, just use the default. --- src/dbus/dbus.pro | 1 - src/dbus/qdbus_symbols_p.h | 3 + src/dbus/qdbusintegrator.cpp | 2 +- src/dbus/qdbusthread.cpp | 149 ------------------------------------------- 4 files changed, 4 insertions(+), 151 deletions(-) delete mode 100644 src/dbus/qdbusthread.cpp diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro index dcd8418..57c6a58 100644 --- a/src/dbus/dbus.pro +++ b/src/dbus/dbus.pro @@ -61,7 +61,6 @@ SOURCES += qdbusconnection.cpp \ qdbusutil.cpp \ qdbusintrospection.cpp \ qdbusabstractadaptor.cpp \ - qdbusthread.cpp \ qdbusinternalfilters.cpp \ qdbusmetaobject.cpp \ qdbusxmlgenerator.cpp \ diff --git a/src/dbus/qdbus_symbols_p.h b/src/dbus/qdbus_symbols_p.h index bc90328..69c6ee4 100644 --- a/src/dbus/qdbus_symbols_p.h +++ b/src/dbus/qdbus_symbols_p.h @@ -357,6 +357,9 @@ DEFINEFUNC(dbus_bool_t , dbus_type_is_basic, (int typecode), DEFINEFUNC(dbus_bool_t , dbus_type_is_fixed, (int typecode), (typecode), return) +/* dbus-thread.h */ +DEFINEFUNC(dbus_bool_t , dbus_threads_init_default, (), (), return) + QT_END_NAMESPACE #endif diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index 6ff50ac..8143cba 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -920,7 +920,7 @@ QDBusConnectionPrivate::QDBusConnectionPrivate(QObject *p) watchAndTimeoutLock(QMutex::Recursive), rootNode(QString(QLatin1Char('/'))) { - static const bool threads = qDBusInitThreads(); + static const bool threads = q_dbus_threads_init_default(); static const int debugging = ::isDebugging = qgetenv("QDBUS_DEBUG").toInt(); Q_UNUSED(threads) diff --git a/src/dbus/qdbusthread.cpp b/src/dbus/qdbusthread.cpp deleted file mode 100644 index 7bc107a..0000000 --- a/src/dbus/qdbusthread.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtDBus module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include - -#include -#include - -QT_USE_NAMESPACE - -static DBusMutex* recursive_mutex_new() -{ - return reinterpret_cast(new QMutex(QMutex::Recursive)); -} - -static void mutex_free(DBusMutex *mutex) -{ - delete reinterpret_cast(mutex); -} - -static void mutex_lock(DBusMutex *mutex) -{ - reinterpret_cast(mutex)->lock(); -} - -static void mutex_unlock(DBusMutex *mutex) -{ - reinterpret_cast(mutex)->unlock(); -} - -static DBusCondVar* condvar_new() -{ - return reinterpret_cast(new QWaitCondition); -} - -static void condvar_free(DBusCondVar *cond) -{ - delete reinterpret_cast(cond); -} - -static void condvar_wait(DBusCondVar *cond, DBusMutex *mutex) -{ - reinterpret_cast(cond)->wait(reinterpret_cast(mutex)); -} - -static dbus_bool_t condvar_wait_timeout(DBusCondVar *cond, DBusMutex *mutex, int msec) -{ - return reinterpret_cast(cond)->wait(reinterpret_cast(mutex), msec); -} - -static void condvar_wake_one(DBusCondVar *cond) -{ - reinterpret_cast(cond)->wakeOne(); -} - -static void condvar_wake_all(DBusCondVar *cond) -{ - reinterpret_cast(cond)->wakeAll(); -} - -QT_BEGIN_NAMESPACE - -bool qDBusInitThreads() -{ - // Use only the non-recursive mutex functions - static DBusThreadFunctions fcn = { - DBUS_THREAD_FUNCTIONS_CONDVAR_NEW_MASK | - DBUS_THREAD_FUNCTIONS_CONDVAR_FREE_MASK | - DBUS_THREAD_FUNCTIONS_CONDVAR_WAIT_MASK | - DBUS_THREAD_FUNCTIONS_CONDVAR_WAIT_TIMEOUT_MASK | - DBUS_THREAD_FUNCTIONS_CONDVAR_WAKE_ONE_MASK | - DBUS_THREAD_FUNCTIONS_CONDVAR_WAKE_ALL_MASK | - DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_NEW_MASK | - DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_FREE_MASK | - DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_LOCK_MASK | - DBUS_THREAD_FUNCTIONS_RECURSIVE_MUTEX_UNLOCK_MASK, - 0, 0, 0, 0, // non-recursive mutex functions - condvar_new, - condvar_free, - condvar_wait, - condvar_wait_timeout, - condvar_wake_one, - condvar_wake_all, - recursive_mutex_new, - mutex_free, - mutex_lock, - mutex_unlock, - 0, 0, 0, 0 - }; - -#if !defined QT_LINKED_LIBDBUS - void (*threads_init_default)() = (void (*)())qdbus_resolve_conditionally("dbus_threads_init_default"); - void (*threads_init)(DBusThreadFunctions *) = (void (*)(DBusThreadFunctions*))qdbus_resolve_conditionally("dbus_threads_init"); - - if (threads_init_default) - threads_init_default(); - else if (threads_init) - threads_init(&fcn); - else - return false; - - return true; -#else - dbus_threads_init(&fcn); - - return true; -#endif -} - -QT_END_NAMESPACE -- cgit v0.12 From fd89f9255d7965421a39a9089bb1d983264aff6f Mon Sep 17 00:00:00 2001 From: David Faure Date: Wed, 7 Oct 2009 12:10:52 +0200 Subject: QUrl autotest additions Add autotest which actually passes, the problem (in kurltest) was the underscore in the hostname. Rename ok_hostname to bad_hostname in the error test, for clarity. Merge-request: 1710 Reviewed-by: Thiago Macieira --- tests/auto/qurl/tst_qurl.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp index 8856792..026c30e 100644 --- a/tests/auto/qurl/tst_qurl.cpp +++ b/tests/auto/qurl/tst_qurl.cpp @@ -2624,6 +2624,13 @@ void tst_QUrl::tolerantParser() //QCOMPARE(tsdgeosQUrl.toEncoded(), tsdgeosExpected); // unusable output from qtestlib... QCOMPARE(QString(tsdgeosQUrl.toEncoded()), QString(tsdgeosExpected)); } + + { + QUrl url; + url.setUrl("http://strange@hostname/", QUrl::TolerantMode); + QVERIFY(url.isValid()); + QCOMPARE(QString(url.toEncoded()), QString("http://strange%3Cusername%3E@hostname/")); + } } void tst_QUrl::correctEncodedMistakes_data() @@ -3594,9 +3601,9 @@ void tst_QUrl::setAuthority() void tst_QUrl::errorString() { - QUrl u = QUrl::fromEncoded("http://strange@ok_hostname/", QUrl::StrictMode); + QUrl u = QUrl::fromEncoded("http://strange@bad_hostname/", QUrl::StrictMode); QVERIFY(!u.isValid()); - QString errorString = "Invalid URL \"http://strange@ok_hostname/\": " + QString errorString = "Invalid URL \"http://strange@bad_hostname/\": " "error at position 14: expected end of URL, but found '<'"; QCOMPARE(u.errorString(), errorString); -- cgit v0.12 From 8bcf844d95cdf9f69bbf02da49d8d3282eb40cfb Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 7 Oct 2009 12:17:25 +0200 Subject: Get rid of some superfluous checks in QScriptString::operator==() Reviewed-by: Olivier Goffart --- src/script/api/qscriptstring.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/script/api/qscriptstring.cpp b/src/script/api/qscriptstring.cpp index c2362da..2fb157f 100644 --- a/src/script/api/qscriptstring.cpp +++ b/src/script/api/qscriptstring.cpp @@ -150,14 +150,8 @@ bool QScriptString::isValid() const bool QScriptString::operator==(const QScriptString &other) const { Q_D(const QScriptString); - if (d == other.d_func()) - return true; if (!d || !other.d_func()) return d == other.d_func(); - if (d->engine != other.d_func()->engine) - return false; - if (!d->engine) - return true; return d->identifier == other.d_func()->identifier; } -- cgit v0.12 From 350410f19fd589986e51eba8f018abd92eddc287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 09:39:14 +0200 Subject: Skipping ActiveQt examples removes a couple of warnings and errors Reviewed-by: Thiago Macieira --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index 1a7a8ef..323224c 100755 --- a/configure +++ b/configure @@ -7612,6 +7612,7 @@ for file in .projects .projects.3; do case $a in *winmain/winmain.pro) continue ;; *s60main/s60main.pro) continue ;; + *examples/activeqt/*) continue ;; */qmake/qmake.pro) continue ;; *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;; *) SPEC=$XQMAKESPEC ;; -- cgit v0.12 From 41a47906475f3970bd662c3d24e7e642ea65a191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 09:44:18 +0200 Subject: Fixing some GCC warnings Reviewed-by: Markus Goetz --- demos/browser/webview.cpp | 2 ++ demos/sub-attaq/graphicsscene.cpp | 2 +- examples/richtext/textobject/svgtextobject.cpp | 4 ++-- src/corelib/thread/qthread_unix.cpp | 1 + src/dbus/qdbusintegrator.cpp | 1 + src/gui/painting/qpaintengineex.cpp | 2 +- src/opengl/qpixmapdata_gl.cpp | 2 +- src/xmlpatterns/data/qvaluefactory.cpp | 2 +- src/xmlpatterns/functions/qsequencefns_p.h | 1 - src/xmlpatterns/schema/qxsdschemaparser.cpp | 1 + 10 files changed, 11 insertions(+), 7 deletions(-) diff --git a/demos/browser/webview.cpp b/demos/browser/webview.cpp index e1d9b12..754fedc 100644 --- a/demos/browser/webview.cpp +++ b/demos/browser/webview.cpp @@ -151,6 +151,8 @@ void WebPage::handleUnsupportedContent(QNetworkReply *reply) QFile file(QLatin1String(":/notfound.html")); bool isOpened = file.open(QIODevice::ReadOnly); Q_ASSERT(isOpened); + Q_UNUSED(isOpened) + QString title = tr("Error loading page: %1").arg(reply->url().toString()); QString html = QString(QLatin1String(file.readAll())) .arg(title) diff --git a/demos/sub-attaq/graphicsscene.cpp b/demos/sub-attaq/graphicsscene.cpp index 812eadf..e29095e 100644 --- a/demos/sub-attaq/graphicsscene.cpp +++ b/demos/sub-attaq/graphicsscene.cpp @@ -129,7 +129,7 @@ void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction) { static const int nLetters = 10; static struct { - char *pix; + char const *pix; qreal initX, initY; qreal destX, destY; } logoData[nLetters] = { diff --git a/examples/richtext/textobject/svgtextobject.cpp b/examples/richtext/textobject/svgtextobject.cpp index f5810b6..cf0b0ba 100644 --- a/examples/richtext/textobject/svgtextobject.cpp +++ b/examples/richtext/textobject/svgtextobject.cpp @@ -46,7 +46,7 @@ #include "window.h" //![0] -QSizeF SvgTextObject::intrinsicSize(QTextDocument *doc, int posInDocument, +QSizeF SvgTextObject::intrinsicSize(QTextDocument * /*doc*/, int /*posInDocument*/, const QTextFormat &format) { QImage bufferedImage = qVariantValue(format.property(Window::SvgData)); @@ -61,7 +61,7 @@ QSizeF SvgTextObject::intrinsicSize(QTextDocument *doc, int posInDocument, //![1] void SvgTextObject::drawObject(QPainter *painter, const QRectF &rect, - QTextDocument *doc, int posInDocument, + QTextDocument * /*doc*/, int /*posInDocument*/, const QTextFormat &format) { QImage bufferedImage = qVariantValue(format.property(Window::SvgData)); diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index c590553..21b5e65 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -624,6 +624,7 @@ void QThread::setTerminationEnabled(bool enabled) Q_ASSERT_X(thr != 0, "QThread::setTerminationEnabled()", "Current thread was not started with QThread."); #ifndef Q_OS_SYMBIAN + Q_UNUSED(thr) pthread_setcancelstate(enabled ? PTHREAD_CANCEL_ENABLE : PTHREAD_CANCEL_DISABLE, NULL); if (enabled) pthread_testcancel(); diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index 8143cba..fb2dd77 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -923,6 +923,7 @@ QDBusConnectionPrivate::QDBusConnectionPrivate(QObject *p) static const bool threads = q_dbus_threads_init_default(); static const int debugging = ::isDebugging = qgetenv("QDBUS_DEBUG").toInt(); Q_UNUSED(threads) + Q_UNUSED(debugging) #ifdef QDBUS_THREAD_DEBUG if (debugging > 1) diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp index d712669..195be0a 100644 --- a/src/gui/painting/qpaintengineex.cpp +++ b/src/gui/painting/qpaintengineex.cpp @@ -932,7 +932,7 @@ void QPaintEngineEx::drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, con fill(path, brush); } -void QPaintEngineEx::drawPixmaps(const QDrawPixmaps::Data *drawingData, int dataCount, const QPixmap &pixmap, QDrawPixmaps::DrawingHints hints) +void QPaintEngineEx::drawPixmaps(const QDrawPixmaps::Data *drawingData, int dataCount, const QPixmap &pixmap, QDrawPixmaps::DrawingHints /*hints*/) { qreal oldOpacity = state()->opacity; QTransform oldTransform = state()->matrix; diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp index ae4bed0..cbb310b 100644 --- a/src/opengl/qpixmapdata_gl.cpp +++ b/src/opengl/qpixmapdata_gl.cpp @@ -318,7 +318,7 @@ void QGLPixmapData::ensureCreated() const } void QGLPixmapData::fromImage(const QImage &image, - Qt::ImageConversionFlags flags) + Qt::ImageConversionFlags /*flags*/) { if (image.size() == QSize(w, h)) setSerialNumber(++qt_gl_pixmap_serial); diff --git a/src/xmlpatterns/data/qvaluefactory.cpp b/src/xmlpatterns/data/qvaluefactory.cpp index bac53b2..8f7e5a3 100644 --- a/src/xmlpatterns/data/qvaluefactory.cpp +++ b/src/xmlpatterns/data/qvaluefactory.cpp @@ -66,7 +66,7 @@ public: } AtomicValue::Ptr operator()(const AtomicValue::Ptr &lexicalValue, - const SchemaType::Ptr &type, + const SchemaType::Ptr & /*type*/, const ReportContext::Ptr &context) { prepareCasting(context, BuiltinTypes::xsString); diff --git a/src/xmlpatterns/functions/qsequencefns_p.h b/src/xmlpatterns/functions/qsequencefns_p.h index e406b95..fa799d3 100644 --- a/src/xmlpatterns/functions/qsequencefns_p.h +++ b/src/xmlpatterns/functions/qsequencefns_p.h @@ -149,7 +149,6 @@ namespace QPatternist // RVCT doesn't like using template parameter in trinary operator when the trinary operator result is // passed directly into another constructor. Q_ASSERT(Id == IDExistsFN || Id == IDEmptyFN); - const Expression::Ptr me(FunctionCall::compress(context)); diff --git a/src/xmlpatterns/schema/qxsdschemaparser.cpp b/src/xmlpatterns/schema/qxsdschemaparser.cpp index 8f7b6af..41c6b82 100644 --- a/src/xmlpatterns/schema/qxsdschemaparser.cpp +++ b/src/xmlpatterns/schema/qxsdschemaparser.cpp @@ -123,6 +123,7 @@ class ElementNamespaceHandler : m_parser(parser) { Q_ASSERT(m_parser->isStartElement() && (XsdSchemaToken::toToken(m_parser->name()) == tag) && (XsdSchemaToken::toToken(m_parser->namespaceUri()) == XsdSchemaToken::XML_NS_SCHEMA_URI)); + Q_UNUSED(tag) m_parser->m_namespaceSupport.pushContext(); m_parser->m_namespaceSupport.setPrefixes(m_parser->namespaceDeclarations()); } -- cgit v0.12 From ba5109e94d35a8c58fc4a4f412a3368bfa8851cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 09:45:21 +0200 Subject: Fixing more GCC warnings Reviewed-by: Marius Storm-Olsen --- src/corelib/global/qglobal.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 5720505..df17546 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -1615,11 +1615,11 @@ Q_CORE_EXPORT_INLINE QDebug qCritical(); inline QNoDebug qDebug(); #endif -#define QT_NO_QDEBUG_MACRO if(1) {} else qDebug +#define QT_NO_QDEBUG_MACRO while (false) qDebug #ifdef QT_NO_DEBUG_OUTPUT # define qDebug QT_NO_QDEBUG_MACRO #endif -#define QT_NO_QWARNING_MACRO if(1) {} else qWarning +#define QT_NO_QWARNING_MACRO while (false) qWarning #ifdef QT_NO_WARNING_OUTPUT # define qWarning QT_NO_QWARNING_MACRO #endif -- cgit v0.12 From f250aa63d2f4fd7d7a40977552253bc68c21df29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 09:46:06 +0200 Subject: Only a character but could still be interrupted by a signal Reviewed-by: Brad --- src/corelib/kernel/qeventdispatcher_unix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp index 5a0afb8..5d206ed 100644 --- a/src/corelib/kernel/qeventdispatcher_unix.cpp +++ b/src/corelib/kernel/qeventdispatcher_unix.cpp @@ -939,7 +939,7 @@ void QEventDispatcherUNIX::wakeUp() Q_D(QEventDispatcherUNIX); if (d->wakeUps.testAndSetAcquire(0, 1)) { char c = 0; - ::write( d->thread_pipe[1], &c, 1 ); + qt_safe_write( d->thread_pipe[1], &c, 1 ); } } -- cgit v0.12 From fbe25541d84ec719633d97f200c4217b324a0f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 09:49:46 +0200 Subject: The ::reads and ::writes were generating warnings The ::closes were changed just for fun. Reviewed-by: Thiago Macieira --- src/qt3support/other/q3process_unix.cpp | 91 +++++++++++++++++---------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/src/qt3support/other/q3process_unix.cpp b/src/qt3support/other/q3process_unix.cpp index d42468b..955b65f 100644 --- a/src/qt3support/other/q3process_unix.cpp +++ b/src/qt3support/other/q3process_unix.cpp @@ -60,6 +60,7 @@ #include "qregexp.h" #include "private/q3membuf_p.h" #include "private/qobject_p.h" +#include "private/qcore_unix_p.h" #include #include @@ -160,11 +161,11 @@ public: process->d->proc = 0; } if( socketStdin ) - ::close( socketStdin ); + qt_safe_close( socketStdin ); if( socketStdout ) - ::close( socketStdout ); + qt_safe_close( socketStdout ); if( socketStderr ) - ::close( socketStderr ); + qt_safe_close( socketStderr ); } pid_t pid; @@ -213,7 +214,7 @@ static void q3process_cleanup() } #ifdef Q_OS_QNX6 -#define BAILOUT close(tmpSocket);close(socketFD[1]);return -1; +#define BAILOUT qt_safe_close(tmpSocket);qt_safe_close(socketFD[1]);return -1; int qnx6SocketPairReplacement (int socketFD[2]) { int tmpSocket; tmpSocket = socket (AF_INET, SOCK_STREAM, 0); @@ -252,7 +253,7 @@ int qnx6SocketPairReplacement (int socketFD[2]) { if(socketFD[0] == -1) { BAILOUT }; // We're done - close(tmpSocket); + qt_safe_close(tmpSocket); // Restore original flags , ie return to blocking fcntl(socketFD[1], F_SETFL, originalFlags); @@ -319,9 +320,9 @@ Q3ProcessManager::~Q3ProcessManager() delete procList; if ( sigchldFd[0] != 0 ) - ::close( sigchldFd[0] ); + qt_safe_close( sigchldFd[0] ); if ( sigchldFd[1] != 0 ) - ::close( sigchldFd[1] ); + qt_safe_close( sigchldFd[1] ); // restore SIGCHLD handler #if defined(QT_Q3PROCESS_DEBUG) @@ -384,7 +385,7 @@ void Q3ProcessManager::sigchldHnd( int fd ) } char tmp; - ::read( fd, &tmp, sizeof(tmp) ); + qt_safe_read( fd, &tmp, sizeof(tmp) ); #if defined(QT_Q3PROCESS_DEBUG) qDebug( "Q3ProcessManager::sigchldHnd()" ); #endif @@ -434,13 +435,13 @@ void Q3ProcessManager::sigchldHnd( int fd ) // close filedescriptors if open, and disable the // socket notifiers if ( proc->socketStdout ) { - ::close( proc->socketStdout ); + qt_safe_close( proc->socketStdout ); proc->socketStdout = 0; if (process->d->notifierStdout) process->d->notifierStdout->setEnabled(false); } if ( proc->socketStderr ) { - ::close( proc->socketStderr ); + qt_safe_close( proc->socketStderr ); proc->socketStderr = 0; if (process->d->notifierStderr) process->d->notifierStderr->setEnabled(false); @@ -509,7 +510,7 @@ Q3ProcessPrivate::~Q3ProcessPrivate() if ( proc != 0 ) { if ( proc->socketStdin != 0 ) { - ::close( proc->socketStdin ); + qt_safe_close( proc->socketStdin ); proc->socketStdin = 0; } proc->process = 0; @@ -532,15 +533,15 @@ void Q3ProcessPrivate::closeOpenSocketsForChild() { if ( procManager != 0 ) { if ( procManager->sigchldFd[0] != 0 ) - ::close( procManager->sigchldFd[0] ); + qt_safe_close( procManager->sigchldFd[0] ); if ( procManager->sigchldFd[1] != 0 ) - ::close( procManager->sigchldFd[1] ); + qt_safe_close( procManager->sigchldFd[1] ); // close also the sockets from other Q3Process instances for ( QProc *p=procManager->procList->first(); p!=0; p=procManager->procList->next() ) { - ::close( p->socketStdin ); - ::close( p->socketStdout ); - ::close( p->socketStderr ); + qt_safe_close( p->socketStdin ); + qt_safe_close( p->socketStdout ); + qt_safe_close( p->socketStderr ); } } } @@ -569,7 +570,7 @@ static QT_SIGNAL_RETTYPE qt_C_sigchldHnd(QT_SIGNAL_ARGS) return; char a = 1; - ::write( Q3ProcessPrivate::procManager->sigchldFd[0], &a, sizeof(a) ); + qt_safe_write( Q3ProcessPrivate::procManager->sigchldFd[0], &a, sizeof(a) ); } @@ -682,8 +683,8 @@ bool Q3Process::start( QStringList *env ) if ( (comms & Stderr) && qnx6SocketPairReplacement(sStderr) == -1 ) { #endif if ( comms & Stdin ) { - ::close( sStdin[0] ); - ::close( sStdin[1] ); + qt_safe_close( sStdin[0] ); + qt_safe_close( sStdin[1] ); } return false; } @@ -693,12 +694,12 @@ bool Q3Process::start( QStringList *env ) if ( (comms & Stdout) && qnx6SocketPairReplacement(sStdout) == -1 ) { #endif if ( comms & Stdin ) { - ::close( sStdin[0] ); - ::close( sStdin[1] ); + qt_safe_close( sStdin[0] ); + qt_safe_close( sStdin[1] ); } if ( comms & Stderr ) { - ::close( sStderr[0] ); - ::close( sStderr[1] ); + qt_safe_close( sStderr[0] ); + qt_safe_close( sStderr[1] ); } return false; } @@ -758,15 +759,15 @@ bool Q3Process::start( QStringList *env ) // child d->closeOpenSocketsForChild(); if ( comms & Stdin ) { - ::close( sStdin[1] ); + qt_safe_close( sStdin[1] ); ::dup2( sStdin[0], STDIN_FILENO ); } if ( comms & Stdout ) { - ::close( sStdout[0] ); + qt_safe_close( sStdout[0] ); ::dup2( sStdout[1], STDOUT_FILENO ); } if ( comms & Stderr ) { - ::close( sStderr[0] ); + qt_safe_close( sStderr[0] ); ::dup2( sStderr[1], STDERR_FILENO ); } if ( comms & DupStderr ) { @@ -776,7 +777,7 @@ bool Q3Process::start( QStringList *env ) ::chdir( workingDir.absPath().latin1() ); #endif if ( fd[0] ) - ::close( fd[0] ); + qt_safe_close( fd[0] ); if ( fd[1] ) ::fcntl( fd[1], F_SETFD, FD_CLOEXEC ); // close on exec shows success @@ -850,8 +851,8 @@ bool Q3Process::start( QStringList *env ) } if ( fd[1] ) { char buf = 0; - ::write( fd[1], &buf, 1 ); - ::close( fd[1] ); + qt_safe_write( fd[1], &buf, 1 ); + qt_safe_close( fd[1] ); } ::_exit( -1 ); } else if ( pid == -1 ) { @@ -861,7 +862,7 @@ bool Q3Process::start( QStringList *env ) // test if exec was successful if ( fd[1] ) - ::close( fd[1] ); + qt_safe_close( fd[1] ); if ( fd[0] ) { char buf; for ( ;; ) { @@ -882,13 +883,13 @@ bool Q3Process::start( QStringList *env ) } break; } - ::close( fd[0] ); + qt_safe_close( fd[0] ); } d->newProc( pid, this ); if ( comms & Stdin ) { - ::close( sStdin[0] ); + qt_safe_close( sStdin[0] ); d->proc->socketStdin = sStdin[1]; // Select non-blocking mode @@ -904,7 +905,7 @@ bool Q3Process::start( QStringList *env ) } } if ( comms & Stdout ) { - ::close( sStdout[1] ); + qt_safe_close( sStdout[1] ); d->proc->socketStdout = sStdout[0]; d->notifierStdout = new QSocketNotifier( sStdout[0], QSocketNotifier::Read ); connect( d->notifierStdout, SIGNAL(activated(int)), @@ -913,7 +914,7 @@ bool Q3Process::start( QStringList *env ) d->notifierStdout->setEnabled( true ); } if ( comms & Stderr ) { - ::close( sStderr[1] ); + qt_safe_close( sStderr[1] ); d->proc->socketStderr = sStderr[0]; d->notifierStderr = new QSocketNotifier( sStderr[0], QSocketNotifier::Read ); connect( d->notifierStderr, SIGNAL(activated(int)), @@ -934,19 +935,19 @@ error: if ( d->procManager ) d->procManager->cleanup(); if ( comms & Stdin ) { - ::close( sStdin[1] ); - ::close( sStdin[0] ); + qt_safe_close( sStdin[1] ); + qt_safe_close( sStdin[0] ); } if ( comms & Stdout ) { - ::close( sStdout[0] ); - ::close( sStdout[1] ); + qt_safe_close( sStdout[0] ); + qt_safe_close( sStdout[1] ); } if ( comms & Stderr ) { - ::close( sStderr[0] ); - ::close( sStderr[1] ); + qt_safe_close( sStderr[0] ); + qt_safe_close( sStderr[1] ); } - ::close( fd[0] ); - ::close( fd[1] ); + qt_safe_close( fd[0] ); + qt_safe_close( fd[1] ); delete[] arglistQ; delete[] arglist; return false; @@ -1049,7 +1050,7 @@ void Q3Process::closeStdin() d->notifierStdin->setEnabled(false); qDeleteInEventHandler(d->notifierStdin); d->notifierStdin = 0; - if ( ::close( d->proc->socketStdin ) != 0 ) { + if ( qt_safe_close( d->proc->socketStdin ) != 0 ) { qWarning( "Could not close stdin of child process" ); } #if defined(QT_Q3PROCESS_DEBUG) @@ -1115,7 +1116,7 @@ void Q3Process::socketRead( int fd ) d->notifierStdout->setEnabled( false ); qDeleteInEventHandler(d->notifierStdout); d->notifierStdout = 0; - ::close( d->proc->socketStdout ); + qt_safe_close( d->proc->socketStdout ); d->proc->socketStdout = 0; return; } else if ( fd == d->proc->socketStderr ) { @@ -1125,7 +1126,7 @@ void Q3Process::socketRead( int fd ) d->notifierStderr->setEnabled( false ); qDeleteInEventHandler(d->notifierStderr); d->notifierStderr = 0; - ::close( d->proc->socketStderr ); + qt_safe_close( d->proc->socketStderr ); d->proc->socketStderr = 0; return; } -- cgit v0.12 From 81e0167b13abf81bf630281ac940a2b73509ed5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 09:53:32 +0200 Subject: The plugindialog was moved to tools/designer/src/lib/shared Reviewed-by: Friedemann Kleint --- tools/designer/translations/translations.pro | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/designer/translations/translations.pro b/tools/designer/translations/translations.pro index a37918c..2323882 100644 --- a/tools/designer/translations/translations.pro +++ b/tools/designer/translations/translations.pro @@ -82,7 +82,6 @@ SOURCES += $$APP_DIR/appfontdialog.cpp \ $$APP_DIR/main.cpp \ $$APP_DIR/mainwindow.cpp \ $$APP_DIR/newform.cpp \ - $$APP_DIR/plugindialog.cpp \ $$APP_DIR/preferencesdialog.cpp \ $$APP_DIR/qdesigner_actions.cpp \ $$APP_DIR/qdesigner_appearanceoptions.cpp \ @@ -100,7 +99,6 @@ HEADERS+= $$APP_DIR/appfontdialog.h \ $$APP_DIR/designer_enums.h \ $$APP_DIR/mainwindow.h \ $$APP_DIR/newform.h \ - $$APP_DIR/plugindialog.h \ $$APP_DIR/preferencesdialog.h \ $$APP_DIR/qdesigner_actions.h \ $$APP_DIR/qdesigner_appearanceoptions.h \ @@ -114,8 +112,7 @@ HEADERS+= $$APP_DIR/appfontdialog.h \ $$APP_DIR/saveformastemplate.h \ $$APP_DIR/versiondialog.h -FORMS += $$APP_DIR/plugindialog.ui \ - $$APP_DIR/preferencesdialog.ui \ +FORMS += $$APP_DIR/preferencesdialog.ui \ $$APP_DIR/qdesigner_appearanceoptions.ui \ $$APP_DIR/saveformastemplate.ui -- cgit v0.12 From e9e37393a4c1cfc43b5dca94a832d73cd009d73e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 10:05:51 +0200 Subject: Removing errors from the configure step... Reviewed-by: Thiago Macieira --- tools/assistant/translations/qt_help.pro | 4 +--- tools/assistant/translations/translations_adp.pro | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/tools/assistant/translations/qt_help.pro b/tools/assistant/translations/qt_help.pro index 69570d3..0133ea4 100644 --- a/tools/assistant/translations/qt_help.pro +++ b/tools/assistant/translations/qt_help.pro @@ -42,11 +42,9 @@ HEADERS += ../lib/qhelpcollectionhandler_p.h \ TR_DIR = $$PWD/../../../translations TRANSLATIONS = \ $$TR_DIR/qt_help_da.ts \ - $$TR_DIR/qt_help_de.ts + $$TR_DIR/qt_help_de.ts \ $$TR_DIR/qt_help_ja.ts \ $$TR_DIR/qt_help_pl.ts \ $$TR_DIR/qt_help_ru.ts \ $$TR_DIR/qt_help_zh_CN.ts \ $$TR_DIR/qt_help_zh_TW.ts - -error("This is a dummy profile to be used for translations ONLY.") diff --git a/tools/assistant/translations/translations_adp.pro b/tools/assistant/translations/translations_adp.pro index 852bdeb..f8da2e3 100644 --- a/tools/assistant/translations/translations_adp.pro +++ b/tools/assistant/translations/translations_adp.pro @@ -39,5 +39,3 @@ TRANSLATIONS = \ $$TR_DIR/assistant_adp_ru.ts \ $$TR_DIR/assistant_adp_zh_CN.ts \ $$TR_DIR/assistant_adp_zh_TW.ts - -error("This is a dummy profile to be used for translations ONLY.") -- cgit v0.12 From 038f3eef0f5a0d3012a1529fd4b768bbb9b8fb3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 11:58:04 +0200 Subject: Fixing warnings on GCC... (I) ... by establishing a default behaviour for the switch statements that follow. Reviewed-by: Kim --- src/gui/painting/qdrawutil.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/painting/qdrawutil.cpp b/src/gui/painting/qdrawutil.cpp index c20d8d8..1182b9a 100644 --- a/src/gui/painting/qdrawutil.cpp +++ b/src/gui/painting/qdrawutil.cpp @@ -1147,8 +1147,8 @@ void qDrawBorderPixmap(QPainter *painter, const QRect &targetRect, const QMargin yTarget[rows - 1] = targetCenterBottom; yTarget[rows] = targetRect.top() + targetRect.height(); - qreal dx; - qreal dy; + qreal dx = targetCenterWidth; + qreal dy = targetCenterHeight; switch (rules.horizontal) { case Qt::StretchTile: -- cgit v0.12 From 3f371e2afc9b680b5747a94df57d29afe01204f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 11:59:32 +0200 Subject: Fixing warnings on GCC... (II) ... by establishing a default behaviour for the switch statements that follow. Reviewed-by: ck --- tools/assistant/lib/qhelpsearchquerywidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/assistant/lib/qhelpsearchquerywidget.cpp b/tools/assistant/lib/qhelpsearchquerywidget.cpp index 9ac4a7d..361e9ac 100644 --- a/tools/assistant/lib/qhelpsearchquerywidget.cpp +++ b/tools/assistant/lib/qhelpsearchquerywidget.cpp @@ -229,7 +229,7 @@ private: const QList &query = queryHist->queries.at(queryHist->curQuery); foreach (const QHelpSearchQuery &queryPart, query) { - QLineEdit *lineEdit; + QLineEdit *lineEdit = 0; switch (queryPart.fieldName) { case QHelpSearchQuery::DEFAULT: lineEdit = defaultQuery; -- cgit v0.12 From d8e68a95c43d0eef4ac0ebc31c7dd0e6c487e3b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 12:00:50 +0200 Subject: Fixing warnings on GCC... (III) ... by establishing a default behaviour for the switch statements that follow. Reviewed-by: Thierry Bastian --- src/gui/kernel/qsoftkeymanager.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index 265f971..cd3ad22 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -112,7 +112,7 @@ QAction *QSoftKeyManager::createAction(StandardSoftKey standardKey, QWidget *act { const char* text = standardSoftKeyText(standardKey); QAction *action = new QAction(QSoftKeyManager::tr(text), actionWidget); - QAction::SoftKeyRole softKeyRole; + QAction::SoftKeyRole softKeyRole = QAction::NoSoftKey; switch (standardKey) { case OkSoftKey: case SelectSoftKey: @@ -121,7 +121,6 @@ QAction *QSoftKeyManager::createAction(StandardSoftKey standardKey, QWidget *act softKeyRole = QAction::PositiveSoftKey; break; case CancelSoftKey: - default: softKeyRole = QAction::NegativeSoftKey; break; } -- cgit v0.12 From 95ec7681b70933ce61ef198ed60a375b7393a395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Wed, 7 Oct 2009 10:04:33 +0200 Subject: Check the result of scanf Fixes a warning with GCC. Reviewed-by: Markus Goetz --- tools/porting/src/filewriter.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/porting/src/filewriter.cpp b/tools/porting/src/filewriter.cpp index ee8debb..99bd6e7 100644 --- a/tools/porting/src/filewriter.cpp +++ b/tools/porting/src/filewriter.cpp @@ -44,6 +44,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE @@ -106,11 +107,18 @@ FileWriter::WriteResult FileWriter::writeFile(QString filePath, QByteArray conte char answer = 0; while (answer != 'y' && answer != 'n' && answer != 'a') { #if defined(Q_OS_WIN) && defined(_MSC_VER) && _MSC_VER >= 1400 - scanf_s("%c", &answer); + int result = scanf_s("%c", &answer); #else - scanf("%c", &answer); + int result = scanf("%c", &answer); #endif - answer = tolower(answer); + if (1 == result) + answer = tolower(answer); + else if (EOF == result) { + if (EINTR == errno || EILSEQ == errno) + continue; + + answer = 'n'; + } } if(answer == 'n') -- cgit v0.12 From 9c23f571341811b07606db79dd4a4d44ff98acc1 Mon Sep 17 00:00:00 2001 From: Janne Koskinen Date: Tue, 6 Oct 2009 15:27:30 +0000 Subject: 2009-10-06 Janne Koskinen Reviewed by Simon Hausmann. [Qt] don't enable input methods on Symbian by default. https://bugs.webkit.org/show_bug.cgi?id=30117 If input methods are enabled Symbian FEP will be launched on every pointer event making webpage navigation impossible with QWebView. * Api/qwebview.cpp: (QWebView::QWebView): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49188 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp | 2 +- src/3rdparty/webkit/WebKit/qt/ChangeLog | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp index 3c5f89f..882f3d7 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp @@ -198,7 +198,7 @@ QWebView::QWebView(QWidget *parent) { d = new QWebViewPrivate(this); -#if !defined(Q_WS_QWS) +#if !defined(Q_WS_QWS) && !defined(Q_OS_SYMBIAN) setAttribute(Qt::WA_InputMethodEnabled); #endif diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index fd2768c..99ddaa5 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,16 @@ +2009-10-06 Janne Koskinen + + Reviewed by Simon Hausmann. + + [Qt] don't enable input methods on Symbian by default. + https://bugs.webkit.org/show_bug.cgi?id=30117 + + If input methods are enabled Symbian FEP will be launched on every + pointer event making webpage navigation impossible with QWebView. + + * Api/qwebview.cpp: + (QWebView::QWebView): + 2009-10-01 Simon Hausmann Reviewed by Tor Arne Vestbø. -- cgit v0.12 From d73ea9d00fec200b2dd6de5e4c8f298caffa4aca Mon Sep 17 00:00:00 2001 From: Janne Koskinen Date: Wed, 7 Oct 2009 10:58:16 +0000 Subject: 2009-10-07 Janne Koskinen Reviewed by Simon Hausmann. [Qt] Symbian SBSv2 .data segment adress fix https://bugs.webkit.org/show_bug.cgi?id=30157 RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section base address to start from 0x800000 instead of the toolchain default 0x400000 * WebCore.pro: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49239 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- src/3rdparty/webkit/WebCore/ChangeLog | 12 ++++++++++++ src/3rdparty/webkit/WebCore/WebCore.pro | 3 +++ 2 files changed, 15 insertions(+) diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index aacc3dc..4f7dd4f 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,15 @@ +2009-10-07 Janne Koskinen + + Reviewed by Simon Hausmann. + + [Qt] Symbian SBSv2 .data segment adress fix + https://bugs.webkit.org/show_bug.cgi?id=30157 + + RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section + base address to start from 0x800000 instead of the toolchain default 0x400000 + + * WebCore.pro: + 2009-09-29 Dave Hyatt Reviewed by Jon Honeycutt. diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index bc22b7a..1c39bb8 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -13,6 +13,9 @@ symbian: { TARGET.UID3 = 0x200267C2 } +# RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section +# base address to start from 0x800000 instead of the toolchain default 0x400000. +symbian-sbsv2: MMP_RULES += "LINKEROPTION armcc --rw-base 0x800000" include($$PWD/../WebKit.pri) -- cgit v0.12 From 342fcb287b09d016d482e25482ddd1b36e2983a3 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Wed, 7 Oct 2009 12:58:57 +0200 Subject: Fix linker error with Symbian/ARM RVCT ABIv2 toolchain Not exporting the whole class prevents the capabilities example from linking, because the vtable is not exported. Changing from member exports to exporting the class also fixes the GCC 3.4.x compiler error. Task-number: QTBUG-4593 Reviewed-by: Thiago --- src/3rdparty/phonon/phonon/objectdescriptionmodel.h | 16 ++++------------ src/s60installs/eabi/phononu.def | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h index ba3cb42..9af2615 100644 --- a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h +++ b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h @@ -175,26 +175,18 @@ namespace Phonon * \author Matthias Kretz */ template - class ObjectDescriptionModel : public QAbstractListModel + class PHONON_EXPORT ObjectDescriptionModel : public QAbstractListModel { public: Q_OBJECT_CHECK -/* MinGW 3.4.x gives an ICE when trying to instantiate one of the - ObjectDescriptionModel classes because it can't handle - half exported classes correct. gcc 4.3.x has a fix for this but - we currently there's no official gcc 4.3 on windows available. - Because of this we need this little hack - */ -#if !defined(Q_CC_MINGW) || __MINGW32_MAJOR_VERSION >= 4 /** \internal */ - static PHONON_EXPORT const QMetaObject staticMetaObject; + static const QMetaObject staticMetaObject; /** \internal */ - PHONON_EXPORT const QMetaObject *metaObject() const; + const QMetaObject *metaObject() const; /** \internal */ - PHONON_EXPORT void *qt_metacast(const char *_clname); + void *qt_metacast(const char *_clname); //int qt_metacall(QMetaObject::Call _c, int _id, void **_a); -#endif /** * Returns the number of rows in the model. This value corresponds diff --git a/src/s60installs/eabi/phononu.def b/src/s60installs/eabi/phononu.def index d407ba4..d70942c 100644 --- a/src/s60installs/eabi/phononu.def +++ b/src/s60installs/eabi/phononu.def @@ -495,11 +495,11 @@ EXPORTS _ZTIN6Phonon19AbstractVideoOutputE @ 494 NONAME _ZTIN6Phonon19BackendCapabilities8NotifierE @ 495 NONAME ABSENT _ZTIN6Phonon22MediaControllerPrivateE @ 496 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 497 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 498 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 499 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 500 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 501 NONAME ABSENT + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 497 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 498 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 499 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 500 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 501 NONAME _ZTIN6Phonon24VolumeFaderEffectPrivateE @ 502 NONAME ABSENT _ZTIN6Phonon26AbstractAudioOutputPrivateE @ 503 NONAME ABSENT _ZTIN6Phonon26AbstractMediaStreamPrivateE @ 504 NONAME @@ -532,11 +532,11 @@ EXPORTS _ZTVN6Phonon19AbstractVideoOutputE @ 531 NONAME _ZTVN6Phonon19BackendCapabilities8NotifierE @ 532 NONAME ABSENT _ZTVN6Phonon22MediaControllerPrivateE @ 533 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 534 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 535 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 536 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 537 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 538 NONAME ABSENT + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 534 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 535 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 536 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 537 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 538 NONAME _ZTVN6Phonon24VolumeFaderEffectPrivateE @ 539 NONAME ABSENT _ZTVN6Phonon26AbstractAudioOutputPrivateE @ 540 NONAME ABSENT _ZTVN6Phonon26AbstractMediaStreamPrivateE @ 541 NONAME -- cgit v0.12 From 136f866f405a60ddbc48e4c666a0fec484f24717 Mon Sep 17 00:00:00 2001 From: Marius Storm-Olsen Date: Wed, 7 Oct 2009 13:25:32 +0200 Subject: Revert "There's no need to include qstringmatcher.h in qstringlist.h" Source-incompatible change This reverts commit 8714892977269591bb9b348c6eb549a7f2c45cbc. Rev-by: Trustme --- src/corelib/tools/qstringlist.cpp | 1 - src/corelib/tools/qstringlist.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qstringlist.cpp b/src/corelib/tools/qstringlist.cpp index f5b2a59..ce39b47 100644 --- a/src/corelib/tools/qstringlist.cpp +++ b/src/corelib/tools/qstringlist.cpp @@ -41,7 +41,6 @@ #include #include -#include QT_BEGIN_NAMESPACE diff --git a/src/corelib/tools/qstringlist.h b/src/corelib/tools/qstringlist.h index c959209..2a2a1d7 100644 --- a/src/corelib/tools/qstringlist.h +++ b/src/corelib/tools/qstringlist.h @@ -47,6 +47,7 @@ #include #include #include +#include #ifdef QT_INCLUDE_COMPAT #include #endif -- cgit v0.12 From 2c579ce42d89ad4cb8c03231b41ae496f24fad4b Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 6 Oct 2009 09:12:58 +0200 Subject: Prevented deployment of QtScript when not compiling that module. RevBy: Miikka Heikkinen --- src/s60installs/s60installs.pro | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index 3aef05e..7233e8a 100644 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro @@ -19,7 +19,6 @@ symbian: { QtXml.dll \ QtGui.dll \ QtNetwork.dll \ - QtScript.dll \ QtTest.dll \ QtSql.dll @@ -94,6 +93,10 @@ symbian: { qtlibraries.sources += Phonon.dll } + contains(QT_CONFIG, script): { + qtlibraries.sources += QtScript.dll + } + contains(QT_CONFIG, webkit): { qtlibraries.sources += QtWebKit.dll } -- cgit v0.12 From 330dc1e5895a8950615a9bbf26154f5387b023b1 Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 6 Oct 2009 17:05:50 +0200 Subject: Fixed a crash bug on S60 SDK 3.1. The crash was caused by the image data not being locked before being accessed. Also avoided an unnecessary detach copy by making the image variable a reference. RevBy: Jani Hautakangas Task: QTBUG-4705 AutoTest: QWidget passed --- src/gui/painting/qwindowsurface_s60.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp index 664ad48..dc4e43b 100644 --- a/src/gui/painting/qwindowsurface_s60.cpp +++ b/src/gui/painting/qwindowsurface_s60.cpp @@ -85,7 +85,9 @@ QS60WindowSurface::~QS60WindowSurface() void QS60WindowSurface::beginPaint(const QRegion &rgn) { if (!qt_widget_private(window())->isOpaque) { - QImage image = static_cast(d_ptr->device.data_ptr().data())->image; + QS60PixmapData *pixmapData = static_cast(d_ptr->device.data_ptr().data()); + pixmapData->beginDataAccess(); + QImage &image = pixmapData->image; QRgb *data = reinterpret_cast(image.bits()); const int row_stride = image.bytesPerLine() / 4; @@ -103,6 +105,7 @@ void QS60WindowSurface::beginPaint(const QRegion &rgn) row += row_stride; } } + pixmapData->endDataAccess(); } } -- cgit v0.12 From 5ce632d3a8354f118225911103628e602559124e Mon Sep 17 00:00:00 2001 From: axis Date: Wed, 7 Oct 2009 11:32:30 +0200 Subject: Fixed deployment when using cetest. Cetest (and other programs that upload dlls manually without using a package) need to deploy some plugins for specific tests. If those tests are deployed in a normal package however, the installation will fail because the plugins are already included in the Qt installation. Fixed that by putting the deployment inside a scope that cetest will define. RevBy: Miikka Heikkinen --- tests/auto/qicoimageformat/qicoimageformat.pro | 9 ++++++--- tests/auto/qicon/qicon.pro | 9 ++++++--- tests/auto/qimage/qimage.pro | 9 ++++++--- tests/auto/qimagereader/qimagereader.pro | 10 +++++++--- tests/auto/qimagewriter/qimagewriter.pro | 9 ++++++--- tests/auto/qitemmodel/qitemmodel.pro | 10 ++++++---- tests/auto/qmovie/qmovie.pro | 10 ++++++---- tests/auto/qsql/qsql.pro | 10 ++++++---- tests/auto/qsqldatabase/qsqldatabase.pro | 10 ++++++---- tests/auto/qsqldriver/qsqldriver.pro | 10 ++++++---- tests/auto/qsqlerror/qsqlerror.pro | 10 ++++++---- tests/auto/qsqlfield/qsqlfield.pro | 10 ++++++---- tests/auto/qsqlquery/qsqlquery.pro | 10 ++++++---- tests/auto/qsqlquerymodel/qsqlquerymodel.pro | 10 ++++++---- tests/auto/qsqlrecord/qsqlrecord.pro | 11 +++++++---- .../qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro | 10 ++++++---- tests/auto/qsqltablemodel/qsqltablemodel.pro | 10 ++++++---- tests/auto/qsqlthread/qsqlthread.pro | 10 ++++++---- tests/auto/qtextstream/test/test.pro | 8 +++++--- 19 files changed, 115 insertions(+), 70 deletions(-) diff --git a/tests/auto/qicoimageformat/qicoimageformat.pro b/tests/auto/qicoimageformat/qicoimageformat.pro index c0aa4b5..b9c8622 100644 --- a/tests/auto/qicoimageformat/qicoimageformat.pro +++ b/tests/auto/qicoimageformat/qicoimageformat.pro @@ -15,9 +15,12 @@ wince*: { } else:symbian* { addFiles.sources = icons addFiles.path = . - addPlugins.sources = qico.dll - addPlugins.path = imageformats - DEPLOYMENT += addFiles addPlugins + DEPLOYMENT += addFiles + qt_not_deployed { + addPlugins.sources = qico.dll + addPlugins.path = imageformats + DEPLOYMENT += addPlugins + } TARGET.UID3 = 0xE0340004 DEFINES += SYMBIAN_SRCDIR_UID=$$lower($$replace(TARGET.UID3,"0x","")) } else { diff --git a/tests/auto/qicon/qicon.pro b/tests/auto/qicon/qicon.pro index 8ae252f..68b888d 100644 --- a/tests/auto/qicon/qicon.pro +++ b/tests/auto/qicon/qicon.pro @@ -18,9 +18,12 @@ wince* { QT += xml svg addFiles.sources = *.png tst_qicon.cpp *.svg *.svgz addFiles.path = . - plugins.sources = qsvgicon.dll - plugins.path = iconengines - DEPLOYMENT += addFiles plugins + DEPLOYMENT += addFiles + qt_not_deployed { + plugins.sources = qsvgicon.dll + plugins.path = iconengines + DEPLOYMENT += plugins + } } else { DEFINES += SRCDIR=\\\"$$PWD\\\" } diff --git a/tests/auto/qimage/qimage.pro b/tests/auto/qimage/qimage.pro index 69d6f0f..3e0bd69 100644 --- a/tests/auto/qimage/qimage.pro +++ b/tests/auto/qimage/qimage.pro @@ -10,9 +10,12 @@ wince*: { TARGET.EPOCHEAPSIZE = 0x200000 0x800000 addImages.sources = images/* addImages.path = images - imagePlugins.sources = qjpeg.dll qgif.dll qmng.dll qtiff.dll qico.dll - imagePlugins.path = imageformats - DEPLOYMENT += addImages imagePlugins + DEPLOYMENT += addImages + qt_not_deployed { + imagePlugins.sources = qjpeg.dll qgif.dll qmng.dll qtiff.dll qico.dll + imagePlugins.path = imageformats + DEPLOYMENT += imagePlugins + } } else { contains(QT_CONFIG, qt3support): QT += qt3support DEFINES += SRCDIR=\\\"$$PWD\\\" diff --git a/tests/auto/qimagereader/qimagereader.pro b/tests/auto/qimagereader/qimagereader.pro index 31a9b0f..5b061b0 100644 --- a/tests/auto/qimagereader/qimagereader.pro +++ b/tests/auto/qimagereader/qimagereader.pro @@ -30,8 +30,12 @@ symbian*: { images.sources = images images.path = . - imagePlugins.sources = qjpeg.dll qgif.dll qmng.dll - imagePlugins.path = imageformats + DEPLOYMENT += images - DEPLOYMENT += images imagePlugins + qt_not_deployed { + imagePlugins.sources = qjpeg.dll qgif.dll qmng.dll + imagePlugins.path = imageformats + + DEPLOYMENT += imagePlugins + } } diff --git a/tests/auto/qimagewriter/qimagewriter.pro b/tests/auto/qimagewriter/qimagewriter.pro index 5a2c908..8da2942 100644 --- a/tests/auto/qimagewriter/qimagewriter.pro +++ b/tests/auto/qimagewriter/qimagewriter.pro @@ -13,9 +13,12 @@ wince*: { } else:symbian* { addFiles.sources = images\*.* addFiles.path = images - imagePlugins.sources = qjpeg.dll qtiff.dll - imagePlugins.path = imageformats - DEPLOYMENT += addFiles imagePlugins + DEPLOYMENT += addFiles + qt_not_deployed { + imagePlugins.sources = qjpeg.dll qtiff.dll + imagePlugins.path = imageformats + DEPLOYMENT += imagePlugins + } } else { DEFINES += SRCDIR=\\\"$$PWD\\\" } diff --git a/tests/auto/qitemmodel/qitemmodel.pro b/tests/auto/qitemmodel/qitemmodel.pro index eb62b24..2d0bdea 100644 --- a/tests/auto/qitemmodel/qitemmodel.pro +++ b/tests/auto/qitemmodel/qitemmodel.pro @@ -16,9 +16,11 @@ QT += sql symbian { TARGET.EPOCHEAPSIZE="0x100000 0x1000000 // Min 1Mb, max 16Mb" - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } diff --git a/tests/auto/qmovie/qmovie.pro b/tests/auto/qmovie/qmovie.pro index 15f0c83..30e5901 100644 --- a/tests/auto/qmovie/qmovie.pro +++ b/tests/auto/qmovie/qmovie.pro @@ -18,7 +18,9 @@ symbian*: { addFiles.path = animations DEPLOYMENT += addFiles - imagePlugins.sources = qjpeg.dll qgif.dll qmng.dll - imagePlugins.path = imageformats - DEPLOYMENT += imagePlugins -} \ No newline at end of file + qt_not_deployed { + imagePlugins.sources = qjpeg.dll qgif.dll qmng.dll + imagePlugins.path = imageformats + DEPLOYMENT += imagePlugins + } +} diff --git a/tests/auto/qsql/qsql.pro b/tests/auto/qsql/qsql.pro index 167a38d..0ec581d 100644 --- a/tests/auto/qsql/qsql.pro +++ b/tests/auto/qsql/qsql.pro @@ -10,9 +10,11 @@ wince*: { } symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } diff --git a/tests/auto/qsqldatabase/qsqldatabase.pro b/tests/auto/qsqldatabase/qsqldatabase.pro index 964c8c9..6381219 100644 --- a/tests/auto/qsqldatabase/qsqldatabase.pro +++ b/tests/auto/qsqldatabase/qsqldatabase.pro @@ -23,10 +23,12 @@ symbian { TARGET.EPOCHEAPSIZE=5000 5000000 TARGET.EPOCSTACKSIZE=50000 - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } diff --git a/tests/auto/qsqldriver/qsqldriver.pro b/tests/auto/qsqldriver/qsqldriver.pro index 7f289a6..d04ca83 100644 --- a/tests/auto/qsqldriver/qsqldriver.pro +++ b/tests/auto/qsqldriver/qsqldriver.pro @@ -17,9 +17,11 @@ wince*: { } symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } diff --git a/tests/auto/qsqlerror/qsqlerror.pro b/tests/auto/qsqlerror/qsqlerror.pro index 2eb7934..456f585 100644 --- a/tests/auto/qsqlerror/qsqlerror.pro +++ b/tests/auto/qsqlerror/qsqlerror.pro @@ -8,9 +8,11 @@ QT = core sql SOURCES += tst_qsqlerror.cpp symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } diff --git a/tests/auto/qsqlfield/qsqlfield.pro b/tests/auto/qsqlfield/qsqlfield.pro index 6e5b461..7339854 100644 --- a/tests/auto/qsqlfield/qsqlfield.pro +++ b/tests/auto/qsqlfield/qsqlfield.pro @@ -4,10 +4,12 @@ SOURCES += tst_qsqlfield.cpp QT += sql symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } diff --git a/tests/auto/qsqlquery/qsqlquery.pro b/tests/auto/qsqlquery/qsqlquery.pro index 494ca4c..97646ed 100644 --- a/tests/auto/qsqlquery/qsqlquery.pro +++ b/tests/auto/qsqlquery/qsqlquery.pro @@ -15,9 +15,11 @@ wince*: { } symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } diff --git a/tests/auto/qsqlquerymodel/qsqlquerymodel.pro b/tests/auto/qsqlquerymodel/qsqlquerymodel.pro index cd8586c..cda8cab 100644 --- a/tests/auto/qsqlquerymodel/qsqlquerymodel.pro +++ b/tests/auto/qsqlquerymodel/qsqlquerymodel.pro @@ -7,10 +7,12 @@ wince*: { DEPLOYMENT_PLUGIN += qsqlite LIBS += -lws2 }else:symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } else { win32:LIBS += -lws2_32 diff --git a/tests/auto/qsqlrecord/qsqlrecord.pro b/tests/auto/qsqlrecord/qsqlrecord.pro index 67e8ab9..7a72075 100644 --- a/tests/auto/qsqlrecord/qsqlrecord.pro +++ b/tests/auto/qsqlrecord/qsqlrecord.pro @@ -2,10 +2,13 @@ load(qttest_p4) SOURCES += tst_qsqlrecord.cpp symbian { -contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } + } } TARGET.EPOCSTACKSIZE=50000 diff --git a/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro b/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro index 2fddd03..ee4f2f0 100644 --- a/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro +++ b/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro @@ -9,10 +9,12 @@ wince*: { DEPLOYMENT += plugFiles LIBS += -lws2 }else:symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } } else { win32-g++ { diff --git a/tests/auto/qsqltablemodel/qsqltablemodel.pro b/tests/auto/qsqltablemodel/qsqltablemodel.pro index a046fb1..9a23237 100644 --- a/tests/auto/qsqltablemodel/qsqltablemodel.pro +++ b/tests/auto/qsqltablemodel/qsqltablemodel.pro @@ -9,10 +9,12 @@ wince*: { DEPLOYMENT += plugFiles LIBS += -lws2 }else:symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } }else { win32:LIBS += -lws2_32 diff --git a/tests/auto/qsqlthread/qsqlthread.pro b/tests/auto/qsqlthread/qsqlthread.pro index 2708f1a..5522232 100644 --- a/tests/auto/qsqlthread/qsqlthread.pro +++ b/tests/auto/qsqlthread/qsqlthread.pro @@ -10,10 +10,12 @@ wince*: { DEPLOYMENT += plugFiles LIBS += -lws2 }else:symbian { - contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { - sqlite.path = /sys/bin - sqlite.sources = sqlite3.dll - DEPLOYMENT += sqlite + qt_not_deployed { + contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) { + sqlite.path = /sys/bin + sqlite.sources = sqlite3.dll + DEPLOYMENT += sqlite + } } }else { win32:LIBS += -lws2_32 diff --git a/tests/auto/qtextstream/test/test.pro b/tests/auto/qtextstream/test/test.pro index 9f117d5..c70c27b 100644 --- a/tests/auto/qtextstream/test/test.pro +++ b/tests/auto/qtextstream/test/test.pro @@ -30,9 +30,11 @@ wince*: { }else:symbian { load(data_caging_paths) # Symbian can't define SRCDIR meaningfully here - codecs_plugins.sources = qcncodecs.dll qjpcodecs.dll qtwcodecs.dll qkrcodecs.dll - codecs_plugins.path = $$QT_PLUGINS_BASE_DIR/codecs - DEPLOYMENT += codecs_plugins + qt_not_deployed { + codecs_plugins.sources = qcncodecs.dll qjpcodecs.dll qtwcodecs.dll qkrcodecs.dll + codecs_plugins.path = $$QT_PLUGINS_BASE_DIR/codecs + DEPLOYMENT += codecs_plugins + } }else { DEFINES += SRCDIR=\\\"$$PWD/../\\\" } -- cgit v0.12 From 0418d438d1c1acfe2c95ee748c1e7c84a0ee8837 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 7 Oct 2009 12:16:04 +0200 Subject: Fixed initialization of the system locale on Symbian. Made it thread-safe and actually make sure that we don't initialize the data several times. Reviewed-by: axis --- src/corelib/tools/qlocale_symbian.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp index 931fbb4..1660e95 100644 --- a/src/corelib/tools/qlocale_symbian.cpp +++ b/src/corelib/tools/qlocale_symbian.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include #include "private/qcore_symbian_p.h" @@ -773,8 +774,8 @@ static QLocale::MeasurementSystem symbianMeasurementSystem() QLocale QSystemLocale::fallbackLocale() const { // load system data before query calls - static bool initDone = false; - if (!initDone) { + static QBasicAtomicInt initDone = Q_BASIC_ATOMIC_INITIALIZER(0); + if (initDone.testAndSetRelaxed(0, 1)) { _s60Locale.LoadSystemSettings(); // Initialize platform version dependent function pointers @@ -794,7 +795,12 @@ QLocale QSystemLocale::fallbackLocale() const ptrGetLongDateFormatSpec = &defaultFormatSpec; if (!ptrGetShortDateFormatSpec) ptrGetShortDateFormatSpec = &defaultFormatSpec; + bool ret = initDone.testAndSetRelease(1, 2); + Q_ASSERT(ret); + Q_UNUSED(ret); } + while(initDone != 2) + QThread::yieldCurrentThread(); TLanguage lang = User::Language(); QString locale = QLatin1String(qt_symbianLocaleName(lang)); -- cgit v0.12 From 1e6d00443428cc9c714ba7e3cf323b3e2684db79 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 7 Oct 2009 13:52:57 +0200 Subject: tests/auto/qscriptengine/qscriptengine.pro Windows CE fix Reviewed-by: TrustMe --- tests/auto/qscriptengine/qscriptengine.pro | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/auto/qscriptengine/qscriptengine.pro b/tests/auto/qscriptengine/qscriptengine.pro index d4c0f4c..dd058a4 100644 --- a/tests/auto/qscriptengine/qscriptengine.pro +++ b/tests/auto/qscriptengine/qscriptengine.pro @@ -1,7 +1,12 @@ load(qttest_p4) QT = core gui script SOURCES += tst_qscriptengine.cpp -!symbian:DEFINES += SRCDIR=\\\"$$PWD\\\" + +wince* { + DEFINES += SRCDIR=\\\"./\\\" +} else:!symbian { + DEFINES += SRCDIR=\\\"$$PWD\\\" +} wince*|symbian*: { addFiles.sources = script -- cgit v0.12 From 16c4afe4592587a4bc48ae2170da748e0d149a64 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Wed, 7 Oct 2009 13:51:12 +0200 Subject: Fix compile error on Symbian platform Missing header file, resulting in compiler error about returning an incomplete type. Reviewed-by: Trust Me --- src/gui/kernel/qguiplatformplugin.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp index cf15aa2..c48b8f6 100644 --- a/src/gui/kernel/qguiplatformplugin.cpp +++ b/src/gui/kernel/qguiplatformplugin.cpp @@ -45,6 +45,7 @@ #include "qstylefactory.h" #include "qapplication.h" #include "qplatformdefs.h" +#include "qicon.h" #ifdef Q_WS_WINCE #include "qguifunctions_wince.h" -- cgit v0.12 From 722d351de797135273a05ff0f4c63315bf37592d Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Wed, 16 Sep 2009 13:59:20 +0200 Subject: Fix QDesktopServices::storageLocation() when registry keys are missing We should not use the registry key when looking up the storage location as this is not really supported by Microsoft and not allways accessible. Instead we now use SHGetSpecialFolderPath. Note that we avoid SHGetKnownFolderPath as it is not available on all CE platforms though it is the reccommended function by Microsoft. Task-number: QTBUG-3241 Reviewed-by: prasanth --- src/gui/util/qdesktopservices_win.cpp | 66 +++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/src/gui/util/qdesktopservices_win.cpp b/src/gui/util/qdesktopservices_win.cpp index 9ae3a15..bf29870 100644 --- a/src/gui/util/qdesktopservices_win.cpp +++ b/src/gui/util/qdesktopservices_win.cpp @@ -41,6 +41,7 @@ #include #include +#include #include #include #include @@ -168,50 +169,72 @@ static bool launchWebBrowser(const QUrl &url) QString QDesktopServices::storageLocation(StandardLocation type) { -#if !defined(QT_NO_SETTINGS) - QSettings settings(QSettings::UserScope, QLatin1String("Microsoft"), QLatin1String("Windows")); - settings.beginGroup(QLatin1String("CurrentVersion/Explorer/Shell Folders")); + QString result; + +#ifndef Q_OS_WINCE + QLibrary library(QLatin1String("shell32")); +#else + QLibrary library(QLatin1String("coredll")); +#endif // Q_OS_WINCE + typedef BOOL (WINAPI*GetSpecialFolderPath)(HWND, LPWSTR, int, BOOL); + static GetSpecialFolderPath SHGetSpecialFolderPath = + (GetSpecialFolderPath)library.resolve("SHGetSpecialFolderPathW"); + if (!SHGetSpecialFolderPath) + return QString(); + + wchar_t path[MAX_PATH]; + switch (type) { - case CacheLocation: - // Although Microsoft has a Cache key it is a pointer to IE's cache, not a cache - // location for everyone. Most applications seem to be using a - // cache directory located in their AppData directory - return storageLocation(DataLocation) + QLatin1String("\\cache"); case DataLocation: - if (!settings.contains(QLatin1String("Local AppData"))) - break; - return settings.value(QLatin1String("Local AppData")).toString() - + QLatin1String("\\") + QCoreApplication::organizationName() - + QLatin1String("\\") + QCoreApplication::applicationName(); + if (SHGetSpecialFolderPath(0, path, CSIDL_LOCAL_APPDATA, FALSE)) + result = QString::fromWCharArray(path); + if (!QCoreApplication::organizationName().isEmpty()) + result = result + QLatin1String("\\") + QCoreApplication::organizationName(); + if (!QCoreApplication::applicationName().isEmpty()) + result = result + QLatin1String("\\") + QCoreApplication::applicationName(); break; + case DesktopLocation: - return settings.value(QLatin1String("Desktop")).toString(); + if (SHGetSpecialFolderPath(0, path, CSIDL_DESKTOPDIRECTORY, FALSE)) + result = QString::fromWCharArray(path); break; case DocumentsLocation: - return settings.value(QLatin1String("Personal")).toString(); + if (SHGetSpecialFolderPath(0, path, CSIDL_PERSONAL, FALSE)) + result = QString::fromWCharArray(path); break; case FontsLocation: - return settings.value(QLatin1String("Fonts")).toString(); + if (SHGetSpecialFolderPath(0, path, CSIDL_FONTS, FALSE)) + result = QString::fromWCharArray(path); break; case ApplicationsLocation: - return settings.value(QLatin1String("Programs")).toString(); + if (SHGetSpecialFolderPath(0, path, CSIDL_PROGRAMS, FALSE)) + result = QString::fromWCharArray(path); break; case MusicLocation: - return settings.value(QLatin1String("My Music")).toString(); + if (SHGetSpecialFolderPath(0, path, CSIDL_MYMUSIC, FALSE)) + result = QString::fromWCharArray(path); break; case MoviesLocation: - return settings.value(QLatin1String("My Video")).toString(); + if (SHGetSpecialFolderPath(0, path, CSIDL_MYVIDEO, FALSE)) + result = QString::fromWCharArray(path); break; case PicturesLocation: - return settings.value(QLatin1String("My Pictures")).toString(); + if (SHGetSpecialFolderPath(0, path, CSIDL_MYPICTURES, FALSE)) + result = QString::fromWCharArray(path); break; + case CacheLocation: + // Although Microsoft has a Cache key it is a pointer to IE's cache, not a cache + // location for everyone. Most applications seem to be using a + // cache directory located in their AppData directory + return storageLocation(DataLocation) + QLatin1String("\\cache"); + case QDesktopServices::HomeLocation: return QDir::homePath(); break; @@ -221,8 +244,7 @@ QString QDesktopServices::storageLocation(StandardLocation type) default: break; } -#endif - return QString(); + return result; } QString QDesktopServices::displayName(StandardLocation type) -- cgit v0.12 From c7458326e1772bf3162d95c0b512c3ad2de94201 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Mon, 5 Oct 2009 15:10:59 +1000 Subject: Make it possible to implement engine-specific drop shadow filters It wasn't possible for the paint engine to override the drop shadow filter because QPixmapDropShadowFilter::draw() was not asking for an engine-specific filter object. Also, change the OpenVG filter to use vgGaussianBlur() instead of vgConvolve(), and draw the original image on top of the shadow. Task-number: QTBUG-4583 Reviewed-by: trustme (cherry picked from commit 3909d97e86d62fd94e149925b5f3111c8f391334) --- src/gui/image/qpixmapfilter.cpp | 10 ++++++++++ src/openvg/qpixmapfilter_vg.cpp | 44 ++++++++++++++++------------------------- src/openvg/qpixmapfilter_vg_p.h | 3 --- 3 files changed, 27 insertions(+), 30 deletions(-) diff --git a/src/gui/image/qpixmapfilter.cpp b/src/gui/image/qpixmapfilter.cpp index 749b8f3..df445db 100644 --- a/src/gui/image/qpixmapfilter.cpp +++ b/src/gui/image/qpixmapfilter.cpp @@ -1074,6 +1074,16 @@ void QPixmapDropShadowFilter::draw(QPainter *p, const QRectF &src) const { Q_D(const QPixmapDropShadowFilter); + QPixmapFilter *filter = p->paintEngine() && p->paintEngine()->isExtended() ? + static_cast(p->paintEngine())->pixmapFilter(type(), this) : 0; + QPixmapDropShadowFilter *dropShadowFilter = static_cast(filter); + if (dropShadowFilter) { + dropShadowFilter->setColor(d->color); + dropShadowFilter->setBlurRadius(d->blurFilter->radius()); + dropShadowFilter->setOffset(d->offset); + dropShadowFilter->draw(p, pos, px, src); + return; + } QImage tmp = src.isNull() ? px.toImage() : px.copy(src.toRect()).toImage(); QPainter tmpPainter(&tmp); diff --git a/src/openvg/qpixmapfilter_vg.cpp b/src/openvg/qpixmapfilter_vg.cpp index ca4db38..613f4ea 100644 --- a/src/openvg/qpixmapfilter_vg.cpp +++ b/src/openvg/qpixmapfilter_vg.cpp @@ -220,8 +220,6 @@ void QVGPixmapColorizeFilter::draw(QPainter *painter, const QPointF &dest, const QVGPixmapDropShadowFilter::QVGPixmapDropShadowFilter() : QPixmapDropShadowFilter(), - prevRadius(0.0f), - kernelSize(0), firstTime(true) { } @@ -290,41 +288,30 @@ void QVGPixmapDropShadowFilter::draw(QPainter *painter, const QPointF &dest, con // Blacken the source image. vgColorMatrix(tmpImage, srcImage, matrix[0]); - // Recompute the convolution kernel if the blur radius has changed. - qreal radius = blurRadius(); - if (radius != prevRadius || firstTime) { - prevRadius = radius; - int dim = 2 * qRound(radius) + 1; - int size = dim * dim; - VGshort f = VGshort(1024.0f / size); - kernel.resize(size); - for (int i = 0; i < size; ++i) - kernel[i] = f; - kernelSize = dim; - } + // Clamp the radius range. We divide by 2 because the OpenVG blur + // is "too blurry" compared to the default raster implementation. + VGfloat maxRadius = VGfloat(vgGeti(VG_MAX_GAUSSIAN_STD_DEVIATION)); + VGfloat radiusF = VGfloat(blurRadius()) / 2.0f; + if (radiusF < 0.001f) + radiusF = 0.001f; + else if (radiusF > maxRadius) + radiusF = maxRadius; - // Apply the convolution filter using the kernel. - VGfloat values[4]; - values[0] = 0.0f; - values[1] = 0.0f; - values[2] = 0.0f; - values[3] = 0.0f; - vgSetfv(VG_TILE_FILL_COLOR, 4, values); - vgConvolve(dstImage, tmpImage, - kernelSize, kernelSize, 0, 0, - kernel.constData(), 1.0f / 1024.0f, 0.0f, - VG_TILE_FILL); + // Blur the blackened source image. + vgGaussianBlur(dstImage, tmpImage, radiusF, radiusF, VG_TILE_PAD); firstTime = false; VGImage child = VG_INVALID_HANDLE; + QRect srect; if (srcRect.isNull() || (srcRect.topLeft().isNull() && srcRect.size() == size)) { child = dstImage; + srect = QRect(0, 0, size.width(), size.height()); } else { - QRect src = srcRect.toRect(); - child = vgChildImage(dstImage, src.x(), src.y(), src.width(), src.height()); + srect = srcRect.toRect(); + child = vgChildImage(dstImage, srect.x(), srect.y(), srect.width(), srect.height()); } qt_vg_drawVGImage(painter, dest + offset(), child); @@ -333,6 +320,9 @@ void QVGPixmapDropShadowFilter::draw(QPainter *painter, const QPointF &dest, con vgDestroyImage(child); vgDestroyImage(tmpImage); vgDestroyImage(dstImage); + + // Now draw the actual pixmap over the top. + painter->drawPixmap(dest, src, srect); } QVGPixmapBlurFilter::QVGPixmapBlurFilter(QObject *parent) diff --git a/src/openvg/qpixmapfilter_vg_p.h b/src/openvg/qpixmapfilter_vg_p.h index 8bd4f7e..58111ec 100644 --- a/src/openvg/qpixmapfilter_vg_p.h +++ b/src/openvg/qpixmapfilter_vg_p.h @@ -98,10 +98,7 @@ public: private: mutable VGfloat matrix[5][4]; mutable QColor prevColor; - mutable qreal prevRadius; - mutable int kernelSize; mutable bool firstTime; - mutable QVarLengthArray kernel; }; class Q_OPENVG_EXPORT QVGPixmapBlurFilter : public QPixmapBlurFilter -- cgit v0.12 From 251459d24af17d173937820e8f20ef30ed448f6f Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 5 Oct 2009 10:33:59 +0300 Subject: Fixed sharedmemory autotest build for RVCT. Without this fix we got the following error: "line 776: Error: #254: type name is not allowed" Reviewed-by: TrustMe (cherry picked from commit c488298d4c15fb39ef960bda19f28c9ea9b9054b) --- tests/auto/qsharedmemory/tst_qsharedmemory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qsharedmemory/tst_qsharedmemory.cpp b/tests/auto/qsharedmemory/tst_qsharedmemory.cpp index c4ff76c..db86c06 100644 --- a/tests/auto/qsharedmemory/tst_qsharedmemory.cpp +++ b/tests/auto/qsharedmemory/tst_qsharedmemory.cpp @@ -773,7 +773,7 @@ void tst_QSharedMemory::simpleProcessProducerConsumer() delete consumers.takeFirst(); } QCOMPARE(consumerFailed, false); - QCOMPARE(failedProcesses, unsigned int (0)); + QCOMPARE(failedProcesses, (unsigned int)(0)); } QTEST_MAIN(tst_QSharedMemory) -- cgit v0.12 From 5850ba16e9905677af58461bb5efc7fcb43a976a Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Mon, 5 Oct 2009 09:49:53 +0200 Subject: Compile on Visual Studio 2003 Don't add export declaration for the definition of the variable. Reviewed-by: Gunnar (cherry picked from commit 1aaa11708eb0f8281e6de2c4ea6f04e5d38813e0) --- src/corelib/kernel/qmath.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/kernel/qmath.cpp b/src/corelib/kernel/qmath.cpp index 24bec4a..7c1e726 100644 --- a/src/corelib/kernel/qmath.cpp +++ b/src/corelib/kernel/qmath.cpp @@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE -Q_CORE_EXPORT const qreal qt_sine_table[QT_SINE_TABLE_SIZE] = { +const qreal qt_sine_table[QT_SINE_TABLE_SIZE] = { 0.0, 0.024541228522912288, 0.049067674327418015, -- cgit v0.12 From a4245ded41a1710d1f6b140fde66af0b5121250d Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 5 Oct 2009 10:53:57 +0300 Subject: Fixed tst_qgraphicsitem.cpp compilation for Nokia X86 compiler. Nokia X86 compiler is not able to resolve correct templated qCompare functionfor derived types. So implicit casting does nto work corectly. I have tried to add template specilations for qCompare also, but then compiler complainf about unambiguous functions. The promlem for now is fixed by adding explicit cast to same type against which the comparuion is done. Reviewed-by: TrustMe (cherry picked from commit 7655e27047790d89f9af0132946ad5db5138e7bf) --- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 9545198..e2e8c5f 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -7631,7 +7631,7 @@ void tst_QGraphicsItem::hitTestGraphicsEffectItem() QVERIFY(items.isEmpty()); items = scene.items(QPointF(80, 80)); QCOMPARE(items.size(), 1); - QCOMPARE(items.at(0), static_cast(item3)); + QCOMPARE(items.at(0), static_cast(item3)); item1->repaints = 0; item2->repaints = 0; @@ -7654,7 +7654,7 @@ void tst_QGraphicsItem::hitTestGraphicsEffectItem() QVERIFY(items.isEmpty()); items = scene.items(QPointF(80, 80)); QCOMPARE(items.size(), 1); - QCOMPARE(items.at(0), static_cast(item3)); + QCOMPARE(items.at(0), static_cast(item3)); } void tst_QGraphicsItem::focusProxy() @@ -8384,7 +8384,7 @@ void tst_QGraphicsItem::ensureDirtySceneTransform() QGraphicsView view(&scene); view.show(); QTest::qWaitForWindowShown(&view); - QTRY_COMPARE(QApplication::activeWindow(), &view); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&view)); //We move the parent parent->move(); -- cgit v0.12 From b65da11b64615d558b007d4ebc821c435af24b0f Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Mon, 5 Oct 2009 10:01:44 +0200 Subject: Disable etched text on rich text labels When rendering etched text on disabled rich text labels we would previously draw distorted links. This is basically because anything that did not render with the text foreground role would be drawn twice as a shadow. Since there is no way to properly render this text etched we will rather disable it completely when the label uses rich text. Task-number: QTBUG-4543 Reviewed-by: Simon Hausmann (cherry picked from commit d1d661a1858e28befe5980c22009702f5ea82829) --- src/gui/widgets/qlabel.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/widgets/qlabel.cpp b/src/gui/widgets/qlabel.cpp index 5ba0571..3d908a1 100644 --- a/src/gui/widgets/qlabel.cpp +++ b/src/gui/widgets/qlabel.cpp @@ -1000,8 +1000,10 @@ void QLabel::paintEvent(QPaintEvent *) d->ensureTextLayouted(); QAbstractTextDocumentLayout::PaintContext context; - - if (!isEnabled() && style->styleHint(QStyle::SH_EtchDisabledText, &opt, this)) { + if (!isEnabled() && !d->control && + // We cannot support etched for rich text controls because custom + // colors and links will override the light palette + style->styleHint(QStyle::SH_EtchDisabledText, &opt, this)) { context.palette = opt.palette; context.palette.setColor(QPalette::Text, context.palette.light().color()); painter.save(); -- cgit v0.12 From a1a1e5f064647dd012790126fd3281d59ca05d18 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Mon, 5 Oct 2009 10:20:38 +0200 Subject: Make QEventTransition works with QGraphicsObject. QStateMachine framework installs QObject event filters to catch events in order to triggers the proper transition. But installing a QObject event filter on a QGraphicsObject gives nothing because QGraphicsView events filters works differently. In order to make this works we now post events using QApplication::postEvent in addition to the QGraphicsView events. Reviewed-by:andreas (cherry picked from commit 10dba674d366260589f3b742e5b1b87ce9ddd47c) --- src/corelib/kernel/qcoreevent.h | 1 - src/gui/graphicsview/qgraphicsscene.cpp | 12 +++++++++++- src/gui/graphicsview/qgraphicswidget.cpp | 6 ------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h index a039d32..d66cead 100644 --- a/src/corelib/kernel/qcoreevent.h +++ b/src/corelib/kernel/qcoreevent.h @@ -324,7 +324,6 @@ private: friend class QGraphicsView; friend class QGraphicsViewPrivate; friend class QGraphicsScenePrivate; - friend class QGraphicsWidget; }; class Q_CORE_EXPORT QTimerEvent : public QEvent diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 1226722..961f44f 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -254,6 +254,8 @@ QT_BEGIN_NAMESPACE +bool qt_sendSpontaneousEvent(QObject *receiver, QEvent *event); + static void _q_hoverFromMouseEvent(QGraphicsSceneHoverEvent *hover, const QGraphicsSceneMouseEvent *mouseEvent) { hover->setWidget(mouseEvent->widget()); @@ -1051,7 +1053,15 @@ bool QGraphicsScenePrivate::sendEvent(QGraphicsItem *item, QEvent *event) return false; if (filterDescendantEvent(item, event)) return false; - return (item && item->isEnabled() ? item->sceneEvent(event) : false); + if (!item || !item->isEnabled()) + return false; + if (QGraphicsObject *o = item->toGraphicsObject()) { + bool spont = event->spontaneous(); + if (spont ? qt_sendSpontaneousEvent(o, event) : QApplication::sendEvent(o, event)) + return true; + event->spont = spont; + } + return item->sceneEvent(event); } /*! diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp index 224f50b..7764157 100644 --- a/src/gui/graphicsview/qgraphicswidget.cpp +++ b/src/gui/graphicsview/qgraphicswidget.cpp @@ -168,8 +168,6 @@ QT_BEGIN_NAMESPACE \sa QGraphicsProxyWidget, QGraphicsItem, {Widgets and Layouts} */ -bool qt_sendSpontaneousEvent(QObject *receiver, QEvent *event); - /*! Constructs a QGraphicsWidget instance. The optional \a parent argument is passed to QGraphicsItem's constructor. The optional \a wFlags argument @@ -1103,10 +1101,6 @@ QVariant QGraphicsWidget::propertyChange(const QString &propertyName, const QVar */ bool QGraphicsWidget::sceneEvent(QEvent *event) { - bool spont = event->spontaneous(); - if (spont ? qt_sendSpontaneousEvent(this, event) : QApplication::sendEvent(this, event)) - return true; - event->spont = spont; return QGraphicsItem::sceneEvent(event); } -- cgit v0.12 From 628946bb0912bd91f6936e87387792e068b19950 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Mon, 5 Oct 2009 11:12:59 +0200 Subject: Tooltip: reusing tooltips sometimes goes wrong We reuse tooltip whenever we can. But we forget to check if the format of the text changes inbetween (from html to plain). This causes the word wrap to fail sometimes. This change will fix that. Rev-By:MortenS (cherry picked from commit 80e47c92e0b4f506b2b57d0e58022903dc62ba3d) --- src/gui/kernel/qtooltip.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qtooltip.cpp b/src/gui/kernel/qtooltip.cpp index 2d0d209..4261808 100644 --- a/src/gui/kernel/qtooltip.cpp +++ b/src/gui/kernel/qtooltip.cpp @@ -183,7 +183,6 @@ QTipLabel::QTipLabel(const QString &text, QWidget *w) setFrameStyle(QFrame::NoFrame); setAlignment(Qt::AlignLeft); setIndent(1); - setWordWrap(Qt::mightBeRichText(text)); qApp->installEventFilter(this); setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, 0, this) / 255.0); setMouseTracking(true); @@ -208,6 +207,7 @@ void QTipLabel::reuseTip(const QString &text) } #endif + setWordWrap(Qt::mightBeRichText(text)); setText(text); QFontMetrics fm(font()); QSize extra(1, 0); -- cgit v0.12 From 314998dec983607a8af47ab247f2af40d81bb0db Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Mon, 5 Oct 2009 11:32:49 +0200 Subject: Doc fix. Reviewed-by:TrustMe (cherry picked from commit 144273fe9e2280f52f1dba0b5781a54f8b459d1e) --- src/gui/graphicsview/qsimplex_p.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/gui/graphicsview/qsimplex_p.cpp b/src/gui/graphicsview/qsimplex_p.cpp index 1ece8b1..00fc204 100644 --- a/src/gui/graphicsview/qsimplex_p.cpp +++ b/src/gui/graphicsview/qsimplex_p.cpp @@ -75,15 +75,24 @@ QT_BEGIN_NAMESPACE 3.c) Run simplex to optimize the original problem towards its optimal solution. */ +/*! + \internal +*/ QSimplex::QSimplex() : objective(0), rows(0), columns(0), firstArtificial(0), matrix(0) { } +/*! + \internal +*/ QSimplex::~QSimplex() { clearDataStructures(); } +/*! + \internal +*/ void QSimplex::clearDataStructures() { if (matrix == 0) @@ -312,11 +321,17 @@ void QSimplex::solveMaxHelper() while (iterate()) ; } +/*! + \internal +*/ void QSimplex::setObjective(QSimplexConstraint *newObjective) { objective = newObjective; } +/*! + \internal +*/ void QSimplex::clearRow(int rowIndex) { qreal *item = matrix + rowIndex * columns; @@ -324,6 +339,9 @@ void QSimplex::clearRow(int rowIndex) item[i] = 0.0; } +/*! + \internal +*/ void QSimplex::clearColumns(int first, int last) { for (int i = 0; i < rows; ++i) { @@ -333,6 +351,9 @@ void QSimplex::clearColumns(int first, int last) } } +/*! + \internal +*/ void QSimplex::dumpMatrix() { qDebug("---- Simplex Matrix ----\n"); @@ -352,6 +373,9 @@ void QSimplex::dumpMatrix() qDebug("------------------------\n"); } +/*! + \internal +*/ void QSimplex::combineRows(int toIndex, int fromIndex, qreal factor) { if (!factor) @@ -375,6 +399,9 @@ void QSimplex::combineRows(int toIndex, int fromIndex, qreal factor) } } +/*! + \internal +*/ int QSimplex::findPivotColumn() { qreal min = 0; @@ -429,6 +456,9 @@ int QSimplex::pivotRowForColumn(int column) return minIndex; } +/*! + \internal +*/ void QSimplex::reducedRowEchelon() { for (int i = 1; i < rows; ++i) { -- cgit v0.12 From 93f741bfe867b4644f4bb7d5bfc768273ed6f035 Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Mon, 5 Oct 2009 11:32:10 +0200 Subject: fix creation of qws directory when app start preceeds qvfb Change authored by Rhys. Bug introduced by the change to allow user-specific cache and pipe directories. Reviewed-by: Jeremy (cherry picked from commit af1d916b86295543b8e20be79abf48453d9c55d0) --- src/gui/embedded/qvfbhdr.h | 2 +- src/gui/kernel/qapplication_qws.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/embedded/qvfbhdr.h b/src/gui/embedded/qvfbhdr.h index eff5fc2..73b13d3 100644 --- a/src/gui/embedded/qvfbhdr.h +++ b/src/gui/embedded/qvfbhdr.h @@ -70,7 +70,7 @@ QT_MODULE(Gui) .append("/qt_soundserver") #define QTE_PIPE(DISPLAY) QT_VFB_DATADIR(DISPLAY) \ .append("/QtEmbedded") -#define QTE_PIPE_QVFB QTE_PIPE +#define QTE_PIPE_QVFB(DISPLAY) QTE_PIPE(DISPLAY) #else #define QT_VFB_DATADIR(DISPLAY) QString("%1/qtembedded-%2") \ .arg(QT_QWS_TEMP_DIR).arg(DISPLAY) diff --git a/src/gui/kernel/qapplication_qws.cpp b/src/gui/kernel/qapplication_qws.cpp index 634f23a..167beb2 100644 --- a/src/gui/kernel/qapplication_qws.cpp +++ b/src/gui/kernel/qapplication_qws.cpp @@ -232,6 +232,7 @@ QString qws_dataDir() // Get the filename of the pipe Qt for Embedded Linux uses for server/client comms Q_GUI_EXPORT QString qws_qtePipeFilename() { + qws_dataDir(); return QTE_PIPE(qws_display_id); } -- cgit v0.12 From a30f64e613aa5899b3c80206a2f0d55f3116357e Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Mon, 5 Oct 2009 11:02:24 +0200 Subject: Added autotest for qFastSin() and qFastCos(). Reviewed-by: Trond (cherry picked from commit a3e74ba189475d606f2a7a07f52591fd312a45c9) --- tests/auto/auto.pro | 1 + tests/auto/qmath/qmath.pro | 6 ++++ tests/auto/qmath/tst_qmath.cpp | 67 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 tests/auto/qmath/qmath.pro create mode 100644 tests/auto/qmath/tst_qmath.cpp diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 9321e19..f3ecdae 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -203,6 +203,7 @@ SUBDIRS += \ qmainwindow \ qmake \ qmap \ + qmath \ qmatrixnxn \ qmdiarea \ qmdisubwindow \ diff --git a/tests/auto/qmath/qmath.pro b/tests/auto/qmath/qmath.pro new file mode 100644 index 0000000..03134ee --- /dev/null +++ b/tests/auto/qmath/qmath.pro @@ -0,0 +1,6 @@ +load(qttest_p4) + +QT = core + +SOURCES += tst_qmath.cpp +QT = core diff --git a/tests/auto/qmath/tst_qmath.cpp b/tests/auto/qmath/tst_qmath.cpp new file mode 100644 index 0000000..efc7cfa --- /dev/null +++ b/tests/auto/qmath/tst_qmath.cpp @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +static const qreal PI = 3.14159265358979323846264338327950288; + +class tst_QMath : public QObject +{ + Q_OBJECT +private slots: + void fastSinCos(); +}; + +void tst_QMath::fastSinCos() +{ + // Test evenly spaced angles from 0 to 2pi radians. + const int LOOP_COUNT = 100000; + for (int i = 0; i < LOOP_COUNT; ++i) { + qreal angle = i * 2 * PI / (LOOP_COUNT - 1); + QVERIFY(qAbs(qSin(angle) - qFastSin(angle)) < 1e-5); + QVERIFY(qAbs(qCos(angle) - qFastCos(angle)) < 1e-5); + } +} + +QTEST_APPLESS_MAIN(tst_QMath) + +#include "tst_qmath.moc" -- cgit v0.12 From f17dc09850525392bb373f5eeb432db32b618adb Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 5 Oct 2009 12:36:32 +0300 Subject: Changed Qt package name in pkg and generated sis files for Symbian. It was decided on weekly telco that Symbian pkg and sis files can use plain Qt name, since it is already clear that user is installing "Qt for Symbian" version of Qt. Task-number: QT-772 Reviewed-by: Miikka Heikkinen (cherry picked from commit a3ef6e080980e242dd7703c48a628ad821549991) --- mkspecs/features/symbian/qt.prf | 8 ++++---- src/s60installs/s60installs.pro | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/mkspecs/features/symbian/qt.prf b/mkspecs/features/symbian/qt.prf index 3b24355..0f5b08b 100644 --- a/mkspecs/features/symbian/qt.prf +++ b/mkspecs/features/symbian/qt.prf @@ -21,13 +21,13 @@ load(qt) # INCLUDEPATH = $$PREPEND_INCLUDEPATH $$INCLUDEPATH -# Add dependency to QtLibs package to all other projects besides QtLibs. -# Note: QtLibs with full capabilities has UID3 of 0x2001E61C, -# while self-signed version typically has temporary UID3 of 0xE001E61C. +# Add dependency to Qt package to all other projects besides Qt libs. +# Note: Qt libs with full capabilities has UID3 of 0x2001E61C, +# while self-signed version typically has temporary UID3 of 0xE001E61C. contains(CONFIG, qt):!contains(TARGET.UID3, 0x2001E61C):!contains(TARGET.UID3, 0xE001E61C) { default_deployment.pkg_prerules += \ "; Default dependency to Qt libraries" \ - "(0x2001E61C), $${QT_MAJOR_VERSION}, $${QT_MINOR_VERSION}, $${QT_PATCH_VERSION}, {\"QtLibs pre-release\"}" + "(0x2001E61C), $${QT_MAJOR_VERSION}, $${QT_MINOR_VERSION}, $${QT_PATCH_VERSION}, {\"Qt\"}" } isEmpty(TARGET.EPOCSTACKSIZE):TARGET.EPOCSTACKSIZE = 0x14000 diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index d21c524..3aef05e 100644 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro @@ -7,7 +7,7 @@ symbian: { SUBDIRS= # WARNING: Changing TARGET name will break Symbian SISX upgrade functionality # DO NOT TOUCH TARGET VARIABLE IF YOU ARE NOT SURE WHAT YOU ARE DOING - TARGET = "Qt for S60" + TARGET = "Qt" TARGET.UID3 = 0x2001E61C VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION} @@ -29,12 +29,12 @@ symbian: { "ELSEIF package(0x102752AE)" \ " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_3_2.dll\" - \"!:\\sys\\bin\\qts60plugin_3_2.dll\"" \ "ELSEIF package(0x102032BE)" \ - " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_3_1.dll\" - \"!:\\sys\\bin\\qts60plugin_3_1.dll\"" \ - "ELSE" \ + " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_3_1.dll\" - \"!:\\sys\\bin\\qts60plugin_3_1.dll\"" \ + "ELSE" \ " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_5_0.dll\" - \"!:\\sys\\bin\\qts60plugin_5_0.dll\"" \ - "ENDIF" - qtlibraries.pkg_postrules += qts60plugindeployment - + "ENDIF" + qtlibraries.pkg_postrules += qts60plugindeployment + sqlitedeployment = \ "; EXISTS statement does not resolve !. Lets check the most common drives" \ "IF NOT EXISTS(\"c:\\sys\\bin\\sqlite3.dll\") AND NOT EXISTS(\"e:\\sys\\bin\\sqlite3.dll\") AND NOT EXISTS(\"z:\\sys\\bin\\sqlite3.dll\")" \ -- cgit v0.12 From e9a205a61f1c4a352e8a46d749b0a7984527e380 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 1 Oct 2009 11:29:34 +0200 Subject: Autotest: Don't run 15 and 35 threads on Windows CE. The device can't cope, so let's keep only the small thread count tests there. Reviewed-by: Trust Me (cherry picked from commit c5352705d933e76df6d40f01a5e6803bc4106b93) --- tests/auto/qsharedpointer/tst_qsharedpointer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp index fa63c4b..94c3aaa 100644 --- a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp +++ b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp @@ -1448,10 +1448,11 @@ void tst_QSharedPointer::threadStressTest_data() QTest::newRow("1+1") << 1 << 1; QTest::newRow("2+10") << 2 << 10; +#ifndef Q_OS_WINCE + // Windows CE cannot run this many threads QTest::newRow("5+10") << 5 << 10; QTest::newRow("5+30") << 5 << 30; -#ifndef Q_OS_WINCE QTest::newRow("100+100") << 100 << 100; #endif } -- cgit v0.12 From 6608061ac0235814ab9522fea84b1cf5366799c3 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 1 Oct 2009 11:36:19 +0200 Subject: Autotest: disable the forwardDeclared1 test in WinSCW too. It also invokes the destructor directly, even on forward-declared types. That must be an ABI convention. This test isn't reliable. Reviewed-by: TrustMe (cherry picked from commit 1d01065f3c88701eeed8018c2125b0170d057b52) --- tests/auto/qsharedpointer/tst_qsharedpointer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp index 94c3aaa..58eaacb 100644 --- a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp +++ b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp @@ -308,7 +308,7 @@ extern int forwardDeclaredDestructorRunCount; void tst_QSharedPointer::forwardDeclaration1() { -#if defined(Q_CC_SUN) +#if defined(Q_CC_SUN) || defined(Q_CC_WINSCW) || defined(Q_CC_RVCT) QSKIP("This type of forward declaration is not valid with this compiler", SkipAll); #else externalForwardDeclaration(); -- cgit v0.12 From 377160bbe4a61b9b358120006c8a7b152618ae1c Mon Sep 17 00:00:00 2001 From: "Andre Moreira Magalhaes (andrunko)" Date: Wed, 30 Sep 2009 16:20:17 -0300 Subject: Added operator== for QDBusArgument. Reviewed-By: Thiago Macieira Merge-Request: 1657 (cherry picked from commit 429c7c6760c100685e9800b89fca7f0afd2d8abc) --- src/dbus/qdbusextratypes.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/dbus/qdbusextratypes.h b/src/dbus/qdbusextratypes.h index c95537b..69dcc8a 100644 --- a/src/dbus/qdbusextratypes.h +++ b/src/dbus/qdbusextratypes.h @@ -174,6 +174,9 @@ inline QDBusVariant::QDBusVariant(const QVariant &dBusVariant) inline void QDBusVariant::setVariant(const QVariant &dBusVariant) { QVariant::operator=(dBusVariant); } +inline bool operator==(const QDBusVariant &v1, const QDBusVariant &v2) +{ return v1.variant() == v2.variant(); } + QT_END_NAMESPACE Q_DECLARE_METATYPE(QDBusVariant) -- cgit v0.12 From 136461523e1ff6f0266bec22b29f1cad3dc3d310 Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Mon, 5 Oct 2009 11:49:54 +0200 Subject: Simplification and use of QGraphicsObject in sub-attas demo Reviewed-by: alexis (cherry picked from commit 32a9237c49fd126bee0cbe02c3c5bff5145a6e21) --- demos/sub-attaq/animationmanager.cpp | 6 +- demos/sub-attaq/boat.cpp | 92 ++++--------- demos/sub-attaq/boat.h | 12 +- demos/sub-attaq/boat_p.h | 50 ++----- demos/sub-attaq/bomb.cpp | 16 +-- demos/sub-attaq/bomb.h | 16 +-- demos/sub-attaq/custompropertyanimation.cpp | 108 --------------- demos/sub-attaq/custompropertyanimation.h | 114 ---------------- demos/sub-attaq/graphicsscene.cpp | 196 +++++++--------------------- demos/sub-attaq/graphicsscene.h | 13 +- demos/sub-attaq/mainwindow.cpp | 31 ++--- demos/sub-attaq/mainwindow.h | 1 - demos/sub-attaq/pixmapitem.cpp | 33 +++-- demos/sub-attaq/pixmapitem.h | 14 +- demos/sub-attaq/states.cpp | 39 ++---- demos/sub-attaq/states.h | 2 - demos/sub-attaq/sub-attaq.pro | 2 - demos/sub-attaq/submarine.cpp | 62 ++------- demos/sub-attaq/submarine.h | 11 +- demos/sub-attaq/submarine_p.h | 1 - demos/sub-attaq/torpedo.cpp | 20 +-- demos/sub-attaq/torpedo.h | 16 +-- 22 files changed, 181 insertions(+), 674 deletions(-) delete mode 100644 demos/sub-attaq/custompropertyanimation.cpp delete mode 100644 demos/sub-attaq/custompropertyanimation.h diff --git a/demos/sub-attaq/animationmanager.cpp b/demos/sub-attaq/animationmanager.cpp index 916dd21..eb5a125 100644 --- a/demos/sub-attaq/animationmanager.cpp +++ b/demos/sub-attaq/animationmanager.cpp @@ -77,16 +77,14 @@ void AnimationManager::unregisterAllAnimations() void AnimationManager::pauseAll() { - foreach (QAbstractAnimation* animation, animations) - { + foreach (QAbstractAnimation* animation, animations) { if (animation->state() == QAbstractAnimation::Running) animation->pause(); } } void AnimationManager::resumeAll() { - foreach (QAbstractAnimation* animation, animations) - { + foreach (QAbstractAnimation* animation, animations) { if (animation->state() == QAbstractAnimation::Paused) animation->resume(); } diff --git a/demos/sub-attaq/boat.cpp b/demos/sub-attaq/boat.cpp index 864a099..3b1bac7 100644 --- a/demos/sub-attaq/boat.cpp +++ b/demos/sub-attaq/boat.cpp @@ -46,7 +46,6 @@ #include "pixmapitem.h" #include "graphicsscene.h" #include "animationmanager.h" -#include "custompropertyanimation.h" #include "qanimationstate.h" //Qt @@ -60,79 +59,35 @@ static QAbstractAnimation *setupDestroyAnimation(Boat *boat) { QSequentialAnimationGroup *group = new QSequentialAnimationGroup(boat); -#if QT_VERSION >=0x040500 - PixmapItem *step1 = new PixmapItem(QString("explosion/boat/step1"),GraphicsScene::Big, boat); - step1->setZValue(6); - PixmapItem *step2 = new PixmapItem(QString("explosion/boat/step2"),GraphicsScene::Big, boat); - step2->setZValue(6); - PixmapItem *step3 = new PixmapItem(QString("explosion/boat/step3"),GraphicsScene::Big, boat); - step3->setZValue(6); - PixmapItem *step4 = new PixmapItem(QString("explosion/boat/step4"),GraphicsScene::Big, boat); - step4->setZValue(6); - step1->setOpacity(0); - step2->setOpacity(0); - step3->setOpacity(0); - step4->setOpacity(0); - CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(boat); - anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim1->setDuration(100); - anim1->setEndValue(1); - CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(boat); - anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim2->setDuration(100); - anim2->setEndValue(1); - CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(boat); - anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim3->setDuration(100); - anim3->setEndValue(1); - CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(boat); - anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim4->setDuration(100); - anim4->setEndValue(1); - CustomPropertyAnimation *anim5 = new CustomPropertyAnimation(boat); - anim5->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim5->setDuration(100); - anim5->setEndValue(0); - CustomPropertyAnimation *anim6 = new CustomPropertyAnimation(boat); - anim6->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim6->setDuration(100); - anim6->setEndValue(0); - CustomPropertyAnimation *anim7 = new CustomPropertyAnimation(boat); - anim7->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim7->setDuration(100); - anim7->setEndValue(0); - CustomPropertyAnimation *anim8 = new CustomPropertyAnimation(boat); - anim8->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim8->setDuration(100); - anim8->setEndValue(0); - group->addAnimation(anim1); - group->addAnimation(anim2); - group->addAnimation(anim3); - group->addAnimation(anim4); - group->addAnimation(anim5); - group->addAnimation(anim6); - group->addAnimation(anim7); - group->addAnimation(anim8); -#else - // work around for a bug where we don't transition if the duration is zero. - QtPauseAnimation *anim = new QtPauseAnimation(group); - anim->setDuration(1); - group->addAnimation(anim); -#endif + for (int i = 1; i <= 4; i++) { + PixmapItem *step = new PixmapItem(QString("explosion/boat/step%1").arg(i),GraphicsScene::Big, boat); + step->setZValue(6); + step->setOpacity(0); + + //fade-in + QPropertyAnimation *anim = new QPropertyAnimation(step, "opacity"); + anim->setEndValue(1); + anim->setDuration(100); + group->insertAnimationAt(i-1, anim); + + //and then fade-out + QPropertyAnimation *anim2 = new QPropertyAnimation(step, "opacity"); + anim2->setEndValue(0); + anim2->setDuration(100); + group->addAnimation(anim2); + } + AnimationManager::self()->registerAnimation(group); return group; } -Boat::Boat(QGraphicsItem * parent, Qt::WindowFlags wFlags) - : QGraphicsWidget(parent,wFlags), speed(0), bombsAlreadyLaunched(0), direction(Boat::None), movementAnimation(0) +Boat::Boat() : PixmapItem(QString("boat"), GraphicsScene::Big), + speed(0), bombsAlreadyLaunched(0), direction(Boat::None), movementAnimation(0) { - pixmapItem = new PixmapItem(QString("boat"),GraphicsScene::Big, this); setZValue(4); - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsFocusable); - resize(pixmapItem->boundingRect().size()); + setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsFocusable); //The movement animation used to animate the boat movementAnimation = new QPropertyAnimation(this, "pos"); @@ -223,13 +178,13 @@ Boat::Boat(QGraphicsItem * parent, Qt::WindowFlags wFlags) destroyedState->setAnimation(destroyAnimation); //Play a nice animation when the boat is destroyed - moving->addTransition(this, SIGNAL(boatDestroyed()),destroyedState); + moving->addTransition(this, SIGNAL(boatDestroyed()), destroyedState); //Transition to final state when the destroyed animation is finished destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final); //The machine has finished to be executed, then the boat is dead - connect(machine,SIGNAL(finished()),this, SIGNAL(boatExecutionFinished())); + connect(machine,SIGNAL(finished()), this, SIGNAL(boatExecutionFinished())); } @@ -255,7 +210,6 @@ void Boat::updateBoatMovement() } movementAnimation->stop(); - movementAnimation->setStartValue(pos()); if (direction == Boat::Left) { movementAnimation->setEndValue(QPointF(0,y())); diff --git a/demos/sub-attaq/boat.h b/demos/sub-attaq/boat.h index 0fe8ce4..0b4de1e 100644 --- a/demos/sub-attaq/boat.h +++ b/demos/sub-attaq/boat.h @@ -42,13 +42,8 @@ #ifndef __BOAT__H__ #define __BOAT__H__ -//Qt -#include -#include +#include "pixmapitem.h" -#include - -class PixmapItem; class Bomb; QT_BEGIN_NAMESPACE class QVariantAnimation; @@ -56,7 +51,7 @@ class QAbstractAnimation; class QStateMachine; QT_END_NAMESPACE -class Boat : public QGraphicsWidget +class Boat : public PixmapItem { Q_OBJECT public: @@ -66,7 +61,7 @@ public: Right }; enum { Type = UserType + 2 }; - Boat(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); + Boat(); void destroy(); void run(); void stop(); @@ -95,7 +90,6 @@ private: QVariantAnimation *movementAnimation; QAbstractAnimation *destroyAnimation; QStateMachine *machine; - PixmapItem *pixmapItem; }; #endif //__BOAT__H__ diff --git a/demos/sub-attaq/boat_p.h b/demos/sub-attaq/boat_p.h index 692702b..6eb52b6 100644 --- a/demos/sub-attaq/boat_p.h +++ b/demos/sub-attaq/boat_p.h @@ -67,22 +67,16 @@ static const int MAX_BOMB = 5; class KeyStopTransition : public QKeyEventTransition { public: - KeyStopTransition(Boat *boat, QEvent::Type type, int key) - : QKeyEventTransition(boat, type, key) + KeyStopTransition(Boat *b, QEvent::Type t, int k) + : QKeyEventTransition(b, t, k), boat(b), key(k) { - this->boat = boat; - this->key = key; } protected: virtual bool eventTest(QEvent *event) { - Q_UNUSED(event); if (!QKeyEventTransition::eventTest(event)) return false; - if (boat->currentSpeed() == 1) - return true; - else - return false; + return (boat->currentSpeed() == 1); } private: Boat * boat; @@ -93,23 +87,16 @@ private: class KeyMoveTransition : public QKeyEventTransition { public: - KeyMoveTransition(Boat *boat, QEvent::Type type, int key) - : QKeyEventTransition(boat, type, key) + KeyMoveTransition(Boat *b, QEvent::Type t, int k) + : QKeyEventTransition(b, t, k), boat(b), key(k) { - this->boat = boat; - this->key = key; } protected: virtual bool eventTest(QEvent *event) { - Q_UNUSED(event); if (!QKeyEventTransition::eventTest(event)) return false; - if (boat->currentSpeed() >= 0) - return true; - else - return false; - + return (boat->currentSpeed() >= 0); } void onTransition(QEvent *) { @@ -132,22 +119,16 @@ private: { public: KeyLaunchTransition(Boat *boat, QEvent::Type type, int key) - : QKeyEventTransition(boat, type, key) + : QKeyEventTransition(boat, type, key), boat(boat), key(key) { - this->boat = boat; - this->key = key; } protected: virtual bool eventTest(QEvent *event) { - Q_UNUSED(event); if (!QKeyEventTransition::eventTest(event)) return false; //We have enough bomb? - if (boat->bombsLaunched() < MAX_BOMB) - return true; - else - return false; + return (boat->bombsLaunched() < MAX_BOMB); } private: Boat * boat; @@ -158,9 +139,8 @@ private: class MoveStateRight : public QState { public: - MoveStateRight(Boat *boat,QState *parent = 0) : QState(parent) + MoveStateRight(Boat *boat,QState *parent = 0) : QState(parent), boat(boat) { - this->boat = boat; } protected: void onEntry(QEvent *) @@ -176,9 +156,8 @@ private: class MoveStateLeft : public QState { public: - MoveStateLeft(Boat *boat,QState *parent = 0) : QState(parent) + MoveStateLeft(Boat *boat,QState *parent = 0) : QState(parent), boat(boat) { - this->boat = boat; } protected: void onEntry(QEvent *) @@ -194,9 +173,8 @@ private: class StopState : public QState { public: - StopState(Boat *boat,QState *parent = 0) : QState(parent) + StopState(Boat *boat,QState *parent = 0) : QState(parent), boat(boat) { - this->boat = boat; } protected: void onEntry(QEvent *) @@ -213,9 +191,8 @@ private: class LaunchStateRight : public QState { public: - LaunchStateRight(Boat *boat,QState *parent = 0) : QState(parent) + LaunchStateRight(Boat *boat,QState *parent = 0) : QState(parent), boat(boat) { - this->boat = boat; } protected: void onEntry(QEvent *) @@ -235,9 +212,8 @@ private: class LaunchStateLeft : public QState { public: - LaunchStateLeft(Boat *boat,QState *parent = 0) : QState(parent) + LaunchStateLeft(Boat *boat,QState *parent = 0) : QState(parent), boat(boat) { - this->boat = boat; } protected: void onEntry(QEvent *) diff --git a/demos/sub-attaq/bomb.cpp b/demos/sub-attaq/bomb.cpp index d17024f..acc3475 100644 --- a/demos/sub-attaq/bomb.cpp +++ b/demos/sub-attaq/bomb.cpp @@ -52,19 +52,14 @@ #include #include -Bomb::Bomb(QGraphicsItem * parent, Qt::WindowFlags wFlags) - : QGraphicsWidget(parent,wFlags), launchAnimation(0) +Bomb::Bomb() : PixmapItem(QString("bomb"), GraphicsScene::Big) { - pixmapItem = new PixmapItem(QString("bomb"),GraphicsScene::Big, this); - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - setFlags(QGraphicsItem::ItemIsMovable); setZValue(2); - resize(pixmapItem->boundingRect().size()); } void Bomb::launch(Bomb::Direction direction) { - launchAnimation = new QSequentialAnimationGroup(); + QSequentialAnimationGroup *launchAnimation = new QSequentialAnimationGroup; AnimationManager::self()->registerAnimation(launchAnimation); qreal delta = direction == Right ? 20 : - 20; QPropertyAnimation *anim = new QPropertyAnimation(this, "pos"); @@ -80,7 +75,7 @@ void Bomb::launch(Bomb::Direction direction) anim->setDuration(y()/2*60); launchAnimation->addAnimation(anim); connect(anim,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &))); - + connect(this, SIGNAL(bombExploded()), launchAnimation, SLOT(stop())); //We setup the state machine of the bomb QStateMachine *machine = new QStateMachine(this); @@ -94,7 +89,7 @@ void Bomb::launch(Bomb::Direction direction) machine->setInitialState(launched); //### Add a nice animation when the bomb is destroyed - launched->addTransition(this, SIGNAL(bombExplosed()),final); + launched->addTransition(this, SIGNAL(bombExploded()),final); //If the animation is finished, then we move to the final state launched->addTransition(launched, SIGNAL(animationFinished()), final); @@ -119,6 +114,5 @@ void Bomb::onAnimationLaunchValueChanged(const QVariant &) void Bomb::destroy() { - launchAnimation->stop(); - emit bombExplosed(); + emit bombExploded(); } diff --git a/demos/sub-attaq/bomb.h b/demos/sub-attaq/bomb.h index f5b221c..ec059b5 100644 --- a/demos/sub-attaq/bomb.h +++ b/demos/sub-attaq/bomb.h @@ -42,13 +42,9 @@ #ifndef __BOMB__H__ #define __BOMB__H__ -//Qt -#include -#include +#include "pixmapitem.h" -class PixmapItem; - -class Bomb : public QGraphicsWidget +class Bomb : public PixmapItem { Q_OBJECT public: @@ -56,20 +52,16 @@ public: Left = 0, Right }; - Bomb(QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0); + Bomb(); void launch(Direction direction); void destroy(); signals: - void bombExplosed(); + void bombExploded(); void bombExecutionFinished(); private slots: void onAnimationLaunchValueChanged(const QVariant &); - -private: - QAnimationGroup *launchAnimation; - PixmapItem *pixmapItem; }; #endif //__BOMB__H__ diff --git a/demos/sub-attaq/custompropertyanimation.cpp b/demos/sub-attaq/custompropertyanimation.cpp deleted file mode 100644 index 9b435f0..0000000 --- a/demos/sub-attaq/custompropertyanimation.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "custompropertyanimation.h" - -// Qt -#include - -CustomPropertyAnimation::CustomPropertyAnimation(QObject *parent) : - QVariantAnimation(parent), animProp(0) -{ -} - -CustomPropertyAnimation::~CustomPropertyAnimation() -{ -} - -void CustomPropertyAnimation::setProperty(AbstractProperty *_animProp) -{ - if (animProp == _animProp) - return; - delete animProp; - animProp = _animProp; -} - -/*! - \reimp - */ -void CustomPropertyAnimation::updateCurrentValue(const QVariant &value) -{ - if (!animProp || state() == QAbstractAnimation::Stopped) - return; - - animProp->write(value); -} - - -/*! - \reimp -*/ -void CustomPropertyAnimation::updateState(QAbstractAnimation::State oldState, QAbstractAnimation::State newState) -{ - // Initialize start value - if (oldState == QAbstractAnimation::Stopped) { - if (!animProp) - return; - QVariant def = animProp->read(); - if (def.isValid()) { - const int t = def.userType(); - KeyValues values = keyValues(); - //this ensures that all the keyValues are of type t - for (int i = 0; i < values.count(); ++i) { - QVariantAnimation::KeyValue &pair = values[i]; - if (pair.second.userType() != t) - pair.second.convert(static_cast(t)); - } - //let's now update the key values - setKeyValues(values); - } - - if ((animProp && !startValue().isValid() && currentTime() == 0) - || (currentTime() == duration() && currentLoop() == (loopCount() - 1))) { - setStartValue(def); - } - } - - QVariantAnimation::updateState(oldState, newState); -} - -#include "moc_custompropertyanimation.cpp" diff --git a/demos/sub-attaq/custompropertyanimation.h b/demos/sub-attaq/custompropertyanimation.h deleted file mode 100644 index 0c97bf0..0000000 --- a/demos/sub-attaq/custompropertyanimation.h +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef CUSTOMPROPERTYANIMATION_H -#define CUSTOMPROPERTYANIMATION_H - -#include - -QT_BEGIN_NAMESPACE -class QGraphicsItem; -QT_END_NAMESPACE - -struct AbstractProperty -{ - virtual QVariant read() const = 0; - virtual void write(const QVariant &value) = 0; -}; - - -class CustomPropertyAnimation : public QVariantAnimation -{ - Q_OBJECT - - template - class MemberFunctionProperty : public AbstractProperty - { - public: - typedef T (Target::*Getter)(void) const; - typedef void (Target::*Setter)(T2); - - MemberFunctionProperty(Target* target, Getter getter, Setter setter) - : m_target(target), m_getter(getter), m_setter(setter) {} - - virtual void write(const QVariant &value) - { - if (m_setter) (m_target->*m_setter)(qVariantValue(value)); - } - - virtual QVariant read() const - { - if (m_getter) return qVariantFromValue((m_target->*m_getter)()); - return QVariant(); - } - - private: - Target *m_target; - Getter m_getter; - Setter m_setter; - }; - -public: - CustomPropertyAnimation(QObject *parent = 0); - ~CustomPropertyAnimation(); - - template - void setMemberFunctions(Target* target, T (Target::*getter)() const, void (Target::*setter)(const T& )) - { - setProperty(new MemberFunctionProperty(target, getter, setter)); - } - - template - void setMemberFunctions(Target* target, T (Target::*getter)() const, void (Target::*setter)(T)) - { - setProperty(new MemberFunctionProperty(target, getter, setter)); - } - - void updateCurrentValue(const QVariant &value); - void updateState(QAbstractAnimation::State oldState, QAbstractAnimation::State newState); - void setProperty(AbstractProperty *animProp); - -private: - Q_DISABLE_COPY(CustomPropertyAnimation); - AbstractProperty *animProp; -}; - -#endif // CUSTOMPROPERTYANIMATION_H diff --git a/demos/sub-attaq/graphicsscene.cpp b/demos/sub-attaq/graphicsscene.cpp index e5d7aad..812eadf 100644 --- a/demos/sub-attaq/graphicsscene.cpp +++ b/demos/sub-attaq/graphicsscene.cpp @@ -47,7 +47,6 @@ #include "torpedo.h" #include "bomb.h" #include "pixmapitem.h" -#include "custompropertyanimation.h" #include "animationmanager.h" #include "qanimationstate.h" #include "progressitem.h" @@ -68,39 +67,10 @@ #include #include -//helper function that creates an animation for position and inserts it into group -static CustomPropertyAnimation *addGraphicsItemPosAnimation(QSequentialAnimationGroup *group, - QGraphicsItem *item, const QPointF &endPos) -{ - CustomPropertyAnimation *ret = new CustomPropertyAnimation(group); - ret->setMemberFunctions(item, &QGraphicsItem::pos, &QGraphicsItem::setPos); - ret->setEndValue(endPos); - ret->setDuration(200); - ret->setEasingCurve(QEasingCurve::OutElastic); - group->addPause(50); - return ret; -} - -//helper function that creates an animation for opacity and inserts it into group -static void addGraphicsItemFadeoutAnimation(QAnimationGroup *group, QGraphicsItem *item) -{ -#if QT_VERSION >=0x040500 - CustomPropertyAnimation *anim = new CustomPropertyAnimation(group); - anim->setMemberFunctions(item, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim->setDuration(800); - anim->setEndValue(0); - anim->setEasingCurve(QEasingCurve::OutQuad); -#else - // work around for a bug where we don't transition if the duration is zero. - QtPauseAnimation *anim = new QtPauseAnimation(group); - anim->setDuration(1); -#endif -} - GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode) - : QGraphicsScene(x,y,width,height), mode(mode), newAction(0), quitAction(0), boat(0) + : QGraphicsScene(x , y, width, height), mode(mode), boat(new Boat) { - backgroundItem = new PixmapItem(QString("background"),mode); + PixmapItem *backgroundItem = new PixmapItem(QString("background"),mode); backgroundItem->setZValue(1); backgroundItem->setPos(0,0); addItem(backgroundItem); @@ -116,7 +86,6 @@ GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode) textInformationItem = new TextInformationItem(backgroundItem); textInformationItem->hide(); //We create the boat - boat = new Boat(); addItem(boat); boat->setPos(this->width()/2, sealLevel() - boat->size().height()); boat->hide(); @@ -130,28 +99,21 @@ GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode) while (!reader.atEnd()) { reader.readNext(); if (reader.tokenType() == QXmlStreamReader::StartElement) { - if (reader.name() == "submarine") - { + if (reader.name() == "submarine") { SubmarineDescription desc; desc.name = reader.attributes().value("name").toString(); desc.points = reader.attributes().value("points").toString().toInt(); desc.type = reader.attributes().value("type").toString().toInt(); submarinesData.append(desc); - } - if (reader.name() == "level") - { + } else if (reader.name() == "level") { currentLevel.id = reader.attributes().value("id").toString().toInt(); currentLevel.name = reader.attributes().value("name").toString(); + } else if (reader.name() == "subinstance") { + currentLevel.submarines.append(qMakePair(reader.attributes().value("type").toString().toInt(), reader.attributes().value("nb").toString().toInt())); } - if (reader.name() == "subinstance") - { - currentLevel.submarines.append(qMakePair(reader.attributes().value("type").toString().toInt(),reader.attributes().value("nb").toString().toInt())); - } - } - if (reader.tokenType() == QXmlStreamReader::EndElement) { - if (reader.name() == "level") - { - levelsData.insert(currentLevel.id,currentLevel); + } else if (reader.tokenType() == QXmlStreamReader::EndElement) { + if (reader.name() == "level") { + levelsData.insert(currentLevel.id, currentLevel); currentLevel.submarines.clear(); } } @@ -160,80 +122,52 @@ GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode) qreal GraphicsScene::sealLevel() const { - if (mode == Big) - return 220; - else - return 160; + return (mode == Big) ? 220 : 160; } -void GraphicsScene::setupScene(const QList &actions) +void GraphicsScene::setupScene(QAction *newAction, QAction *quitAction) { - newAction = actions.at(0); - quitAction = actions.at(1); - - QGraphicsItem *logo_s = addWelcomeItem(QPixmap(":/logo-s")); - QGraphicsItem *logo_u = addWelcomeItem(QPixmap(":/logo-u")); - QGraphicsItem *logo_b = addWelcomeItem(QPixmap(":/logo-b")); - QGraphicsItem *logo_dash = addWelcomeItem(QPixmap(":/logo-dash")); - QGraphicsItem *logo_a = addWelcomeItem(QPixmap(":/logo-a")); - QGraphicsItem *logo_t = addWelcomeItem(QPixmap(":/logo-t")); - QGraphicsItem *logo_t2 = addWelcomeItem(QPixmap(":/logo-t2")); - QGraphicsItem *logo_a2 = addWelcomeItem(QPixmap(":/logo-a2")); - QGraphicsItem *logo_q = addWelcomeItem(QPixmap(":/logo-q")); - QGraphicsItem *logo_excl = addWelcomeItem(QPixmap(":/logo-excl")); - logo_s->setZValue(3); - logo_u->setZValue(4); - logo_b->setZValue(5); - logo_dash->setZValue(6); - logo_a->setZValue(7); - logo_t->setZValue(8); - logo_t2->setZValue(9); - logo_a2->setZValue(10); - logo_q->setZValue(11); - logo_excl->setZValue(12); - logo_s->setPos(QPointF(-1000, -1000)); - logo_u->setPos(QPointF(-800, -1000)); - logo_b->setPos(QPointF(-600, -1000)); - logo_dash->setPos(QPointF(-400, -1000)); - logo_a->setPos(QPointF(1000, 2000)); - logo_t->setPos(QPointF(800, 2000)); - logo_t2->setPos(QPointF(600, 2000)); - logo_a2->setPos(QPointF(400, 2000)); - logo_q->setPos(QPointF(200, 2000)); - logo_excl->setPos(QPointF(0, 2000)); + static const int nLetters = 10; + static struct { + char *pix; + qreal initX, initY; + qreal destX, destY; + } logoData[nLetters] = { + {"s", -1000, -1000, 300, 150 }, + {"u", -800, -1000, 350, 150 }, + {"b", -600, -1000, 400, 120 }, + {"dash", -400, -1000, 460, 150 }, + {"a", 1000, 2000, 350, 250 }, + {"t", 800, 2000, 400, 250 }, + {"t2", 600, 2000, 430, 250 }, + {"a2", 400, 2000, 465, 250 }, + {"q", 200, 2000, 510, 250 }, + {"excl", 0, 2000, 570, 220 } }; QSequentialAnimationGroup * lettersGroupMoving = new QSequentialAnimationGroup(this); QParallelAnimationGroup * lettersGroupFading = new QParallelAnimationGroup(this); - //creation of the animations for moving letters - addGraphicsItemPosAnimation(lettersGroupMoving, logo_s, QPointF(300, 150)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_u, QPointF(350, 150)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_b, QPointF(400, 120)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_dash, QPointF(460, 150)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_a, QPointF(350, 250)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_t, QPointF(400, 250)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_t2, QPointF(430, 250)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_a2, QPointF(465, 250)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_q, QPointF(510, 250)); - addGraphicsItemPosAnimation(lettersGroupMoving, logo_excl, QPointF(570, 220)); - - //creation of the animations for fading out the letters - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_s); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_u); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_b); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_dash); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t2); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a2); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_q); - addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_excl); - connect(lettersGroupFading, SIGNAL(finished()), this, SLOT(onIntroAnimationFinished())); + for (int i = 0; i < nLetters; ++i) { + PixmapItem *logo = new PixmapItem(QLatin1String(":/logo-") + logoData[i].pix, this); + logo->setPos(logoData[i].initX, logoData[i].initY); + logo->setZValue(i + 3); + //creation of the animations for moving letters + QPropertyAnimation *moveAnim = new QPropertyAnimation(logo, "pos", lettersGroupMoving); + moveAnim->setEndValue(QPointF(logoData[i].destX, logoData[i].destY)); + moveAnim->setDuration(200); + moveAnim->setEasingCurve(QEasingCurve::OutElastic); + lettersGroupMoving->addPause(50); + //creation of the animations for fading out the letters + QPropertyAnimation *fadeAnim = new QPropertyAnimation(logo, "opacity", lettersGroupFading); + fadeAnim->setDuration(800); + fadeAnim->setEndValue(0); + fadeAnim->setEasingCurve(QEasingCurve::OutQuad); + } QStateMachine *machine = new QStateMachine(this); //This state is when the player is playing - PlayState *gameState = new PlayState(this,machine); + PlayState *gameState = new PlayState(this, machine); //Final state QFinalState *final = new QFinalState(machine); @@ -263,7 +197,7 @@ void GraphicsScene::setupScene(const QList &actions) machine->start(); //We reach the final state, then we quit - connect(machine,SIGNAL(finished()),this, SLOT(onQuitGameTriggered())); + connect(machine, SIGNAL(finished()), qApp, SLOT(quit())); } void GraphicsScene::addItem(Bomb *bomb) @@ -292,16 +226,6 @@ void GraphicsScene::addItem(QGraphicsItem *item) QGraphicsScene::addItem(item); } -void GraphicsScene::mousePressEvent (QGraphicsSceneMouseEvent * event) -{ - event->ignore(); -} - -void GraphicsScene::onQuitGameTriggered() -{ - qApp->closeAllWindows(); -} - void GraphicsScene::onBombExecutionFinished() { Bomb *bomb = qobject_cast(sender()); @@ -322,32 +246,26 @@ void GraphicsScene::onSubMarineExecutionFinished() { SubMarine *submarine = qobject_cast(sender()); submarines.remove(submarine); - if (submarines.count() == 0) { + if (submarines.count() == 0) emit allSubMarineDestroyed(submarine->points()); - } else { + else emit subMarineDestroyed(submarine->points()); - } submarine->deleteLater(); } -int GraphicsScene::remainingSubMarines() const -{ - return submarines.count(); -} - void GraphicsScene::clearScene() { - foreach (SubMarine *sub,submarines) { + foreach (SubMarine *sub, submarines) { sub->destroy(); sub->deleteLater(); } - foreach (Torpedo *torpedo,torpedos) { + foreach (Torpedo *torpedo, torpedos) { torpedo->destroy(); torpedo->deleteLater(); } - foreach (Bomb *bomb,bombs) { + foreach (Bomb *bomb, bombs) { bomb->destroy(); bomb->deleteLater(); } @@ -361,17 +279,3 @@ void GraphicsScene::clearScene() boat->stop(); boat->hide(); } - -QGraphicsPixmapItem *GraphicsScene::addWelcomeItem(const QPixmap &pm) -{ - QGraphicsPixmapItem *item = addPixmap(pm); - welcomeItems << item; - return item; -} - -void GraphicsScene::onIntroAnimationFinished() -{ - qDeleteAll(welcomeItems); - welcomeItems.clear(); -} - diff --git a/demos/sub-attaq/graphicsscene.h b/demos/sub-attaq/graphicsscene.h index 7d7252d..ce2c91f 100644 --- a/demos/sub-attaq/graphicsscene.h +++ b/demos/sub-attaq/graphicsscene.h @@ -82,41 +82,30 @@ public: GraphicsScene(int x, int y, int width, int height, Mode mode = Big); qreal sealLevel() const; - void setupScene(const QList &actions); + void setupScene(QAction *newAction, QAction *quitAction); void addItem(Bomb *bomb); void addItem(Torpedo *torpedo); void addItem(SubMarine *submarine); void addItem(QGraphicsItem *item); - int remainingSubMarines() const; void clearScene(); - QGraphicsPixmapItem *addWelcomeItem(const QPixmap &pm); signals: void subMarineDestroyed(int); void allSubMarineDestroyed(int); -protected: - void mousePressEvent (QGraphicsSceneMouseEvent * event); - private slots: - void onQuitGameTriggered(); void onBombExecutionFinished(); void onTorpedoExecutionFinished(); void onSubMarineExecutionFinished(); - void onIntroAnimationFinished(); private: Mode mode; - PixmapItem *backgroundItem; ProgressItem *progressItem; TextInformationItem *textInformationItem; - QAction * newAction; - QAction * quitAction; Boat *boat; QSet submarines; QSet bombs; QSet torpedos; - QVector welcomeItems; QVector submarinesData; QHash levelsData; diff --git a/demos/sub-attaq/mainwindow.cpp b/demos/sub-attaq/mainwindow.cpp index 37129f8..45e5554 100644 --- a/demos/sub-attaq/mainwindow.cpp +++ b/demos/sub-attaq/mainwindow.cpp @@ -56,42 +56,27 @@ MainWindow::MainWindow() : QMainWindow(0) { - QMenuBar *menuBar = new QMenuBar; - QMenu *file = new QMenu(tr("&File"),menuBar); + QMenu *file = menuBar()->addMenu(tr("&File")); - QAction *newAction = new QAction(tr("New Game"),file); + QAction *newAction = file->addAction(tr("New Game")); newAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_N)); - file->addAction(newAction); - QAction *quitAction = new QAction(tr("Quit"),file); + QAction *quitAction = file->addAction(tr("Quit")); quitAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Q)); - file->addAction(quitAction); - menuBar->addMenu(file); - setMenuBar(menuBar); - - QStringList list = QApplication::arguments(); - if (list.contains("-fullscreen")) { - scene = new GraphicsScene(0, 0, 750, 400,GraphicsScene::Small); + if (QApplication::arguments().contains("-fullscreen")) { + scene = new GraphicsScene(0, 0, 750, 400, GraphicsScene::Small); setWindowState(Qt::WindowFullScreen); } else { scene = new GraphicsScene(0, 0, 880, 630); layout()->setSizeConstraint(QLayout::SetFixedSize); } - view = new QGraphicsView(scene,this); + view = new QGraphicsView(scene, this); view->setAlignment(Qt::AlignLeft | Qt::AlignTop); - QList actions; - actions << newAction << quitAction; - scene->setupScene(actions); + scene->setupScene(newAction, quitAction); #ifndef QT_NO_OPENGL - view->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers))); + view->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers))); #endif setCentralWidget(view); - -} - -MainWindow::~MainWindow() -{ } - diff --git a/demos/sub-attaq/mainwindow.h b/demos/sub-attaq/mainwindow.h index d626ad7..12a7364 100644 --- a/demos/sub-attaq/mainwindow.h +++ b/demos/sub-attaq/mainwindow.h @@ -54,7 +54,6 @@ class MainWindow : public QMainWindow Q_OBJECT public: MainWindow(); - ~MainWindow(); private: GraphicsScene *scene; diff --git a/demos/sub-attaq/pixmapitem.cpp b/demos/sub-attaq/pixmapitem.cpp index 9abf745..fcc7ce9 100644 --- a/demos/sub-attaq/pixmapitem.cpp +++ b/demos/sub-attaq/pixmapitem.cpp @@ -43,17 +43,34 @@ #include "pixmapitem.h" //Qt -#include +#include -PixmapItem::PixmapItem(const QString &fileName,GraphicsScene::Mode mode, QGraphicsItem * parent) : QGraphicsPixmapItem(parent),name(fileName) +PixmapItem::PixmapItem(const QString &fileName,GraphicsScene::Mode mode, QGraphicsItem * parent) : QGraphicsObject(parent) { - loadPixmap(mode); + if (mode == GraphicsScene::Big) + pix = ":/big/" + fileName; + else + pix = ":/small/" + fileName; } -void PixmapItem::loadPixmap(GraphicsScene::Mode mode) +PixmapItem::PixmapItem(const QString &fileName, QGraphicsScene *scene) : QGraphicsObject(), pix(fileName) { - if (mode == GraphicsScene::Big) - setPixmap(":/big/" + name); - else - setPixmap(":/small/" + name); + scene->addItem(this); } + +QSizeF PixmapItem::size() const +{ + return pix.size(); +} + +QRectF PixmapItem::boundingRect() const +{ + return QRectF(QPointF(0, 0), pix.size()); +} + +void PixmapItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) +{ + painter->drawPixmap(0, 0, pix); +} + + diff --git a/demos/sub-attaq/pixmapitem.h b/demos/sub-attaq/pixmapitem.h index b176215..57f831a 100644 --- a/demos/sub-attaq/pixmapitem.h +++ b/demos/sub-attaq/pixmapitem.h @@ -46,18 +46,18 @@ #include "graphicsscene.h" //Qt -#include +#include -class PixmapItem : public QGraphicsPixmapItem +class PixmapItem : public QGraphicsObject { public: PixmapItem(const QString &fileName, GraphicsScene::Mode mode, QGraphicsItem * parent = 0); - + PixmapItem(const QString &fileName, QGraphicsScene *scene); + QSizeF size() const; + QRectF boundingRect() const; + void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); private: - void loadPixmap(GraphicsScene::Mode mode); - - QString name; - QPixmap pixmap; + QPixmap pix; }; #endif //__PIXMAPITEM__H__ diff --git a/demos/sub-attaq/states.cpp b/demos/sub-attaq/states.cpp index 7443ae7..742095e 100644 --- a/demos/sub-attaq/states.cpp +++ b/demos/sub-attaq/states.cpp @@ -67,8 +67,7 @@ PlayState::PlayState(GraphicsScene *scene, QState *parent) PlayState::~PlayState() { - if (machine) - delete machine; + delete machine; } void PlayState::onEntry(QEvent *) @@ -169,7 +168,7 @@ void LevelState::initializeLevel() scene->boat->setCurrentDirection(Boat::None); scene->boat->setBombsLaunched(0); scene->boat->show(); - scene->setFocusItem(scene->boat,Qt::OtherFocusReason); + scene->setFocusItem(scene->boat, Qt::OtherFocusReason); scene->boat->run(); scene->progressItem->setScore(game->score); @@ -276,13 +275,8 @@ void WinState::onExit(QEvent *) } /** UpdateScore State */ -UpdateScoreState::UpdateScoreState(PlayState *game, QState *parent) : QState(parent) -{ - this->game = game; -} -void UpdateScoreState::onEntry(QEvent *e) +UpdateScoreState::UpdateScoreState(PlayState *g, QState *parent) : QState(parent), game(g) { - QState::onEntry(e); } /** Win transition */ @@ -297,12 +291,10 @@ bool UpdateScoreTransition::eventTest(QEvent *event) { if (!QSignalTransition::eventTest(event)) return false; - else { - QStateMachine::SignalEvent *se = static_cast(event); - game->score += se->arguments().at(0).toInt(); - scene->progressItem->setScore(game->score); - return true; - } + QStateMachine::SignalEvent *se = static_cast(event); + game->score += se->arguments().at(0).toInt(); + scene->progressItem->setScore(game->score); + return true; } /** Win transition */ @@ -317,12 +309,10 @@ bool WinTransition::eventTest(QEvent *event) { if (!QSignalTransition::eventTest(event)) return false; - else { - QStateMachine::SignalEvent *se = static_cast(event); - game->score += se->arguments().at(0).toInt(); - scene->progressItem->setScore(game->score); - return true; - } + QStateMachine::SignalEvent *se = static_cast(event); + game->score += se->arguments().at(0).toInt(); + scene->progressItem->setScore(game->score); + return true; } /** Space transition */ @@ -334,12 +324,7 @@ CustomSpaceTransition::CustomSpaceTransition(QWidget *widget, PlayState *game, Q bool CustomSpaceTransition::eventTest(QEvent *event) { - Q_UNUSED(event); if (!QKeyEventTransition::eventTest(event)) return false; - if (game->currentLevel != 0) - return true; - else - return false; - + return (game->currentLevel != 0); } diff --git a/demos/sub-attaq/states.h b/demos/sub-attaq/states.h index 9e78ae4..f588e5d 100644 --- a/demos/sub-attaq/states.h +++ b/demos/sub-attaq/states.h @@ -136,8 +136,6 @@ class UpdateScoreState : public QState { public: UpdateScoreState(PlayState *game, QState *parent); -protected: - void onEntry(QEvent *); private: QPropertyAnimation *scoreAnimation; PlayState *game; diff --git a/demos/sub-attaq/sub-attaq.pro b/demos/sub-attaq/sub-attaq.pro index 8677ff5..b5aa465 100644 --- a/demos/sub-attaq/sub-attaq.pro +++ b/demos/sub-attaq/sub-attaq.pro @@ -10,7 +10,6 @@ HEADERS += boat.h \ states.h \ boat_p.h \ submarine_p.h \ - custompropertyanimation.h \ qanimationstate.h \ progressitem.h \ textinformationitem.h @@ -24,7 +23,6 @@ SOURCES += boat.cpp \ graphicsscene.cpp \ animationmanager.cpp \ states.cpp \ - custompropertyanimation.cpp \ qanimationstate.cpp \ progressitem.cpp \ textinformationitem.cpp diff --git a/demos/sub-attaq/submarine.cpp b/demos/sub-attaq/submarine.cpp index 3d8490f..f71b81c 100644 --- a/demos/sub-attaq/submarine.cpp +++ b/demos/sub-attaq/submarine.cpp @@ -46,7 +46,6 @@ #include "pixmapitem.h" #include "graphicsscene.h" #include "animationmanager.h" -#include "custompropertyanimation.h" #include "qanimationstate.h" #include @@ -57,62 +56,27 @@ static QAbstractAnimation *setupDestroyAnimation(SubMarine *sub) { QSequentialAnimationGroup *group = new QSequentialAnimationGroup(sub); -#if QT_VERSION >=0x040500 - PixmapItem *step1 = new PixmapItem(QString("explosion/submarine/step1"),GraphicsScene::Big, sub); - step1->setZValue(6); - PixmapItem *step2 = new PixmapItem(QString("explosion/submarine/step2"),GraphicsScene::Big, sub); - step2->setZValue(6); - PixmapItem *step3 = new PixmapItem(QString("explosion/submarine/step3"),GraphicsScene::Big, sub); - step3->setZValue(6); - PixmapItem *step4 = new PixmapItem(QString("explosion/submarine/step4"),GraphicsScene::Big, sub); - step4->setZValue(6); - step1->setOpacity(0); - step2->setOpacity(0); - step3->setOpacity(0); - step4->setOpacity(0); - CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(sub); - anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim1->setDuration(100); - anim1->setEndValue(1); - CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(sub); - anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim2->setDuration(100); - anim2->setEndValue(1); - CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(sub); - anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim3->setDuration(100); - anim3->setEndValue(1); - CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(sub); - anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity); - anim4->setDuration(100); - anim4->setEndValue(1); - group->addAnimation(anim1); - group->addAnimation(anim2); - group->addAnimation(anim3); - group->addAnimation(anim4); -#else - // work around for a bug where we don't transition if the duration is zero. - QtPauseAnimation *anim = new QtPauseAnimation(group); - anim->setDuration(1); - group->addAnimation(anim); -#endif + for (int i = 1; i <= 4; ++i) { + PixmapItem *step = new PixmapItem(QString::fromLatin1("explosion/submarine/step%1").arg(i), GraphicsScene::Big, sub); + step->setZValue(6); + step->setOpacity(0); + QPropertyAnimation *anim = new QPropertyAnimation(step, "opacity", group); + anim->setDuration(100); + anim->setEndValue(1); + } AnimationManager::self()->registerAnimation(group); return group; } -SubMarine::SubMarine(int type, const QString &name, int points, QGraphicsItem * parent, Qt::WindowFlags wFlags) - : QGraphicsWidget(parent,wFlags), subType(type), subName(name), subPoints(points), speed(0), direction(SubMarine::None) +SubMarine::SubMarine(int type, const QString &name, int points) : PixmapItem(QString("submarine"), GraphicsScene::Big), + subType(type), subName(name), subPoints(points), speed(0), direction(SubMarine::None) { - pixmapItem = new PixmapItem(QString("submarine"),GraphicsScene::Big, this); - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); setZValue(5); - setFlags(QGraphicsItem::ItemIsMovable); - resize(pixmapItem->boundingRect().width(),pixmapItem->boundingRect().height()); setTransformOriginPoint(boundingRect().center()); graphicsRotation = new QGraphicsRotation(this); - graphicsRotation->setAxis(QVector3D(0, 1, 0)); + graphicsRotation->setAxis(Qt::YAxis); graphicsRotation->setOrigin(QVector3D(size().width()/2, size().height()/2, 0)); QList r; r.append(graphicsRotation); @@ -163,7 +127,7 @@ SubMarine::SubMarine(int type, const QString &name, int points, QGraphicsItem * machine->start(); } -int SubMarine::points() +int SubMarine::points() const { return subPoints; } @@ -202,7 +166,7 @@ void SubMarine::launchTorpedo(int speed) Torpedo * torp = new Torpedo(); GraphicsScene *scene = static_cast(this->scene()); scene->addItem(torp); - torp->setPos(x(), y()); + torp->setPos(pos()); torp->setCurrentSpeed(speed); torp->launch(); } diff --git a/demos/sub-attaq/submarine.h b/demos/sub-attaq/submarine.h index 1a3d2e5..326a1c8 100644 --- a/demos/sub-attaq/submarine.h +++ b/demos/sub-attaq/submarine.h @@ -43,15 +43,13 @@ #define __SUBMARINE__H__ //Qt -#include -#include #include -class PixmapItem; +#include "pixmapitem.h" class Torpedo; -class SubMarine : public QGraphicsWidget +class SubMarine : public PixmapItem { Q_OBJECT public: @@ -61,9 +59,9 @@ public: Right }; enum { Type = UserType + 1 }; - SubMarine(int type, const QString &name, int points, QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0); + SubMarine(int type, const QString &name, int points); - int points(); + int points() const; void setCurrentDirection(Movement direction); enum Movement currentDirection() const; @@ -89,7 +87,6 @@ private: int subPoints; int speed; Movement direction; - PixmapItem *pixmapItem; QGraphicsRotation *graphicsRotation; }; diff --git a/demos/sub-attaq/submarine_p.h b/demos/sub-attaq/submarine_p.h index fa7430b..64a0cf7 100644 --- a/demos/sub-attaq/submarine_p.h +++ b/demos/sub-attaq/submarine_p.h @@ -94,7 +94,6 @@ protected: movementAnimation->setEndValue(QPointF(submarine->scene()->width()-submarine->size().width(),submarine->y())); movementAnimation->setDuration((submarine->scene()->width()-submarine->size().width()-submarine->x())/submarine->currentSpeed()*12); } - movementAnimation->setStartValue(submarine->pos()); QAnimationState::onEntry(e); } diff --git a/demos/sub-attaq/torpedo.cpp b/demos/sub-attaq/torpedo.cpp index cce430d..95f88e6 100644 --- a/demos/sub-attaq/torpedo.cpp +++ b/demos/sub-attaq/torpedo.cpp @@ -51,24 +51,21 @@ #include #include -Torpedo::Torpedo(QGraphicsItem * parent, Qt::WindowFlags wFlags) - : QGraphicsWidget(parent,wFlags), currentSpeed(0), launchAnimation(0) +Torpedo::Torpedo() : PixmapItem(QString::fromLatin1("torpedo"),GraphicsScene::Big), + currentSpeed(0) { - pixmapItem = new PixmapItem(QString::fromLatin1("torpedo"),GraphicsScene::Big, this); setZValue(2); - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - setFlags(QGraphicsItem::ItemIsMovable); - resize(pixmapItem->boundingRect().size()); } void Torpedo::launch() { - launchAnimation = new QPropertyAnimation(this, "pos"); + QPropertyAnimation *launchAnimation = new QPropertyAnimation(this, "pos"); AnimationManager::self()->registerAnimation(launchAnimation); launchAnimation->setEndValue(QPointF(x(),qobject_cast(scene())->sealLevel() - 15)); launchAnimation->setEasingCurve(QEasingCurve::InQuad); launchAnimation->setDuration(y()/currentSpeed*10); connect(launchAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &))); + connect(this,SIGNAL(torpedoExploded()), launchAnimation, SLOT(stop())); //We setup the state machine of the torpedo QStateMachine *machine = new QStateMachine(this); @@ -83,7 +80,7 @@ void Torpedo::launch() machine->setInitialState(launched); //### Add a nice animation when the torpedo is destroyed - launched->addTransition(this, SIGNAL(torpedoExplosed()),final); + launched->addTransition(this, SIGNAL(torpedoExploded()),final); //If the animation is finished, then we move to the final state launched->addTransition(launched, SIGNAL(animationFinished()), final); @@ -106,15 +103,12 @@ void Torpedo::setCurrentSpeed(int speed) void Torpedo::onAnimationLaunchValueChanged(const QVariant &) { foreach (QGraphicsItem *item , collidingItems(Qt::IntersectsItemBoundingRect)) { - if (item->type() == Boat::Type) { - Boat *b = static_cast(item); + if (Boat *b = qgraphicsitem_cast(item)) b->destroy(); - } } } void Torpedo::destroy() { - launchAnimation->stop(); - emit torpedoExplosed(); + emit torpedoExploded(); } diff --git a/demos/sub-attaq/torpedo.h b/demos/sub-attaq/torpedo.h index 2e654f4..03f277d 100644 --- a/demos/sub-attaq/torpedo.h +++ b/demos/sub-attaq/torpedo.h @@ -42,25 +42,19 @@ #ifndef __TORPEDO__H__ #define __TORPEDO__H__ -//Qt -#include +#include "pixmapitem.h" -#include -#include - -class PixmapItem; - -class Torpedo : public QGraphicsWidget +class Torpedo : public PixmapItem { Q_OBJECT public: - Torpedo(QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0); + Torpedo(); void launch(); void setCurrentSpeed(int speed); void destroy(); signals: - void torpedoExplosed(); + void torpedoExploded(); void torpedoExecutionFinished(); private slots: @@ -68,8 +62,6 @@ private slots: private: int currentSpeed; - PixmapItem *pixmapItem; - QVariantAnimation *launchAnimation; }; #endif //__TORPEDO__H__ -- cgit v0.12 From dfce16a317e4e606b517ff206bb7a410bad7e0ca Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Mon, 5 Oct 2009 11:53:38 +0200 Subject: QPropertyAnimation now uses QMetaObject::metacall instead of qt_metacall This allows the animations to work with the newly integrated dynamic metaobject Reviewed-by: Michael Brasser (cherry picked from commit e548c48513546199c848e6cb08a60e8eccdab2c5) --- src/corelib/animation/qpropertyanimation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/animation/qpropertyanimation.cpp b/src/corelib/animation/qpropertyanimation.cpp index b64d7df..4742e54 100644 --- a/src/corelib/animation/qpropertyanimation.cpp +++ b/src/corelib/animation/qpropertyanimation.cpp @@ -132,9 +132,9 @@ void QPropertyAnimationPrivate::updateProperty(const QVariant &newValue) } if (newValue.userType() == propertyType) { - //no conversion is needed, we directly call the QObject::qt_metacall + //no conversion is needed, we directly call the QMetaObject::metacall void *data = const_cast(newValue.constData()); - targetValue->qt_metacall(QMetaObject::WriteProperty, propertyIndex, &data); + QMetaObject::metacall(targetValue, QMetaObject::WriteProperty, propertyIndex, &data); } else { targetValue->setProperty(propertyName.constData(), newValue); } -- cgit v0.12 From 0b3f1a313fb464741c987b188ab4169947d0eb78 Mon Sep 17 00:00:00 2001 From: Bernhard Rosenkraenzer Date: Mon, 5 Oct 2009 12:08:24 +0200 Subject: Adapt to libtiff 4.0 changes In libtiff 4.0, TIFF_VERSION has been replaced with TIFF_VERSION_CLASSIC (to indicate normal tiff support) and TIFF_VERSION_BIG (to indicate BigTIFF support) Merge-request: 1547 Reviewed-by: Thiago Macieira (cherry picked from commit 7ec805adeecb8d518c0eb01dad1c04ccea78b340) --- config.tests/unix/libtiff/libtiff.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config.tests/unix/libtiff/libtiff.cpp b/config.tests/unix/libtiff/libtiff.cpp index 2d4b2af..7d41f25 100644 --- a/config.tests/unix/libtiff/libtiff.cpp +++ b/config.tests/unix/libtiff/libtiff.cpp @@ -41,6 +41,11 @@ #include +#if !defined(TIFF_VERSION) && defined(TIFF_VERSION_CLASSIC) +// libtiff 4.0 splits it into TIFF_VERSION_CLASSIC and TIFF_VERSION_BIG +# define TIFF_VERSION TIFF_VERSION_CLASSIC +#endif + #if !defined(TIFF_VERSION) # error "Required libtiff not found" #elif TIFF_VERSION < 42 -- cgit v0.12 From b50966121c3de0328f810b176e549b63985d974a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 5 Oct 2009 12:10:28 +0200 Subject: Fix uninitialized read in QFormLayoutPrivate::setupVerticalLayoutData() Merge-request: 1541 Reviewed-by: Thiago Macieira (cherry picked from commit b0e6c5ca48c76fb17dca986e9e07adebde390e29) --- src/gui/kernel/qformlayout.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qformlayout.cpp b/src/gui/kernel/qformlayout.cpp index 6ceab07..3e5dadc 100644 --- a/src/gui/kernel/qformlayout.cpp +++ b/src/gui/kernel/qformlayout.cpp @@ -252,7 +252,7 @@ QFormLayoutPrivate::QFormLayoutPrivate() : fieldGrowthPolicy(DefaultFieldGrowthPolicy), rowWrapPolicy(DefaultRowWrapPolicy), has_hfw(false), dirty(true), sizesDirty(true), expandVertical(0), expandHorizontal(0), labelAlignment(0), formAlignment(0), - hfw_width(-1), hfw_sh_height(-1), min_width(-1), + layoutWidth(-1), hfw_width(-1), hfw_sh_height(-1), min_width(-1), sh_width(-1), thresh_width(QLAYOUTSIZE_MAX), hSpacing(-1), vSpacing(-1) { } -- cgit v0.12 From 9815de3fbdbca8bda881e939274b3133492933fb Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Mon, 5 Oct 2009 12:14:08 +0200 Subject: Exclude WebCore/jsc.pro and WebKit/qt/Plugins/ from 3rdparty/webkit Rubber-stamped by: Simon Hausmann (cherry picked from commit 5286a0211d9c76bf762c8041c1d596d8c9c9c08d) --- util/webkit/mkdist-javascriptcore | 1 + util/webkit/mkdist-webkit | 3 +++ 2 files changed, 4 insertions(+) diff --git a/util/webkit/mkdist-javascriptcore b/util/webkit/mkdist-javascriptcore index dc33f6c..07419ea 100755 --- a/util/webkit/mkdist-javascriptcore +++ b/util/webkit/mkdist-javascriptcore @@ -41,6 +41,7 @@ files_to_remove="" files_to_remove="$files_to_remove JavaScriptCore/AllInOneFile.cpp" files_to_remove="$files_to_remove JavaScriptCore/JavaScriptCoreSources.bkl" files_to_remove="$files_to_remove JavaScriptCore/jscore.bkl" +files_to_remove="$files_to_remove JavaScriptCore/jsc.pro" require_clean_work_tree() { # test if working tree is dirty diff --git a/util/webkit/mkdist-webkit b/util/webkit/mkdist-webkit index 34a2ec7..9611d38 100755 --- a/util/webkit/mkdist-webkit +++ b/util/webkit/mkdist-webkit @@ -143,6 +143,8 @@ excluded_directories="$excluded_directories WebCore/storage/wince" excluded_directories="$excluded_directories WebCore/platform/wx" excluded_directories="$excluded_directories WebCore/platform/wince" +excluded_directories="$excluded_directories WebKit/qt/Plugins" + excluded_directories="$excluded_directories WebKit/gtk" excluded_directories="$excluded_directories WebKit/win" excluded_directories="$excluded_directories WebKit/wx" @@ -204,6 +206,7 @@ files_to_remove="$files_to_remove WebKit/qt/QGVLauncher/main.cpp" files_to_remove="$files_to_remove JavaScriptCore/AllInOneFile.cpp" files_to_remove="$files_to_remove JavaScriptCore/JavaScriptCoreSources.bkl" files_to_remove="$files_to_remove JavaScriptCore/jscore.bkl" +files_to_remove="$files_to_remove JavaScriptCore/jsc.pro" files_to_remove="$files_to_remove WebCore/wscript" files_to_remove="$files_to_remove WebCore/WebCore.ContextMenus.exp" -- cgit v0.12 From 22f88f83b86cd0c8d9fc5b1daef62ec68807a81a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 5 Oct 2009 12:21:18 +0200 Subject: Made X11 QPixmap backend return proper pixmap in alphaChannel(). Reviewed-by: Gunnar (cherry picked from commit c1d24c6b87dcc4c6e2f6f258c0198fdb6b2795f0) --- src/gui/image/qpixmap_x11.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp index 6cde898..92a7e7d 100644 --- a/src/gui/image/qpixmap_x11.cpp +++ b/src/gui/image/qpixmap_x11.cpp @@ -1252,8 +1252,11 @@ void QX11PixmapData::release() QPixmap QX11PixmapData::alphaChannel() const { - if (!hasAlphaChannel()) - return QPixmap(); + if (!hasAlphaChannel()) { + QPixmap pm(w, h); + pm.fill(Qt::white); + return pm; + } QImage im(toImage()); return QPixmap::fromImage(im.alphaChannel(), Qt::OrderedDither); } -- cgit v0.12 From a12c32a8331466ea6d8edac5fb15c696b88437e3 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Mon, 5 Oct 2009 12:53:04 +0200 Subject: Update systemclip based on the correct parameters Reviewed-by: Samuel (cherry picked from commit 7cb0dea6d991a4d9f4a66b699dc5b353812b168d) --- src/opengl/qpaintengine_opengl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp index da490c0..3e4a8e7 100644 --- a/src/opengl/qpaintengine_opengl.cpp +++ b/src/opengl/qpaintengine_opengl.cpp @@ -2311,7 +2311,7 @@ void QOpenGLPaintEnginePrivate::updateDepthClip() void QOpenGLPaintEnginePrivate::systemStateChanged() { Q_Q(QOpenGLPaintEngine); - if (q->state()->hasClipping) + if (q->painter()->hasClipping()) q->updateClipRegion(q->painter()->clipRegion(), Qt::ReplaceClip); else q->updateClipRegion(QRegion(), Qt::NoClip); -- cgit v0.12 From 2831bdb96016a30f6a8cb0c00d82565468325019 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Fri, 2 Oct 2009 18:04:21 +0200 Subject: Doc: move new files into correct subdirectory. (cherry picked from commit 491a9879d349a67dbd5f00f1c0bb189fb92290e3) --- doc/src/exceptionsafety.qdoc | 156 ---------------- doc/src/howtos/exceptionsafety.qdoc | 156 ++++++++++++++++ doc/src/platforms/s60-introduction.qdoc | 151 ++++++++++++++++ doc/src/platforms/symbian-exceptionsafety.qdoc | 241 +++++++++++++++++++++++++ doc/src/s60-introduction.qdoc | 151 ---------------- doc/src/symbian-exceptionsafety.qdoc | 241 ------------------------- 6 files changed, 548 insertions(+), 548 deletions(-) delete mode 100644 doc/src/exceptionsafety.qdoc create mode 100644 doc/src/howtos/exceptionsafety.qdoc create mode 100644 doc/src/platforms/s60-introduction.qdoc create mode 100644 doc/src/platforms/symbian-exceptionsafety.qdoc delete mode 100644 doc/src/s60-introduction.qdoc delete mode 100644 doc/src/symbian-exceptionsafety.qdoc diff --git a/doc/src/exceptionsafety.qdoc b/doc/src/exceptionsafety.qdoc deleted file mode 100644 index b70df6b..0000000 --- a/doc/src/exceptionsafety.qdoc +++ /dev/null @@ -1,156 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page exceptionsafety.html - \title Exception Safety - \ingroup architecture - \brief A guide to exception safety in Qt. - - \bold {Preliminary warning}: Exception safety is not feature complete! - Common cases should work, but classes might still leak or even crash. - - Qt itself will not throw exceptions. Instead, error codes are used. - In addition, some classes have user visible error messages, for example - \l QIODevice::errorString() or \l QSqlQuery::lastError(). - This has historical and practical reasons - turning on exceptions - can increase the library size by over 20%. - - The following sections describe Qt's behavior if exception support is - enabled at compile time. - - \tableofcontents - - \section1 Exception safe modules - - \section2 Containers - - Qt's \l{container classes} are generally exception neutral. They pass any - exception that happens within their contained type \c T to the user - while keeping their internal state valid. - - Example: - - \code - QList list; - ... - try { - list.append("hello"); - } catch (...) { - } - // list is safe to use - the exception did not affect it. - \endcode - - Exceptions to that rule are containers for types that can throw during assignment - or copy constructions. For those types, functions that modify the container as well as - returning a value, are unsafe to use: - - \code - MyType s = list.takeAt(2); - \endcode - - If an exception occurs during the assignment of \c s, the value at index 2 is already - removed from the container, but hasn't been assigned to \c s yet. It is lost - without chance of recovery. - - The correct way to write it: - - \code - MyType s = list.at(2); - list.removeAt(2); - \endcode - - If the assignment throws, the container still contains the value, no data loss occured. - - Note that implicitly shared Qt classes will not throw in their assignment - operators or copy constructors, so the limitation above does not apply. - - \section1 Out of Memory Handling - - Most desktop operating systems overcommit memory. This means that \c malloc() - or \c{operator new} return a valid pointer, even though there is not enough - memory available at allocation time. On such systems, no exception of type - \c std::bad_alloc is thrown. - - On all other operating systems, Qt will throw an exception of type std::bad_alloc - if any allocation fails. Allocations can fail if the system runs out of memory or - doesn't have enough continuous memory to allocate the requested size. - - Exceptions to that rule are documented. As an example, \l QImage::create() - returns false if not enough memory exists instead of throwing an exception. - - \section1 Recovering from exceptions - - Currently, the only supported use case for recovering from exceptions thrown - within Qt (for example due to out of memory) is to exit the event loop and do - some cleanup before exiting the application. - - Typical use case: - - \code - QApplication app(argc, argv); - ... - try { - app.exec(); - } catch (const std::bad_alloc &) { - // clean up here, e.g. save the session - // and close all config files. - - return 0; // exit the application - } - \endcode - - After an exception is thrown, the connection to the windowing server - might already be closed. It is not safe to call a GUI related function - after catching an exception. - - \section1 Platform-Specific Exception Handling - - \section2 Symbian (Qt for S60) - - The Symbian platform implements its own exception system that differs from the standard - C++ mechanism. When using Qt for S60, and especially when writing code to access Symbian - functionality directly, it may be necessary to know about the underlying implementation - and how it interacts with Qt. - - The \l{Exception Safety with Symbian} document shows how to use the facilities provided - by Qt to use exceptions as safely as possible. -*/ diff --git a/doc/src/howtos/exceptionsafety.qdoc b/doc/src/howtos/exceptionsafety.qdoc new file mode 100644 index 0000000..23bedf5 --- /dev/null +++ b/doc/src/howtos/exceptionsafety.qdoc @@ -0,0 +1,156 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page exceptionsafety.html + \title Exception Safety + \ingroup best-practices + \brief A guide to exception safety in Qt. + + \bold {Preliminary warning}: Exception safety is not feature complete! + Common cases should work, but classes might still leak or even crash. + + Qt itself will not throw exceptions. Instead, error codes are used. + In addition, some classes have user visible error messages, for example + \l QIODevice::errorString() or \l QSqlQuery::lastError(). + This has historical and practical reasons - turning on exceptions + can increase the library size by over 20%. + + The following sections describe Qt's behavior if exception support is + enabled at compile time. + + \tableofcontents + + \section1 Exception safe modules + + \section2 Containers + + Qt's \l{container classes} are generally exception neutral. They pass any + exception that happens within their contained type \c T to the user + while keeping their internal state valid. + + Example: + + \code + QList list; + ... + try { + list.append("hello"); + } catch (...) { + } + // list is safe to use - the exception did not affect it. + \endcode + + Exceptions to that rule are containers for types that can throw during assignment + or copy constructions. For those types, functions that modify the container as well as + returning a value, are unsafe to use: + + \code + MyType s = list.takeAt(2); + \endcode + + If an exception occurs during the assignment of \c s, the value at index 2 is already + removed from the container, but hasn't been assigned to \c s yet. It is lost + without chance of recovery. + + The correct way to write it: + + \code + MyType s = list.at(2); + list.removeAt(2); + \endcode + + If the assignment throws, the container still contains the value, no data loss occured. + + Note that implicitly shared Qt classes will not throw in their assignment + operators or copy constructors, so the limitation above does not apply. + + \section1 Out of Memory Handling + + Most desktop operating systems overcommit memory. This means that \c malloc() + or \c{operator new} return a valid pointer, even though there is not enough + memory available at allocation time. On such systems, no exception of type + \c std::bad_alloc is thrown. + + On all other operating systems, Qt will throw an exception of type std::bad_alloc + if any allocation fails. Allocations can fail if the system runs out of memory or + doesn't have enough continuous memory to allocate the requested size. + + Exceptions to that rule are documented. As an example, \l QImage::create() + returns false if not enough memory exists instead of throwing an exception. + + \section1 Recovering from exceptions + + Currently, the only supported use case for recovering from exceptions thrown + within Qt (for example due to out of memory) is to exit the event loop and do + some cleanup before exiting the application. + + Typical use case: + + \code + QApplication app(argc, argv); + ... + try { + app.exec(); + } catch (const std::bad_alloc &) { + // clean up here, e.g. save the session + // and close all config files. + + return 0; // exit the application + } + \endcode + + After an exception is thrown, the connection to the windowing server + might already be closed. It is not safe to call a GUI related function + after catching an exception. + + \section1 Platform-Specific Exception Handling + + \section2 Symbian (Qt for S60) + + The Symbian platform implements its own exception system that differs from the standard + C++ mechanism. When using Qt for S60, and especially when writing code to access Symbian + functionality directly, it may be necessary to know about the underlying implementation + and how it interacts with Qt. + + The \l{Exception Safety with Symbian} document shows how to use the facilities provided + by Qt to use exceptions as safely as possible. +*/ diff --git a/doc/src/platforms/s60-introduction.qdoc b/doc/src/platforms/s60-introduction.qdoc new file mode 100644 index 0000000..d0a1976 --- /dev/null +++ b/doc/src/platforms/s60-introduction.qdoc @@ -0,0 +1,151 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page s60-with-qt-introduction.html + + \title S60 - Introduction to using Qt + \brief An introduction to Qt for S60 developers. + \ingroup howto + \ingroup qts60 + + \tableofcontents + + \section1 Required tools + + See \l{Qt for S60 Requirements} to see what tools are required to use Qt for S60. + + \section1 Installing Qt and running demos + + Follow the instructions found in \l{Installing Qt on S60 using binary package} to learn how + to install Qt using binary package and how to build and run Qt demos. + + Follow the instructions found in \l{Installing Qt on S60} to learn how to install Qt using + using source package and how to build and run the Qt demos. + + \section1 Building your own applications + + If you are new to Qt development, have a look at \l{How to Learn Qt}. + In general, the difference between developing a + Qt application on S60 compared to any of the other platforms supported + by Qt is not that big. + + Once you have crated a \c .pro file for your project, generate the + Carbide specific \c Bld.inf and \c .mmp files this way: + + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 0 + + For more information on how to use qmake have a look at the \l + {qmake Tutorial}. + + Now you can build the Qt on S60 application with standard build + tools. By default, running \c make will produce binaries for the + emulator. However, S60 comes with several alternative build targets, + as shown in the table below: + + \table + \row \o \c debug-winscw \o Build debug binaries for the emulator (default). + It is currently not possible to build release + binaries for the emulator. + \row \o \c debug-gcce \o Build debug binaries for hardware using GCCE. + \row \o \c release-gcce \o Build release binaries for hardware using GCCE. + \row \o \c debug-armv5 \o Build debug binaries for hardware using RVCT. + \row \o \c release-armv5 \o Build release binaries for hardware using RVCT. + \row \o \c run \o Run the emulator binaries from the build directory. + \row \o \c sis \o Create signed \c .sis file for project. + \endtable + + The following lines perform a debug build for the emulator + and deploy all the needed files: + + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 1 + + To work on your project in Carbide, simply import the \c .pro file + by right clicking on the project explorer and executing "Import...". + + \section1 Installing your own applications + + To install your own applications on hardware, you need signed \c .sis file. + The signed \c .sis file can be created with \c make \c sis target. \c sis target + is only supported for executables or projects with \c DEPLOYMENT statements. + By default the \c sis target will create signed \c .sis file for last build + target. For example, the following sequence will generate the needed makefiles, + build the project for \c debug-winscw and \c release-armv5, and create + self-signed \c .sis file for \c release-armv5 target: + + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 2 + + If you want to use different certificate information or override the default + target for \c .sis file creation you can use the environment variables as + shown in the table below: + + \table + \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. + -i, install the package right away using PC suite. + -c=, read certificate information from a file. + Execute \c{perl createpackage.pl} for more information + about options. + By default no otions are given. + \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. + Accepted values are build targets listed in + previous table. By default last build target. + \row \o \c QT_SIS_CERTIFICATE \o The certificate file used for signing. + By default self-signed certificate. + \row \o \c QT_SIS_KEY \o The certificate's private key file. + By default key is associated to self-signed certificate. + \row \o \c QT_SIS_PASSPHRASE \o The certificate's private key file's passphrase. + By default empty. + \endtable + + For example: + + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 4 + + The environment variables for \c make can also be given as parameters: + + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 3 + + If you want to install the program immediately, make sure that the device + is connected to the computer in "PC Suite" mode, and run \c sis target + with the \c QT_SIS_OPTIONS=-i, like this: + + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 5 +*/ diff --git a/doc/src/platforms/symbian-exceptionsafety.qdoc b/doc/src/platforms/symbian-exceptionsafety.qdoc new file mode 100644 index 0000000..88f4d03 --- /dev/null +++ b/doc/src/platforms/symbian-exceptionsafety.qdoc @@ -0,0 +1,241 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page symbianexceptionsafety.html + \title Exception Safety with Symbian + \ingroup qts60 + \brief A guide to integrating exception safety in Qt with Symbian. + + The following sections describe how Qt code can interoperate with Symbian's + exception safety system. + + \tableofcontents + + \section1 What the problem is + + Qt and Symbian have different exception systems. Qt works with standard C++ + exceptions, whereas Symbian has its TRAP/Leave/CleanupStack system. So, what would + happen if you mix the two systems? It could go wrong in a number of ways. + + Clean-up ordering would be different between the two. When Symbian code + leaves, the clean-up stack is cleaned up before anything else happens. After + that, the objects on the call stack would be cleaned up as with a normal + exception. So if there are any dependencies between stack-based and + objects owned by the clean-up stack, there could be problems due to this + ordering. + + Symbian's \c XLeaveException, which is used when Symbian implements leaves as + exceptions, is not derived from \c std::exception, so would not be caught in + Qt catch statements designed to catch \c std::exception. + + Qt's and standard C++'s \c std::exception derived exceptions result in program + termination if they fall back to a Symbian TRAP. + + These problems can be solved with barrier macros and helper functions that + will translate between the two exception systems. Use them, in Qt code, + whenever calling into or being called from Symbian code. + + \section1 Qt calls to Symbian + + When calling Symbian leaving functions from Qt code, we want to translate + Symbian leaves to standard C++ exceptions. The following help is provided: + + \list + \o \l qt_symbian_throwIfError() takes a Symbian + error code and throws an appropriate exception to represent it. + This will do nothing if the error code is not in fact an error. The + function is equivalent to Symbian's \c User::LeaveIfError. + \o \l q_check_ptr() takes a pointer and throws a std::bad_alloc + exception if it is 0, otherwise the pointer is returned. This can be + used to check the success of a non-throwing allocation, eg from + \c malloc(). The function is equivalent to Symbian's \c + User::LeaveIfNull. + \o \l QT_TRAP_THROWING() takes a Symbian leaving + code fragment f and runs it under a trap harness converting any resulting + error into an exception. + \o \c TRAP and \c TRAPD from the Symbian libraries can be used to convert + leaves to error codes. + \endlist + + \code + HBufC* buf=0; + // this will throw a std::bad_alloc because we've asked for too much memory + QT_TRAP_THROWING(buf = HBufC::NewL(100000000)); + + _LIT(KStr,"abc"); + TInt pos = KStr().Locate('c'); + // pos is a good value, >= 0, so no exception is thrown + qt_symbian_throwIfError(pos); + + pos = KStr().Locate('d'); + // pos == KErrNotFound, so this throws an exception + qt_symbian_throwIfError(pos); + + // we are asking for a lot of memory, HBufC::New may return NULL, so check it + HBufC *buffer = q_check_ptr(HBufC::New(1000000)); + \endcode + + \section2 Be careful with new and CBase + + When writing Qt code, \c new will normally throw a \c std::bad_alloc if the + allocation fails. However this may not happen if the object being created + has its own \c {operator new}. For example, CBase and derived classes have + their own \c {operator new} which returns 0 and the \c {new(ELeave)} + overload for a leaving \c {operator new}, neither of which does what we want. + When using 2-phase construction of CBase derived objects, use \c new and + \l q_check_ptr(). + + \oldcode + CFbsBitmap* fbsBitmap = new(ELeave) CFbsBitmap; + \newcode + CFbsBitmap* fbsBitmap = q_check_ptr(new CFbsBitmap); + \endcode + + \section1 Qt called from Symbian + + When Qt code is called from Symbian, we want to translate standard C++ + exceptions to Symbian leaves or error codes. The following help is + provided: + + \list + \o \l qt_symbian_exception2Error() - + this takes a standard exception and gives an appropriate Symbian + error code. If no mapping is known for the exception type, + \c KErrGeneral is returned. + \o \l qt_symbian_exception2LeaveL() - + this takes a standard exception and generates an appropriate Symbian + leave. + \o \l QT_TRYCATCH_ERROR() - this macro + takes the standard C++ code fragment \c f, catches any std::exceptions + thrown from it, and sets err to the corresponding Symbian error code. + err is set to \c KErrNone otherwise. + \o \l QT_TRYCATCH_LEAVING() - this macro takes the + standard C++ code fragment \c f, catches any std::exceptions thrown from + it, and throws a corresponding Symbian leave. + \endlist + + \code + TInt DoTickL() // called from an active object RunL, ie Symbian leaves expected + { + // without the translation to Symbian Leave, we get a USER:0 panic + QT_TRYCATCH_LEAVING({ + int* x = new int[100000000]; // compiled as Qt code, will throw std::bad_alloc + delete [] x; + }); + return 0; + } + \endcode + + \section1 Common sense things + + Try to minimise the interleaving of Symbian and Qt code, every switch + requires a barrier. Grouping the code styles in different blocks will + minimise the problems. For instance, examine the following code. + + \code + 1. TRAPD(err, m_playUtility = CMdaAudioPlayerUtility::NewL(*this); + 2. QString filepath = QFileInfo( m_sound->fileName() ).absoluteFilePath(); + 3. filepath = QDir::toNativeSeparators(filepath); + 4. m_playUtility->OpenFileL(qt_QString2TPtrC(filepath))); + \endcode + + Line 1 starts a Symbian leave handling block, which is good because it + also uses a Symbian leave generating function. + + Line 2 creates a \l QString, uses \l QFileInfo and various member functions. + These could all throw exceptions, which is not good inside a \c TRAP block. + + Line 3 is unclear as to whether it might throw an exception, but since + it's dealing with strings it probably does, again bad. + + Line 4 is tricky, it calls a leaving function which is ok within a \c TRAP, + but it also uses a helper function to convert string types. In this case + the helper function may cause an unwelcome exception. + + We could rewrite this with nested exception translations, but it's much + easier to refactor it. + + \code + QString filepath = QFileInfo( m_sound->fileName() ).absoluteFilePath(); + filepath = QDir::toNativeSeparators(filepath); + TPtrC filepathPtr(qt_QString2TPtrC(filepath)); + TRAPD(err, m_playUtility = CMdaAudioPlayerUtility::NewL(*this); + m_playUtility->OpenFileL(filepathPtr)); + \endcode + + Now the exception generating functions are separated from the leaving + functions. + + \section1 Advanced technique + When using Symbian APIs in Qt code, you may find that Symbian leaving + code and Qt exception throwing code are just too mixed up to have + them interoperate through barriers. In some circumstances you can allow + code to both leave and throw exceptions. But you must be aware of the + following issues: + + \list + \o Depending on whether a leave or exception is thrown, or a normal + exit happens, the cleanup order will vary. If the code leaves, + cleanup stack cleanup will happen first. On an exception however, + cleanup stack cleanup will happen last. + \o There must not be any destructor dependencies between different + code styles. That is, you must not have symbian objects using Qt + objects in their destructors, and vice versa. This is because the + cleanup order varies, and may result in objects being used after + they are deleted. + \o The cleanup stack must not refer to any stack based object. For + instance, in Symbian you may use \c CleanupClosePushL() to push + stack based R-classes onto the cleanup stack. However if the + stack has unwound due to an exception before the cleanup stack + cleanup happens, stack based objects will now be invalid. + Instead of using the cleanup stack, consider Symbian's new + \c LManagedHandle<> (or a custom cleanup object) to tie R-class + cleanup to the stack. + \o Mixed throwing code must be called within both a TRAP and a + try/catch harness. Standard exceptions must not propagate to + the TRAP and cleanup stack cleanup will only happen if a leave + is thrown, so the correct pattern is either \c {TRAPD(err, + QT_TRYCATCH_LEAVING( f ));} or \c {QT_TRAP_THROWING( + QT_TRYCATCH_LEAVING( f ));}, depending if you want an error + code or exception as a result. + \endlist +*/ diff --git a/doc/src/s60-introduction.qdoc b/doc/src/s60-introduction.qdoc deleted file mode 100644 index d0a1976..0000000 --- a/doc/src/s60-introduction.qdoc +++ /dev/null @@ -1,151 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page s60-with-qt-introduction.html - - \title S60 - Introduction to using Qt - \brief An introduction to Qt for S60 developers. - \ingroup howto - \ingroup qts60 - - \tableofcontents - - \section1 Required tools - - See \l{Qt for S60 Requirements} to see what tools are required to use Qt for S60. - - \section1 Installing Qt and running demos - - Follow the instructions found in \l{Installing Qt on S60 using binary package} to learn how - to install Qt using binary package and how to build and run Qt demos. - - Follow the instructions found in \l{Installing Qt on S60} to learn how to install Qt using - using source package and how to build and run the Qt demos. - - \section1 Building your own applications - - If you are new to Qt development, have a look at \l{How to Learn Qt}. - In general, the difference between developing a - Qt application on S60 compared to any of the other platforms supported - by Qt is not that big. - - Once you have crated a \c .pro file for your project, generate the - Carbide specific \c Bld.inf and \c .mmp files this way: - - \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 0 - - For more information on how to use qmake have a look at the \l - {qmake Tutorial}. - - Now you can build the Qt on S60 application with standard build - tools. By default, running \c make will produce binaries for the - emulator. However, S60 comes with several alternative build targets, - as shown in the table below: - - \table - \row \o \c debug-winscw \o Build debug binaries for the emulator (default). - It is currently not possible to build release - binaries for the emulator. - \row \o \c debug-gcce \o Build debug binaries for hardware using GCCE. - \row \o \c release-gcce \o Build release binaries for hardware using GCCE. - \row \o \c debug-armv5 \o Build debug binaries for hardware using RVCT. - \row \o \c release-armv5 \o Build release binaries for hardware using RVCT. - \row \o \c run \o Run the emulator binaries from the build directory. - \row \o \c sis \o Create signed \c .sis file for project. - \endtable - - The following lines perform a debug build for the emulator - and deploy all the needed files: - - \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 1 - - To work on your project in Carbide, simply import the \c .pro file - by right clicking on the project explorer and executing "Import...". - - \section1 Installing your own applications - - To install your own applications on hardware, you need signed \c .sis file. - The signed \c .sis file can be created with \c make \c sis target. \c sis target - is only supported for executables or projects with \c DEPLOYMENT statements. - By default the \c sis target will create signed \c .sis file for last build - target. For example, the following sequence will generate the needed makefiles, - build the project for \c debug-winscw and \c release-armv5, and create - self-signed \c .sis file for \c release-armv5 target: - - \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 2 - - If you want to use different certificate information or override the default - target for \c .sis file creation you can use the environment variables as - shown in the table below: - - \table - \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. - -i, install the package right away using PC suite. - -c=, read certificate information from a file. - Execute \c{perl createpackage.pl} for more information - about options. - By default no otions are given. - \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. - Accepted values are build targets listed in - previous table. By default last build target. - \row \o \c QT_SIS_CERTIFICATE \o The certificate file used for signing. - By default self-signed certificate. - \row \o \c QT_SIS_KEY \o The certificate's private key file. - By default key is associated to self-signed certificate. - \row \o \c QT_SIS_PASSPHRASE \o The certificate's private key file's passphrase. - By default empty. - \endtable - - For example: - - \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 4 - - The environment variables for \c make can also be given as parameters: - - \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 3 - - If you want to install the program immediately, make sure that the device - is connected to the computer in "PC Suite" mode, and run \c sis target - with the \c QT_SIS_OPTIONS=-i, like this: - - \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 5 -*/ diff --git a/doc/src/symbian-exceptionsafety.qdoc b/doc/src/symbian-exceptionsafety.qdoc deleted file mode 100644 index 88f4d03..0000000 --- a/doc/src/symbian-exceptionsafety.qdoc +++ /dev/null @@ -1,241 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \page symbianexceptionsafety.html - \title Exception Safety with Symbian - \ingroup qts60 - \brief A guide to integrating exception safety in Qt with Symbian. - - The following sections describe how Qt code can interoperate with Symbian's - exception safety system. - - \tableofcontents - - \section1 What the problem is - - Qt and Symbian have different exception systems. Qt works with standard C++ - exceptions, whereas Symbian has its TRAP/Leave/CleanupStack system. So, what would - happen if you mix the two systems? It could go wrong in a number of ways. - - Clean-up ordering would be different between the two. When Symbian code - leaves, the clean-up stack is cleaned up before anything else happens. After - that, the objects on the call stack would be cleaned up as with a normal - exception. So if there are any dependencies between stack-based and - objects owned by the clean-up stack, there could be problems due to this - ordering. - - Symbian's \c XLeaveException, which is used when Symbian implements leaves as - exceptions, is not derived from \c std::exception, so would not be caught in - Qt catch statements designed to catch \c std::exception. - - Qt's and standard C++'s \c std::exception derived exceptions result in program - termination if they fall back to a Symbian TRAP. - - These problems can be solved with barrier macros and helper functions that - will translate between the two exception systems. Use them, in Qt code, - whenever calling into or being called from Symbian code. - - \section1 Qt calls to Symbian - - When calling Symbian leaving functions from Qt code, we want to translate - Symbian leaves to standard C++ exceptions. The following help is provided: - - \list - \o \l qt_symbian_throwIfError() takes a Symbian - error code and throws an appropriate exception to represent it. - This will do nothing if the error code is not in fact an error. The - function is equivalent to Symbian's \c User::LeaveIfError. - \o \l q_check_ptr() takes a pointer and throws a std::bad_alloc - exception if it is 0, otherwise the pointer is returned. This can be - used to check the success of a non-throwing allocation, eg from - \c malloc(). The function is equivalent to Symbian's \c - User::LeaveIfNull. - \o \l QT_TRAP_THROWING() takes a Symbian leaving - code fragment f and runs it under a trap harness converting any resulting - error into an exception. - \o \c TRAP and \c TRAPD from the Symbian libraries can be used to convert - leaves to error codes. - \endlist - - \code - HBufC* buf=0; - // this will throw a std::bad_alloc because we've asked for too much memory - QT_TRAP_THROWING(buf = HBufC::NewL(100000000)); - - _LIT(KStr,"abc"); - TInt pos = KStr().Locate('c'); - // pos is a good value, >= 0, so no exception is thrown - qt_symbian_throwIfError(pos); - - pos = KStr().Locate('d'); - // pos == KErrNotFound, so this throws an exception - qt_symbian_throwIfError(pos); - - // we are asking for a lot of memory, HBufC::New may return NULL, so check it - HBufC *buffer = q_check_ptr(HBufC::New(1000000)); - \endcode - - \section2 Be careful with new and CBase - - When writing Qt code, \c new will normally throw a \c std::bad_alloc if the - allocation fails. However this may not happen if the object being created - has its own \c {operator new}. For example, CBase and derived classes have - their own \c {operator new} which returns 0 and the \c {new(ELeave)} - overload for a leaving \c {operator new}, neither of which does what we want. - When using 2-phase construction of CBase derived objects, use \c new and - \l q_check_ptr(). - - \oldcode - CFbsBitmap* fbsBitmap = new(ELeave) CFbsBitmap; - \newcode - CFbsBitmap* fbsBitmap = q_check_ptr(new CFbsBitmap); - \endcode - - \section1 Qt called from Symbian - - When Qt code is called from Symbian, we want to translate standard C++ - exceptions to Symbian leaves or error codes. The following help is - provided: - - \list - \o \l qt_symbian_exception2Error() - - this takes a standard exception and gives an appropriate Symbian - error code. If no mapping is known for the exception type, - \c KErrGeneral is returned. - \o \l qt_symbian_exception2LeaveL() - - this takes a standard exception and generates an appropriate Symbian - leave. - \o \l QT_TRYCATCH_ERROR() - this macro - takes the standard C++ code fragment \c f, catches any std::exceptions - thrown from it, and sets err to the corresponding Symbian error code. - err is set to \c KErrNone otherwise. - \o \l QT_TRYCATCH_LEAVING() - this macro takes the - standard C++ code fragment \c f, catches any std::exceptions thrown from - it, and throws a corresponding Symbian leave. - \endlist - - \code - TInt DoTickL() // called from an active object RunL, ie Symbian leaves expected - { - // without the translation to Symbian Leave, we get a USER:0 panic - QT_TRYCATCH_LEAVING({ - int* x = new int[100000000]; // compiled as Qt code, will throw std::bad_alloc - delete [] x; - }); - return 0; - } - \endcode - - \section1 Common sense things - - Try to minimise the interleaving of Symbian and Qt code, every switch - requires a barrier. Grouping the code styles in different blocks will - minimise the problems. For instance, examine the following code. - - \code - 1. TRAPD(err, m_playUtility = CMdaAudioPlayerUtility::NewL(*this); - 2. QString filepath = QFileInfo( m_sound->fileName() ).absoluteFilePath(); - 3. filepath = QDir::toNativeSeparators(filepath); - 4. m_playUtility->OpenFileL(qt_QString2TPtrC(filepath))); - \endcode - - Line 1 starts a Symbian leave handling block, which is good because it - also uses a Symbian leave generating function. - - Line 2 creates a \l QString, uses \l QFileInfo and various member functions. - These could all throw exceptions, which is not good inside a \c TRAP block. - - Line 3 is unclear as to whether it might throw an exception, but since - it's dealing with strings it probably does, again bad. - - Line 4 is tricky, it calls a leaving function which is ok within a \c TRAP, - but it also uses a helper function to convert string types. In this case - the helper function may cause an unwelcome exception. - - We could rewrite this with nested exception translations, but it's much - easier to refactor it. - - \code - QString filepath = QFileInfo( m_sound->fileName() ).absoluteFilePath(); - filepath = QDir::toNativeSeparators(filepath); - TPtrC filepathPtr(qt_QString2TPtrC(filepath)); - TRAPD(err, m_playUtility = CMdaAudioPlayerUtility::NewL(*this); - m_playUtility->OpenFileL(filepathPtr)); - \endcode - - Now the exception generating functions are separated from the leaving - functions. - - \section1 Advanced technique - When using Symbian APIs in Qt code, you may find that Symbian leaving - code and Qt exception throwing code are just too mixed up to have - them interoperate through barriers. In some circumstances you can allow - code to both leave and throw exceptions. But you must be aware of the - following issues: - - \list - \o Depending on whether a leave or exception is thrown, or a normal - exit happens, the cleanup order will vary. If the code leaves, - cleanup stack cleanup will happen first. On an exception however, - cleanup stack cleanup will happen last. - \o There must not be any destructor dependencies between different - code styles. That is, you must not have symbian objects using Qt - objects in their destructors, and vice versa. This is because the - cleanup order varies, and may result in objects being used after - they are deleted. - \o The cleanup stack must not refer to any stack based object. For - instance, in Symbian you may use \c CleanupClosePushL() to push - stack based R-classes onto the cleanup stack. However if the - stack has unwound due to an exception before the cleanup stack - cleanup happens, stack based objects will now be invalid. - Instead of using the cleanup stack, consider Symbian's new - \c LManagedHandle<> (or a custom cleanup object) to tie R-class - cleanup to the stack. - \o Mixed throwing code must be called within both a TRAP and a - try/catch harness. Standard exceptions must not propagate to - the TRAP and cleanup stack cleanup will only happen if a leave - is thrown, so the correct pattern is either \c {TRAPD(err, - QT_TRYCATCH_LEAVING( f ));} or \c {QT_TRAP_THROWING( - QT_TRYCATCH_LEAVING( f ));}, depending if you want an error - code or exception as a result. - \endlist -*/ -- cgit v0.12 From f22ba0345f04860f7ca936cc413bccdc77379b23 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Mon, 5 Oct 2009 13:40:36 +0200 Subject: Document Embedded Linux with X11 and Scratchbox environment as Tier 2. (cherry picked from commit b2ea3433f4a42e367fd0708f0198329754903086) --- doc/src/platforms/supported-platforms.qdoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc index 65d335b..4c3929a 100644 --- a/doc/src/platforms/supported-platforms.qdoc +++ b/doc/src/platforms/supported-platforms.qdoc @@ -128,6 +128,8 @@ \o Intel Compiler \row \o Embedded Linux QWS (Mips, PowerPC) \o gcc (\l{http:\\www.codesourcery.com}{Codesourcery version)} + \row \o Embedded Linux X11 (ARM) + \o gcc (\l{http://www.scratchbox.org/}{Scratchbox)} \row \o Windows CE 6.0 (ARMv4i, x86, MIPS) \o MSVC 2008 WinCE 6.0 Professional \endtable -- cgit v0.12 From 52d7cc6ececeda3c264ab0a6294aa5000365dec0 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 5 Oct 2009 13:47:52 +0200 Subject: Updated JavaScriptCore from /home/khansen/dev/qtwebkit to jsc-for-qtscript-4.6-staging-05102009 ( 38c2b17366f24220d9ae0456a7cfe2ac78a9f91c ) Adapt src/script to src/3rdparty/javascriptcore changes (cherry picked from commit 502c7d324141fb48a902ef475b4fd2932dc859c5) --- .../javascriptcore/JavaScriptCore/ChangeLog | 579 +++++++++++++++++++++ .../JavaScriptCore/JavaScriptCore.pri | 10 +- .../JavaScriptCore/assembler/MacroAssemblerARM.cpp | 27 + .../JavaScriptCore/assembler/MacroAssemblerARM.h | 15 + .../JavaScriptCore/assembler/MacroAssemblerARMv7.h | 12 + .../assembler/MacroAssemblerX86Common.h | 10 + .../JavaScriptCore/bytecode/EvalCodeCache.h | 2 +- .../JavaScriptCore/bytecode/SamplingTool.cpp | 30 +- .../JavaScriptCore/bytecode/SamplingTool.h | 22 +- .../bytecompiler/BytecodeGenerator.cpp | 8 +- .../bytecompiler/BytecodeGenerator.h | 9 +- .../JavaScriptCore/debugger/Debugger.cpp | 2 +- .../JavaScriptCore/debugger/DebuggerCallFrame.cpp | 2 +- .../JavaScriptCore/interpreter/Interpreter.cpp | 4 + .../javascriptcore/JavaScriptCore/jit/JIT.cpp | 6 +- .../javascriptcore/JavaScriptCore/jit/JIT.h | 17 +- .../JavaScriptCore/jit/JITArithmetic.cpp | 263 +++++++--- .../javascriptcore/JavaScriptCore/jit/JITCall.cpp | 24 +- .../JavaScriptCore/jit/JITInlineMethods.h | 43 +- .../JavaScriptCore/jit/JITOpcodes.cpp | 113 ++-- .../JavaScriptCore/jit/JITPropertyAccess.cpp | 128 +++-- .../javascriptcore/JavaScriptCore/jit/JITStubs.cpp | 24 +- .../javascriptcore/JavaScriptCore/jit/JITStubs.h | 1 - src/3rdparty/javascriptcore/JavaScriptCore/jsc.cpp | 41 +- .../javascriptcore/JavaScriptCore/parser/Nodes.cpp | 8 - .../JavaScriptCore/runtime/ArrayPrototype.cpp | 51 +- .../JavaScriptCore/runtime/Collector.cpp | 8 +- .../JavaScriptCore/runtime/Completion.cpp | 4 +- .../JavaScriptCore/runtime/Executable.cpp | 2 +- .../JavaScriptCore/runtime/Executable.h | 58 ++- .../JavaScriptCore/runtime/JSArray.cpp | 121 ++--- .../JavaScriptCore/runtime/JSArray.h | 19 +- .../runtime/JSGlobalObjectFunctions.cpp | 2 +- .../JavaScriptCore/runtime/JSValue.cpp | 5 +- .../JavaScriptCore/runtime/JSValue.h | 18 +- .../JavaScriptCore/runtime/Structure.cpp | 3 +- .../JavaScriptCore/runtime/TimeoutChecker.cpp | 25 +- .../JavaScriptCore/wtf/Assertions.cpp | 4 + .../javascriptcore/JavaScriptCore/wtf/Assertions.h | 12 + .../JavaScriptCore/wtf/FastMalloc.cpp | 12 +- .../javascriptcore/JavaScriptCore/wtf/FastMalloc.h | 5 + .../javascriptcore/JavaScriptCore/wtf/Forward.h | 5 +- .../JavaScriptCore/wtf/HashCountedSet.h | 38 +- .../javascriptcore/JavaScriptCore/wtf/Platform.h | 5 + .../JavaScriptCore/wtf/RandomNumber.cpp | 17 + .../javascriptcore/JavaScriptCore/wtf/TCSpinLock.h | 7 + .../JavaScriptCore/wtf/ThreadingPthreads.cpp | 2 +- .../JavaScriptCore/yarr/RegexJIT.cpp | 4 +- src/3rdparty/javascriptcore/VERSION | 4 +- src/3rdparty/javascriptcore/WebKit.pri | 9 +- src/script/api/qscriptengine.cpp | 2 +- 51 files changed, 1347 insertions(+), 495 deletions(-) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog index 84a2935..9dc7916 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog +++ b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog @@ -1,3 +1,518 @@ +2009-10-02 Geoffrey Garen + + Reviewed by Sam Weinig. + + Removed the concept of a "fast access cutoff" in arrays, because it + punished some patterns of array access too much, and made things too + complex for inlining in some cases. + + 1.3% speedup on SunSpider. + + * jit/JITOpcodes.cpp: + (JSC::JIT::emitSlow_op_get_by_val): + (JSC::JIT::emitSlow_op_put_by_val): + * jit/JITPropertyAccess.cpp: + (JSC::JIT::emit_op_get_by_val): + (JSC::JIT::emitSlow_op_get_by_val): + (JSC::JIT::emit_op_put_by_val): + (JSC::JIT::emitSlow_op_put_by_val): + * jit/JITStubs.cpp: + * jit/JITStubs.h: + (JSC::): Check m_vectorLength instead of m_fastAccessCutoff when + getting / putting from / to an array. Inline putting past the end of + the array. + + * runtime/JSArray.cpp: + (JSC::JSArray::JSArray): + (JSC::JSArray::getOwnPropertySlot): + (JSC::JSArray::getOwnPropertyDescriptor): + (JSC::JSArray::put): + (JSC::JSArray::putSlowCase): + (JSC::JSArray::deleteProperty): + (JSC::JSArray::getOwnPropertyNames): + (JSC::JSArray::increaseVectorLength): + (JSC::JSArray::setLength): + (JSC::JSArray::pop): + (JSC::JSArray::push): + (JSC::JSArray::sort): + (JSC::JSArray::fillArgList): + (JSC::JSArray::copyToRegisters): + (JSC::JSArray::compactForSorting): + (JSC::JSArray::checkConsistency): + * runtime/JSArray.h: + (JSC::JSArray::canGetIndex): + (JSC::JSArray::canSetIndex): + (JSC::JSArray::setIndex): + (JSC::JSArray::markChildrenDirect): Removed m_fastAccessCutoff, and + replaced with checks for JSValue() to detect reads and writes from / to + uninitialized parts of the array. + +2009-10-02 Jonni Rainisto + + Reviewed by Darin Adler. + + Math.random() gives too low values on Win32 when _CRT_RAND_S is not defined + https://bugs.webkit.org/show_bug.cgi?id=29956 + + * wtf/RandomNumber.cpp: + (WTF::randomNumber): Added PLATFORM(WIN_OS) to handle 15bit rand() + +2009-10-02 Geoffrey Garen + + Reviewed by Sam Weinig. + + Take one branch instead of two to test for JSValue(). + + 1.1% SunSpider speedup. + + * jit/JITCall.cpp: + (JSC::JIT::compileOpCall): + * jit/JITOpcodes.cpp: + (JSC::JIT::emit_op_to_jsnumber): + (JSC::JIT::emit_op_create_arguments): + * jit/JITPropertyAccess.cpp: + (JSC::JIT::emitSlow_op_get_by_val): + (JSC::JIT::emit_op_put_by_val): Test for the empty value tag, instead + of testing for the cell tag with a 0 payload. + + * runtime/JSValue.cpp: + (JSC::JSValue::description): Added support for dumping the new empty value, + and deleted values, in debug builds. + + * runtime/JSValue.h: + (JSC::JSValue::JSValue()): Construct JSValue() with the empty value tag. + + (JSC::JSValue::JSValue(JSCell*)): Convert null pointer to the empty value + tag, to avoid having two different c++ versions of null / empty. + + (JSC::JSValue::operator bool): Test for the empty value tag, instead + of testing for the cell tag with a 0 payload. + +2009-10-01 Zoltan Horvath + + Reviewed by Simon Hausmann. + + [Qt] Allow custom memory allocation control for the whole JavaScriptCore + https://bugs.webkit.org/show_bug.cgi?id=27029 + + Since in JavaScriptCore almost every class which has been instantiated by operator new is + inherited from FastAllocBase (bug #20422), we disable customizing global operator new for the Qt-port + when USE_SYSTEM_MALLOC=0. + + Add #include to FastMalloc.cpp because it's used by TCMalloc_PageHeap::scavengerThread(). + (It's needed for the functionality of TCmalloc.) + + Add TCSystemAlloc.cpp to JavaScriptCore.pri if USE_SYSTEM_MALLOC is disabled. + + * JavaScriptCore.pri: + * wtf/FastMalloc.cpp: + (WTF::sleep): + * wtf/FastMalloc.h: + +2009-09-30 Oliver Hunt + + Reviewed by Geoff Garen. + + Devirtualise array toString conversion + + Tweak the implementation of Array.prototype.toString to have a fast path + when acting on a true JSArray. + + * runtime/ArrayPrototype.cpp: + (JSC::arrayProtoFuncToString): + +2009-09-30 Csaba Osztrogonac + + Reviewed by Geoffrey Garen. + + Buildfix for platforms using JSVALUE32. + https://bugs.webkit.org/show_bug.cgi?id=29915 + + After http://trac.webkit.org/changeset/48905 the build broke in JSVALUE32 case. + Also removed unreachable code. + + * jit/JITArithmetic.cpp: + (JSC::JIT::emit_op_add): + - Declaration of "OperandTypes types" moved before first use. + - Typos fixed: dst modified to result, regT2 added. + - Unreachable code removed. + (JSC::JIT::emitSlow_op_add): + - Missing declaration of "OperandTypes types" added. + +2009-09-30 Janne Koskinen + + Reviewed by Simon Hausmann. + + Fix CRASH() macro for Symbian build. + + * wtf/Assertions.h: Added missing } + +2009-09-29 Geoffrey Garen + + Reviewed by Sam Weinig. + + Standardized an optimization for adding non-numbers. + + SunSpider says maybe a tiny speedup. + + * jit/JITArithmetic.cpp: + (JSC::JIT::emit_op_add): + (JSC::JIT::emitSlow_op_add): + +2009-09-29 Janne Koskinen + + Reviewed by David Kilzer. + + [Qt] Assert messages prints visible in Symbian + https://bugs.webkit.org/show_bug.cgi?id=29808 + + Asserts use vprintf to print the messages to stderr. + In Symbian Open C it is not possible to see stderr so + I routed the messages to stdout instead. + + * wtf/Assertions.cpp: + +2009-09-29 Janne Koskinen + + Reviewed by Darin Adler. + + [Qt] Symbian CRASH macro implementation + + Added Symbian specific crash macro that + stops to crash line if JIT debugging is used. + Additional differentiation of access violation + (KERN-EXEC 3) and CRASH panic. + + * wtf/Assertions.h: + +2009-09-28 Mark Rowe + + Reviewed by Gavin Barraclough. + + JavaScriptCore fails to mark registers when built for x86_64 using LLVM GCC. + + * runtime/Collector.cpp: + (JSC::Heap::markCurrentThreadConservatively): Force jmp_buf to use the appropriate alignment for a pointer + to ensure that we correctly interpret the contents of registers during marking. + +<<<<<<< HEAD:JavaScriptCore/ChangeLog +======= +2009-09-29 Geoffrey Garen + + Reviewed by Gavin Barraclough. + + Inlined a few math operations. + + ~1% SunSpider speedup. + + * jit/JIT.h: + * jit/JITArithmetic.cpp: + (JSC::JIT::compileBinaryArithOpSlowCase): + (JSC::JIT::emitSlow_op_add): + (JSC::JIT::emitSlow_op_mul): + (JSC::JIT::emit_op_sub): + (JSC::JIT::emitSlow_op_sub): Don't take a stub call when operating on + a constant int and a double. + +2009-09-28 Oliver Hunt + + Reviewed by Geoff Garen. + + Hard dependency on SSE2 instruction set with JIT + https://bugs.webkit.org/show_bug.cgi?id=29779 + + Add floating point support checks to op_jfalse and op_jtrue, and + fix the logic for the slow case of op_add + + * jit/JITArithmetic.cpp: + (JSC::JIT::emitSlow_op_add): + * jit/JITOpcodes.cpp: + (JSC::JIT::emit_op_jfalse): + (JSC::JIT::emit_op_jtrue): + +2009-09-28 Yaar Schnitman + + Reviewed by Dimitri Glazkov. + + Chromium port - recognize we are being built independently + of chromium and look for dependencies under webkit/chromium rather + than chromium/src. + + https://bugs.webkit.org/show_bug.cgi?id=29722 + + * JavaScriptCore.gyp/JavaScriptCore.gyp: + +2009-09-28 Jakub Wieczorek + + Reviewed by Simon Hausmann. + + [Qt] Implement XSLT support with QtXmlPatterns. + https://bugs.webkit.org/show_bug.cgi?id=28303 + + * wtf/Platform.h: Add a WTF_USE_QXMLQUERY #define. + +2009-09-28 Yongjun Zhang + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=28054 + + Use derefInNotNull() to work around winscw compiler forward declaration bug + regarding templated classes. + + The compiler bug is reported at + https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812. + + The change should be reverted when the above bug is fixed in winscw compiler. + + Add parenthesis around (RefPtr::*UnspecifiedBoolType) to make winscw compiler + work with the default UnSpecifiedBoolType() operator, which removes the winscw hack. + + * wtf/RefPtr.h: + (WTF::RefPtr::~RefPtr): + (WTF::RefPtr::clear): + (WTF::RefPtr::operator UnspecifiedBoolType): + +2009-09-28 Gabor Loki + + Reviewed by Simon Hausmann. + + Remove __clear_cache which is an internal function of GCC + https://bugs.webkit.org/show_bug.cgi?id=28886 + + Although __clear_cache is exported from GCC, this is an internal + function. GCC makes no promises about it. + + * jit/ExecutableAllocator.h: + (JSC::ExecutableAllocator::cacheFlush): + +2009-09-28 Sam Weinig + + Reviewed by Oliver Hunt. + + Fix an absolute path to somewhere in Oliver's machine to a relative path + for derived JSONObject.lut.h. + + * JavaScriptCore.xcodeproj/project.pbxproj: + +2009-09-28 Joerg Bornemann + + Reviewed by Simon Hausmann. + + Add ARM version detection for Windows CE. + + * wtf/Platform.h: + +2009-09-26 Yongjun Zhang + + Reviewed by Simon Hausmann. + + Add MarkStackSymbian.cpp to build JavascriptCore for Symbian. + + Re-use Windows shrinkAllocation implementation because Symbian doesn't + support releasing part of memory region. + + Use fastMalloc and fastFree to implement allocateStack and releaseStack + for Symbian port. + + * JavaScriptCore.pri: + * runtime/MarkStack.h: + (JSC::MarkStack::MarkStackArray::shrinkAllocation): + * runtime/MarkStackSymbian.cpp: Added. + (JSC::MarkStack::initializePagesize): + (JSC::MarkStack::allocateStack): + (JSC::MarkStack::releaseStack): + +>>>>>>> 8e5ea20... Hard dependency on SSE2 instruction set with JIT:JavaScriptCore/ChangeLog +2009-09-25 Gabor Loki + + Reviewed by Gavin Barraclough. + + Fix unaligned data access in YARR_JIT on ARMv5 and below. + https://bugs.webkit.org/show_bug.cgi?id=29695 + + On ARMv5 and below all data access should be naturally aligned. + In the YARR_JIT there is a case when character pairs are + loaded from the input string, but this data access is not + naturally aligned. This fix introduces load32WithUnalignedHalfWords + and branch32WithUnalignedHalfWords functions which contain + naturally aligned memory loads - half word loads - on ARMv5 and below. + + * assembler/MacroAssemblerARM.cpp: + (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords): + * assembler/MacroAssemblerARM.h: + (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords): + (JSC::MacroAssemblerARM::branch32WithUnalignedHalfWords): + * assembler/MacroAssemblerARMv7.h: + (JSC::MacroAssemblerARMv7::load32WithUnalignedHalfWords): + (JSC::MacroAssemblerARMv7::branch32): + (JSC::MacroAssemblerARMv7::branch32WithUnalignedHalfWords): + * assembler/MacroAssemblerX86Common.h: + (JSC::MacroAssemblerX86Common::load32WithUnalignedHalfWords): + (JSC::MacroAssemblerX86Common::branch32WithUnalignedHalfWords): + * wtf/Platform.h: + * yarr/RegexJIT.cpp: + (JSC::Yarr::RegexGenerator::generatePatternCharacterPair): + +2009-09-24 Oliver Hunt + + Reviewed by Gavin Barraclough. + + Division is needlessly slow in 64-bit + https://bugs.webkit.org/show_bug.cgi?id=29723 + + Add codegen for op_div on x86-64 + + * jit/JIT.cpp: + (JSC::JIT::privateCompileMainPass): + (JSC::JIT::privateCompileSlowCases): + * jit/JIT.h: + * jit/JITArithmetic.cpp: + (JSC::JIT::compileBinaryArithOpSlowCase): + (JSC::JIT::emit_op_div): + (JSC::JIT::emitSlow_op_div): + * jit/JITInlineMethods.h: + (JSC::JIT::isOperandConstantImmediateDouble): + (JSC::JIT::addressFor): + (JSC::JIT::emitLoadDouble): + (JSC::JIT::emitLoadInt32ToDouble): + (JSC::JIT::emitJumpSlowCaseIfNotImmediateNumber): + +2009-09-24 Yong Li + + Reviewed by Adam Barth. + + Replace platform-dependent code with WTF::currentTime() + https://bugs.webkit.org/show_bug.cgi?id=29148 + + * jsc.cpp: + (StopWatch::start): + (StopWatch::stop): + (StopWatch::getElapsedMS): + * runtime/TimeoutChecker.cpp: + (JSC::getCPUTime): + +2009-09-24 Mark Rowe + + Reviewed by Gavin Barraclough. + + Fix FastMalloc to build with assertions enabled. + + * wtf/FastMalloc.cpp: + (WTF::TCMalloc_Central_FreeList::ReleaseToSpans): + * wtf/TCSpinLock.h: + (TCMalloc_SpinLock::IsHeld): + +2009-09-24 Mark Rowe + + Reviewed by Sam Weinig. + + FastMalloc scavenging thread should be named + + * wtf/FastMalloc.cpp: + (WTF::TCMalloc_PageHeap::scavengerThread): Set the thread name. + * wtf/Platform.h: Move the knowledge of whether pthread_setname_np exists to here as HAVE(PTHREAD_SETNAME_NP). + * wtf/ThreadingPthreads.cpp: + (WTF::setThreadNameInternal): Use HAVE(PTHREAD_SETNAME_NP). + +2009-09-24 Geoffrey Garen + + Suggested by Darin Adler. + + Removed some unnecessary parameter names. + + * wtf/HashCountedSet.h: + +2009-09-22 Oliver Hunt + + Reviewed by Geoff Garen. + + Code sampling builds are broken. + https://bugs.webkit.org/show_bug.cgi?id=29662 + + Fix build. + + * bytecode/EvalCodeCache.h: + (JSC::EvalCodeCache::get): + * bytecode/SamplingTool.cpp: + (JSC::ScriptSampleRecord::sample): + (JSC::SamplingTool::doRun): + (JSC::SamplingTool::notifyOfScope): + (JSC::compareScriptSampleRecords): + (JSC::SamplingTool::dump): + * bytecode/SamplingTool.h: + (JSC::ScriptSampleRecord::ScriptSampleRecord): + (JSC::ScriptSampleRecord::~ScriptSampleRecord): + (JSC::SamplingTool::SamplingTool): + * bytecompiler/BytecodeGenerator.cpp: + (JSC::BytecodeGenerator::BytecodeGenerator): + (JSC::BytecodeGenerator::emitNewFunction): + (JSC::BytecodeGenerator::emitNewFunctionExpression): + * bytecompiler/BytecodeGenerator.h: + (JSC::BytecodeGenerator::makeFunction): + * debugger/Debugger.cpp: + (JSC::evaluateInGlobalCallFrame): + * debugger/DebuggerCallFrame.cpp: + (JSC::DebuggerCallFrame::evaluate): + * parser/Nodes.cpp: + (JSC::ScopeNode::ScopeNode): + * runtime/Completion.cpp: + (JSC::checkSyntax): + (JSC::evaluate): + * runtime/Executable.cpp: + (JSC::FunctionExecutable::fromGlobalCode): + * runtime/Executable.h: + (JSC::ScriptExecutable::ScriptExecutable): + (JSC::EvalExecutable::EvalExecutable): + (JSC::EvalExecutable::create): + (JSC::ProgramExecutable::ProgramExecutable): + (JSC::FunctionExecutable::create): + (JSC::FunctionExecutable::FunctionExecutable): + * runtime/JSGlobalObjectFunctions.cpp: + (JSC::globalFuncEval): + +2009-09-22 Darin Adler + + Reviewed by Sam Weinig. + + * wtf/Forward.h: Added PassOwnPtr. + +2009-09-22 Simon Hausmann + + Unreviewed build fix for Windows CE < 5 + + Define WINCEBASIC to disable the IsDebuggerPresent() code in + wtf/Assertions.cpp. + + * JavaScriptCore.pri: + +2009-10-02 Tor Arne Vestbø + + Rubber-stamped by Simon Hausmann. + + Fix the Qt on Mac OS X build. + + * wtf/FastMalloc.cpp: + +2009-10-02 Jørgen Lind + + Reviewed by Simon Hausmann. + + Allow enabling and disabling of the JIT through a qmake variable. + + Qt's configure may set this variable through .qmake.cache if a + commandline option is given and/or the compile test for hwcap.h + failed/succeeded. + + * JavaScriptCore.pri: + +2009-09-23 Geoffrey Garen + + A piece of my last patch that I forgot. + + * wtf/HashCountedSet.h: + (WTF::::clear): Added HashCountedSet::clear. + 2009-09-24 Gabor Loki Reviewed by Gavin Barraclough. @@ -28,6 +543,70 @@ * jit/ExecutableAllocator.h: (JSC::ExecutableAllocator::cacheFlush): +2009-09-21 Oliver Hunt + + Reviewed by Geoff Garen. + + REGRESSION (r48582): Crash in StructureStubInfo::initPutByIdTransition when reloading trac.webkit.org + https://bugs.webkit.org/show_bug.cgi?id=29599 + + It is unsafe to attempt to cache new property transitions on + dictionaries of any type. + + * interpreter/Interpreter.cpp: + (JSC::Interpreter::tryCachePutByID): + * jit/JITStubs.cpp: + (JSC::JITThunks::tryCachePutByID): + +2009-09-21 Oliver Hunt + + RS=Maciej Stachowiak. + + Re-land SNES fix with corrected assertion. + + * interpreter/Interpreter.cpp: + (JSC::Interpreter::resolveGlobal): + (JSC::Interpreter::tryCachePutByID): + (JSC::Interpreter::tryCacheGetByID): + * jit/JITStubs.cpp: + (JSC::JITThunks::tryCachePutByID): + (JSC::JITThunks::tryCacheGetByID): + (JSC::DEFINE_STUB_FUNCTION): + * runtime/BatchedTransitionOptimizer.h: + (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer): + * runtime/JSObject.cpp: + (JSC::JSObject::removeDirect): + * runtime/Structure.cpp: + (JSC::Structure::Structure): + (JSC::Structure::getEnumerablePropertyNames): + (JSC::Structure::despecifyDictionaryFunction): + (JSC::Structure::addPropertyTransitionToExistingStructure): + (JSC::Structure::addPropertyTransition): + (JSC::Structure::removePropertyTransition): + (JSC::Structure::toDictionaryTransition): + (JSC::Structure::toCacheableDictionaryTransition): + (JSC::Structure::toUncacheableDictionaryTransition): + (JSC::Structure::fromDictionaryTransition): + (JSC::Structure::removePropertyWithoutTransition): + * runtime/Structure.h: + (JSC::Structure::isDictionary): + (JSC::Structure::isUncacheableDictionary): + (JSC::Structure::): + * runtime/StructureChain.cpp: + (JSC::StructureChain::isCacheable): + +2009-09-21 Adam Roben + + Revert r48573, as it caused many assertion failures + + * interpreter/Interpreter.cpp: + * jit/JITStubs.cpp: + * runtime/BatchedTransitionOptimizer.h: + * runtime/JSObject.cpp: + * runtime/Structure.cpp: + * runtime/Structure.h: + * runtime/StructureChain.cpp: + 2009-09-21 Gustavo Noronha Silva Unreviewed make dist build fix. Missing files. diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri index 965f3d6..5c1d518 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri +++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri @@ -36,7 +36,6 @@ GENERATED_SOURCES_DIR_SLASH = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP} win32-* { LIBS += -lwinmm } - contains(JAVASCRIPTCORE_JIT,yes): DEFINES+=ENABLE_JIT=1 contains(JAVASCRIPTCORE_JIT,no): DEFINES+=ENABLE_JIT=0 @@ -53,7 +52,10 @@ win32-* { } } -wince*: SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.cpp +wince* { + SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.cpp + DEFINES += WINCEBASIC +} include(pcre/pcre.pri) @@ -136,6 +138,10 @@ win32-*|wince* { runtime/MarkStackPosix.cpp } +!contains(DEFINES, USE_SYSTEM_MALLOC) { + SOURCES += wtf/TCSystemAlloc.cpp +} + # AllInOneFile.cpp helps gcc analize and optimize code # Other compilers may be able to do this at link time SOURCES += \ diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARM.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARM.cpp index 43648c4..d726ecd 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARM.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARM.cpp @@ -62,6 +62,33 @@ static bool isVFPPresent() const bool MacroAssemblerARM::s_isVFPPresent = isVFPPresent(); +#if defined(ARM_REQUIRE_NATURAL_ALIGNMENT) && ARM_REQUIRE_NATURAL_ALIGNMENT +void MacroAssemblerARM::load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) +{ + ARMWord op2; + + ASSERT(address.scale >= 0 && address.scale <= 3); + op2 = m_assembler.lsl(address.index, static_cast(address.scale)); + + if (address.offset >= 0 && address.offset + 0x2 <= 0xff) { + m_assembler.add_r(ARMRegisters::S0, address.base, op2); + m_assembler.ldrh_u(dest, ARMRegisters::S0, ARMAssembler::getOp2Byte(address.offset)); + m_assembler.ldrh_u(ARMRegisters::S0, ARMRegisters::S0, ARMAssembler::getOp2Byte(address.offset + 0x2)); + } else if (address.offset < 0 && address.offset >= -0xff) { + m_assembler.add_r(ARMRegisters::S0, address.base, op2); + m_assembler.ldrh_d(dest, ARMRegisters::S0, ARMAssembler::getOp2Byte(-address.offset)); + m_assembler.ldrh_d(ARMRegisters::S0, ARMRegisters::S0, ARMAssembler::getOp2Byte(-address.offset - 0x2)); + } else { + m_assembler.ldr_un_imm(ARMRegisters::S0, address.offset); + m_assembler.add_r(ARMRegisters::S0, ARMRegisters::S0, op2); + m_assembler.ldrh_r(dest, address.base, ARMRegisters::S0); + m_assembler.add_r(ARMRegisters::S0, ARMRegisters::S0, ARMAssembler::OP2_IMM | 0x2); + m_assembler.ldrh_r(ARMRegisters::S0, address.base, ARMRegisters::S0); + } + m_assembler.orr_r(dest, dest, m_assembler.lsl(ARMRegisters::S0, 16)); +} +#endif + } #endif // ENABLE(ASSEMBLER) && PLATFORM(ARM_TRADITIONAL) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARM.h b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARM.h index 0c696c9..aa8cbb0 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARM.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARM.h @@ -198,6 +198,15 @@ public: m_assembler.baseIndexTransfer32(true, dest, address.base, address.index, static_cast(address.scale), address.offset); } +#if defined(ARM_REQUIRE_NATURAL_ALIGNMENT) && ARM_REQUIRE_NATURAL_ALIGNMENT + void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest); +#else + void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) + { + load32(address, dest); + } +#endif + DataLabel32 load32WithAddressOffsetPatch(Address address, RegisterID dest) { DataLabel32 dataLabel(this); @@ -364,6 +373,12 @@ public: return branch32(cond, ARMRegisters::S1, right); } + Jump branch32WithUnalignedHalfWords(Condition cond, BaseIndex left, Imm32 right) + { + load32WithUnalignedHalfWords(left, ARMRegisters::S1); + return branch32(cond, ARMRegisters::S1, right); + } + Jump branch16(Condition cond, BaseIndex left, RegisterID right) { UNUSED_PARAM(cond); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARMv7.h index 999056b..a549604 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARMv7.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerARMv7.h @@ -375,6 +375,11 @@ public: load32(setupArmAddress(address), dest); } + void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) + { + load32(setupArmAddress(address), dest); + } + void load32(void* address, RegisterID dest) { move(ImmPtr(address), addressTempRegister); @@ -717,6 +722,13 @@ public: return branch32(cond, addressTempRegister, right); } + Jump branch32WithUnalignedHalfWords(Condition cond, BaseIndex left, Imm32 right) + { + // use addressTempRegister incase the branch32 we call uses dataTempRegister. :-/ + load32WithUnalignedHalfWords(left, addressTempRegister); + return branch32(cond, addressTempRegister, right); + } + Jump branch32(Condition cond, AbsoluteAddress left, RegisterID right) { load32(left.m_ptr, dataTempRegister); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerX86Common.h b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerX86Common.h index 61e0e17..5ebefa7 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerX86Common.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerX86Common.h @@ -306,6 +306,11 @@ public: m_assembler.movl_mr(address.offset, address.base, address.index, address.scale, dest); } + void load32WithUnalignedHalfWords(BaseIndex address, RegisterID dest) + { + load32(address, dest); + } + DataLabel32 load32WithAddressOffsetPatch(Address address, RegisterID dest) { m_assembler.movl_mr_disp32(address.offset, address.base, dest); @@ -604,6 +609,11 @@ public: return Jump(m_assembler.jCC(x86Condition(cond))); } + Jump branch32WithUnalignedHalfWords(Condition cond, BaseIndex left, Imm32 right) + { + return branch32(cond, left, right); + } + Jump branch16(Condition cond, BaseIndex left, RegisterID right) { m_assembler.cmpw_rm(right, left.offset, left.base, left.index, left.scale); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/EvalCodeCache.h b/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/EvalCodeCache.h index 0e1fb1e..05834fc 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/EvalCodeCache.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/EvalCodeCache.h @@ -50,7 +50,7 @@ namespace JSC { evalExecutable = m_cacheMap.get(evalSource.rep()); if (!evalExecutable) { - evalExecutable = EvalExecutable::create(makeSource(evalSource)); + evalExecutable = EvalExecutable::create(exec, makeSource(evalSource)); exceptionValue = evalExecutable->compile(exec, scopeChain); if (exceptionValue) return 0; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/SamplingTool.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/SamplingTool.cpp index 8d0faa1..865c919 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/SamplingTool.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/SamplingTool.cpp @@ -157,7 +157,7 @@ void SamplingThread::stop() } -void ScopeSampleRecord::sample(CodeBlock* codeBlock, Instruction* vPC) +void ScriptSampleRecord::sample(CodeBlock* codeBlock, Instruction* vPC) { if (!m_samples) { m_size = codeBlock->instructions().size(); @@ -196,8 +196,8 @@ void SamplingTool::doRun() #if ENABLE(CODEBLOCK_SAMPLING) if (CodeBlock* codeBlock = sample.codeBlock()) { - MutexLocker locker(m_scopeSampleMapMutex); - ScopeSampleRecord* record = m_scopeSampleMap->get(codeBlock->ownerExecutable()); + MutexLocker locker(m_scriptSampleMapMutex); + ScriptSampleRecord* record = m_scopeSampleMap->get(codeBlock->ownerExecutable()); ASSERT(record); record->sample(codeBlock, sample.vPC()); } @@ -209,13 +209,13 @@ void SamplingTool::sample() s_samplingTool->doRun(); } -void SamplingTool::notifyOfScope(ScopeNode* scope) +void SamplingTool::notifyOfScope(ScriptExecutable* script) { #if ENABLE(CODEBLOCK_SAMPLING) - MutexLocker locker(m_scopeSampleMapMutex); - m_scopeSampleMap->set(scope, new ScopeSampleRecord(scope)); + MutexLocker locker(m_scriptSampleMapMutex); + m_scopeSampleMap->set(script, new ScriptSampleRecord(script)); #else - UNUSED_PARAM(scope); + UNUSED_PARAM(script); #endif } @@ -254,10 +254,10 @@ static int compareLineCountInfoSampling(const void* left, const void* right) return (leftLineCount->line > rightLineCount->line) ? 1 : (leftLineCount->line < rightLineCount->line) ? -1 : 0; } -static int compareScopeSampleRecords(const void* left, const void* right) +static int compareScriptSampleRecords(const void* left, const void* right) { - const ScopeSampleRecord* const leftValue = *static_cast(left); - const ScopeSampleRecord* const rightValue = *static_cast(right); + const ScriptSampleRecord* const leftValue = *static_cast(left); + const ScriptSampleRecord* const rightValue = *static_cast(right); return (leftValue->m_sampleCount < rightValue->m_sampleCount) ? 1 : (leftValue->m_sampleCount > rightValue->m_sampleCount) ? -1 : 0; } @@ -318,26 +318,26 @@ void SamplingTool::dump(ExecState* exec) // (3) Build and sort 'codeBlockSamples' array. int scopeCount = m_scopeSampleMap->size(); - Vector codeBlockSamples(scopeCount); - ScopeSampleRecordMap::iterator iter = m_scopeSampleMap->begin(); + Vector codeBlockSamples(scopeCount); + ScriptSampleRecordMap::iterator iter = m_scopeSampleMap->begin(); for (int i = 0; i < scopeCount; ++i, ++iter) codeBlockSamples[i] = iter->second; - qsort(codeBlockSamples.begin(), scopeCount, sizeof(ScopeSampleRecord*), compareScopeSampleRecords); + qsort(codeBlockSamples.begin(), scopeCount, sizeof(ScriptSampleRecord*), compareScriptSampleRecords); // (4) Print data from 'codeBlockSamples' array. printf("\nCodeBlock samples\n\n"); for (int i = 0; i < scopeCount; ++i) { - ScopeSampleRecord* record = codeBlockSamples[i]; + ScriptSampleRecord* record = codeBlockSamples[i]; CodeBlock* codeBlock = record->m_codeBlock; double blockPercent = (record->m_sampleCount * 100.0) / m_sampleCount; if (blockPercent >= 1) { //Instruction* code = codeBlock->instructions().begin(); - printf("#%d: %s:%d: %d / %lld (%.3f%%)\n", i + 1, record->m_scope->sourceURL().UTF8String().c_str(), codeBlock->lineNumberForBytecodeOffset(exec, 0), record->m_sampleCount, m_sampleCount, blockPercent); + printf("#%d: %s:%d: %d / %lld (%.3f%%)\n", i + 1, record->m_executable->sourceURL().UTF8String().c_str(), codeBlock->lineNumberForBytecodeOffset(exec, 0), record->m_sampleCount, m_sampleCount, blockPercent); if (i < 10) { HashMap lineCounts; codeBlock->dump(exec); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/SamplingTool.h b/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/SamplingTool.h index 1a3f7cf..711b086 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/SamplingTool.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/bytecode/SamplingTool.h @@ -38,6 +38,8 @@ namespace JSC { + class ScriptExecutable; + class SamplingFlags { friend class JIT; public: @@ -92,9 +94,9 @@ namespace JSC { class ScopeNode; struct Instruction; - struct ScopeSampleRecord { - ScopeSampleRecord(ScopeNode* scope) - : m_scope(scope) + struct ScriptSampleRecord { + ScriptSampleRecord(ScriptExecutable* executable) + : m_executable(executable) , m_codeBlock(0) , m_sampleCount(0) , m_opcodeSampleCount(0) @@ -103,7 +105,7 @@ namespace JSC { { } - ~ScopeSampleRecord() + ~ScriptSampleRecord() { if (m_samples) free(m_samples); @@ -111,7 +113,7 @@ namespace JSC { void sample(CodeBlock*, Instruction*); - RefPtr m_scope; + ScriptExecutable* m_executable; CodeBlock* m_codeBlock; int m_sampleCount; int m_opcodeSampleCount; @@ -119,7 +121,7 @@ namespace JSC { unsigned m_size; }; - typedef WTF::HashMap ScopeSampleRecordMap; + typedef WTF::HashMap ScriptSampleRecordMap; class SamplingThread { public: @@ -193,7 +195,7 @@ namespace JSC { , m_sampleCount(0) , m_opcodeSampleCount(0) #if ENABLE(CODEBLOCK_SAMPLING) - , m_scopeSampleMap(new ScopeSampleRecordMap()) + , m_scopeSampleMap(new ScriptSampleRecordMap()) #endif { memset(m_opcodeSamples, 0, sizeof(m_opcodeSamples)); @@ -210,7 +212,7 @@ namespace JSC { void setup(); void dump(ExecState*); - void notifyOfScope(ScopeNode* scope); + void notifyOfScope(ScriptExecutable* scope); void sample(CodeBlock* codeBlock, Instruction* vPC) { @@ -266,8 +268,8 @@ namespace JSC { unsigned m_opcodeSamplesInCTIFunctions[numOpcodeIDs]; #if ENABLE(CODEBLOCK_SAMPLING) - Mutex m_scopeSampleMapMutex; - OwnPtr m_scopeSampleMap; + Mutex m_scriptSampleMapMutex; + OwnPtr m_scopeSampleMap; #endif }; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp index 74bf4f8..10a1136 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp @@ -273,7 +273,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* d } else { for (size_t i = 0; i < functionStack.size(); ++i) { FunctionBodyNode* function = functionStack[i]; - globalObject->putWithAttributes(exec, function->ident(), new (exec) JSFunction(exec, makeFunction(function), scopeChain.node()), DontDelete); + globalObject->putWithAttributes(exec, function->ident(), new (exec) JSFunction(exec, makeFunction(exec, function), scopeChain.node()), DontDelete); } for (size_t i = 0; i < varStack.size(); ++i) { if (globalObject->hasProperty(exec, *varStack[i].first)) @@ -399,7 +399,7 @@ BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, const Debugger* debugge const DeclarationStacks::FunctionStack& functionStack = evalNode->functionStack(); for (size_t i = 0; i < functionStack.size(); ++i) - m_codeBlock->addFunctionDecl(makeFunction(functionStack[i])); + m_codeBlock->addFunctionDecl(makeFunction(m_globalData, functionStack[i])); const DeclarationStacks::VarStack& varStack = evalNode->varStack(); unsigned numVariables = varStack.size(); @@ -1316,7 +1316,7 @@ RegisterID* BytecodeGenerator::emitNewArray(RegisterID* dst, ElementNode* elemen RegisterID* BytecodeGenerator::emitNewFunction(RegisterID* dst, FunctionBodyNode* function) { - unsigned index = m_codeBlock->addFunctionDecl(makeFunction(function)); + unsigned index = m_codeBlock->addFunctionDecl(makeFunction(m_globalData, function)); emitOpcode(op_new_func); instructions().append(dst->index()); @@ -1336,7 +1336,7 @@ RegisterID* BytecodeGenerator::emitNewRegExp(RegisterID* dst, RegExp* regExp) RegisterID* BytecodeGenerator::emitNewFunctionExpression(RegisterID* r0, FuncExprNode* n) { FunctionBodyNode* function = n->body(); - unsigned index = m_codeBlock->addFunctionExpr(makeFunction(function)); + unsigned index = m_codeBlock->addFunctionExpr(makeFunction(m_globalData, function)); emitOpcode(op_new_func_exp); instructions().append(r0->index()); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h index 935787c..f614f0b 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h @@ -417,9 +417,14 @@ namespace JSC { RegisterID* addConstantValue(JSValue); unsigned addRegExp(RegExp*); - PassRefPtr makeFunction(FunctionBodyNode* body) + PassRefPtr makeFunction(ExecState* exec, FunctionBodyNode* body) { - return FunctionExecutable::create(body->ident(), body->source(), body->usesArguments(), body->parameters(), body->lineNo(), body->lastLine()); + return FunctionExecutable::create(exec, body->ident(), body->source(), body->usesArguments(), body->parameters(), body->lineNo(), body->lastLine()); + } + + PassRefPtr makeFunction(JSGlobalData* globalData, FunctionBodyNode* body) + { + return FunctionExecutable::create(globalData, body->ident(), body->source(), body->usesArguments(), body->parameters(), body->lineNo(), body->lastLine()); } Vector& instructions() { return m_codeBlock->instructions(); } diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/debugger/Debugger.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/debugger/Debugger.cpp index 61167d4..db02329 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/debugger/Debugger.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/debugger/Debugger.cpp @@ -100,7 +100,7 @@ JSValue evaluateInGlobalCallFrame(const UString& script, JSValue& exception, JSG { CallFrame* globalCallFrame = globalObject->globalExec(); - EvalExecutable eval(makeSource(script)); + EvalExecutable eval(globalCallFrame, makeSource(script)); JSObject* error = eval.compile(globalCallFrame, globalCallFrame->scopeChain()); if (error) return error; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/debugger/DebuggerCallFrame.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/debugger/DebuggerCallFrame.cpp index 9c8ca2a..88b14e6 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/debugger/DebuggerCallFrame.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/debugger/DebuggerCallFrame.cpp @@ -79,7 +79,7 @@ JSValue DebuggerCallFrame::evaluate(const UString& script, JSValue& exception) c if (!m_callFrame->codeBlock()) return JSValue(); - EvalExecutable eval(makeSource(script)); + EvalExecutable eval(m_callFrame, makeSource(script)); JSObject* error = eval.compile(m_callFrame, m_callFrame->scopeChain()); if (error) return error; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp index 76c8510..4f00b2b 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/interpreter/Interpreter.cpp @@ -1026,6 +1026,10 @@ NEVER_INLINE void Interpreter::tryCachePutByID(CallFrame* callFrame, CodeBlock* // Structure transition, cache transition info if (slot.type() == PutPropertySlot::NewProperty) { + if (structure->isDictionary()) { + vPC[0] = getOpcode(op_put_by_id_generic); + return; + } vPC[0] = getOpcode(op_put_by_id_transition); vPC[4] = structure->previousID(); vPC[5] = structure; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JIT.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JIT.cpp index bf3a418..ea8434e 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JIT.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JIT.cpp @@ -195,7 +195,7 @@ void JIT::privateCompileMainPass() switch (m_interpreter->getOpcodeID(currentInstruction->u.opcode)) { DEFINE_BINARY_OP(op_del_by_val) -#if !USE(JSVALUE32_64) +#if USE(JSVALUE32) DEFINE_BINARY_OP(op_div) #endif DEFINE_BINARY_OP(op_in) @@ -230,7 +230,7 @@ void JIT::privateCompileMainPass() DEFINE_OP(op_create_arguments) DEFINE_OP(op_debug) DEFINE_OP(op_del_by_id) -#if USE(JSVALUE32_64) +#if !USE(JSVALUE32) DEFINE_OP(op_div) #endif DEFINE_OP(op_end) @@ -379,7 +379,7 @@ void JIT::privateCompileSlowCases() DEFINE_SLOWCASE_OP(op_construct) DEFINE_SLOWCASE_OP(op_construct_verify) DEFINE_SLOWCASE_OP(op_convert_this) -#if USE(JSVALUE32_64) +#if !USE(JSVALUE32) DEFINE_SLOWCASE_OP(op_div) #endif DEFINE_SLOWCASE_OP(op_eq) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JIT.h b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JIT.h index 5c58e9d..fcbc45e 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JIT.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JIT.h @@ -379,14 +379,18 @@ namespace JSC { enum CompileOpStrictEqType { OpStrictEq, OpNStrictEq }; void compileOpStrictEq(Instruction* instruction, CompileOpStrictEqType type); + bool isOperandConstantImmediateDouble(unsigned src); + + void emitLoadDouble(unsigned index, FPRegisterID value); + void emitLoadInt32ToDouble(unsigned index, FPRegisterID value); + + Address addressFor(unsigned index, RegisterID base = callFrameRegister); #if USE(JSVALUE32_64) Address tagFor(unsigned index, RegisterID base = callFrameRegister); Address payloadFor(unsigned index, RegisterID base = callFrameRegister); - Address addressFor(unsigned index, RegisterID base = callFrameRegister); bool getOperandConstantImmediateInt(unsigned op1, unsigned op2, unsigned& op, int32_t& constant); - bool isOperandConstantImmediateDouble(unsigned src); void emitLoadTag(unsigned index, RegisterID tag); void emitLoadPayload(unsigned index, RegisterID payload); @@ -394,8 +398,6 @@ namespace JSC { void emitLoad(const JSValue& v, RegisterID tag, RegisterID payload); void emitLoad(unsigned index, RegisterID tag, RegisterID payload, RegisterID base = callFrameRegister); void emitLoad2(unsigned index1, RegisterID tag1, RegisterID payload1, unsigned index2, RegisterID tag2, RegisterID payload2); - void emitLoadDouble(unsigned index, FPRegisterID value); - void emitLoadInt32ToDouble(unsigned index, FPRegisterID value); void emitStore(unsigned index, RegisterID tag, RegisterID payload, RegisterID base = callFrameRegister); void emitStore(unsigned index, const JSValue constant, RegisterID base = callFrameRegister); @@ -499,6 +501,7 @@ namespace JSC { JIT::Jump emitJumpIfNotImmediateInteger(RegisterID); JIT::Jump emitJumpIfNotImmediateIntegers(RegisterID, RegisterID, RegisterID); void emitJumpSlowCaseIfNotImmediateInteger(RegisterID); + void emitJumpSlowCaseIfNotImmediateNumber(RegisterID); void emitJumpSlowCaseIfNotImmediateIntegers(RegisterID, RegisterID, RegisterID); #if !USE(JSVALUE64) @@ -511,7 +514,11 @@ namespace JSC { void emitTagAsBoolImmediate(RegisterID reg); void compileBinaryArithOp(OpcodeID, unsigned dst, unsigned src1, unsigned src2, OperandTypes opi); - void compileBinaryArithOpSlowCase(OpcodeID, Vector::iterator&, unsigned dst, unsigned src1, unsigned src2, OperandTypes opi); +#if USE(JSVALUE64) + void compileBinaryArithOpSlowCase(OpcodeID, Vector::iterator&, unsigned dst, unsigned src1, unsigned src2, OperandTypes, bool op1HasImmediateIntFastCase, bool op2HasImmediateIntFastCase); +#else + void compileBinaryArithOpSlowCase(OpcodeID, Vector::iterator&, unsigned dst, unsigned src1, unsigned src2, OperandTypes); +#endif #if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS) void compileGetByIdHotPath(int resultVReg, int baseVReg, Identifier* ident, unsigned propertyAccessInstructionIndex); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITArithmetic.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITArithmetic.cpp index 3be13cb..7afc1f2 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITArithmetic.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITArithmetic.cpp @@ -566,6 +566,14 @@ void JIT::emit_op_add(Instruction* currentInstruction) unsigned op2 = currentInstruction[3].u.operand; OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) { + JITStubCall stubCall(this, cti_op_add); + stubCall.addArgument(op1); + stubCall.addArgument(op2); + stubCall.call(dst); + return; + } + JumpList notInt32Op1; JumpList notInt32Op2; @@ -630,19 +638,21 @@ void JIT::emitSlow_op_add(Instruction* currentInstruction, Vector unsigned op2 = currentInstruction[3].u.operand; OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) + return; + unsigned op; int32_t constant; if (getOperandConstantImmediateInt(op1, op2, op, constant)) { linkSlowCase(iter); // overflow check - if (!supportsFloatingPoint()) { + if (!supportsFloatingPoint()) linkSlowCase(iter); // non-sse case - return; + else { + ResultType opType = op == op1 ? types.first() : types.second(); + if (!opType.definitelyIsNumber()) + linkSlowCase(iter); // double check } - - ResultType opType = op == op1 ? types.first() : types.second(); - if (!opType.definitelyIsNumber()) - linkSlowCase(iter); // double check } else { linkSlowCase(iter); // overflow check @@ -1932,55 +1942,87 @@ void JIT::compileBinaryArithOp(OpcodeID opcodeID, unsigned, unsigned op1, unsign emitFastArithIntToImmNoCheck(regT0, regT0); } -void JIT::compileBinaryArithOpSlowCase(OpcodeID opcodeID, Vector::iterator& iter, unsigned result, unsigned op1, unsigned, OperandTypes types) +void JIT::compileBinaryArithOpSlowCase(OpcodeID opcodeID, Vector::iterator& iter, unsigned result, unsigned op1, unsigned op2, OperandTypes types, bool op1HasImmediateIntFastCase, bool op2HasImmediateIntFastCase) { // We assume that subtracting TagTypeNumber is equivalent to adding DoubleEncodeOffset. COMPILE_ASSERT(((JSImmediate::TagTypeNumber + JSImmediate::DoubleEncodeOffset) == 0), TagTypeNumber_PLUS_DoubleEncodeOffset_EQUALS_0); - - Jump notImm1 = getSlowCase(iter); - Jump notImm2 = getSlowCase(iter); + + Jump notImm1; + Jump notImm2; + if (op1HasImmediateIntFastCase) { + notImm2 = getSlowCase(iter); + } else if (op2HasImmediateIntFastCase) { + notImm1 = getSlowCase(iter); + } else { + notImm1 = getSlowCase(iter); + notImm2 = getSlowCase(iter); + } linkSlowCase(iter); // Integer overflow case - we could handle this in JIT code, but this is likely rare. - if (opcodeID == op_mul) // op_mul has an extra slow case to handle 0 * negative number. + if (opcodeID == op_mul && !op1HasImmediateIntFastCase && !op2HasImmediateIntFastCase) // op_mul has an extra slow case to handle 0 * negative number. linkSlowCase(iter); emitGetVirtualRegister(op1, regT0); Label stubFunctionCall(this); JITStubCall stubCall(this, opcodeID == op_add ? cti_op_add : opcodeID == op_sub ? cti_op_sub : cti_op_mul); + if (op1HasImmediateIntFastCase || op2HasImmediateIntFastCase) { + emitGetVirtualRegister(op1, regT0); + emitGetVirtualRegister(op2, regT1); + } stubCall.addArgument(regT0); stubCall.addArgument(regT1); stubCall.call(result); Jump end = jump(); - // if we get here, eax is not an int32, edx not yet checked. - notImm1.link(this); - if (!types.first().definitelyIsNumber()) - emitJumpIfNotImmediateNumber(regT0).linkTo(stubFunctionCall, this); - if (!types.second().definitelyIsNumber()) - emitJumpIfNotImmediateNumber(regT1).linkTo(stubFunctionCall, this); - addPtr(tagTypeNumberRegister, regT0); - movePtrToDouble(regT0, fpRegT1); - Jump op2isDouble = emitJumpIfNotImmediateInteger(regT1); - convertInt32ToDouble(regT1, fpRegT2); - Jump op2wasInteger = jump(); - - // if we get here, eax IS an int32, edx is not. - notImm2.link(this); - if (!types.second().definitelyIsNumber()) - emitJumpIfNotImmediateNumber(regT1).linkTo(stubFunctionCall, this); - convertInt32ToDouble(regT0, fpRegT1); - op2isDouble.link(this); - addPtr(tagTypeNumberRegister, regT1); - movePtrToDouble(regT1, fpRegT2); - op2wasInteger.link(this); + if (op1HasImmediateIntFastCase) { + notImm2.link(this); + if (!types.second().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT0).linkTo(stubFunctionCall, this); + emitGetVirtualRegister(op1, regT1); + convertInt32ToDouble(regT1, fpRegT1); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT2); + } else if (op2HasImmediateIntFastCase) { + notImm1.link(this); + if (!types.first().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT0).linkTo(stubFunctionCall, this); + emitGetVirtualRegister(op2, regT1); + convertInt32ToDouble(regT1, fpRegT1); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT2); + } else { + // if we get here, eax is not an int32, edx not yet checked. + notImm1.link(this); + if (!types.first().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT0).linkTo(stubFunctionCall, this); + if (!types.second().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT1).linkTo(stubFunctionCall, this); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT1); + Jump op2isDouble = emitJumpIfNotImmediateInteger(regT1); + convertInt32ToDouble(regT1, fpRegT2); + Jump op2wasInteger = jump(); + + // if we get here, eax IS an int32, edx is not. + notImm2.link(this); + if (!types.second().definitelyIsNumber()) + emitJumpIfNotImmediateNumber(regT1).linkTo(stubFunctionCall, this); + convertInt32ToDouble(regT0, fpRegT1); + op2isDouble.link(this); + addPtr(tagTypeNumberRegister, regT1); + movePtrToDouble(regT1, fpRegT2); + op2wasInteger.link(this); + } if (opcodeID == op_add) addDouble(fpRegT2, fpRegT1); else if (opcodeID == op_sub) subDouble(fpRegT2, fpRegT1); - else { - ASSERT(opcodeID == op_mul); + else if (opcodeID == op_mul) mulDouble(fpRegT2, fpRegT1); + else { + ASSERT(opcodeID == op_div); + divDouble(fpRegT2, fpRegT1); } moveDoubleToPtr(fpRegT1, regT0); subPtr(tagTypeNumberRegister, regT0); @@ -2025,16 +2067,14 @@ void JIT::emitSlow_op_add(Instruction* currentInstruction, Vector unsigned result = currentInstruction[1].u.operand; unsigned op1 = currentInstruction[2].u.operand; unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); - if (isOperandConstantImmediateInt(op1) || isOperandConstantImmediateInt(op2)) { - linkSlowCase(iter); - linkSlowCase(iter); - JITStubCall stubCall(this, cti_op_add); - stubCall.addArgument(op1, regT2); - stubCall.addArgument(op2, regT2); - stubCall.call(result); - } else - compileBinaryArithOpSlowCase(op_add, iter, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand)); + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) + return; + + bool op1HasImmediateIntFastCase = isOperandConstantImmediateInt(op1); + bool op2HasImmediateIntFastCase = !op1HasImmediateIntFastCase && isOperandConstantImmediateInt(op2); + compileBinaryArithOpSlowCase(op_add, iter, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand), op1HasImmediateIntFastCase, op2HasImmediateIntFastCase); } void JIT::emit_op_mul(Instruction* currentInstruction) @@ -2069,17 +2109,106 @@ void JIT::emitSlow_op_mul(Instruction* currentInstruction, Vector unsigned op2 = currentInstruction[3].u.operand; OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); - if ((isOperandConstantImmediateInt(op1) && (getConstantOperandImmediateInt(op1) > 0)) - || (isOperandConstantImmediateInt(op2) && (getConstantOperandImmediateInt(op2) > 0))) { - linkSlowCase(iter); - linkSlowCase(iter); - // There is an extra slow case for (op1 * -N) or (-N * op2), to check for 0 since this should produce a result of -0. - JITStubCall stubCall(this, cti_op_mul); - stubCall.addArgument(op1, regT2); - stubCall.addArgument(op2, regT2); - stubCall.call(result); - } else - compileBinaryArithOpSlowCase(op_mul, iter, result, op1, op2, types); + bool op1HasImmediateIntFastCase = isOperandConstantImmediateInt(op1) && getConstantOperandImmediateInt(op1) > 0; + bool op2HasImmediateIntFastCase = !op1HasImmediateIntFastCase && isOperandConstantImmediateInt(op2) && getConstantOperandImmediateInt(op2) > 0; + compileBinaryArithOpSlowCase(op_mul, iter, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand), op1HasImmediateIntFastCase, op2HasImmediateIntFastCase); +} + +void JIT::emit_op_div(Instruction* currentInstruction) +{ + unsigned dst = currentInstruction[1].u.operand; + unsigned op1 = currentInstruction[2].u.operand; + unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + + if (isOperandConstantImmediateDouble(op1)) { + emitGetVirtualRegister(op1, regT0); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT0); + } else if (isOperandConstantImmediateInt(op1)) { + emitLoadInt32ToDouble(op1, fpRegT0); + } else { + emitGetVirtualRegister(op1, regT0); + if (!types.first().definitelyIsNumber()) + emitJumpSlowCaseIfNotImmediateNumber(regT0); + Jump notInt = emitJumpIfNotImmediateInteger(regT0); + convertInt32ToDouble(regT0, fpRegT0); + Jump skipDoubleLoad = jump(); + notInt.link(this); + addPtr(tagTypeNumberRegister, regT0); + movePtrToDouble(regT0, fpRegT0); + skipDoubleLoad.link(this); + } + + if (isOperandConstantImmediateDouble(op2)) { + emitGetVirtualRegister(op2, regT1); + addPtr(tagTypeNumberRegister, regT1); + movePtrToDouble(regT1, fpRegT1); + } else if (isOperandConstantImmediateInt(op2)) { + emitLoadInt32ToDouble(op2, fpRegT1); + } else { + emitGetVirtualRegister(op2, regT1); + if (!types.second().definitelyIsNumber()) + emitJumpSlowCaseIfNotImmediateNumber(regT1); + Jump notInt = emitJumpIfNotImmediateInteger(regT1); + convertInt32ToDouble(regT1, fpRegT1); + Jump skipDoubleLoad = jump(); + notInt.link(this); + addPtr(tagTypeNumberRegister, regT1); + movePtrToDouble(regT1, fpRegT1); + skipDoubleLoad.link(this); + } + divDouble(fpRegT1, fpRegT0); + + JumpList doubleResult; + Jump end; + bool attemptIntConversion = (!isOperandConstantImmediateInt(op1) || getConstantOperand(op1).asInt32() > 1) && isOperandConstantImmediateInt(op2); + if (attemptIntConversion) { + m_assembler.cvttsd2si_rr(fpRegT0, regT0); + doubleResult.append(branchTest32(Zero, regT0)); + m_assembler.ucomisd_rr(fpRegT1, fpRegT0); + + doubleResult.append(m_assembler.jne()); + doubleResult.append(m_assembler.jp()); + emitFastArithIntToImmNoCheck(regT0, regT0); + end = jump(); + } + + // Double result. + doubleResult.link(this); + moveDoubleToPtr(fpRegT0, regT0); + subPtr(tagTypeNumberRegister, regT0); + + if (attemptIntConversion) + end.link(this); + emitPutVirtualRegister(dst, regT0); +} + +void JIT::emitSlow_op_div(Instruction* currentInstruction, Vector::iterator& iter) +{ + unsigned result = currentInstruction[1].u.operand; + unsigned op1 = currentInstruction[2].u.operand; + unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + if (types.first().definitelyIsNumber() && types.second().definitelyIsNumber()) { +#ifndef NDEBUG + breakpoint(); +#endif + return; + } + if (!isOperandConstantImmediateDouble(op1) && !isOperandConstantImmediateInt(op1)) { + if (!types.first().definitelyIsNumber()) + linkSlowCase(iter); + } + if (!isOperandConstantImmediateDouble(op2) && !isOperandConstantImmediateInt(op2)) { + if (!types.second().definitelyIsNumber()) + linkSlowCase(iter); + } + // There is an extra slow case for (op1 * -N) or (-N * op2), to check for 0 since this should produce a result of -0. + JITStubCall stubCall(this, cti_op_div); + stubCall.addArgument(op1, regT2); + stubCall.addArgument(op2, regT2); + stubCall.call(result); } void JIT::emit_op_sub(Instruction* currentInstruction) @@ -2090,7 +2219,6 @@ void JIT::emit_op_sub(Instruction* currentInstruction) OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); compileBinaryArithOp(op_sub, result, op1, op2, types); - emitPutVirtualRegister(result); } @@ -2101,7 +2229,7 @@ void JIT::emitSlow_op_sub(Instruction* currentInstruction, Vector unsigned op2 = currentInstruction[3].u.operand; OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); - compileBinaryArithOpSlowCase(op_sub, iter, result, op1, op2, types); + compileBinaryArithOpSlowCase(op_sub, iter, result, op1, op2, types, false, false); } #else // USE(JSVALUE64) @@ -2284,6 +2412,15 @@ void JIT::emit_op_add(Instruction* currentInstruction) unsigned result = currentInstruction[1].u.operand; unsigned op1 = currentInstruction[2].u.operand; unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) { + JITStubCall stubCall(this, cti_op_add); + stubCall.addArgument(op1, regT2); + stubCall.addArgument(op2, regT2); + stubCall.call(result); + return; + } if (isOperandConstantImmediateInt(op1)) { emitGetVirtualRegister(op2, regT0); @@ -2298,15 +2435,7 @@ void JIT::emit_op_add(Instruction* currentInstruction) signExtend32ToPtr(regT0, regT0); emitPutVirtualRegister(result); } else { - OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); - if (types.first().mightBeNumber() && types.second().mightBeNumber()) - compileBinaryArithOp(op_add, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand)); - else { - JITStubCall stubCall(this, cti_op_add); - stubCall.addArgument(op1, regT2); - stubCall.addArgument(op2, regT2); - stubCall.call(result); - } + compileBinaryArithOp(op_add, result, op1, op2, OperandTypes::fromInt(currentInstruction[4].u.operand)); } } @@ -2316,6 +2445,10 @@ void JIT::emitSlow_op_add(Instruction* currentInstruction, Vector unsigned op1 = currentInstruction[2].u.operand; unsigned op2 = currentInstruction[3].u.operand; + OperandTypes types = OperandTypes::fromInt(currentInstruction[4].u.operand); + if (!types.first().mightBeNumber() || !types.second().mightBeNumber()) + return; + if (isOperandConstantImmediateInt(op1)) { Jump notImm = getSlowCase(iter); linkSlowCase(iter); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITCall.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITCall.cpp index 5bcde42..f4f6e62 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITCall.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITCall.cpp @@ -242,16 +242,14 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned) int argCount = instruction[3].u.operand; int registerOffset = instruction[4].u.operand; - Jump wasEval1; - Jump wasEval2; + Jump wasEval; if (opcodeID == op_call_eval) { JITStubCall stubCall(this, cti_op_call_eval); stubCall.addArgument(callee); stubCall.addArgument(JIT::Imm32(registerOffset)); stubCall.addArgument(JIT::Imm32(argCount)); stubCall.call(); - wasEval1 = branchTest32(NonZero, regT0); - wasEval2 = branch32(NotEqual, regT1, Imm32(JSValue::CellTag)); + wasEval = branch32(Equal, regT1, Imm32(JSValue::EmptyValueTag)); } emitLoad(callee, regT1, regT2); @@ -277,10 +275,8 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned) emitNakedCall(m_globalData->jitStubs.ctiVirtualCall()); - if (opcodeID == op_call_eval) { - wasEval1.link(this); - wasEval2.link(this); - } + if (opcodeID == op_call_eval) + wasEval.link(this); emitStore(dst, regT1, regT0);; @@ -312,16 +308,14 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca int argCount = instruction[3].u.operand; int registerOffset = instruction[4].u.operand; - Jump wasEval1; - Jump wasEval2; + Jump wasEval; if (opcodeID == op_call_eval) { JITStubCall stubCall(this, cti_op_call_eval); stubCall.addArgument(callee); stubCall.addArgument(JIT::Imm32(registerOffset)); stubCall.addArgument(JIT::Imm32(argCount)); stubCall.call(); - wasEval1 = branchTest32(NonZero, regT0); - wasEval2 = branch32(NotEqual, regT1, Imm32(JSValue::CellTag)); + wasEval = branch32(NotEqual, regT1, Imm32(JSValue::EmptyValueTag)); } emitLoad(callee, regT1, regT0); @@ -365,10 +359,8 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca // Call to the callee m_callStructureStubCompilationInfo[callLinkInfoIndex].hotPathOther = emitNakedCall(); - if (opcodeID == op_call_eval) { - wasEval1.link(this); - wasEval2.link(this); - } + if (opcodeID == op_call_eval) + wasEval.link(this); // Put the return value in dst. In the interpreter, op_ret does this. emitStore(dst, regT1, regT0); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITInlineMethods.h b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITInlineMethods.h index e69e273..f26457a 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITInlineMethods.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITInlineMethods.h @@ -65,6 +65,11 @@ ALWAYS_INLINE void JIT::emitGetJITStubArg(unsigned argumentNumber, RegisterID ds peek(dst, argumentStackOffset); } +ALWAYS_INLINE bool JIT::isOperandConstantImmediateDouble(unsigned src) +{ + return m_codeBlock->isConstantRegisterIndex(src) && getConstantOperand(src).isDouble(); +} + ALWAYS_INLINE JSValue JIT::getConstantOperand(unsigned src) { ASSERT(m_codeBlock->isConstantRegisterIndex(src)); @@ -305,6 +310,11 @@ ALWAYS_INLINE void JIT::sampleCodeBlock(CodeBlock* codeBlock) #endif #endif +inline JIT::Address JIT::addressFor(unsigned index, RegisterID base) +{ + return Address(base, (index * sizeof(Register))); +} + #if USE(JSVALUE32_64) inline JIT::Address JIT::tagFor(unsigned index, RegisterID base) @@ -317,11 +327,6 @@ inline JIT::Address JIT::payloadFor(unsigned index, RegisterID base) return Address(base, (index * sizeof(Register)) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)); } -inline JIT::Address JIT::addressFor(unsigned index, RegisterID base) -{ - return Address(base, (index * sizeof(Register))); -} - inline void JIT::emitLoadTag(unsigned index, RegisterID tag) { RegisterID mappedTag; @@ -579,11 +584,6 @@ ALWAYS_INLINE bool JIT::getOperandConstantImmediateInt(unsigned op1, unsigned op return false; } -ALWAYS_INLINE bool JIT::isOperandConstantImmediateDouble(unsigned src) -{ - return m_codeBlock->isConstantRegisterIndex(src) && getConstantOperand(src).isDouble(); -} - /* Deprecated: Please use JITStubCall instead. */ ALWAYS_INLINE void JIT::emitPutJITStubArg(RegisterID tag, RegisterID payload, unsigned argumentNumber) @@ -732,6 +732,24 @@ ALWAYS_INLINE JIT::Jump JIT::emitJumpIfNotImmediateNumber(RegisterID reg) { return branchTestPtr(Zero, reg, tagTypeNumberRegister); } + +inline void JIT::emitLoadDouble(unsigned index, FPRegisterID value) +{ + if (m_codeBlock->isConstantRegisterIndex(index)) { + Register& inConstantPool = m_codeBlock->constantRegister(index); + loadDouble(&inConstantPool, value); + } else + loadDouble(addressFor(index), value); +} + +inline void JIT::emitLoadInt32ToDouble(unsigned index, FPRegisterID value) +{ + if (m_codeBlock->isConstantRegisterIndex(index)) { + Register& inConstantPool = m_codeBlock->constantRegister(index); + convertInt32ToDouble(AbsoluteAddress(&inConstantPool), value); + } else + convertInt32ToDouble(addressFor(index), value); +} #endif ALWAYS_INLINE JIT::Jump JIT::emitJumpIfImmediateInteger(RegisterID reg) @@ -769,6 +787,11 @@ ALWAYS_INLINE void JIT::emitJumpSlowCaseIfNotImmediateIntegers(RegisterID reg1, addSlowCase(emitJumpIfNotImmediateIntegers(reg1, reg2, scratch)); } +ALWAYS_INLINE void JIT::emitJumpSlowCaseIfNotImmediateNumber(RegisterID reg) +{ + addSlowCase(emitJumpIfNotImmediateNumber(reg)); +} + #if !USE(JSVALUE64) ALWAYS_INLINE void JIT::emitFastArithDeTagImmediate(RegisterID reg) { diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITOpcodes.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITOpcodes.cpp index 34debcb..b5f6597 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITOpcodes.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITOpcodes.cpp @@ -248,10 +248,8 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr* executable addPtr(Imm32(NativeCallFrameSize - sizeof(NativeFunctionCalleeSignature)), stackPointerRegister); // Check for an exception - // FIXME: Maybe we can optimize this comparison to JSValue(). move(ImmPtr(&globalData->exception), regT2); - Jump sawException1 = branch32(NotEqual, tagFor(0, regT2), Imm32(JSValue::CellTag)); - Jump sawException2 = branch32(NonZero, payloadFor(0, regT2), Imm32(0)); + Jump sawException = branch32(NotEqual, tagFor(0, regT2), Imm32(JSValue::EmptyValueTag)); // Grab the return address. emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT3); @@ -264,8 +262,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr* executable ret(); // Handle an exception - sawException1.link(this); - sawException2.link(this); + sawException.link(this); // Grab the return address. emitGetFromCallFrameHeaderPtr(RegisterFile::ReturnPC, regT1); move(ImmPtr(&globalData->exceptionLocation), regT2); @@ -794,14 +791,17 @@ void JIT::emit_op_jfalse(Instruction* currentInstruction) Jump isTrue2 = branch32(NotEqual, regT0, Imm32(0)); addJump(jump(), target + 2); - isNotInteger.link(this); + if (supportsFloatingPoint()) { + isNotInteger.link(this); - addSlowCase(branch32(Above, regT1, Imm32(JSValue::LowestTag))); + addSlowCase(branch32(Above, regT1, Imm32(JSValue::LowestTag))); + + zeroDouble(fpRegT0); + emitLoadDouble(cond, fpRegT1); + addJump(branchDouble(DoubleEqual, fpRegT0, fpRegT1), target + 2); + } else + addSlowCase(isNotInteger); - zeroDouble(fpRegT0); - emitLoadDouble(cond, fpRegT1); - addJump(branchDouble(DoubleEqual, fpRegT0, fpRegT1), target + 2); - isTrue.link(this); isTrue2.link(this); } @@ -832,14 +832,17 @@ void JIT::emit_op_jtrue(Instruction* currentInstruction) Jump isFalse2 = branch32(Equal, regT0, Imm32(0)); addJump(jump(), target + 2); - isNotInteger.link(this); + if (supportsFloatingPoint()) { + isNotInteger.link(this); - addSlowCase(branch32(Above, regT1, Imm32(JSValue::LowestTag))); + addSlowCase(branch32(Above, regT1, Imm32(JSValue::LowestTag))); + + zeroDouble(fpRegT0); + emitLoadDouble(cond, fpRegT1); + addJump(branchDouble(DoubleNotEqual, fpRegT0, fpRegT1), target + 2); + } else + addSlowCase(isNotInteger); - zeroDouble(fpRegT0); - emitLoadDouble(cond, fpRegT1); - addJump(branchDouble(DoubleNotEqual, fpRegT0, fpRegT1), target + 2); - isFalse.link(this); isFalse2.link(this); } @@ -1231,7 +1234,7 @@ void JIT::emit_op_to_jsnumber(Instruction* currentInstruction) emitLoad(src, regT1, regT0); Jump isInt32 = branch32(Equal, regT1, Imm32(JSValue::Int32Tag)); - addSlowCase(branch32(AboveOrEqual, regT1, Imm32(JSValue::DeletedValueTag))); + addSlowCase(branch32(AboveOrEqual, regT1, Imm32(JSValue::EmptyValueTag))); isInt32.link(this); if (src != dst) @@ -1381,8 +1384,7 @@ void JIT::emit_op_enter_with_activation(Instruction* currentInstruction) void JIT::emit_op_create_arguments(Instruction*) { - Jump argsNotCell = branch32(NotEqual, tagFor(RegisterFile::ArgumentsRegister, callFrameRegister), Imm32(JSValue::CellTag)); - Jump argsNotNull = branchTestPtr(NonZero, payloadFor(RegisterFile::ArgumentsRegister, callFrameRegister)); + Jump argsCreated = branch32(NotEqual, tagFor(RegisterFile::ArgumentsRegister, callFrameRegister), Imm32(JSValue::EmptyValueTag)); // If we get here the arguments pointer is a null cell - i.e. arguments need lazy creation. if (m_codeBlock->m_numParameters == 1) @@ -1390,8 +1392,7 @@ void JIT::emit_op_create_arguments(Instruction*) else JITStubCall(this, cti_op_create_arguments).call(); - argsNotCell.link(this); - argsNotNull.link(this); + argsCreated.link(this); } void JIT::emit_op_init_arguments(Instruction*) @@ -2707,32 +2708,20 @@ void JIT::emitSlow_op_to_primitive(Instruction* currentInstruction, Vector::iterator& iter) { - // The slow void JIT::emitSlow_that handles accesses to arrays (below) may jump back up to here. - Label beginGetByValSlow(this); + unsigned dst = currentInstruction[1].u.operand; + unsigned base = currentInstruction[2].u.operand; + unsigned property = currentInstruction[3].u.operand; - Jump notImm = getSlowCase(iter); - linkSlowCase(iter); - linkSlowCase(iter); - emitFastArithIntToImmNoCheck(regT1, regT1); + linkSlowCase(iter); // property int32 check + linkSlowCaseIfNotJSCell(iter, base); // base cell check + linkSlowCase(iter); // base array check + linkSlowCase(iter); // vector length check + linkSlowCase(iter); // empty value - notImm.link(this); JITStubCall stubCall(this, cti_op_get_by_val); - stubCall.addArgument(regT0); - stubCall.addArgument(regT1); - stubCall.call(currentInstruction[1].u.operand); - emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_get_by_val)); - - // This is slow void JIT::emitSlow_that handles accesses to arrays above the fast cut-off. - // First, check if this is an access to the vector - linkSlowCase(iter); - branch32(AboveOrEqual, regT1, Address(regT2, OBJECT_OFFSETOF(ArrayStorage, m_vectorLength)), beginGetByValSlow); - - // okay, missed the fast region, but it is still in the vector. Get the value. - loadPtr(BaseIndex(regT2, regT1, ScalePtr, OBJECT_OFFSETOF(ArrayStorage, m_vector[0])), regT2); - // Check whether the value loaded is zero; if so we need to return undefined. - branchTestPtr(Zero, regT2, beginGetByValSlow); - move(regT2, regT0); - emitPutVirtualRegister(currentInstruction[1].u.operand, regT0); + stubCall.addArgument(base, regT2); + stubCall.addArgument(property, regT2); + stubCall.call(dst); } void JIT::emitSlow_op_loop_if_less(Instruction* currentInstruction, Vector::iterator& iter) @@ -2789,30 +2778,20 @@ void JIT::emitSlow_op_loop_if_lesseq(Instruction* currentInstruction, Vector::iterator& iter) { - // Normal slow cases - either is not an immediate imm, or is an array. - Jump notImm = getSlowCase(iter); - linkSlowCase(iter); - linkSlowCase(iter); - emitFastArithIntToImmNoCheck(regT1, regT1); + unsigned base = currentInstruction[1].u.operand; + unsigned property = currentInstruction[2].u.operand; + unsigned value = currentInstruction[3].u.operand; - notImm.link(this); { - JITStubCall stubCall(this, cti_op_put_by_val); - stubCall.addArgument(regT0); - stubCall.addArgument(regT1); - stubCall.addArgument(currentInstruction[3].u.operand, regT2); - stubCall.call(); - emitJumpSlowToHot(jump(), OPCODE_LENGTH(op_put_by_val)); - } + linkSlowCase(iter); // property int32 check + linkSlowCaseIfNotJSCell(iter, base); // base cell check + linkSlowCase(iter); // base not array check + linkSlowCase(iter); // in vector check - // slow cases for immediate int accesses to arrays - linkSlowCase(iter); - linkSlowCase(iter); { - JITStubCall stubCall(this, cti_op_put_by_val_array); - stubCall.addArgument(regT0); - stubCall.addArgument(regT1); - stubCall.addArgument(currentInstruction[3].u.operand, regT2); - stubCall.call(); - } + JITStubCall stubPutByValCall(this, cti_op_put_by_val); + stubPutByValCall.addArgument(regT0); + stubPutByValCall.addArgument(property, regT2); + stubPutByValCall.addArgument(value, regT2); + stubPutByValCall.call(); } void JIT::emitSlow_op_loop_if_true(Instruction* currentInstruction, Vector::iterator& iter) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITPropertyAccess.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITPropertyAccess.cpp index 08b3096..9edfd01 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITPropertyAccess.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITPropertyAccess.cpp @@ -273,11 +273,14 @@ void JIT::emit_op_get_by_val(Instruction* currentInstruction) addSlowCase(branch32(NotEqual, regT3, Imm32(JSValue::Int32Tag))); emitJumpSlowCaseIfNotJSCell(base, regT1); addSlowCase(branchPtr(NotEqual, Address(regT0), ImmPtr(m_globalData->jsArrayVPtr))); - addSlowCase(branch32(AboveOrEqual, regT2, Address(regT0, OBJECT_OFFSETOF(JSArray, m_fastAccessCutoff)))); - loadPtr(Address(regT0, OBJECT_OFFSETOF(JSArray, m_storage)), regT0); - load32(BaseIndex(regT0, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + 4), regT1); // tag - load32(BaseIndex(regT0, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0])), regT0); // payload + loadPtr(Address(regT0, OBJECT_OFFSETOF(JSArray, m_storage)), regT3); + addSlowCase(branch32(AboveOrEqual, regT2, Address(regT0, OBJECT_OFFSETOF(JSArray, m_vectorLength)))); + + load32(BaseIndex(regT3, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + 4), regT1); // tag + load32(BaseIndex(regT3, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0])), regT0); // payload + addSlowCase(branch32(Equal, regT1, Imm32(JSValue::EmptyValueTag))); + emitStore(dst, regT1, regT0); map(m_bytecodeIndex + OPCODE_LENGTH(op_get_by_val), dst, regT1, regT0); } @@ -288,35 +291,16 @@ void JIT::emitSlow_op_get_by_val(Instruction* currentInstruction, VectorjsArrayVPtr))); - loadPtr(Address(regT0, OBJECT_OFFSETOF(JSArray, m_storage)), regT3); - - Jump inFastVector = branch32(Below, regT2, Address(regT0, OBJECT_OFFSETOF(JSArray, m_fastAccessCutoff))); + addSlowCase(branch32(AboveOrEqual, regT2, Address(regT0, OBJECT_OFFSETOF(JSArray, m_vectorLength)))); - // Check if the access is within the vector. - addSlowCase(branch32(AboveOrEqual, regT2, Address(regT3, OBJECT_OFFSETOF(ArrayStorage, m_vectorLength)))); - - // This is a write to the slow part of the vector; first, we have to check if this would be the first write to this location. - // FIXME: should be able to handle initial write to array; increment the the number of items in the array, and potentially update fast access cutoff. - Jump skip = branch32(NotEqual, BaseIndex(regT3, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + 4), Imm32(JSValue::CellTag)); - addSlowCase(branch32(Equal, BaseIndex(regT3, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0])), Imm32(0))); - skip.link(this); + loadPtr(Address(regT0, OBJECT_OFFSETOF(JSArray, m_storage)), regT3); - inFastVector.link(this); + Jump empty = branch32(Equal, BaseIndex(regT3, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + 4), Imm32(JSValue::EmptyValueTag)); + Label storeResult(this); emitLoad(value, regT1, regT0); store32(regT0, BaseIndex(regT3, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]))); // payload store32(regT1, BaseIndex(regT3, regT2, TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + 4)); // tag + Jump end = jump(); + + empty.link(this); + add32(Imm32(1), Address(regT3, OBJECT_OFFSETOF(ArrayStorage, m_numValuesInVector))); + branch32(Below, regT2, Address(regT3, OBJECT_OFFSETOF(ArrayStorage, m_length))).linkTo(storeResult, this); + + add32(Imm32(1), regT2, regT0); + store32(regT0, Address(regT3, OBJECT_OFFSETOF(ArrayStorage, m_length))); + jump().linkTo(storeResult, this); + + end.link(this); } void JIT::emitSlow_op_put_by_val(Instruction* currentInstruction, Vector::iterator& iter) @@ -359,24 +346,13 @@ void JIT::emitSlow_op_put_by_val(Instruction* currentInstruction, VectorjsArrayVPtr))); - // This is an array; get the m_storage pointer into ecx, then check if the index is below the fast cutoff loadPtr(Address(regT0, OBJECT_OFFSETOF(JSArray, m_storage)), regT2); - addSlowCase(branch32(AboveOrEqual, regT1, Address(regT0, OBJECT_OFFSETOF(JSArray, m_fastAccessCutoff)))); + addSlowCase(branch32(AboveOrEqual, regT1, Address(regT0, OBJECT_OFFSETOF(JSArray, m_vectorLength)))); - // Get the value from the vector loadPtr(BaseIndex(regT2, regT1, ScalePtr, OBJECT_OFFSETOF(ArrayStorage, m_vector[0])), regT0); - emitPutVirtualRegister(currentInstruction[1].u.operand); + addSlowCase(branchTestPtr(Zero, regT0)); + + emitPutVirtualRegister(dst); } void JIT::emit_op_put_by_val(Instruction* currentInstruction) { - emitGetVirtualRegisters(currentInstruction[1].u.operand, regT0, currentInstruction[2].u.operand, regT1); + unsigned base = currentInstruction[1].u.operand; + unsigned property = currentInstruction[2].u.operand; + unsigned value = currentInstruction[3].u.operand; + + emitGetVirtualRegisters(base, regT0, property, regT1); emitJumpSlowCaseIfNotImmediateInteger(regT1); #if USE(JSVALUE64) // See comment in op_get_by_val. @@ -993,23 +977,29 @@ void JIT::emit_op_put_by_val(Instruction* currentInstruction) #else emitFastArithImmToInt(regT1); #endif - emitJumpSlowCaseIfNotJSCell(regT0); + emitJumpSlowCaseIfNotJSCell(regT0, base); addSlowCase(branchPtr(NotEqual, Address(regT0), ImmPtr(m_globalData->jsArrayVPtr))); + addSlowCase(branch32(AboveOrEqual, regT1, Address(regT0, OBJECT_OFFSETOF(JSArray, m_vectorLength)))); - // This is an array; get the m_storage pointer into ecx, then check if the index is below the fast cutoff loadPtr(Address(regT0, OBJECT_OFFSETOF(JSArray, m_storage)), regT2); - Jump inFastVector = branch32(Below, regT1, Address(regT0, OBJECT_OFFSETOF(JSArray, m_fastAccessCutoff))); - // No; oh well, check if the access if within the vector - if so, we may still be okay. - addSlowCase(branch32(AboveOrEqual, regT1, Address(regT2, OBJECT_OFFSETOF(ArrayStorage, m_vectorLength)))); - // This is a write to the slow part of the vector; first, we have to check if this would be the first write to this location. - // FIXME: should be able to handle initial write to array; increment the the number of items in the array, and potentially update fast access cutoff. - addSlowCase(branchTestPtr(Zero, BaseIndex(regT2, regT1, ScalePtr, OBJECT_OFFSETOF(ArrayStorage, m_vector[0])))); + Jump empty = branchTestPtr(Zero, BaseIndex(regT2, regT1, ScalePtr, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]))); - // All good - put the value into the array. - inFastVector.link(this); - emitGetVirtualRegister(currentInstruction[3].u.operand, regT0); + Label storeResult(this); + emitGetVirtualRegister(value, regT0); storePtr(regT0, BaseIndex(regT2, regT1, ScalePtr, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]))); + Jump end = jump(); + + empty.link(this); + add32(Imm32(1), Address(regT2, OBJECT_OFFSETOF(ArrayStorage, m_numValuesInVector))); + branch32(Below, regT1, Address(regT2, OBJECT_OFFSETOF(ArrayStorage, m_length))).linkTo(storeResult, this); + + move(regT1, regT0); + add32(Imm32(1), regT0); + store32(regT0, Address(regT2, OBJECT_OFFSETOF(ArrayStorage, m_length))); + jump().linkTo(storeResult, this); + + end.link(this); } void JIT::emit_op_put_by_index(Instruction* currentInstruction) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp index 08a4493..073b35a 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp @@ -730,7 +730,7 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co // Structure transition, cache transition info if (slot.type() == PutPropertySlot::NewProperty) { StructureChain* prototypeChain = structure->prototypeChain(callFrame); - if (!prototypeChain->isCacheable()) { + if (!prototypeChain->isCacheable() || structure->isDictionary()) { ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(cti_op_put_by_id_generic)); return; } @@ -1983,28 +1983,6 @@ DEFINE_STUB_FUNCTION(void, op_put_by_val) CHECK_FOR_EXCEPTION_AT_END(); } -DEFINE_STUB_FUNCTION(void, op_put_by_val_array) -{ - STUB_INIT_STACK_FRAME(stackFrame); - - CallFrame* callFrame = stackFrame.callFrame; - JSValue baseValue = stackFrame.args[0].jsValue(); - int i = stackFrame.args[1].int32(); - JSValue value = stackFrame.args[2].jsValue(); - - ASSERT(isJSArray(stackFrame.globalData, baseValue)); - - if (LIKELY(i >= 0)) - asArray(baseValue)->JSArray::put(callFrame, i, value); - else { - Identifier property(callFrame, UString::from(i)); - PutPropertySlot slot; - baseValue.put(callFrame, property, value, slot); - } - - CHECK_FOR_EXCEPTION_AT_END(); -} - DEFINE_STUB_FUNCTION(void, op_put_by_val_byte_array) { STUB_INIT_STACK_FRAME(stackFrame); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h index 3ae8f24..43975ff 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h @@ -349,7 +349,6 @@ extern "C" { void JIT_STUB cti_op_put_by_id_generic(STUB_ARGS_DECLARATION); void JIT_STUB cti_op_put_by_index(STUB_ARGS_DECLARATION); void JIT_STUB cti_op_put_by_val(STUB_ARGS_DECLARATION); - void JIT_STUB cti_op_put_by_val_array(STUB_ARGS_DECLARATION); void JIT_STUB cti_op_put_by_val_byte_array(STUB_ARGS_DECLARATION); void JIT_STUB cti_op_put_getter(STUB_ARGS_DECLARATION); void JIT_STUB cti_op_put_setter(STUB_ARGS_DECLARATION); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jsc.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jsc.cpp index 92b1e58..ee4e393 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jsc.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jsc.cpp @@ -24,6 +24,7 @@ #include "BytecodeGenerator.h" #include "Completion.h" +#include "CurrentTime.h" #include "InitializeThreading.h" #include "JSArray.h" #include "JSFunction.h" @@ -118,53 +119,23 @@ public: long getElapsedMS(); // call stop() first private: -#if PLATFORM(QT) - uint m_startTime; - uint m_stopTime; -#elif PLATFORM(WIN_OS) - DWORD m_startTime; - DWORD m_stopTime; -#else - // Windows does not have timeval, disabling this class for now (bug 7399) - timeval m_startTime; - timeval m_stopTime; -#endif + double m_startTime; + double m_stopTime; }; void StopWatch::start() { -#if PLATFORM(QT) - QDateTime t = QDateTime::currentDateTime(); - m_startTime = t.toTime_t() * 1000 + t.time().msec(); -#elif PLATFORM(WIN_OS) - m_startTime = timeGetTime(); -#else - gettimeofday(&m_startTime, 0); -#endif + m_startTime = currentTime(); } void StopWatch::stop() { -#if PLATFORM(QT) - QDateTime t = QDateTime::currentDateTime(); - m_stopTime = t.toTime_t() * 1000 + t.time().msec(); -#elif PLATFORM(WIN_OS) - m_stopTime = timeGetTime(); -#else - gettimeofday(&m_stopTime, 0); -#endif + m_stopTime = currentTime(); } long StopWatch::getElapsedMS() { -#if PLATFORM(WIN_OS) || PLATFORM(QT) - return m_stopTime - m_startTime; -#else - timeval elapsedTime; - timersub(&m_stopTime, &m_startTime, &elapsedTime); - - return elapsedTime.tv_sec * 1000 + lroundf(elapsedTime.tv_usec / 1000.0f); -#endif + return static_cast((m_stopTime - m_startTime) * 1000); } class GlobalObject : public JSGlobalObject { diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/parser/Nodes.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/parser/Nodes.cpp index 7170f73..89bbc11 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/parser/Nodes.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/parser/Nodes.cpp @@ -1899,10 +1899,6 @@ ScopeNode::ScopeNode(JSGlobalData* globalData) , ParserArenaRefCounted(globalData) , m_features(NoFeatures) { -#if ENABLE(CODEBLOCK_SAMPLING) - if (SamplingTool* sampler = globalData->interpreter->sampler()) - sampler->notifyOfScope(this); -#endif } ScopeNode::ScopeNode(JSGlobalData* globalData, const SourceCode& source, SourceElements* children, VarStack* varStack, FunctionStack* funcStack, CodeFeatures features, int numConstants) @@ -1912,10 +1908,6 @@ ScopeNode::ScopeNode(JSGlobalData* globalData, const SourceCode& source, SourceE , m_features(features) , m_source(source) { -#if ENABLE(CODEBLOCK_SAMPLING) - if (SamplingTool* sampler = globalData->interpreter->sampler()) - sampler->notifyOfScope(this); -#endif } inline void ScopeNode::emitStatementsBytecode(BytecodeGenerator& generator, RegisterID* dst) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/ArrayPrototype.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/ArrayPrototype.cpp index e1b1f34..c453b22 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/ArrayPrototype.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/ArrayPrototype.cpp @@ -149,10 +149,11 @@ static void putProperty(ExecState* exec, JSObject* obj, const Identifier& proper JSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&) { - if (!thisValue.inherits(&JSArray::info)) + bool isRealArray = isJSArray(&exec->globalData(), thisValue); + if (!isRealArray && !thisValue.inherits(&JSArray::info)) return throwError(exec, TypeError); - JSObject* thisObj = asArray(thisValue); - + JSArray* thisObj = asArray(thisValue); + HashSet& arrayVisitedElements = exec->globalData().arrayVisitedElements; if (arrayVisitedElements.size() >= MaxSecondaryThreadReentryDepth) { if (!isMainThread() || arrayVisitedElements.size() >= MaxMainThreadReentryDepth) @@ -163,34 +164,48 @@ JSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState* exec, JSObject*, JSValue if (alreadyVisited) return jsEmptyString(exec); // return an empty string, avoiding infinite recursion. - Vector strBuffer; unsigned length = thisObj->get(exec, exec->propertyNames().length).toUInt32(exec); + unsigned totalSize = length ? length - 1 : 0; + Vector, 256> strBuffer(length); for (unsigned k = 0; k < length; k++) { - if (k >= 1) - strBuffer.append(','); - if (!strBuffer.data()) { - JSObject* error = Error::create(exec, GeneralError, "Out of memory"); - exec->setException(error); - break; - } - - JSValue element = thisObj->get(exec, k); + JSValue element; + if (isRealArray && thisObj->canGetIndex(k)) + element = thisObj->getIndex(k); + else + element = thisObj->get(exec, k); + if (element.isUndefinedOrNull()) continue; - + UString str = element.toString(exec); - strBuffer.append(str.data(), str.size()); - + strBuffer[k] = str.rep(); + totalSize += str.size(); + if (!strBuffer.data()) { JSObject* error = Error::create(exec, GeneralError, "Out of memory"); exec->setException(error); } - + if (exec->hadException()) break; } arrayVisitedElements.remove(thisObj); - return jsString(exec, UString(strBuffer.data(), strBuffer.data() ? strBuffer.size() : 0)); + if (!totalSize) + return jsEmptyString(exec); + Vector buffer; + buffer.reserveCapacity(totalSize); + if (!buffer.data()) + return throwError(exec, GeneralError, "Out of memory"); + + for (unsigned i = 0; i < length; i++) { + if (i) + buffer.append(','); + if (RefPtr rep = strBuffer[i]) + buffer.append(rep->data(), rep->size()); + } + ASSERT(buffer.size() == totalSize); + unsigned finalSize = buffer.size(); + return jsString(exec, UString(buffer.releaseBuffer(), finalSize, false)); } JSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp index 3784da8..1e717cb 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp @@ -843,10 +843,16 @@ void NEVER_INLINE Heap::markCurrentThreadConservativelyInternal(MarkStack& markS markConservatively(markStack, stackPointer, stackBase); } +#if COMPILER(GCC) +#define REGISTER_BUFFER_ALIGNMENT __attribute__ ((aligned (sizeof(void*)))) +#else +#define REGISTER_BUFFER_ALIGNMENT +#endif + void Heap::markCurrentThreadConservatively(MarkStack& markStack) { // setjmp forces volatile registers onto the stack - jmp_buf registers; + jmp_buf registers REGISTER_BUFFER_ALIGNMENT; #if COMPILER(MSVC) #pragma warning(push) #pragma warning(disable: 4611) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Completion.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Completion.cpp index b75a7a5..3ad467d 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Completion.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Completion.cpp @@ -41,7 +41,7 @@ Completion checkSyntax(ExecState* exec, const SourceCode& source) { JSLock lock(exec); - ProgramExecutable program(source); + ProgramExecutable program(exec, source); JSObject* error = program.checkSyntax(exec); if (error) return Completion(Throw, error); @@ -53,7 +53,7 @@ Completion evaluate(ExecState* exec, ScopeChain& scopeChain, const SourceCode& s { JSLock lock(exec); - ProgramExecutable program(source); + ProgramExecutable program(exec, source); JSObject* error = program.compile(exec, scopeChain.node()); if (error) return Completion(Throw, error); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Executable.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Executable.cpp index 5e79794..7586746 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Executable.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Executable.cpp @@ -259,7 +259,7 @@ PassRefPtr FunctionExecutable::fromGlobalCode(const Identifi FunctionBodyNode* body = static_cast(funcExpr)->body(); ASSERT(body); - return FunctionExecutable::create(functionName, body->source(), body->usesArguments(), body->parameters(), body->lineNo(), body->lastLine()); + return FunctionExecutable::create(&exec->globalData(), functionName, body->source(), body->usesArguments(), body->parameters(), body->lineNo(), body->lastLine()); } UString FunctionExecutable::paramString() const diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Executable.h b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Executable.h index f3003dd..76764f9 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Executable.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Executable.h @@ -27,7 +27,9 @@ #define Executable_h #include "JSFunction.h" +#include "Interpreter.h" #include "Nodes.h" +#include "SamplingTool.h" namespace JSC { @@ -102,11 +104,30 @@ namespace JSC { class ScriptExecutable : public ExecutableBase { public: - ScriptExecutable(const SourceCode& source) + ScriptExecutable(JSGlobalData* globalData, const SourceCode& source) : ExecutableBase(NUM_PARAMETERS_NOT_COMPILED) , m_source(source) , m_features(0) { +#if ENABLE(CODEBLOCK_SAMPLING) + if (SamplingTool* sampler = globalData->interpreter->sampler()) + sampler->notifyOfScope(this); +#else + UNUSED_PARAM(globalData); +#endif + } + + ScriptExecutable(ExecState* exec, const SourceCode& source) + : ExecutableBase(NUM_PARAMETERS_NOT_COMPILED) + , m_source(source) + , m_features(0) + { +#if ENABLE(CODEBLOCK_SAMPLING) + if (SamplingTool* sampler = exec->globalData().interpreter->sampler()) + sampler->notifyOfScope(this); +#else + UNUSED_PARAM(exec); +#endif } const SourceCode& source() { return m_source; } @@ -137,8 +158,8 @@ namespace JSC { class EvalExecutable : public ScriptExecutable { public: - EvalExecutable(const SourceCode& source) - : ScriptExecutable(source) + EvalExecutable(ExecState* exec, const SourceCode& source) + : ScriptExecutable(exec, source) , m_evalCodeBlock(0) { } @@ -157,7 +178,7 @@ namespace JSC { JSObject* compile(ExecState*, ScopeChainNode*); ExceptionInfo* reparseExceptionInfo(JSGlobalData*, ScopeChainNode*, CodeBlock*); - static PassRefPtr create(const SourceCode& source) { return adoptRef(new EvalExecutable(source)); } + static PassRefPtr create(ExecState* exec, const SourceCode& source) { return adoptRef(new EvalExecutable(exec, source)); } private: EvalCodeBlock* m_evalCodeBlock; @@ -178,8 +199,8 @@ namespace JSC { class ProgramExecutable : public ScriptExecutable { public: - ProgramExecutable(const SourceCode& source) - : ScriptExecutable(source) + ProgramExecutable(ExecState* exec, const SourceCode& source) + : ScriptExecutable(exec, source) , m_programCodeBlock(0) { } @@ -221,9 +242,14 @@ namespace JSC { class FunctionExecutable : public ScriptExecutable { friend class JIT; public: - static PassRefPtr create(const Identifier& name, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, int firstLine, int lastLine) + static PassRefPtr create(ExecState* exec, const Identifier& name, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, int firstLine, int lastLine) + { + return adoptRef(new FunctionExecutable(exec, name, source, forceUsesArguments, parameters, firstLine, lastLine)); + } + + static PassRefPtr create(JSGlobalData* globalData, const Identifier& name, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, int firstLine, int lastLine) { - return adoptRef(new FunctionExecutable(name, source, forceUsesArguments, parameters, firstLine, lastLine)); + return adoptRef(new FunctionExecutable(globalData, name, source, forceUsesArguments, parameters, firstLine, lastLine)); } ~FunctionExecutable(); @@ -264,8 +290,20 @@ namespace JSC { static PassRefPtr fromGlobalCode(const Identifier&, ExecState*, Debugger*, const SourceCode&, int* errLine = 0, UString* errMsg = 0); private: - FunctionExecutable(const Identifier& name, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, int firstLine, int lastLine) - : ScriptExecutable(source) + FunctionExecutable(JSGlobalData* globalData, const Identifier& name, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, int firstLine, int lastLine) + : ScriptExecutable(globalData, source) + , m_forceUsesArguments(forceUsesArguments) + , m_parameters(parameters) + , m_codeBlock(0) + , m_name(name) + , m_numVariables(0) + { + m_firstLine = firstLine; + m_lastLine = lastLine; + } + + FunctionExecutable(ExecState* exec, const Identifier& name, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, int firstLine, int lastLine) + : ScriptExecutable(exec, source) , m_forceUsesArguments(forceUsesArguments) , m_parameters(parameters) , m_codeBlock(0) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSArray.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSArray.cpp index 1a4402c..9e0ab59 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSArray.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSArray.cpp @@ -136,9 +136,7 @@ JSArray::JSArray(PassRefPtr structure) unsigned initialCapacity = 0; m_storage = static_cast(fastZeroedMalloc(storageSize(initialCapacity))); - m_storage->m_vectorLength = initialCapacity; - - m_fastAccessCutoff = 0; + m_vectorLength = initialCapacity; checkConsistency(); } @@ -150,7 +148,7 @@ JSArray::JSArray(PassRefPtr structure, unsigned initialLength) m_storage = static_cast(fastMalloc(storageSize(initialCapacity))); m_storage->m_length = initialLength; - m_storage->m_vectorLength = initialCapacity; + m_vectorLength = initialCapacity; m_storage->m_numValuesInVector = 0; m_storage->m_sparseValueMap = 0; m_storage->lazyCreationData = 0; @@ -159,8 +157,6 @@ JSArray::JSArray(PassRefPtr structure, unsigned initialLength) for (size_t i = 0; i < initialCapacity; ++i) vector[i] = JSValue(); - m_fastAccessCutoff = 0; - checkConsistency(); Heap::heap(this)->reportExtraMemoryCost(initialCapacity * sizeof(JSValue)); @@ -173,7 +169,7 @@ JSArray::JSArray(PassRefPtr structure, const ArgList& list) m_storage = static_cast(fastMalloc(storageSize(initialCapacity))); m_storage->m_length = initialCapacity; - m_storage->m_vectorLength = initialCapacity; + m_vectorLength = initialCapacity; m_storage->m_numValuesInVector = initialCapacity; m_storage->m_sparseValueMap = 0; @@ -182,8 +178,6 @@ JSArray::JSArray(PassRefPtr structure, const ArgList& list) for (ArgList::const_iterator it = list.begin(); it != end; ++it, ++i) m_storage->m_vector[i] = *it; - m_fastAccessCutoff = initialCapacity; - checkConsistency(); Heap::heap(this)->reportExtraMemoryCost(storageSize(initialCapacity)); @@ -207,7 +201,7 @@ bool JSArray::getOwnPropertySlot(ExecState* exec, unsigned i, PropertySlot& slot return false; } - if (i < storage->m_vectorLength) { + if (i < m_vectorLength) { JSValue& valueSlot = storage->m_vector[i]; if (valueSlot) { slot.setValueSlot(&valueSlot); @@ -253,8 +247,8 @@ bool JSArray::getOwnPropertyDescriptor(ExecState* exec, const Identifier& proper if (isArrayIndex) { if (i >= m_storage->m_length) return false; - if (i < m_storage->m_vectorLength) { - JSValue value = m_storage->m_vector[i]; + if (i < m_vectorLength) { + JSValue& value = m_storage->m_vector[i]; if (value) { descriptor.setDescriptor(value, 0); return true; @@ -305,7 +299,7 @@ void JSArray::put(ExecState* exec, unsigned i, JSValue value) m_storage->m_length = length; } - if (i < m_storage->m_vectorLength) { + if (i < m_vectorLength) { JSValue& valueSlot = m_storage->m_vector[i]; if (valueSlot) { valueSlot = value; @@ -313,8 +307,7 @@ void JSArray::put(ExecState* exec, unsigned i, JSValue value) return; } valueSlot = value; - if (++m_storage->m_numValuesInVector == m_storage->m_length) - m_fastAccessCutoff = m_storage->m_length; + ++m_storage->m_numValuesInVector; checkConsistency(); return; } @@ -352,8 +345,7 @@ NEVER_INLINE void JSArray::putSlowCase(ExecState* exec, unsigned i, JSValue valu if (increaseVectorLength(i + 1)) { storage = m_storage; storage->m_vector[i] = value; - if (++storage->m_numValuesInVector == storage->m_length) - m_fastAccessCutoff = storage->m_length; + ++storage->m_numValuesInVector; checkConsistency(); } else throwOutOfMemoryError(exec); @@ -363,7 +355,7 @@ NEVER_INLINE void JSArray::putSlowCase(ExecState* exec, unsigned i, JSValue valu // Decide how many values it would be best to move from the map. unsigned newNumValuesInVector = storage->m_numValuesInVector + 1; unsigned newVectorLength = increasedVectorLength(i + 1); - for (unsigned j = max(storage->m_vectorLength, MIN_SPARSE_ARRAY_INDEX); j < newVectorLength; ++j) + for (unsigned j = max(m_vectorLength, MIN_SPARSE_ARRAY_INDEX); j < newVectorLength; ++j) newNumValuesInVector += map->contains(j); if (i >= MIN_SPARSE_ARRAY_INDEX) newNumValuesInVector -= map->contains(i); @@ -386,7 +378,7 @@ NEVER_INLINE void JSArray::putSlowCase(ExecState* exec, unsigned i, JSValue valu return; } - unsigned vectorLength = storage->m_vectorLength; + unsigned vectorLength = m_vectorLength; Heap::heap(this)->reportExtraMemoryCost(storageSize(newVectorLength) - storageSize(vectorLength)); @@ -404,7 +396,7 @@ NEVER_INLINE void JSArray::putSlowCase(ExecState* exec, unsigned i, JSValue valu storage->m_vector[i] = value; - storage->m_vectorLength = newVectorLength; + m_vectorLength = newVectorLength; storage->m_numValuesInVector = newNumValuesInVector; m_storage = storage; @@ -431,7 +423,7 @@ bool JSArray::deleteProperty(ExecState* exec, unsigned i, bool checkDontDelete) ArrayStorage* storage = m_storage; - if (i < storage->m_vectorLength) { + if (i < m_vectorLength) { JSValue& valueSlot = storage->m_vector[i]; if (!valueSlot) { checkConsistency(); @@ -439,8 +431,6 @@ bool JSArray::deleteProperty(ExecState* exec, unsigned i, bool checkDontDelete) } valueSlot = JSValue(); --storage->m_numValuesInVector; - if (m_fastAccessCutoff > i) - m_fastAccessCutoff = i; checkConsistency(); return true; } @@ -472,7 +462,7 @@ void JSArray::getOwnPropertyNames(ExecState* exec, PropertyNameArray& propertyNa ArrayStorage* storage = m_storage; - unsigned usedVectorLength = min(storage->m_length, storage->m_vectorLength); + unsigned usedVectorLength = min(storage->m_length, m_vectorLength); for (unsigned i = 0; i < usedVectorLength; ++i) { if (storage->m_vector[i]) propertyNames.add(Identifier::from(exec, i)); @@ -494,7 +484,7 @@ bool JSArray::increaseVectorLength(unsigned newLength) ArrayStorage* storage = m_storage; - unsigned vectorLength = storage->m_vectorLength; + unsigned vectorLength = m_vectorLength; ASSERT(newLength > vectorLength); ASSERT(newLength <= MAX_STORAGE_VECTOR_INDEX); unsigned newVectorLength = increasedVectorLength(newLength); @@ -503,7 +493,7 @@ bool JSArray::increaseVectorLength(unsigned newLength) return false; Heap::heap(this)->reportExtraMemoryCost(storageSize(newVectorLength) - storageSize(vectorLength)); - storage->m_vectorLength = newVectorLength; + m_vectorLength = newVectorLength; for (unsigned i = vectorLength; i < newVectorLength; ++i) storage->m_vector[i] = JSValue(); @@ -521,10 +511,7 @@ void JSArray::setLength(unsigned newLength) unsigned length = m_storage->m_length; if (newLength < length) { - if (m_fastAccessCutoff > newLength) - m_fastAccessCutoff = newLength; - - unsigned usedVectorLength = min(length, storage->m_vectorLength); + unsigned usedVectorLength = min(length, m_vectorLength); for (unsigned i = newLength; i < usedVectorLength; ++i) { JSValue& valueSlot = storage->m_vector[i]; bool hadValue = valueSlot; @@ -563,20 +550,13 @@ JSValue JSArray::pop() JSValue result; - if (m_fastAccessCutoff > length) { - JSValue& valueSlot = m_storage->m_vector[length]; - result = valueSlot; - ASSERT(result); - valueSlot = JSValue(); - --m_storage->m_numValuesInVector; - m_fastAccessCutoff = length; - } else if (length < m_storage->m_vectorLength) { + if (length < m_vectorLength) { JSValue& valueSlot = m_storage->m_vector[length]; - result = valueSlot; - valueSlot = JSValue(); - if (result) + if (valueSlot) { --m_storage->m_numValuesInVector; - else + result = valueSlot; + valueSlot = JSValue(); + } else result = jsUndefined(); } else { result = jsUndefined(); @@ -604,11 +584,10 @@ void JSArray::push(ExecState* exec, JSValue value) { checkConsistency(); - if (m_storage->m_length < m_storage->m_vectorLength) { - ASSERT(!m_storage->m_vector[m_storage->m_length]); + if (m_storage->m_length < m_vectorLength) { m_storage->m_vector[m_storage->m_length] = value; - if (++m_storage->m_numValuesInVector == ++m_storage->m_length) - m_fastAccessCutoff = m_storage->m_length; + ++m_storage->m_numValuesInVector; + ++m_storage->m_length; checkConsistency(); return; } @@ -618,8 +597,8 @@ void JSArray::push(ExecState* exec, JSValue value) if (!map || map->isEmpty()) { if (increaseVectorLength(m_storage->m_length + 1)) { m_storage->m_vector[m_storage->m_length] = value; - if (++m_storage->m_numValuesInVector == ++m_storage->m_length) - m_fastAccessCutoff = m_storage->m_length; + ++m_storage->m_numValuesInVector; + ++m_storage->m_length; checkConsistency(); return; } @@ -837,7 +816,7 @@ void JSArray::sort(ExecState* exec, JSValue compareFunction, CallType callType, if (!m_storage->m_length) return; - unsigned usedVectorLength = min(m_storage->m_length, m_storage->m_vectorLength); + unsigned usedVectorLength = min(m_storage->m_length, m_vectorLength); AVLTree tree; // Depth 44 is enough for 2^31 items tree.abstractor().m_exec = exec; @@ -886,7 +865,7 @@ void JSArray::sort(ExecState* exec, JSValue compareFunction, CallType callType, if (SparseArrayValueMap* map = m_storage->m_sparseValueMap) { newUsedVectorLength += map->size(); - if (newUsedVectorLength > m_storage->m_vectorLength) { + if (newUsedVectorLength > m_vectorLength) { // Check that it is possible to allocate an array large enough to hold all the entries. if ((newUsedVectorLength > MAX_STORAGE_VECTOR_LENGTH) || !increaseVectorLength(newUsedVectorLength)) { throwOutOfMemoryError(exec); @@ -926,7 +905,6 @@ void JSArray::sort(ExecState* exec, JSValue compareFunction, CallType callType, for (unsigned i = newUsedVectorLength; i < usedVectorLength; ++i) m_storage->m_vector[i] = JSValue(); - m_fastAccessCutoff = newUsedVectorLength; m_storage->m_numValuesInVector = newUsedVectorLength; checkConsistency(SortConsistencyCheck); @@ -934,10 +912,16 @@ void JSArray::sort(ExecState* exec, JSValue compareFunction, CallType callType, void JSArray::fillArgList(ExecState* exec, MarkedArgumentBuffer& args) { - unsigned fastAccessLength = min(m_storage->m_length, m_fastAccessCutoff); + JSValue* vector = m_storage->m_vector; + unsigned vectorEnd = min(m_storage->m_length, m_vectorLength); unsigned i = 0; - for (; i < fastAccessLength; ++i) - args.append(getIndex(i)); + for (; i < vectorEnd; ++i) { + JSValue& v = vector[i]; + if (!v) + break; + args.append(v); + } + for (; i < m_storage->m_length; ++i) args.append(get(exec, i)); } @@ -946,12 +930,17 @@ void JSArray::copyToRegisters(ExecState* exec, Register* buffer, uint32_t maxSiz { ASSERT(m_storage->m_length == maxSize); UNUSED_PARAM(maxSize); - unsigned fastAccessLength = min(m_storage->m_length, m_fastAccessCutoff); + JSValue* vector = m_storage->m_vector; + unsigned vectorEnd = min(m_storage->m_length, m_vectorLength); unsigned i = 0; - for (; i < fastAccessLength; ++i) - buffer[i] = getIndex(i); - uint32_t size = m_storage->m_length; - for (; i < size; ++i) + for (; i < vectorEnd; ++i) { + JSValue& v = vector[i]; + if (!v) + break; + buffer[i] = v; + } + + for (; i < m_storage->m_length; ++i) buffer[i] = get(exec, i); } @@ -961,7 +950,7 @@ unsigned JSArray::compactForSorting() ArrayStorage* storage = m_storage; - unsigned usedVectorLength = min(m_storage->m_length, storage->m_vectorLength); + unsigned usedVectorLength = min(m_storage->m_length, m_vectorLength); unsigned numDefined = 0; unsigned numUndefined = 0; @@ -985,7 +974,7 @@ unsigned JSArray::compactForSorting() if (SparseArrayValueMap* map = storage->m_sparseValueMap) { newUsedVectorLength += map->size(); - if (newUsedVectorLength > storage->m_vectorLength) { + if (newUsedVectorLength > m_vectorLength) { // Check that it is possible to allocate an array large enough to hold all the entries - if not, // exception is thrown by caller. if ((newUsedVectorLength > MAX_STORAGE_VECTOR_LENGTH) || !increaseVectorLength(newUsedVectorLength)) @@ -1006,7 +995,6 @@ unsigned JSArray::compactForSorting() for (unsigned i = newUsedVectorLength; i < usedVectorLength; ++i) storage->m_vector[i] = JSValue(); - m_fastAccessCutoff = newUsedVectorLength; storage->m_numValuesInVector = newUsedVectorLength; checkConsistency(SortConsistencyCheck); @@ -1032,30 +1020,27 @@ void JSArray::checkConsistency(ConsistencyCheckType type) if (type == SortConsistencyCheck) ASSERT(!m_storage->m_sparseValueMap); - ASSERT(m_fastAccessCutoff <= m_storage->m_length); - ASSERT(m_fastAccessCutoff <= m_storage->m_numValuesInVector); - unsigned numValuesInVector = 0; - for (unsigned i = 0; i < m_storage->m_vectorLength; ++i) { + for (unsigned i = 0; i < m_vectorLength; ++i) { if (JSValue value = m_storage->m_vector[i]) { ASSERT(i < m_storage->m_length); if (type != DestructorConsistencyCheck) value->type(); // Likely to crash if the object was deallocated. ++numValuesInVector; } else { - ASSERT(i >= m_fastAccessCutoff); if (type == SortConsistencyCheck) ASSERT(i >= m_storage->m_numValuesInVector); } } ASSERT(numValuesInVector == m_storage->m_numValuesInVector); + ASSERT(numValuesInVector <= m_storage->m_length); if (m_storage->m_sparseValueMap) { SparseArrayValueMap::iterator end = m_storage->m_sparseValueMap->end(); for (SparseArrayValueMap::iterator it = m_storage->m_sparseValueMap->begin(); it != end; ++it) { unsigned index = it->first; ASSERT(index < m_storage->m_length); - ASSERT(index >= m_storage->m_vectorLength); + ASSERT(index >= m_vectorLength); ASSERT(index <= MAX_ARRAY_INDEX); ASSERT(it->second); if (type != DestructorConsistencyCheck) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSArray.h b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSArray.h index 37ed72b..2613991 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSArray.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSArray.h @@ -29,7 +29,6 @@ namespace JSC { struct ArrayStorage { unsigned m_length; - unsigned m_vectorLength; unsigned m_numValuesInVector; SparseArrayValueMap* m_sparseValueMap; void* lazyCreationData; // A JSArray subclass can use this to fill the vector lazily. @@ -63,18 +62,24 @@ namespace JSC { void push(ExecState*, JSValue); JSValue pop(); - bool canGetIndex(unsigned i) { return i < m_fastAccessCutoff; } + bool canGetIndex(unsigned i) { return i < m_vectorLength && m_storage->m_vector[i]; } JSValue getIndex(unsigned i) { ASSERT(canGetIndex(i)); return m_storage->m_vector[i]; } - bool canSetIndex(unsigned i) { return i < m_fastAccessCutoff; } - JSValue setIndex(unsigned i, JSValue v) + bool canSetIndex(unsigned i) { return i < m_vectorLength; } + void setIndex(unsigned i, JSValue v) { ASSERT(canSetIndex(i)); - return m_storage->m_vector[i] = v; + JSValue& x = m_storage->m_vector[i]; + if (!x) { + ++m_storage->m_numValuesInVector; + if (i >= m_storage->m_length) + m_storage->m_length = i + 1; + } + x = v; } void fillArgList(ExecState*, MarkedArgumentBuffer&); @@ -110,7 +115,7 @@ namespace JSC { enum ConsistencyCheckType { NormalConsistencyCheck, DestructorConsistencyCheck, SortConsistencyCheck }; void checkConsistency(ConsistencyCheckType = NormalConsistencyCheck); - unsigned m_fastAccessCutoff; + unsigned m_vectorLength; ArrayStorage* m_storage; }; @@ -144,7 +149,7 @@ namespace JSC { ArrayStorage* storage = m_storage; - unsigned usedVectorLength = std::min(storage->m_length, storage->m_vectorLength); + unsigned usedVectorLength = std::min(storage->m_length, m_vectorLength); markStack.appendValues(storage->m_vector, usedVectorLength, MayContainNullValues); if (SparseArrayValueMap* map = storage->m_sparseValueMap) { diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp index b11070f..5ded370 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp @@ -286,7 +286,7 @@ JSValue JSC_HOST_CALL globalFuncEval(ExecState* exec, JSObject* function, JSValu if (JSValue parsedObject = preparser.tryLiteralParse()) return parsedObject; - EvalExecutable eval(makeSource(s)); + EvalExecutable eval(exec, makeSource(s)); JSObject* error = eval.compile(exec, static_cast(unwrappedObject)->globalScopeChain().node()); if (error) return throwError(exec, error); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.cpp index 39a4093..699c1cd 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.cpp @@ -110,7 +110,10 @@ char* JSValue::description() { static const size_t size = 32; static char description[size]; - if (isInt32()) + + if (!*this) + snprintf(description, size, ""); + else if (isInt32()) snprintf(description, size, "Int32: %d", asInt32()); else if (isDouble()) snprintf(description, size, "Double: %lf", asDouble()); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h index 58e74b1..3c511d8 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSValue.h @@ -213,7 +213,8 @@ namespace JSC { enum { FalseTag = 0xfffffffc }; enum { NullTag = 0xfffffffb }; enum { UndefinedTag = 0xfffffffa }; - enum { DeletedValueTag = 0xfffffff9 }; + enum { EmptyValueTag = 0xfffffff9 }; + enum { DeletedValueTag = 0xfffffff8 }; enum { LowestTag = DeletedValueTag }; @@ -427,7 +428,7 @@ namespace JSC { inline JSValue::JSValue() { - u.asBits.tag = CellTag; + u.asBits.tag = EmptyValueTag; u.asBits.payload = 0; } @@ -463,19 +464,26 @@ namespace JSC { inline JSValue::JSValue(JSCell* ptr) { - u.asBits.tag = CellTag; + if (ptr) + u.asBits.tag = CellTag; + else + u.asBits.tag = EmptyValueTag; u.asBits.payload = reinterpret_cast(ptr); } inline JSValue::JSValue(const JSCell* ptr) { - u.asBits.tag = CellTag; + if (ptr) + u.asBits.tag = CellTag; + else + u.asBits.tag = EmptyValueTag; u.asBits.payload = reinterpret_cast(const_cast(ptr)); } inline JSValue::operator bool() const { - return u.asBits.payload || tag() != CellTag; + ASSERT(tag() != DeletedValueTag); + return tag() != EmptyValueTag; } inline bool JSValue::operator==(const JSValue& other) const diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp index f7bda9e..a509122 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp @@ -46,6 +46,7 @@ #define DO_PROPERTYMAP_CONSTENCY_CHECK 0 #endif +using namespace std; using namespace WTF; namespace JSC { @@ -555,7 +556,7 @@ PassRefPtr Structure::getterSetterTransition(Structure* structure) PassRefPtr Structure::toDictionaryTransition(Structure* structure, DictionaryKind kind) { - ASSERT(!structure->isDictionary()); + ASSERT(!structure->isUncacheableDictionary()); RefPtr transition = create(structure->m_prototype, structure->typeInfo()); transition->m_dictionaryKind = kind; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/TimeoutChecker.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/TimeoutChecker.cpp index d7fca33..0a8bbd3 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/TimeoutChecker.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/TimeoutChecker.cpp @@ -35,18 +35,10 @@ #if PLATFORM(DARWIN) #include -#endif - -#if HAVE(SYS_TIME_H) -#include -#endif - -#if PLATFORM(WIN_OS) +#elif PLATFORM(WIN_OS) #include -#endif - -#if PLATFORM(QT) -#include +#else +#include "CurrentTime.h" #endif using namespace std; @@ -75,14 +67,6 @@ static inline unsigned getCPUTime() time += info.system_time.seconds * 1000 + info.system_time.microseconds / 1000; return time; -#elif HAVE(SYS_TIME_H) - // FIXME: This should probably use getrusage with the RUSAGE_THREAD flag. - struct timeval tv; - gettimeofday(&tv, 0); - return tv.tv_sec * 1000 + tv.tv_usec / 1000; -#elif PLATFORM(QT) - QDateTime t = QDateTime::currentDateTime(); - return t.toTime_t() * 1000 + t.time().msec(); #elif PLATFORM(WIN_OS) union { FILETIME fileTime; @@ -97,7 +81,8 @@ static inline unsigned getCPUTime() return userTime.fileTimeAsLong / 10000 + kernelTime.fileTimeAsLong / 10000; #else -#error Platform does not have getCurrentTime function + // FIXME: We should return the time the current thread has spent executing. + return currentTime() * 1000; #endif } diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Assertions.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Assertions.cpp index 54daf23..5af1377 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Assertions.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Assertions.cpp @@ -108,7 +108,11 @@ static void vprintf_stderr_common(const char* format, va_list args) } while (size > 1024); } #endif +#if PLATFORM(SYMBIAN) + vfprintf(stdout, format, args); +#else vfprintf(stderr, format, args); +#endif } WTF_ATTRIBUTE_PRINTF(1, 2) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Assertions.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Assertions.h index b68e70c..f529a62 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Assertions.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Assertions.h @@ -50,6 +50,11 @@ #include #endif +#if PLATFORM(SYMBIAN) +#include +#include +#endif + #ifdef NDEBUG #define ASSERTIONS_DISABLED_DEFAULT 1 #else @@ -120,11 +125,18 @@ void WTFLogVerbose(const char* file, int line, const char* function, WTFLogChann /* CRASH -- gets us into the debugger or the crash reporter -- signals are ignored by the crash reporter so we must do better */ #ifndef CRASH +#if PLATFORM(SYMBIAN) +#define CRASH() do { \ + __DEBUGGER(); \ + User::Panic(_L("Webkit CRASH"),0); \ + } while(false) +#else #define CRASH() do { \ *(int *)(uintptr_t)0xbbadbeef = 0; \ ((void(*)())0)(); /* More reliable, but doesn't say BBADBEEF */ \ } while(false) #endif +#endif /* ASSERT, ASSERT_WITH_MESSAGE, ASSERT_NOT_REACHED */ diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp index afb0220..6cd8ef0 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp @@ -379,6 +379,9 @@ extern "C" const int jscore_fastmalloc_introspection = 0; #include #include #include +#if PLATFORM(UNIX) +#include +#endif #if COMPILER(MSVC) #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN @@ -391,6 +394,7 @@ extern "C" const int jscore_fastmalloc_introspection = 0; #if PLATFORM(DARWIN) #include "MallocZoneSupport.h" #include +#include #endif #ifndef PRIuS @@ -2274,7 +2278,7 @@ static inline TCMalloc_PageHeap* getPageHeap() #define pageheap getPageHeap() #if USE_BACKGROUND_THREAD_TO_SCAVENGE_MEMORY -#if PLATFORM(WIN) +#if PLATFORM(WIN_OS) static void sleep(unsigned seconds) { ::Sleep(seconds * 1000); @@ -2283,6 +2287,10 @@ static void sleep(unsigned seconds) void TCMalloc_PageHeap::scavengerThread() { +#if HAVE(PTHREAD_SETNAME_NP) + pthread_setname_np("JavaScriptCore: FastMalloc scavenger"); +#endif + while (1) { if (!shouldContinueScavenging()) { pthread_mutex_lock(&m_scavengeMutex); @@ -2388,7 +2396,7 @@ ALWAYS_INLINE void TCMalloc_Central_FreeList::ReleaseToSpans(void* object) { // The following check is expensive, so it is disabled by default if (false) { // Check that object does not occur in list - int got = 0; + unsigned got = 0; for (void* p = span->objects; p != NULL; p = *((void**) p)) { ASSERT(p != object); got++; diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.h index b23e7b0..ca0961c 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.h @@ -213,6 +213,9 @@ using WTF::fastMallocAllow; // debug-only code to make sure we don't use the system malloc via the default operator // new by accident. +// We musn't customize the global operator new and delete for the Qt port. +#if !PLATFORM(QT) + WTF_PRIVATE_INLINE void* operator new(size_t size) { return fastMalloc(size); } WTF_PRIVATE_INLINE void* operator new(size_t size, const std::nothrow_t&) throw() { return fastMalloc(size); } WTF_PRIVATE_INLINE void operator delete(void* p) { fastFree(p); } @@ -224,4 +227,6 @@ WTF_PRIVATE_INLINE void operator delete[](void* p, const std::nothrow_t&) throw( #endif +#endif + #endif /* WTF_FastMalloc_h */ diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Forward.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Forward.h index 67dc3be..448de7d 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Forward.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Forward.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006 Apple Computer, Inc. + * Copyright (C) 2006, 2009 Apple Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -27,6 +27,7 @@ namespace WTF { template class ListRefPtr; template class OwnArrayPtr; template class OwnPtr; + template class PassOwnPtr; template class PassRefPtr; template class RefPtr; template class Vector; @@ -35,9 +36,9 @@ namespace WTF { using WTF::ListRefPtr; using WTF::OwnArrayPtr; using WTF::OwnPtr; +using WTF::PassOwnPtr; using WTF::PassRefPtr; using WTF::RefPtr; using WTF::Vector; #endif // WTF_Forward_h - diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashCountedSet.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashCountedSet.h index 1a422d8..5fb6da8 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashCountedSet.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashCountedSet.h @@ -49,23 +49,28 @@ namespace WTF { const_iterator begin() const; const_iterator end() const; - iterator find(const ValueType& value); - const_iterator find(const ValueType& value) const; - bool contains(const ValueType& value) const; - unsigned count(const ValueType& value) const; + iterator find(const ValueType&); + const_iterator find(const ValueType&) const; + bool contains(const ValueType&) const; + unsigned count(const ValueType&) const; // increases the count if an equal value is already present // the return value is a pair of an interator to the new value's location, // and a bool that is true if an new entry was added - std::pair add(const ValueType &value); + std::pair add(const ValueType&); // reduces the count of the value, and removes it if count // goes down to zero - void remove(const ValueType& value); - void remove(iterator it); + void remove(const ValueType&); + void remove(iterator); - void clear(); - + // removes the value, regardless of its count + void clear(iterator); + void clear(const ValueType&); + + // clears the whole set + void clear(); + private: ImplType m_impl; }; @@ -166,6 +171,21 @@ namespace WTF { } template + inline void HashCountedSet::clear(const ValueType& value) + { + clear(find(value)); + } + + template + inline void HashCountedSet::clear(iterator it) + { + if (it == end()) + return; + + m_impl.remove(it); + } + + template inline void HashCountedSet::clear() { m_impl.clear(); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h index 39cafab..73212db 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h @@ -278,6 +278,10 @@ #undef ARM_ARCH_VERSION #define ARM_ARCH_VERSION 7 #endif +/* On ARMv5 and below the natural alignment is required. */ +#if !defined(ARM_REQUIRE_NATURAL_ALIGNMENT) && ARM_ARCH_VERSION <= 5 +#define ARM_REQUIRE_NATURAL_ALIGNMENT 1 +#endif /* Defines two pseudo-platforms for ARM and Thumb-2 instruction set. */ #if !defined(WTF_PLATFORM_ARM_TRADITIONAL) && !defined(WTF_PLATFORM_ARM_THUMB2) # if defined(thumb2) || defined(__thumb2__) @@ -560,6 +564,7 @@ #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !PLATFORM(IPHONE) #define HAVE_MADV_FREE_REUSE 1 #define HAVE_MADV_FREE 1 +#define HAVE_PTHREAD_SETNAME_NP 1 #endif #if PLATFORM(IPHONE) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/RandomNumber.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/RandomNumber.cpp index 0e6e208..52fb130 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/RandomNumber.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/RandomNumber.cpp @@ -82,6 +82,23 @@ double randomNumber() return static_cast(fullRandom)/static_cast(1LL << 53); #elif PLATFORM(WINCE) return genrand_res53(); +#elif PLATFORM(WIN_OS) + uint32_t part1 = rand() & (RAND_MAX - 1); + uint32_t part2 = rand() & (RAND_MAX - 1); + uint32_t part3 = rand() & (RAND_MAX - 1); + uint32_t part4 = rand() & (RAND_MAX - 1); + // rand only provides 15 bits on Win32 + uint64_t fullRandom = part1; + fullRandom <<= 15; + fullRandom |= part2; + fullRandom <<= 15; + fullRandom |= part3; + fullRandom <<= 15; + fullRandom |= part4; + + // Mask off the low 53bits + fullRandom &= (1LL << 53) - 1; + return static_cast(fullRandom)/static_cast(1LL << 53); #else uint32_t part1 = rand() & (RAND_MAX - 1); uint32_t part2 = rand() & (RAND_MAX - 1); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TCSpinLock.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TCSpinLock.h index ced2283..4cf30c2 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TCSpinLock.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TCSpinLock.h @@ -209,6 +209,13 @@ struct TCMalloc_SpinLock { inline void Unlock() { if (pthread_mutex_unlock(&private_lock_) != 0) CRASH(); } + bool IsHeld() { + if (pthread_mutex_trylock(&private_lock_)) + return true; + + Unlock(); + return false; + } }; #define SPINLOCK_INITIALIZER { PTHREAD_MUTEX_INITIALIZER } diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/ThreadingPthreads.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/ThreadingPthreads.cpp index c241bd9..e4fb419 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/ThreadingPthreads.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/ThreadingPthreads.cpp @@ -186,7 +186,7 @@ ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, con void setThreadNameInternal(const char* threadName) { -#if PLATFORM(DARWIN) && !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !PLATFORM(IPHONE) +#if HAVE(PTHREAD_SETNAME_NP) pthread_setname_np(threadName); #else UNUSED_PARAM(threadName); diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp index 4390b5b..d777424 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/yarr/RegexJIT.cpp @@ -549,11 +549,11 @@ class RegexGenerator : private MacroAssembler { } if (mask) { - load32(BaseIndex(input, index, TimesTwo, state.inputOffset() * sizeof(UChar)), character); + load32WithUnalignedHalfWords(BaseIndex(input, index, TimesTwo, state.inputOffset() * sizeof(UChar)), character); or32(Imm32(mask), character); state.jumpToBacktrack(branch32(NotEqual, character, Imm32(chPair | mask)), this); } else - state.jumpToBacktrack(branch32(NotEqual, BaseIndex(input, index, TimesTwo, state.inputOffset() * sizeof(UChar)), Imm32(chPair)), this); + state.jumpToBacktrack(branch32WithUnalignedHalfWords(NotEqual, BaseIndex(input, index, TimesTwo, state.inputOffset() * sizeof(UChar)), Imm32(chPair)), this); } void generatePatternCharacterFixed(TermGenerationState& state) diff --git a/src/3rdparty/javascriptcore/VERSION b/src/3rdparty/javascriptcore/VERSION index 3d9c27c..3815dfb 100644 --- a/src/3rdparty/javascriptcore/VERSION +++ b/src/3rdparty/javascriptcore/VERSION @@ -4,8 +4,8 @@ This is a snapshot of JavaScriptCore from The commit imported was from the - jsc-for-qtscript-4.6-staging-01102009 branch/tag + jsc-for-qtscript-4.6-staging-05102009 branch/tag and has the sha1 checksum - 79e88e90aab6674098b6d73b1b41998117164499 + 38c2b17366f24220d9ae0456a7cfe2ac78a9f91c diff --git a/src/3rdparty/javascriptcore/WebKit.pri b/src/3rdparty/javascriptcore/WebKit.pri index fd918c9..f5276b3 100644 --- a/src/3rdparty/javascriptcore/WebKit.pri +++ b/src/3rdparty/javascriptcore/WebKit.pri @@ -31,7 +31,10 @@ building-libs { DEPENDPATH += $$PWD/WebKit/qt/Api } -DEFINES += USE_SYSTEM_MALLOC +!win32:!mac:!unix { + DEFINES += USE_SYSTEM_MALLOC +} + CONFIG(release, debug|release) { DEFINES += NDEBUG } @@ -48,7 +51,7 @@ symbian|*-armcc { RVCT_COMMON_CFLAGS = --gnu --diag_suppress 68,111,177,368,830,1293 RVCT_COMMON_CXXFLAGS = $$RVCT_COMMON_CFLAGS --no_parse_templates DEFINES *= QT_NO_UITOOLS -} +} *-armcc { QMAKE_CFLAGS += $$RVCT_COMMON_CFLAGS @@ -63,7 +66,7 @@ contains(DEFINES, QT_NO_UITOOLS): CONFIG -= uitools # Disable a few warnings on Windows. The warnings are also # disabled in WebKitLibraries/win/tools/vsprops/common.vsprops -win32-msvc*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996 +win32-msvc*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4503 -wd4800 -wd4819 -wd4996 # # For builds inside Qt we interpret the output rule and the input of each extra compiler manually diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index fb14940..09042e1 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -2168,7 +2168,7 @@ QScriptValue QScriptEngine::evaluate(const QString &program, const QString &file exec->clearException(); JSC::DynamicGlobalObjectScope dynamicGlobalObjectScope(exec, exec->scopeChain()->globalObject()); - JSC::EvalExecutable executable(source); + JSC::EvalExecutable executable(exec, source); JSC::JSObject* error = executable.compile(exec, exec->scopeChain()); if (error) { exec->setException(error); -- cgit v0.12 From fd8fda4db4446e394db137ce572a9f2508d12bf2 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Mon, 5 Oct 2009 13:44:54 +0200 Subject: Fixed pixeldust in translucent toplevel proxy widgets on Mac Reviewed-by: Bjoern Erik Nilsen (cherry picked from commit 0ae8f0b63e6705790ad0bdb0f90644b557b5ac67) --- src/gui/kernel/qwidget.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 2359812..4cbf762 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -5130,7 +5130,8 @@ void QWidgetPrivate::render_helper(QPainter *painter, const QPoint &targetOffset return; QPixmap pixmap(size); - if (!(renderFlags & QWidget::DrawWindowBackground)) + if (!(renderFlags & QWidget::DrawWindowBackground) + || !q->palette().brush(q->backgroundRole()).isOpaque()) pixmap.fill(Qt::transparent); q->render(&pixmap, QPoint(), toBePainted, renderFlags); @@ -11447,7 +11448,7 @@ QWidget *QWidgetPrivate::widgetInNavigationDirection(Direction direction) const QRect targetCandidateRect = targetCandidate->rect().translated(targetCandidate->mapToGlobal(QPoint())); - // For focus proxies, the child widget handling the focus can have keypad navigation focus, + // For focus proxies, the child widget handling the focus can have keypad navigation focus, // but the owner of the proxy cannot. // Additionally, empty widgets should be ignored. if (targetCandidate->focusProxy() || targetCandidateRect.isEmpty()) -- cgit v0.12 From 105f17800e4a12e12d728f6f319ebbe9be7fd433 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 5 Oct 2009 14:13:53 +0200 Subject: QAbstractItemView: Make sure the view is updated when a delegate is set. The test tst_QListView::task254449_draggingItemToNegativeCoordinates was failing in cocoa because of this. (on, cocoa, the call to show was doing the first paintEvent) Reviewed-by: Thierry (cherry picked from commit e1fbf1e016cbbf203964f3606ee2a34afe33bbd7) --- src/gui/itemviews/qabstractitemview.cpp | 4 +++- tests/auto/qlistview/tst_qlistview.cpp | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 18cab13..27528de 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -751,7 +751,6 @@ void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate) } } - if (delegate) { if (d->delegateRefCount(delegate) == 0) { connect(delegate, SIGNAL(closeEditor(QWidget*,QAbstractItemDelegate::EndEditHint)), @@ -762,6 +761,7 @@ void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate) } } d->itemDelegate = delegate; + update(); } /*! @@ -826,6 +826,7 @@ void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate *de } d->rowDelegates.insert(row, delegate); } + update(); } /*! @@ -882,6 +883,7 @@ void QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelega } d->columnDelegates.insert(column, delegate); } + update(); } /*! diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp index d9cab02..cba1776 100644 --- a/tests/auto/qlistview/tst_qlistview.cpp +++ b/tests/auto/qlistview/tst_qlistview.cpp @@ -1617,6 +1617,8 @@ void tst_QListView::task254449_draggingItemToNegativeCoordinates() list.setModel(&model); list.setViewMode(QListView::IconMode); list.show(); + QTest::qWaitForWindowShown(&list); + class MyItemDelegate : public QStyledItemDelegate { public: @@ -1631,10 +1633,9 @@ void tst_QListView::task254449_draggingItemToNegativeCoordinates() mutable int numPaints; } delegate; list.setItemDelegate(&delegate); - delegate.numPaints = 0; - QTest::qWaitForWindowShown(&list); //makes sure the layout is done - QTRY_VERIFY(delegate.numPaints > 0); + QApplication::processEvents(); + QTRY_VERIFY(delegate.numPaints > 0); //makes sure the layout is done const QPoint topLeft(-6, 0); list.setPositionForIndex(topLeft, index); -- cgit v0.12 From 5f1728eb5a6b3e6654f75b4af0812eb3b800989f Mon Sep 17 00:00:00 2001 From: axis Date: Mon, 5 Oct 2009 14:21:32 +0200 Subject: Stopped using bitfields for S60 and Symbian versions. There is no reason for it, since they will never overlap. Left a little space between numbers in case of patch releases. RevBy: Iain (cherry picked from commit 19a6d4245ca152758d8dbc7f7d9ee0f0654c04f7) --- src/corelib/global/qglobal.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index dcd4397..5720505 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -1478,17 +1478,17 @@ public: #ifdef Q_OS_SYMBIAN enum SymbianVersion { SV_Unknown = 0x0000, - SV_9_2 = 0x0001, - SV_9_3 = 0x0002, - SV_9_4 = 0x0004 + SV_9_2 = 10, + SV_9_3 = 20, + SV_9_4 = 30 }; static SymbianVersion symbianVersion(); enum S60Version { - SV_S60_None = 0x0000, - SV_S60_Unknown = 0x0001, - SV_S60_3_1 = 0x0002, - SV_S60_3_2 = 0x0004, - SV_S60_5_0 = 0x0008 + SV_S60_None = 0, + SV_S60_Unknown = 1, + SV_S60_3_1 = 10, + SV_S60_3_2 = 20, + SV_S60_5_0 = 30 }; static S60Version s60Version(); #endif -- cgit v0.12 From 6ee7369737feba856e5f2b94f6fa02dce3e489f8 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 5 Oct 2009 14:33:08 +0200 Subject: doc: fix two errors in statemachine snippets (cherry picked from commit b73f1b3d88927b0c51c0624f67695cfd80167d38) --- doc/src/snippets/statemachine/main2.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/snippets/statemachine/main2.cpp b/doc/src/snippets/statemachine/main2.cpp index d882400..2419dc2 100644 --- a/doc/src/snippets/statemachine/main2.cpp +++ b/doc/src/snippets/statemachine/main2.cpp @@ -57,7 +57,7 @@ int main(int argv, char **args) //![0] //![2] - s12>addTransition(quitButton, SIGNAL(clicked()), s12); + s12->addTransition(quitButton, SIGNAL(clicked()), s12); //![2] //![1] @@ -71,7 +71,7 @@ int main(int argv, char **args) QButton *interruptButton = new QPushButton("Interrupt Button"); //![3] - QHistoryState *s1h = s1->addHistoryState(); + QHistoryState *s1h = new QHistoryState(s1); QState *s3 = new QState(); s3->assignProperty(label, "text", "In s3"); -- cgit v0.12 From 4d1823e5a1e0f21dcf296700638db285376742da Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 5 Oct 2009 16:07:30 +0300 Subject: Fixes to qpixmapcache test cases, test case now adapts to cache_limit. The default cache_limit in different platforms have different value. For example in Symbian the default is currently 1024 KB where as for desktop platforms the default is 10 MB. The purpose of modified qpixmapcache test cases was to do operations until cache_limit was reached. This was achieved by hard coded 40000 iterations. However this hard-coded value is fargile for cache limit changes, and in addition it unnecessarily made the test exectuion to take very long time on platforms which had smaller cache limit. This patch changes the test so that number of expected items to fit in cache is calculated and then 1000 extra items is tried to put in cache to make sure limit is exceeded. Reviewed-by: Alexis Menard (cherry picked from commit bfe0e5c0d47780542b174dc96973920fba11c451) --- tests/auto/qpixmapcache/tst_qpixmapcache.cpp | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp index b487d74..9775d36 100644 --- a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp +++ b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp @@ -244,16 +244,23 @@ void tst_QPixmapCache::insert() QPixmap p2(10, 10); p2.fill(Qt::yellow); + // Calcuate estimated num of items what fits to cache + int estimatedNum = (1024 * QPixmapCache::cacheLimit()) + / ((p1.width() * p1.height() * p1.depth()) / 8); + + // Mare sure we will put enough items to reach the cache limit + const int numberOfKeys = estimatedNum + 1000; + // make sure it doesn't explode - for (int i = 0; i < 20000; ++i) + for (int i = 0; i < numberOfKeys; ++i) QPixmapCache::insert("0", p1); // ditto - for (int j = 0; j < 40000; ++j) + for (int j = 0; j < numberOfKeys; ++j) QPixmapCache::insert(QString::number(j), p1); int num = 0; - for (int k = 0; k < 40000; ++k) { + for (int k = 0; k < numberOfKeys; ++k) { if (QPixmapCache::find(QString::number(k))) ++num; } @@ -261,9 +268,6 @@ void tst_QPixmapCache::insert() if (QPixmapCache::find("0")) ++num; - int estimatedNum = (1024 * QPixmapCache::cacheLimit()) - / ((p1.width() * p1.height() * p1.depth()) / 8); - QVERIFY(num <= estimatedNum); QPixmap p3; QPixmapCache::insert("null", p3); @@ -281,11 +285,11 @@ void tst_QPixmapCache::insert() //The int part of the API // make sure it doesn't explode QList keys; - for (int i = 0; i < 40000; ++i) + for (int i = 0; i < numberOfKeys; ++i) keys.append(QPixmapCache::insert(p1)); num = 0; - for (int k = 0; k < 40000; ++k) { + for (int k = 0; k < numberOfKeys; ++k) { if (QPixmapCache::find(keys.at(k), &p2)) ++num; } @@ -393,7 +397,12 @@ void tst_QPixmapCache::clear() QPixmap p1(10, 10); p1.fill(Qt::red); - const int numberOfKeys = 40000; + // Calcuate estimated num of items what fits to cache + int estimatedNum = (1024 * QPixmapCache::cacheLimit()) + / ((p1.width() * p1.height() * p1.depth()) / 8); + + // Mare sure we will put enough items to reach the cache limit + const int numberOfKeys = estimatedNum + 1000; for (int i = 0; i < numberOfKeys; ++i) QVERIFY(QPixmapCache::find("x" + QString::number(i)) == 0); -- cgit v0.12 From b8b407a1f19d0521db93e7e5a7fbd03db7f6825c Mon Sep 17 00:00:00 2001 From: mae Date: Mon, 5 Oct 2009 15:07:10 +0200 Subject: Fix QKeySequence::DeleteEndOfWord and QKeySequence::DeleteStartOfWord QTextControl showed inconsistent behaviour with DeleteEndOfWord and DeleteStartOfWord when the cursor had a selection. With this patch, the commands will simply delete the existing selection, which is consistent behaviour with in other IDEs. Reviewed-by: Simon Hausmann (cherry picked from commit 6ce698050bbe9a4ec5198f1e08b94d51b8a6c9bd) --- src/gui/text/qtextcontrol.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp index 6def06e..db4c07c 100644 --- a/src/gui/text/qtextcontrol.cpp +++ b/src/gui/text/qtextcontrol.cpp @@ -1223,11 +1223,13 @@ void QTextControlPrivate::keyPressEvent(QKeyEvent *e) cursor.deleteChar(); } else if (e == QKeySequence::DeleteEndOfWord) { - cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor); + if (!cursor.hasSelection()) + cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor); cursor.removeSelectedText(); } else if (e == QKeySequence::DeleteStartOfWord) { - cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor); + if (!cursor.hasSelection()) + cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor); cursor.removeSelectedText(); } else if (e == QKeySequence::DeleteEndOfLine) { -- cgit v0.12 From 7e89d6d5b98fddd62572f87d61f7137c9fca21f6 Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Mon, 5 Oct 2009 14:55:50 +0200 Subject: Fixed noisy looking textures in Basic Drawing example with GL2 engine. When running the Basic Drawing example with the GL2 paint engine and antialiasing enabled, textures looked noisy. When antialiasing was enabled, the example translated the painter half a pixel to get sharp lines. This caused the textures to be sampled at texel corners. Without linear interpolation, sampling textures at texel corners is unpredictable. The fix is to not translate the painter. Reviewed-by: Gunnar (cherry picked from commit 30f413b74f883f7e3984dfe39d825aa6c5f16132) --- examples/painting/basicdrawing/renderarea.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/painting/basicdrawing/renderarea.cpp b/examples/painting/basicdrawing/renderarea.cpp index e8222af..4f07a2d 100644 --- a/examples/painting/basicdrawing/renderarea.cpp +++ b/examples/painting/basicdrawing/renderarea.cpp @@ -136,11 +136,9 @@ void RenderArea::paintEvent(QPaintEvent * /* event */) QPainter painter(this); painter.setPen(pen); painter.setBrush(brush); - if (antialiased) { + if (antialiased) painter.setRenderHint(QPainter::Antialiasing, true); //! [9] - painter.translate(+0.5, +0.5); - } //! [10] for (int x = 0; x < width(); x += 100) { @@ -202,6 +200,7 @@ void RenderArea::paintEvent(QPaintEvent * /* event */) } } + painter.setRenderHint(QPainter::Antialiasing, false); painter.setPen(palette().dark().color()); painter.setBrush(Qt::NoBrush); painter.drawRect(QRect(0, 0, width() - 1, height() - 1)); -- cgit v0.12 From 92b07d2b7054025a661a4c2de226d84a5be4d48f Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 5 Oct 2009 15:38:01 +0200 Subject: Updated JavaScriptCore from /home/khansen/dev/qtwebkit to jsc-for-qtscript-4.6-staging-05102009 ( ed678069ebd06579a26b4fb8cc944f06d6b0d55c ) (cherry picked from commit 3e574dc0d1b7b2ac351bdf077b86979c85de7972) --- src/3rdparty/javascriptcore/JavaScriptCore/jsc.pro | 31 ---------------------- src/3rdparty/javascriptcore/VERSION | 2 +- src/3rdparty/javascriptcore/WebKit.pri | 2 +- 3 files changed, 2 insertions(+), 33 deletions(-) delete mode 100644 src/3rdparty/javascriptcore/JavaScriptCore/jsc.pro diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jsc.pro b/src/3rdparty/javascriptcore/JavaScriptCore/jsc.pro deleted file mode 100644 index ba880ff..0000000 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jsc.pro +++ /dev/null @@ -1,31 +0,0 @@ -TEMPLATE = app -TARGET = jsc -DESTDIR = . -SOURCES = jsc.cpp -QT -= gui -CONFIG -= app_bundle -CONFIG += building-libs -win32-*: CONFIG += console -win32-msvc*: CONFIG += exceptions_off stl_off - -include($$PWD/../WebKit.pri) - -CONFIG += link_pkgconfig - -QMAKE_RPATHDIR += $$OUTPUT_DIR/lib - -isEmpty(OUTPUT_DIR):OUTPUT_DIR=$$PWD/.. -CONFIG(debug, debug|release) { - OBJECTS_DIR = obj/debug -} else { # Release - OBJECTS_DIR = obj/release -} -OBJECTS_DIR_WTR = $$OBJECTS_DIR$${QMAKE_DIR_SEP} -include($$PWD/JavaScriptCore.pri) - -lessThan(QT_MINOR_VERSION, 4) { - DEFINES += QT_BEGIN_NAMESPACE="" QT_END_NAMESPACE="" -} - -*-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2 -*-g++*:QMAKE_CXXFLAGS_RELEASE += -O3 diff --git a/src/3rdparty/javascriptcore/VERSION b/src/3rdparty/javascriptcore/VERSION index 3815dfb..8f2b739 100644 --- a/src/3rdparty/javascriptcore/VERSION +++ b/src/3rdparty/javascriptcore/VERSION @@ -8,4 +8,4 @@ The commit imported was from the and has the sha1 checksum - 38c2b17366f24220d9ae0456a7cfe2ac78a9f91c + ed678069ebd06579a26b4fb8cc944f06d6b0d55c diff --git a/src/3rdparty/javascriptcore/WebKit.pri b/src/3rdparty/javascriptcore/WebKit.pri index f5276b3..8291f30 100644 --- a/src/3rdparty/javascriptcore/WebKit.pri +++ b/src/3rdparty/javascriptcore/WebKit.pri @@ -31,7 +31,7 @@ building-libs { DEPENDPATH += $$PWD/WebKit/qt/Api } -!win32:!mac:!unix { +!mac:!unix|symbian { DEFINES += USE_SYSTEM_MALLOC } -- cgit v0.12 From 79fb5a199c320e146700ca6af3016888520ab9ad Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 5 Oct 2009 15:43:45 +0200 Subject: Test fix on Mac (cherry picked from commit eda93b795b044542a4247a086e4c2eed454123e4) --- tests/auto/qlineedit/tst_qlineedit.cpp | 1 + tests/auto/qtreewidget/tst_qtreewidget.cpp | 1 + tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp index 1417e69..8368114 100644 --- a/tests/auto/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/qlineedit/tst_qlineedit.cpp @@ -3493,6 +3493,7 @@ void tst_QLineEdit::task241436_passwordEchoOnEditRestoreEchoMode() testWidget->setEchoMode(QLineEdit::PasswordEchoOnEdit); testWidget->setFocus(); + QApplication::setActiveWindow(testWidget); QTRY_VERIFY(testWidget->hasFocus()); QTest::keyPress(testWidget, '0'); diff --git a/tests/auto/qtreewidget/tst_qtreewidget.cpp b/tests/auto/qtreewidget/tst_qtreewidget.cpp index 4a74d96..11c4543 100644 --- a/tests/auto/qtreewidget/tst_qtreewidget.cpp +++ b/tests/auto/qtreewidget/tst_qtreewidget.cpp @@ -468,6 +468,7 @@ void tst_QTreeWidget::editItem() QTest::ignoreMessage(QtWarningMsg, "edit: editing failed"); tree.editItem(item, col); QApplication::instance()->processEvents(); + QApplication::instance()->processEvents(); QLineEdit *editor = qFindChild(&tree); if (editor) { QVERIFY(item->flags() & Qt::ItemIsEditable); diff --git a/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro b/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro index 531e48b..bcc988a 100644 --- a/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro +++ b/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro @@ -14,7 +14,10 @@ if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { win32:PATTERNIST_SDK = $${PATTERNIST_SDK}d else: PATTERNIST_SDK = $${PATTERNIST_SDK}_debug } -LIBS += -l$$PATTERNIST_SDK -lQtXml + +LIBS += -l$$PATTERNIST_SDK + +QT += xml INCLUDEPATH += $$QT_SOURCE_TREE/tests/auto/xmlpatternsxqts/lib/ \ $$QT_BUILD_TREE/include/QtXmlPatterns/private \ -- cgit v0.12 From 85b71e4bae5ea4989c2c2ccf769b6f25ea631a4d Mon Sep 17 00:00:00 2001 From: axis Date: Mon, 5 Oct 2009 16:09:17 +0200 Subject: Moved non-public functions out of public header file. RevBy: Trust me (cherry picked from commit c6e0bf67795768954bc2ac129f20dbb7243b2975) --- src/gui/widgets/qmenu.h | 8 -------- src/gui/widgets/qmenu_p.h | 5 +++++ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/gui/widgets/qmenu.h b/src/gui/widgets/qmenu.h index 3d41727..0346a55 100644 --- a/src/gui/widgets/qmenu.h +++ b/src/gui/widgets/qmenu.h @@ -52,19 +52,11 @@ #endif QT_BEGIN_HEADER -#ifdef Q_WS_S60 - class CEikMenuPane; -#endif QT_BEGIN_NAMESPACE QT_MODULE(Gui) -#ifdef Q_WS_S60 -void qt_symbian_show_toplevel(CEikMenuPane* menuPane); -void qt_symbian_show_submenu(CEikMenuPane* menuPane, int id); -#endif // Q_WS_S60 - #ifndef QT_NO_MENU class QMenuPrivate; diff --git a/src/gui/widgets/qmenu_p.h b/src/gui/widgets/qmenu_p.h index 2d5632e..ea1ab47 100644 --- a/src/gui/widgets/qmenu_p.h +++ b/src/gui/widgets/qmenu_p.h @@ -68,6 +68,11 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_MENU +#ifdef Q_WS_S60 +void qt_symbian_show_toplevel(CEikMenuPane* menuPane); +void qt_symbian_show_submenu(CEikMenuPane* menuPane, int id); +#endif // Q_WS_S60 + class QTornOffMenu; class QEventLoop; -- cgit v0.12 From 469fea6244d1c73e794f095b562c126d1f7b4d9d Mon Sep 17 00:00:00 2001 From: axis Date: Mon, 5 Oct 2009 16:10:41 +0200 Subject: Fixed indentation. (cherry picked from commit 5e1fcb056a42abdfd04d7ca25f55de43dfdcc648) --- src/gui/widgets/qmenu_symbian.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp index 6fc4371..d3d3892 100644 --- a/src/gui/widgets/qmenu_symbian.cpp +++ b/src/gui/widgets/qmenu_symbian.cpp @@ -250,12 +250,12 @@ void QMenuBarPrivate::symbianCommands(int command) int size = nativeMenuBars.size(); for (int i = 0; i < nativeMenuBars.size(); ++i) { - SymbianMenuItem* menu = qt_symbian_find_menu_item(command, symbianMenus); - if (!menu) + SymbianMenuItem* menu = qt_symbian_find_menu_item(command, symbianMenus); + if (!menu) continue; emit nativeMenuBars.at(i)->triggered(menu->action); - menu->action->activate(QAction::Trigger); + menu->action->activate(QAction::Trigger); break; } } -- cgit v0.12 From 91475368d490cecd84e17f295a14e8e34ba381fb Mon Sep 17 00:00:00 2001 From: axis Date: Mon, 5 Oct 2009 16:11:04 +0200 Subject: Added some comments. (cherry picked from commit 4754ebccb9848bff1cb11caab61f58ac2f441b3c) --- src/gui/widgets/qmenu_symbian.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp index d3d3892..e0eb87e 100644 --- a/src/gui/widgets/qmenu_symbian.cpp +++ b/src/gui/widgets/qmenu_symbian.cpp @@ -397,7 +397,7 @@ void QMenuBarPrivate::QSymbianMenuBarPrivate::rebuild() contextMenuActionList.clear(); if (widgetWithContextMenu) { - contexMenuCommand = qt_symbian_menu_static_cmd_id; + contexMenuCommand = qt_symbian_menu_static_cmd_id; // Increased inside insertNativeMenuItems contextAction.setText(QMenuBar::tr("Actions")); contextMenuActionList.append(&contextAction); insertNativeMenuItems(contextMenuActionList); -- cgit v0.12 From 79b6b21eb72d60e7136c4ad5f4642bc1251b3b4a Mon Sep 17 00:00:00 2001 From: axis Date: Mon, 5 Oct 2009 15:56:57 +0200 Subject: Fixed a crash in menus on Symbian. The reason for the crash was the following: When we make menu entries in Qt, we assign each item an arbitrary command ID. This is because Symbian usually puts the items in a resource file and refers to them by ID, but we need to be dynamic. These command IDs are also assigned to cascading menu items (sub menus). When we then get a callback in RestoreMenuL with one of submenu IDs, we used to ask Symbian to construct the menu items for them, but Symbian doesn't know about them. Fixed by avoiding call into S60 code if the ID belongs to Qt. Also put a cap on the number of menu items. It's very unlikely that anyone will reach it, but it's better to have an actual check. Task: QT-646 AutoTest: Manual testing went fine RevBy: mread (cherry picked from commit c4571223a0ebb2f00a6c29477d0a4a55ae3cd2b5) --- src/gui/s60framework/qs60mainappui.cpp | 21 ++++++++++----------- src/gui/widgets/qmenu_p.h | 2 ++ src/gui/widgets/qmenu_symbian.cpp | 12 +++++++----- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/gui/s60framework/qs60mainappui.cpp b/src/gui/s60framework/qs60mainappui.cpp index 9e2333b..d8181f8 100644 --- a/src/gui/s60framework/qs60mainappui.cpp +++ b/src/gui/s60framework/qs60mainappui.cpp @@ -51,7 +51,9 @@ #include "qs60mainappui.h" #include #include -#include +#include +#include +#include QT_BEGIN_NAMESPACE @@ -226,17 +228,14 @@ void QS60MainAppUi::DynInitMenuPaneL(TInt resourceId, CEikMenuPane *menuPane) */ void QS60MainAppUi::RestoreMenuL(CCoeControl* menuWindow, TInt resourceId, TMenuType menuType) { - if ((resourceId == R_QT_WRAPPERAPP_MENUBAR) || (resourceId == R_AVKON_MENUPANE_FEP_DEFAULT)) { - TResourceReader reader; - iCoeEnv->CreateResourceReaderLC(reader, resourceId); - menuWindow->ConstructFromResourceL(reader); - CleanupStack::PopAndDestroy(); + if (resourceId >= QT_SYMBIAN_FIRST_MENU_ITEM && resourceId <= QT_SYMBIAN_LAST_MENU_ITEM) { + if (menuType == EMenuPane) + DynInitMenuPaneL(resourceId, (CEikMenuPane*)menuWindow); + else + DynInitMenuBarL(resourceId, (CEikMenuBar*)menuWindow); + } else { + CAknAppUi::RestoreMenuL(menuWindow, resourceId, menuType); } - - if (menuType == EMenuPane) - DynInitMenuPaneL(resourceId, (CEikMenuPane*)menuWindow); - else - DynInitMenuBarL(resourceId, (CEikMenuBar*)menuWindow); } QT_END_NAMESPACE diff --git a/src/gui/widgets/qmenu_p.h b/src/gui/widgets/qmenu_p.h index ea1ab47..9c4f260 100644 --- a/src/gui/widgets/qmenu_p.h +++ b/src/gui/widgets/qmenu_p.h @@ -63,6 +63,8 @@ #ifdef Q_WS_S60 class CEikMenuPane; +#define QT_SYMBIAN_FIRST_MENU_ITEM 32000 +#define QT_SYMBIAN_LAST_MENU_ITEM 41999 // 10000 items ought to be enough for anybody... #endif QT_BEGIN_NAMESPACE diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp index e0eb87e..c656ef8 100644 --- a/src/gui/widgets/qmenu_symbian.cpp +++ b/src/gui/widgets/qmenu_symbian.cpp @@ -66,8 +66,6 @@ QT_BEGIN_NAMESPACE typedef QMultiHash MenuBarHash; Q_GLOBAL_STATIC(MenuBarHash, menubars) -#define QT_FIRST_MENU_ITEM 32000 - struct SymbianMenuItem { int id; @@ -78,7 +76,7 @@ struct SymbianMenuItem static QList symbianMenus; static QList nativeMenuBars; -static uint qt_symbian_menu_static_cmd_id = QT_FIRST_MENU_ITEM; +static uint qt_symbian_menu_static_cmd_id = QT_SYMBIAN_FIRST_MENU_ITEM; static QPointer widgetWithContextMenu; static QList contextMenuActionList; static QAction contextAction(0); @@ -145,6 +143,9 @@ static void qt_symbian_insert_action(QSymbianMenuAction* action, QListaction->isSeparator()) return; + Q_ASSERT_X(action->command <= QT_SYMBIAN_LAST_MENU_ITEM, "qt_symbian_insert_action", + "Too many menu actions"); + const int underlineShortCut = QApplication::style()->styleHint(QStyle::SH_UnderlineShortcut); QString iconText = action->action->iconText(); TPtrC menuItemText = qt_QString2TPtrC( underlineShortCut ? action->action->text() : iconText); @@ -213,7 +214,7 @@ static void rebuildMenu() if (w) { mb = menubars()->value(w); - qt_symbian_menu_static_cmd_id = QT_FIRST_MENU_ITEM; + qt_symbian_menu_static_cmd_id = QT_SYMBIAN_FIRST_MENU_ITEM; deleteAll( &symbianMenus ); if (!mb) return; @@ -289,6 +290,7 @@ QMenuBarPrivate::QSymbianMenuBarPrivate::QSymbianMenuBarPrivate(QMenuBarPrivate QMenuBarPrivate::QSymbianMenuBarPrivate::~QSymbianMenuBarPrivate() { + qt_symbian_menu_static_cmd_id = QT_SYMBIAN_FIRST_MENU_ITEM; deleteAll( &symbianMenus ); symbianMenus.clear(); d = 0; @@ -390,7 +392,7 @@ void QMenuBarPrivate::QSymbianMenuBarPrivate::insertNativeMenuItems(const QList< void QMenuBarPrivate::QSymbianMenuBarPrivate::rebuild() { contexMenuCommand = 0; - qt_symbian_menu_static_cmd_id = QT_FIRST_MENU_ITEM; + qt_symbian_menu_static_cmd_id = QT_SYMBIAN_FIRST_MENU_ITEM; deleteAll( &symbianMenus ); if (d) insertNativeMenuItems(d->actions); -- cgit v0.12 From 1decaac044da42a6ccbf84898f0ded6d3b5c70d0 Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Mon, 5 Oct 2009 16:06:20 +0200 Subject: use QTRY_VERIFY instead of qWait() in tst_QDialog::reject() This test already uses qWaitForWindowManager(), but on X11, reshowing a dialog can take long as the window manager has to do more work before remapping the window. we should give it more time (hence the change to QTRY_VERIFY) Reviewed-by: Rohan McGovern (cherry picked from commit d763b9a56c5f488a6a4187f6aa454405ab75d09b) --- tests/auto/qdialog/tst_qdialog.cpp | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/tests/auto/qdialog/tst_qdialog.cpp b/tests/auto/qdialog/tst_qdialog.cpp index dc6878d..e95bc53 100644 --- a/tests/auto/qdialog/tst_qdialog.cpp +++ b/tests/auto/qdialog/tst_qdialog.cpp @@ -50,6 +50,8 @@ #include #include +#include "../../shared/util.h" + Q_DECLARE_METATYPE(QSize) @@ -160,8 +162,8 @@ void tst_QDialog::initTestCase() void tst_QDialog::cleanupTestCase() { if (testWidget) { - delete testWidget; - testWidget = 0; + delete testWidget; + testWidget = 0; } } @@ -585,35 +587,27 @@ void tst_QDialog::reject() TestRejectDialog dialog; dialog.show(); QTest::qWaitForWindowShown(&dialog); - QTest::qWait(100); - QVERIFY(dialog.isVisible()); + QTRY_VERIFY(dialog.isVisible()); dialog.reject(); - QTest::qWait(100); - QVERIFY(!dialog.isVisible()); + QTRY_VERIFY(!dialog.isVisible()); QCOMPARE(dialog.called, 1); dialog.show(); QTest::qWaitForWindowShown(&dialog); - QTest::qWait(100); - - QVERIFY(dialog.isVisible()); + QTRY_VERIFY(dialog.isVisible()); QVERIFY(dialog.close()); - QTest::qWait(100); - QVERIFY(!dialog.isVisible()); + QTRY_VERIFY(!dialog.isVisible()); QCOMPARE(dialog.called, 2); dialog.cancelReject = true; dialog.show(); QTest::qWaitForWindowShown(&dialog); - QTest::qWait(100); - QVERIFY(dialog.isVisible()); + QTRY_VERIFY(dialog.isVisible()); dialog.reject(); - QTest::qWait(100); - QVERIFY(dialog.isVisible()); + QTRY_VERIFY(dialog.isVisible()); QCOMPARE(dialog.called, 3); QVERIFY(!dialog.close()); - QTest::qWait(100); - QVERIFY(dialog.isVisible()); + QTRY_VERIFY(dialog.isVisible()); QCOMPARE(dialog.called, 4); } -- cgit v0.12 From 8b7fb503e67ad43374df166cddde158a205b3981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 5 Oct 2009 15:36:38 +0200 Subject: Fixed bug in X11 paint engine causing source pixmap depth to change. Setting a pixmap brush when painting to a 32-bit target might cause the source pixmap to be converted to 32-bit. We should detach the pixmap if we need to convert it. Reviewed-by: Trond (cherry picked from commit 1210fa5b2d65895ad2be1f9ca7cae586e3b29dc1) --- src/gui/painting/qpaintengine_x11.cpp | 1 + tests/auto/qpixmap/tst_qpixmap.cpp | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/gui/painting/qpaintengine_x11.cpp b/src/gui/painting/qpaintengine_x11.cpp index 4d2521a..59482c6 100644 --- a/src/gui/painting/qpaintengine_x11.cpp +++ b/src/gui/painting/qpaintengine_x11.cpp @@ -1402,6 +1402,7 @@ void QX11PaintEngine::updateBrush(const QBrush &brush, const QPointF &origin) mask |= GCTile; #ifndef QT_NO_XRENDER if (d->pdev_depth == 32 && d->brush_pm.depth() != 32) { + d->brush_pm.detach(); QX11PixmapData *brushData = static_cast(d->brush_pm.data.data()); brushData->convertToARGB32(); } diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp index 2568b94..36c1518 100644 --- a/tests/auto/qpixmap/tst_qpixmap.cpp +++ b/tests/auto/qpixmap/tst_qpixmap.cpp @@ -166,6 +166,8 @@ private slots: void fromImage_crash(); void fromData(); + + void preserveDepth(); }; static bool lenientCompare(const QPixmap &actual, const QPixmap &expected) @@ -1448,6 +1450,23 @@ void tst_QPixmap::task_246446() QVERIFY(pm.mask().isNull()); } +void tst_QPixmap::preserveDepth() +{ + QPixmap target(64, 64); + target.fill(Qt::transparent); + + QPixmap source(64, 64); + source.fill(Qt::white); + + int depth = source.depth(); + + QPainter painter(&target); + painter.setBrush(source); + painter.drawRect(target.rect()); + painter.end(); + + QCOMPARE(depth, source.depth()); +} QTEST_MAIN(tst_QPixmap) #include "tst_qpixmap.moc" -- cgit v0.12 From 8b17866f382b3c7c20746fad92fc810a89634b5a Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Mon, 5 Oct 2009 16:34:30 +0200 Subject: Fixed inheritence of whitespace mode in QtSvg. Task-number: QTBUG-4587 Reviewed-by: Tor Arne (cherry picked from commit a1fa0d50f9bebc7148cd21fa3c420d2ff0fe7d12) --- src/svg/qsvghandler.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp index 6d2a0f9..3ed918e 100644 --- a/src/svg/qsvghandler.cpp +++ b/src/svg/qsvghandler.cpp @@ -3569,20 +3569,16 @@ bool QSvgHandler::startElement(const QString &localName, * a lookup by the qualified name here, but this is namespace aware, since * the XML namespace can only be bound to prefix "xml." */ const QStringRef xmlSpace(attributes.value(QLatin1String("xml:space"))); - if(xmlSpace.isNull()) - { + if (xmlSpace.isNull()) { // This element has no xml:space attribute. - m_whitespaceMode.push(QSvgText::Default); - } - else if(xmlSpace == QLatin1String("preserve")) + m_whitespaceMode.push(m_whitespaceMode.isEmpty() ? QSvgText::Default : m_whitespaceMode.top()); + } else if (xmlSpace == QLatin1String("preserve")) { m_whitespaceMode.push(QSvgText::Preserve); - else if(xmlSpace == QLatin1String("default")) + } else if (xmlSpace == QLatin1String("default")) { m_whitespaceMode.push(QSvgText::Default); - else - { + } else { qWarning() << QString::fromLatin1("\"%1\" is an invalid value for attribute xml:space. " "Valid values are \"preserve\" and \"default\".").arg(xmlSpace.toString()); - m_whitespaceMode.push(QSvgText::Default); } -- cgit v0.12 From 5c402c2dc55faec5e2792902c17ba95c8306efef Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Mon, 5 Oct 2009 17:00:03 +0200 Subject: Added qtextcodec_p.h to the project file. Reviewed-by: trustme (cherry picked from commit 06aaf39be5cf341237f0eff85f277625ed732d7a) --- src/corelib/codecs/codecs.pri | 1 + 1 file changed, 1 insertion(+) diff --git a/src/corelib/codecs/codecs.pri b/src/corelib/codecs/codecs.pri index 724b18d..17f4d91 100644 --- a/src/corelib/codecs/codecs.pri +++ b/src/corelib/codecs/codecs.pri @@ -4,6 +4,7 @@ HEADERS += \ codecs/qisciicodec_p.h \ codecs/qlatincodec_p.h \ codecs/qsimplecodec_p.h \ + codecs/qtextcodec_p.h \ codecs/qtextcodec.h \ codecs/qtsciicodec_p.h \ codecs/qutfcodec_p.h \ -- cgit v0.12 From 643dddef914584110b8a081ab6b8b25a14ff8477 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Mon, 5 Oct 2009 16:48:58 +0200 Subject: Fix a compilation warning on Mac OS X The variable updatesEnabled is not used on Mac OS X. (cherry picked from commit fa5f70d3c93758cd8d2c24de73b2d3dc83fb56b8) --- src/gui/widgets/qcombobox.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp index 95ff4c1..b606538 100644 --- a/src/gui/widgets/qcombobox.cpp +++ b/src/gui/widgets/qcombobox.cpp @@ -2443,7 +2443,10 @@ void QComboBox::showPopup() } container->setGeometry(listRect); - bool updatesEnabled = container->updatesEnabled(); +#ifndef Q_WS_MAC + const bool updatesEnabled = container->updatesEnabled(); +#endif + #if defined(Q_WS_WIN) && !defined(QT_NO_EFFECTS) bool scrollDown = (listRect.topLeft() == below); if (QApplication::isEffectEnabled(Qt::UI_AnimateCombo) -- cgit v0.12 From 56cb6ce833c4435b21030fc922e72db9c331fd98 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 5 Oct 2009 17:17:11 +0200 Subject: move doc next to implementation (cherry picked from commit c62d9f723347e448033bbb66b281b647166e89f4) --- src/corelib/codecs/qtextcodec.cpp | 43 ++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp index 4f0e13c..680fcd7 100644 --- a/src/corelib/codecs/qtextcodec.cpp +++ b/src/corelib/codecs/qtextcodec.cpp @@ -741,6 +741,26 @@ static void setup() setupLocaleMapper(); } +/*! + \enum QTextCodec::ConversionFlag + + \value DefaultConversion No flag is set. + \value ConvertInvalidToNull If this flag is set, each invalid input + character is output as a null character. + \value IgnoreHeader Ignore any Unicode byte-order mark and don't generate any. + + \omitvalue FreeFunction +*/ + +/*! + \fn QTextCodec::ConverterState::ConverterState(ConversionFlags flags) + + Constructs a ConverterState object initialized with the given \a flags. +*/ + +/*! + Destroys the ConverterState object. +*/ QTextCodec::ConverterState::~ConverterState() { if (flags & FreeFunction) @@ -883,29 +903,6 @@ QTextCodec::ConverterState::~ConverterState() */ /*! - \enum QTextCodec::ConversionFlag - - \value DefaultConversion No flag is set. - \value ConvertInvalidToNull If this flag is set, each invalid input - character is output as a null character. - \value IgnoreHeader Ignore any Unicode byte-order mark and don't generate any. - - \omitvalue FreeFunction -*/ - -/*! - \fn QTextCodec::ConverterState::ConverterState(ConversionFlags flags) - - Constructs a ConverterState object initialized with the given \a flags. -*/ - -/*! - \fn QTextCodec::ConverterState::~ConverterState() - - Destroys the ConverterState object. -*/ - -/*! \nonreentrant Constructs a QTextCodec, and gives it the highest precedence. The -- cgit v0.12 From 5a7ce43947627c563405dae1ca7cf9995861b0c8 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Mon, 5 Oct 2009 16:28:27 +0200 Subject: OpenSSL wrapping: compile when configured with -openssl-linked we were calling sk_pop_free from OpenSSL with a wrong signature. Reviewed-by: Olivier Goffart (cherry picked from commit b6313e00291a42e1e888a40b0c589ac5be497707) --- src/network/ssl/qsslcertificate.cpp | 4 ---- src/network/ssl/qsslsocket_openssl_symbols.cpp | 3 +-- src/network/ssl/qsslsocket_openssl_symbols_p.h | 3 +-- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp index 821d7c6..4bd6ff3 100644 --- a/src/network/ssl/qsslcertificate.cpp +++ b/src/network/ssl/qsslcertificate.cpp @@ -395,11 +395,7 @@ QMultiMap QSslCertificate::alternateSubje else if (genName->type == GEN_EMAIL) result.insert(QSsl::EmailEntry, altName); } -#if OPENSSL_VERSION_NUMBER >= 0x10000000L q_sk_pop_free((STACK*)altNames, reinterpret_cast(q_sk_free)); -#else - q_sk_pop_free((STACK*)altNames, q_sk_free); -#endif } return result; diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp index 0762752..12f41bd 100644 --- a/src/network/ssl/qsslsocket_openssl_symbols.cpp +++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp @@ -144,13 +144,12 @@ DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG) DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return) DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG) DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return) +DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) #if OPENSSL_VERSION_NUMBER >= 0x10000000L DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG) -DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG) DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return) #else DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG) -DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(STACK*), b, return, DUMMYARG) DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return) #endif DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return) diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h index 8d71caa..ae6618f 100644 --- a/src/network/ssl/qsslsocket_openssl_symbols_p.h +++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h @@ -256,13 +256,12 @@ void q_RAND_seed(const void *a, int b); int q_RAND_status(); void q_RSA_free(RSA *a); int q_sk_num(STACK *a); +void q_sk_pop_free(STACK *a, void (*b)(void *)); #if OPENSSL_VERSION_NUMBER >= 0x10000000L void q_sk_free(_STACK *a); -void q_sk_pop_free(STACK *a, void (*b)(void *)); void * q_sk_value(STACK *a, int b); #else void q_sk_free(STACK *a); -void q_sk_pop_free(STACK *a, void (*b)(STACK *)); char * q_sk_value(STACK *a, int b); #endif int q_SSL_accept(SSL *a); -- cgit v0.12 From 7455011d91a31993fc3925a9b62716ad1ce76364 Mon Sep 17 00:00:00 2001 From: mae Date: Mon, 5 Oct 2009 18:20:40 +0200 Subject: Fix QPlainTextEdit pageUp/Down key handling in read-only mode QTextControl has two independent interaction flags TextEditable and TextSelectableByKeyboard, i.e. the latter can also apply in read-only mode. This used to be handled incorrectly in QPlainTextEdit. Reviewed-by: con (cherry picked from commit f38b88fa3d8ec4448c28044bf95c5c845a80d3f1) --- src/gui/widgets/qplaintextedit.cpp | 51 ++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp index d519bfe..5d13c36 100644 --- a/src/gui/widgets/qplaintextedit.cpp +++ b/src/gui/widgets/qplaintextedit.cpp @@ -1578,7 +1578,35 @@ void QPlainTextEdit::keyPressEvent(QKeyEvent *e) } #endif - if (!(d->control->textInteractionFlags() & Qt::TextEditable)) { +#ifndef QT_NO_SHORTCUT + + Qt::TextInteractionFlags tif = d->control->textInteractionFlags(); + + if (tif & Qt::TextSelectableByKeyboard){ + if (e == QKeySequence::SelectPreviousPage) { + e->accept(); + d->pageUpDown(QTextCursor::Up, QTextCursor::KeepAnchor); + return; + } else if (e ==QKeySequence::SelectNextPage) { + e->accept(); + d->pageUpDown(QTextCursor::Down, QTextCursor::KeepAnchor); + return; + } + } + if (tif & (Qt::TextSelectableByKeyboard | Qt::TextEditable)) { + if (e == QKeySequence::MoveToPreviousPage) { + e->accept(); + d->pageUpDown(QTextCursor::Up, QTextCursor::MoveAnchor); + return; + } else if (e == QKeySequence::MoveToNextPage) { + e->accept(); + d->pageUpDown(QTextCursor::Down, QTextCursor::MoveAnchor); + return; + } + } +#endif // QT_NO_SHORTCUT + + if (!(tif & Qt::TextEditable)) { switch (e->key()) { case Qt::Key_Space: e->accept(); @@ -1605,27 +1633,6 @@ void QPlainTextEdit::keyPressEvent(QKeyEvent *e) return; } -#ifndef QT_NO_SHORTCUT - if (e == QKeySequence::MoveToPreviousPage) { - e->accept(); - d->pageUpDown(QTextCursor::Up, QTextCursor::MoveAnchor); - return; - } else if (e == QKeySequence::MoveToNextPage) { - e->accept(); - d->pageUpDown(QTextCursor::Down, QTextCursor::MoveAnchor); - return; - } else if (e == QKeySequence::SelectPreviousPage) { - e->accept(); - d->pageUpDown(QTextCursor::Up, QTextCursor::KeepAnchor); - return; - } else if (e ==QKeySequence::SelectNextPage) { - e->accept(); - d->pageUpDown(QTextCursor::Down, QTextCursor::KeepAnchor); - return; - } -#endif // QT_NO_SHORTCUT - - d->sendControlEvent(e); #ifdef QT_KEYPAD_NAVIGATION if (!e->isAccepted()) { -- cgit v0.12 From b464f8c1736e8120a8c434a962f81146180cd10c Mon Sep 17 00:00:00 2001 From: mae Date: Mon, 5 Oct 2009 18:30:35 +0200 Subject: Fix QTextEdit pageUp/Down key handling in read-only mode QTextControl has two independent interaction flags TextEditable and TextSelectableByKeyboard, i.e. the latter can also apply in read-only mode. This used to be handled incorrectly in QTextEdit. Reviewed-by: con (cherry picked from commit 45cd658c7dce650b12e2d0760e852ece1d8812fd) --- src/gui/widgets/qtextedit.cpp | 49 ++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/src/gui/widgets/qtextedit.cpp b/src/gui/widgets/qtextedit.cpp index dc78fd5..b894aa8 100644 --- a/src/gui/widgets/qtextedit.cpp +++ b/src/gui/widgets/qtextedit.cpp @@ -1220,8 +1220,35 @@ void QTextEdit::keyPressEvent(QKeyEvent *e) break; } #endif +#ifndef QT_NO_SHORTCUT - if (!(d->control->textInteractionFlags() & Qt::TextEditable)) { + Qt::TextInteractionFlags tif = d->control->textInteractionFlags(); + + if (tif & Qt::TextSelectableByKeyboard){ + if (e == QKeySequence::SelectPreviousPage) { + e->accept(); + d->pageUpDown(QTextCursor::Up, QTextCursor::KeepAnchor); + return; + } else if (e ==QKeySequence::SelectNextPage) { + e->accept(); + d->pageUpDown(QTextCursor::Down, QTextCursor::KeepAnchor); + return; + } + } + if (tif & (Qt::TextSelectableByKeyboard | Qt::TextEditable)) { + if (e == QKeySequence::MoveToPreviousPage) { + e->accept(); + d->pageUpDown(QTextCursor::Up, QTextCursor::MoveAnchor); + return; + } else if (e == QKeySequence::MoveToNextPage) { + e->accept(); + d->pageUpDown(QTextCursor::Down, QTextCursor::MoveAnchor); + return; + } + } +#endif // QT_NO_SHORTCUT + + if (!(tif & Qt::TextEditable)) { switch (e->key()) { case Qt::Key_Space: e->accept(); @@ -1248,26 +1275,6 @@ void QTextEdit::keyPressEvent(QKeyEvent *e) return; } -#ifndef QT_NO_SHORTCUT - if (e == QKeySequence::MoveToPreviousPage) { - e->accept(); - d->pageUpDown(QTextCursor::Up, QTextCursor::MoveAnchor); - return; - } else if (e == QKeySequence::MoveToNextPage) { - e->accept(); - d->pageUpDown(QTextCursor::Down, QTextCursor::MoveAnchor); - return; - } else if (e == QKeySequence::SelectPreviousPage) { - e->accept(); - d->pageUpDown(QTextCursor::Up, QTextCursor::KeepAnchor); - return; - } else if (e ==QKeySequence::SelectNextPage) { - e->accept(); - d->pageUpDown(QTextCursor::Down, QTextCursor::KeepAnchor); - return; - } -#endif // QT_NO_SHORTCUT - { QTextCursor cursor = d->control->textCursor(); const QString text = e->text(); -- cgit v0.12 From d2a547714ab900d1c6e9a62e09ad082b64ab173b Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Mon, 5 Oct 2009 19:34:33 +0200 Subject: Test fix : Move the global test model to a dir that the test won't delete. (cherry picked from commit a3fc0c3b6a45864c845e3a25640b967dd34fa6fc) --- tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp index 2cc2558..29e4fe6 100644 --- a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp +++ b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp @@ -795,6 +795,8 @@ void tst_QFileSystemModel::sort() model->sort(0, Qt::DescendingOrder); QVERIFY(idx.column() != 0); + model->setRootPath(QDir::homePath()); + QFETCH(bool, fileDialogMode); MyFriendFileSystemModel *myModel = new MyFriendFileSystemModel(); -- cgit v0.12 From d4b9dd763e69a831c169c33d1aa959a4e0b47bed Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 5 Oct 2009 19:41:06 +0200 Subject: Stabilize test on X11 (cherry picked from commit 8dbbff1dec967d043255e8cea2c4d32be3c1f9cd) --- tests/auto/qaccessibility/tst_qaccessibility.cpp | 4 ++-- tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp | 4 ++-- tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp | 4 ++-- tests/auto/qwidget/tst_qwidget.cpp | 5 ++--- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/tests/auto/qaccessibility/tst_qaccessibility.cpp b/tests/auto/qaccessibility/tst_qaccessibility.cpp index 69c4c92..9f2e4e7 100644 --- a/tests/auto/qaccessibility/tst_qaccessibility.cpp +++ b/tests/auto/qaccessibility/tst_qaccessibility.cpp @@ -2846,11 +2846,11 @@ void tst_QAccessibility::mdiSubWindowTest() { QMdiArea mdiArea; mdiArea.show(); + qApp->setActiveWindow(&mdiArea); #if defined(Q_WS_X11) qt_x11_wait_for_window_manager(&mdiArea); - QTest::qWait(100); + QTest::qWait(150); #endif - qApp->setActiveWindow(&mdiArea); bool isSubWindowsPlacedNextToEachOther = false; const int subWindowCount = 5; diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp index e55dc9aa..8459331 100644 --- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp @@ -1705,7 +1705,7 @@ void tst_QGraphicsScene::hoverEvents_parentChild() view.scale(1.7, 1.7); view.show(); QTest::qWaitForWindowShown(&view); - QTest::qWait(50); + QTest::qWait(70); QGraphicsSceneMouseEvent mouseEvent(QEvent::GraphicsSceneMouseMove); mouseEvent.setScenePos(QPointF(-1000, -1000)); @@ -1726,7 +1726,7 @@ void tst_QGraphicsScene::hoverEvents_parentChild() qApp->processEvents(); // this posts updates from the scene to the view qApp->processEvents(); // which trigger a repaint here - QVERIFY(items.at(i)->isHovered); + QTRY_VERIFY(items.at(i)->isHovered); if (i < 14) QVERIFY(!items.at(i + 1)->isHovered); i += j ? 1 : -1; diff --git a/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp b/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp index 2d70bef..8258e15 100644 --- a/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp +++ b/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp @@ -1650,7 +1650,7 @@ void tst_QMdiSubWindow::resizeTimer() QMdiSubWindow *subWindow = mdiArea.addSubWindow(new QWidget); mdiArea.show(); QTest::qWaitForWindowShown(&mdiArea); - QTest::qWait(250); + QTest::qWait(300); EventSpy timerEventSpy(subWindow, QEvent::Timer); @@ -1663,7 +1663,7 @@ void tst_QMdiSubWindow::resizeTimer() QTest::qWait(500); // Wait for timer events to occur. - QVERIFY(timerEventSpy.count() > 0); + QTRY_VERIFY(timerEventSpy.count() > 0); } void tst_QMdiSubWindow::fixedMinMaxSize() diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index b0a26c2..a4e5d88 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -9024,12 +9024,11 @@ void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave() #ifdef Q_WS_X11 qt_x11_wait_for_window_manager(&parent); #endif - QTest::qWait(100); + QTest::qWait(150); QCursor::setPos(child.mapToGlobal(QPoint(100, 100))); - QTest::qWait(100); // Make sure the cursor has entered the child. - QVERIFY(child.numEnterEvents > 0); + QTRY_VERIFY(child.numEnterEvents > 0); child.hide(); child.reset(); -- cgit v0.12 From 3066b0e55e578896005b4419b8ceff05570fa8ff Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 5 Oct 2009 19:43:13 +0200 Subject: Symbain crash fix for QPixmap->QImage conversion. In some cases the QImage, returned by QS60PixmapData::toImage() image an invalid pointer. That led to reproducable crashes on 3.1 Device and Emulator when starting a drag in the FridgeMagnets demo. Jani Hautakangas created this fix and I tested it on 3.1 Device and Emulator confirming that the crash is gone. Rev-By: Jani Hautakangas Rev-By: Alessandro Portale (cherry picked from commit 064674426ef0c446561b0c338441bb7d5ca091bf) --- src/gui/image/qpixmap_s60.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp index 326dd10..37b6438 100644 --- a/src/gui/image/qpixmap_s60.cpp +++ b/src/gui/image/qpixmap_s60.cpp @@ -664,7 +664,12 @@ void QS60PixmapData::setAlphaChannel(const QPixmap &alphaChannel) QImage QS60PixmapData::toImage() const { - return image; + QS60PixmapData *that = const_cast(this); + that->beginDataAccess(); + QImage copy = that->image.copy(); + that->endDataAccess(); + + return copy; } QPaintEngine* QS60PixmapData::paintEngine() const -- cgit v0.12 From 27a76032f4c0cf2e10fc8adfa1c84b24f9f9aae9 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 5 Oct 2009 19:44:44 +0200 Subject: Fixing Keypad Navigation on N95 devices HAL::Get(HALData::EPen, TInt& result) may set 'result' to 1 on some 3.1 systems (e.g. N95). But we know that S60 systems below 5.0 did not support touch. Let's use tahth knowledge and work-around that N95 HAL bug. Rev-By: Jani Hautakangas (cherry picked from commit 2d0c3bd0fac50d4e9f6c2d7d5e9c2fd8eee4d599) --- src/gui/kernel/qapplication_s60.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 807a17f..acd1041 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1032,6 +1032,11 @@ void qt_init(QApplicationPrivate * /* priv */, int) //Check if mouse interaction is supported (either EMouse=1 in the HAL, or EMachineUID is one of the phones known to support this) const TInt KMachineUidSamsungI8510 = 0x2000C51E; + // HAL::Get(HALData::EPen, TInt& result) may set 'result' to 1 on some 3.1 systems (e.g. N95). + // But we know that S60 systems below 5.0 did not support touch. + static const bool touchIsUnsupportedOnSystem = + QSysInfo::s60Version() == QSysInfo::SV_S60_3_1 + || QSysInfo::s60Version() == QSysInfo::SV_S60_3_2; TInt machineUID; TInt mouse; TInt touch; @@ -1043,7 +1048,7 @@ void qt_init(QApplicationPrivate * /* priv */, int) if (err != KErrNone) machineUID = 0; err = HAL::Get(HALData::EPen, touch); - if (err != KErrNone) + if (err != KErrNone || touchIsUnsupportedOnSystem) touch = 0; if (mouse || machineUID == KMachineUidSamsungI8510) { S60->hasTouchscreen = false; -- cgit v0.12 From fd0e49028644b86d264d4075b59141d2cffa01f9 Mon Sep 17 00:00:00 2001 From: Iain Date: Mon, 5 Oct 2009 20:38:27 +0200 Subject: Workaround for the problem with abld ignoring OPTION_REPLACE abld in the S60 SDKs has a bug where OPTION_REPLACE cannot be used to remove options from the command line (ie. replace them with nothing), so this workaround introduces a macro definition (that should never be used) as a harmless replacement option. Reviewed-by: Aleksandar Sasha Babic (cherry picked from commit 8cac1e7fe5bfda7e876d03d1407f616f89bd74f8) --- mkspecs/common/symbian/symbian.conf | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index 38e955a..1acfefe 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -106,7 +106,13 @@ QMAKE_STRIPFLAGS_LIB += --strip-unneeded load(qt_config) load(platform_paths) -MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" +symbian-abld { +# Versions of abld prior to Symbian^3 have a bug where you cannot remove something from the command line without replacing it +# Rather than figure out which version of abld we're using, we'll replace the command with a macro *that should never be used* + MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE" +} else { + MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" +} MMP_RULES += PAGED MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6 -- cgit v0.12 From 4607bd88aa85eb5d7184d12698eff4710f86b0f7 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 5 Oct 2009 21:44:05 +0200 Subject: Stabilize tests on X11 (cherry picked from commit c7b091351d6fdf5fda5f38a94af24a395252249f) --- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 8 +++----- tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 12 +++++------- tests/auto/qlistview/tst_qlistview.cpp | 2 +- tests/auto/qwidget/tst_qwidget.cpp | 10 +++++----- tests/auto/qwindowsurface/tst_qwindowsurface.cpp | 9 ++++++--- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index e2e8c5f..edea6b8 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -6444,14 +6444,12 @@ void tst_QGraphicsItem::nestedClipping() QGraphicsView view(&scene); view.setOptimizationFlag(QGraphicsView::IndirectPainting); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QTest::qWait(25); QList expected; expected << root << l1 << l2 << l3; - QCOMPARE(scene.drawnItems, expected); + QTRY_COMPARE(scene.drawnItems, expected); QImage image(200, 200, QImage::Format_ARGB32_Premultiplied); image.fill(0); diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index 78fb4f3..921f7f8 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -2932,18 +2932,16 @@ void tst_QGraphicsView::task239729_noViewUpdate() view = new QGraphicsView(&scene); } - view->show(); - QTest::qWaitForWindowShown(view); - QTest::qWait(150); - EventSpy spy(view->viewport(), QEvent::Paint); QCOMPARE(spy.count(), 0); - QTest::qWait(100); - QCOMPARE(spy.count(), 0); + view->show(); + QTest::qWaitForWindowShown(view); + + QTRY_COMPARE(spy.count(), 1); scene.update(); QApplication::processEvents(); - QTRY_COMPARE(spy.count(), 1); + QTRY_COMPARE(spy.count(), 2); delete view; } diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp index cba1776..7599ce6a06 100644 --- a/tests/auto/qlistview/tst_qlistview.cpp +++ b/tests/auto/qlistview/tst_qlistview.cpp @@ -1632,8 +1632,8 @@ void tst_QListView::task254449_draggingItemToNegativeCoordinates() mutable int numPaints; } delegate; - list.setItemDelegate(&delegate); delegate.numPaints = 0; + list.setItemDelegate(&delegate); QApplication::processEvents(); QTRY_VERIFY(delegate.numPaints > 0); //makes sure the layout is done diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index a4e5d88..92658a6 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -8176,7 +8176,7 @@ public: static bool firstTime = true; if (firstTime) - QTimer::singleShot(70, this, SLOT(resizeMe())); + QTimer::singleShot(150, this, SLOT(resizeMe())); firstTime = false; } @@ -8193,7 +8193,7 @@ void tst_QWidget::moveInResizeEvent() testWidget.setGeometry(50, 50, 200, 200); testWidget.show(); QTest::qWaitForWindowShown(&testWidget); - QTest::qWait(120); + QTest::qWait(160); QRect expectedGeometry(100,100, 100, 100); QTRY_COMPARE(testWidget.geometry(), expectedGeometry); @@ -8674,7 +8674,7 @@ void tst_QWidget::setClearAndResizeMask() // Mask child widget with a mask that is bigger than the rect child.setMask(QRegion(0, 0, 1000, 1000)); - QTest::qWait(10); + QTest::qWait(100); #ifdef Q_WS_MAC // Mac always issues a full update when calling setMask, and we cannot force it to not do so. QTRY_COMPARE(child.numPaintEvents, 1); @@ -8686,7 +8686,7 @@ void tst_QWidget::setClearAndResizeMask() // ...and the same applies when clearing the mask. child.clearMask(); - QTest::qWait(10); + QTest::qWait(100); #ifdef Q_WS_MAC // Mac always issues a full update when calling setMask, and we cannot force it to not do so. QTRY_VERIFY(child.numPaintEvents > 0); @@ -8711,7 +8711,7 @@ void tst_QWidget::setClearAndResizeMask() // Disable the size grip on the Mac; otherwise it'll be included when grabbing the window. resizeParent.setFixedSize(resizeParent.size()); resizeChild.show(); - QTest::qWait(30); + QTest::qWait(100); resizeChild.paintedRegion = QRegion(); QTimer::singleShot(100, &resizeChild, SLOT(shrinkMask())); diff --git a/tests/auto/qwindowsurface/tst_qwindowsurface.cpp b/tests/auto/qwindowsurface/tst_qwindowsurface.cpp index 2490a65..25f0f07 100644 --- a/tests/auto/qwindowsurface/tst_qwindowsurface.cpp +++ b/tests/auto/qwindowsurface/tst_qwindowsurface.cpp @@ -51,6 +51,9 @@ #include #include + +#include "../../shared/util.h" + class tst_QWindowSurface : public QObject { Q_OBJECT @@ -238,9 +241,9 @@ void tst_QWindowSurface::grabWidget() parentWidget.show(); QTest::qWaitForWindowShown(&parentWidget); - QTest::qWait(220); - - QPixmap parentPixmap = parentWidget.windowSurface()->grabWidget(&parentWidget); + QPixmap parentPixmap; + QTRY_COMPARE((parentPixmap = parentWidget.windowSurface()->grabWidget(&parentWidget)).size(), + QSize(300,300)); QPixmap childPixmap = childWidget.windowSurface()->grabWidget(&childWidget); QPixmap babyPixmap = babyWidget.windowSurface()->grabWidget(&babyWidget); QPixmap parentSubPixmap = parentWidget.windowSurface()->grabWidget(&parentWidget, QRect(25, 25, 100, 100)); -- cgit v0.12 From 0617d6c51f3c9c81e8347701b7088b4002e262e3 Mon Sep 17 00:00:00 2001 From: Martin Banky Date: Tue, 6 Oct 2009 08:26:00 +1000 Subject: Fixed QAudioDeviceInfoInternal::deviceList(QAudio::Mode mode) filtering If an audio device only supported Input or Output, it would not be added to the list of devices. Only devices that returned IOID == NULL would be added. Also, _m was not being used, and io was unneccessarily being cast to a QString. Merge-request: 1664 Reviewed-by: Kurt Korbatits (cherry picked from commit ba11343826229e983cb1d38811c8363d355e2e01) --- src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp | 26 ++++++++---------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp index dc24875..55020a6 100644 --- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp +++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp @@ -360,33 +360,30 @@ void QAudioDeviceInfoInternal::updateLists() QList QAudioDeviceInfoInternal::deviceList(QAudio::Mode mode) { - QAudio::Mode _m; QList devices; QByteArray filter; - QString dir; // Create a list of all current audio devices that support mode void **hints, **n; char *name, *descr, *io; if(snd_device_name_hint(-1, "pcm", &hints) < 0) { - qWarning()<<"no alsa devices available"; + qWarning() << "no alsa devices available"; return devices; } n = hints; + if(mode == QAudio::AudioInput) { + filter = "Input"; + } else { + filter = "Output"; + } + while (*n != NULL) { - _m = QAudio::AudioOutput; name = snd_device_name_get_hint(*n, "NAME"); descr = snd_device_name_get_hint(*n, "DESC"); io = snd_device_name_get_hint(*n, "IOID"); - dir = QString::fromUtf8(io); - if((name != NULL) && (descr != NULL) && ((io == NULL) || (dir.length() ==filter.length()))) { - if(dir.length() == 5) - _m = QAudio::AudioInput; - if(io == NULL) - _m = mode; - + if((name != NULL) && (descr != NULL) && ((io == NULL) || (io == filter))) { QString str = QLatin1String(name); if(str.contains(QLatin1String("default"))) { @@ -400,17 +397,12 @@ QList QAudioDeviceInfoInternal::deviceList(QAudio::Mode mode) free(descr); if(io != NULL) free(io); - n++; + ++n; } snd_device_name_free_hint(hints); if(devices.size() > 0) { devices.append("default"); - if(mode == QAudio::AudioInput) { - filter.append("Input"); - } else { - filter.append("Output"); - } } return devices; -- cgit v0.12 From 577d911dcd2db46a4b8a88ab2d4d466cf9e48e0a Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 6 Oct 2009 09:45:49 +1000 Subject: Implement the drop shadow filter for OpenGL Task-number: QTBUG-4583 Reviewed-by: trustme (cherry picked from commit 0bdb0d61d8eea356b1ac7d09ced6dee26d89ee8d) --- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 2 + src/opengl/qglpixmapfilter.cpp | 167 ++++++++++++++++++++- 2 files changed, 166 insertions(+), 3 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index 4f42082..12123f3 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -278,6 +278,8 @@ public: QScopedPointer colorizeFilter; QScopedPointer blurFilter; QScopedPointer fastBlurFilter; + QScopedPointer dropShadowFilter; + QScopedPointer fastDropShadowFilter; }; QT_END_NAMESPACE diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp index 1ae3866..0603369 100644 --- a/src/opengl/qglpixmapfilter.cpp +++ b/src/opengl/qglpixmapfilter.cpp @@ -104,11 +104,12 @@ public: void setUniforms(QGLShaderProgram *program); + static QByteArray generateGaussianShader(int radius, bool dropShadow = false); + protected: bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const; private: - static QByteArray generateGaussianShader(int radius); mutable QSize m_textureSize; mutable bool m_horizontalBlur; @@ -118,6 +119,25 @@ private: mutable Qt::RenderHint m_hint; }; +class QGLPixmapDropShadowFilter : public QGLCustomShaderStage, public QGLPixmapFilter +{ +public: + QGLPixmapDropShadowFilter(Qt::RenderHint hint); + + void setUniforms(QGLShaderProgram *program); + +protected: + bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const; + +private: + mutable QSize m_textureSize; + mutable bool m_horizontalBlur; + + mutable bool m_haveCached; + mutable int m_cachedRadius; + mutable Qt::RenderHint m_hint; +}; + extern QGLWidget *qt_gl_share_widget(); QPixmapFilter *QGL2PaintEngineEx::pixmapFilter(int type, const QPixmapFilter *prototype) @@ -141,6 +161,18 @@ QPixmapFilter *QGL2PaintEngineEx::pixmapFilter(int type, const QPixmapFilter *pr return d->blurFilter.data(); } + case QPixmapFilter::DropShadowFilter: { + const QPixmapDropShadowFilter *proto = static_cast(prototype); + if (proto->blurRadius() <= 5) { + if (!d->fastDropShadowFilter) + d->fastDropShadowFilter.reset(new QGLPixmapDropShadowFilter(Qt::PerformanceHint)); + return d->fastDropShadowFilter.data(); + } + if (!d->dropShadowFilter) + d->dropShadowFilter.reset(new QGLPixmapDropShadowFilter(Qt::QualityHint)); + return d->dropShadowFilter.data(); + } + case QPixmapFilter::ConvolutionFilter: if (!d->convolutionFilter) d->convolutionFilter.reset(new QGLPixmapConvolutionFilter); @@ -279,6 +311,20 @@ static const char *qt_gl_blur_filter_fast = " return color * (1.0 / float(samples));" "}"; +static const char *qt_gl_drop_shadow_filter_fast = + "const int samples = 9;" + "uniform mediump vec2 delta;" + "uniform mediump vec4 shadowColor;" + "lowp vec4 customShader(lowp sampler2D src, highp vec2 srcCoords) {" + " mediump vec4 color = vec4(0.0, 0.0, 0.0, 0.0);" + " mediump float offset = (float(samples) - 1.0) / 2.0;" + " for (int i = 0; i < samples; i++) {" + " mediump vec2 coord = srcCoords + delta * (offset - float(i)) / offset;" + " color += texture2D(src, coord).a * shadowColor;" + " }" + " return color * (1.0 / float(samples));" + "}"; + QGLPixmapBlurFilter::QGLPixmapBlurFilter(Qt::RenderHint hint) : m_haveCached(false) , m_cachedRadius(5) @@ -380,7 +426,7 @@ static inline qreal gaussian(qreal dx, qreal sigma) return exp(-dx * dx / (2 * sigma * sigma)) / (Q_2PI * sigma * sigma); } -QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius) +QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius, bool dropShadow) { Q_ASSERT(radius >= 1); @@ -388,6 +434,8 @@ QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius) source.reserve(1000); source.append("uniform highp vec2 delta;\n"); + if (dropShadow) + source.append("uniform mediump vec4 shadowColor;\n"); source.append("lowp vec4 customShader(lowp sampler2D src, highp vec2 srcCoords) {\n"); QVector sampleOffsets; @@ -444,7 +492,10 @@ QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius) source.append(coordinate); source.append(";\n"); - source.append(" sample += texture2D(src, coord)"); + if (dropShadow) + source.append(" sample += texture2D(src, coord).a * shadowColor"); + else + source.append(" sample += texture2D(src, coord)"); weightSum += weights.at(i); if (weights.at(i) != qreal(1)) { @@ -463,4 +514,114 @@ QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius) return source; } +QGLPixmapDropShadowFilter::QGLPixmapDropShadowFilter(Qt::RenderHint hint) + : m_haveCached(false) + , m_cachedRadius(5) + , m_hint(hint) +{ + if (hint == Qt::PerformanceHint) { + QGLPixmapDropShadowFilter *filter = const_cast(this); + filter->setSource(qt_gl_drop_shadow_filter_fast); + m_haveCached = true; + } +} + +bool QGLPixmapDropShadowFilter::processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const +{ + QGLPixmapDropShadowFilter *filter = const_cast(this); + + int radius = this->blurRadius(); + if (!m_haveCached || (m_hint == Qt::QualityHint && radius != m_cachedRadius)) { + // Only regenerate the shader from source if parameters have changed. + m_haveCached = true; + m_cachedRadius = radius; + filter->setSource(QGLPixmapBlurFilter::generateGaussianShader(radius, true)); + } + + QGLFramebufferObjectFormat format; + format.setInternalTextureFormat(GLenum(src.hasAlphaChannel() ? GL_RGBA : GL_RGB)); + QGLFramebufferObject *fbo = qgl_fbo_pool()->acquire(src.size(), format); + + if (!fbo) + return false; + + glBindTexture(GL_TEXTURE_2D, fbo->texture()); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glBindTexture(GL_TEXTURE_2D, 0); + + // prepare for updateUniforms + m_textureSize = src.size(); + + // horizontal pass, to pixmap + m_horizontalBlur = true; + + QPainter fboPainter(fbo); + + if (src.hasAlphaChannel()) { + glClearColor(0, 0, 0, 0); + glClear(GL_COLOR_BUFFER_BIT); + } + + // ensure GL_LINEAR filtering is used + fboPainter.setRenderHint(QPainter::SmoothPixmapTransform); + filter->setOnPainter(&fboPainter); + fboPainter.drawPixmap(0, 0, src); + filter->removeFromPainter(&fboPainter); + fboPainter.end(); + + QGL2PaintEngineEx *engine = static_cast(painter->paintEngine()); + + // vertical pass, to painter + m_horizontalBlur = false; + + painter->save(); + // ensure GL_LINEAR filtering is used + painter->setRenderHint(QPainter::SmoothPixmapTransform); + filter->setOnPainter(painter); + QPointF ofs = offset(); + engine->drawTexture(src.rect().translated(pos.x() + ofs.x(), pos.y() + ofs.y()), fbo->texture(), fbo->size(), src.rect().translated(0, fbo->height() - src.height())); + filter->removeFromPainter(painter); + painter->restore(); + + qgl_fbo_pool()->release(fbo); + + // Now draw the actual pixmap over the top. + painter->drawPixmap(pos, src, srcRect); + + return true; +} + +void QGLPixmapDropShadowFilter::setUniforms(QGLShaderProgram *program) +{ + QColor col = color(); + if (m_horizontalBlur) { + program->setUniformValue("shadowColor", 1.0f, 1.0f, 1.0f, 1.0f); + } else { + qreal alpha = col.alphaF(); + program->setUniformValue("shadowColor", col.redF() * alpha, + col.greenF() * alpha, + col.blueF() * alpha, + alpha); + } + if (m_hint == Qt::QualityHint) { + if (m_horizontalBlur) + program->setUniformValue("delta", 1.0 / m_textureSize.width(), 0.0); + else + program->setUniformValue("delta", 0.0, 1.0 / m_textureSize.height()); + } else { + // 1.4 is chosen to most closely match the blurriness of the gaussian blur + // at low radii + qreal blur = blurRadius() / 1.4f; + + if (m_horizontalBlur) + program->setUniformValue("delta", blur / m_textureSize.width(), 0.0); + else + program->setUniformValue("delta", 0.0, blur / m_textureSize.height()); + } +} + QT_END_NAMESPACE -- cgit v0.12 From be0d6cb54e4c16088dc48dd6301a73d738e274dd Mon Sep 17 00:00:00 2001 From: Bill King Date: Tue, 6 Oct 2009 11:41:39 +1000 Subject: Update documentation for setForwardOnly. (cherry picked from commit c768694764e8bc32a7152b80653eef564631452a) --- src/sql/kernel/qsqlquery.cpp | 9 +++++++-- src/sql/kernel/qsqlresult.cpp | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/sql/kernel/qsqlquery.cpp b/src/sql/kernel/qsqlquery.cpp index dfe30e7..5125546 100644 --- a/src/sql/kernel/qsqlquery.cpp +++ b/src/sql/kernel/qsqlquery.cpp @@ -811,13 +811,18 @@ bool QSqlQuery::isForwardOnly() const Forward only mode can be (depending on the driver) more memory efficient since results do not need to be cached. It will also improve performance on some databases. For this to be true, you must - call \c setForwardMode() before the query is prepared or executed. + call \c setForwardOnly() before the query is prepared or executed. Note that the constructor that takes a query and a database may execute the query. Forward only mode is off by default. - \sa isForwardOnly(), next(), seek() + Setting forward only to false is a suggestion to the database engine, + which has the final say on whether a result set is forward only or + scrollable. isForwardOnly() will always return the correct status of + the result set. + + \sa isForwardOnly(), next(), seek(), QSqlResult::setForwardOnly() */ void QSqlQuery::setForwardOnly(bool forward) { diff --git a/src/sql/kernel/qsqlresult.cpp b/src/sql/kernel/qsqlresult.cpp index 791b8a6..efca595 100644 --- a/src/sql/kernel/qsqlresult.cpp +++ b/src/sql/kernel/qsqlresult.cpp @@ -559,7 +559,12 @@ bool QSqlResult::isForwardOnly() const mode needs much less memory since results do not have to be cached. By default, this feature is disabled. - \sa isForwardOnly(), fetchNext() + Setting forward only to false is a suggestion to the database engine, + which has the final say on whether a result set is forward only or + scrollable. isForwardOnly() will always return the correct status of + the result set. + + \sa isForwardOnly(), fetchNext(), QSqlQuery::setForwardOnly() */ void QSqlResult::setForwardOnly(bool forward) { -- cgit v0.12 From 51683fcecfc0a02fc8dd99565a92197e6279dc3f Mon Sep 17 00:00:00 2001 From: Bill King Date: Tue, 6 Oct 2009 11:42:36 +1000 Subject: Add autotest for mysql savepoints. (cherry picked from commit 2420c3b6c728ed4c8a8efd4c93427932420c7368) --- tests/auto/qsqldatabase/tst_qsqldatabase.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp index 4175bef..c9c8f5e 100644 --- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp @@ -157,6 +157,8 @@ private slots: void mysqlOdbc_unsignedIntegers(); void mysql_multiselect_data() { generic_data("QMYSQL"); } void mysql_multiselect(); // For task 144331 + void mysql_savepointtest_data() { generic_data("QMYSQL"); } + void mysql_savepointtest(); void accessOdbc_strings_data() { generic_data(); } void accessOdbc_strings(); @@ -2433,6 +2435,19 @@ void tst_QSqlDatabase::sqlStatementUseIsNull_189093() QCOMPARE(statment.count("IS NULL", Qt::CaseInsensitive), 2); } +void tst_QSqlDatabase::mysql_savepointtest() +{ + QFETCH(QString, dbName); + QSqlDatabase db = QSqlDatabase::database(dbName); + CHECK_DATABASE(db); + if ( db.driverName().startsWith( "QMYSQL" ) && tst_Databases::getMySqlVersion( db ).section( QChar('.'), 0, 0 ).toInt()<5 ) + QSKIP( "Test requires MySQL >= 5.0", SkipSingle ); + + QSqlQuery q(db); + QVERIFY_SQL(q, exec("begin")); + QVERIFY_SQL(q, exec("insert into "+qTableName("qtest")+" VALUES (54, 'foo', 'foo', 54.54)")); + QVERIFY_SQL(q, exec("savepoint foo")); +} QTEST_MAIN(tst_QSqlDatabase) #include "tst_qsqldatabase.moc" -- cgit v0.12 From 933e74473a23c0090eaaae9c6122a0e0d192df15 Mon Sep 17 00:00:00 2001 From: Caio Marcelo de Oliveira Filho Date: Tue, 22 Sep 2009 16:24:07 -0300 Subject: QGraphicsAnchorLayout: add autotests for QSizePolicy::ExpandFlag Add autotests that use the ExpandFlag via QSizePolicy::Expanding policy. Those tests cover the simple cases and behaviours with sequential and parallel anchor setups. Signed-off-by: Caio Marcelo de Oliveira Filho Reviewed-by: Jesus Sanchez-Palencia --- .../tst_qgraphicsanchorlayout.cpp | 214 +++++++++++++++++++++ 1 file changed, 214 insertions(+) diff --git a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp index 9f13aca..e898edb 100644 --- a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp +++ b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp @@ -69,6 +69,9 @@ private slots: void delete_anchor(); void conflicts(); void sizePolicy(); + void expandingSequence(); + void expandingSequenceFairDistribution(); + void expandingParallel(); }; class RectWidget : public QGraphicsWidget @@ -586,6 +589,20 @@ void tst_QGraphicsAnchorLayout::snake() QCOMPARE(b->geometry(), QRectF(90.0, 100.0, 10.0, 100.0)); QCOMPARE(c->geometry(), QRectF(90.0, 200.0, 100.0, 100.0)); QCOMPARE(p.size(), layoutMaximumSize); + + QVERIFY(layoutHasConflict(l) == false); + + // Test QSizePolicy::ExpandFlag, it shouldn't change the extreme + // points of the layout... + b->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + + QSizeF newLayoutMinimumSize = l->effectiveSizeHint(Qt::MinimumSize); + QSizeF newLayoutMaximumSize = l->effectiveSizeHint(Qt::MaximumSize); + QSizeF newLayoutPreferredSize = l->effectiveSizeHint(Qt::PreferredSize); + + QCOMPARE(layoutMinimumSize, newLayoutMinimumSize); + QCOMPARE(layoutMaximumSize, newLayoutMaximumSize); + QCOMPARE(layoutPreferredSize, newLayoutPreferredSize); } void tst_QGraphicsAnchorLayout::snakeOppositeDirections() @@ -1308,5 +1325,202 @@ void tst_QGraphicsAnchorLayout::conflicts() delete p; } +void tst_QGraphicsAnchorLayout::expandingSequence() +{ + QSizeF min(10, 10); + QSizeF pref(50, 10); + QSizeF max(100, 10); + + QGraphicsWidget *a = createItem(min, pref, max, "a"); + QGraphicsWidget *b = createItem(min, pref, max, "b"); + + b->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + + QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout; + l->setContentsMargins(0, 0, 0, 0); + + // horizontal + setAnchor(l, l, Qt::AnchorLeft, a, Qt::AnchorLeft, 0); + setAnchor(l, a, Qt::AnchorRight, b, Qt::AnchorLeft, 0); + setAnchor(l, b, Qt::AnchorRight, l, Qt::AnchorRight, 0); + + // vertical + l->addAnchors(l, a, Qt::Vertical); + l->addAnchors(l, b, Qt::Vertical); + + QCOMPARE(l->count(), 2); + + QGraphicsWidget p; + p.setLayout(l); + + QSizeF layoutMinimumSize = l->effectiveSizeHint(Qt::MinimumSize); + QCOMPARE(layoutMinimumSize.width(), qreal(20)); + + QSizeF layoutExpandedSize(pref.width() + max.width(), layoutMinimumSize.height()); + p.resize(layoutExpandedSize); + + QEXPECT_FAIL("", "Support for QSizePolicy::ExpandFlag not yet available", Abort); + QCOMPARE(a->geometry().size(), pref); + QCOMPARE(b->geometry().size(), max); + + QSizeF layoutMaximumSize = l->effectiveSizeHint(Qt::MaximumSize); + QCOMPARE(layoutMaximumSize.width(), qreal(200)); +} + +void tst_QGraphicsAnchorLayout::expandingSequenceFairDistribution() +{ + QSizeF min(10, 10); + QSizeF pref(50, 10); + QSizeF max(100, 10); + + QGraphicsWidget *a = createItem(min, pref, max, "a"); + QGraphicsWidget *b = createItem(min, pref, max, "b"); + QGraphicsWidget *c = createItem(min, pref, max, "c"); + QGraphicsWidget *d = createItem(min, pref, max, "d"); + + b->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + d->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + + QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout; + l->setContentsMargins(0, 0, 0, 0); + + // horizontal + setAnchor(l, l, Qt::AnchorLeft, a, Qt::AnchorLeft, 0); + setAnchor(l, a, Qt::AnchorRight, b, Qt::AnchorLeft, 0); + setAnchor(l, b, Qt::AnchorRight, c, Qt::AnchorLeft, 0); + setAnchor(l, c, Qt::AnchorRight, d, Qt::AnchorLeft, 0); + setAnchor(l, d, Qt::AnchorRight, l, Qt::AnchorRight, 0); + + // vertical + l->addAnchors(l, a, Qt::Vertical); + l->addAnchors(l, b, Qt::Vertical); + l->addAnchors(l, c, Qt::Vertical); + l->addAnchors(l, d, Qt::Vertical); + + QCOMPARE(l->count(), 4); + + QGraphicsWidget p; + p.setLayout(l); + + QSizeF layoutMinimumSize = l->effectiveSizeHint(Qt::MinimumSize); + QCOMPARE(layoutMinimumSize.width(), qreal(40)); + + QSizeF layoutPartialExpandedSize((2 * pref.width()) + (2 * (pref.width() + 10)), + layoutMinimumSize.height()); + p.resize(layoutPartialExpandedSize); + + QEXPECT_FAIL("", "Support for QSizePolicy::ExpandFlag not yet available", Abort); + QCOMPARE(a->geometry().size(), pref); + QCOMPARE(b->geometry().size(), pref + QSizeF(10, 0)); + QCOMPARE(c->geometry().size(), pref); + QCOMPARE(d->geometry().size(), pref + QSizeF(10, 0)); + + QSizeF layoutExpandedSize((2 * pref.width()) + (2 * max.width()), + layoutMinimumSize.height()); + p.resize(layoutExpandedSize); + + QCOMPARE(a->geometry().size(), pref); + QCOMPARE(b->geometry().size(), max); + QCOMPARE(c->geometry().size(), pref); + QCOMPARE(d->geometry().size(), max); + + QSizeF layoutMaximumSize = l->effectiveSizeHint(Qt::MaximumSize); + QCOMPARE(layoutMaximumSize.width(), qreal(400)); + + // Now we change D to have more "room for growth" from its preferred size + // to its maximum size. We expect a proportional fair distribution. Note that + // this seems to not conform with what QGraphicsLinearLayout does. + d->setMaximumSize(QSizeF(150, 10)); + + QSizeF newLayoutExpandedSize((2 * pref.width()) + (max.width() + 150), + layoutMinimumSize.height()); + p.resize(newLayoutExpandedSize); + + QCOMPARE(a->geometry().size(), pref); + QCOMPARE(b->geometry().size(), max); + QCOMPARE(c->geometry().size(), pref); + QCOMPARE(d->geometry().size(), QSizeF(150, 10)); + + QSizeF newLayoutPartialExpandedSize((4 * pref.width()) + 75, + layoutMinimumSize.height()); + + QCOMPARE(a->geometry().size(), pref); + QCOMPARE(b->geometry().size(), pref + QSizeF(25, 0)); + QCOMPARE(c->geometry().size(), pref); + QCOMPARE(d->geometry().size(), pref + QSizeF(50, 0)); +} + +void tst_QGraphicsAnchorLayout::expandingParallel() +{ + QSizeF min(10, 10); + QSizeF pref(50, 10); + QSizeF max(100, 50); + + QGraphicsWidget *a = createItem(min, pref, max, "a"); + QGraphicsWidget *b = createItem(min, pref, max, "b"); + QGraphicsWidget *c = createItem(min, pref, max, "c"); + + b->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + + QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout; + l->setContentsMargins(0, 0, 0, 0); + + // horizontal + setAnchor(l, l, Qt::AnchorLeft, a, Qt::AnchorLeft, 0); + setAnchor(l, l, Qt::AnchorLeft, b, Qt::AnchorLeft, 0); + + setAnchor(l, a, Qt::AnchorRight, c, Qt::AnchorLeft, 0); + setAnchor(l, b, Qt::AnchorRight, c, Qt::AnchorLeft, 0); + + setAnchor(l, c, Qt::AnchorRight, l, Qt::AnchorRight, 0); + + // vertical + l->addAnchors(l, c, Qt::Vertical); + setAnchor(l, l, Qt::AnchorTop, a, Qt::AnchorTop, 0); + setAnchor(l, a, Qt::AnchorBottom, c, Qt::AnchorVerticalCenter, 0); + setAnchor(l, b, Qt::AnchorTop, c, Qt::AnchorVerticalCenter, 0); + setAnchor(l, b, Qt::AnchorBottom, l, Qt::AnchorBottom, 0); + + QCOMPARE(l->count(), 3); + + QGraphicsWidget p; + p.setLayout(l); + + QSizeF layoutMinimumSize = l->effectiveSizeHint(Qt::MinimumSize); + QCOMPARE(layoutMinimumSize.width(), qreal(20)); + + QSizeF layoutExpandedSize(pref.width() + max.width(), layoutMinimumSize.height()); + p.resize(layoutExpandedSize); + + QEXPECT_FAIL("", "Support for QSizePolicy::ExpandFlag not yet available", Abort); + QCOMPARE(a->geometry().size(), max); + QCOMPARE(b->geometry().size(), max); + QCOMPARE(c->geometry().size(), pref); + + QSizeF layoutMaximumSize = l->effectiveSizeHint(Qt::MaximumSize); + QCOMPARE(layoutMaximumSize.width(), qreal(200)); + + // + // Change the parallel connection to a paralell connection of b with a center... + // + QGraphicsAnchor *anchor = l->anchor(b, Qt::AnchorRight, c, Qt::AnchorLeft); + delete anchor; + setAnchor(l, b, Qt::AnchorRight, a, Qt::AnchorHorizontalCenter, 0); + a->setMaximumSize(max + QSizeF(100, 0)); + + QSizeF newLayoutMinimumSize = l->effectiveSizeHint(Qt::MinimumSize); + QCOMPARE(newLayoutMinimumSize.width(), qreal(30)); + + QSizeF newLayoutExpandedSize(pref.width() + max.width(), layoutMinimumSize.height()); + p.resize(newLayoutExpandedSize); + + QCOMPARE(a->geometry().size(), max); + QCOMPARE(b->geometry().size(), max); + QCOMPARE(c->geometry().size(), pref); + + QSizeF newLayoutMaximumSize = l->effectiveSizeHint(Qt::MaximumSize); + QCOMPARE(newLayoutMaximumSize.width(), qreal(300)); +} + QTEST_MAIN(tst_QGraphicsAnchorLayout) #include "tst_qgraphicsanchorlayout.moc" -- cgit v0.12 From bfc1a75616e1c96a018349084fae844d7efbc177 Mon Sep 17 00:00:00 2001 From: "Eduardo M. Fleury" Date: Tue, 22 Sep 2009 14:20:10 -0300 Subject: QGraphicsAnchorLayout: Add data structures for Expanding size policy Adding required members for the upcoming support of the QSizePolicy::Expand flag. In this state, running with simplification will probably not work. Signed-off-by: Eduardo M. Fleury Reviewed-by: Artur Duque de Souza --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 44 +++++++++++++++++++----- src/gui/graphicsview/qgraphicsanchorlayout_p.h | 20 ++++++++--- 2 files changed, 51 insertions(+), 13 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index f75118b..fc3bc8a 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -94,7 +94,9 @@ qreal QGraphicsAnchorPrivate::spacing() const void AnchorData::refreshSizeHints(qreal effectiveSpacing) { - if (!isLayoutAnchor && from->m_item == to->m_item) { + isExpanding = 0; + + if (!isLayoutAnchor && (from->m_item == to->m_item)) { QGraphicsLayoutItem *item = from->m_item; const QGraphicsAnchorLayoutPrivate::Orientation orient = QGraphicsAnchorLayoutPrivate::edgeOrientation(from->m_edge); @@ -138,6 +140,9 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) if (policy & QSizePolicy::IgnoreFlag) prefSize = minSize; + if (policy & QSizePolicy::ExpandFlag) + isExpanding = 1; + bool hasCenter = (from->m_edge == centerEdge || to->m_edge == centerEdge); if (hasCenter) { @@ -155,6 +160,7 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) // recalculate and override the values we set here. sizeAtMinimum = prefSize; sizeAtPreferred = prefSize; + sizeAtExpanding = prefSize; sizeAtMaximum = prefSize; } else if (!hasSize) { @@ -165,6 +171,7 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) sizeAtMinimum = prefSize; sizeAtPreferred = prefSize; + sizeAtExpanding = prefSize; sizeAtMaximum = prefSize; } } @@ -357,6 +364,12 @@ QGraphicsAnchorLayoutPrivate::QGraphicsAnchorLayoutPrivate() : calculateGraphCacheDirty(1) { for (int i = 0; i < NOrientations; ++i) { + for (int j = 0; j < 3; ++j) { + sizeHints[i][j] = -1; + } + sizeAtExpanding[i] = -1; + interpolationProgress[i] = -1; + spacings[i] = -1; graphSimplified[i] = false; graphHasConflicts[i] = false; @@ -1649,6 +1662,10 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs( sizeHints[orientation][Qt::PreferredSize] = pref; sizeHints[orientation][Qt::MaximumSize] = max; + // XXX implement Expanding simplex + for (int i = 0; i < trunkVariables.count(); ++i) + trunkVariables.at(i)->sizeAtExpanding = trunkVariables.at(i)->sizeAtPreferred; + sizeAtExpanding[orientation] = pref; } } else { #if 0 @@ -1664,6 +1681,7 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs( AnchorData *ad = trunkPath.positives.toList()[0]; ad->sizeAtMinimum = ad->minSize; ad->sizeAtPreferred = ad->prefSize; + ad->sizeAtExpanding = ad->prefSize; ad->sizeAtMaximum = ad->maxSize; // Propagate @@ -1672,6 +1690,7 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs( sizeHints[orientation][Qt::MinimumSize] = ad->sizeAtMinimum; sizeHints[orientation][Qt::PreferredSize] = ad->sizeAtPreferred; sizeHints[orientation][Qt::MaximumSize] = ad->sizeAtMaximum; + sizeAtExpanding[orientation] = ad->sizeAtPreferred; } // Delete the constraints, we won't use them anymore. @@ -1701,6 +1720,7 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs( AnchorData *ad = partVariables[j]; Q_ASSERT(ad); ad->sizeAtMinimum = ad->sizeAtPreferred; + ad->sizeAtExpanding = ad->sizeAtPreferred; ad->sizeAtMaximum = ad->sizeAtPreferred; ad->updateChildrenSizes(); } @@ -2058,9 +2078,13 @@ void QGraphicsAnchorLayoutPrivate::setupEdgesInterpolation( interpolationInterval[orientation] = MinToPreferred; lower = sizeHints[orientation][Qt::MinimumSize]; upper = sizeHints[orientation][Qt::PreferredSize]; - } else { - interpolationInterval[orientation] = PreferredToMax; + } else if (current < sizeAtExpanding[orientation]) { + interpolationInterval[orientation] = PreferredToExpanding; lower = sizeHints[orientation][Qt::PreferredSize]; + upper = sizeAtExpanding[orientation]; + } else { + interpolationInterval[orientation] = ExpandingToMax; + lower = sizeAtExpanding[orientation]; upper = sizeHints[orientation][Qt::MaximumSize]; } @@ -2075,11 +2099,12 @@ void QGraphicsAnchorLayoutPrivate::setupEdgesInterpolation( \internal Calculate the current Edge size based on the current Layout size and the - size the edge is supposed to have when: + size the edge is supposed to have when the layout is at its: - - the layout is at its minimum size. - - the layout is at its preferred size. - - the layout is at its maximum size. + - minimum size, + - preferred size, + - size when all expanding anchors are expanded, + - maximum size. These three key values are calculated in advance using linear programming (more expensive) or the simplification algorithm, then @@ -2099,8 +2124,11 @@ void QGraphicsAnchorLayoutPrivate::interpolateEdge(AnchorVertex *base, if (interpolationInterval[orientation] == MinToPreferred) { lower = edge->sizeAtMinimum; upper = edge->sizeAtPreferred; - } else { + } else if (interpolationInterval[orientation] == PreferredToExpanding) { lower = edge->sizeAtPreferred; + upper = edge->sizeAtExpanding; + } else { + lower = edge->sizeAtExpanding; upper = edge->sizeAtMaximum; } diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index c86bfa3..4c6c2aa 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -153,7 +153,8 @@ struct AnchorData : public QSimplexVariable { : QSimplexVariable(), from(0), to(0), minSize(minimumSize), prefSize(preferredSize), maxSize(maximumSize), sizeAtMinimum(preferredSize), - sizeAtPreferred(preferredSize), sizeAtMaximum(preferredSize), + sizeAtPreferred(preferredSize), sizeAtExpanding(preferredSize), + sizeAtMaximum(preferredSize), graphicsAnchor(0), skipInPreferred(0), type(Normal), hasSize(true), isLayoutAnchor(false) {} @@ -161,7 +162,8 @@ struct AnchorData : public QSimplexVariable { AnchorData(qreal size) : QSimplexVariable(), from(0), to(0), minSize(size), prefSize(size), maxSize(size), - sizeAtMinimum(size), sizeAtPreferred(size), sizeAtMaximum(size), + sizeAtMinimum(size), sizeAtPreferred(size), sizeAtExpanding(size), + sizeAtMaximum(size), graphicsAnchor(0), skipInPreferred(0), type(Normal), hasSize(true), isLayoutAnchor(false) {} @@ -169,7 +171,8 @@ struct AnchorData : public QSimplexVariable { AnchorData() : QSimplexVariable(), from(0), to(0), minSize(0), prefSize(0), maxSize(0), - sizeAtMinimum(0), sizeAtPreferred(0), sizeAtMaximum(0), + sizeAtMinimum(0), sizeAtPreferred(0), sizeAtExpanding(0), + sizeAtMaximum(0), graphicsAnchor(0), skipInPreferred(0), type(Normal), hasSize(false), isLayoutAnchor(false) {} @@ -192,6 +195,7 @@ struct AnchorData : public QSimplexVariable { maxSize = size; sizeAtMinimum = size; sizeAtPreferred = size; + sizeAtExpanding = size; sizeAtMaximum = size; hasSize = true; } @@ -218,6 +222,7 @@ struct AnchorData : public QSimplexVariable { // calculated by the Simplex solver based on the current layout setup. qreal sizeAtMinimum; qreal sizeAtPreferred; + qreal sizeAtExpanding; qreal sizeAtMaximum; QGraphicsAnchor *graphicsAnchor; @@ -225,12 +230,15 @@ struct AnchorData : public QSimplexVariable { uint type : 2; // either Normal, Sequential or Parallel uint hasSize : 1; // if false, get size from style. uint isLayoutAnchor : 1; // if this anchor is connected to a layout 'edge' + uint isExpanding : 1; // if true, expands before other anchors + protected: AnchorData(Type type, qreal size = 0) : QSimplexVariable(), from(0), to(0), minSize(size), prefSize(size), maxSize(size), sizeAtMinimum(size), - sizeAtPreferred(size), sizeAtMaximum(size), + sizeAtPreferred(size), sizeAtExpanding(size), + sizeAtMaximum(size), graphicsAnchor(0), skipInPreferred(0), type(type), hasSize(true), isLayoutAnchor(false) {} @@ -355,7 +363,8 @@ public: // Interval represents which interpolation interval are we operating in. enum Interval { MinToPreferred = 0, - PreferredToMax + PreferredToExpanding, + ExpandingToMax }; // Several structures internal to the layout are duplicated to handle @@ -496,6 +505,7 @@ public: qreal spacings[NOrientations]; // Size hints from simplex engine qreal sizeHints[2][3]; + qreal sizeAtExpanding[2]; // Items QVector items; -- cgit v0.12 From 1728f846d9fb53a699782005d6478c0f23f9b82e Mon Sep 17 00:00:00 2001 From: "Eduardo M. Fleury" Date: Wed, 23 Sep 2009 16:02:35 -0300 Subject: QGraphicsAnchorLayout: Enabling Simplex support for Expanding size policy To support the expanding size policy we had to change the way the setup process work. Previously we used to calculate three key-frames using the simplex solver: - sizeAtMinimum: the value an anchor should be in when the layout is at its minimum size. Calculated using simplex solver to minimize the layout size. - sizeAtPreferred: the value an anchor should be in when the layout is at its preferred size. Calculated using simplex solver to minimize the deviation from the items preferred sizes. - sizeAtMaximum: the value an anchor should be in when the layout is at its maximum size. Calculated using simplex solver to maximize the layout size. That worked fine but didn't diferentiate standard items from the "expanding" ones. In other words, all items would grow from their sizeAtPreferred to their sizeAtMaximum at the same rate. To support the idea of "expanding" items, ie. items that should grow faster than the others, we added a fourth state, between preferred and maximum. Now we have the following interpolation order: sizeAtMinimum -> sizeAtPreferred -> sizeAtExpanding -> sizeAtMaximum. The definition of the "expanding" state is that all "expanding" items should have grown all the way to their "sizeAtMaximum" values whereas non expanding items should have kept their preferred sizes. The only exception is that non-expanding items are allowed to grow if that is necessary to allow the "expanding" items to reach their sizeAtMaximum. So, the visual result is that if the layout is resized from its preferred size to its maximum size, the expanding items will grow first and then, in a second phase, the other items will grow. This commit adds QGALPrivate::solveExpanding() and calls it from calculateGraphs(). Signed-off-by: Eduardo M. Fleury Reviewed-by: Artur Duque de Souza --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 98 +++++++++++++++++++++--- src/gui/graphicsview/qgraphicsanchorlayout_p.h | 1 + 2 files changed, 88 insertions(+), 11 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index fc3bc8a..93ccf83 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -1635,11 +1635,18 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs( qreal min, max; feasible = solveMinMax(trunkConstraints, trunkPath, &min, &max); - // Solve for preferred. The objective function is calculated from the constraints - // and variables internally. - feasible &= solvePreferred(trunkConstraints); - if (feasible) { + // Solve for preferred. The objective function is calculated from the constraints + // and variables internally. + solvePreferred(trunkConstraints); + + // remove sizeHintConstraints from trunkConstraints + trunkConstraints = parts[0]; + + // Solve for expanding. The objective function and the constraints from items + // are calculated internally. + solveExpanding(trunkConstraints); + // Propagate the new sizes down the simplified graph, ie. tell the // group anchors to set their children anchors sizes. @@ -1649,23 +1656,23 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs( for (int i = 0; i < trunkVariables.count(); ++i) trunkVariables.at(i)->updateChildrenSizes(); - // Calculate and set the preferred size for the layout from the edge sizes that - // were calculated above. + // Calculate and set the preferred and expanding sizes for the layout, + // from the edge sizes that were calculated above. qreal pref(0.0); + qreal expanding(0.0); foreach (const AnchorData *ad, trunkPath.positives) { pref += ad->sizeAtPreferred; + expanding += ad->sizeAtExpanding; } foreach (const AnchorData *ad, trunkPath.negatives) { pref -= ad->sizeAtPreferred; + expanding -= ad->sizeAtExpanding; } + sizeHints[orientation][Qt::MinimumSize] = min; sizeHints[orientation][Qt::PreferredSize] = pref; sizeHints[orientation][Qt::MaximumSize] = max; - - // XXX implement Expanding simplex - for (int i = 0; i < trunkVariables.count(); ++i) - trunkVariables.at(i)->sizeAtExpanding = trunkVariables.at(i)->sizeAtPreferred; - sizeAtExpanding[orientation] = pref; + sizeAtExpanding[orientation] = expanding; } } else { #if 0 @@ -2315,6 +2322,75 @@ bool QGraphicsAnchorLayoutPrivate::solvePreferred(QList co return feasible; } +void QGraphicsAnchorLayoutPrivate::solveExpanding(QList constraints) +{ + QList variables = getVariables(constraints); + QList itemConstraints; + QSimplexConstraint *objective = new QSimplexConstraint; + + // Use all items that belong to trunk to: + // - add solveExpanding-specific item constraints + // - create the objective function + for (int i = 0; i < variables.size(); ++i) { + AnchorData *ad = variables[i]; + if (ad->isExpanding) { + // Add constraint to lock expanding anchor in its sizeAtMaximum + QSimplexConstraint *itemC = new QSimplexConstraint; + itemC->ratio = QSimplexConstraint::Equal; + itemC->variables.insert(ad, 1.0); + itemC->constant = ad->sizeAtMaximum; + itemConstraints << itemC; + } else { + // Add constraints to lock anchor between their sizeAtPreferred and sizeAtMaximum + QSimplexConstraint *itemC = new QSimplexConstraint; + itemC->ratio = QSimplexConstraint::MoreOrEqual; + itemC->variables.insert(ad, 1.0); + itemC->constant = qMin(ad->sizeAtPreferred, ad->sizeAtMaximum); + itemConstraints << itemC; + + itemC = new QSimplexConstraint; + itemC->ratio = QSimplexConstraint::LessOrEqual; + itemC->variables.insert(ad, 1.0); + itemC->constant = qMax(ad->sizeAtPreferred, ad->sizeAtMaximum); + itemConstraints << itemC; + + // Add anchor to objective function + if (ad->sizeAtPreferred < ad->sizeAtMaximum) { + // Try to shrink this variable towards its sizeAtPreferred value + objective->variables.insert(ad, 1.0); + } else { + // Try to grow this variable towards its sizeAtPreferred value + objective->variables.insert(ad, -1.0); + } + } + } + + // Solve + if (objective->variables.size() == variables.size()) { + // If no anchors are expanding, we don't need to run the simplex + // Set all variables to their preferred size + for (int i = 0; i < variables.size(); ++i) { + variables[i]->sizeAtExpanding = variables[i]->sizeAtPreferred; + } + } else { + // Run simplex + QSimplex simplex; + bool feasible = simplex.setConstraints(constraints + itemConstraints); + Q_ASSERT(feasible); + + simplex.setObjective(objective); + simplex.solveMin(); + + // Collect results + for (int i = 0; i < variables.size(); ++i) { + variables[i]->sizeAtExpanding = variables[i]->result; + } + } + + delete objective; + qDeleteAll(itemConstraints); +} + /*! \internal Returns true if there are no arrangement that satisfies all constraints. diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 4c6c2aa..47df786 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -495,6 +495,7 @@ public: bool solveMinMax(QList constraints, GraphPath path, qreal *min, qreal *max); bool solvePreferred(QList constraints); + void solveExpanding(QList constraints); bool hasConflicts() const; #ifdef QT_DEBUG -- cgit v0.12 From e210bea72ef65f99babb4c6f5bd442184c671d3b Mon Sep 17 00:00:00 2001 From: "Eduardo M. Fleury" Date: Thu, 24 Sep 2009 11:16:16 -0300 Subject: QGraphicsAnchorLayout Tests: Enable expanding tests Removing QEXPECT_FAIL and making minor corrections on expected values. Signed-off-by: Eduardo M. Fleury Reviewed-by: Artur Duque de Souza --- .../qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp index e898edb..4ad48c7 100644 --- a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp +++ b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp @@ -1359,7 +1359,6 @@ void tst_QGraphicsAnchorLayout::expandingSequence() QSizeF layoutExpandedSize(pref.width() + max.width(), layoutMinimumSize.height()); p.resize(layoutExpandedSize); - QEXPECT_FAIL("", "Support for QSizePolicy::ExpandFlag not yet available", Abort); QCOMPARE(a->geometry().size(), pref); QCOMPARE(b->geometry().size(), max); @@ -1409,7 +1408,6 @@ void tst_QGraphicsAnchorLayout::expandingSequenceFairDistribution() layoutMinimumSize.height()); p.resize(layoutPartialExpandedSize); - QEXPECT_FAIL("", "Support for QSizePolicy::ExpandFlag not yet available", Abort); QCOMPARE(a->geometry().size(), pref); QCOMPARE(b->geometry().size(), pref + QSizeF(10, 0)); QCOMPARE(c->geometry().size(), pref); @@ -1443,6 +1441,7 @@ void tst_QGraphicsAnchorLayout::expandingSequenceFairDistribution() QSizeF newLayoutPartialExpandedSize((4 * pref.width()) + 75, layoutMinimumSize.height()); + p.resize(newLayoutPartialExpandedSize); QCOMPARE(a->geometry().size(), pref); QCOMPARE(b->geometry().size(), pref + QSizeF(25, 0)); @@ -1454,11 +1453,12 @@ void tst_QGraphicsAnchorLayout::expandingParallel() { QSizeF min(10, 10); QSizeF pref(50, 10); - QSizeF max(100, 50); + QSizeF max(100, 10); + QSizeF max2(100, 50); QGraphicsWidget *a = createItem(min, pref, max, "a"); QGraphicsWidget *b = createItem(min, pref, max, "b"); - QGraphicsWidget *c = createItem(min, pref, max, "c"); + QGraphicsWidget *c = createItem(min, pref, max2, "c"); b->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); @@ -1492,10 +1492,9 @@ void tst_QGraphicsAnchorLayout::expandingParallel() QSizeF layoutExpandedSize(pref.width() + max.width(), layoutMinimumSize.height()); p.resize(layoutExpandedSize); - QEXPECT_FAIL("", "Support for QSizePolicy::ExpandFlag not yet available", Abort); QCOMPARE(a->geometry().size(), max); QCOMPARE(b->geometry().size(), max); - QCOMPARE(c->geometry().size(), pref); + QCOMPARE(c->geometry().size(), QSizeF(pref.width(), 20)); QSizeF layoutMaximumSize = l->effectiveSizeHint(Qt::MaximumSize); QCOMPARE(layoutMaximumSize.width(), qreal(200)); @@ -1511,12 +1510,12 @@ void tst_QGraphicsAnchorLayout::expandingParallel() QSizeF newLayoutMinimumSize = l->effectiveSizeHint(Qt::MinimumSize); QCOMPARE(newLayoutMinimumSize.width(), qreal(30)); - QSizeF newLayoutExpandedSize(pref.width() + max.width(), layoutMinimumSize.height()); + QSizeF newLayoutExpandedSize = layoutExpandedSize + QSizeF(100, 0); p.resize(newLayoutExpandedSize); - QCOMPARE(a->geometry().size(), max); + QCOMPARE(a->geometry().size(), max + QSizeF(100, 0)); QCOMPARE(b->geometry().size(), max); - QCOMPARE(c->geometry().size(), pref); + QCOMPARE(c->geometry().size(), QSizeF(pref.width(), 20)); QSizeF newLayoutMaximumSize = l->effectiveSizeHint(Qt::MaximumSize); QCOMPARE(newLayoutMaximumSize.width(), qreal(300)); -- cgit v0.12 From 5dd77be3acfb53b44d7d6b0015af0c33124ab84a Mon Sep 17 00:00:00 2001 From: Caio Marcelo de Oliveira Filho Date: Thu, 24 Sep 2009 17:09:16 -0300 Subject: QGraphicsAnchorLayout: cleaning up AnchorData Use just one constructor for AnchorData and tweak the struct when necessary. Also use the function refreshSizeHints() for Normal anchors to get the item information instead of passing to the constructor. This has the advantage that we don't need to replicate the code for checking and updating the size hint and size policies. Note that the code before only considered the size policies after the first refreshSizeHints() -- which we know will be called after the simplification, so the assumption seems to be correct, but we don't depend on that anymore.. Signed-off-by: Caio Marcelo de Oliveira Filho Reviewed-by: Eduardo M. Fleury --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 89 ++++++++++++------------ src/gui/graphicsview/qgraphicsanchorlayout_p.h | 53 ++++---------- 2 files changed, 59 insertions(+), 83 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 93ccf83..dc8d211 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -94,8 +94,6 @@ qreal QGraphicsAnchorPrivate::spacing() const void AnchorData::refreshSizeHints(qreal effectiveSpacing) { - isExpanding = 0; - if (!isLayoutAnchor && (from->m_item == to->m_item)) { QGraphicsLayoutItem *item = from->m_item; @@ -140,9 +138,6 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) if (policy & QSizePolicy::IgnoreFlag) prefSize = minSize; - if (policy & QSizePolicy::ExpandFlag) - isExpanding = 1; - bool hasCenter = (from->m_edge == centerEdge || to->m_edge == centerEdge); if (hasCenter) { @@ -151,6 +146,14 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) maxSize /= 2; } + if (policy & QSizePolicy::ExpandFlag) { + isExpanding = 1; + expSize = maxSize; + } else { + isExpanding = 0; + expSize = prefSize; + } + // Set the anchor effective sizes to preferred. // // Note: The idea here is that all items should remain at their @@ -167,8 +170,11 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) // Anchor has no size defined, use given default information minSize = effectiveSpacing; prefSize = effectiveSpacing; + expSize = effectiveSpacing; maxSize = effectiveSpacing; + isExpanding = 0; + sizeAtMinimum = prefSize; sizeAtPreferred = prefSize; sizeAtExpanding = prefSize; @@ -830,9 +836,10 @@ void QGraphicsAnchorLayoutPrivate::createLayoutEdges() QGraphicsLayoutItem *layout = q; // Horizontal - AnchorData *data = new AnchorData(0, 0, QWIDGETSIZE_MAX); + AnchorData *data = new AnchorData; addAnchor_helper(layout, Qt::AnchorLeft, layout, - Qt::AnchorRight, data); + Qt::AnchorRight, data); + data->maxSize = QWIDGETSIZE_MAX; data->skipInPreferred = 1; // Set the Layout Left edge as the root of the horizontal graph. @@ -840,9 +847,10 @@ void QGraphicsAnchorLayoutPrivate::createLayoutEdges() graph[Horizontal].setRootVertex(v); // Vertical - data = new AnchorData(0, 0, QWIDGETSIZE_MAX); + data = new AnchorData; addAnchor_helper(layout, Qt::AnchorTop, layout, - Qt::AnchorBottom, data); + Qt::AnchorBottom, data); + data->maxSize = QWIDGETSIZE_MAX; data->skipInPreferred = 1; // Set the Layout Top edge as the root of the vertical graph. @@ -869,19 +877,15 @@ void QGraphicsAnchorLayoutPrivate::createItemEdges(QGraphicsLayoutItem *item) items.append(item); - QSizeF minSize = item->effectiveSizeHint(Qt::MinimumSize); - QSizeF prefSize = item->effectiveSizeHint(Qt::PreferredSize); - QSizeF maxSize = item->effectiveSizeHint(Qt::MaximumSize); - - // Horizontal - AnchorData *data = new AnchorData(minSize.width(), prefSize.width(), maxSize.width()); - addAnchor_helper(item, Qt::AnchorLeft, item, - Qt::AnchorRight, data); + // Create horizontal and vertical internal anchors for the item and + // refresh its size hint / policy values. + AnchorData *data = new AnchorData; + addAnchor_helper(item, Qt::AnchorLeft, item, Qt::AnchorRight, data); + data->refreshSizeHints(0); // 0 = effectiveSpacing, will not be used - // Vertical - data = new AnchorData(minSize.height(), prefSize.height(), maxSize.height()); - addAnchor_helper(item, Qt::AnchorTop, item, - Qt::AnchorBottom, data); + data = new AnchorData; + addAnchor_helper(item, Qt::AnchorTop, item, Qt::AnchorBottom, data); + data->refreshSizeHints(0); // 0 = effectiveSpacing, will not be used } /*! @@ -934,20 +938,17 @@ void QGraphicsAnchorLayoutPrivate::createCenterAnchors( Q_ASSERT(first && last); // Create new anchors - AnchorData *oldData = graph[orientation].edgeData(first, last); - - qreal minimumSize = oldData->minSize / 2; - qreal preferredSize = oldData->prefSize / 2; - qreal maximumSize = oldData->maxSize / 2; - QSimplexConstraint *c = new QSimplexConstraint; - AnchorData *data = new AnchorData(minimumSize, preferredSize, maximumSize); + + AnchorData *data = new AnchorData; c->variables.insert(data, 1.0); addAnchor_helper(item, firstEdge, item, centerEdge, data); + data->refreshSizeHints(0); - data = new AnchorData(minimumSize, preferredSize, maximumSize); + data = new AnchorData; c->variables.insert(data, -1.0); addAnchor_helper(item, centerEdge, item, lastEdge, data); + data->refreshSizeHints(0); itemCenterConstraints[orientation].append(c); @@ -1008,14 +1009,9 @@ void QGraphicsAnchorLayoutPrivate::removeCenterAnchors( if (substitute) { // Create the new anchor that should substitute the left-center-right anchors. - AnchorData *oldData = g.edgeData(first, center); - - qreal minimumSize = oldData->minSize * 2; - qreal preferredSize = oldData->prefSize * 2; - qreal maximumSize = oldData->maxSize * 2; - - AnchorData *data = new AnchorData(minimumSize, preferredSize, maximumSize); + AnchorData *data = new AnchorData; addAnchor_helper(item, firstEdge, item, lastEdge, data); + data->refreshSizeHints(0); // Remove old anchors removeAnchor_helper(first, center); @@ -1133,7 +1129,7 @@ QGraphicsAnchor *QGraphicsAnchorLayoutPrivate::addAnchor(QGraphicsLayoutItem *fi // Use heuristics to find out what the user meant with this anchor. correctEdgeDirection(firstItem, firstEdge, secondItem, secondEdge); - AnchorData *data; + AnchorData *data = new AnchorData; if (!spacing) { // If firstItem or secondItem is the layout itself, the spacing will default to 0. // Otherwise, the following matrix is used (questionmark means that the spacing @@ -1143,22 +1139,25 @@ QGraphicsAnchor *QGraphicsAnchorLayoutPrivate::addAnchor(QGraphicsLayoutItem *fi // Left 0 0 ? // HCenter 0 0 0 // Right ? 0 0 - if (firstItem != q - && secondItem != q - && pickEdge(firstEdge, Horizontal) != Qt::AnchorHorizontalCenter - && oppositeEdge(firstEdge) == secondEdge) { - data = new AnchorData; // ask the style later + if (firstItem == q + || secondItem == q + || pickEdge(firstEdge, Horizontal) == Qt::AnchorHorizontalCenter + || oppositeEdge(firstEdge) != secondEdge) { + data->setFixedSize(0); } else { - data = new AnchorData(0); // spacing should be 0 + data->unsetSize(); } addAnchor_helper(firstItem, firstEdge, secondItem, secondEdge, data); + } else if (*spacing >= 0) { - data = new AnchorData(*spacing); + data->setFixedSize(*spacing); addAnchor_helper(firstItem, firstEdge, secondItem, secondEdge, data); + } else { - data = new AnchorData(-*spacing); + data->setFixedSize(-*spacing); addAnchor_helper(secondItem, secondEdge, firstItem, firstEdge, data); } + return acquireGraphicsAnchor(data); } diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 47df786..047be39 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -149,33 +149,15 @@ struct AnchorData : public QSimplexVariable { Sequential, Parallel }; - AnchorData(qreal minimumSize, qreal preferredSize, qreal maximumSize) - : QSimplexVariable(), from(0), to(0), - minSize(minimumSize), prefSize(preferredSize), - maxSize(maximumSize), sizeAtMinimum(preferredSize), - sizeAtPreferred(preferredSize), sizeAtExpanding(preferredSize), - sizeAtMaximum(preferredSize), - graphicsAnchor(0), - skipInPreferred(0), type(Normal), hasSize(true), - isLayoutAnchor(false) {} - - AnchorData(qreal size) - : QSimplexVariable(), from(0), to(0), - minSize(size), prefSize(size), maxSize(size), - sizeAtMinimum(size), sizeAtPreferred(size), sizeAtExpanding(size), - sizeAtMaximum(size), - graphicsAnchor(0), - skipInPreferred(0), type(Normal), hasSize(true), - isLayoutAnchor(false) {} AnchorData() : QSimplexVariable(), from(0), to(0), - minSize(0), prefSize(0), maxSize(0), - sizeAtMinimum(0), sizeAtPreferred(0), sizeAtExpanding(0), - sizeAtMaximum(0), - graphicsAnchor(0), - skipInPreferred(0), type(Normal), hasSize(false), - isLayoutAnchor(false) {} + minSize(0), prefSize(0), expSize(0), maxSize(0), + sizeAtMinimum(0), sizeAtPreferred(0), + sizeAtExpanding(0), sizeAtMaximum(0), + graphicsAnchor(0), skipInPreferred(0), + type(Normal), hasSize(true), isLayoutAnchor(false), + isExpanding(false) {} virtual void updateChildrenSizes() {} virtual void refreshSizeHints(qreal effectiveSpacing); @@ -192,6 +174,7 @@ struct AnchorData : public QSimplexVariable { { minSize = size; prefSize = size; + expSize = size; maxSize = size; sizeAtMinimum = size; sizeAtPreferred = size; @@ -215,6 +198,7 @@ struct AnchorData : public QSimplexVariable { // size. qreal minSize; qreal prefSize; + qreal expSize; qreal maxSize; // These attributes define which sizes should that anchor be in when the @@ -231,17 +215,6 @@ struct AnchorData : public QSimplexVariable { uint hasSize : 1; // if false, get size from style. uint isLayoutAnchor : 1; // if this anchor is connected to a layout 'edge' uint isExpanding : 1; // if true, expands before other anchors - -protected: - AnchorData(Type type, qreal size = 0) - : QSimplexVariable(), from(0), to(0), - minSize(size), prefSize(size), - maxSize(size), sizeAtMinimum(size), - sizeAtPreferred(size), sizeAtExpanding(size), - sizeAtMaximum(size), - graphicsAnchor(0), - skipInPreferred(0), type(type), hasSize(true), - isLayoutAnchor(false) {} }; #ifdef QT_DEBUG @@ -253,8 +226,10 @@ inline QString AnchorData::toString() const struct SequentialAnchorData : public AnchorData { - SequentialAnchorData() : AnchorData(AnchorData::Sequential) + SequentialAnchorData() : AnchorData() { + type = AnchorData::Sequential; + hasSize = true; #ifdef QT_DEBUG name = QLatin1String("SequentialAnchorData"); #endif @@ -278,9 +253,11 @@ struct SequentialAnchorData : public AnchorData struct ParallelAnchorData : public AnchorData { ParallelAnchorData(AnchorData *first, AnchorData *second) - : AnchorData(AnchorData::Parallel), - firstEdge(first), secondEdge(second) + : AnchorData(), firstEdge(first), secondEdge(second) { + type = AnchorData::Parallel; + hasSize = true; + // ### Those asserts force that both child anchors have the same direction, // but can't we simplify a pair of anchors in opposite directions? Q_ASSERT(first->from == second->from); -- cgit v0.12 From bcd08ab82b5df13f7687a504f868cb8b6ff8b75e Mon Sep 17 00:00:00 2001 From: Caio Marcelo de Oliveira Filho Date: Fri, 25 Sep 2009 16:13:18 -0300 Subject: QGraphicsAnchorLayout: avoid code duplication when initializing complex anchors Now we can use refreshSizeHints_helper() to initialize complex anchors (parallel and sequential). This avoids duplication of code in the function simplifySequentialChunk(). This commit also 'disable' ExpandFlag temporarily, stabilizing the tests for the simplification. The next commit should re-enable it implementing the necessary code for simplification as well. Signed-off-by: Caio Marcelo de Oliveira Filho Reviewed-by: Eduardo M. Fleury --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 102 +++++++++++------------ src/gui/graphicsview/qgraphicsanchorlayout_p.h | 4 + 2 files changed, 54 insertions(+), 52 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index dc8d211..dd46722 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -146,13 +146,15 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) maxSize /= 2; } - if (policy & QSizePolicy::ExpandFlag) { - isExpanding = 1; - expSize = maxSize; - } else { - isExpanding = 0; - expSize = prefSize; - } + // ### + expSize = prefSize; + // if (policy & QSizePolicy::ExpandFlag) { + // isExpanding = 1; + // expSize = maxSize; + // } else { + // isExpanding = 0; + // expSize = prefSize; + // } // Set the anchor effective sizes to preferred. // @@ -187,6 +189,7 @@ void ParallelAnchorData::updateChildrenSizes() firstEdge->sizeAtMinimum = secondEdge->sizeAtMinimum = sizeAtMinimum; firstEdge->sizeAtPreferred = secondEdge->sizeAtPreferred = sizeAtPreferred; firstEdge->sizeAtMaximum = secondEdge->sizeAtMaximum = sizeAtMaximum; + firstEdge->sizeAtExpanding = secondEdge->sizeAtExpanding = sizeAtPreferred; firstEdge->updateChildrenSizes(); secondEdge->updateChildrenSizes(); @@ -194,9 +197,16 @@ void ParallelAnchorData::updateChildrenSizes() void ParallelAnchorData::refreshSizeHints(qreal effectiveSpacing) { - // First refresh children information - firstEdge->refreshSizeHints(effectiveSpacing); - secondEdge->refreshSizeHints(effectiveSpacing); + refreshSizeHints_helper(effectiveSpacing); +} + +void ParallelAnchorData::refreshSizeHints_helper(qreal effectiveSpacing, + bool refreshChildren) +{ + if (refreshChildren) { + firstEdge->refreshSizeHints(effectiveSpacing); + secondEdge->refreshSizeHints(effectiveSpacing); + } // ### should we warn if the parallel connection is invalid? // e.g. 1-2-3 with 10-20-30, the minimum of the latter is @@ -208,9 +218,13 @@ void ParallelAnchorData::refreshSizeHints(qreal effectiveSpacing) prefSize = qMax(firstEdge->prefSize, secondEdge->prefSize); prefSize = qMin(prefSize, maxSize); + // ### + expSize = prefSize; + // See comment in AnchorData::refreshSizeHints() about sizeAt* values sizeAtMinimum = prefSize; sizeAtPreferred = prefSize; + sizeAtExpanding = prefSize; sizeAtMaximum = prefSize; } @@ -277,30 +291,46 @@ void SequentialAnchorData::updateChildrenSizes() bandSize = maxFactor > 0 ? e->maxSize - e->prefSize : e->prefSize - e->minSize; e->sizeAtMaximum = e->prefSize + bandSize * maxFactor; + // ### + e->sizeAtExpanding = e->sizeAtPreferred; + e->updateChildrenSizes(); } } void SequentialAnchorData::refreshSizeHints(qreal effectiveSpacing) { + refreshSizeHints_helper(effectiveSpacing); +} + +void SequentialAnchorData::refreshSizeHints_helper(qreal effectiveSpacing, + bool refreshChildren) +{ minSize = 0; prefSize = 0; + expSize = 0; maxSize = 0; for (int i = 0; i < m_edges.count(); ++i) { AnchorData *edge = m_edges.at(i); - // First refresh children information - edge->refreshSizeHints(effectiveSpacing); + // If it's the case refresh children information first + if (refreshChildren) + edge->refreshSizeHints(effectiveSpacing); minSize += edge->minSize; prefSize += edge->prefSize; + expSize += edge->expSize; maxSize += edge->maxSize; } + // ### + expSize = prefSize; + // See comment in AnchorData::refreshSizeHints() about sizeAt* values sizeAtMinimum = prefSize; sizeAtPreferred = prefSize; + sizeAtExpanding = prefSize; sizeAtMaximum = prefSize; } @@ -441,39 +471,21 @@ static bool simplifySequentialChunk(Graph *graph, qDebug("simplifying [%s] to [%s - %s]", qPrintable(strPath), qPrintable(before->toString()), qPrintable(after->toString())); #endif - qreal min = 0; - qreal pref = 0; - qreal max = 0; - SequentialAnchorData *sequence = new SequentialAnchorData; AnchorVertex *prev = before; AnchorData *data; for (i = 0; i <= vertices.count(); ++i) { AnchorVertex *next = (i < vertices.count()) ? vertices.at(i) : after; data = graph->takeEdge(prev, next); - min += data->minSize; - pref += data->prefSize; - max = checkAdd(max, data->maxSize); sequence->m_edges.append(data); prev = next; } - - // insert new - sequence->minSize = min; - sequence->prefSize = pref; - sequence->maxSize = max; - - // Unless these values are overhidden by the simplex solver later-on, - // anchors will keep their own preferred size. - sequence->sizeAtMinimum = pref; - sequence->sizeAtPreferred = pref; - sequence->sizeAtMaximum = pref; - sequence->setVertices(vertices); - sequence->from = before; sequence->to = after; + sequence->refreshSizeHints_helper(0, false); + // data here is the last edge in the sequence // ### this seems to be here for supporting reverse order sequences, // but doesnt seem to be used right now @@ -488,25 +500,11 @@ static bool simplifySequentialChunk(Graph *graph, AnchorData *newAnchor = sequence; if (AnchorData *oldAnchor = graph->takeEdge(before, after)) { - newAnchor = new ParallelAnchorData(oldAnchor, sequence); - - newAnchor->isLayoutAnchor = (oldAnchor->isLayoutAnchor + ParallelAnchorData *parallel = new ParallelAnchorData(oldAnchor, sequence); + parallel->isLayoutAnchor = (oldAnchor->isLayoutAnchor || sequence->isLayoutAnchor); - - min = qMax(oldAnchor->minSize, sequence->minSize); - max = qMin(oldAnchor->maxSize, sequence->maxSize); - - pref = qMax(oldAnchor->prefSize, sequence->prefSize); - pref = qMin(pref, max); - - newAnchor->minSize = min; - newAnchor->prefSize = pref; - newAnchor->maxSize = max; - - // Same as above, by default, keep preferred size. - newAnchor->sizeAtMinimum = pref; - newAnchor->sizeAtPreferred = pref; - newAnchor->sizeAtMaximum = pref; + parallel->refreshSizeHints_helper(0, false); + newAnchor = parallel; } graph->createEdge(before, after, newAnchor); @@ -1687,7 +1685,7 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs( AnchorData *ad = trunkPath.positives.toList()[0]; ad->sizeAtMinimum = ad->minSize; ad->sizeAtPreferred = ad->prefSize; - ad->sizeAtExpanding = ad->prefSize; + ad->sizeAtExpanding = ad->expSize; ad->sizeAtMaximum = ad->maxSize; // Propagate @@ -1696,7 +1694,7 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs( sizeHints[orientation][Qt::MinimumSize] = ad->sizeAtMinimum; sizeHints[orientation][Qt::PreferredSize] = ad->sizeAtPreferred; sizeHints[orientation][Qt::MaximumSize] = ad->sizeAtMaximum; - sizeAtExpanding[orientation] = ad->sizeAtPreferred; + sizeAtExpanding[orientation] = ad->sizeAtExpanding; } // Delete the constraints, we won't use them anymore. diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 047be39..8f67b2c 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -238,6 +238,8 @@ struct SequentialAnchorData : public AnchorData virtual void updateChildrenSizes(); virtual void refreshSizeHints(qreal effectiveSpacing); + void refreshSizeHints_helper(qreal effectiveSpacing, bool refreshChildren = true); + void setVertices(const QVector &vertices) { m_children = vertices; @@ -272,6 +274,8 @@ struct ParallelAnchorData : public AnchorData virtual void updateChildrenSizes(); virtual void refreshSizeHints(qreal effectiveSpacing); + void refreshSizeHints_helper(qreal effectiveSpacing, bool refreshChildren = true); + AnchorData* firstEdge; AnchorData* secondEdge; }; -- cgit v0.12 From ad69bb73754534f61658a83e85dadb75e603c90a Mon Sep 17 00:00:00 2001 From: "Eduardo M. Fleury" Date: Fri, 25 Sep 2009 19:02:21 -0300 Subject: QGraphicsAnchorLayout: Update solveExpanding to handle simplified graphs The previous implementation of solveExpanding would assume that anchors were either completely expanding (would grow to their sizeAtMaximum) or non-expanding (would try to remain at their sizeAtPreferred). What happens however is that with simplification enabled, we may have anchors that are "partially" expanding. An example is a sequential anchor that groups together two leaf anchors where only one of them is expanding. In this case, the expected size of that group anchor would be the sum of the max size of the expanding child plus the preferred size of the non-expanding child. To handle the above case we added the "expSize" variable. It holds the expected value at Expanding for each anchor. Based on this, and the already calculated values of sizeAtMaximum and sizeAtPreferred, the solver calculates the actual sizeAtExpanding for them. Signed-off-by: Eduardo M. Fleury Reviewed-by: Caio Marcelo de Oliveira Filho --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 84 ++++++++++++++++++++---- 1 file changed, 72 insertions(+), 12 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index dd46722..cf1429c 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -2319,40 +2319,97 @@ bool QGraphicsAnchorLayoutPrivate::solvePreferred(QList co return feasible; } +/*! Calculate the "expanding" keyframe + + This new keyframe sits between the already existing sizeAtPreferred and + sizeAtMaximum keyframes. Its goal is to modify the interpolation between + the latter as to respect the "expanding" size policy of some anchors. + + Previously all items would be subject to a linear interpolation between + sizeAtPreferred and sizeAtMaximum values. This will change now, the + expanding anchors will change their size before the others. To calculate + this keyframe we use the following logic: + + 1) Ask each anchor for their desired expanding size (ad->expSize), this + value depends on the anchor expanding property in the following way: + + - Expanding anchors want to grow towards their maximum size + - Non-expanding anchors want to remain at their preferred size. + - Composite anchors want to grow towards somewhere between their + preferred sizes. (*) + + 2) Clamp their desired values to the value they assume in the neighbour + keyframes (sizeAtPreferred and sizeAtExpanding) + + 3) Run simplex with a setup that ensures the following: + + a. Anchors will change their value from their sizeAtPreferred towards + their sizeAtMaximum as much as required to ensure that ALL anchors + reach their respective "desired" expanding sizes. + + b. No anchors will change their value beyond what is NEEDED to satisfy + the requirement above. + + The final result is that, at the "expanding" keyframe expanding anchors + will grow and take with them all anchors that are parallel to them. + However, non-expanding anchors will remain at their preferred size unless + they are forced to grow by a parallel expanding anchor. + + Note: For anchors where the sizeAtPreferred is bigger than sizeAtPreferred, + the visual effect when the layout grows from its preferred size is + the following: Expanding anchors will keep their size while non + expanding ones will shrink. Only after non-expanding anchors have + shrinked all the way, the expanding anchors will start to shrink too. +*/ void QGraphicsAnchorLayoutPrivate::solveExpanding(QList constraints) { QList variables = getVariables(constraints); QList itemConstraints; QSimplexConstraint *objective = new QSimplexConstraint; + bool hasExpanding = false; - // Use all items that belong to trunk to: - // - add solveExpanding-specific item constraints - // - create the objective function + // Construct the simplex constraints and objective for (int i = 0; i < variables.size(); ++i) { + // For each anchor AnchorData *ad = variables[i]; - if (ad->isExpanding) { - // Add constraint to lock expanding anchor in its sizeAtMaximum + + // Clamp the desired expanding size + qreal upperBoundary = qMax(ad->sizeAtPreferred, ad->sizeAtMaximum); + qreal lowerBoundary = qMin(ad->sizeAtPreferred, ad->sizeAtMaximum); + qreal boundedExpSize = qBound(lowerBoundary, ad->expSize, upperBoundary); + + // Expanding anchors are those that want to move from their preferred size + if (boundedExpSize != ad->sizeAtPreferred) + hasExpanding = true; + + // Lock anchor between boundedExpSize and sizeAtMaximum (ensure 3.a) + if (boundedExpSize == ad->sizeAtMaximum) { + // The interval has only one possible value, we can use an "Equal" + // constraint and don't need to add this variable to the objective. QSimplexConstraint *itemC = new QSimplexConstraint; itemC->ratio = QSimplexConstraint::Equal; itemC->variables.insert(ad, 1.0); - itemC->constant = ad->sizeAtMaximum; + itemC->constant = boundedExpSize; itemConstraints << itemC; } else { - // Add constraints to lock anchor between their sizeAtPreferred and sizeAtMaximum + // Add MoreOrEqual and LessOrEqual constraints. QSimplexConstraint *itemC = new QSimplexConstraint; itemC->ratio = QSimplexConstraint::MoreOrEqual; itemC->variables.insert(ad, 1.0); - itemC->constant = qMin(ad->sizeAtPreferred, ad->sizeAtMaximum); + itemC->constant = qMin(boundedExpSize, ad->sizeAtMaximum); itemConstraints << itemC; itemC = new QSimplexConstraint; itemC->ratio = QSimplexConstraint::LessOrEqual; itemC->variables.insert(ad, 1.0); - itemC->constant = qMax(ad->sizeAtPreferred, ad->sizeAtMaximum); + itemC->constant = qMax(boundedExpSize, ad->sizeAtMaximum); itemConstraints << itemC; - // Add anchor to objective function - if (ad->sizeAtPreferred < ad->sizeAtMaximum) { + // Create objective to avoid the anchos from moving away from + // the preferred size more than the needed amount. (ensure 3.b) + // The objective function is the distance between sizeAtPreferred + // and sizeAtExpanding, it will be minimized. + if (ad->sizeAtExpanding < ad->sizeAtMaximum) { // Try to shrink this variable towards its sizeAtPreferred value objective->variables.insert(ad, 1.0); } else { @@ -2363,7 +2420,7 @@ void QGraphicsAnchorLayoutPrivate::solveExpanding(QList co } // Solve - if (objective->variables.size() == variables.size()) { + if (hasExpanding == false) { // If no anchors are expanding, we don't need to run the simplex // Set all variables to their preferred size for (int i = 0; i < variables.size(); ++i) { @@ -2372,9 +2429,12 @@ void QGraphicsAnchorLayoutPrivate::solveExpanding(QList co } else { // Run simplex QSimplex simplex; + + // Satisfy expanding (3.a) bool feasible = simplex.setConstraints(constraints + itemConstraints); Q_ASSERT(feasible); + // Reduce damage (3.b) simplex.setObjective(objective); simplex.solveMin(); -- cgit v0.12 From ba66cc0bde91e1143ac0a34f249f98e4573a5737 Mon Sep 17 00:00:00 2001 From: "Eduardo M. Fleury" Date: Mon, 28 Sep 2009 11:49:42 -0300 Subject: QSimplex: Remove overly conservative assertion This assertion started failing after the addition of expanding state. After some investigation we felt that the assertion itself was too strong and would fail in some valid cases. The new assertion is formally right as it tests whether the simplex solver was able to satisfy the simplex constraints, _exactly_ what it is expected to do. Signed-off-by: Eduardo M. Fleury Reviewed-by: Caio Marcelo de Oliveira Filho --- src/gui/graphicsview/qsimplex_p.cpp | 24 ++++++------------------ src/gui/graphicsview/qsimplex_p.h | 26 +++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/src/gui/graphicsview/qsimplex_p.cpp b/src/gui/graphicsview/qsimplex_p.cpp index 00fc204..95003d2 100644 --- a/src/gui/graphicsview/qsimplex_p.cpp +++ b/src/gui/graphicsview/qsimplex_p.cpp @@ -285,24 +285,6 @@ bool QSimplex::setConstraints(const QList newConstraints) // anymore. clearColumns(firstArtificial, columns - 2); - #ifdef QT_DEBUG - // Ensure that at the end of the simplex each row should either: - // - Have a positive value on the column associated to its variable, or - // - Have zero values in all columns. - // - // This avoids a regression where restrictions would be lost - // due to randomness in the pivotRowForColumn method. - for (int i = 1; i < rows; ++i) { - int variableIndex = valueAt(i, 0); - if (valueAt(i, variableIndex) > 0) - continue; - - for (int j = 1; j < columns; ++j) { - Q_ASSERT(valueAt(i, j) == 0); - } - } - #endif - return true; } @@ -537,6 +519,12 @@ qreal QSimplex::solver(solverFactor factor) solveMaxHelper(); collectResults(); + #ifdef QT_DEBUG + for (int i = 0; i < constraints.size(); ++i) { + Q_ASSERT(constraints[i]->isSatisfied()); + } + #endif + return factor * valueAt(0, columns - 1); } diff --git a/src/gui/graphicsview/qsimplex_p.h b/src/gui/graphicsview/qsimplex_p.h index 54b080d..b517cb9 100644 --- a/src/gui/graphicsview/qsimplex_p.h +++ b/src/gui/graphicsview/qsimplex_p.h @@ -94,8 +94,32 @@ struct QSimplexConstraint QPair helper; QSimplexVariable * artificial; -}; + #ifdef QT_DEBUG + bool isSatisfied() { + qreal leftHandSide(0); + + QHash::const_iterator iter; + for (iter = variables.constBegin(); iter != variables.constEnd(); ++iter) { + leftHandSide += iter.value() * iter.key()->result; + } + + Q_ASSERT(constant > 0 || qFuzzyCompare(1, 1 + constant)); + + if (qFuzzyCompare(1000 + leftHandSide, 1000 + constant)) + return true; + + switch (ratio) { + case LessOrEqual: + return leftHandSide < constant; + case MoreOrEqual: + return leftHandSide > constant; + default: + return false; + } + } + #endif +}; class QSimplex { -- cgit v0.12 From 0536b996759ef367e784310f472089eec583213f Mon Sep 17 00:00:00 2001 From: Caio Marcelo de Oliveira Filho Date: Fri, 25 Sep 2009 19:35:25 -0300 Subject: QGraphicsAnchorLayout: Add support for expanding SizePolicy with simplification Updating "refreshSizeHints" and "updateChildrenSizes" methods for standard, parallel and sequential anchors, in order to support the expanding SizePolicy flag. This adds the logic required to calculate equivalent expected/nominal expanding size (AnchorData::expSize) as well as the logic to propagate the effective size when in the expanding state (AnchorData::sizeAtExpected). Signed-off-by: Caio Marcelo de Oliveira Filho Reviewed-by: Eduardo M. Fleury --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 59 ++++++++++++++---------- src/gui/graphicsview/qgraphicsanchorlayout_p.h | 4 +- 2 files changed, 36 insertions(+), 27 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index cf1429c..20ff03b 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -146,15 +146,11 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) maxSize /= 2; } - // ### - expSize = prefSize; - // if (policy & QSizePolicy::ExpandFlag) { - // isExpanding = 1; - // expSize = maxSize; - // } else { - // isExpanding = 0; - // expSize = prefSize; - // } + if (policy & QSizePolicy::ExpandFlag) { + expSize = maxSize; + } else { + expSize = prefSize; + } // Set the anchor effective sizes to preferred. // @@ -175,8 +171,6 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing) expSize = effectiveSpacing; maxSize = effectiveSpacing; - isExpanding = 0; - sizeAtMinimum = prefSize; sizeAtPreferred = prefSize; sizeAtExpanding = prefSize; @@ -188,8 +182,8 @@ void ParallelAnchorData::updateChildrenSizes() { firstEdge->sizeAtMinimum = secondEdge->sizeAtMinimum = sizeAtMinimum; firstEdge->sizeAtPreferred = secondEdge->sizeAtPreferred = sizeAtPreferred; + firstEdge->sizeAtExpanding = secondEdge->sizeAtExpanding = sizeAtExpanding; firstEdge->sizeAtMaximum = secondEdge->sizeAtMaximum = sizeAtMaximum; - firstEdge->sizeAtExpanding = secondEdge->sizeAtExpanding = sizeAtPreferred; firstEdge->updateChildrenSizes(); secondEdge->updateChildrenSizes(); @@ -215,11 +209,11 @@ void ParallelAnchorData::refreshSizeHints_helper(qreal effectiveSpacing, minSize = qMax(firstEdge->minSize, secondEdge->minSize); maxSize = qMin(firstEdge->maxSize, secondEdge->maxSize); - prefSize = qMax(firstEdge->prefSize, secondEdge->prefSize); - prefSize = qMin(prefSize, maxSize); + expSize = qMax(firstEdge->expSize, secondEdge->expSize); + expSize = qMin(expSize, maxSize); - // ### - expSize = prefSize; + prefSize = qMax(firstEdge->prefSize, secondEdge->prefSize); + prefSize = qMin(prefSize, expSize); // See comment in AnchorData::refreshSizeHints() about sizeAt* values sizeAtMinimum = prefSize; @@ -260,6 +254,21 @@ static qreal getFactor(qreal value, qreal min, qreal pref, qreal max) } } +static qreal getExpandingFactor(const qreal &expSize, const qreal &sizeAtPreferred, + const qreal &sizeAtExpanding, const qreal &sizeAtMaximum) +{ + const qreal lower = qMin(sizeAtPreferred, sizeAtMaximum); + const qreal upper = qMax(sizeAtPreferred, sizeAtMaximum); + const qreal boundedExpSize = qBound(lower, expSize, upper); + + const qreal bandSize = sizeAtMaximum - boundedExpSize; + if (bandSize == 0) { + return 0; + } else { + return (sizeAtExpanding - boundedExpSize) / bandSize; + } +} + void SequentialAnchorData::updateChildrenSizes() { // ### REMOVE ME @@ -269,15 +278,18 @@ void SequentialAnchorData::updateChildrenSizes() Q_ASSERT(sizeAtMinimum < maxSize || qFuzzyCompare(sizeAtMinimum, maxSize)); Q_ASSERT(sizeAtPreferred > minSize || qFuzzyCompare(sizeAtPreferred, minSize)); Q_ASSERT(sizeAtPreferred < maxSize || qFuzzyCompare(sizeAtPreferred, maxSize)); + Q_ASSERT(sizeAtExpanding > minSize || qFuzzyCompare(sizeAtExpanding, minSize)); + Q_ASSERT(sizeAtExpanding < maxSize || qFuzzyCompare(sizeAtExpanding, maxSize)); Q_ASSERT(sizeAtMaximum > minSize || qFuzzyCompare(sizeAtMaximum, minSize)); Q_ASSERT(sizeAtMaximum < maxSize || qFuzzyCompare(sizeAtMaximum, maxSize)); // Band here refers if the value is in the Minimum To Preferred // band (the lower band) or the Preferred To Maximum (the upper band). - qreal minFactor = getFactor(sizeAtMinimum, minSize, prefSize, maxSize); - qreal prefFactor = getFactor(sizeAtPreferred, minSize, prefSize, maxSize); - qreal maxFactor = getFactor(sizeAtMaximum, minSize, prefSize, maxSize); + const qreal minFactor = getFactor(sizeAtMinimum, minSize, prefSize, maxSize); + const qreal prefFactor = getFactor(sizeAtPreferred, minSize, prefSize, maxSize); + const qreal maxFactor = getFactor(sizeAtMaximum, minSize, prefSize, maxSize); + const qreal expFactor = getExpandingFactor(expSize, sizeAtPreferred, sizeAtExpanding, sizeAtMaximum); for (int i = 0; i < m_edges.count(); ++i) { AnchorData *e = m_edges.at(i); @@ -291,8 +303,10 @@ void SequentialAnchorData::updateChildrenSizes() bandSize = maxFactor > 0 ? e->maxSize - e->prefSize : e->prefSize - e->minSize; e->sizeAtMaximum = e->prefSize + bandSize * maxFactor; - // ### - e->sizeAtExpanding = e->sizeAtPreferred; + const qreal lower = qMin(e->sizeAtPreferred, e->sizeAtMaximum); + const qreal upper = qMax(e->sizeAtPreferred, e->sizeAtMaximum); + const qreal edgeBoundedExpSize = qBound(lower, e->expSize, upper); + e->sizeAtExpanding = edgeBoundedExpSize + expFactor * (e->sizeAtMaximum - edgeBoundedExpSize); e->updateChildrenSizes(); } @@ -324,9 +338,6 @@ void SequentialAnchorData::refreshSizeHints_helper(qreal effectiveSpacing, maxSize += edge->maxSize; } - // ### - expSize = prefSize; - // See comment in AnchorData::refreshSizeHints() about sizeAt* values sizeAtMinimum = prefSize; sizeAtPreferred = prefSize; diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 8f67b2c..aac4f96 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -156,8 +156,7 @@ struct AnchorData : public QSimplexVariable { sizeAtMinimum(0), sizeAtPreferred(0), sizeAtExpanding(0), sizeAtMaximum(0), graphicsAnchor(0), skipInPreferred(0), - type(Normal), hasSize(true), isLayoutAnchor(false), - isExpanding(false) {} + type(Normal), hasSize(true), isLayoutAnchor(false) {} virtual void updateChildrenSizes() {} virtual void refreshSizeHints(qreal effectiveSpacing); @@ -214,7 +213,6 @@ struct AnchorData : public QSimplexVariable { uint type : 2; // either Normal, Sequential or Parallel uint hasSize : 1; // if false, get size from style. uint isLayoutAnchor : 1; // if this anchor is connected to a layout 'edge' - uint isExpanding : 1; // if true, expands before other anchors }; #ifdef QT_DEBUG -- cgit v0.12 From 89ea5d0cc0b00a1d4e8f3e700b86f168cf4437ed Mon Sep 17 00:00:00 2001 From: "Eduardo M. Fleury" Date: Wed, 30 Sep 2009 12:25:34 -0300 Subject: QGraphicsAnchorLayout: Fix creation of internal layout anchors Since the AnchorData cleanup commit (c974aca8) all anchor initialization is being done by refreshSizeHints. However that method was not able to properly initialize the internal layout anchors. This commit refactors that method both to add the functionality and improve readability. Signed-off-by: Eduardo M. Fleury Reviewed-by: Caio Marcelo de Oliveira Filho --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 145 ++++++++++++--------- .../tst_qgraphicsanchorlayout.cpp | 2 +- 2 files changed, 84 insertions(+), 63 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 20ff03b..8139b2b 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -92,90 +92,111 @@ qreal QGraphicsAnchorPrivate::spacing() const } +static void sizeHintsFromItem(QGraphicsLayoutItem *item, + const QGraphicsAnchorLayoutPrivate::Orientation orient, + qreal *minSize, qreal *prefSize, + qreal *expSize, qreal *maxSize) +{ + QSizePolicy::Policy policy; + qreal minSizeHint; + qreal prefSizeHint; + qreal maxSizeHint; + + if (orient == QGraphicsAnchorLayoutPrivate::Horizontal) { + policy = item->sizePolicy().horizontalPolicy(); + minSizeHint = item->effectiveSizeHint(Qt::MinimumSize).width(); + prefSizeHint = item->effectiveSizeHint(Qt::PreferredSize).width(); + maxSizeHint = item->effectiveSizeHint(Qt::MaximumSize).width(); + } else { + policy = item->sizePolicy().verticalPolicy(); + minSizeHint = item->effectiveSizeHint(Qt::MinimumSize).height(); + prefSizeHint = item->effectiveSizeHint(Qt::PreferredSize).height(); + maxSizeHint = item->effectiveSizeHint(Qt::MaximumSize).height(); + } + + // minSize, prefSize and maxSize are initialized + // with item's preferred Size: this is QSizePolicy::Fixed. + // + // Then we check each flag to find the resultant QSizePolicy, + // according to the following table: + // + // constant value + // QSizePolicy::Fixed 0 + // QSizePolicy::Minimum GrowFlag + // QSizePolicy::Maximum ShrinkFlag + // QSizePolicy::Preferred GrowFlag | ShrinkFlag + // QSizePolicy::Ignored GrowFlag | ShrinkFlag | IgnoreFlag + + if (policy & QSizePolicy::ShrinkFlag) + *minSize = minSizeHint; + else + *minSize = prefSizeHint; + + if (policy & QSizePolicy::GrowFlag) + *maxSize = maxSizeHint; + else + *maxSize = prefSizeHint; + + // Note that these two initializations are affected by the previous flags + if (policy & QSizePolicy::IgnoreFlag) + *prefSize = *maxSize; + else + *prefSize = prefSizeHint; + + if (policy & QSizePolicy::ExpandFlag) + *expSize = *maxSize; + else + *expSize = *prefSize; +} + void AnchorData::refreshSizeHints(qreal effectiveSpacing) { - if (!isLayoutAnchor && (from->m_item == to->m_item)) { - QGraphicsLayoutItem *item = from->m_item; + const bool isInternalAnchor = from->m_item == to->m_item; - const QGraphicsAnchorLayoutPrivate::Orientation orient = QGraphicsAnchorLayoutPrivate::edgeOrientation(from->m_edge); - const Qt::AnchorPoint centerEdge = QGraphicsAnchorLayoutPrivate::pickEdge(Qt::AnchorHorizontalCenter, orient); + if (isInternalAnchor) { + const QGraphicsAnchorLayoutPrivate::Orientation orient = + QGraphicsAnchorLayoutPrivate::edgeOrientation(from->m_edge); - QSizePolicy::Policy policy; - qreal minSizeHint, prefSizeHint, maxSizeHint; - if (orient == QGraphicsAnchorLayoutPrivate::Horizontal) { - policy = item->sizePolicy().horizontalPolicy(); - minSizeHint = item->effectiveSizeHint(Qt::MinimumSize).width(); - prefSizeHint = item->effectiveSizeHint(Qt::PreferredSize).width(); - maxSizeHint = item->effectiveSizeHint(Qt::MaximumSize).width(); + if (isLayoutAnchor) { + minSize = 0; + prefSize = 0; + expSize = 0; + maxSize = QWIDGETSIZE_MAX; } else { - policy = item->sizePolicy().verticalPolicy(); - minSizeHint = item->effectiveSizeHint(Qt::MinimumSize).height(); - prefSizeHint = item->effectiveSizeHint(Qt::PreferredSize).height(); - maxSizeHint = item->effectiveSizeHint(Qt::MaximumSize).height(); + QGraphicsLayoutItem *item = from->m_item; + sizeHintsFromItem(item, orient, &minSize, &prefSize, &expSize, &maxSize); } - // minSize, prefSize and maxSize are initialized - // with item's preferred Size: this is QSizePolicy::Fixed. - // - // Then we check each flag to find the resultant QSizePolicy, - // according to the following table: - // - // constant value - // QSizePolicy::Fixed 0 - // QSizePolicy::Minimum GrowFlag - // QSizePolicy::Maximum ShrinkFlag - // QSizePolicy::Preferred GrowFlag | ShrinkFlag - // QSizePolicy::Ignored GrowFlag | ShrinkFlag | IgnoreFlag - prefSize = prefSizeHint; - minSize = prefSize; - maxSize = prefSize; - - if (policy & QSizePolicy::GrowFlag) - maxSize = maxSizeHint; - - if (policy & QSizePolicy::ShrinkFlag) - minSize = minSizeHint; - - if (policy & QSizePolicy::IgnoreFlag) - prefSize = minSize; + const Qt::AnchorPoint centerEdge = + QGraphicsAnchorLayoutPrivate::pickEdge(Qt::AnchorHorizontalCenter, orient); bool hasCenter = (from->m_edge == centerEdge || to->m_edge == centerEdge); if (hasCenter) { minSize /= 2; prefSize /= 2; + expSize /= 2; maxSize /= 2; } - if (policy & QSizePolicy::ExpandFlag) { - expSize = maxSize; - } else { - expSize = prefSize; - } - - // Set the anchor effective sizes to preferred. - // - // Note: The idea here is that all items should remain at their - // preferred size unless where that's impossible. In cases where - // the item is subject to restrictions (anchored to the layout - // edges, for instance), the simplex solver will be run to - // recalculate and override the values we set here. - sizeAtMinimum = prefSize; - sizeAtPreferred = prefSize; - sizeAtExpanding = prefSize; - sizeAtMaximum = prefSize; - } else if (!hasSize) { // Anchor has no size defined, use given default information minSize = effectiveSpacing; prefSize = effectiveSpacing; expSize = effectiveSpacing; maxSize = effectiveSpacing; - - sizeAtMinimum = prefSize; - sizeAtPreferred = prefSize; - sizeAtExpanding = prefSize; - sizeAtMaximum = prefSize; } + + // Set the anchor effective sizes to preferred. + // + // Note: The idea here is that all items should remain at their + // preferred size unless where that's impossible. In cases where + // the item is subject to restrictions (anchored to the layout + // edges, for instance), the simplex solver will be run to + // recalculate and override the values we set here. + sizeAtMinimum = prefSize; + sizeAtPreferred = prefSize; + sizeAtExpanding = prefSize; + sizeAtMaximum = prefSize; } void ParallelAnchorData::updateChildrenSizes() diff --git a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp index 4ad48c7..91e5bb3 100644 --- a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp +++ b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp @@ -1271,7 +1271,7 @@ void tst_QGraphicsAnchorLayout::sizePolicy() w1->adjustSize(); QCOMPARE(l->effectiveSizeHint(Qt::MinimumSize), QSizeF(0, 0)); - QCOMPARE(l->effectiveSizeHint(Qt::PreferredSize), QSizeF(0, 0)); + QCOMPARE(l->effectiveSizeHint(Qt::PreferredSize), QSizeF(100, 100)); QCOMPARE(l->effectiveSizeHint(Qt::MaximumSize), QSizeF(100, 100)); delete p; -- cgit v0.12 From 0d1e86fdfb7958a1affb93c7760c22fca9a0fcb2 Mon Sep 17 00:00:00 2001 From: Jesus Sanchez-Palencia Date: Fri, 25 Sep 2009 18:53:15 -0300 Subject: QGraphicsAnchorLayout: Adding a Float Conflict test case Now we don't support floating items and so we should consider that the layout has a conflict when handling this situation. Signed-off-by: Jesus Sanchez-Palencia Reviewed-by: Caio Marcelo de Oliveira Filho --- .../tst_qgraphicsanchorlayout.cpp | 69 ++++++++++++++++++++++ .../tst_qgraphicsanchorlayout1.cpp | 4 +- 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp index 91e5bb3..b076631 100644 --- a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp +++ b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp @@ -72,6 +72,7 @@ private slots: void expandingSequence(); void expandingSequenceFairDistribution(); void expandingParallel(); + void floatConflict(); }; class RectWidget : public QGraphicsWidget @@ -158,7 +159,17 @@ void tst_QGraphicsAnchorLayout::simple() QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout; l->setContentsMargins(0, 0, 0, 0); + + // Horizontal + l->addAnchor(w1, Qt::AnchorLeft, l, Qt::AnchorLeft); l->addAnchor(w1, Qt::AnchorRight, w2, Qt::AnchorLeft); + l->addAnchor(w2, Qt::AnchorRight, l, Qt::AnchorRight); + + // Vertical + l->addAnchor(w1, Qt::AnchorTop, l, Qt::AnchorTop); + l->addAnchor(w2, Qt::AnchorTop, l, Qt::AnchorTop); + l->addAnchor(w1, Qt::AnchorBottom, l, Qt::AnchorBottom); + l->addAnchor(w2, Qt::AnchorBottom, l, Qt::AnchorBottom); QGraphicsWidget p; p.setLayout(l); @@ -1152,12 +1163,22 @@ void tst_QGraphicsAnchorLayout::delete_anchor() QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout; l->setSpacing(0); l->setContentsMargins(0, 0, 0, 0); + + // Horizontal l->addAnchor(l, Qt::AnchorLeft, w1, Qt::AnchorLeft); l->addAnchor(w1, Qt::AnchorRight, w2, Qt::AnchorLeft); l->addAnchor(w2, Qt::AnchorRight, l, Qt::AnchorRight); l->addAnchor(w1, Qt::AnchorRight, w3, Qt::AnchorLeft); l->addAnchor(w3, Qt::AnchorRight, l, Qt::AnchorRight); + // Vertical + l->addAnchor(w1, Qt::AnchorTop, l, Qt::AnchorTop); + l->addAnchor(w1, Qt::AnchorBottom, l, Qt::AnchorBottom); + l->addAnchor(w2, Qt::AnchorTop, l, Qt::AnchorTop); + l->addAnchor(w2, Qt::AnchorBottom, l, Qt::AnchorBottom); + l->addAnchor(w3, Qt::AnchorTop, l, Qt::AnchorTop); + l->addAnchor(w3, Qt::AnchorBottom, l, Qt::AnchorBottom); + QGraphicsAnchor *anchor = l->anchor(w3, Qt::AnchorRight, l, Qt::AnchorRight); anchor->setSpacing(10); @@ -1521,5 +1542,53 @@ void tst_QGraphicsAnchorLayout::expandingParallel() QCOMPARE(newLayoutMaximumSize.width(), qreal(300)); } +void tst_QGraphicsAnchorLayout::floatConflict() +{ + QGraphicsWidget *a = createItem(QSizeF(80,10), QSizeF(90,10), QSizeF(100,10), "a"); + QGraphicsWidget *b = createItem(QSizeF(80,10), QSizeF(90,10), QSizeF(100,10), "b"); + + QGraphicsAnchorLayout *l; + QGraphicsWidget *p = new QGraphicsWidget(0, Qt::Window); + + l = new QGraphicsAnchorLayout; + l->setContentsMargins(0, 0, 0, 0); + + p->setLayout(l); + + // horizontal + // with this anchor we have two floating items + setAnchor(l, a, Qt::AnchorRight, b, Qt::AnchorLeft); + + // Just checking if the layout is handling well the removal of floating items + delete l->anchor(a, Qt::AnchorRight, b, Qt::AnchorLeft); + QCOMPARE(l->count(), 0); + QCOMPARE(layoutHasConflict(l), false); + + // setting back the same anchor + setAnchor(l, a, Qt::AnchorRight, b, Qt::AnchorLeft); + + // We don't support floating items but they should be counted as if they are in the layout + QCOMPARE(l->count(), 2); + // Although, we have an invalid situation + QCOMPARE(layoutHasConflict(l), true); + + // Semi-floats are supported + setAnchor(l, a, Qt::AnchorLeft, l, Qt::AnchorLeft); + QCOMPARE(l->count(), 2); + + // Vertically the layout has floating items. Therefore, we have a conflict + QCOMPARE(layoutHasConflict(l), true); + + // No more floating items + setAnchor(l, b, Qt::AnchorRight, l, Qt::AnchorRight); + setAnchor(l, a, Qt::AnchorTop, l, Qt::AnchorTop); + setAnchor(l, a, Qt::AnchorBottom, l, Qt::AnchorBottom); + setAnchor(l, b, Qt::AnchorTop, l, Qt::AnchorTop); + setAnchor(l, b, Qt::AnchorBottom, l, Qt::AnchorBottom); + QCOMPARE(layoutHasConflict(l), false); + + delete p; +} + QTEST_MAIN(tst_QGraphicsAnchorLayout) #include "tst_qgraphicsanchorlayout.moc" diff --git a/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp b/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp index a521b78..caf078e 100644 --- a/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp +++ b/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp @@ -530,16 +530,18 @@ void tst_QGraphicsAnchorLayout1::testIsValid() TestWidget *widget1 = new TestWidget(); TestWidget *widget2 = new TestWidget(); + // Vertically the layout has floating items. Therefore, we have a conflict layout->setAnchor(layout, Qt::AnchorLeft, widget1, Qt::AnchorLeft, 0.1); layout->setAnchor(layout, Qt::AnchorRight, widget1, Qt::AnchorRight, -0.1); + // Horizontally the layout has floating items. Therefore, we have a conflict layout->setAnchor(layout, Qt::AnchorTop, widget2, Qt::AnchorTop, 0.1); layout->setAnchor(layout, Qt::AnchorBottom, widget2, Qt::AnchorBottom, -0.1); widget->setLayout(layout); widget->setGeometry(QRectF(0,0,100,100)); - QCOMPARE(layout->isValid(), true); + QCOMPARE(layout->isValid(), false); delete widget; } } -- cgit v0.12 From 18da388497b5f3cbc77298a70bc83f037f06c013 Mon Sep 17 00:00:00 2001 From: Jesus Sanchez-Palencia Date: Tue, 29 Sep 2009 14:02:27 -0300 Subject: QGraphicsAnchorLayoutPrivate: Handling floating items as an invalid layout situation We make use of the anchor visited on findPaths() to keep track of how many items are visited when walking on the graph. We can use this information of how many items are reachable (non-float) in order to check if we have floating items (not reachable from any graph vertex). If so, we have a situation not supported by now. Signed-off-by: Jesus Sanchez-Palencia Reviewed-by: Caio Marcelo de Oliveira Filho --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 51 +++++++++++++++++++++++- src/gui/graphicsview/qgraphicsanchorlayout_p.h | 3 ++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 8139b2b..e760642 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -1841,6 +1841,11 @@ void QGraphicsAnchorLayoutPrivate::findPaths(Orientation orientation) queue.enqueue(qMakePair(pair.second, v)); } } + + // We will walk through every reachable items (non-float) and mark them + // by keeping their references on m_nonFloatItems. With this we can easily + // identify non-float and float items. + identifyNonFloatItems(visited, orientation); } /*! @@ -1999,6 +2004,46 @@ QGraphicsAnchorLayoutPrivate::getGraphParts(Orientation orientation) } /*! + \internal + + Use all visited Anchors on findPaths() so we can identify non-float Items. +*/ +void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems(QSet visited, Orientation orientation) +{ + m_nonFloatItems[orientation].clear(); + + foreach (const AnchorData *ad, visited) + identifyNonFloatItems_helper(ad, orientation); +} + +/*! + \internal + + Given an anchor, if it is an internal anchor and Normal we must mark it's item as non-float. + If the anchor is Sequential or Parallel, we must iterate on its children recursively until we reach + internal anchors (items). +*/ +void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems_helper(const AnchorData *ad, Orientation orientation) +{ + Q_Q(QGraphicsAnchorLayout); + + switch(ad->type) { + case AnchorData::Normal: + if (ad->from->m_item == ad->to->m_item && ad->to->m_item != q) + m_nonFloatItems[orientation].insert(ad->to->m_item); + break; + case AnchorData::Sequential: + foreach (const AnchorData *d, static_cast(ad)->m_edges) + identifyNonFloatItems_helper(d, orientation); + break; + case AnchorData::Parallel: + identifyNonFloatItems_helper(static_cast(ad)->firstEdge, orientation); + identifyNonFloatItems_helper(static_cast(ad)->secondEdge, orientation); + break; + } +} + +/*! \internal Use the current vertices distance to calculate and set the geometry of @@ -2491,7 +2536,11 @@ bool QGraphicsAnchorLayoutPrivate::hasConflicts() const { QGraphicsAnchorLayoutPrivate *that = const_cast(this); that->calculateGraphs(); - return graphHasConflicts[0] || graphHasConflicts[1]; + + bool floatConflict = (m_nonFloatItems[0].size() < items.size()) + || (m_nonFloatItems[1].size() < items.size()); + + return graphHasConflicts[0] || graphHasConflicts[1] || floatConflict; } #ifdef QT_DEBUG diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index aac4f96..1a74d85 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -445,6 +445,8 @@ public: void constraintsFromPaths(Orientation orientation); QList constraintsFromSizeHints(const QList &anchors); QList > getGraphParts(Orientation orientation); + void identifyNonFloatItems(QSet visited, Orientation orientation); + void identifyNonFloatItems_helper(const AnchorData *ad, Orientation orientation); inline AnchorVertex *internalVertex(const QPair &itemEdge) const { @@ -511,6 +513,7 @@ public: // ### bool graphSimplified[2]; bool graphHasConflicts[2]; + QSet m_nonFloatItems[2]; uint calculateGraphCacheDirty : 1; }; -- cgit v0.12 From 6367a702b13a440557d4e0a405ae6d34ef0b778f Mon Sep 17 00:00:00 2001 From: Jesus Sanchez-Palencia Date: Tue, 29 Sep 2009 15:22:26 -0300 Subject: QGraphicsAnchorLayoutPrivate: Fixing initial geometry values for new layout items Now every item starts with its geometry on ((0,0), preferredSize()). By doing this we guarantee that every item will have a known initial value, which can be specially useful on float cases for instance. Signed-off-by: Jesus Sanchez-Palencia Reviewed-by: Caio Marcelo de Oliveira Filho --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 37 ++++++++++++++++-------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index e760642..87f5aa0 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -2068,22 +2068,35 @@ void QGraphicsAnchorLayoutPrivate::setItemsGeometries(const QRectF &geom) right = geom.right() - right; foreach (QGraphicsLayoutItem *item, items) { - firstH = internalVertex(item, Qt::AnchorLeft); - secondH = internalVertex(item, Qt::AnchorRight); - firstV = internalVertex(item, Qt::AnchorTop); - secondV = internalVertex(item, Qt::AnchorBottom); - QRectF newGeom; - newGeom.setTop(top + firstV->distance); - newGeom.setBottom(top + secondV->distance); + QSizeF itemPreferredSize = item->effectiveSizeHint(Qt::PreferredSize); + if (m_nonFloatItems[Horizontal].contains(item)) { + firstH = internalVertex(item, Qt::AnchorLeft); + secondH = internalVertex(item, Qt::AnchorRight); + + if (visualDir == Qt::LeftToRight) { + newGeom.setLeft(left + firstH->distance); + newGeom.setRight(left + secondH->distance); + } else { + newGeom.setLeft(right - secondH->distance); + newGeom.setRight(right - firstH->distance); + } + } else { + newGeom.setLeft(0); + newGeom.setRight(itemPreferredSize.width()); + } + + if (m_nonFloatItems[Vertical].contains(item)) { + firstV = internalVertex(item, Qt::AnchorTop); + secondV = internalVertex(item, Qt::AnchorBottom); - if (visualDir == Qt::LeftToRight) { - newGeom.setLeft(left + firstH->distance); - newGeom.setRight(left + secondH->distance); + newGeom.setTop(top + firstV->distance); + newGeom.setBottom(top + secondV->distance); } else { - newGeom.setLeft(right - secondH->distance); - newGeom.setRight(right - firstH->distance); + newGeom.setTop(0); + newGeom.setBottom(itemPreferredSize.height()); } + item->setGeometry(newGeom); } } -- cgit v0.12 From 709cc9140407280aa5c871d4650c123002dfdd19 Mon Sep 17 00:00:00 2001 From: "Eduardo M. Fleury" Date: Thu, 1 Oct 2009 15:04:20 -0300 Subject: QGraphicsAnchorLayout: Enable "float" Orbit test Now supported after float patches. Signed-off-by: Eduardo M. Fleury Reviewed-by: Jesus Sanchez-Palencia --- tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp b/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp index caf078e..148b2c8 100644 --- a/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp +++ b/tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp @@ -1415,9 +1415,6 @@ void tst_QGraphicsAnchorLayout1::testMixedSpacing_data() QTest::newRow("One widget, unsolvable") << QSizeF(10, 10) << theData << theResult; } - // ### BUG. We are not handling "floating" elements properly. Ie. elements that - // have no anchors in a given orientation. - if (0) // Two widgets, one has fixed size { BasicLayoutTestDataList theData; -- cgit v0.12 From 10864830fd7302360034b47798a6174aa48b0256 Mon Sep 17 00:00:00 2001 From: Peter Yard Date: Tue, 6 Oct 2009 13:32:18 +1000 Subject: Added QT_VERSION_CHECK to docs. (cherry picked from commit d96392b83aab8b5b9bb5e951729dba938396e28b) --- src/corelib/global/qglobal.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index 63e2891..742f4ec 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -955,6 +955,17 @@ QT_BEGIN_NAMESPACE */ /*! + \macro QT_VERSION_CHECK + \relates + + Turns the major, minor and patch numbers of a version into an + integer, 0xMMNNPP (MM = major, NN = minor, PP = patch). This can + be compared with another similarly processed version id. + + \sa QT_VERSION +*/ + +/*! \macro QT_VERSION \relates -- cgit v0.12 From 7d01effe1adcc88ed90fa96cb32e9734d713554a Mon Sep 17 00:00:00 2001 From: Peter Yard Date: Tue, 6 Oct 2009 13:35:41 +1000 Subject: Add documentation for WA_DontShowOnScreen. (cherry picked from commit a5589d34ec38992d4cc58861183d58f6f20af861) --- src/corelib/global/qnamespace.qdoc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 6f0b0ee..b7775bd 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -849,6 +849,9 @@ getter functions QWidget::isEnabled(). This is set/cleared by the Qt kernel. + \value WA_DontShowOnScreen Indicates that the widget is hidden or is + not a part of the viewable Desktop. + \omitvalue WA_DropSiteRegistered \omitvalue WA_ForceAcceptDrops -- cgit v0.12 From 7efd966267ef49a3d8145362e8456713f7b71052 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Tue, 6 Oct 2009 07:27:43 +0200 Subject: Print images with colortable using their colortable in PDF Reviewed-by: Trond (cherry picked from commit 0a90113262eab4e05bf73c0b69b1f5633a10e768) --- src/gui/painting/qprintengine_pdf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/painting/qprintengine_pdf.cpp b/src/gui/painting/qprintengine_pdf.cpp index e73282f..4cccc91 100644 --- a/src/gui/painting/qprintengine_pdf.cpp +++ b/src/gui/painting/qprintengine_pdf.cpp @@ -534,7 +534,7 @@ int QPdfEnginePrivate::addImage(const QImage &img, bool *bitmap, qint64 serial_n QImage image = img; QImage::Format format = image.format(); - if (image.depth() == 1 && *bitmap) { + if (image.depth() == 1 && *bitmap && img.colorTable().size() == 0) { if (format == QImage::Format_MonoLSB) image = image.convertToFormat(QImage::Format_Mono); format = QImage::Format_Mono; -- cgit v0.12 From ad446f355217368d55c0cc9c0e41e5e50025f4db Mon Sep 17 00:00:00 2001 From: Justin McPherson Date: Tue, 6 Oct 2009 16:00:48 +1000 Subject: Fix auto test for QSound; find test wav file. Reviewed-by: Bill King (cherry picked from commit 2a18238357e3442a2e9a6eb2fe8b9ff78704c174) --- tests/auto/qsound/qsound.pro | 6 +++++- tests/auto/qsound/tst_qsound.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/auto/qsound/qsound.pro b/tests/auto/qsound/qsound.pro index 75da2e6..c48d50d 100644 --- a/tests/auto/qsound/qsound.pro +++ b/tests/auto/qsound/qsound.pro @@ -4,4 +4,8 @@ SOURCES += tst_qsound.cpp wince*|symbian*: { deploy.sources += 4.wav DEPLOYMENT = deploy -} \ No newline at end of file + DEFINES += SRCDIR=\\\"\\\" +} else { + DEFINES += SRCDIR=\\\"$$PWD/\\\" +} + diff --git a/tests/auto/qsound/tst_qsound.cpp b/tests/auto/qsound/tst_qsound.cpp index 76451e3..dd5f2ce 100644 --- a/tests/auto/qsound/tst_qsound.cpp +++ b/tests/auto/qsound/tst_qsound.cpp @@ -56,7 +56,7 @@ private slots: void tst_QSound::checkFinished() { - QSound sound("4.wav"); + QSound sound(SRCDIR"4.wav"); sound.setLoops(3); sound.play(); QTest::qWait(5000); -- cgit v0.12 From d8a781f278691c64a9bdad47480bf38603f3128a Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Tue, 6 Oct 2009 16:57:31 +1000 Subject: Remove incorrect statement from INSTALL file. The -prefix-install option is actually on by default and has no effect on any platform but Mac. Task-number: QTBUG-3029 Reviewed-by: Lincoln Ramsay (cherry picked from commit 180bdb06feed8c5fe08f88b9eb16b7676615851f) --- INSTALL | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/INSTALL b/INSTALL index 22e993a..092dea0 100644 --- a/INSTALL +++ b/INSTALL @@ -65,9 +65,7 @@ By default, Qt is configured for installation in the /usr/local/Trolltech/Qt-%VERSION% directory, but this can be - changed by using the -prefix option. Alternatively, the - -prefix-install option can be used to specify a "local" - installation within the source directory. + changed by using the -prefix option. cd /tmp/%DISTNAME% ./configure -- cgit v0.12 From 4838b5fc16cb6060c808021f62af27ec2180781b Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Tue, 6 Oct 2009 17:23:27 +1000 Subject: Q3PopupMenu constructor failed to call setObjectName Task-number: QTBUG-1087 Reviewed-by: Andreas (cherry picked from commit 231d8d7c02161e93b3a97a1bacb3c402f16e1fcb) --- src/qt3support/widgets/q3popupmenu.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/qt3support/widgets/q3popupmenu.h b/src/qt3support/widgets/q3popupmenu.h index c8525bd..2af69d9 100644 --- a/src/qt3support/widgets/q3popupmenu.h +++ b/src/qt3support/widgets/q3popupmenu.h @@ -54,8 +54,8 @@ class Q_COMPAT_EXPORT Q3PopupMenu : public QMenu { Q_OBJECT public: - inline Q3PopupMenu(QWidget *parent = 0, const char * =0) : QMenu(parent) - { } + inline Q3PopupMenu(QWidget *parent = 0, const char *name = 0) : QMenu(parent) + { setObjectName(QLatin1String(name)); } inline int exec() { return findIdForAction(QMenu::exec()); } inline int exec(const QPoint & pos, int indexAtPoint = 0) { @@ -64,8 +64,8 @@ public: void setFrameRect(QRect) {} QRect frameRect() const { return QRect(); } - enum DummyFrame { Box, Sunken, Plain, Raised, MShadow, NoFrame, Panel, StyledPanel, - HLine, VLine, GroupBoxPanel, WinPanel, ToolBarPanel, MenuBarPanel, + enum DummyFrame { Box, Sunken, Plain, Raised, MShadow, NoFrame, Panel, StyledPanel, + HLine, VLine, GroupBoxPanel, WinPanel, ToolBarPanel, MenuBarPanel, PopupPanel, LineEditPanel, TabWidgetPanel, MShape }; void setFrameShadow(DummyFrame) {} DummyFrame frameShadow() const { return Plain; } @@ -75,10 +75,10 @@ public: int frameStyle() const { return 0; } int frameWidth() const { return 0; } void setLineWidth(int) {} - int lineWidth() const { return 0; } + int lineWidth() const { return 0; } void setMargin(int margin) { setContentsMargins(margin, margin, margin, margin); } - int margin() const - { int margin; int dummy; getContentsMargins(&margin, &dummy, &dummy, &dummy); return margin; } + int margin() const + { int margin; int dummy; getContentsMargins(&margin, &dummy, &dummy, &dummy); return margin; } void setMidLineWidth(int) {} int midLineWidth() const { return 0; } -- cgit v0.12 From 6b531891ae39d836dbbef0d961b9852a19c251a6 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Tue, 6 Oct 2009 09:19:08 +0200 Subject: Fix the pad navigator demo. QGraphicsWidget used to called setPosHelper where all the logic was. But since the new flag itemSendsGeometryChanges some part of the code inside setPosHelper move back to setPos. QGraphicsWidget was not updated after this change. It doesn't matter as it is but for QGraphicsProxyWidget which activate the flag itemSendsGeometryChanges it matters. ItemChange was never called so the proxy was never really moved. Task-number:QT-672 Reviewed-by:andreas (cherry picked from commit 3da33626c056169f5fadf94f12997180cb3a08b4) --- src/gui/graphicsview/qgraphicswidget.cpp | 2 +- tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp | 71 ++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp index 7764157..35a3c13 100644 --- a/src/gui/graphicsview/qgraphicswidget.cpp +++ b/src/gui/graphicsview/qgraphicswidget.cpp @@ -347,7 +347,7 @@ void QGraphicsWidget::setGeometry(const QRectF &rect) // setPos triggers ItemPositionChange, which can adjust position wd->inSetGeometry = 1; - wd->setPosHelper(newGeom.topLeft()); + setPos(newGeom.topLeft()); wd->inSetGeometry = 0; newGeom.moveTopLeft(pos()); diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp index 0b73733..26021e0 100644 --- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp @@ -157,6 +157,7 @@ private slots: void shortcutsDeletion(); void painterStateProtectionOnWindowFrame(); void ensureClipping(); + void widgetSendsGeometryChanges(); void respectHFW(); // Task fixes @@ -2562,6 +2563,76 @@ void tst_QGraphicsWidget::ensureClipping() QVERIFY(scene.drawnItems.contains(childitem)); } +class ItemChangeTester : public QGraphicsWidget +{ +public: + ItemChangeTester() + { setFlag(ItemSendsGeometryChanges); clear(); } + ItemChangeTester(QGraphicsItem *parent) : QGraphicsWidget(parent) + { setFlag(ItemSendsGeometryChanges); clear(); } + + void clear() + { + changes.clear(); + values.clear(); + oldValues.clear(); + } + QList changes; + QList values; + QList oldValues; +protected: + QVariant itemChange(GraphicsItemChange change, const QVariant &value) + { + changes << change; + values << value; + switch (change) { + case QGraphicsItem::ItemPositionChange: + oldValues << pos(); + break; + case QGraphicsItem::ItemPositionHasChanged: + break; + default: + break; + } + return value; + } +}; + +void tst_QGraphicsWidget::widgetSendsGeometryChanges() +{ + ItemChangeTester widget; + widget.setFlags(0); + widget.clear(); + + QPointF pos(10, 10); + widget.setPos(pos); + + QCOMPARE(widget.pos(), pos); + QCOMPARE(widget.changes.size(), 0); + + widget.setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); + QCOMPARE(widget.changes.size(), 2); + + widget.setPos(QPointF()); + QCOMPARE(widget.changes.size(), 4); + + QCOMPARE(widget.pos(), QPointF()); + + QRectF geometry(20, 20, 50, 50); + widget.setGeometry(geometry); + QCOMPARE(widget.changes.size(), 6); + + QCOMPARE(widget.geometry(), geometry); + + QCOMPARE(widget.changes, QList() + << QGraphicsItem::ItemFlagsChange + << QGraphicsItem::ItemFlagsHaveChanged + << QGraphicsItem::ItemPositionChange + << QGraphicsItem::ItemPositionHasChanged + << QGraphicsItem::ItemPositionChange + << QGraphicsItem::ItemPositionHasChanged); +} + class HFWWidget : public QGraphicsWidget { public: -- cgit v0.12 From f60b50f86e5d99de49497f5ead8a76207991cc4c Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Wed, 7 Oct 2009 12:18:17 +1000 Subject: fix tst_QAbstractItemView::task250754_fontChange for Windows CE We need to give Windows mobile some more time to handle all internal timer events. Otherwise QTreeView::updateScrollBars doesn't get called. Reviewed-by: mauricek (cherry picked from commit b1310cb8fcc4b48750f82502a7140f2ebb8a44c7) Conflicts: tests/auto/qabstractitemview/tst_qabstractitemview.cpp --- .../auto/qabstractitemview/tst_qabstractitemview.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp index be2d882..957a7da 100644 --- a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp +++ b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp @@ -184,6 +184,10 @@ public: virtual ~tst_QAbstractItemView(); void basic_tests(TestView *view); +public slots: + void initTestCase(); + void cleanupTestCase(); + private slots: void getSetCheck(); void emptyModels_data(); @@ -320,6 +324,17 @@ tst_QAbstractItemView::~tst_QAbstractItemView() { } +void tst_QAbstractItemView::initTestCase() +{ +#ifdef Q_OS_WINCE_WM + qApp->setAutoMaximizeThreshold(-1); +#endif +} + +void tst_QAbstractItemView::cleanupTestCase() +{ +} + void tst_QAbstractItemView::emptyModels_data() { QTest::addColumn("viewType"); @@ -1198,16 +1213,12 @@ void tst_QAbstractItemView::task250754_fontChange() QFont font = tree.font(); font.setPointSize(5); tree.setFont(font); - QTest::qWait(30); - QTRY_VERIFY(!tree.verticalScrollBar()->isVisible()); font.setPointSize(45); tree.setFont(font); - QTest::qWait(30); //now with the huge items, the scrollbar must be visible QTRY_VERIFY(tree.verticalScrollBar()->isVisible()); - qApp->setStyleSheet(app_css); } -- cgit v0.12 From 54c5c60c8f5937690fa006f6fbee434259f25061 Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Wed, 7 Oct 2009 12:25:17 +1000 Subject: tst_QCssParser::extractFontFamily fix Windows CE font deployment On Windows mobile we usually don't have the "Times New Roman" font. Thus we must deploy and register it, if its not available. Reviewed-by: mauricek (cherry picked from commit 7851cbd64d15d39a0e9cc99efa6c2d007c935ce9) Conflicts: tests/auto/qcssparser/qcssparser.pro --- tests/auto/qcssparser/qcssparser.pro | 6 ++++-- tests/auto/qcssparser/tst_qcssparser.cpp | 33 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/tests/auto/qcssparser/qcssparser.pro b/tests/auto/qcssparser/qcssparser.pro index ce1281f..674064f 100644 --- a/tests/auto/qcssparser/qcssparser.pro +++ b/tests/auto/qcssparser/qcssparser.pro @@ -3,7 +3,6 @@ SOURCES += tst_qcssparser.cpp QT += xml requires(contains(QT_CONFIG,private_tests)) - !symbian: { DEFINES += SRCDIR=\\\"$$PWD\\\" } @@ -11,5 +10,8 @@ requires(contains(QT_CONFIG,private_tests)) wince*|symbian: { addFiles.sources = testdata addFiles.path = . - DEPLOYMENT += addFiles + timesFont.sources = C:/Windows/Fonts/times.ttf + timesFont.path = . + DEPLOYMENT += addFiles timesFont } + diff --git a/tests/auto/qcssparser/tst_qcssparser.cpp b/tests/auto/qcssparser/tst_qcssparser.cpp index c7f50d4..150f131 100644 --- a/tests/auto/qcssparser/tst_qcssparser.cpp +++ b/tests/auto/qcssparser/tst_qcssparser.cpp @@ -40,6 +40,9 @@ ****************************************************************************/ #include #include +#if defined(Q_OS_WINCE) +#include +#endif //TESTED_CLASS=QCss //TESTED_FILES=gui/text/qcssparser.cpp gui/text/qcssparser_p.h @@ -49,6 +52,11 @@ class tst_QCssParser : public QObject { Q_OBJECT + +public slots: + void initTestCase(); + void cleanupTestCase(); + private slots: void scanner_data(); void scanner(); @@ -91,8 +99,33 @@ private slots: void extractBorder(); void noTextDecoration(); void quotedAndUnquotedIdentifiers(); + +private: +#if defined(Q_OS_WINCE) + int m_timesFontId; +#endif }; +void tst_QCssParser::initTestCase() +{ +#if defined(Q_OS_WINCE) + QFontDatabase fontDB; + m_timesFontId = -1; + if (!fontDB.families().contains("Times New Roman")) { + m_timesFontId = QFontDatabase::addApplicationFont("times.ttf"); + QVERIFY(m_timesFontId != -1); + } +#endif +} + +void tst_QCssParser::cleanupTestCase() +{ +#if defined(Q_OS_WINCE) + if (m_timesFontId != -1) + QFontDatabase::removeApplicationFont(m_timesFontId); +#endif +} + void tst_QCssParser::scanner_data() { QTest::addColumn("input"); -- cgit v0.12 From 45fd04ac1b0223b295e2e98b9a0959e6aa9a7f69 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 6 Oct 2009 09:55:12 +0200 Subject: Don't output redundant setPen command when reusing PS printer If you reused a printer to paint to several different files, the results would sometimes be different, as the subsequent runs would have redundant setPen commands in its output. This was because the simplePen flag was not reset to its initial value when reusing the print engine. Task-number: QTBUG-4479 Reviewed-by: Trond (cherry picked from commit 39dc3026d1da03d5fcf8e5c516fadd7e4ea8a861) --- src/gui/painting/qprintengine_ps.cpp | 1 + tests/auto/qprinter/tst_qprinter.cpp | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/gui/painting/qprintengine_ps.cpp b/src/gui/painting/qprintengine_ps.cpp index 772a30d..b740fbc 100644 --- a/src/gui/painting/qprintengine_ps.cpp +++ b/src/gui/painting/qprintengine_ps.cpp @@ -751,6 +751,7 @@ bool QPSPrintEngine::begin(QPaintDevice *pdev) d->boundingBox = QRect(); d->fontsUsed = ""; d->hugeDocument = false; + d->simplePen = false; setActive(true); d->printerState = QPrinter::Active; diff --git a/tests/auto/qprinter/tst_qprinter.cpp b/tests/auto/qprinter/tst_qprinter.cpp index d6df94b..3c05d90 100644 --- a/tests/auto/qprinter/tst_qprinter.cpp +++ b/tests/auto/qprinter/tst_qprinter.cpp @@ -108,6 +108,8 @@ private slots: void testActualNumCopies(); + void taskQTBUG4497_reusePrinterOnDifferentFiles(); + private: }; @@ -971,5 +973,37 @@ void tst_QPrinter::testActualNumCopies() QCOMPARE(p.actualNumCopies(), 15); } +static void printPage(QPainter *painter) +{ + painter->setPen(QPen(Qt::black, 4)); + painter->drawRect(50, 60, 70, 80); +} + +void tst_QPrinter::taskQTBUG4497_reusePrinterOnDifferentFiles() +{ + QPrinter printer; + { + + printer.setOutputFileName("out1.ps"); + QPainter painter(&printer); + printPage(&painter); + + } + { + + printer.setOutputFileName("out2.ps"); + QPainter painter(&printer); + printPage(&painter); + + } + QFile file1("out1.ps"); + QVERIFY(file1.open(QIODevice::ReadOnly)); + + QFile file2("out2.ps"); + QVERIFY(file2.open(QIODevice::ReadOnly)); + + QCOMPARE(file1.readAll(), file2.readAll()); +} + QTEST_MAIN(tst_QPrinter) #include "tst_qprinter.moc" -- cgit v0.12 From fdb81b0f61652a0e2035b8822011d2be4ed2a0ce Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Tue, 6 Oct 2009 18:16:28 +1000 Subject: Fix typo in XmlPatterns license headers. Reviewed-by: Trust Me (cherry picked from commit 0fedc2d3066a17e8062ec5271d8e53475c5cc312) --- src/xmlpatterns/api/qabstractxmlpullprovider.cpp | 2 +- src/xmlpatterns/api/qabstractxmlpullprovider_p.h | 2 +- src/xmlpatterns/api/qpullbridge.cpp | 2 +- src/xmlpatterns/api/qpullbridge_p.h | 2 +- src/xmlpatterns/api/qxmlschema.cpp | 2 +- src/xmlpatterns/api/qxmlschema.h | 2 +- src/xmlpatterns/api/qxmlschema_p.cpp | 2 +- src/xmlpatterns/api/qxmlschema_p.h | 2 +- src/xmlpatterns/api/qxmlschemavalidator.cpp | 2 +- src/xmlpatterns/api/qxmlschemavalidator.h | 2 +- src/xmlpatterns/api/qxmlschemavalidator_p.h | 2 +- src/xmlpatterns/data/qcomparisonfactory.cpp | 2 +- src/xmlpatterns/data/qcomparisonfactory_p.h | 2 +- src/xmlpatterns/data/qvaluefactory.cpp | 2 +- src/xmlpatterns/data/qvaluefactory_p.h | 2 +- src/xmlpatterns/schema/qnamespacesupport.cpp | 2 +- src/xmlpatterns/schema/qnamespacesupport_p.h | 2 +- src/xmlpatterns/schema/qxsdalternative.cpp | 2 +- src/xmlpatterns/schema/qxsdalternative_p.h | 2 +- src/xmlpatterns/schema/qxsdannotated.cpp | 2 +- src/xmlpatterns/schema/qxsdannotated_p.h | 2 +- src/xmlpatterns/schema/qxsdannotation.cpp | 2 +- src/xmlpatterns/schema/qxsdannotation_p.h | 2 +- src/xmlpatterns/schema/qxsdapplicationinformation.cpp | 2 +- src/xmlpatterns/schema/qxsdapplicationinformation_p.h | 2 +- src/xmlpatterns/schema/qxsdassertion.cpp | 2 +- src/xmlpatterns/schema/qxsdassertion_p.h | 2 +- src/xmlpatterns/schema/qxsdattribute.cpp | 2 +- src/xmlpatterns/schema/qxsdattribute_p.h | 2 +- src/xmlpatterns/schema/qxsdattributegroup.cpp | 2 +- src/xmlpatterns/schema/qxsdattributegroup_p.h | 2 +- src/xmlpatterns/schema/qxsdattributereference.cpp | 2 +- src/xmlpatterns/schema/qxsdattributereference_p.h | 2 +- src/xmlpatterns/schema/qxsdattributeterm.cpp | 2 +- src/xmlpatterns/schema/qxsdattributeterm_p.h | 2 +- src/xmlpatterns/schema/qxsdattributeuse.cpp | 2 +- src/xmlpatterns/schema/qxsdattributeuse_p.h | 2 +- src/xmlpatterns/schema/qxsdcomplextype.cpp | 2 +- src/xmlpatterns/schema/qxsdcomplextype_p.h | 2 +- src/xmlpatterns/schema/qxsddocumentation.cpp | 2 +- src/xmlpatterns/schema/qxsddocumentation_p.h | 2 +- src/xmlpatterns/schema/qxsdelement.cpp | 2 +- src/xmlpatterns/schema/qxsdelement_p.h | 2 +- src/xmlpatterns/schema/qxsdfacet.cpp | 2 +- src/xmlpatterns/schema/qxsdfacet_p.h | 2 +- src/xmlpatterns/schema/qxsdidcache.cpp | 2 +- src/xmlpatterns/schema/qxsdidcache_p.h | 2 +- src/xmlpatterns/schema/qxsdidchelper.cpp | 2 +- src/xmlpatterns/schema/qxsdidchelper_p.h | 2 +- src/xmlpatterns/schema/qxsdidentityconstraint.cpp | 2 +- src/xmlpatterns/schema/qxsdidentityconstraint_p.h | 2 +- src/xmlpatterns/schema/qxsdinstancereader.cpp | 2 +- src/xmlpatterns/schema/qxsdinstancereader_p.h | 2 +- src/xmlpatterns/schema/qxsdmodelgroup.cpp | 2 +- src/xmlpatterns/schema/qxsdmodelgroup_p.h | 2 +- src/xmlpatterns/schema/qxsdnotation.cpp | 2 +- src/xmlpatterns/schema/qxsdnotation_p.h | 2 +- src/xmlpatterns/schema/qxsdparticle.cpp | 2 +- src/xmlpatterns/schema/qxsdparticle_p.h | 2 +- src/xmlpatterns/schema/qxsdparticlechecker.cpp | 2 +- src/xmlpatterns/schema/qxsdparticlechecker_p.h | 2 +- src/xmlpatterns/schema/qxsdreference.cpp | 2 +- src/xmlpatterns/schema/qxsdreference_p.h | 2 +- src/xmlpatterns/schema/qxsdschema.cpp | 2 +- src/xmlpatterns/schema/qxsdschema_p.h | 2 +- src/xmlpatterns/schema/qxsdschemachecker.cpp | 2 +- src/xmlpatterns/schema/qxsdschemachecker_helper.cpp | 2 +- src/xmlpatterns/schema/qxsdschemachecker_p.h | 2 +- src/xmlpatterns/schema/qxsdschemacontext.cpp | 2 +- src/xmlpatterns/schema/qxsdschemacontext_p.h | 2 +- src/xmlpatterns/schema/qxsdschemadebugger.cpp | 2 +- src/xmlpatterns/schema/qxsdschemadebugger_p.h | 2 +- src/xmlpatterns/schema/qxsdschemahelper.cpp | 2 +- src/xmlpatterns/schema/qxsdschemahelper_p.h | 2 +- src/xmlpatterns/schema/qxsdschemamerger.cpp | 2 +- src/xmlpatterns/schema/qxsdschemamerger_p.h | 2 +- src/xmlpatterns/schema/qxsdschemaparser_p.h | 2 +- src/xmlpatterns/schema/qxsdschemaparsercontext.cpp | 2 +- src/xmlpatterns/schema/qxsdschemaparsercontext_p.h | 2 +- src/xmlpatterns/schema/qxsdschemaresolver.cpp | 2 +- src/xmlpatterns/schema/qxsdschemaresolver_p.h | 2 +- src/xmlpatterns/schema/qxsdschematoken.cpp | 2 +- src/xmlpatterns/schema/qxsdschematoken_p.h | 2 +- src/xmlpatterns/schema/qxsdschematypesfactory.cpp | 2 +- src/xmlpatterns/schema/qxsdschematypesfactory_p.h | 2 +- src/xmlpatterns/schema/qxsdsimpletype.cpp | 2 +- src/xmlpatterns/schema/qxsdsimpletype_p.h | 2 +- src/xmlpatterns/schema/qxsdstatemachine.cpp | 2 +- src/xmlpatterns/schema/qxsdstatemachine_p.h | 2 +- src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp | 2 +- src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h | 2 +- src/xmlpatterns/schema/qxsdterm.cpp | 2 +- src/xmlpatterns/schema/qxsdterm_p.h | 2 +- src/xmlpatterns/schema/qxsdtypechecker.cpp | 2 +- src/xmlpatterns/schema/qxsdtypechecker_p.h | 2 +- src/xmlpatterns/schema/qxsduserschematype.cpp | 2 +- src/xmlpatterns/schema/qxsduserschematype_p.h | 2 +- src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp | 2 +- src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h | 2 +- src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp | 2 +- src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h | 2 +- src/xmlpatterns/schema/qxsdwildcard.cpp | 2 +- src/xmlpatterns/schema/qxsdwildcard_p.h | 2 +- src/xmlpatterns/schema/qxsdxpathexpression.cpp | 2 +- src/xmlpatterns/schema/qxsdxpathexpression_p.h | 2 +- src/xmlpatterns/schema/tokens.xml | 2 +- src/xmlpatterns/type/qnamedschemacomponent.cpp | 2 +- src/xmlpatterns/type/qnamedschemacomponent_p.h | 2 +- 108 files changed, 108 insertions(+), 108 deletions(-) diff --git a/src/xmlpatterns/api/qabstractxmlpullprovider.cpp b/src/xmlpatterns/api/qabstractxmlpullprovider.cpp index 83cf20f..6dbd50b 100644 --- a/src/xmlpatterns/api/qabstractxmlpullprovider.cpp +++ b/src/xmlpatterns/api/qabstractxmlpullprovider.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qabstractxmlpullprovider_p.h b/src/xmlpatterns/api/qabstractxmlpullprovider_p.h index 1bf61d7..547bf4b 100644 --- a/src/xmlpatterns/api/qabstractxmlpullprovider_p.h +++ b/src/xmlpatterns/api/qabstractxmlpullprovider_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qpullbridge.cpp b/src/xmlpatterns/api/qpullbridge.cpp index 9f96b5f..80dac38 100644 --- a/src/xmlpatterns/api/qpullbridge.cpp +++ b/src/xmlpatterns/api/qpullbridge.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qpullbridge_p.h b/src/xmlpatterns/api/qpullbridge_p.h index 2d8be62..1553a3e 100644 --- a/src/xmlpatterns/api/qpullbridge_p.h +++ b/src/xmlpatterns/api/qpullbridge_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qxmlschema.cpp b/src/xmlpatterns/api/qxmlschema.cpp index 5d4bd80..287cf11 100644 --- a/src/xmlpatterns/api/qxmlschema.cpp +++ b/src/xmlpatterns/api/qxmlschema.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qxmlschema.h b/src/xmlpatterns/api/qxmlschema.h index 0e4972e..145f2dc 100644 --- a/src/xmlpatterns/api/qxmlschema.h +++ b/src/xmlpatterns/api/qxmlschema.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qxmlschema_p.cpp b/src/xmlpatterns/api/qxmlschema_p.cpp index e2e725b..f5ed5c0 100644 --- a/src/xmlpatterns/api/qxmlschema_p.cpp +++ b/src/xmlpatterns/api/qxmlschema_p.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qxmlschema_p.h b/src/xmlpatterns/api/qxmlschema_p.h index fd7a1a1..2376fe3 100644 --- a/src/xmlpatterns/api/qxmlschema_p.h +++ b/src/xmlpatterns/api/qxmlschema_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qxmlschemavalidator.cpp b/src/xmlpatterns/api/qxmlschemavalidator.cpp index f7d7957..11e0417 100644 --- a/src/xmlpatterns/api/qxmlschemavalidator.cpp +++ b/src/xmlpatterns/api/qxmlschemavalidator.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qxmlschemavalidator.h b/src/xmlpatterns/api/qxmlschemavalidator.h index e928193..7121d19 100644 --- a/src/xmlpatterns/api/qxmlschemavalidator.h +++ b/src/xmlpatterns/api/qxmlschemavalidator.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/api/qxmlschemavalidator_p.h b/src/xmlpatterns/api/qxmlschemavalidator_p.h index 6eb508d..fb9492a 100644 --- a/src/xmlpatterns/api/qxmlschemavalidator_p.h +++ b/src/xmlpatterns/api/qxmlschemavalidator_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/data/qcomparisonfactory.cpp b/src/xmlpatterns/data/qcomparisonfactory.cpp index f885004..66d72af 100644 --- a/src/xmlpatterns/data/qcomparisonfactory.cpp +++ b/src/xmlpatterns/data/qcomparisonfactory.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/data/qcomparisonfactory_p.h b/src/xmlpatterns/data/qcomparisonfactory_p.h index 2e73bbe..61f65b1 100644 --- a/src/xmlpatterns/data/qcomparisonfactory_p.h +++ b/src/xmlpatterns/data/qcomparisonfactory_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/data/qvaluefactory.cpp b/src/xmlpatterns/data/qvaluefactory.cpp index c75e6d3..bac53b2 100644 --- a/src/xmlpatterns/data/qvaluefactory.cpp +++ b/src/xmlpatterns/data/qvaluefactory.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/data/qvaluefactory_p.h b/src/xmlpatterns/data/qvaluefactory_p.h index c9ecd28..e383d27 100644 --- a/src/xmlpatterns/data/qvaluefactory_p.h +++ b/src/xmlpatterns/data/qvaluefactory_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qnamespacesupport.cpp b/src/xmlpatterns/schema/qnamespacesupport.cpp index ecd53e9..05b87e3 100644 --- a/src/xmlpatterns/schema/qnamespacesupport.cpp +++ b/src/xmlpatterns/schema/qnamespacesupport.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qnamespacesupport_p.h b/src/xmlpatterns/schema/qnamespacesupport_p.h index 3748894..2a2cb1e 100644 --- a/src/xmlpatterns/schema/qnamespacesupport_p.h +++ b/src/xmlpatterns/schema/qnamespacesupport_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdalternative.cpp b/src/xmlpatterns/schema/qxsdalternative.cpp index 8493efe..279a184 100644 --- a/src/xmlpatterns/schema/qxsdalternative.cpp +++ b/src/xmlpatterns/schema/qxsdalternative.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdalternative_p.h b/src/xmlpatterns/schema/qxsdalternative_p.h index 3e42a3b..f94f0ac 100644 --- a/src/xmlpatterns/schema/qxsdalternative_p.h +++ b/src/xmlpatterns/schema/qxsdalternative_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdannotated.cpp b/src/xmlpatterns/schema/qxsdannotated.cpp index 84575fc..151057d 100644 --- a/src/xmlpatterns/schema/qxsdannotated.cpp +++ b/src/xmlpatterns/schema/qxsdannotated.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdannotated_p.h b/src/xmlpatterns/schema/qxsdannotated_p.h index 8d0f872..f8d7fe1 100644 --- a/src/xmlpatterns/schema/qxsdannotated_p.h +++ b/src/xmlpatterns/schema/qxsdannotated_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdannotation.cpp b/src/xmlpatterns/schema/qxsdannotation.cpp index 13d40f9..9c76378 100644 --- a/src/xmlpatterns/schema/qxsdannotation.cpp +++ b/src/xmlpatterns/schema/qxsdannotation.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdannotation_p.h b/src/xmlpatterns/schema/qxsdannotation_p.h index db6785b..a8e2d55 100644 --- a/src/xmlpatterns/schema/qxsdannotation_p.h +++ b/src/xmlpatterns/schema/qxsdannotation_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdapplicationinformation.cpp b/src/xmlpatterns/schema/qxsdapplicationinformation.cpp index 19d1e06..45c6391 100644 --- a/src/xmlpatterns/schema/qxsdapplicationinformation.cpp +++ b/src/xmlpatterns/schema/qxsdapplicationinformation.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdapplicationinformation_p.h b/src/xmlpatterns/schema/qxsdapplicationinformation_p.h index eab3871..1a549cb 100644 --- a/src/xmlpatterns/schema/qxsdapplicationinformation_p.h +++ b/src/xmlpatterns/schema/qxsdapplicationinformation_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdassertion.cpp b/src/xmlpatterns/schema/qxsdassertion.cpp index e604203..2f2d8aa 100644 --- a/src/xmlpatterns/schema/qxsdassertion.cpp +++ b/src/xmlpatterns/schema/qxsdassertion.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdassertion_p.h b/src/xmlpatterns/schema/qxsdassertion_p.h index 4ba47d5..c511c85 100644 --- a/src/xmlpatterns/schema/qxsdassertion_p.h +++ b/src/xmlpatterns/schema/qxsdassertion_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattribute.cpp b/src/xmlpatterns/schema/qxsdattribute.cpp index a61898e..68f9e3d 100644 --- a/src/xmlpatterns/schema/qxsdattribute.cpp +++ b/src/xmlpatterns/schema/qxsdattribute.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattribute_p.h b/src/xmlpatterns/schema/qxsdattribute_p.h index aae690b..d64d335 100644 --- a/src/xmlpatterns/schema/qxsdattribute_p.h +++ b/src/xmlpatterns/schema/qxsdattribute_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattributegroup.cpp b/src/xmlpatterns/schema/qxsdattributegroup.cpp index a9b8412..b0dbc8a 100644 --- a/src/xmlpatterns/schema/qxsdattributegroup.cpp +++ b/src/xmlpatterns/schema/qxsdattributegroup.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattributegroup_p.h b/src/xmlpatterns/schema/qxsdattributegroup_p.h index 1cd28fa..0d76d53 100644 --- a/src/xmlpatterns/schema/qxsdattributegroup_p.h +++ b/src/xmlpatterns/schema/qxsdattributegroup_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattributereference.cpp b/src/xmlpatterns/schema/qxsdattributereference.cpp index 97f0c6a..853705a 100644 --- a/src/xmlpatterns/schema/qxsdattributereference.cpp +++ b/src/xmlpatterns/schema/qxsdattributereference.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattributereference_p.h b/src/xmlpatterns/schema/qxsdattributereference_p.h index 711031f..9c3ef80 100644 --- a/src/xmlpatterns/schema/qxsdattributereference_p.h +++ b/src/xmlpatterns/schema/qxsdattributereference_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattributeterm.cpp b/src/xmlpatterns/schema/qxsdattributeterm.cpp index 08d3332..afed862 100644 --- a/src/xmlpatterns/schema/qxsdattributeterm.cpp +++ b/src/xmlpatterns/schema/qxsdattributeterm.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattributeterm_p.h b/src/xmlpatterns/schema/qxsdattributeterm_p.h index f00df73..45f5402 100644 --- a/src/xmlpatterns/schema/qxsdattributeterm_p.h +++ b/src/xmlpatterns/schema/qxsdattributeterm_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattributeuse.cpp b/src/xmlpatterns/schema/qxsdattributeuse.cpp index 7f0c66a..4055d48 100644 --- a/src/xmlpatterns/schema/qxsdattributeuse.cpp +++ b/src/xmlpatterns/schema/qxsdattributeuse.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdattributeuse_p.h b/src/xmlpatterns/schema/qxsdattributeuse_p.h index 5048a04..648620f 100644 --- a/src/xmlpatterns/schema/qxsdattributeuse_p.h +++ b/src/xmlpatterns/schema/qxsdattributeuse_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdcomplextype.cpp b/src/xmlpatterns/schema/qxsdcomplextype.cpp index 40f752a..42aeb60 100644 --- a/src/xmlpatterns/schema/qxsdcomplextype.cpp +++ b/src/xmlpatterns/schema/qxsdcomplextype.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdcomplextype_p.h b/src/xmlpatterns/schema/qxsdcomplextype_p.h index 5453b8b..d28d2fc 100644 --- a/src/xmlpatterns/schema/qxsdcomplextype_p.h +++ b/src/xmlpatterns/schema/qxsdcomplextype_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsddocumentation.cpp b/src/xmlpatterns/schema/qxsddocumentation.cpp index 8b7928d..de610b4 100644 --- a/src/xmlpatterns/schema/qxsddocumentation.cpp +++ b/src/xmlpatterns/schema/qxsddocumentation.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsddocumentation_p.h b/src/xmlpatterns/schema/qxsddocumentation_p.h index 2bd9bf4..cdccfd7 100644 --- a/src/xmlpatterns/schema/qxsddocumentation_p.h +++ b/src/xmlpatterns/schema/qxsddocumentation_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdelement.cpp b/src/xmlpatterns/schema/qxsdelement.cpp index c783421..1ebec06 100644 --- a/src/xmlpatterns/schema/qxsdelement.cpp +++ b/src/xmlpatterns/schema/qxsdelement.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdelement_p.h b/src/xmlpatterns/schema/qxsdelement_p.h index 9051722..93c5983 100644 --- a/src/xmlpatterns/schema/qxsdelement_p.h +++ b/src/xmlpatterns/schema/qxsdelement_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdfacet.cpp b/src/xmlpatterns/schema/qxsdfacet.cpp index d0148fd..80acc74 100644 --- a/src/xmlpatterns/schema/qxsdfacet.cpp +++ b/src/xmlpatterns/schema/qxsdfacet.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdfacet_p.h b/src/xmlpatterns/schema/qxsdfacet_p.h index 24a6114..349e211 100644 --- a/src/xmlpatterns/schema/qxsdfacet_p.h +++ b/src/xmlpatterns/schema/qxsdfacet_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdidcache.cpp b/src/xmlpatterns/schema/qxsdidcache.cpp index a52b597..cfca2e9 100644 --- a/src/xmlpatterns/schema/qxsdidcache.cpp +++ b/src/xmlpatterns/schema/qxsdidcache.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdidcache_p.h b/src/xmlpatterns/schema/qxsdidcache_p.h index caf9d4d..b24e4b7 100644 --- a/src/xmlpatterns/schema/qxsdidcache_p.h +++ b/src/xmlpatterns/schema/qxsdidcache_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdidchelper.cpp b/src/xmlpatterns/schema/qxsdidchelper.cpp index e814c25..7740929 100644 --- a/src/xmlpatterns/schema/qxsdidchelper.cpp +++ b/src/xmlpatterns/schema/qxsdidchelper.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdidchelper_p.h b/src/xmlpatterns/schema/qxsdidchelper_p.h index a88567e..f3a9bac 100644 --- a/src/xmlpatterns/schema/qxsdidchelper_p.h +++ b/src/xmlpatterns/schema/qxsdidchelper_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdidentityconstraint.cpp b/src/xmlpatterns/schema/qxsdidentityconstraint.cpp index 3f280dc..12f8446 100644 --- a/src/xmlpatterns/schema/qxsdidentityconstraint.cpp +++ b/src/xmlpatterns/schema/qxsdidentityconstraint.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdidentityconstraint_p.h b/src/xmlpatterns/schema/qxsdidentityconstraint_p.h index 5359340..a675ea0 100644 --- a/src/xmlpatterns/schema/qxsdidentityconstraint_p.h +++ b/src/xmlpatterns/schema/qxsdidentityconstraint_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdinstancereader.cpp b/src/xmlpatterns/schema/qxsdinstancereader.cpp index 969dc09..a7cb735 100644 --- a/src/xmlpatterns/schema/qxsdinstancereader.cpp +++ b/src/xmlpatterns/schema/qxsdinstancereader.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdinstancereader_p.h b/src/xmlpatterns/schema/qxsdinstancereader_p.h index dca6204..9c9fcd1 100644 --- a/src/xmlpatterns/schema/qxsdinstancereader_p.h +++ b/src/xmlpatterns/schema/qxsdinstancereader_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdmodelgroup.cpp b/src/xmlpatterns/schema/qxsdmodelgroup.cpp index af74dee..69e5fad 100644 --- a/src/xmlpatterns/schema/qxsdmodelgroup.cpp +++ b/src/xmlpatterns/schema/qxsdmodelgroup.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdmodelgroup_p.h b/src/xmlpatterns/schema/qxsdmodelgroup_p.h index 02e89d0..c4f54e5 100644 --- a/src/xmlpatterns/schema/qxsdmodelgroup_p.h +++ b/src/xmlpatterns/schema/qxsdmodelgroup_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdnotation.cpp b/src/xmlpatterns/schema/qxsdnotation.cpp index 32d480d..2cd27a4 100644 --- a/src/xmlpatterns/schema/qxsdnotation.cpp +++ b/src/xmlpatterns/schema/qxsdnotation.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdnotation_p.h b/src/xmlpatterns/schema/qxsdnotation_p.h index 7db4cbf..598392a 100644 --- a/src/xmlpatterns/schema/qxsdnotation_p.h +++ b/src/xmlpatterns/schema/qxsdnotation_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdparticle.cpp b/src/xmlpatterns/schema/qxsdparticle.cpp index 1b8d2b8..650524c 100644 --- a/src/xmlpatterns/schema/qxsdparticle.cpp +++ b/src/xmlpatterns/schema/qxsdparticle.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdparticle_p.h b/src/xmlpatterns/schema/qxsdparticle_p.h index a72acbb..4e6561e 100644 --- a/src/xmlpatterns/schema/qxsdparticle_p.h +++ b/src/xmlpatterns/schema/qxsdparticle_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdparticlechecker.cpp b/src/xmlpatterns/schema/qxsdparticlechecker.cpp index 3fdfb33..ef1d135 100644 --- a/src/xmlpatterns/schema/qxsdparticlechecker.cpp +++ b/src/xmlpatterns/schema/qxsdparticlechecker.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdparticlechecker_p.h b/src/xmlpatterns/schema/qxsdparticlechecker_p.h index 9ed7fd8..742f0d0 100644 --- a/src/xmlpatterns/schema/qxsdparticlechecker_p.h +++ b/src/xmlpatterns/schema/qxsdparticlechecker_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdreference.cpp b/src/xmlpatterns/schema/qxsdreference.cpp index 6a0fc37..d98a405 100644 --- a/src/xmlpatterns/schema/qxsdreference.cpp +++ b/src/xmlpatterns/schema/qxsdreference.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdreference_p.h b/src/xmlpatterns/schema/qxsdreference_p.h index bb37257..028d190 100644 --- a/src/xmlpatterns/schema/qxsdreference_p.h +++ b/src/xmlpatterns/schema/qxsdreference_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschema.cpp b/src/xmlpatterns/schema/qxsdschema.cpp index 7dc821d..cb766d1 100644 --- a/src/xmlpatterns/schema/qxsdschema.cpp +++ b/src/xmlpatterns/schema/qxsdschema.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschema_p.h b/src/xmlpatterns/schema/qxsdschema_p.h index 1bad61c..e63324e 100644 --- a/src/xmlpatterns/schema/qxsdschema_p.h +++ b/src/xmlpatterns/schema/qxsdschema_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemachecker.cpp b/src/xmlpatterns/schema/qxsdschemachecker.cpp index dde72f5..0d16940 100644 --- a/src/xmlpatterns/schema/qxsdschemachecker.cpp +++ b/src/xmlpatterns/schema/qxsdschemachecker.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemachecker_helper.cpp b/src/xmlpatterns/schema/qxsdschemachecker_helper.cpp index aec411f..3a44365 100644 --- a/src/xmlpatterns/schema/qxsdschemachecker_helper.cpp +++ b/src/xmlpatterns/schema/qxsdschemachecker_helper.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemachecker_p.h b/src/xmlpatterns/schema/qxsdschemachecker_p.h index aed95f5..b4966d9 100644 --- a/src/xmlpatterns/schema/qxsdschemachecker_p.h +++ b/src/xmlpatterns/schema/qxsdschemachecker_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemacontext.cpp b/src/xmlpatterns/schema/qxsdschemacontext.cpp index 61f0511..8e22632 100644 --- a/src/xmlpatterns/schema/qxsdschemacontext.cpp +++ b/src/xmlpatterns/schema/qxsdschemacontext.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemacontext_p.h b/src/xmlpatterns/schema/qxsdschemacontext_p.h index a49f1d7..6a04ba3 100644 --- a/src/xmlpatterns/schema/qxsdschemacontext_p.h +++ b/src/xmlpatterns/schema/qxsdschemacontext_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemadebugger.cpp b/src/xmlpatterns/schema/qxsdschemadebugger.cpp index f85b902..8ec7381 100644 --- a/src/xmlpatterns/schema/qxsdschemadebugger.cpp +++ b/src/xmlpatterns/schema/qxsdschemadebugger.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemadebugger_p.h b/src/xmlpatterns/schema/qxsdschemadebugger_p.h index cdf4bb5..2225b88 100644 --- a/src/xmlpatterns/schema/qxsdschemadebugger_p.h +++ b/src/xmlpatterns/schema/qxsdschemadebugger_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemahelper.cpp b/src/xmlpatterns/schema/qxsdschemahelper.cpp index a56f3ef..e9f32c2 100644 --- a/src/xmlpatterns/schema/qxsdschemahelper.cpp +++ b/src/xmlpatterns/schema/qxsdschemahelper.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemahelper_p.h b/src/xmlpatterns/schema/qxsdschemahelper_p.h index 680ceaa..410b224 100644 --- a/src/xmlpatterns/schema/qxsdschemahelper_p.h +++ b/src/xmlpatterns/schema/qxsdschemahelper_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemamerger.cpp b/src/xmlpatterns/schema/qxsdschemamerger.cpp index c1455b5..4ffcea3 100644 --- a/src/xmlpatterns/schema/qxsdschemamerger.cpp +++ b/src/xmlpatterns/schema/qxsdschemamerger.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemamerger_p.h b/src/xmlpatterns/schema/qxsdschemamerger_p.h index 3187596..599a08b 100644 --- a/src/xmlpatterns/schema/qxsdschemamerger_p.h +++ b/src/xmlpatterns/schema/qxsdschemamerger_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemaparser_p.h b/src/xmlpatterns/schema/qxsdschemaparser_p.h index 60c9d66..ad5e9ce 100644 --- a/src/xmlpatterns/schema/qxsdschemaparser_p.h +++ b/src/xmlpatterns/schema/qxsdschemaparser_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemaparsercontext.cpp b/src/xmlpatterns/schema/qxsdschemaparsercontext.cpp index 4f28d26..381d4d0 100644 --- a/src/xmlpatterns/schema/qxsdschemaparsercontext.cpp +++ b/src/xmlpatterns/schema/qxsdschemaparsercontext.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemaparsercontext_p.h b/src/xmlpatterns/schema/qxsdschemaparsercontext_p.h index c42b165..19c516a 100644 --- a/src/xmlpatterns/schema/qxsdschemaparsercontext_p.h +++ b/src/xmlpatterns/schema/qxsdschemaparsercontext_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemaresolver.cpp b/src/xmlpatterns/schema/qxsdschemaresolver.cpp index 3ec598d..34eb12c 100644 --- a/src/xmlpatterns/schema/qxsdschemaresolver.cpp +++ b/src/xmlpatterns/schema/qxsdschemaresolver.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschemaresolver_p.h b/src/xmlpatterns/schema/qxsdschemaresolver_p.h index 3aee0d8..ef0154b 100644 --- a/src/xmlpatterns/schema/qxsdschemaresolver_p.h +++ b/src/xmlpatterns/schema/qxsdschemaresolver_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschematoken.cpp b/src/xmlpatterns/schema/qxsdschematoken.cpp index 0e98d46..a04f8ae 100644 --- a/src/xmlpatterns/schema/qxsdschematoken.cpp +++ b/src/xmlpatterns/schema/qxsdschematoken.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschematoken_p.h b/src/xmlpatterns/schema/qxsdschematoken_p.h index c20f9fe..fbf71f0 100644 --- a/src/xmlpatterns/schema/qxsdschematoken_p.h +++ b/src/xmlpatterns/schema/qxsdschematoken_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschematypesfactory.cpp b/src/xmlpatterns/schema/qxsdschematypesfactory.cpp index b9d3037..b5f319b 100644 --- a/src/xmlpatterns/schema/qxsdschematypesfactory.cpp +++ b/src/xmlpatterns/schema/qxsdschematypesfactory.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdschematypesfactory_p.h b/src/xmlpatterns/schema/qxsdschematypesfactory_p.h index 21ee31e..74ecc3c 100644 --- a/src/xmlpatterns/schema/qxsdschematypesfactory_p.h +++ b/src/xmlpatterns/schema/qxsdschematypesfactory_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdsimpletype.cpp b/src/xmlpatterns/schema/qxsdsimpletype.cpp index 699c056..6fd5658 100644 --- a/src/xmlpatterns/schema/qxsdsimpletype.cpp +++ b/src/xmlpatterns/schema/qxsdsimpletype.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdsimpletype_p.h b/src/xmlpatterns/schema/qxsdsimpletype_p.h index e6f9b87..6305fc7 100644 --- a/src/xmlpatterns/schema/qxsdsimpletype_p.h +++ b/src/xmlpatterns/schema/qxsdsimpletype_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdstatemachine.cpp b/src/xmlpatterns/schema/qxsdstatemachine.cpp index 08dfda9..85bc752 100644 --- a/src/xmlpatterns/schema/qxsdstatemachine.cpp +++ b/src/xmlpatterns/schema/qxsdstatemachine.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdstatemachine_p.h b/src/xmlpatterns/schema/qxsdstatemachine_p.h index 8cb08e9..e671499 100644 --- a/src/xmlpatterns/schema/qxsdstatemachine_p.h +++ b/src/xmlpatterns/schema/qxsdstatemachine_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp b/src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp index 54ee06e..fed8a41 100644 --- a/src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp +++ b/src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h b/src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h index 31e5c2f..c17ca9b 100644 --- a/src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h +++ b/src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdterm.cpp b/src/xmlpatterns/schema/qxsdterm.cpp index 691d304..19af613 100644 --- a/src/xmlpatterns/schema/qxsdterm.cpp +++ b/src/xmlpatterns/schema/qxsdterm.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdterm_p.h b/src/xmlpatterns/schema/qxsdterm_p.h index ec63615..6b3f66a 100644 --- a/src/xmlpatterns/schema/qxsdterm_p.h +++ b/src/xmlpatterns/schema/qxsdterm_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdtypechecker.cpp b/src/xmlpatterns/schema/qxsdtypechecker.cpp index 4eb10dc..4bb03f5 100644 --- a/src/xmlpatterns/schema/qxsdtypechecker.cpp +++ b/src/xmlpatterns/schema/qxsdtypechecker.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdtypechecker_p.h b/src/xmlpatterns/schema/qxsdtypechecker_p.h index bb2df6d..ae90bdc 100644 --- a/src/xmlpatterns/schema/qxsdtypechecker_p.h +++ b/src/xmlpatterns/schema/qxsdtypechecker_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsduserschematype.cpp b/src/xmlpatterns/schema/qxsduserschematype.cpp index 1b48610..95892e1 100644 --- a/src/xmlpatterns/schema/qxsduserschematype.cpp +++ b/src/xmlpatterns/schema/qxsduserschematype.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsduserschematype_p.h b/src/xmlpatterns/schema/qxsduserschematype_p.h index 92e672e..72162d5 100644 --- a/src/xmlpatterns/schema/qxsduserschematype_p.h +++ b/src/xmlpatterns/schema/qxsduserschematype_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp b/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp index 8672338..3cbb6c1 100644 --- a/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp +++ b/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h b/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h index 62ecba6..c502835 100644 --- a/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h +++ b/src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp index 7552c41..fda3548 100644 --- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp +++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h b/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h index 7a1754e..4dc736a 100644 --- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h +++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdwildcard.cpp b/src/xmlpatterns/schema/qxsdwildcard.cpp index 55ada50..abf490e 100644 --- a/src/xmlpatterns/schema/qxsdwildcard.cpp +++ b/src/xmlpatterns/schema/qxsdwildcard.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdwildcard_p.h b/src/xmlpatterns/schema/qxsdwildcard_p.h index be1716b..8940f13 100644 --- a/src/xmlpatterns/schema/qxsdwildcard_p.h +++ b/src/xmlpatterns/schema/qxsdwildcard_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdxpathexpression.cpp b/src/xmlpatterns/schema/qxsdxpathexpression.cpp index 2ac0a39..d5b4f1a 100644 --- a/src/xmlpatterns/schema/qxsdxpathexpression.cpp +++ b/src/xmlpatterns/schema/qxsdxpathexpression.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/qxsdxpathexpression_p.h b/src/xmlpatterns/schema/qxsdxpathexpression_p.h index 24891c3..8685da5 100644 --- a/src/xmlpatterns/schema/qxsdxpathexpression_p.h +++ b/src/xmlpatterns/schema/qxsdxpathexpression_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/schema/tokens.xml b/src/xmlpatterns/schema/tokens.xml index df37e4a..b3b8e18 100644 --- a/src/xmlpatterns/schema/tokens.xml +++ b/src/xmlpatterns/schema/tokens.xml @@ -113,7 +113,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/type/qnamedschemacomponent.cpp b/src/xmlpatterns/type/qnamedschemacomponent.cpp index b0d832a..0edd593 100644 --- a/src/xmlpatterns/type/qnamedschemacomponent.cpp +++ b/src/xmlpatterns/type/qnamedschemacomponent.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/xmlpatterns/type/qnamedschemacomponent_p.h b/src/xmlpatterns/type/qnamedschemacomponent_p.h index ca3c775..2c8c6ce 100644 --- a/src/xmlpatterns/type/qnamedschemacomponent_p.h +++ b/src/xmlpatterns/type/qnamedschemacomponent_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtXmlPatterns of the Qt Toolkit. +** This file is part of the QtXmlPatterns module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage -- cgit v0.12 From 0ce74f7a69bcf03de166378a5915624dc32752ac Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 5 Oct 2009 19:16:37 +0200 Subject: QScript: do not crash on PowerPC There is no 'this' register in the global context. The computation of the this register for the global context gives the 'codeBlock' register in the frame header. On Intel processor, a JSValue() is 0x0 when converted to a pointer, but this is not the case on PowerPC (it is 0xfffffff9) so it just crash later when acessing the code block. Solution: special condition for the global context when getting the 'this' object Reviewed-by: Kent Hansen (cherry picked from commit 37bd7a5711e57ea8c45ae75102ddee3ab905a0e5) --- src/script/api/qscriptengine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 09042e1..3402190 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -805,7 +805,6 @@ QScriptEnginePrivate::QScriptEnginePrivate() JSC::JSGlobalObject *globalObject = new (globalData)QScript::GlobalObject(); JSC::ExecState* exec = globalObject->globalExec(); - *thisRegisterForFrame(exec) = JSC::JSValue(); scriptObjectStructure = QScriptObject::createStructure(globalObject->objectPrototype()); @@ -1079,12 +1078,13 @@ JSC::JSValue QScriptEnginePrivate::toUsableValue(JSC::JSValue value) /*! \internal Return the 'this' value for a given context - The result may be null for the global context */ JSC::JSValue QScriptEnginePrivate::thisForContext(JSC::ExecState *frame) { if (frame->codeBlock() != 0) { return frame->thisValue(); + } else if(frame == frame->lexicalGlobalObject()->globalExec()) { + return frame->globalThisValue(); } else { JSC::Register *thisRegister = thisRegisterForFrame(frame); return thisRegister->jsValue(); -- cgit v0.12 From 8e5a85fcbba6c9650030f9541eaab3ab02bd5088 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 6 Oct 2009 09:45:52 +0200 Subject: Fix tst_QFontDialog::setFont The font size was not respected because it is taken from the request which could only contains the pixel size. Reviewed-by: Richard (cherry picked from commit 146988463cc0d03be415aa8ff07031b6bcf27975) --- src/gui/dialogs/qfontdialog_mac.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/dialogs/qfontdialog_mac.mm b/src/gui/dialogs/qfontdialog_mac.mm index dacb54c..5b0983b 100644 --- a/src/gui/dialogs/qfontdialog_mac.mm +++ b/src/gui/dialogs/qfontdialog_mac.mm @@ -628,7 +628,7 @@ void QFontDialogPrivate::setFont(void *delegate, const QFont &font) nsFont = [mgr fontWithFamily:qt_mac_QStringToNSString(font.family()) traits:mask weight:weight - size:font.pointSize()]; + size:QFontInfo(font).pointSize()]; } [mgr setSelectedFont:nsFont isMultiple:NO]; -- cgit v0.12 From 574d3be72c1a10c8977f8c2203728664e44434f4 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 6 Oct 2009 10:15:42 +0200 Subject: Stabilize tests on X11 (cherry picked from commit f18ea32865521e21f47ea2745181e0e70db0266f) --- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 7 ++++--- tests/auto/qmdiarea/tst_qmdiarea.cpp | 2 +- tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp | 6 +++--- tests/auto/qtableview/tst_qtableview.cpp | 4 ++-- tests/auto/qwidget/tst_qwidget.cpp | 3 ++- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index edea6b8..e4eaf4e 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -7301,16 +7301,17 @@ void tst_QGraphicsItem::itemUsesExtendedStyleOption() rect->startTrack = false; view.show(); QTest::qWaitForWindowShown(&view); + QTest::qWait(60); rect->startTrack = true; rect->update(10, 10, 10, 10); - QTest::qWait(12); + QTest::qWait(60); rect->startTrack = false; rect->setFlag(QGraphicsItem::ItemUsesExtendedStyleOption, true); QVERIFY((rect->flags() & QGraphicsItem::ItemUsesExtendedStyleOption)); - QTest::qWait(12); + QTest::qWait(60); rect->startTrack = true; rect->update(10, 10, 10, 10); - QTest::qWait(12); + QTest::qWait(60); } void tst_QGraphicsItem::itemSendsGeometryChanges() diff --git a/tests/auto/qmdiarea/tst_qmdiarea.cpp b/tests/auto/qmdiarea/tst_qmdiarea.cpp index a5b3848..068d1fa 100644 --- a/tests/auto/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/qmdiarea/tst_qmdiarea.cpp @@ -1759,7 +1759,7 @@ void tst_QMdiArea::tileSubWindows() // Horizontal scroll bar. QScrollBar *hBar = workspace.horizontalScrollBar(); QCOMPARE(workspace.horizontalScrollBarPolicy(), Qt::ScrollBarAsNeeded); - QVERIFY(hBar->isVisible()); + QTRY_VERIFY(hBar->isVisible()); QCOMPARE(hBar->value(), 0); QCOMPARE(hBar->minimum(), 0); diff --git a/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp b/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp index 8258e15..b556b87 100644 --- a/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp +++ b/tests/auto/qmdisubwindow/tst_qmdisubwindow.cpp @@ -1003,9 +1003,9 @@ void tst_QMdiSubWindow::setSystemMenu() mainWindow.setCentralWidget(mdiArea); mainWindow.menuBar(); mainWindow.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&mainWindow); -#endif + QTest::qWaitForWindowShown(&mainWindow); + QTest::qWait(60); + QTRY_VERIFY(subWindow->isVisible()); QPoint globalPopupPos; diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index 09e1e87..deb0b71 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -2339,7 +2339,7 @@ void tst_QTableView::scrollTo() QSize forcedSize(columnWidth * 2, rowHeight * 2); view.resize(forcedSize); QTest::qWaitForWindowShown(&view); - QTest::qWait(0); + QTest::qWait(50); QTRY_COMPARE(view.size(), forcedSize); view.setModel(&model); @@ -2354,7 +2354,7 @@ void tst_QTableView::scrollTo() for (int c = 0; c < columnCount; ++c) view.setColumnWidth(c, columnWidth); - QTest::qWait(100); // ### needed to pass the test + QTest::qWait(150); // ### needed to pass the test view.horizontalScrollBar()->setValue(horizontalScroll); view.verticalScrollBar()->setValue(verticalScroll); diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index 92658a6..5ab273c 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -9118,7 +9118,7 @@ void tst_QWidget::paintOutsidePaintEvent() widget.show(); QTest::qWaitForWindowShown(&widget); - QTest::qWait(20); + QTest::qWait(60); const QPixmap before = QPixmap::grabWindow(widget.winId()); @@ -9128,6 +9128,7 @@ void tst_QWidget::paintOutsidePaintEvent() painter.fillRect(child1.rect(), Qt::red); painter.end(); XSync(QX11Info::display(), false); // Flush output buffer. + QTest::qWait(60); const QPixmap after = QPixmap::grabWindow(widget.winId()); -- cgit v0.12 From 97760fc46216abeb96ef89b754e06c8010379954 Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Tue, 6 Oct 2009 18:18:38 +1000 Subject: Fix typo in QtCore license headers. Reviewed-by: Trust Me (cherry picked from commit bec7a9cced7b69aef707bad4931fa4d3c35b37fa) --- src/corelib/arch/qatomic_symbian.h | 2 +- src/corelib/arch/symbian/qatomic_symbian.cpp | 2 +- src/corelib/io/qfilesystemwatcher_symbian.cpp | 2 +- src/corelib/io/qfilesystemwatcher_symbian_p.h | 2 +- src/corelib/io/qprocess_symbian.cpp | 2 +- src/corelib/kernel/qcore_symbian_p.cpp | 2 +- src/corelib/kernel/qcore_symbian_p.h | 2 +- src/corelib/kernel/qeventdispatcher_symbian.cpp | 2 +- src/corelib/kernel/qeventdispatcher_symbian_p.h | 2 +- src/corelib/kernel/qsharedmemory_symbian.cpp | 2 +- src/corelib/kernel/qsystemsemaphore_symbian.cpp | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/corelib/arch/qatomic_symbian.h b/src/corelib/arch/qatomic_symbian.h index 1f52a0e..5880120 100644 --- a/src/corelib/arch/qatomic_symbian.h +++ b/src/corelib/arch/qatomic_symbian.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/arch/symbian/qatomic_symbian.cpp b/src/corelib/arch/symbian/qatomic_symbian.cpp index 71bd145..8f02155 100644 --- a/src/corelib/arch/symbian/qatomic_symbian.cpp +++ b/src/corelib/arch/symbian/qatomic_symbian.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/io/qfilesystemwatcher_symbian.cpp b/src/corelib/io/qfilesystemwatcher_symbian.cpp index a07d084..d738c18 100644 --- a/src/corelib/io/qfilesystemwatcher_symbian.cpp +++ b/src/corelib/io/qfilesystemwatcher_symbian.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/io/qfilesystemwatcher_symbian_p.h b/src/corelib/io/qfilesystemwatcher_symbian_p.h index 456d18b..edba47c 100644 --- a/src/corelib/io/qfilesystemwatcher_symbian_p.h +++ b/src/corelib/io/qfilesystemwatcher_symbian_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp index d93cdba..f5de750 100644 --- a/src/corelib/io/qprocess_symbian.cpp +++ b/src/corelib/io/qprocess_symbian.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/kernel/qcore_symbian_p.cpp b/src/corelib/kernel/qcore_symbian_p.cpp index 4f23d21..8ca32e5 100644 --- a/src/corelib/kernel/qcore_symbian_p.cpp +++ b/src/corelib/kernel/qcore_symbian_p.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/kernel/qcore_symbian_p.h b/src/corelib/kernel/qcore_symbian_p.h index 56097bc..f86bfd3 100644 --- a/src/corelib/kernel/qcore_symbian_p.h +++ b/src/corelib/kernel/qcore_symbian_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index 11a0da6..acbb7e4 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/kernel/qeventdispatcher_symbian_p.h b/src/corelib/kernel/qeventdispatcher_symbian_p.h index fd0350d..c4107da 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian_p.h +++ b/src/corelib/kernel/qeventdispatcher_symbian_p.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/kernel/qsharedmemory_symbian.cpp b/src/corelib/kernel/qsharedmemory_symbian.cpp index a05e7b4..8a45d14 100644 --- a/src/corelib/kernel/qsharedmemory_symbian.cpp +++ b/src/corelib/kernel/qsharedmemory_symbian.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/src/corelib/kernel/qsystemsemaphore_symbian.cpp b/src/corelib/kernel/qsystemsemaphore_symbian.cpp index 31fd9e9..ad4b4f4 100644 --- a/src/corelib/kernel/qsystemsemaphore_symbian.cpp +++ b/src/corelib/kernel/qsystemsemaphore_symbian.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the QtCore of the Qt Toolkit. +** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage -- cgit v0.12 From 4d976782c1cd5f1e526d212ad2a57f615a6e9b0c Mon Sep 17 00:00:00 2001 From: ninerider Date: Tue, 6 Oct 2009 10:21:57 +0200 Subject: Skipped enter/leave test for Windows CE Currently Windows has no proper cursor support. Reviewed-by: Thomas Hartmann (cherry picked from commit 1015ee9016f3a46bb05077a9eff83c8736b2541e) --- tests/auto/qwidget/tst_qwidget.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index 5ab273c..f8341c3 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -8990,6 +8990,9 @@ void tst_QWidget::syntheticEnterLeave() void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave() { +#ifdef Q_OS_WINCE_WM + QSKIP("Windows Mobile has no proper cursor support", SkipAll); +#endif class SELParent : public QWidget { public: -- cgit v0.12 From 3e37395c10c15db20dff89afece0392aae4fd407 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 6 Oct 2009 10:30:05 +0200 Subject: Updated JavaScriptCore from /home/khansen/dev/qtwebkit to jsc-for-qtscript-4.6-staging-06102009 ( fc2005c87bbbb743eba96041210902fec821a1af ) (cherry picked from commit b7503346c1b7d245625b1b9e7cf7ae89a86467f0) --- src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp | 1 - src/3rdparty/javascriptcore/VERSION | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp index a509122..be817c3 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp @@ -46,7 +46,6 @@ #define DO_PROPERTYMAP_CONSTENCY_CHECK 0 #endif -using namespace std; using namespace WTF; namespace JSC { diff --git a/src/3rdparty/javascriptcore/VERSION b/src/3rdparty/javascriptcore/VERSION index 8f2b739..571d10f 100644 --- a/src/3rdparty/javascriptcore/VERSION +++ b/src/3rdparty/javascriptcore/VERSION @@ -4,8 +4,8 @@ This is a snapshot of JavaScriptCore from The commit imported was from the - jsc-for-qtscript-4.6-staging-05102009 branch/tag + jsc-for-qtscript-4.6-staging-06102009 branch/tag and has the sha1 checksum - ed678069ebd06579a26b4fb8cc944f06d6b0d55c + fc2005c87bbbb743eba96041210902fec821a1af -- cgit v0.12 From 2065122db7a12a133f082cb21582c9a853dddd2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Tue, 6 Oct 2009 10:40:04 +0200 Subject: Fixed the X11 error output from the demos/boxes demo. After we started caching the current context internally, it revealed an old bug: when a QGLWidget is reparented under X11, it will get a new window id, but its context will still be bound to the old window, so we need to rebind it. Reviewed-by: Samuel (cherry picked from commit 6d56096ba0f88e25efd77072f58804dd1f160c0a) --- src/opengl/qgl.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 7dbe642..3940a08 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -3781,6 +3781,11 @@ bool QGLWidget::event(QEvent *e) glFinish(); doneCurrent(); } else if (e->type() == QEvent::ParentChange) { + // if we've reparented a window that has the current context + // bound, we need to rebind that context to the new window id + if (d->glcx == QGLContext::currentContext()) + makeCurrent(); + if (d->glcx->d_func()->screen != d->xinfo.screen() || testAttribute(Qt::WA_TranslucentBackground)) { setContext(new QGLContext(d->glcx->requestedFormat(), this)); // ### recreating the overlay isn't supported atm -- cgit v0.12 From 5bab2186dd61a4cab97c81e4ce5a71a4e7acca07 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 6 Oct 2009 10:47:34 +0200 Subject: Partially revert e58293b3b, re-adding the #ifdef for Qt 4.7 (cherry picked from commit f1ea73bad48816222e192a95f8589493743f0c28) --- src/corelib/io/qdatastream.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h index 7cf22f2..f61a59c 100644 --- a/src/corelib/io/qdatastream.h +++ b/src/corelib/io/qdatastream.h @@ -85,6 +85,10 @@ public: Qt_4_4 = 10, Qt_4_5 = 11, Qt_4_6 = 12 +#if QT_VERSION >= 0x040700 +#error Add the datastream version for this Qt version + Qt_4_7 = Qt_4_6 +#endif }; enum ByteOrder { -- cgit v0.12 From 6dab18ed219aec5e83ee3feb1aa8e8f2df1fd3d7 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Tue, 6 Oct 2009 11:11:40 +0300 Subject: Increased tst_QSharedMemory::simpleProcessProducerConsumer timout. Test fails sometimes in Symbian OS due to fact that lackey has not finished it's task in given time. Increase timeout to same value as used in waitForStarted statement. Reviewed-by: TrustMe (cherry picked from commit 501d0fc639e7ec9b26a102eac857123d86215ccf) --- tests/auto/qsharedmemory/tst_qsharedmemory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qsharedmemory/tst_qsharedmemory.cpp b/tests/auto/qsharedmemory/tst_qsharedmemory.cpp index db86c06..4ab3b0b 100644 --- a/tests/auto/qsharedmemory/tst_qsharedmemory.cpp +++ b/tests/auto/qsharedmemory/tst_qsharedmemory.cpp @@ -764,7 +764,7 @@ void tst_QSharedMemory::simpleProcessProducerConsumer() bool consumerFailed = false; while (!consumers.isEmpty()) { - consumers.first()->waitForFinished(1000); + consumers.first()->waitForFinished(2000); if (consumers.first()->state() == QProcess::Running || consumers.first()->exitStatus() != QProcess::NormalExit || consumers.first()->exitCode() != 0) { -- cgit v0.12 From 9a025e28a7b3d86070667c6d4fa10fe46cb0acee Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Tue, 6 Oct 2009 11:41:36 +0300 Subject: Decrease tst_QThreadOnce::multipleThreads test num of thread for Symbian In Symbian OS the maximum number of thread per process depends on stack size. With default 8KB stack size you can have 128 threads, with 16KB stack size you can have 64 threads etc. Since all qt threads nowadays have maximum stack size, we need to decrease the amount of threads in this test. Reviewed-by: TrustMe (cherry picked from commit 56087f7ffa0c64c34f55cf24a24d9337592b6c23) --- tests/auto/qthreadonce/tst_qthreadonce.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qthreadonce/tst_qthreadonce.cpp b/tests/auto/qthreadonce/tst_qthreadonce.cpp index a539a7f..2751e9d 100644 --- a/tests/auto/qthreadonce/tst_qthreadonce.cpp +++ b/tests/auto/qthreadonce/tst_qthreadonce.cpp @@ -134,7 +134,7 @@ void tst_QThreadOnce::sameThread() void tst_QThreadOnce::multipleThreads() { -#if defined(Q_OS_WINCE) || defined(Q_OS_VXWORKS) +#if defined(Q_OS_WINCE) || defined(Q_OS_VXWORKS) || defined(Q_OS_SYMBIAN) const int NumberOfThreads = 20; #else const int NumberOfThreads = 100; -- cgit v0.12 From c4c4cc81e714e765c448d805dfccc56ce0370dfa Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Tue, 6 Oct 2009 11:51:18 +0300 Subject: Unified and increased some lackey timeouts in systemsemaphore test. In Symbian OS some timeouts needs to be higher ones, in order to test complete correctly. Reviewed-by: Miikka Heikkinen (cherry picked from commit e6fdab148b207b6e0cf9279b4b82578d95f021a9) --- .../auto/qsystemsemaphore/tst_qsystemsemaphore.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/tests/auto/qsystemsemaphore/tst_qsystemsemaphore.cpp b/tests/auto/qsystemsemaphore/tst_qsystemsemaphore.cpp index 6bfab15..44986fa 100644 --- a/tests/auto/qsystemsemaphore/tst_qsystemsemaphore.cpp +++ b/tests/auto/qsystemsemaphore/tst_qsystemsemaphore.cpp @@ -42,13 +42,12 @@ #include #include - //TESTED_CLASS= //TESTED_FILES= #define EXISTING_SHARE "existing" - #define LACKYLOC "../qsharedmemory/lackey" +#define LACKYWAITTIME 10000 class tst_QSystemSemaphore : public QObject { @@ -199,12 +198,12 @@ void tst_QSystemSemaphore::basicProcesses() release.setProcessChannelMode(QProcess::ForwardedChannels); acquire.start(LACKYLOC "/lackey", acquireArguments); - acquire.waitForFinished(5000); + acquire.waitForFinished(LACKYWAITTIME); QVERIFY(acquire.state() == QProcess::Running); acquire.kill(); release.start(LACKYLOC "/lackey", releaseArguments); - acquire.waitForFinished(5000); - release.waitForFinished(5000); + acquire.waitForFinished(LACKYWAITTIME); + release.waitForFinished(LACKYWAITTIME); QVERIFY(acquire.state() == QProcess::NotRunning); } @@ -259,13 +258,13 @@ void tst_QSystemSemaphore::undo() QProcess acquire; acquire.setProcessChannelMode(QProcess::ForwardedChannels); acquire.start(LACKYLOC "/lackey", acquireArguments); - acquire.waitForFinished(1000); + acquire.waitForFinished(LACKYWAITTIME); QVERIFY(acquire.state()== QProcess::NotRunning); // At process exit the kernel should auto undo acquire.start(LACKYLOC "/lackey", acquireArguments); - acquire.waitForFinished(1000); + acquire.waitForFinished(LACKYWAITTIME); QVERIFY(acquire.state()== QProcess::NotRunning); } @@ -285,17 +284,17 @@ void tst_QSystemSemaphore::initialValue() release.setProcessChannelMode(QProcess::ForwardedChannels); acquire.start(LACKYLOC "/lackey", acquireArguments); - acquire.waitForFinished(10000); + acquire.waitForFinished(LACKYWAITTIME); QVERIFY(acquire.state()== QProcess::NotRunning); acquire.start(LACKYLOC "/lackey", acquireArguments << "2"); - acquire.waitForFinished(1000); + acquire.waitForFinished(LACKYWAITTIME); QVERIFY(acquire.state()== QProcess::Running); acquire.kill(); release.start(LACKYLOC "/lackey", releaseArguments); - acquire.waitForFinished(10000); - release.waitForFinished(10000); + acquire.waitForFinished(LACKYWAITTIME); + release.waitForFinished(LACKYWAITTIME); QVERIFY(acquire.state()== QProcess::NotRunning); } QTEST_MAIN(tst_QSystemSemaphore) -- cgit v0.12 From 572a6b725b0af8027a767d73f7f96d496e7a1ca9 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 6 Oct 2009 10:59:49 +0200 Subject: Updated JavaScriptCore from /home/khansen/dev/qtwebkit to jsc-for-qtscript-4.6-staging-06102009 ( 32d226eb14d44f80e9ec96d4ca2c595181eeeca3 ) (cherry picked from commit 72f1e06aa6238f55729c4f3606d06ad7d37fe6df) --- src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog | 3 --- .../javascriptcore/JavaScriptCore/wtf/TCSystemAlloc.cpp | 10 +++++----- src/3rdparty/javascriptcore/VERSION | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog index 9dc7916..5fa56a7 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog +++ b/src/3rdparty/javascriptcore/JavaScriptCore/ChangeLog @@ -195,8 +195,6 @@ (JSC::Heap::markCurrentThreadConservatively): Force jmp_buf to use the appropriate alignment for a pointer to ensure that we correctly interpret the contents of registers during marking. -<<<<<<< HEAD:JavaScriptCore/ChangeLog -======= 2009-09-29 Geoffrey Garen Reviewed by Gavin Barraclough. @@ -323,7 +321,6 @@ (JSC::MarkStack::allocateStack): (JSC::MarkStack::releaseStack): ->>>>>>> 8e5ea20... Hard dependency on SSE2 instruction set with JIT:JavaScriptCore/ChangeLog 2009-09-25 Gabor Loki Reviewed by Gavin Barraclough. diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TCSystemAlloc.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TCSystemAlloc.cpp index 659bb0e..a43baa8 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TCSystemAlloc.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TCSystemAlloc.cpp @@ -193,10 +193,10 @@ static void* TryMmap(size_t size, size_t *actual_size, size_t alignment) { // Return the unused memory to the system if (adjust > 0) { - munmap(reinterpret_cast(ptr), adjust); + munmap(reinterpret_cast(ptr), adjust); } if (adjust < extra) { - munmap(reinterpret_cast(ptr + adjust + size), extra - adjust); + munmap(reinterpret_cast(ptr + adjust + size), extra - adjust); } ptr += adjust; @@ -324,10 +324,10 @@ static void* TryDevMem(size_t size, size_t *actual_size, size_t alignment) { // Return the unused virtual memory to the system if (adjust > 0) { - munmap(reinterpret_cast(ptr), adjust); + munmap(reinterpret_cast(ptr), adjust); } if (adjust < extra) { - munmap(reinterpret_cast(ptr + adjust + size), extra - adjust); + munmap(reinterpret_cast(ptr + adjust + size), extra - adjust); } ptr += adjust; @@ -442,7 +442,7 @@ void TCMalloc_SystemRelease(void* start, size_t length) void TCMalloc_SystemRelease(void* start, size_t length) { - void* newAddress = mmap(start, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0); + void* newAddress = mmap(reinterpret_cast(start), length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0); // If the mmap failed then that's ok, we just won't return the memory to the system. ASSERT_UNUSED(newAddress, newAddress == start || newAddress == reinterpret_cast(MAP_FAILED)); } diff --git a/src/3rdparty/javascriptcore/VERSION b/src/3rdparty/javascriptcore/VERSION index 571d10f..d75862d 100644 --- a/src/3rdparty/javascriptcore/VERSION +++ b/src/3rdparty/javascriptcore/VERSION @@ -8,4 +8,4 @@ The commit imported was from the and has the sha1 checksum - fc2005c87bbbb743eba96041210902fec821a1af + 32d226eb14d44f80e9ec96d4ca2c595181eeeca3 -- cgit v0.12 From 130c11f50c0a1992f0a2fe5ff844191ee097c6f8 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 6 Oct 2009 11:04:57 +0200 Subject: Autotest: disable the globalObjects test. We are not going to fix this in 4.5. I doubt we'll fix it in 4.6 either, so I'll reenable it for 4.7 only. (cherry picked from commit 7ed2e44c48ac625993cf33cdbb70f82b0a3cb1af) --- tests/auto/symbols/tst_symbols.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/auto/symbols/tst_symbols.cpp b/tests/auto/symbols/tst_symbols.cpp index 87bd63b..6103ede 100644 --- a/tests/auto/symbols/tst_symbols.cpp +++ b/tests/auto/symbols/tst_symbols.cpp @@ -100,6 +100,7 @@ void tst_Symbols::globalObjects() #ifndef Q_OS_LINUX QSKIP("Linux-specific test", SkipAll); #endif + QSKIP("Test disabled, we're not fixing these issues in this Qt version", SkipAll); // these are regexps for global objects that are allowed in Qt QStringList whitelist = QStringList() -- cgit v0.12 From 44adc4509a6561ec89b3a169489f0936a17c32a9 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 6 Oct 2009 11:04:39 +0200 Subject: Prospective build fix for Solaris "Error: "static WTF::TCMalloc_PageHeap::runScavengerThread(void*)" is expected to return a value." (cherry picked from commit 9225889d8958e71c8683df752ff2207c11334c9a) --- src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp index 6cd8ef0..f2148d0 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp @@ -1431,7 +1431,7 @@ void TCMalloc_PageHeap::init() void* TCMalloc_PageHeap::runScavengerThread(void* context) { static_cast(context)->scavengerThread(); -#if COMPILER(MSVC) +#if COMPILER(MSVC) || PLATFORM(SOLARIS) // Without this, Visual Studio will complain that this method does not return a value. return 0; #endif -- cgit v0.12 From af9cb619c2357e07def6b5ee76e4d5950e17d45b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 6 Oct 2009 11:13:51 +0200 Subject: Autotest: add missing copyright attribution for tests copied from kurltest (cherry picked from commit 65a101502bb04ea95110ce6e12a3848c790eb7a1) --- tests/auto/qurl/tst_qurl.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp index fb3cf0e..413d9d4 100644 --- a/tests/auto/qurl/tst_qurl.cpp +++ b/tests/auto/qurl/tst_qurl.cpp @@ -671,6 +671,26 @@ void tst_QUrl::setUrl() } /* + The tests below are copied from kdelibs/kdecore/tests/kurltest.cpp (an old version of) + + Copyright (c) 1999-2005 Waldo Bastian + Copyright (c) 2000-2005 David Faure + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License version 2 as published by the Free Software Foundation. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. + */ +/* ### File / directory specifics KURL u2( QCString("/home/dfaure/") ); -- cgit v0.12 From bae13dce935ed627c4ae5c165172d38b33d6fe1a Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 6 Oct 2009 11:19:40 +0200 Subject: QtScript: Another crash fix on PowerPC on 32bit PowerPC, the integer value and the pointer value are not in the same word leading to crash. So blindly casting between them lead to crashes. Use the new Register::withInt instead Reviewed-by: Kent Hansen (cherry picked from commit c8d2160f3aa9b6709874c9cf4a634a46728d6cc6) --- src/script/api/qscriptengine.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 3402190..863ac30 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -1116,8 +1116,7 @@ uint QScriptEnginePrivate::contextFlags(JSC::ExecState *exec) void QScriptEnginePrivate::setContextFlags(JSC::ExecState *exec, uint flags) { Q_ASSERT(!exec->codeBlock()); - quintptr flag_ptr = flags; - exec->registers()[JSC::RegisterFile::ReturnValueRegister] = JSC::JSValue(reinterpret_cast(flag_ptr)); + exec->registers()[JSC::RegisterFile::ReturnValueRegister] = JSC::Register::withInt(flags); } -- cgit v0.12 From 3cd593ee216310b507a298e33e91ce0b292fde55 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 6 Oct 2009 11:40:12 +0200 Subject: Stabilize QWaitCondition test. Wait a little bit more for thread synchronization Reviewed-by: Brad (cherry picked from commit 7a8503d179e0f9afebb2ca57e824f1be61becf17) --- tests/auto/qwaitcondition/tst_qwaitcondition.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/auto/qwaitcondition/tst_qwaitcondition.cpp b/tests/auto/qwaitcondition/tst_qwaitcondition.cpp index c2bbe22..f534f3b 100644 --- a/tests/auto/qwaitcondition/tst_qwaitcondition.cpp +++ b/tests/auto/qwaitcondition/tst_qwaitcondition.cpp @@ -491,7 +491,7 @@ void tst_QWaitCondition::wakeOne() for (int y = 0; y < ThreadCount; ++y) { if (thread_exited[y]) continue; - if (thread[y].wait(exited > 0 ? 1 : 1000)) { + if (thread[y].wait(exited > 0 ? 3 : 1000)) { thread_exited[y] = TRUE; ++exited; } @@ -535,7 +535,7 @@ void tst_QWaitCondition::wakeOne() for (int y = 0; y < ThreadCount; ++y) { if (thread_exited[y]) continue; - if (rwthread[y].wait(exited > 0 ? 1 : 1000)) { + if (rwthread[y].wait(exited > 0 ? 3 : 1000)) { thread_exited[y] = TRUE; ++exited; } @@ -587,7 +587,7 @@ void tst_QWaitCondition::wakeOne() for (int y = 0; y < ThreadCount; ++y) { if (thread_exited[y]) continue; - if (thread[y].wait(exited > 0 ? 1 : 1000)) { + if (thread[y].wait(exited > 0 ? 3 : 1000)) { thread_exited[y] = TRUE; ++exited; } @@ -633,7 +633,7 @@ void tst_QWaitCondition::wakeOne() for (int y = 0; y < ThreadCount; ++y) { if (thread_exited[y]) continue; - if (rwthread[y].wait(exited > 0 ? 1 : 1000)) { + if (rwthread[y].wait(exited > 0 ? 3 : 1000)) { thread_exited[y] = TRUE; ++exited; } -- cgit v0.12 From d4d79ffb8fa16bf2327ac8bc1e1b4acf9797fb37 Mon Sep 17 00:00:00 2001 From: David Faure Date: Tue, 6 Oct 2009 11:33:39 +0200 Subject: Faster case-insensitive comparison to "file" in QUrl::toLocalFile Merge-Request: 1709 Reviewed-By: Thiago Macieira (cherry picked from commit 914cae63fd9045b8ac5877a974551f29eec24d72) --- src/corelib/io/qurl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index c9a4cf1..c6bb893 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -5941,7 +5941,7 @@ QString QUrl::toLocalFile() const QString tmp; QString ourPath = path(); - if (d->scheme.isEmpty() || d->scheme.toLower() == QLatin1String("file")) { + if (d->scheme.isEmpty() || QString::compare(d->scheme, QLatin1String("file"), Qt::CaseInsensitive) == 0) { // magic for shared drive on windows if (!d->host.isEmpty()) { -- cgit v0.12 From 735111d3e3d61cd93e35aba668c84dc8f8d79180 Mon Sep 17 00:00:00 2001 From: David Faure Date: Tue, 6 Oct 2009 11:31:50 +0200 Subject: Fix regression in QUrl: IPv6 hosts should be lowercased like in Qt-4.5. Merge-Request: 1709 Reviewed-By: Thiago Macieira (cherry picked from commit 8c4eb2b62983ec09bdfb2bde2723df12ac4e00ef) --- src/corelib/io/qurl.cpp | 2 ++ tests/auto/qurl/tst_qurl.cpp | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index c6bb893..22d0019 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -3384,6 +3384,8 @@ QString QUrlPrivate::canonicalHost() const const char *ptr = ba.constData(); if (!_IPLiteral(&ptr)) that->host.clear(); + else + that->host = host.toLower(); } else { that->host = qt_ACE_do(host, NormalizeAce); } diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp index 413d9d4..8856792 100644 --- a/tests/auto/qurl/tst_qurl.cpp +++ b/tests/auto/qurl/tst_qurl.cpp @@ -2262,6 +2262,9 @@ void tst_QUrl::ipv6_2_data() QTest::newRow("[::ffff:129.144.52.38]") << QString("http://[::ffff:129.144.52.38]/cgi/test.cgi") << QString("http://[::ffff:129.144.52.38]/cgi/test.cgi"); + QTest::newRow("[::FFFF:129.144.52.38]") + << QString("http://[::FFFF:129.144.52.38]/cgi/test.cgi") + << QString("http://[::ffff:129.144.52.38]/cgi/test.cgi"); } void tst_QUrl::ipv6_2() -- cgit v0.12 From fff4fc598d506a213ff424874bb35dbc8bceb140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 6 Oct 2009 12:02:28 +0200 Subject: Build the demo-browser 32-bit on Mac since there's no 64-bit Flash Reviewed-by: Simon Hausmann (cherry picked from commit 1f47353f90f6e1a3122eee14b9011bdeb7c7a93f) --- demos/browser/browser.pro | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/demos/browser/browser.pro b/demos/browser/browser.pro index dab9387..f421c6a 100644 --- a/demos/browser/browser.pro +++ b/demos/browser/browser.pro @@ -80,6 +80,10 @@ mac { ICON = browser.icns QMAKE_INFO_PLIST = Info_mac.plist TARGET = Browser + + # No 64-bit Flash on Mac, so build the browser 32-bit + CONFIG -= x86_64 + CONFIG += x86 } wince*: { -- cgit v0.12 From 1c1c640c0cdb6b7638246587dfb5c8b6f63f6e2b Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 6 Oct 2009 12:09:14 +0200 Subject: statemachine: implement cloning of a whole bunch more GUI events Now using QEventTransition with almost any type of event will actually work, instead of causing an assert. (cherry picked from commit cadad3fdc7f6de95979f5b5be070da0853c46ba4) --- src/gui/statemachine/qguistatemachine.cpp | 344 ++++++++++--------------- tests/auto/qstatemachine/tst_qstatemachine.cpp | 27 ++ 2 files changed, 169 insertions(+), 202 deletions(-) diff --git a/src/gui/statemachine/qguistatemachine.cpp b/src/gui/statemachine/qguistatemachine.cpp index e9a0b78..5ff1164 100644 --- a/src/gui/statemachine/qguistatemachine.cpp +++ b/src/gui/statemachine/qguistatemachine.cpp @@ -90,52 +90,38 @@ static QEvent *cloneEvent(QEvent *e) case QEvent::Close: return new QCloseEvent(*static_cast(e)); case QEvent::Quit: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ParentChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ParentAboutToChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ThreadChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::WindowActivate: case QEvent::WindowDeactivate: return new QEvent(*e); case QEvent::ShowToParent: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::HideToParent: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::Wheel: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QWheelEvent(*static_cast(e)); case QEvent::WindowTitleChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::WindowIconChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ApplicationWindowIconChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ApplicationFontChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ApplicationLayoutDirectionChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ApplicationPaletteChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::PaletteChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::Clipboard: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; @@ -146,14 +132,11 @@ static QEvent *cloneEvent(QEvent *e) Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; case QEvent::SockAct: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::WinEventAct: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::DeferredDelete: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); #ifndef QT_NO_DRAGANDDROP case QEvent::DragEnter: return new QDragEnterEvent(*static_cast(e)); @@ -164,139 +147,99 @@ static QEvent *cloneEvent(QEvent *e) case QEvent::Drop: return new QDropEvent(*static_cast(e)); case QEvent::DragResponse: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QDragResponseEvent(*static_cast(e)); #endif case QEvent::ChildAdded: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QChildEvent(*static_cast(e)); case QEvent::ChildPolished: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QChildEvent(*static_cast(e)); #ifdef QT3_SUPPORT case QEvent::ChildInsertedRequest: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ChildInserted: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QChildEvent(*static_cast(e)); case QEvent::LayoutHint: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif case QEvent::ChildRemoved: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QChildEvent(*static_cast(e)); case QEvent::ShowWindowRequest: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::PolishRequest: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::Polish: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::LayoutRequest: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::UpdateRequest: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::UpdateLater: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::EmbeddingControl: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ActivateControl: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::DeactivateControl: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); + case QEvent::ContextMenu: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QContextMenuEvent(*static_cast(e)); case QEvent::InputMethod: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QInputMethodEvent(*static_cast(e)); case QEvent::AccessibilityPrepare: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::TabletMove: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QTabletEvent(*static_cast(e)); case QEvent::LocaleChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::LanguageChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::LayoutDirectionChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::Style: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::TabletPress: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QTabletEvent(*static_cast(e)); case QEvent::TabletRelease: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QTabletEvent(*static_cast(e)); case QEvent::OkRequest: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::HelpRequest: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::IconDrag: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QIconDragEvent(*static_cast(e)); case QEvent::FontChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::EnabledChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ActivationChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::StyleChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::IconTextChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ModifiedChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::MouseTrackingChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::WindowBlocked: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::WindowUnblocked: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::WindowStateChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QWindowStateChangeEvent(*static_cast(e)); case QEvent::ToolTip: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QHelpEvent(*static_cast(e)); case QEvent::WhatsThis: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QHelpEvent(*static_cast(e)); case QEvent::StatusTip: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QStatusTipEvent(*static_cast(e)); #ifndef QT_NO_ACTION case QEvent::ActionChanged: case QEvent::ActionAdded: @@ -304,15 +247,12 @@ static QEvent *cloneEvent(QEvent *e) return new QActionEvent(*static_cast(e)); #endif case QEvent::FileOpen: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QFileOpenEvent(*static_cast(e)); case QEvent::Shortcut: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QShortcutEvent(*static_cast(e)); case QEvent::ShortcutOverride: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QKeyEvent(*static_cast(e)); #ifdef QT3_SUPPORT case QEvent::Accel: @@ -324,43 +264,30 @@ static QEvent *cloneEvent(QEvent *e) #endif case QEvent::WhatsThisClicked: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QWhatsThisClickedEvent(*static_cast(e)); case QEvent::ToolBarChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QToolBarChangeEvent(*static_cast(e)); case QEvent::ApplicationActivate: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ApplicationDeactivate: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::QueryWhatsThis: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QHelpEvent(*static_cast(e)); case QEvent::EnterWhatsThisMode: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::LeaveWhatsThisMode: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ZOrderChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::HoverEnter: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::HoverLeave: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::HoverMove: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QHoverEvent(*static_cast(e)); case QEvent::AccessibilityHelp: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); @@ -371,19 +298,15 @@ static QEvent *cloneEvent(QEvent *e) #ifdef QT_KEYPAD_NAVIGATION case QEvent::EnterEditFocus: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::LeaveEditFocus: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); #endif case QEvent::AcceptDropsChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::MenubarUpdated: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QMenubarUpdatedEvent(*static_cast(e)); case QEvent::ZeroTimerEvent: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); @@ -426,80 +349,82 @@ static QEvent *cloneEvent(QEvent *e) } case QEvent::GraphicsSceneHoverEnter: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::GraphicsSceneHoverMove: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::GraphicsSceneHoverLeave: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + case QEvent::GraphicsSceneHoverLeave: { + QGraphicsSceneHoverEvent *he = static_cast(e); + QGraphicsSceneHoverEvent *he2 = new QGraphicsSceneHoverEvent(he->type()); + he2->setPos(he->pos()); + he2->setScenePos(he->scenePos()); + he2->setScreenPos(he->screenPos()); + he2->setLastPos(he->lastPos()); + he2->setLastScenePos(he->lastScenePos()); + he2->setLastScreenPos(he->lastScreenPos()); + he2->setModifiers(he->modifiers()); + return he2; + } case QEvent::GraphicsSceneHelp: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QHelpEvent(*static_cast(e)); case QEvent::GraphicsSceneDragEnter: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::GraphicsSceneDragMove: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::GraphicsSceneDragLeave: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::GraphicsSceneDrop: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::GraphicsSceneWheel: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + case QEvent::GraphicsSceneDrop: { + QGraphicsSceneDragDropEvent *dde = static_cast(e); + QGraphicsSceneDragDropEvent *dde2 = new QGraphicsSceneDragDropEvent(dde->type()); + dde2->setPos(dde->pos()); + dde2->setScenePos(dde->scenePos()); + dde2->setScreenPos(dde->screenPos()); + dde2->setButtons(dde->buttons()); + dde2->setModifiers(dde->modifiers()); + return dde2; + } + case QEvent::GraphicsSceneWheel: { + QGraphicsSceneWheelEvent *we = static_cast(e); + QGraphicsSceneWheelEvent *we2 = new QGraphicsSceneWheelEvent(we->type()); + we2->setPos(we->pos()); + we2->setScenePos(we->scenePos()); + we2->setScreenPos(we->screenPos()); + we2->setButtons(we->buttons()); + we2->setModifiers(we->modifiers()); + we2->setOrientation(we->orientation()); + return we2; + } #endif case QEvent::KeyboardLayoutChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::DynamicPropertyChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QDynamicPropertyChangeEvent(*static_cast(e)); case QEvent::TabletEnterProximity: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::TabletLeaveProximity: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QTabletEvent(*static_cast(e)); case QEvent::NonClientAreaMouseMove: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::NonClientAreaMouseButtonPress: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::NonClientAreaMouseButtonRelease: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; case QEvent::NonClientAreaMouseButtonDblClick: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QMouseEvent(*static_cast(e)); case QEvent::MacSizeChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ContentsRectChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::MacGLWindowChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::FutureCallOut: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #ifndef QT_NO_GRAPHICSVIEW - case QEvent::GraphicsSceneResize: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + case QEvent::GraphicsSceneResize: { + QGraphicsSceneResizeEvent *re = static_cast(e); + QGraphicsSceneResizeEvent *re2 = new QGraphicsSceneResizeEvent(); + re2->setOldSize(re->oldSize()); + re2->setNewSize(re->newSize()); + return re2; + } case QEvent::GraphicsSceneMove: { QGraphicsSceneMoveEvent *me = static_cast(e); QGraphicsSceneMoveEvent *me2 = new QGraphicsSceneMoveEvent(); @@ -510,11 +435,9 @@ static QEvent *cloneEvent(QEvent *e) } #endif case QEvent::CursorChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::ToolTipChange: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; + return new QEvent(*e); case QEvent::NetworkReplyUpdated: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); @@ -531,6 +454,23 @@ static QEvent *cloneEvent(QEvent *e) Q_ASSERT_X(false, "cloneEvent()", "not implemented"); break; #endif + + case QEvent::TouchBegin: + case QEvent::TouchUpdate: + case QEvent::TouchEnd: + return new QTouchEvent(*static_cast(e)); + + case QEvent::NativeGesture: + Q_ASSERT_X(false, "cloneEvent()", "not implemented"); + break; + + case QEvent::RequestSoftwareInputPanel: + case QEvent::CloseSoftwareInputPanel: + return new QEvent(*e); + + case QEvent::UpdateSoftKeys: + return new QEvent(*e); + case QEvent::User: case QEvent::MaxUser: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); diff --git a/tests/auto/qstatemachine/tst_qstatemachine.cpp b/tests/auto/qstatemachine/tst_qstatemachine.cpp index b808f7f..1516346 100644 --- a/tests/auto/qstatemachine/tst_qstatemachine.cpp +++ b/tests/auto/qstatemachine/tst_qstatemachine.cpp @@ -42,6 +42,9 @@ #include #include #include +#include +#include +#include #include "qstatemachine.h" #include "qstate.h" @@ -127,6 +130,7 @@ private slots: void allSourceToTargetConfigurations(); void signalTransitions(); void eventTransitions(); + void graphicsSceneEventTransitions(); void historyStates(); void startAndStop(); void targetStateWithNoParent(); @@ -2426,6 +2430,29 @@ void tst_QStateMachine::eventTransitions() } } +void tst_QStateMachine::graphicsSceneEventTransitions() +{ + QGraphicsScene scene; + QGraphicsTextItem *textItem = scene.addText("foo"); + + QStateMachine machine; + QState *s1 = new QState(&machine); + QFinalState *s2 = new QFinalState(&machine); + QEventTransition *t = new QEventTransition(textItem, QEvent::GraphicsSceneMouseMove); + t->setTargetState(s2); + s1->addTransition(t); + machine.setInitialState(s1); + + QSignalSpy startedSpy(&machine, SIGNAL(started())); + QSignalSpy finishedSpy(&machine, SIGNAL(finished())); + machine.start(); + QTRY_COMPARE(startedSpy.count(), 1); + QVERIFY(finishedSpy.count() == 0); + QGraphicsSceneMouseEvent mouseEvent(QEvent::GraphicsSceneMouseMove); + scene.sendEvent(textItem, &mouseEvent); + QTRY_COMPARE(finishedSpy.count(), 1); +} + void tst_QStateMachine::historyStates() { for (int x = 0; x < 2; ++x) { -- cgit v0.12 From 879a4e0c1f694b292a2b85cfb7140aed470de9a6 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Tue, 6 Oct 2009 11:59:32 +0200 Subject: Add GNOME implementation for native filesystem icons This adds some code to support native filesystem icons on GNOME. It works by resolving gnome libs and gnome-vfs dynamically, hence we are explicitly running it on GNOME only and not KDE. Even if it would work there as well. We are planning on adding this functionality to the platform plugin as well. Task-number: QTBUG-2195 Reviewed-by: joao (cherry picked from commit 3d2ef8ab18dcf0b772d2f6ddeb5cf5295ca09db6) --- src/gui/itemviews/qfileiconprovider.cpp | 15 +++++++++++++++ src/gui/styles/gtksymbols.cpp | 28 ++++++++++++++++++++++++++++ src/gui/styles/gtksymbols_p.h | 29 +++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+) diff --git a/src/gui/itemviews/qfileiconprovider.cpp b/src/gui/itemviews/qfileiconprovider.cpp index 4abdef9..c78a49b 100644 --- a/src/gui/itemviews/qfileiconprovider.cpp +++ b/src/gui/itemviews/qfileiconprovider.cpp @@ -54,6 +54,12 @@ #elif defined(Q_WS_MAC) #include #endif + +#if defined(Q_WS_X11) && !defined(Q_NO_STYLE_GTK) +#include +#include +#endif + #include #ifndef SHGFI_ADDOVERLAYS @@ -378,6 +384,15 @@ QIcon QFileIconProviderPrivate::getMacIcon(const QFileInfo &fi) const QIcon QFileIconProvider::icon(const QFileInfo &info) const { Q_D(const QFileIconProvider); + +#if defined(Q_WS_X11) && !defined(QT_NO_STYLE_GTK) + if (X11->desktopEnvironment == DE_GNOME) { + QIcon gtkIcon = QGtk::getFilesystemIcon(info); + if (!gtkIcon.isNull()) + return gtkIcon; + } +#endif + #ifdef Q_WS_MAC QIcon retIcon = d->getMacIcon(info); if (!retIcon.isNull()) diff --git a/src/gui/styles/gtksymbols.cpp b/src/gui/styles/gtksymbols.cpp index 1cb0ca4..d8f140f 100644 --- a/src/gui/styles/gtksymbols.cpp +++ b/src/gui/styles/gtksymbols.cpp @@ -58,6 +58,7 @@ #include #include #include +#include #include #include @@ -124,6 +125,7 @@ Ptr_gtk_progress_set_adjustment QGtk::gtk_progress_set_adjustment = 0; Ptr_gtk_range_set_adjustment QGtk::gtk_range_set_adjustment = 0; Ptr_gtk_range_set_inverted QGtk::gtk_range_set_inverted = 0; Ptr_gtk_icon_factory_lookup_default QGtk::gtk_icon_factory_lookup_default = 0; +Ptr_gtk_icon_theme_get_default QGtk::gtk_icon_theme_get_default = 0; Ptr_gtk_widget_style_get QGtk::gtk_widget_style_get = 0; Ptr_gtk_icon_set_render_icon QGtk::gtk_icon_set_render_icon = 0; Ptr_gtk_fixed_new QGtk::gtk_fixed_new = 0; @@ -196,6 +198,9 @@ Ptr_gconf_client_get_default QGtk::gconf_client_get_default = 0; Ptr_gconf_client_get_string QGtk::gconf_client_get_string = 0; Ptr_gconf_client_get_bool QGtk::gconf_client_get_bool = 0; +Ptr_gnome_icon_lookup_sync QGtk::gnome_icon_lookup_sync = 0; +Ptr_gnome_vfs_init QGtk::gnome_vfs_init = 0; + static QString classPath(GtkWidget *widget) { char* class_path; @@ -281,6 +286,7 @@ static void resolveGtk() QGtk::gtk_range_set_inverted = (Ptr_gtk_range_set_inverted)libgtk.resolve("gtk_range_set_inverted"); QGtk::gtk_container_add = (Ptr_gtk_container_add)libgtk.resolve("gtk_container_add"); QGtk::gtk_icon_factory_lookup_default = (Ptr_gtk_icon_factory_lookup_default)libgtk.resolve("gtk_icon_factory_lookup_default"); + QGtk::gtk_icon_theme_get_default = (Ptr_gtk_icon_theme_get_default)libgtk.resolve("gtk_icon_theme_get_default"); QGtk::gtk_widget_style_get = (Ptr_gtk_widget_style_get)libgtk.resolve("gtk_widget_style_get"); QGtk::gtk_icon_set_render_icon = (Ptr_gtk_icon_set_render_icon)libgtk.resolve("gtk_icon_set_render_icon"); QGtk::gtk_fixed_new = (Ptr_gtk_fixed_new)libgtk.resolve("gtk_fixed_new"); @@ -325,6 +331,9 @@ static void resolveGtk() QGtk::pango_font_description_get_weight = (Ptr_pango_font_description_get_weight)libgtk.resolve("pango_font_description_get_weight"); QGtk::pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family"); QGtk::pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style"); + + QGtk::gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve( QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync"); + QGtk::gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve( QLS("gnomevfs-2"), 0, "gnome_vfs_init"); } void QGtk::cleanup_gtk_widgets() @@ -969,6 +978,25 @@ QString QGtk::saveFilename(QWidget *parent, const QString &caption, const QStrin return filename; } +QIcon QGtk::getFilesystemIcon(const QFileInfo &info) +{ + QIcon icon; + if (QGtk::gnome_vfs_init && QGtk::gnome_icon_lookup_sync) { + QGtk::gnome_vfs_init(); + GtkIconTheme *theme = QGtk::gtk_icon_theme_get_default(); + QString fileurl = QUrl::fromLocalFile(info.absoluteFilePath()); + char * icon_name = QGtk::gnome_icon_lookup_sync(theme, + NULL, + qPrintable(fileurl), + NULL, + GNOME_ICON_LOOKUP_FLAGS_NONE, + NULL); + return QIcon::fromTheme(icon_name); + g_free(icon_name); + } + return icon; +} + QT_END_NAMESPACE #endif // !defined(QT_NO_STYLE_GTK) diff --git a/src/gui/styles/gtksymbols_p.h b/src/gui/styles/gtksymbols_p.h index 4fb193d..313d948 100644 --- a/src/gui/styles/gtksymbols_p.h +++ b/src/gui/styles/gtksymbols_p.h @@ -121,6 +121,7 @@ typedef void (*Ptr_gtk_progress_set_adjustment)(GtkProgress *, GtkAdjustment *); typedef void (*Ptr_gtk_range_set_inverted)(GtkRange*, bool); typedef void (*Ptr_gtk_container_add)(GtkContainer *container, GtkWidget *widget); typedef GtkIconSet* (*Ptr_gtk_icon_factory_lookup_default) (const gchar*); +typedef GtkIconTheme* (*Ptr_gtk_icon_theme_get_default) (void); typedef void (*Ptr_gtk_widget_style_get)(GtkWidget *, const gchar *first_property_name, ...); typedef GtkTreeViewColumn* (*Ptr_gtk_tree_view_column_new)(void); typedef GtkWidget* (*Ptr_gtk_fixed_new)(void); @@ -195,6 +196,29 @@ typedef void (*Ptr_gdk_x11_window_set_user_time) (GdkWindow *window, guint32); typedef XID (*Ptr_gdk_x11_drawable_get_xid) (GdkDrawable *); typedef Display* (*Ptr_gdk_x11_drawable_get_xdisplay) ( GdkDrawable *); + +typedef enum { + GNOME_ICON_LOOKUP_FLAGS_NONE = 0, + GNOME_ICON_LOOKUP_FLAGS_EMBEDDING_TEXT = 1<<0, + GNOME_ICON_LOOKUP_FLAGS_SHOW_SMALL_IMAGES_AS_THEMSELVES = 1<<1, + GNOME_ICON_LOOKUP_FLAGS_ALLOW_SVG_AS_THEMSELVES = 1<<2 +} GnomeIconLookupFlags; + +typedef enum { + GNOME_ICON_LOOKUP_RESULT_FLAGS_NONE = 0, + GNOME_ICON_LOOKUP_RESULT_FLAGS_THUMBNAIL = 1<<0 +} GnomeIconLookupResultFlags; + +struct GnomeThumbnailFactory; +typedef gboolean (*Ptr_gnome_vfs_init) (void); +typedef char* (*Ptr_gnome_icon_lookup_sync) ( + GtkIconTheme *icon_theme, + GnomeThumbnailFactory *, + const char *file_uri, + const char *custom_icon, + GnomeIconLookupFlags flags, + GnomeIconLookupResultFlags *result); + QT_BEGIN_NAMESPACE class QGtk @@ -219,6 +243,7 @@ public: QString *selectedFilter, QFileDialog::Options options); static QString getGConfString(const QString &key, const QString &fallback = QString()); static bool getGConfBool(const QString &key, bool fallback = 0); + static QIcon getFilesystemIcon(const QFileInfo &); static Ptr_gtk_container_forall gtk_container_forall; static Ptr_gtk_init gtk_init; @@ -263,6 +288,7 @@ public: static Ptr_gtk_range_set_adjustment gtk_range_set_adjustment; static Ptr_gtk_range_set_inverted gtk_range_set_inverted; static Ptr_gtk_icon_factory_lookup_default gtk_icon_factory_lookup_default; + static Ptr_gtk_icon_theme_get_default gtk_icon_theme_get_default; static Ptr_gtk_widget_style_get gtk_widget_style_get; static Ptr_gtk_icon_set_render_icon gtk_icon_set_render_icon; static Ptr_gtk_fixed_new gtk_fixed_new; @@ -333,6 +359,9 @@ public: static Ptr_gconf_client_get_default gconf_client_get_default; static Ptr_gconf_client_get_string gconf_client_get_string; static Ptr_gconf_client_get_bool gconf_client_get_bool; + + static Ptr_gnome_icon_lookup_sync gnome_icon_lookup_sync; + static Ptr_gnome_vfs_init gnome_vfs_init; }; // Helper to ensure that we have polished all our gtk widgets -- cgit v0.12 From caa46056225705ced4faca57d75091a219b38279 Mon Sep 17 00:00:00 2001 From: Jens Bache-Wiig Date: Tue, 6 Oct 2009 12:31:12 +0200 Subject: Add support for XFCE desktop integration XFCE essentially depends on gnome libraries and can use the same integration features we provide for GNOME. Hence we simply treat it as the GNOME desktop environment internally. We can now also use the DESKTOP_SESSION to reliably detect desktop environments since it has been properly standardized, instead of relying on window manager hacks for anything but a fallback. Task-number: QTBUG-4737 Reviewed-by: bhughes (cherry picked from commit 9956ef7fd66f5a0a2ebf9b810e5f6ffe3649cf20) --- src/gui/kernel/qapplication_x11.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index bbce438..e46a370 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -2256,8 +2256,13 @@ void qt_init(QApplicationPrivate *priv, int, unsigned long length, after; uchar *data = 0; - if (XGetWindowProperty(X11->display, QX11Info::appRootWindow(), ATOM(DTWM_IS_RUNNING), - 0, 1, False, AnyPropertyType, &type, &format, &length, + QString session = QString::fromLocal8Bit(qgetenv("DESKTOP_SESSION")); + if (session == QLatin1String("kde")) { + X11->desktopEnvironment = DE_KDE; + } else if (session == QLatin1String("gnome") || session == QLatin1String("xfce")) { + X11->desktopEnvironment = DE_GNOME; + } else if (XGetWindowProperty(X11->display, QX11Info::appRootWindow(), ATOM(DTWM_IS_RUNNING), + 0, 1, False, AnyPropertyType, &type, &format, &length, &after, &data) == Success && length) { // DTWM is running, meaning most likely CDE is running... X11->desktopEnvironment = DE_CDE; -- cgit v0.12 From 3be41abc842d02dbfe0aff7f190a3ca027653d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 6 Oct 2009 12:40:49 +0200 Subject: Only build demo-browser 32-bit if Qt was actually built 32-bit Also, add same trick for PPC Reviewed-by: MortenS (cherry picked from commit a6ed1f886d323d68001e3e1b50efe064073691ea) --- demos/browser/browser.pro | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/demos/browser/browser.pro b/demos/browser/browser.pro index f421c6a..6c5f005 100644 --- a/demos/browser/browser.pro +++ b/demos/browser/browser.pro @@ -82,8 +82,14 @@ mac { TARGET = Browser # No 64-bit Flash on Mac, so build the browser 32-bit - CONFIG -= x86_64 - CONFIG += x86 + contains(QT_CONFIG, x86) { + CONFIG -= x86_64 + CONFIG += x86 + } + contains(QT_CONFIG, ppc) { + CONFIG -= ppc64 + CONFIG += ppc + } } wince*: { -- cgit v0.12 From e0936308bbf30ce7db87e4f33cd7d92bb9591a88 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 6 Oct 2009 12:52:58 +0200 Subject: implement property getters&setters for setProperty(quint32) overload It's better that this works rather than asserts. Reviewed-by: Olivier Goffart (cherry picked from commit 13cf7c64acd1652bad90966e06464b35b84e9513) --- src/script/api/qscriptvalue.cpp | 6 ++++-- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp index f2716e4..92c987c 100644 --- a/src/script/api/qscriptvalue.cpp +++ b/src/script/api/qscriptvalue.cpp @@ -1738,7 +1738,7 @@ QScriptValue QScriptValue::property(quint32 arrayIndex, void QScriptValue::setProperty(quint32 arrayIndex, const QScriptValue &value, const PropertyFlags &flags) { - Q_D(const QScriptValue); + Q_D(QScriptValue); if (!d || !d->isObject()) return; if (value.engine() && (value.engine() != engine())) { @@ -1752,7 +1752,9 @@ void QScriptValue::setProperty(quint32 arrayIndex, const QScriptValue &value, JSC::asObject(d->jscValue)->deleteProperty(exec, arrayIndex, /*checkDontDelete=*/false); } else { if ((flags & QScriptValue::PropertyGetter) || (flags & QScriptValue::PropertySetter)) { - Q_ASSERT_X(false, Q_FUNC_INFO, "property getters and setters not implemented"); + // fall back to string-based setProperty(), since there is no + // JSC::JSObject::defineGetter(unsigned) + d->setProperty(JSC::Identifier::from(exec, arrayIndex), value, flags); } else { if (flags != QScriptValue::KeepExistingFlags) { // if (JSC::asObject(d->jscValue)->hasOwnProperty(exec, arrayIndex)) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 6b64e76..5636c54 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -87,6 +87,7 @@ private slots: void getSetPrototype(); void getSetScope(); void getSetProperty(); + void arrayElementGetterSetter(); void getSetData(); void getSetScriptClass(); void call(); @@ -2115,6 +2116,32 @@ void tst_QScriptValue::getSetProperty() QVERIFY(object.propertyFlags(foo) == 0); } +void tst_QScriptValue::arrayElementGetterSetter() +{ + QScriptEngine eng; + QScriptValue obj = eng.newObject(); + obj.setProperty(1, eng.newFunction(getterSetter), QScriptValue::PropertyGetter|QScriptValue::PropertySetter); + { + QScriptValue num(123); + obj.setProperty("x", num); + QScriptValue ret = obj.property(1); + QVERIFY(ret.isValid()); + QVERIFY(ret.equals(num)); + } + { + QScriptValue num(456); + obj.setProperty(1, num); + QScriptValue ret = obj.property(1); + QVERIFY(ret.isValid()); + QVERIFY(ret.equals(num)); + QVERIFY(ret.equals(obj.property("1"))); + } + QCOMPARE(obj.propertyFlags("1"), QScriptValue::PropertyGetter|QScriptValue::PropertySetter); + + obj.setProperty(1, QScriptValue(), QScriptValue::PropertyGetter|QScriptValue::PropertySetter); + QVERIFY(obj.propertyFlags("1") == 0); +} + void tst_QScriptValue::getSetPrototype() { QScriptEngine eng; -- cgit v0.12 From c1751ef8ee5d0bad4050538546b319d2e9e71a7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Tue, 6 Oct 2009 12:59:49 +0200 Subject: doc: Fixed a qdoc command that was meant to add emphasis It was creating another list item. (cherry picked from commit 590b9b0e7587494e110cc3c498ff69ddab6f7520) --- src/gui/painting/qcolor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/painting/qcolor.cpp b/src/gui/painting/qcolor.cpp index 62e08f3..d9b824b 100644 --- a/src/gui/painting/qcolor.cpp +++ b/src/gui/painting/qcolor.cpp @@ -514,7 +514,7 @@ QString QColor::name() const \i #RRRRGGGGBBBB \i A name from the list of colors defined in the list of \l{SVG color keyword names} provided by the World Wide Web Consortium; for example, "steelblue" or "gainsboro". - These color names work on all platforms. Note that these color names are \i not the + These color names work on all platforms. Note that these color names are \e not the same as defined by the Qt::GlobalColor enums, e.g. "green" and Qt::green does not refer to the same color. \i \c transparent - representing the absence of a color. -- cgit v0.12 From 012fe2f42f8a44d94f2b6c2091c322e21b20d2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 6 Oct 2009 12:41:09 +0200 Subject: Optimized window surfaces on X11 by not setting clip in the common case. We don't need to set a clip when the flush only contains a single region. Not setting the clip gives us a slight performance boost. Reviewed-by: Trond (cherry picked from commit 6a061c1b66de4048222ef49c3d34c3e424e2a6c8) --- src/gui/painting/qwindowsurface_raster.cpp | 13 +++++++++---- src/gui/painting/qwindowsurface_x11.cpp | 5 ++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp index 592b34c..5600948 100644 --- a/src/gui/painting/qwindowsurface_raster.cpp +++ b/src/gui/painting/qwindowsurface_raster.cpp @@ -140,7 +140,7 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi // Not ready for painting yet, bail out. This can happen in // QWidget::create_sys() - if (!d->image) + if (!d->image || rgn.numRects() == 0) return; #ifdef Q_WS_WIN @@ -203,9 +203,11 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi wrgn.translate(-wOffset); QRect wbr = wrgn.boundingRect(); - int num; - XRectangle *rects = (XRectangle *)qt_getClipRects(wrgn, num); - XSetClipRectangles(X11->display, d_ptr->gc, 0, 0, rects, num, YXBanded); + if (wrgn.numRects() != 1) { + int num; + XRectangle *rects = (XRectangle *)qt_getClipRects(wrgn, num); + XSetClipRectangles(X11->display, d_ptr->gc, 0, 0, rects, num, YXBanded); + } QRect br = rgn.boundingRect().translated(offset); #ifndef QT_NO_MITSHM @@ -230,6 +232,9 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi qt_x11_drawImage(br, wbr.topLeft(), src, widget->handle(), d_ptr->gc, X11->display, (Visual *)widget->x11Info().visual(), widget->x11Info().depth()); } } + + if (wrgn.numRects() != 1) + XSetClipMask(X11->display, d_ptr->gc, XNone); #endif // FALCON #ifdef Q_WS_MAC diff --git a/src/gui/painting/qwindowsurface_x11.cpp b/src/gui/painting/qwindowsurface_x11.cpp index 5e4433c..46c4c42 100644 --- a/src/gui/painting/qwindowsurface_x11.cpp +++ b/src/gui/painting/qwindowsurface_x11.cpp @@ -129,9 +129,12 @@ void QX11WindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint // qDebug() << "XSetClipRectangles"; // for (int i = 0; i < num; ++i) // qDebug() << ' ' << i << rects[i].x << rects[i].x << rects[i].y << rects[i].width << rects[i].height; - XSetClipRectangles(X11->display, gc, 0, 0, rects, num, YXBanded); + if (num != 1) + XSetClipRectangles(X11->display, gc, 0, 0, rects, num, YXBanded); XCopyArea(X11->display, d_ptr->device.handle(), widget->handle(), gc, br.x() + offset.x(), br.y() + offset.y(), br.width(), br.height(), wbr.x(), wbr.y()); + if (num != 1) + XSetClipMask(X11->display, gc, XNone); } void QX11WindowSurface::setGeometry(const QRect &rect) -- cgit v0.12 From cfd42f484cac007305b9422912ccf6094ffddb7c Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Mon, 5 Oct 2009 15:27:55 +0200 Subject: The threshold for system basic timers has changed on windows This breaks the animations in main window because dragging a dock widget when it is undocked creates another event loop and the Qt events are not processed any more. Reviewed-by: Trust Me (cherry picked from commit 9dcd06efae3e2d78ef402bf06e655e7e95550a39) --- src/corelib/animation/qabstractanimation.cpp | 6 +++--- src/corelib/kernel/qeventdispatcher_win.cpp | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp index 6bbd801..2769040 100644 --- a/src/corelib/animation/qabstractanimation.cpp +++ b/src/corelib/animation/qabstractanimation.cpp @@ -162,9 +162,9 @@ //on windows if you're currently dragging a widget an inner eventloop was started by the system //to make sure that this timer is getting fired, we need to make sure to use the system timers //that will send a WM_TIMER event. We do that by settings the timer interval to 11 - //It is 11 because QEventDispatcherWin32Private::registerTimer specifically checks if the interval - //is greater than 10 to determine if it should use a system timer (or the multimedia timer). -#define STARTSTOP_TIMER_DELAY 11 + //It is 16 because QEventDispatcherWin32Private::registerTimer specifically checks if the interval + //is greater than 11 to determine if it should use a system timer (or the multimedia timer). +#define STARTSTOP_TIMER_DELAY 16 #else #define STARTSTOP_TIMER_DELAY 0 #endif diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index aae351c..1e6402f 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -539,6 +539,10 @@ void QEventDispatcherWin32Private::registerTimer(WinTimerInfo *t) int ok = 0; + //in the animation api, we delay the start of the animation + //for the dock widgets, we need to use a system timer because dragging a native window + //makes Windows start its own event loop. + //So if this threshold changes, please change STARTSTOP_TIMER_DELAY in qabstractanimation.cpp accordingly. if (t->interval > 15 || !t->interval || !qtimeSetEvent) { ok = 1; if (!t->interval) // optimization for single-shot-zero-timer -- cgit v0.12 From 6403df30cc44fd4f4dd47dd2e03c32b5283391a9 Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Tue, 6 Oct 2009 13:06:05 +0200 Subject: QParallelAnimationGroup: set the correct state for the animations There were cases (now covered by autotests) where the state of the animations could be wrong. Reviewed-by: janarve (cherry picked from commit 1f5afc4300d3d7e3063f4e2c80a280a5098717d1) --- src/corelib/animation/qparallelanimationgroup.cpp | 76 +++++++---- src/corelib/animation/qparallelanimationgroup_p.h | 2 + .../tst_qparallelanimationgroup.cpp | 146 ++++++++++++++++++++- 3 files changed, 194 insertions(+), 30 deletions(-) diff --git a/src/corelib/animation/qparallelanimationgroup.cpp b/src/corelib/animation/qparallelanimationgroup.cpp index 5b7fd22..2812854 100644 --- a/src/corelib/animation/qparallelanimationgroup.cpp +++ b/src/corelib/animation/qparallelanimationgroup.cpp @@ -143,13 +143,14 @@ void QParallelAnimationGroup::updateCurrentTime(int currentTime) // simulate completion of the loop seeking backwards for (int i = 0; i < d->animations.size(); ++i) { QAbstractAnimation *animation = d->animations.at(i); + //we need to make sure the animation is in the right state + //and then rewind it + d->applyGroupState(animation); animation->setCurrentTime(0); animation->stop(); } } - bool timeFwd = ((d->currentLoop == d->lastLoop && currentTime >= d->lastCurrentTime) - || d->currentLoop > d->lastLoop); #ifdef QANIMATION_DEBUG qDebug("QParallellAnimationGroup %5d: setCurrentTime(%d), loop:%d, last:%d, timeFwd:%d, lastcurrent:%d, %d", __LINE__, d->currentTime, d->currentLoop, d->lastLoop, timeFwd, d->lastCurrentTime, state()); @@ -158,34 +159,19 @@ void QParallelAnimationGroup::updateCurrentTime(int currentTime) for (int i = 0; i < d->animations.size(); ++i) { QAbstractAnimation *animation = d->animations.at(i); const int dura = animation->totalDuration(); - if (dura == -1 && d->isUncontrolledAnimationFinished(animation)) - continue; - if (dura == -1 || (currentTime <= dura && dura != 0) - || (dura == 0 && d->currentLoop != d->lastLoop)) { - switch (state()) { - case Running: - animation->start(); - break; - case Paused: - animation->pause(); - break; - case Stopped: - default: - break; - } + //if the loopcount is bigger we should always start all animations + if (d->currentLoop > d->lastLoop + //if we're at the end of the animation, we need to start it if it wasn't already started in this loop + //this happens in Backward direction where not all animations are started at the same time + || d->shouldAnimationStart(animation, d->lastCurrentTime > dura /*startIfAtEnd*/)) { + d->applyGroupState(animation); } - if (dura <= 0) { - if (dura == -1) - animation->setCurrentTime(currentTime); - continue; + if (animation->state() == state()) { + animation->setCurrentTime(currentTime); + if (dura > 0 && currentTime > dura) + animation->stop(); } - - if ((timeFwd && d->lastCurrentTime <= dura) - || (!timeFwd && d->currentTime <= dura)) - animation->setCurrentTime(currentTime); - if (currentTime > dura) - animation->stop(); } d->lastLoop = d->currentLoop; d->lastCurrentTime = currentTime; @@ -208,7 +194,8 @@ void QParallelAnimationGroup::updateState(QAbstractAnimation::State oldState, break; case Paused: for (int i = 0; i < d->animations.size(); ++i) - d->animations.at(i)->pause(); + if (d->animations.at(i)->state() == Running) + d->animations.at(i)->pause(); break; case Running: d->connectUncontrolledAnimations(); @@ -217,7 +204,8 @@ void QParallelAnimationGroup::updateState(QAbstractAnimation::State oldState, if (oldState == Stopped) animation->stop(); animation->setDirection(d->direction); - animation->start(); + if (d->shouldAnimationStart(animation, oldState == Stopped)) + animation->start(); } break; } @@ -280,6 +268,36 @@ void QParallelAnimationGroupPrivate::connectUncontrolledAnimations() } } +bool QParallelAnimationGroupPrivate::shouldAnimationStart(QAbstractAnimation *animation, bool startIfAtEnd) const +{ + const int dura = animation->totalDuration(); + if (dura == -1) + return !isUncontrolledAnimationFinished(animation); + if (startIfAtEnd) + return currentTime <= dura; + if (direction == QAbstractAnimation::Forward) + return currentTime < dura; + else //direction == QAbstractAnimation::Backward + return currentTime && currentTime <= dura; +} + +void QParallelAnimationGroupPrivate::applyGroupState(QAbstractAnimation *animation) +{ + switch (state) + { + case QAbstractAnimation::Running: + animation->start(); + break; + case QAbstractAnimation::Paused: + animation->pause(); + break; + case QAbstractAnimation::Stopped: + default: + break; + } +} + + bool QParallelAnimationGroupPrivate::isUncontrolledAnimationFinished(QAbstractAnimation *anim) const { return uncontrolledFinishTime.value(anim, -1) >= 0; diff --git a/src/corelib/animation/qparallelanimationgroup_p.h b/src/corelib/animation/qparallelanimationgroup_p.h index 8e1fb34..fa0ef95 100644 --- a/src/corelib/animation/qparallelanimationgroup_p.h +++ b/src/corelib/animation/qparallelanimationgroup_p.h @@ -74,6 +74,8 @@ public: int lastLoop; int lastCurrentTime; + bool shouldAnimationStart(QAbstractAnimation *animation, bool startIfAtEnd) const; + void applyGroupState(QAbstractAnimation *animation); bool isUncontrolledAnimationFinished(QAbstractAnimation *anim) const; void connectUncontrolledAnimations(); void disconnectUncontrolledAnimations(); diff --git a/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp b/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp index acd23b0..8578d36 100644 --- a/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp +++ b/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp @@ -62,6 +62,7 @@ public Q_SLOTS: private slots: void construction(); void setCurrentTime(); + void stateChanged(); void clearGroup(); void propagateGroupUpdateToChildren(); void updateChildrenWithRunningGroup(); @@ -252,6 +253,112 @@ void tst_QParallelAnimationGroup::setCurrentTime() QCOMPARE(loopsForever->currentTime(), 1); } +void tst_QParallelAnimationGroup::stateChanged() +{ + //this ensures that the correct animations are started when starting the group + TestAnimation *anim1 = new TestAnimation; + TestAnimation *anim2 = new TestAnimation; + TestAnimation *anim3 = new TestAnimation; + TestAnimation *anim4 = new TestAnimation; + anim1->setDuration(1000); + anim2->setDuration(2000); + anim3->setDuration(3000); + anim4->setDuration(3000); + QParallelAnimationGroup group; + group.addAnimation(anim1); + group.addAnimation(anim2); + group.addAnimation(anim3); + group.addAnimation(anim4); + + QSignalSpy spy1(anim1, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); + QSignalSpy spy2(anim2, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); + QSignalSpy spy3(anim3, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); + QSignalSpy spy4(anim4, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); + + //first; let's start forward + group.start(); + //all the animations should be started + QCOMPARE(spy1.count(), 1); + QCOMPARE(qVariantValue(spy1.last().at(1)), TestAnimation::Running); + QCOMPARE(spy2.count(), 1); + QCOMPARE(qVariantValue(spy2.last().at(1)), TestAnimation::Running); + QCOMPARE(spy3.count(), 1); + QCOMPARE(qVariantValue(spy3.last().at(1)), TestAnimation::Running); + QCOMPARE(spy4.count(), 1); + QCOMPARE(qVariantValue(spy4.last().at(1)), TestAnimation::Running); + + group.setCurrentTime(1500); //anim1 should be finished + QCOMPARE(group.state(), QAnimationGroup::Running); + QCOMPARE(spy1.count(), 2); + QCOMPARE(qVariantValue(spy1.last().at(1)), TestAnimation::Stopped); + QCOMPARE(spy2.count(), 1); //no change + QCOMPARE(spy3.count(), 1); //no change + QCOMPARE(spy4.count(), 1); //no change + + group.setCurrentTime(2500); //anim2 should be finished + QCOMPARE(group.state(), QAnimationGroup::Running); + QCOMPARE(spy1.count(), 2); //no change + QCOMPARE(spy2.count(), 2); + QCOMPARE(qVariantValue(spy2.last().at(1)), TestAnimation::Stopped); + QCOMPARE(spy3.count(), 1); //no change + QCOMPARE(spy4.count(), 1); //no change + + group.setCurrentTime(3500); //everything should be finished + QCOMPARE(group.state(), QAnimationGroup::Stopped); + QCOMPARE(spy1.count(), 2); //no change + QCOMPARE(spy2.count(), 2); //no change + QCOMPARE(spy3.count(), 2); + QCOMPARE(qVariantValue(spy3.last().at(1)), TestAnimation::Stopped); + QCOMPARE(spy4.count(), 2); + QCOMPARE(qVariantValue(spy4.last().at(1)), TestAnimation::Stopped); + + //cleanup + spy1.clear(); + spy2.clear(); + spy3.clear(); + spy4.clear(); + + //now let's try to reverse that + group.setDirection(QAbstractAnimation::Backward); + group.start(); + + //only anim3 and anim4 should be started + QCOMPARE(group.state(), QAnimationGroup::Running); + QCOMPARE(spy1.count(), 0); + QCOMPARE(spy2.count(), 0); + QCOMPARE(spy3.count(), 1); + QCOMPARE(qVariantValue(spy3.last().at(1)), TestAnimation::Running); + QCOMPARE(spy4.count(), 1); + QCOMPARE(qVariantValue(spy4.last().at(1)), TestAnimation::Running); + + group.setCurrentTime(1500); //anim2 should be started + QCOMPARE(group.state(), QAnimationGroup::Running); + QCOMPARE(spy1.count(), 0); //no change + QCOMPARE(spy2.count(), 1); + QCOMPARE(qVariantValue(spy2.last().at(1)), TestAnimation::Running); + QCOMPARE(spy3.count(), 1); //no change + QCOMPARE(spy4.count(), 1); //no change + + group.setCurrentTime(500); //anim1 is finally also started + QCOMPARE(group.state(), QAnimationGroup::Running); + QCOMPARE(spy1.count(), 1); + QCOMPARE(qVariantValue(spy1.last().at(1)), TestAnimation::Running); + QCOMPARE(spy2.count(), 1); //no change + QCOMPARE(spy3.count(), 1); //no change + QCOMPARE(spy4.count(), 1); //no change + + group.setCurrentTime(0); //everything should be stopped + QCOMPARE(group.state(), QAnimationGroup::Stopped); + QCOMPARE(spy1.count(), 2); + QCOMPARE(qVariantValue(spy1.last().at(1)), TestAnimation::Stopped); + QCOMPARE(spy2.count(), 2); + QCOMPARE(qVariantValue(spy2.last().at(1)), TestAnimation::Stopped); + QCOMPARE(spy3.count(), 2); + QCOMPARE(qVariantValue(spy3.last().at(1)), TestAnimation::Stopped); + QCOMPARE(spy4.count(), 2); + QCOMPARE(qVariantValue(spy4.last().at(1)), TestAnimation::Stopped); +} + void tst_QParallelAnimationGroup::clearGroup() { QParallelAnimationGroup group; @@ -398,7 +505,7 @@ void tst_QParallelAnimationGroup::deleteChildrenWithRunningGroup() QCOMPARE(group.state(), QAnimationGroup::Running); QCOMPARE(anim1->state(), QAnimationGroup::Running); - QTest::qWait(50); + QTest::qWait(80); QVERIFY(group.currentTime() > 0); delete anim1; @@ -564,14 +671,23 @@ void tst_QParallelAnimationGroup::zeroDurationAnimation() anim2.setEndValue(100); anim2.setDuration(100); + TestAnimation anim3; + anim3.setStartValue(0); + anim3.setEndValue(100); + anim3.setDuration(10); + QSignalSpy stateChangedSpy1(&anim1, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); QSignalSpy finishedSpy1(&anim1, SIGNAL(finished())); QSignalSpy stateChangedSpy2(&anim2, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); QSignalSpy finishedSpy2(&anim2, SIGNAL(finished())); + QSignalSpy stateChangedSpy3(&anim3, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); + QSignalSpy finishedSpy3(&anim3, SIGNAL(finished())); + group.addAnimation(&anim1); group.addAnimation(&anim2); + group.addAnimation(&anim3); QCOMPARE(stateChangedSpy1.count(), 0); group.start(); QCOMPARE(stateChangedSpy1.count(), 2); @@ -586,9 +702,15 @@ void tst_QParallelAnimationGroup::zeroDurationAnimation() QCOMPARE(qVariantValue(stateChangedSpy1.at(0).at(1)), QAnimationGroup::Running); + QCOMPARE(stateChangedSpy3.count(), 1); + QCOMPARE(finishedSpy3.count(), 0); + QCOMPARE(qVariantValue(stateChangedSpy3.at(0).at(1)), + QAnimationGroup::Running); + QCOMPARE(anim1.state(), QAnimationGroup::Stopped); QCOMPARE(anim2.state(), QAnimationGroup::Running); + QCOMPARE(anim3.state(), QAnimationGroup::Running); QCOMPARE(group.state(), QAnimationGroup::Running); @@ -596,19 +718,24 @@ void tst_QParallelAnimationGroup::zeroDurationAnimation() group.setLoopCount(4); stateChangedSpy1.clear(); stateChangedSpy2.clear(); + stateChangedSpy3.clear(); group.start(); QCOMPARE(stateChangedSpy1.count(), 2); QCOMPARE(stateChangedSpy2.count(), 1); + QCOMPARE(stateChangedSpy3.count(), 1); group.setCurrentTime(50); QCOMPARE(stateChangedSpy1.count(), 2); QCOMPARE(stateChangedSpy2.count(), 1); + QCOMPARE(stateChangedSpy3.count(), 2); group.setCurrentTime(150); QCOMPARE(stateChangedSpy1.count(), 4); QCOMPARE(stateChangedSpy2.count(), 3); + QCOMPARE(stateChangedSpy3.count(), 4); group.setCurrentTime(50); QCOMPARE(stateChangedSpy1.count(), 6); QCOMPARE(stateChangedSpy2.count(), 5); + QCOMPARE(stateChangedSpy3.count(), 6); } @@ -863,6 +990,23 @@ void tst_QParallelAnimationGroup::pauseResume() QCOMPARE(anim->state(), QAnimationGroup::Running); QCOMPARE(anim->currentTime(), currentTime); QCOMPARE(spy.count(), 1); + + group.stop(); + spy.clear(); + new TestAnimation2(500, &group); + group.start(); + QCOMPARE(spy.count(), 1); //the animation should have been started + QCOMPARE(qVariantValue(spy.last().at(1)), TestAnimation::Running); + group.setCurrentTime(250); //end of first animation + QCOMPARE(spy.count(), 2); //the animation should have been stopped + QCOMPARE(qVariantValue(spy.last().at(1)), TestAnimation::Stopped); + group.pause(); + QCOMPARE(spy.count(), 2); //this shouldn't have changed + group.resume(); + QCOMPARE(spy.count(), 2); //this shouldn't have changed + + + } -- cgit v0.12 From 8c1510e0e864a315c131d43783ba7b3593a02dc1 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 6 Oct 2009 14:13:39 +0300 Subject: Changed wording on Symbian introduction doc. Executing "perl createpackage.pl" will only work in bin dir, so changed the wording a bit. Reviewed-by: Janne Anttila (cherry picked from commit 9c73671c3b917a2a6a22411fb17c46dfa5e21049) --- doc/src/platforms/s60-introduction.qdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/platforms/s60-introduction.qdoc b/doc/src/platforms/s60-introduction.qdoc index d0a1976..086ee52 100644 --- a/doc/src/platforms/s60-introduction.qdoc +++ b/doc/src/platforms/s60-introduction.qdoc @@ -121,8 +121,8 @@ \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. -i, install the package right away using PC suite. -c=, read certificate information from a file. - Execute \c{perl createpackage.pl} for more information - about options. + Execute \c{createpackage.pl} script without any + parameters for more information about options. By default no otions are given. \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. Accepted values are build targets listed in -- cgit v0.12 From 57a8a9a9ed29cdbead23005c115fff44aad85205 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Tue, 6 Oct 2009 13:45:48 +0200 Subject: Corrected Qt logo colors. Replaced the poisonous green by the 'official' one. Took the RGB values from the logos availiable at: http://qt.nokia.com/about/logos-for-download Reviewed-By: TrustMe (cherry picked from commit a6bf8c28a8b8792167f6c93a08e871376651ba1a) --- src/s60installs/qt.svg | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/s60installs/qt.svg b/src/s60installs/qt.svg index 22cb204..6230ada 100644 --- a/src/s60installs/qt.svg +++ b/src/s60installs/qt.svg @@ -3,15 +3,15 @@ - - + + - - - + + + - - + + -- cgit v0.12 From 662d4e3d91e2d395bfc88dac012804b009e32195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Tue, 6 Oct 2009 13:46:13 +0200 Subject: Fixed an assert occuring on X11 when destroying QPixmaps under GL. The cleanup code for the QX11PixmapData was called incorrectly for QGLPixmapData. Reviewed-by: Samuel (cherry picked from commit cb368e06bea269422efcbdbe8136d424b6ff5052) --- src/opengl/qgl.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 3940a08..3f96d1c 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -1654,8 +1654,10 @@ void QGLTextureCache::pixmapCleanupHook(QPixmap* pixmap) } #if defined(Q_WS_X11) QPixmapData *pd = pixmap->data_ptr().data(); - Q_ASSERT(pd->ref == 1); // Make sure reference counting isn't broken - QGLContextPrivate::destroyGlSurfaceForPixmap(pd); + if (pd->classId() == QPixmapData::X11Class) { + Q_ASSERT(pd->ref == 1); // Make sure reference counting isn't broken + QGLContextPrivate::destroyGlSurfaceForPixmap(pd); + } #endif } -- cgit v0.12 From 9e513e22ff33a0d6394cadff688e54fcb124bdec Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Mon, 28 Sep 2009 17:55:24 +0200 Subject: Small doclet fix Rev-By: Trust-Me (cherry picked from commit 6c14af1cdb02d1d6957ad23ec435e2b95dda5b4a) --- src/gui/text/qtextoption.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/text/qtextoption.cpp b/src/gui/text/qtextoption.cpp index facc8dc..bdab3f2 100644 --- a/src/gui/text/qtextoption.cpp +++ b/src/gui/text/qtextoption.cpp @@ -345,9 +345,9 @@ QList QTextOption::tabs() const This enum holds the different types of tabulator - \value LeftTab, A left-tab - \value RightTab, A right-tab - \value CenterTab, A centered-tab + \value LeftTab A left-tab + \value RightTab A right-tab + \value CenterTab A centered-tab \value DelimiterTab A tab stopping at a certain delimiter-character */ -- cgit v0.12 From b60ba455588ddcfe1f4dc4b957fccdc942000ea2 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Fri, 25 Sep 2009 19:59:12 +0200 Subject: Span update after row and column insertion and removal in QTableView. The feature had not been implemented yet. Auto-test and benchmark included. As a bonus, single cell spans are no longer added to the span collection. Reviewed-by: Thierry Task-number: 245327 Task-number: QTBUG-3610 (cherry picked from commit 0d51611fa524091ddca3c6c11edb0eae8ffe3b02) --- src/gui/itemviews/qtableview.cpp | 404 +++++++++++++++++++++++++ src/gui/itemviews/qtableview.h | 4 + src/gui/itemviews/qtableview_p.h | 21 +- tests/auto/qtableview/tst_qtableview.cpp | 193 +++++++++++- tests/benchmarks/qtableview/tst_qtableview.cpp | 174 +++++++++++ 5 files changed, 792 insertions(+), 4 deletions(-) diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp index f1ffaa6..15bd445 100644 --- a/src/gui/itemviews/qtableview.cpp +++ b/src/gui/itemviews/qtableview.cpp @@ -191,6 +191,359 @@ QList QSpanCollection::spansInRect(int x, int y, int w, return list.toList(); } +#undef DEBUG_SPAN_UPDATE + +#ifdef DEBUG_SPAN_UPDATE +QDebug operator<<(QDebug str, const QSpanCollection::Span &span) +{ + str << "(" << span.top() << "," << span.left() << "," << span.bottom() << "," << span.right() << ")"; + return str; +} +#endif + +/** \internal +* Updates the span collection after row insertion. +*/ +void QSpanCollection::updateInsertedRows(int start, int end) +{ +#ifdef DEBUG_SPAN_UPDATE + qDebug() << Q_FUNC_INFO; + qDebug() << start << end; + qDebug() << index; +#endif + if (spans.isEmpty()) + return; + + int delta = end - start + 1; +#ifdef DEBUG_SPAN_UPDATE + qDebug("Before"); +#endif + for (SpanList::iterator it = spans.begin(); it != spans.end(); ++it) { + Span *span = *it; +#ifdef DEBUG_SPAN_UPDATE + qDebug() << span << *span; +#endif + if (span->m_bottom < start) + continue; + if (span->m_top >= start) + span->m_top += delta; + span->m_bottom += delta; + } + +#ifdef DEBUG_SPAN_UPDATE + qDebug("After"); + foreach (QSpanCollection::Span *span, spans) + qDebug() << span << *span; +#endif + + for (Index::iterator it_y = index.begin(); it_y != index.end(); ) { + int y = -it_y.key(); + if (y < start) { + ++it_y; + continue; + } + + index.insert(-y - delta, it_y.value()); + it_y = index.erase(it_y); + } +#ifdef DEBUG_SPAN_UPDATE + qDebug() << index; +#endif +} + +/** \internal +* Updates the span collection after column insertion. +*/ +void QSpanCollection::updateInsertedColumns(int start, int end) +{ +#ifdef DEBUG_SPAN_UPDATE + qDebug() << Q_FUNC_INFO; + qDebug() << start << end; + qDebug() << index; +#endif + if (spans.isEmpty()) + return; + + int delta = end - start + 1; +#ifdef DEBUG_SPAN_UPDATE + qDebug("Before"); +#endif + for (SpanList::iterator it = spans.begin(); it != spans.end(); ++it) { + Span *span = *it; +#ifdef DEBUG_SPAN_UPDATE + qDebug() << span << *span; +#endif + if (span->m_right < start) + continue; + if (span->m_left >= start) + span->m_left += delta; + span->m_right += delta; + } + +#ifdef DEBUG_SPAN_UPDATE + qDebug("After"); + foreach (QSpanCollection::Span *span, spans) + qDebug() << span << *span; +#endif + + for (Index::iterator it_y = index.begin(); it_y != index.end(); ++it_y) { + SubIndex &subindex = it_y.value(); + for (SubIndex::iterator it = subindex.begin(); it != subindex.end(); ) { + int x = -it.key(); + if (x < start) { + ++it; + continue; + } + subindex.insert(-x - delta, it.value()); + it = subindex.erase(it); + } + } +#ifdef DEBUG_SPAN_UPDATE + qDebug() << index; +#endif +} + +/** \internal +* Cleans a subindex from to be deleted spans. The update argument is used +* to move the spans inside the subindex, in case their anchor changed. +* \return true if no span in this subindex starts at y, and should thus be deleted. +*/ +bool QSpanCollection::cleanSpanSubIndex(QSpanCollection::SubIndex &subindex, int y, bool update) +{ + if (subindex.isEmpty()) + return true; + + bool should_be_deleted = true; + SubIndex::iterator it = subindex.end(); + do { + --it; + int x = -it.key(); + Span *span = it.value(); + if (span->will_be_deleted) { + it = subindex.erase(it); + continue; + } + if (update && span->m_left != x) { + subindex.insert(-span->m_left, span); + it = subindex.erase(it); + } + if (should_be_deleted && span->m_top == y) + should_be_deleted = false; + } while (it != subindex.begin()); + + return should_be_deleted; +} + +/** \internal +* Updates the span collection after row removal. +*/ +void QSpanCollection::updateRemovedRows(int start, int end) +{ +#ifdef DEBUG_SPAN_UPDATE + qDebug() << Q_FUNC_INFO; + qDebug() << start << end; + qDebug() << index; +#endif + if (spans.isEmpty()) + return; + + SpanList spansToBeDeleted; + int delta = end - start + 1; +#ifdef DEBUG_SPAN_UPDATE + qDebug("Before"); +#endif + for (SpanList::iterator it = spans.begin(); it != spans.end(); ) { + Span *span = *it; +#ifdef DEBUG_SPAN_UPDATE + qDebug() << span << *span; +#endif + if (span->m_bottom < start) { + ++it; + continue; + } + if (span->m_top < start) { + if (span->m_bottom <= end) + span->m_bottom = start - 1; + else + span->m_bottom -= delta; + } else { + if (span->m_bottom > end) { + if (span->m_top <= end) + span->m_top = start; + else + span->m_top -= delta; + span->m_bottom -= delta; + } else { + span->will_be_deleted = true; + } + } + if (span->m_top == span->m_bottom && span->m_left == span->m_right) + span->will_be_deleted = true; + if (span->will_be_deleted) { + spansToBeDeleted.append(span); + it = spans.erase(it); + } else { + ++it; + } + } + +#ifdef DEBUG_SPAN_UPDATE + qDebug("After"); + foreach (QSpanCollection::Span *span, spans) + qDebug() << span << *span; +#endif + if (spans.isEmpty()) { + qDeleteAll(spansToBeDeleted); + index.clear(); + return; + } + + Index::iterator it_y = index.end(); + do { + --it_y; + int y = -it_y.key(); + SubIndex &subindex = it_y.value(); + if (y < start) { + if (cleanSpanSubIndex(subindex, y)) + it_y = index.erase(it_y); + } else if (y >= start && y <= end) { + bool span_at_start = false; + SubIndex spansToBeMoved; + for (SubIndex::iterator it = subindex.begin(); it != subindex.end(); ++it) { + Span *span = it.value(); + if (span->will_be_deleted) + continue; + if (!span_at_start && span->m_top == start) + span_at_start = true; + spansToBeMoved.insert(it.key(), span); + } + + if (y == start && span_at_start) + subindex.clear(); + else + it_y = index.erase(it_y); + + if (span_at_start) { + Index::iterator it_start; + if (y == start) + it_start = it_y; + else { + it_start = index.find(-start); + if (it_start == index.end()) + it_start = index.insert(-start, SubIndex()); + } + SubIndex &start_subindex = it_start.value(); + for (SubIndex::iterator it = spansToBeMoved.begin(); it != spansToBeMoved.end(); ++it) + start_subindex.insert(it.key(), it.value()); + } + } else { + if (y == end + 1) { + Index::iterator it_top = index.find(-y + delta); + if (it_top == index.end()) + it_top = index.insert(-y + delta, SubIndex()); + for (SubIndex::iterator it = subindex.begin(); it != subindex.end(); ) { + Span *span = it.value(); + if (!span->will_be_deleted) + it_top.value().insert(it.key(), span); + ++it; + } + } else { + index.insert(-y + delta, subindex); + } + it_y = index.erase(it_y); + } + } while (it_y != index.begin()); + +#ifdef DEBUG_SPAN_UPDATE + qDebug() << index; + qDebug("Deleted"); + foreach (QSpanCollection::Span *span, spansToBeDeleted) + qDebug() << span << *span; +#endif + qDeleteAll(spansToBeDeleted); +} + +/** \internal +* Updates the span collection after column removal. +*/ +void QSpanCollection::updateRemovedColumns(int start, int end) +{ +#ifdef DEBUG_SPAN_UPDATE + qDebug() << Q_FUNC_INFO; + qDebug() << start << end; + qDebug() << index; +#endif + if (spans.isEmpty()) + return; + + SpanList toBeDeleted; + int delta = end - start + 1; +#ifdef DEBUG_SPAN_UPDATE + qDebug("Before"); +#endif + for (SpanList::iterator it = spans.begin(); it != spans.end(); ) { + Span *span = *it; +#ifdef DEBUG_SPAN_UPDATE + qDebug() << span << *span; +#endif + if (span->m_right < start) { + ++it; + continue; + } + if (span->m_left < start) { + if (span->m_right <= end) + span->m_right = start - 1; + else + span->m_right -= delta; + } else { + if (span->m_right > end) { + if (span->m_left <= end) + span->m_left = start; + else + span->m_left -= delta; + span->m_right -= delta; + } else { + span->will_be_deleted = true; + } + } + if (span->m_top == span->m_bottom && span->m_left == span->m_right) + span->will_be_deleted = true; + if (span->will_be_deleted) { + toBeDeleted.append(span); + it = spans.erase(it); + } else { + ++it; + } + } + +#ifdef DEBUG_SPAN_UPDATE + qDebug("After"); + foreach (QSpanCollection::Span *span, spans) + qDebug() << span << *span; +#endif + if (spans.isEmpty()) { + qDeleteAll(toBeDeleted); + index.clear(); + return; + } + + for (Index::iterator it_y = index.begin(); it_y != index.end(); ) { + int y = -it_y.key(); + if (cleanSpanSubIndex(it_y.value(), y, true)) + it_y = index.erase(it_y); + else + ++it_y; + } + +#ifdef DEBUG_SPAN_UPDATE + qDebug() << index; + qDebug("Deleted"); + foreach (QSpanCollection::Span *span, toBeDeleted) + qDebug() << span << *span; +#endif + qDeleteAll(toBeDeleted); +} + class QTableCornerButton : public QAbstractButton { Q_OBJECT @@ -299,6 +652,9 @@ void QTableViewPrivate::setSpan(int row, int column, int rowSpan, int columnSpan sp->m_right = column + columnSpan - 1; spans.updateSpan(sp, old_height); return; + } else if (rowSpan == 1 && columnSpan == 1) { + qWarning() << "QTableView::setSpan: single cell span won't be added"; + return; } sp = new QSpanCollection::Span(row, column, rowSpan, columnSpan); spans.addSpan(sp); @@ -460,6 +816,46 @@ void QTableViewPrivate::drawAndClipSpans(const QRegion &area, QPainter *painter, /*! \internal + Updates spans after row insertion. +*/ +void QTableViewPrivate::_q_updateSpanInsertedRows(const QModelIndex &parent, int start, int end) +{ + Q_UNUSED(parent) + spans.updateInsertedRows(start, end); +} + +/*! + \internal + Updates spans after column insertion. +*/ +void QTableViewPrivate::_q_updateSpanInsertedColumns(const QModelIndex &parent, int start, int end) +{ + Q_UNUSED(parent) + spans.updateInsertedColumns(start, end); +} + +/*! + \internal + Updates spans after row removal. +*/ +void QTableViewPrivate::_q_updateSpanRemovedRows(const QModelIndex &parent, int start, int end) +{ + Q_UNUSED(parent) + spans.updateRemovedRows(start, end); +} + +/*! + \internal + Updates spans after column removal. +*/ +void QTableViewPrivate::_q_updateSpanRemovedColumns(const QModelIndex &parent, int start, int end) +{ + Q_UNUSED(parent) + spans.updateRemovedColumns(start, end); +} + +/*! + \internal Draws a table cell. */ void QTableViewPrivate::drawCell(QPainter *painter, const QStyleOptionViewItemV4 &option, const QModelIndex &index) @@ -629,6 +1025,14 @@ QTableView::~QTableView() void QTableView::setModel(QAbstractItemModel *model) { Q_D(QTableView); + connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), + this, SLOT(_q_updateSpanInsertedRows(QModelIndex,int,int))); + connect(model, SIGNAL(columnsInserted(QModelIndex,int,int)), + this, SLOT(_q_updateSpanInsertedColumns(QModelIndex,int,int))); + connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)), + this, SLOT(_q_updateSpanRemovedRows(QModelIndex,int,int))); + connect(model, SIGNAL(columnsRemoved(QModelIndex,int,int)), + this, SLOT(_q_updateSpanRemovedColumns(QModelIndex,int,int))); d->verticalHeader->setModel(model); d->horizontalHeader->setModel(model); QAbstractItemView::setModel(model); diff --git a/src/gui/itemviews/qtableview.h b/src/gui/itemviews/qtableview.h index a08d6a9..541c419 100644 --- a/src/gui/itemviews/qtableview.h +++ b/src/gui/itemviews/qtableview.h @@ -182,6 +182,10 @@ private: Q_DISABLE_COPY(QTableView) Q_PRIVATE_SLOT(d_func(), void _q_selectRow(int)) Q_PRIVATE_SLOT(d_func(), void _q_selectColumn(int)) + Q_PRIVATE_SLOT(d_func(), void _q_updateSpanInsertedRows(QModelIndex,int,int)) + Q_PRIVATE_SLOT(d_func(), void _q_updateSpanInsertedColumns(QModelIndex,int,int)) + Q_PRIVATE_SLOT(d_func(), void _q_updateSpanRemovedRows(QModelIndex,int,int)) + Q_PRIVATE_SLOT(d_func(), void _q_updateSpanRemovedColumns(QModelIndex,int,int)) }; #endif // QT_NO_TABLEVIEW diff --git a/src/gui/itemviews/qtableview_p.h b/src/gui/itemviews/qtableview_p.h index 36a3ece..c785bd7 100644 --- a/src/gui/itemviews/qtableview_p.h +++ b/src/gui/itemviews/qtableview_p.h @@ -54,6 +54,7 @@ // #include +#include #include #include #include @@ -82,10 +83,11 @@ public: int m_left; int m_bottom; int m_right; + bool will_be_deleted; Span() - : m_top(-1), m_left(-1), m_bottom(-1), m_right(-1) { } + : m_top(-1), m_left(-1), m_bottom(-1), m_right(-1), will_be_deleted(false) { } Span(int row, int column, int rowCount, int columnCount) - : m_top(row), m_left(column), m_bottom(row+rowCount-1), m_right(column+columnCount-1) { } + : m_top(row), m_left(column), m_bottom(row+rowCount-1), m_right(column+columnCount-1), will_be_deleted(false) { } inline int top() const { return m_top; } inline int left() const { return m_left; } inline int bottom() const { return m_bottom; } @@ -105,12 +107,20 @@ public: void clear(); QList spansInRect(int x, int y, int w, int h) const; - QList spans; //lists of all spans + void updateInsertedRows(int start, int end); + void updateInsertedColumns(int start, int end); + void updateRemovedRows(int start, int end); + void updateRemovedColumns(int start, int end); + + typedef QLinkedList SpanList; + SpanList spans; //lists of all spans private: //the indexes are negative so the QMap::lowerBound do what i need. typedef QMap SubIndex; typedef QMap Index; Index index; + + bool cleanSpanSubIndex(SubIndex &subindex, int end, bool update = false); }; Q_DECLARE_TYPEINFO ( QSpanCollection::Span, Q_MOVABLE_TYPE); @@ -227,6 +237,11 @@ public: void selectRow(int row, bool anchor); void selectColumn(int column, bool anchor); + + void _q_updateSpanInsertedRows(const QModelIndex &parent, int start, int end); + void _q_updateSpanInsertedColumns(const QModelIndex &parent, int start, int end); + void _q_updateSpanRemovedRows(const QModelIndex &parent, int start, int end); + void _q_updateSpanRemovedColumns(const QModelIndex &parent, int start, int end); }; QT_END_NAMESPACE diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index deb0b71..4bf7c2e 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -164,6 +164,10 @@ private slots: void span(); void spans(); void spans_data(); + void spansAfterRowInsertion(); + void spansAfterColumnInsertion(); + void spansAfterRowRemoval(); + void spansAfterColumnRemoval(); void checkHeaderReset(); void checkHeaderMinSize(); @@ -268,6 +272,28 @@ public: return QVariant(); } + bool insertRows(int start, int count, const QModelIndex &parent = QModelIndex()) + { + if (start < 0 || start > row_count) + return false; + + beginInsertRows(parent, start, start + count - 1); + row_count += count; + endInsertRows(); + return true; + } + + bool removeRows(int start, int count, const QModelIndex &parent = QModelIndex()) + { + if (start < 0 || start >= row_count || row_count < count) + return false; + + beginRemoveRows(parent, start, start + count - 1); + row_count -= count; + endRemoveRows(); + return true; + } + void removeLastRow() { beginRemoveRows(QModelIndex(), row_count - 1, row_count - 1); @@ -282,6 +308,28 @@ public: endRemoveRows(); } + bool insertColumns(int start, int count, const QModelIndex &parent = QModelIndex()) + { + if (start < 0 || start > column_count) + return false; + + beginInsertColumns(parent, start, start + count - 1); + column_count += count; + endInsertColumns(); + return true; + } + + bool removeColumns(int start, int count, const QModelIndex &parent = QModelIndex()) + { + if (start < 0 || start >= column_count || column_count < count) + return false; + + beginRemoveColumns(parent, start, start + count - 1); + column_count -= count; + endRemoveColumns(); + return true; + } + void removeLastColumn() { beginRemoveColumns(QModelIndex(), column_count - 1, column_count - 1); @@ -2608,7 +2656,7 @@ void tst_QTableView::span_data() << -1 << -1 << 6 << 6 << 3 << 3 - << 3 << 3 + << 2 << 3 << true; } @@ -2797,6 +2845,149 @@ void tst_QTableView::spans() QCOMPARE(view.rowSpan(pos.x(), pos.y()), expectedRowSpan); } +void tst_QTableView::spansAfterRowInsertion() +{ + QtTestTableModel model(10, 10); + QtTestTableView view; + view.setModel(&model); + view.setSpan(3, 3, 3, 3); + view.show(); + QTest::qWait(50); + + // Insertion before the span only shifts the span. + view.model()->insertRows(0, 2); + QCOMPARE(view.rowSpan(3, 3), 1); + QCOMPARE(view.columnSpan(3, 3), 1); + QCOMPARE(view.rowSpan(5, 3), 3); + QCOMPARE(view.columnSpan(5, 3), 3); + + // Insertion happens before the given row, so it only shifts the span also. + view.model()->insertRows(5, 2); + QCOMPARE(view.rowSpan(5, 3), 1); + QCOMPARE(view.columnSpan(5, 3), 1); + QCOMPARE(view.rowSpan(7, 3), 3); + QCOMPARE(view.columnSpan(7, 3), 3); + + // Insertion inside the span expands it. + view.model()->insertRows(8, 2); + QCOMPARE(view.rowSpan(7, 3), 5); + QCOMPARE(view.columnSpan(7, 3), 3); + + // Insertion after the span does nothing to it. + view.model()->insertRows(12, 2); + QCOMPARE(view.rowSpan(7, 3), 5); + QCOMPARE(view.columnSpan(7, 3), 3); +} + +void tst_QTableView::spansAfterColumnInsertion() +{ + QtTestTableModel model(10, 10); + QtTestTableView view; + view.setModel(&model); + view.setSpan(3, 3, 3, 3); + view.show(); + QTest::qWait(50); + + // Insertion before the span only shifts the span. + view.model()->insertColumns(0, 2); + QCOMPARE(view.rowSpan(3, 3), 1); + QCOMPARE(view.columnSpan(3, 3), 1); + QCOMPARE(view.rowSpan(3, 5), 3); + QCOMPARE(view.columnSpan(3, 5), 3); + + // Insertion happens before the given column, so it only shifts the span also. + view.model()->insertColumns(5, 2); + QCOMPARE(view.rowSpan(3, 5), 1); + QCOMPARE(view.columnSpan(3, 5), 1); + QCOMPARE(view.rowSpan(3, 7), 3); + QCOMPARE(view.columnSpan(3, 7), 3); + + // Insertion inside the span expands it. + view.model()->insertColumns(8, 2); + QCOMPARE(view.rowSpan(3, 7), 3); + QCOMPARE(view.columnSpan(3, 7), 5); + + // Insertion after the span does nothing to it. + view.model()->insertColumns(12, 2); + QCOMPARE(view.rowSpan(3, 7), 3); + QCOMPARE(view.columnSpan(3, 7), 5); +} + +void tst_QTableView::spansAfterRowRemoval() +{ + QtTestTableModel model(10, 10); + QtTestTableView view; + view.setModel(&model); + + QList spans; + spans << QRect(0, 1, 1, 2) + << QRect(1, 2, 1, 2) + << QRect(2, 2, 1, 5) + << QRect(2, 8, 1, 2) + << QRect(3, 4, 1, 2) + << QRect(4, 4, 1, 4) + << QRect(5, 6, 1, 3) + << QRect(6, 7, 1, 3); + foreach (QRect span, spans) + view.setSpan(span.top(), span.left(), span.height(), span.width()); + + view.show(); + QTest::qWait(100); + view.model()->removeRows(3, 3); + + QList expectedSpans; + expectedSpans << QRect(0, 1, 1, 2) + << QRect(1, 2, 1, 1) + << QRect(2, 2, 1, 2) + << QRect(2, 5, 1, 2) + << QRect(3, 4, 1, 1) + << QRect(4, 3, 1, 2) + << QRect(5, 3, 1, 3) + << QRect(6, 4, 1, 3); + foreach (QRect span, expectedSpans) { + QCOMPARE(view.columnSpan(span.top(), span.left()), span.width()); + QCOMPARE(view.rowSpan(span.top(), span.left()), span.height()); + } +} + +void tst_QTableView::spansAfterColumnRemoval() +{ + QtTestTableModel model(10, 10); + QtTestTableView view; + view.setModel(&model); + + // Same set as above just swapping columns and rows. + QList spans; + spans << QRect(0, 1, 1, 2) + << QRect(1, 2, 1, 2) + << QRect(2, 2, 1, 5) + << QRect(2, 8, 1, 2) + << QRect(3, 4, 1, 2) + << QRect(4, 4, 1, 4) + << QRect(5, 6, 1, 3) + << QRect(6, 7, 1, 3); + foreach (QRect span, spans) + view.setSpan(span.left(), span.top(), span.width(), span.height()); + + view.show(); + QTest::qWait(100); + view.model()->removeColumns(3, 3); + + QList expectedSpans; + expectedSpans << QRect(0, 1, 1, 2) + << QRect(1, 2, 1, 1) + << QRect(2, 2, 1, 2) + << QRect(2, 5, 1, 2) + << QRect(3, 4, 1, 1) + << QRect(4, 3, 1, 2) + << QRect(5, 3, 1, 3) + << QRect(6, 4, 1, 3); + foreach (QRect span, expectedSpans) { + QCOMPARE(view.columnSpan(span.left(), span.top()), span.height()); + QCOMPARE(view.rowSpan(span.left(), span.top()), span.width()); + } +} + class Model : public QAbstractTableModel { Q_OBJECT diff --git a/tests/benchmarks/qtableview/tst_qtableview.cpp b/tests/benchmarks/qtableview/tst_qtableview.cpp index deeba3f..7247a23 100644 --- a/tests/benchmarks/qtableview/tst_qtableview.cpp +++ b/tests/benchmarks/qtableview/tst_qtableview.cpp @@ -75,6 +75,50 @@ public: return QVariant(); } + bool insertRows(int start, int count, const QModelIndex &parent = QModelIndex()) + { + if (start < 0 || start > row_count) + return false; + + beginInsertRows(parent, start, start + count - 1); + row_count += count; + endInsertRows(); + return true; + } + + bool removeRows(int start, int count, const QModelIndex &parent = QModelIndex()) + { + if (start < 0 || start >= row_count || row_count < count) + return false; + + beginRemoveRows(parent, start, start + count - 1); + row_count -= count; + endRemoveRows(); + return true; + } + + bool insertColumns(int start, int count, const QModelIndex &parent = QModelIndex()) + { + if (start < 0 || start > column_count) + return false; + + beginInsertColumns(parent, start, start + count - 1); + column_count += count; + endInsertColumns(); + return true; + } + + bool removeColumns(int start, int count, const QModelIndex &parent = QModelIndex()) + { + if (start < 0 || start >= column_count || column_count < count) + return false; + + beginRemoveColumns(parent, start, start + count - 1); + column_count -= count; + endRemoveColumns(); + return true; + } + int row_count; int column_count; }; @@ -99,6 +143,14 @@ private slots: void spanDraw(); void spanSelectColumn(); void spanSelectAll(); + void rowInsertion_data(); + void rowInsertion(); + void rowRemoval_data(); + void rowRemoval(); + void columnInsertion_data(); + void columnInsertion(); + void columnRemoval_data(); + void columnRemoval(); private: static inline void spanInit_helper(QTableView *); }; @@ -189,5 +241,127 @@ void tst_QTableView::spanSelectColumn() } } +typedef QVector SpanList; +Q_DECLARE_METATYPE(SpanList) + +void spansData() +{ + QTest::addColumn("spans"); + + QTest::newRow("Without spans") + << SpanList(); + + QTest::newRow("With spans") + << (SpanList() + << QRect(0, 1, 1, 2) + << QRect(1, 2, 1, 2) + << QRect(2, 2, 1, 5) + << QRect(2, 8, 1, 2) + << QRect(3, 4, 1, 2) + << QRect(4, 4, 1, 4) + << QRect(5, 6, 1, 3) + << QRect(6, 7, 1, 3)); +} + +void tst_QTableView::rowInsertion_data() +{ + spansData(); +} + +void tst_QTableView::rowInsertion() +{ + QFETCH(SpanList, spans); + + QtTestTableModel model(10, 10); + QTableView view; + view.setModel(&model); + + foreach (QRect span, spans) + view.setSpan(span.top(), span.left(), span.height(), span.width()); + view.show(); + QTest::qWait(50); + + QBENCHMARK_ONCE { + view.model()->insertRows(0, 2); + view.model()->insertRows(5, 2); + view.model()->insertRows(8, 2); + view.model()->insertRows(12, 2); + } +} + +void tst_QTableView::rowRemoval_data() +{ + spansData(); +} + +void tst_QTableView::rowRemoval() +{ + QFETCH(SpanList, spans); + + QtTestTableModel model(10, 10); + QTableView view; + view.setModel(&model); + + foreach (QRect span, spans) + view.setSpan(span.top(), span.left(), span.height(), span.width()); + view.show(); + QTest::qWait(50); + + QBENCHMARK_ONCE { + view.model()->removeRows(3, 3); + } +} + +void tst_QTableView::columnInsertion_data() +{ + spansData(); +} + +void tst_QTableView::columnInsertion() +{ + QFETCH(SpanList, spans); + + QtTestTableModel model(10, 10); + QTableView view; + view.setModel(&model); + + // Same set as for rowInsertion, just swapping columns and rows. + foreach (QRect span, spans) + view.setSpan(span.left(), span.top(), span.width(), span.height()); + view.show(); + QTest::qWait(50); + + QBENCHMARK_ONCE { + view.model()->insertColumns(0, 2); + view.model()->insertColumns(5, 2); + view.model()->insertColumns(8, 2); + view.model()->insertColumns(12, 2); + } +} + +void tst_QTableView::columnRemoval_data() +{ + spansData(); +} + +void tst_QTableView::columnRemoval() +{ + QFETCH(SpanList, spans); + + QtTestTableModel model(10, 10); + QTableView view; + view.setModel(&model); + + // Same set as for rowRemoval, just swapping columns and rows. + foreach (QRect span, spans) + view.setSpan(span.left(), span.top(), span.width(), span.height()); + view.show(); + QTest::qWait(50); + + QBENCHMARK_ONCE { + view.model()->removeColumns(3, 3); + } +} + QTEST_MAIN(tst_QTableView) #include "tst_qtableview.moc" -- cgit v0.12 From 622d615043c3ef4ab0bd547c0e65617580755532 Mon Sep 17 00:00:00 2001 From: ninerider Date: Tue, 6 Oct 2009 14:23:46 +0200 Subject: Numerical issues on Windows CE caused some image comparisons to fail. On Windows CE and possibly Symbian some filtering and blending functions of the SVG renderer will alter different pixels in two otherwise apparently identical images. Until this is not addressed in the renderers an exact image comparison is not alsways successful. Reviewed-by: banana joe (cherry picked from commit ba4c0b0048bab894047bc363ef7f7a3e12ef4d02) --- tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp index e1b5a41..c95d86c 100644 --- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp +++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp @@ -1294,10 +1294,17 @@ void tst_QSvgRenderer::testUseElement() p.begin(&images[i]); renderer.render(&p); p.end(); + if (i < 4 && i != 0) { QCOMPARE(images[0], images[i]); } else if (i > 4 && i < 7) { - QCOMPARE(images[4], images[i]); + if (sizeof(qreal) != sizeof(float)) + { + // These images use blending functions which due to numerical + // issues on Windows CE and likes differ in very few pixels. + // For this reason an exact comparison will fail. + QCOMPARE(images[4], images[i]); + } } else if (i > 7) { QCOMPARE(images[8], images[i]); } -- cgit v0.12 From cafa66b24879a648ef520e41e0e8ed6a11dcabc1 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 6 Oct 2009 14:26:58 +0200 Subject: Fix crash in QPlainTextEdit when using large fonts When using very large fonts, sometimes the scrollbar of the QPlainTextEdit will allow you to do scroll down past the end of the document, in which case the currentBlock in hitTest() is inValid() which caused an assert in currentBlock.next(). Task-number: QT-938 Reviewed-by: mae (cherry picked from commit d824af2348d11a7f364a1046a704268830f35f13) --- src/gui/widgets/qplaintextedit.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp index 5d13c36..2ed6cd7 100644 --- a/src/gui/widgets/qplaintextedit.cpp +++ b/src/gui/widgets/qplaintextedit.cpp @@ -519,6 +519,9 @@ QTextBlock QPlainTextEditControl::firstVisibleBlock() const int QPlainTextEditControl::hitTest(const QPointF &point, Qt::HitTestAccuracy ) const { int currentBlockNumber = topBlock; QTextBlock currentBlock = document()->findBlockByNumber(currentBlockNumber); + if (!currentBlock.isValid()) + return -1; + QPlainTextDocumentLayout *documentLayout = qobject_cast(document()->documentLayout()); Q_ASSERT(documentLayout); -- cgit v0.12 From e55607d3722c744641f8894ed1fa06b647538ba8 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Mon, 5 Oct 2009 17:08:29 +0200 Subject: tst_qnetworkreply: Add ioPostToHttpsUploadProgress Add a currently failing testcase. Related to task 261806 and others. Reviewed-by: Peter Hartmann (cherry picked from commit 6bbe0f3105fb8ec70aeb0952bec671b72b9f5400) --- tests/auto/qnetworkreply/certs/server.key | 15 ++++ tests/auto/qnetworkreply/certs/server.pem | 24 ++++++ tests/auto/qnetworkreply/tst_qnetworkreply.cpp | 104 +++++++++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 tests/auto/qnetworkreply/certs/server.key create mode 100644 tests/auto/qnetworkreply/certs/server.pem diff --git a/tests/auto/qnetworkreply/certs/server.key b/tests/auto/qnetworkreply/certs/server.key new file mode 100644 index 0000000..9d1664d --- /dev/null +++ b/tests/auto/qnetworkreply/certs/server.key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCnyKBKxBkFG2a6MuLS8RxvF4LkOS4BUZDbBDQyESHCDW9Z2FOQ +VD+Dj6nTs9XuGpuArsMlyV6lr0tgBaqg0ZEBH8oEg+NYHJkyRYRwclgDmEpji0H1 +CEnSkQJga+Rk/t2gqnQI6TRMkV8SPTdNVCytf1uYYDYCjDv2RfMnapuUnQIDAQAB +AoGANFzLkanTeSGNFM0uttBipFT9F4a00dqHz6JnO7zXAT26I5r8sU1pqQBb6uLz +/+Qz5Zwk8RUAQcsMRgJetuPQUb0JZjF6Duv24hNazqXBCu7AZzUenjafwmKC/8ri +KpX3fTwqzfzi//FKGgbXQ80yykSSliDL3kn/drATxsLCgQECQQDXhEFWLJ0vVZ1s +1Ekf+3NITE+DR16X+LQ4W6vyEHAjTbaNWtcTKdAWLA2l6N4WAAPYSi6awm+zMxx4 +VomVTsjdAkEAx0z+e7natLeFcrrq8pbU+wa6SAP1VfhQWKitxL1e7u/QO90NCpxE +oQYKzMkmmpOOFjQwEMAy1dvFMbm4LHlewQJAC/ksDBaUcQHHqjktCtrUb8rVjAyW +A8lscckeB2fEYyG5J6dJVaY4ClNOOs5yMDS2Afk1F6H/xKvtQ/5CzInA/QJATDub +K+BPU8jO9q+gpuIi3VIZdupssVGmCgObVCHLakG4uO04y9IyPhV9lA9tALtoIf4c +VIvv5fWGXBrZ48kZAQJBAJmVCdzQxd9LZI5vxijUCj5EI4e+x5DRqVUvyP8KCZrC +AiNyoDP85T+hBZaSXK3aYGpVwelyj3bvo1GrTNwNWLw= +-----END RSA PRIVATE KEY----- diff --git a/tests/auto/qnetworkreply/certs/server.pem b/tests/auto/qnetworkreply/certs/server.pem new file mode 100644 index 0000000..67eb495 --- /dev/null +++ b/tests/auto/qnetworkreply/certs/server.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEEzCCAvugAwIBAgIBADANBgkqhkiG9w0BAQUFADCBnDELMAkGA1UEBhMCTk8x +DTALBgNVBAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xs +dGVjaCBBU0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50 +cm9sbC5ubzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbTAe +Fw0wNzEyMDQwMTEwMzJaFw0zNTA0MjEwMTEwMzJaMGMxCzAJBgNVBAYTAk5PMQ0w +CwYDVQQIEwRPc2xvMRYwFAYDVQQKEw1Ucm9sbHRlY2ggQVNBMRQwEgYDVQQLEwtE +ZXZlbG9wbWVudDEXMBUGA1UEAxMOZmx1a2UudHJvbGwubm8wgZ8wDQYJKoZIhvcN +AQEBBQADgY0AMIGJAoGBAKfIoErEGQUbZroy4tLxHG8XguQ5LgFRkNsENDIRIcIN +b1nYU5BUP4OPqdOz1e4am4CuwyXJXqWvS2AFqqDRkQEfygSD41gcmTJFhHByWAOY +SmOLQfUISdKRAmBr5GT+3aCqdAjpNEyRXxI9N01ULK1/W5hgNgKMO/ZF8ydqm5Sd +AgMBAAGjggEaMIIBFjAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM +IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIYUEPSMBZuX3nxqEJIqv +Cnn05awwgbsGA1UdIwSBszCBsKGBoqSBnzCBnDELMAkGA1UEBhMCTk8xDTALBgNV +BAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xsdGVjaCBB +U0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50cm9sbC5u +bzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbYIJAI6otOiR +t1QuMA0GCSqGSIb3DQEBBQUAA4IBAQBtV1/RBUPwYgXsKnGl3BkI8sSmvbsl2cqJ +AQ7kzx/BjMgkGDVTWXvAQ7Qy5piypu8VBQtIX+GgDJepoXfYNRgwvKmP07dUx/Gp +nl3mGb/2PFsr2OQ+YhiIi9Mk4UCbDOYpFmKr6gUkcDaqVZPvAoEbIxCiBOtWlXX8 ++JSxXULFPzZEhV06LpBGiqK5b4euDBVAGTGQ/Dslu67xZhMNhZDZSTSP8l35ettN +XSf2dp01jAamTKOxsrZvHdejAP1y657qRKGvITR9x0LiSZEZi8CtuoKAqHFw9DUx +kWOEIJXpYK9ki8z/PYp2dD3IVW3kjsMrHOhCGK6f5mucNAbsavLD +-----END CERTIFICATE----- diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp index 578ab29..7863b4e 100644 --- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp @@ -258,6 +258,7 @@ private Q_SLOTS: void httpConnectionCount(); #ifndef QT_NO_OPENSSL + void ioPostToHttpsUploadProgress(); void ignoreSslErrorsList_data(); void ignoreSslErrorsList(); void ignoreSslErrorsListWithSlot_data(); @@ -3099,6 +3100,109 @@ void tst_QNetworkReply::ioPostToHttpNoBufferFlag() QCOMPARE(reply->error(), QNetworkReply::ContentReSendError); } +#ifndef QT_NO_OPENSSL +class SslServer : public QTcpServer { + Q_OBJECT +public: + SslServer() : socket(0) {}; + void incomingConnection(int socketDescriptor) { + QSslSocket *serverSocket = new QSslSocket; + serverSocket->setParent(this); + + if (serverSocket->setSocketDescriptor(socketDescriptor)) { + connect(serverSocket, SIGNAL(encrypted()), this, SLOT(encryptedSlot())); + serverSocket->setProtocol(QSsl::AnyProtocol); + connect(serverSocket, SIGNAL(sslErrors(const QList&)), serverSocket, SLOT(ignoreSslErrors())); + serverSocket->setLocalCertificate (SRCDIR "/certs/server.pem"); + serverSocket->setPrivateKey (SRCDIR "/certs/server.key"); + serverSocket->startServerEncryption(); + } else { + delete serverSocket; + } + } +signals: + void newEncryptedConnection(); +public slots: + void encryptedSlot() { + socket = (QSslSocket*) sender(); + emit newEncryptedConnection(); + } +public: + QSslSocket *socket; +}; + +// very similar to ioPostToHttpUploadProgress but for SSL +void tst_QNetworkReply::ioPostToHttpsUploadProgress() +{ + QFile sourceFile(SRCDIR "/bigfile"); + QVERIFY(sourceFile.open(QIODevice::ReadOnly)); + + // emulate a minimal https server + SslServer server; + server.listen(QHostAddress(QHostAddress::LocalHost), 0); + + // create the request + QUrl url = QUrl(QString("https://127.0.0.1:%1/").arg(server.serverPort())); + QNetworkRequest request(url); + QNetworkReplyPtr reply = manager.post(request, &sourceFile); + QSignalSpy spy(reply, SIGNAL(uploadProgress(qint64,qint64))); + connect(&server, SIGNAL(newEncryptedConnection()), &QTestEventLoop::instance(), SLOT(exitLoop())); + connect(reply, SIGNAL(sslErrors(const QList&)), reply, SLOT(ignoreSslErrors())); + + // get the request started and the incoming socket connected + QTestEventLoop::instance().enterLoop(10); + QVERIFY(!QTestEventLoop::instance().timeout()); + QTcpSocket *incomingSocket = server.socket; + QVERIFY(incomingSocket); + disconnect(&server, SIGNAL(newEncryptedConnection()), &QTestEventLoop::instance(), SLOT(exitLoop())); + + + incomingSocket->setReadBufferSize(1*1024); + QTestEventLoop::instance().enterLoop(2); + // some progress should have been made + QList args = spy.last(); + qDebug() << "tst_QNetworkReply::ioPostToHttpsUploadProgress" + << args.at(0).toLongLong() + << sourceFile.size() + << spy.size(); + QVERIFY(!args.isEmpty()); + QVERIFY(args.at(0).toLongLong() > 0); + // FIXME this is where it messes up + + QEXPECT_FAIL("", "Either the readBufferSize of QSslSocket is broken or we do upload too much. Hm.", Abort); + QVERIFY(args.at(0).toLongLong() != sourceFile.size()); + + incomingSocket->setReadBufferSize(32*1024); + incomingSocket->read(16*1024); + QTestEventLoop::instance().enterLoop(2); + // some more progress than before + QList args2 = spy.last(); + QVERIFY(!args2.isEmpty()); + QVERIFY(args2.at(0).toLongLong() > args.at(0).toLongLong()); + + // set the read buffer to unlimited + incomingSocket->setReadBufferSize(0); + QTestEventLoop::instance().enterLoop(10); + // progress should be finished + QList args3 = spy.last(); + QVERIFY(!args3.isEmpty()); + QVERIFY(args3.at(0).toLongLong() > args2.at(0).toLongLong()); + QCOMPARE(args3.at(0).toLongLong(), args3.at(1).toLongLong()); + QCOMPARE(args3.at(0).toLongLong(), sourceFile.size()); + + // after sending this, the QNAM should emit finished() + connect(reply, SIGNAL(finished()), &QTestEventLoop::instance(), SLOT(exitLoop())); + incomingSocket->write("HTTP/1.0 200 OK\r\n"); + incomingSocket->write("Content-Length: 0\r\n"); + incomingSocket->write("\r\n"); + QTestEventLoop::instance().enterLoop(10); + // not timeouted -> finished() was emitted + QVERIFY(!QTestEventLoop::instance().timeout()); + + incomingSocket->close(); + server.close(); +} +#endif void tst_QNetworkReply::ioPostToHttpUploadProgress() { -- cgit v0.12 From 4dcc1c93c397ecbed6eebebd99e56e6b18ae8633 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 6 Oct 2009 11:08:42 +0200 Subject: tst_QGraphicsLinearLayout::layoutDirection fixed for Windows mobile This test depends on a layout spacing set to 6. The Windows mobile style has layout spacing 8. Reviewed-by: mauricek (cherry picked from commit ad52b10726aa72c253e220c06d3c7c76ef76366e) --- tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp b/tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp index 4e46819..4f28df4 100644 --- a/tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp +++ b/tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp @@ -1370,6 +1370,8 @@ void tst_QGraphicsLinearLayout::layoutDirection() QGraphicsWidget *window = new QGraphicsWidget(0, Qt::Window); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout; layout->setContentsMargins(1, 2, 3, 4); + layout->setSpacing(6); + RectWidget *w1 = new RectWidget; w1->setPreferredSize(20, 20); w1->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); -- cgit v0.12 From 5430688f93425cdc14507fefbc98de40e5f75da7 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 6 Oct 2009 11:38:02 +0200 Subject: tst_QGraphicsView::task245469_itemsAtPointWithClip Windows mobile fix We must make sure that the graphics view scene is centered to make this test work. On Windows mobile, the widget was too wide and the scene wasn't centered. Reviewed-by: thartman (cherry picked from commit 1627b135a7ec37862d7e3764fd545e75ca38bfd7) --- tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index 921f7f8..df3ebef 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -2977,6 +2977,7 @@ void tst_QGraphicsView::task245469_itemsAtPointWithClip() parent->setFlag(QGraphicsItem::ItemClipsChildrenToShape); QGraphicsView view(&scene); + view.resize(150,150); view.rotate(90); view.show(); QTest::qWaitForWindowShown(&view); -- cgit v0.12 From ddd5cf293a5636202b905efc880615e5c34bf1b3 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 6 Oct 2009 14:53:15 +0200 Subject: QAbstractSocket::setSocketOption: Make const reference After 4.6 API review. Reviewed-by: Volker Hilsheimer (cherry picked from commit f83ae188edb09a94b25b962c8a8b793180d22b67) --- src/network/socket/qabstractsocket.cpp | 2 +- src/network/socket/qabstractsocket.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 675e88a..86ccef2 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -1576,7 +1576,7 @@ bool QAbstractSocket::setSocketDescriptor(int socketDescriptor, SocketState sock \sa socketOption() \since 4.6 */ -void QAbstractSocket::setSocketOption(QAbstractSocket::SocketOption option, QVariant value) +void QAbstractSocket::setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value) { if (!d_func()->socketEngine) return; diff --git a/src/network/socket/qabstractsocket.h b/src/network/socket/qabstractsocket.h index 4a7763f..5d94a01 100644 --- a/src/network/socket/qabstractsocket.h +++ b/src/network/socket/qabstractsocket.h @@ -154,8 +154,8 @@ public: OpenMode openMode = ReadWrite); // ### Qt 5: Make virtual? - void setSocketOption(QAbstractSocket::SocketOption o, QVariant v); - QVariant socketOption(QAbstractSocket::SocketOption o); + void setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value); + QVariant socketOption(QAbstractSocket::SocketOption option); SocketType socketType() const; SocketState state() const; -- cgit v0.12 From 1f65d0b78eac03f0e6e4242a0d93c81ae5430485 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 6 Oct 2009 15:06:16 +0200 Subject: compile without QT3SUPPORT Reviewed-by: thartman (cherry picked from commit 971adae01406f71ed9f0bb9cb2be5eddc259e77e) --- src/gui/statemachine/qguistatemachine.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/statemachine/qguistatemachine.cpp b/src/gui/statemachine/qguistatemachine.cpp index 5ff1164..1de5ffa 100644 --- a/src/gui/statemachine/qguistatemachine.cpp +++ b/src/gui/statemachine/qguistatemachine.cpp @@ -305,8 +305,10 @@ static QEvent *cloneEvent(QEvent *e) case QEvent::AcceptDropsChange: return new QEvent(*e); +#ifdef QT3_SUPPORT case QEvent::MenubarUpdated: return new QMenubarUpdatedEvent(*static_cast(e)); +#endif case QEvent::ZeroTimerEvent: Q_ASSERT_X(false, "cloneEvent()", "not implemented"); -- cgit v0.12 From c7721a0de7378860e6d763ba489750b7c31c095b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 2 Oct 2009 12:38:16 +0200 Subject: Fixed bug in GL 2 engine when using beginNativePainting. Need to set shader manager to dirty in case we change the shader program using native calls. Reviewed-by: Trond (cherry picked from commit 283670c8fbdda2898879066c7e14d3b0cb5ef442) --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 073f7db..7cd5aa4 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -762,6 +762,8 @@ void QGL2PaintEngineEx::beginNativePainting() d->dirtyStencilRegion = QRect(0, 0, d->width, d->height); d->resetGLState(); + d->shaderManager->setDirty(); + d->needsSync = true; } -- cgit v0.12 From 93796d0b20fdbef51a0ec0a6e4a8e7c44425262c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 2 Oct 2009 13:18:52 +0200 Subject: Fixed some projective transform rendering bugs on qreal=float platforms. We should set the near clip slightly higher when qreal is float to avoid numerical precision problems. Reviewed-by: Trond (cherry picked from commit addc0cbdbe21da27f7ad9f0ee05a16e24afa392d) --- src/gui/painting/qtransform.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp index abe9e5e..8118450 100644 --- a/src/gui/painting/qtransform.cpp +++ b/src/gui/painting/qtransform.cpp @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE -#define Q_NEAR_CLIP 0.000001 +#define Q_NEAR_CLIP (sizeof(qreal) == sizeof(double) ? 0.000001 : 0.0001) #ifdef MAP # undef MAP -- cgit v0.12 From ac8530959c95889c3a1717cacfc935d2038fc741 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 6 Oct 2009 15:21:01 +0200 Subject: add missing include Necessary since the SignalEvent class was moved to qstatemachine.h. (cherry picked from commit cbc2508fc8cb0f16a061f778f777f8363640fcc8) --- src/corelib/statemachine/qstatemachine.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/corelib/statemachine/qstatemachine.h b/src/corelib/statemachine/qstatemachine.h index 321a05c..13b6fe2 100644 --- a/src/corelib/statemachine/qstatemachine.h +++ b/src/corelib/statemachine/qstatemachine.h @@ -48,6 +48,7 @@ #include #include #include +#include QT_BEGIN_HEADER -- cgit v0.12 From bfe30dec4a1ba6a924076ea4c035c0c57d62583f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 25 Sep 2009 17:12:42 +0200 Subject: Fixed missing stencil buffer clear when scissor testing is disabled. (cherry picked from commit e8a3b49d6d42b213fd4fd55837f6180935a8a603) --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 7cd5aa4..242d02d 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1645,7 +1645,9 @@ void QGL2PaintEngineExPrivate::updateDepthScissorTest() else glDisable(GL_DEPTH_TEST); -#ifndef QT_GL_NO_SCISSOR_TEST +#ifdef QT_GL_NO_SCISSOR_TEST + currentScissorBounds = QRect(0, 0, width, height); +#else QRect bounds = q->state()->rectangleClip; if (!q->state()->clipEnabled) { if (use_system_clip) -- cgit v0.12 From a351cc0334709a4b16bf9ddfe00524ea9ec2524a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 25 Sep 2009 17:02:53 +0200 Subject: Moved maxDepth out of state object and got rid of unused state members. (cherry picked from commit 6372c2865ab6924127b78f968bdd41f8d3f9c637) --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 19 ++++++++----------- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 4 +--- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 242d02d..197c7a9 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1796,21 +1796,21 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) case Qt::IntersectClip: state()->rectangleClip = state()->rectangleClip.intersected(pathRect); d->updateDepthScissorTest(); - ++state()->maxDepth; - d->writeClip(path, state()->maxDepth); - state()->currentDepth = state()->maxDepth - 1; + ++d->maxDepth; + d->writeClip(path, d->maxDepth); + state()->currentDepth = d->maxDepth - 1; state()->depthTestEnabled = true; break; case Qt::UniteClip: { #ifndef QT_GL_NO_SCISSOR_TEST if (state()->rectangleClip.isValid()) { - ++state()->maxDepth; + d->maxDepth; QPainterPath path; path.addRect(state()->rectangleClip); // flush the existing clip rectangle to the depth buffer - d->writeClip(qtVectorPathForPath(state()->matrix.inverted().map(path)), state()->maxDepth); + d->writeClip(qtVectorPathForPath(state()->matrix.inverted().map(path)), d->maxDepth); } QRect oldRectangleClip = state()->rectangleClip; @@ -1831,9 +1831,9 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) #endif glDepthFunc(GL_ALWAYS); // now write the clip path - d->writeClip(path, state()->maxDepth); + d->writeClip(path, d->maxDepth); state()->canRestoreClip = false; - state()->currentDepth = state()->maxDepth - 1; + state()->currentDepth = d->maxDepth - 1; state()->depthTestEnabled = true; break; } @@ -1874,7 +1874,7 @@ void QGL2PaintEngineExPrivate::systemStateChanged() q->state()->needsDepthBufferClear = true; q->state()->currentDepth = 1; - q->state()->maxDepth = 4; + maxDepth = 4; q->state()->rectangleClip = use_system_clip ? systemClip.boundingRect() : QRect(0, 0, width, height); updateDepthScissorTest(); @@ -1945,7 +1945,6 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) d->updateDepthScissorTest(); glDepthMask(false); glDepthFunc(GL_LESS); - s->maxDepth = old_state->maxDepth; } else { d->regenerateDepthClip(); } @@ -1981,7 +1980,6 @@ QOpenGL2PaintEngineState::QOpenGL2PaintEngineState(QOpenGL2PaintEngineState &oth depthTestEnabled = other.depthTestEnabled; scissorTestEnabled = other.scissorTestEnabled; currentDepth = other.currentDepth; - maxDepth = other.maxDepth; canRestoreClip = other.canRestoreClip; rectangleClip = other.rectangleClip; } @@ -1991,7 +1989,6 @@ QOpenGL2PaintEngineState::QOpenGL2PaintEngineState() needsDepthBufferClear = true; depthTestEnabled = false; currentDepth = 1; - maxDepth = 4; canRestoreClip = true; } diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index 12123f3..189d5be 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -83,16 +83,13 @@ public: ~QOpenGL2PaintEngineState(); bool needsDepthBufferClear; - qreal depthBufferClearValue; bool depthTestEnabled; bool scissorTestEnabled; - uint maxDepth; uint currentDepth; bool canRestoreClip; QRect rectangleClip; - bool hasRectangleClip; }; class Q_OPENGL_EXPORT QGL2PaintEngineEx : public QPaintEngineEx @@ -226,6 +223,7 @@ public: QRegion dirtyStencilRegion; QRect currentScissorBounds; + uint maxDepth; const QBrush* currentBrush; // May not be the state's brush! -- cgit v0.12 From bf65e5cbdcc28fd19f8432feb1a92c96b56a9027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 25 Sep 2009 17:22:48 +0200 Subject: Refactored GL 2 engine UniteClip to always increase max depth. (cherry picked from commit af8ff76bf25b6b4d01d89bea42baab65ed7e09ea) --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 197c7a9..17b4808 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1802,10 +1802,8 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) state()->depthTestEnabled = true; break; case Qt::UniteClip: { -#ifndef QT_GL_NO_SCISSOR_TEST + ++d->maxDepth; if (state()->rectangleClip.isValid()) { - d->maxDepth; - QPainterPath path; path.addRect(state()->rectangleClip); @@ -1813,6 +1811,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) d->writeClip(qtVectorPathForPath(state()->matrix.inverted().map(path)), d->maxDepth); } +#ifndef QT_GL_NO_SCISSOR_TEST QRect oldRectangleClip = state()->rectangleClip; state()->rectangleClip = state()->rectangleClip.united(pathRect); -- cgit v0.12 From 792e60ceafcd030c5d248d0edff83e1041c6476b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 25 Sep 2009 17:20:50 +0200 Subject: Made GL 2 paint engine waste less bits in clipping algorithm. (cherry picked from commit aaf695a3fad8d84f3d9483a573732350445d453a) --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 17b4808..c0959ae 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1710,7 +1710,7 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint depth) updateMatrix(); if (q->state()->needsDepthBufferClear) { glDepthMask(true); - glClearDepth(rawDepth(2)); + glClearDepth(rawDepth(1)); glClear(GL_DEPTH_BUFFER_BIT); q->state()->needsDepthBufferClear = false; glDepthMask(false); @@ -1872,8 +1872,8 @@ void QGL2PaintEngineExPrivate::systemStateChanged() q->state()->depthTestEnabled = false; q->state()->needsDepthBufferClear = true; - q->state()->currentDepth = 1; - maxDepth = 4; + q->state()->currentDepth = 0; + maxDepth = 1; q->state()->rectangleClip = use_system_clip ? systemClip.boundingRect() : QRect(0, 0, width, height); updateDepthScissorTest(); @@ -1901,7 +1901,7 @@ void QGL2PaintEngineExPrivate::systemStateChanged() path.addRegion(systemClip); glDepthFunc(GL_ALWAYS); - writeClip(qtVectorPathForPath(q->state()->matrix.inverted().map(path)), 2); + writeClip(qtVectorPathForPath(q->state()->matrix.inverted().map(path)), 1); glDepthFunc(GL_LESS); glEnable(GL_DEPTH_TEST); @@ -1987,7 +1987,6 @@ QOpenGL2PaintEngineState::QOpenGL2PaintEngineState() { needsDepthBufferClear = true; depthTestEnabled = false; - currentDepth = 1; canRestoreClip = true; } -- cgit v0.12 From e84187d0b5dea4997d683d004bd37863f7a5f2ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 25 Sep 2009 17:30:56 +0200 Subject: Switched to using GL_LEQUAL instead of GL_LESS in GL 2 engine. (cherry picked from commit 2f268b40b290c4513d2d06b75ad681b5550eeaa8) --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index c0959ae..602754c 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -774,6 +774,7 @@ void QGL2PaintEngineExPrivate::resetGLState() glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); glDepthMask(true); + glDepthFunc(GL_LESS); glClearDepth(1); } @@ -1565,7 +1566,7 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) if (!d->inRenderText) { glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); - glDepthFunc(GL_LESS); + glDepthFunc(GL_LEQUAL); glDepthMask(false); } @@ -1631,7 +1632,7 @@ void QGL2PaintEngineEx::ensureActive() d->transferMode(BrushDrawingMode); glViewport(0, 0, d->width, d->height); glDepthMask(false); - glDepthFunc(GL_LESS); + glDepthFunc(GL_LEQUAL); d->needsSync = false; setState(state()); } @@ -1693,7 +1694,7 @@ void QGL2PaintEngineEx::clipEnabledChanged() d->regenerateDepthClip(); } else { if (d->use_system_clip) { - state()->currentDepth = 0; + state()->currentDepth = 1; } else { state()->depthTestEnabled = false; } @@ -1785,7 +1786,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) case Qt::NoClip: if (d->use_system_clip) { state()->depthTestEnabled = true; - state()->currentDepth = 0; + state()->currentDepth = 1; } else { state()->depthTestEnabled = false; } @@ -1798,7 +1799,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) d->updateDepthScissorTest(); ++d->maxDepth; d->writeClip(path, d->maxDepth); - state()->currentDepth = d->maxDepth - 1; + state()->currentDepth = d->maxDepth; state()->depthTestEnabled = true; break; case Qt::UniteClip: { @@ -1832,7 +1833,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) // now write the clip path d->writeClip(path, d->maxDepth); state()->canRestoreClip = false; - state()->currentDepth = d->maxDepth - 1; + state()->currentDepth = d->maxDepth; state()->depthTestEnabled = true; break; } @@ -1840,7 +1841,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) break; } - glDepthFunc(GL_LESS); + glDepthFunc(GL_LEQUAL); if (state()->depthTestEnabled) { glEnable(GL_DEPTH_TEST); d->simpleShaderDepthUniformDirty = true; @@ -1872,7 +1873,7 @@ void QGL2PaintEngineExPrivate::systemStateChanged() q->state()->depthTestEnabled = false; q->state()->needsDepthBufferClear = true; - q->state()->currentDepth = 0; + q->state()->currentDepth = 1; maxDepth = 1; q->state()->rectangleClip = use_system_clip ? systemClip.boundingRect() : QRect(0, 0, width, height); @@ -1902,7 +1903,7 @@ void QGL2PaintEngineExPrivate::systemStateChanged() glDepthFunc(GL_ALWAYS); writeClip(qtVectorPathForPath(q->state()->matrix.inverted().map(path)), 1); - glDepthFunc(GL_LESS); + glDepthFunc(GL_LEQUAL); glEnable(GL_DEPTH_TEST); q->state()->depthTestEnabled = true; @@ -1943,7 +1944,7 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) if (old_state && old_state != s && old_state->canRestoreClip) { d->updateDepthScissorTest(); glDepthMask(false); - glDepthFunc(GL_LESS); + glDepthFunc(GL_LEQUAL); } else { d->regenerateDepthClip(); } -- cgit v0.12 From 7f27fbe6aa78e30b7716659a0e9534f3ab7fefd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 25 Sep 2009 17:36:46 +0200 Subject: Renamed GL 2 engine variables to be clip buffer agnostic. (cherry picked from commit e8c73ac916ce5cb0492c1d1ba817e59b8df34158) --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 90 +++++++++++----------- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 14 ++-- 2 files changed, 52 insertions(+), 52 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 602754c..7eb9afc 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -276,7 +276,7 @@ void QGLTextureGlyphCache::resizeTextureData(int width, int height) glBindFramebuffer(GL_FRAMEBUFFER_EXT, ctx->d_ptr->current_fbo); glViewport(0, 0, pex->width, pex->height); - pex->updateDepthScissorTest(); + pex->updateClipScissorTest(); #ifndef QT_OPENGL_ES_2 if (pex->inRenderText) @@ -404,7 +404,7 @@ void QGL2PaintEngineExPrivate::useSimpleShader() } if (simpleShaderDepthUniformDirty) { - shaderManager->simpleProgram()->setUniformValue("depth", normalizedDeviceDepth(q->state()->currentDepth)); + shaderManager->simpleProgram()->setUniformValue("depth", normalizedDeviceDepth(q->state()->currentClip)); simpleShaderDepthUniformDirty = false; } } @@ -1018,7 +1018,7 @@ bool QGL2PaintEngineExPrivate::prepareForDraw(bool srcPixelsAreOpaque) } if (depthUniformDirty) { - shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Depth), normalizedDeviceDepth(q->state()->currentDepth)); + shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Depth), normalizedDeviceDepth(q->state()->currentClip)); depthUniformDirty = false; } @@ -1638,10 +1638,10 @@ void QGL2PaintEngineEx::ensureActive() } } -void QGL2PaintEngineExPrivate::updateDepthScissorTest() +void QGL2PaintEngineExPrivate::updateClipScissorTest() { Q_Q(QGL2PaintEngineEx); - if (q->state()->depthTestEnabled) + if (q->state()->clipTestEnabled) glEnable(GL_DEPTH_TEST); else glDisable(GL_DEPTH_TEST); @@ -1691,29 +1691,29 @@ void QGL2PaintEngineEx::clipEnabledChanged() d->depthUniformDirty = true; if (painter()->hasClipping()) { - d->regenerateDepthClip(); + d->regenerateClip(); } else { if (d->use_system_clip) { - state()->currentDepth = 1; + state()->currentClip = 1; } else { - state()->depthTestEnabled = false; + state()->clipTestEnabled = false; } - d->updateDepthScissorTest(); + d->updateClipScissorTest(); } } -void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint depth) +void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) { transferMode(BrushDrawingMode); if (matrixDirty) updateMatrix(); - if (q->state()->needsDepthBufferClear) { + if (q->state()->needsClipBufferClear) { glDepthMask(true); glClearDepth(rawDepth(1)); glClear(GL_DEPTH_BUFFER_BIT); - q->state()->needsDepthBufferClear = false; + q->state()->needsClipBufferClear = false; glDepthMask(false); } @@ -1733,7 +1733,7 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint depth) glColorMask(false, false, false, false); glDepthMask(true); - shaderManager->simpleProgram()->setUniformValue("depth", normalizedDeviceDepth(depth)); + shaderManager->simpleProgram()->setUniformValue("depth", normalizedDeviceDepth(value)); simpleShaderDepthUniformDirty = true; glEnable(GL_DEPTH_TEST); @@ -1774,7 +1774,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) if (state()->matrix.type() <= QTransform::TxScale) { state()->rectangleClip = state()->rectangleClip.intersected(state()->matrix.mapRect(rect).toRect()); - d->updateDepthScissorTest(); + d->updateClipScissorTest(); return; } } @@ -1785,38 +1785,38 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) switch (op) { case Qt::NoClip: if (d->use_system_clip) { - state()->depthTestEnabled = true; - state()->currentDepth = 1; + state()->clipTestEnabled = true; + state()->currentClip = 1; } else { - state()->depthTestEnabled = false; + state()->clipTestEnabled = false; } state()->rectangleClip = QRect(0, 0, d->width, d->height); state()->canRestoreClip = false; - d->updateDepthScissorTest(); + d->updateClipScissorTest(); break; case Qt::IntersectClip: state()->rectangleClip = state()->rectangleClip.intersected(pathRect); - d->updateDepthScissorTest(); - ++d->maxDepth; - d->writeClip(path, d->maxDepth); - state()->currentDepth = d->maxDepth; - state()->depthTestEnabled = true; + d->updateClipScissorTest(); + ++d->maxClip; + d->writeClip(path, d->maxClip); + state()->currentClip = d->maxClip; + state()->clipTestEnabled = true; break; case Qt::UniteClip: { - ++d->maxDepth; + ++d->maxClip; if (state()->rectangleClip.isValid()) { QPainterPath path; path.addRect(state()->rectangleClip); // flush the existing clip rectangle to the depth buffer - d->writeClip(qtVectorPathForPath(state()->matrix.inverted().map(path)), d->maxDepth); + d->writeClip(qtVectorPathForPath(state()->matrix.inverted().map(path)), d->maxClip); } #ifndef QT_GL_NO_SCISSOR_TEST QRect oldRectangleClip = state()->rectangleClip; state()->rectangleClip = state()->rectangleClip.united(pathRect); - d->updateDepthScissorTest(); + d->updateClipScissorTest(); QRegion extendRegion = QRegion(state()->rectangleClip) - oldRectangleClip; @@ -1831,10 +1831,10 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) #endif glDepthFunc(GL_ALWAYS); // now write the clip path - d->writeClip(path, d->maxDepth); + d->writeClip(path, d->maxClip); state()->canRestoreClip = false; - state()->currentDepth = d->maxDepth; - state()->depthTestEnabled = true; + state()->currentClip = d->maxClip; + state()->clipTestEnabled = true; break; } default: @@ -1842,14 +1842,14 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) } glDepthFunc(GL_LEQUAL); - if (state()->depthTestEnabled) { + if (state()->clipTestEnabled) { glEnable(GL_DEPTH_TEST); d->simpleShaderDepthUniformDirty = true; d->depthUniformDirty = true; } } -void QGL2PaintEngineExPrivate::regenerateDepthClip() +void QGL2PaintEngineExPrivate::regenerateClip() { systemStateChanged(); replayClipOperations(); @@ -1870,14 +1870,14 @@ void QGL2PaintEngineExPrivate::systemStateChanged() } } - q->state()->depthTestEnabled = false; - q->state()->needsDepthBufferClear = true; + q->state()->clipTestEnabled = false; + q->state()->needsClipBufferClear = true; - q->state()->currentDepth = 1; - maxDepth = 1; + q->state()->currentClip = 1; + maxClip = 1; q->state()->rectangleClip = use_system_clip ? systemClip.boundingRect() : QRect(0, 0, width, height); - updateDepthScissorTest(); + updateClipScissorTest(); if (use_system_clip) { #ifndef QT_GL_NO_SCISSOR_TEST @@ -1891,7 +1891,7 @@ void QGL2PaintEngineExPrivate::systemStateChanged() return; } #endif - q->state()->needsDepthBufferClear = false; + q->state()->needsClipBufferClear = false; glDepthMask(true); @@ -1906,7 +1906,7 @@ void QGL2PaintEngineExPrivate::systemStateChanged() glDepthFunc(GL_LEQUAL); glEnable(GL_DEPTH_TEST); - q->state()->depthTestEnabled = true; + q->state()->clipTestEnabled = true; simpleShaderDepthUniformDirty = true; depthUniformDirty = true; @@ -1942,11 +1942,11 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) d->shaderManager->setDirty(); if (old_state && old_state != s && old_state->canRestoreClip) { - d->updateDepthScissorTest(); + d->updateClipScissorTest(); glDepthMask(false); glDepthFunc(GL_LEQUAL); } else { - d->regenerateDepthClip(); + d->regenerateClip(); } } @@ -1976,18 +1976,18 @@ void QGL2PaintEngineEx::setRenderTextActive(bool active) QOpenGL2PaintEngineState::QOpenGL2PaintEngineState(QOpenGL2PaintEngineState &other) : QPainterState(other) { - needsDepthBufferClear = other.needsDepthBufferClear; - depthTestEnabled = other.depthTestEnabled; + needsClipBufferClear = other.needsClipBufferClear; + clipTestEnabled = other.clipTestEnabled; scissorTestEnabled = other.scissorTestEnabled; - currentDepth = other.currentDepth; + currentClip = other.currentClip; canRestoreClip = other.canRestoreClip; rectangleClip = other.rectangleClip; } QOpenGL2PaintEngineState::QOpenGL2PaintEngineState() { - needsDepthBufferClear = true; - depthTestEnabled = false; + needsClipBufferClear = true; + clipTestEnabled = false; canRestoreClip = true; } diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index 189d5be..fc61905 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -82,11 +82,11 @@ public: QOpenGL2PaintEngineState(); ~QOpenGL2PaintEngineState(); - bool needsDepthBufferClear; + bool needsClipBufferClear; - bool depthTestEnabled; + bool clipTestEnabled; bool scissorTestEnabled; - uint currentDepth; + uint currentClip; bool canRestoreClip; QRect rectangleClip; @@ -223,7 +223,7 @@ public: QRegion dirtyStencilRegion; QRect currentScissorBounds; - uint maxDepth; + uint maxClip; const QBrush* currentBrush; // May not be the state's brush! @@ -240,10 +240,10 @@ public: QGLEngineShaderManager* shaderManager; - void writeClip(const QVectorPath &path, uint depth); - void updateDepthScissorTest(); + void writeClip(const QVectorPath &path, uint value); + void updateClipScissorTest(); void setScissor(const QRect &rect); - void regenerateDepthClip(); + void regenerateClip(); void systemStateChanged(); uint use_system_clip : 1; -- cgit v0.12 From e1dfa019ca04c00a6567b8038c25556235540d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 28 Sep 2009 10:24:09 +0200 Subject: Got rid of some redundant state changes regarding GL depth state. (cherry picked from commit a815840a7f2272b128de4a52497626c49373c8c9) --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 23 +++++++++------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 7eb9afc..b7f9e2c 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1566,8 +1566,6 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) if (!d->inRenderText) { glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); - glDepthFunc(GL_LEQUAL); - glDepthMask(false); } #if !defined(QT_OPENGL_ES_2) @@ -1631,8 +1629,6 @@ void QGL2PaintEngineEx::ensureActive() if (d->needsSync) { d->transferMode(BrushDrawingMode); glViewport(0, 0, d->width, d->height); - glDepthMask(false); - glDepthFunc(GL_LEQUAL); d->needsSync = false; setState(state()); } @@ -1714,18 +1710,23 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) glClearDepth(rawDepth(1)); glClear(GL_DEPTH_BUFFER_BIT); q->state()->needsClipBufferClear = false; - glDepthMask(false); } + glDepthMask(false); + if (path.isEmpty()) return; glDisable(GL_BLEND); - glDepthMask(false); vertexCoordinateArray.clear(); vertexCoordinateArray.addPath(path, inverseScale); + if (q->state()->clipTestEnabled) + glDepthFunc(GL_LEQUAL); + else + glDepthFunc(GL_ALWAYS); + glDepthMask(GL_FALSE); fillStencilWithVertexArray(vertexCoordinateArray, path.hasWindingFill()); @@ -1746,6 +1747,7 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) composite(vertexCoordinateArray.boundingRect()); glDisable(GL_STENCIL_TEST); + glDepthFunc(GL_LEQUAL); glStencilMask(0); glColorMask(true, true, true, true); @@ -1812,6 +1814,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) d->writeClip(qtVectorPathForPath(state()->matrix.inverted().map(path)), d->maxClip); } + state()->clipTestEnabled = false; #ifndef QT_GL_NO_SCISSOR_TEST QRect oldRectangleClip = state()->rectangleClip; @@ -1820,7 +1823,6 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) QRegion extendRegion = QRegion(state()->rectangleClip) - oldRectangleClip; - glDepthFunc(GL_ALWAYS); if (!extendRegion.isEmpty()) { QPainterPath extendPath; extendPath.addRegion(extendRegion); @@ -1829,7 +1831,6 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) d->writeClip(qtVectorPathForPath(state()->matrix.inverted().map(extendPath)), 0); } #endif - glDepthFunc(GL_ALWAYS); // now write the clip path d->writeClip(path, d->maxClip); state()->canRestoreClip = false; @@ -1841,9 +1842,7 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) break; } - glDepthFunc(GL_LEQUAL); if (state()->clipTestEnabled) { - glEnable(GL_DEPTH_TEST); d->simpleShaderDepthUniformDirty = true; d->depthUniformDirty = true; } @@ -1901,11 +1900,8 @@ void QGL2PaintEngineExPrivate::systemStateChanged() QPainterPath path; path.addRegion(systemClip); - glDepthFunc(GL_ALWAYS); writeClip(qtVectorPathForPath(q->state()->matrix.inverted().map(path)), 1); - glDepthFunc(GL_LEQUAL); - glEnable(GL_DEPTH_TEST); q->state()->clipTestEnabled = true; simpleShaderDepthUniformDirty = true; @@ -1943,7 +1939,6 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) if (old_state && old_state != s && old_state->canRestoreClip) { d->updateClipScissorTest(); - glDepthMask(false); glDepthFunc(GL_LEQUAL); } else { d->regenerateClip(); -- cgit v0.12 From b4d751f565e84227a16021fcbc4fc7c700293662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 28 Sep 2009 10:31:46 +0200 Subject: Moved GL 2 clip clearing code into a common function. (cherry picked from commit 6d17e09c274803d324e8a8db579aaafaefaab33f) --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 28 +++++++++++----------- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 1 + 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index b7f9e2c..13f0079 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1699,25 +1699,30 @@ void QGL2PaintEngineEx::clipEnabledChanged() } } +void QGL2PaintEngineExPrivate::clearClip(uint value) +{ + glDepthMask(true); + glClearDepth(rawDepth(value)); + glClear(GL_DEPTH_BUFFER_BIT); + glDepthMask(false); + + q->state()->needsClipBufferClear = false; +} + void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) { transferMode(BrushDrawingMode); if (matrixDirty) updateMatrix(); - if (q->state()->needsClipBufferClear) { - glDepthMask(true); - glClearDepth(rawDepth(1)); - glClear(GL_DEPTH_BUFFER_BIT); - q->state()->needsClipBufferClear = false; - } - - glDepthMask(false); + if (q->state()->needsClipBufferClear) + clearClip(1); if (path.isEmpty()) return; glDisable(GL_BLEND); + glDepthMask(false); vertexCoordinateArray.clear(); vertexCoordinateArray.addPath(path, inverseScale); @@ -1890,12 +1895,7 @@ void QGL2PaintEngineExPrivate::systemStateChanged() return; } #endif - q->state()->needsClipBufferClear = false; - - glDepthMask(true); - - glClearDepth(0); - glClear(GL_DEPTH_BUFFER_BIT); + clearClip(0); QPainterPath path; path.addRegion(systemClip); diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index fc61905..dd5f4fc 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -240,6 +240,7 @@ public: QGLEngineShaderManager* shaderManager; + void clearClip(uint value); void writeClip(const QVectorPath &path, uint value); void updateClipScissorTest(); void setScissor(const QRect &rect); -- cgit v0.12 From 0972f9e19b4d07300fe98a802591341ea3e973f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 6 Oct 2009 15:38:54 +0200 Subject: Switched to using stencil instead of depth buffer for clipping. Based on Aaron Kennedy's patch. All tests are green, but when enabling scissoring UniteClip seems to be broken atm. (cherry picked from commit 6b623c04060d274c048c0d4c6dbc5a90d1c31604) --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 277 +++++++++++++-------- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 17 +- 2 files changed, 173 insertions(+), 121 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 13f0079..0af8e71 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -87,6 +87,7 @@ QT_BEGIN_NAMESPACE //#define QT_GL_NO_SCISSOR_TEST +static const GLuint GL_STENCIL_HIGH_BIT = 0x80; static const GLuint QT_BRUSH_TEXTURE_UNIT = 0; static const GLuint QT_IMAGE_TEXTURE_UNIT = 0; //Can be the same as brush texture unit static const GLuint QT_MASK_TEXTURE_UNIT = 1; @@ -227,6 +228,7 @@ void QGLTextureGlyphCache::resizeTextureData(int width, int height) glPushAttrib(GL_ENABLE_BIT | GL_VIEWPORT_BIT | GL_SCISSOR_BIT); #endif + glDisable(GL_STENCIL_TEST); glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); glDisable(GL_BLEND); @@ -402,11 +404,6 @@ void QGL2PaintEngineExPrivate::useSimpleShader() shaderManager->simpleProgram()->setUniformValue("pmvMatrix", pmvMatrix); simpleShaderMatrixUniformDirty = false; } - - if (simpleShaderDepthUniformDirty) { - shaderManager->simpleProgram()->setUniformValue("depth", normalizedDeviceDepth(q->state()->currentClip)); - simpleShaderDepthUniformDirty = false; - } } void QGL2PaintEngineExPrivate::updateBrushTexture() @@ -771,6 +768,7 @@ void QGL2PaintEngineExPrivate::resetGLState() { glDisable(GL_BLEND); glActiveTexture(GL_TEXTURE0); + glDisable(GL_STENCIL_TEST); glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); glDepthMask(true); @@ -895,10 +893,10 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) fillStencilWithVertexArray(vertexCoordinateArray, path.hasWindingFill()); // Stencil the brush onto the dest buffer - glStencilFunc(GL_NOTEQUAL, 0, 0xFFFF); // Pass if stencil buff value != 0 - glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE); + glStencilFunc(GL_EQUAL, GL_STENCIL_HIGH_BIT, GL_STENCIL_HIGH_BIT); // Pass if stencil buff value != 0 + glStencilOp(GL_KEEP, GL_ZERO, GL_ZERO); + glStencilMask(GL_STENCIL_HIGH_BIT); - glEnable(GL_STENCIL_TEST); prepareForDraw(currentBrush->isOpaque()); #ifndef QT_OPENGL_ES_2 @@ -906,58 +904,137 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Depth), zValueForRenderText()); #endif composite(vertexCoordinateArray.boundingRect()); - glDisable(GL_STENCIL_TEST); - glStencilMask(0); + + updateClipScissorTest(); } } void QGL2PaintEngineExPrivate::fillStencilWithVertexArray(QGL2PEXVertexArray& vertexArray, bool useWindingFill) { +#ifndef QT_OPENGL_ES_2 + if (inRenderText) { + glPushAttrib(GL_ENABLE_BIT); + glDisable(GL_DEPTH_TEST); + } +#endif + // qDebug("QGL2PaintEngineExPrivate::fillStencilWithVertexArray()"); - glStencilMask(0xFFFF); // Enable stencil writes + glStencilMask(0xffff); // Enable stencil writes if (dirtyStencilRegion.intersects(currentScissorBounds)) { - // Clear the stencil buffer to zeros - glDisable(GL_STENCIL_TEST); + QVector clearRegion = dirtyStencilRegion.intersected(currentScissorBounds).rects(); glClearStencil(0); // Clear to zero - glClear(GL_STENCIL_BUFFER_BIT); + for (int i = 0; i < clearRegion.size(); ++i) { +#ifndef QT_GL_NO_SCISSOR_TEST + setScissor(clearRegion.at(i)); +#endif + glClear(GL_STENCIL_BUFFER_BIT); + } + dirtyStencilRegion -= currentScissorBounds; + +#ifndef QT_GL_NO_SCISSOR_TEST + updateClipScissorTest(); +#endif } glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); // Disable color writes - glStencilFunc(GL_ALWAYS, 0, 0xFFFF); // Always pass the stencil test + useSimpleShader(); + glEnable(GL_STENCIL_TEST); // For some reason, this has to happen _after_ the simple shader is use()'d - // Setup the stencil op: if (useWindingFill) { - glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR_WRAP); // Inc. for front-facing triangle - glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_DECR_WRAP); //Dec. for back-facing "holes" - } else - glStencilOp(GL_KEEP, GL_KEEP, GL_INVERT); // Simply invert the stencil bit + if (q->state()->clipTestEnabled) { + glStencilFunc(GL_LEQUAL, GL_STENCIL_HIGH_BIT | q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); + glStencilOp(GL_KEEP, GL_REPLACE, GL_REPLACE); + composite(vertexArray.boundingRect()); - // No point in using a fancy gradient shader for writing into the stencil buffer! - useSimpleShader(); - - glEnable(GL_STENCIL_TEST); // For some reason, this has to happen _after_ the simple shader is use()'d - glDisable(GL_BLEND); + glStencilFunc(GL_EQUAL, GL_STENCIL_HIGH_BIT, GL_STENCIL_HIGH_BIT); + } else { + glStencilFunc(GL_ALWAYS, 0, 0xffff); + glStencilOp(GL_ZERO, GL_ZERO, GL_ZERO); + composite(vertexArray.boundingRect()); + } -#ifndef QT_OPENGL_ES_2 - if (inRenderText) { - glPushAttrib(GL_ENABLE_BIT); - glDisable(GL_DEPTH_TEST); + // Inc. for front-facing triangle + glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_INCR_WRAP, GL_INCR_WRAP); + //Dec. for back-facing "holes" + glStencilOpSeparate(GL_BACK, GL_KEEP, GL_DECR_WRAP, GL_DECR_WRAP); + glStencilMask(~GL_STENCIL_HIGH_BIT); + drawVertexArrays(vertexArray, GL_TRIANGLE_FAN); + + if (q->state()->clipTestEnabled) { + // clear high bit of stencil outside of path + glStencilFunc(GL_EQUAL, GL_STENCIL_HIGH_BIT | q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); + glStencilOp(GL_KEEP, GL_INVERT, GL_INVERT); + glStencilMask(GL_STENCIL_HIGH_BIT); + composite(vertexArray.boundingRect()); + // reset lower bits of stencil inside path to current clip + glStencilFunc(GL_EQUAL, GL_STENCIL_HIGH_BIT | q->state()->currentClip, GL_STENCIL_HIGH_BIT); + glStencilOp(GL_KEEP, GL_REPLACE, GL_REPLACE); + glStencilMask(~GL_STENCIL_HIGH_BIT); + composite(vertexArray.boundingRect()); + } else { + // set high bit of stencil inside path + glStencilFunc(GL_NOTEQUAL, 0, 0xffff); + glStencilOp(GL_KEEP, GL_INVERT, GL_INVERT); + glStencilMask(GL_STENCIL_HIGH_BIT); + composite(vertexArray.boundingRect()); + } + } else { + glStencilMask(GL_STENCIL_HIGH_BIT); + glStencilOp(GL_KEEP, GL_KEEP, GL_INVERT); // Simply invert the stencil bit + drawVertexArrays(vertexArray, GL_TRIANGLE_FAN); } -#endif - // Draw the vertecies into the stencil buffer: - drawVertexArrays(vertexArray, GL_TRIANGLE_FAN); + // Enable color writes & disable stencil writes + glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); #ifndef QT_OPENGL_ES_2 if (inRenderText) glPopAttrib(); #endif - // Enable color writes & disable stencil writes +} + +/* + If the maximum value in the stencil buffer is GL_STENCIL_HIGH_BIT - 1, + restore the stencil buffer to a pristine state. The current clip region + is set to 1, and the rest to 0. +*/ +void QGL2PaintEngineExPrivate::resetClipIfNeeded() +{ + if (maxClip != (GL_STENCIL_HIGH_BIT - 1)) + return; + + Q_Q(QGL2PaintEngineEx); + + useSimpleShader(); + glEnable(GL_STENCIL_TEST); + glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE); + + QRectF bounds = q->state()->matrix.inverted().mapRect(QRectF(0, 0, width, height)); + QGLRect rect(bounds.left(), bounds.top(), bounds.right(), bounds.bottom()); + + // Set high bit on clip region + glStencilFunc(GL_LEQUAL, q->state()->currentClip, 0xffff); + glStencilOp(GL_KEEP, GL_INVERT, GL_INVERT); + glStencilMask(GL_STENCIL_HIGH_BIT); + composite(rect); + + // Reset clipping to 1 and everything else to zero + glStencilFunc(GL_NOTEQUAL, 0x01, GL_STENCIL_HIGH_BIT); + glStencilOp(GL_ZERO, GL_REPLACE, GL_REPLACE); + glStencilMask(0xFFFF); + composite(rect); + + q->state()->currentClip = 1; + q->state()->canRestoreClip = false; + + maxClip = 1; + + glStencilMask(0x0); glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); } @@ -1005,7 +1082,6 @@ bool QGL2PaintEngineExPrivate::prepareForDraw(bool srcPixelsAreOpaque) // The shader program has changed so mark all uniforms as dirty: brushUniformsDirty = true; shaderMatrixUniformDirty = true; - depthUniformDirty = true; opacityUniformDirty = true; } @@ -1017,11 +1093,6 @@ bool QGL2PaintEngineExPrivate::prepareForDraw(bool srcPixelsAreOpaque) shaderMatrixUniformDirty = false; } - if (depthUniformDirty) { - shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Depth), normalizedDeviceDepth(q->state()->currentClip)); - depthUniformDirty = false; - } - if (opacityMode == QGLEngineShaderManager::UniformOpacity && opacityUniformDirty) { shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::GlobalOpacity), (GLfloat)q->state()->opacity); opacityUniformDirty = false; @@ -1542,8 +1613,6 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) d->brushUniformsDirty = true; d->matrixDirty = true; d->compositionModeDirty = true; - d->simpleShaderDepthUniformDirty = true; - d->depthUniformDirty = true; d->opacityUniformDirty = true; d->needsSync = true; d->use_system_clip = !systemClip().isEmpty(); @@ -1564,6 +1633,7 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) d->shaderManager = new QGLEngineShaderManager(d->ctx); if (!d->inRenderText) { + glDisable(GL_STENCIL_TEST); glDisable(GL_DEPTH_TEST); glDisable(GL_SCISSOR_TEST); } @@ -1637,10 +1707,13 @@ void QGL2PaintEngineEx::ensureActive() void QGL2PaintEngineExPrivate::updateClipScissorTest() { Q_Q(QGL2PaintEngineEx); - if (q->state()->clipTestEnabled) - glEnable(GL_DEPTH_TEST); - else - glDisable(GL_DEPTH_TEST); + if (q->state()->clipTestEnabled) { + glEnable(GL_STENCIL_TEST); + glStencilFunc(GL_LEQUAL, q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); + } else { + glDisable(GL_STENCIL_TEST); + glStencilFunc(GL_ALWAYS, 0, 0xffff); + } #ifdef QT_GL_NO_SCISSOR_TEST currentScissorBounds = QRect(0, 0, width, height); @@ -1683,28 +1756,20 @@ void QGL2PaintEngineEx::clipEnabledChanged() { Q_D(QGL2PaintEngineEx); - d->simpleShaderDepthUniformDirty = true; - d->depthUniformDirty = true; - - if (painter()->hasClipping()) { + if (painter()->hasClipping()) d->regenerateClip(); - } else { - if (d->use_system_clip) { - state()->currentClip = 1; - } else { - state()->clipTestEnabled = false; - } - - d->updateClipScissorTest(); - } + else + d->systemStateChanged(); } void QGL2PaintEngineExPrivate::clearClip(uint value) { - glDepthMask(true); - glClearDepth(rawDepth(value)); - glClear(GL_DEPTH_BUFFER_BIT); - glDepthMask(false); + dirtyStencilRegion -= currentScissorBounds; + + glStencilMask(0xffff); + glClearStencil(value); + glClear(GL_STENCIL_BUFFER_BIT); + glStencilMask(0x0); q->state()->needsClipBufferClear = false; } @@ -1715,48 +1780,57 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) if (matrixDirty) updateMatrix(); + + const bool singlePass = !path.hasWindingFill() + && (((q->state()->currentClip == maxClip - 1) && q->state()->clipTestEnabled) + || q->state()->needsClipBufferClear); + const uint referenceClipValue = q->state()->needsClipBufferClear ? 1 : q->state()->currentClip; + if (q->state()->needsClipBufferClear) clearClip(1); - if (path.isEmpty()) + if (path.isEmpty()) { + glEnable(GL_STENCIL_TEST); + glStencilFunc(GL_LEQUAL, value, ~GL_STENCIL_HIGH_BIT); return; + } - glDisable(GL_BLEND); - glDepthMask(false); + if (q->state()->clipTestEnabled) + glStencilFunc(GL_LEQUAL, q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); + else + glStencilFunc(GL_ALWAYS, 0, 0xffff); vertexCoordinateArray.clear(); vertexCoordinateArray.addPath(path, inverseScale); - if (q->state()->clipTestEnabled) - glDepthFunc(GL_LEQUAL); - else - glDepthFunc(GL_ALWAYS); - - glDepthMask(GL_FALSE); - fillStencilWithVertexArray(vertexCoordinateArray, path.hasWindingFill()); + if (!singlePass) + fillStencilWithVertexArray(vertexCoordinateArray, path.hasWindingFill()); - // Stencil the clip onto the clip buffer glColorMask(false, false, false, false); - glDepthMask(true); + glEnable(GL_STENCIL_TEST); + useSimpleShader(); - shaderManager->simpleProgram()->setUniformValue("depth", normalizedDeviceDepth(value)); - simpleShaderDepthUniformDirty = true; + if (singlePass) { + // Under these conditions we can set the new stencil value in a single + // pass, by using the current value and the "new value" as the toggles - glEnable(GL_DEPTH_TEST); - glDepthFunc(GL_ALWAYS); + glStencilFunc(GL_LEQUAL, referenceClipValue, ~GL_STENCIL_HIGH_BIT); + glStencilOp(GL_KEEP, GL_INVERT, GL_INVERT); + glStencilMask(value ^ referenceClipValue); - glStencilFunc(GL_NOTEQUAL, 0, 0xFFFF); // Pass if stencil buff value != 0 - glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE); + drawVertexArrays(vertexCoordinateArray, GL_TRIANGLE_FAN); + } else { + glStencilFunc(GL_NOTEQUAL, value, GL_STENCIL_HIGH_BIT); + glStencilOp(GL_KEEP, GL_REPLACE, GL_REPLACE); + glStencilMask(0xffff); - glEnable(GL_STENCIL_TEST); - composite(vertexCoordinateArray.boundingRect()); - glDisable(GL_STENCIL_TEST); + composite(vertexCoordinateArray.boundingRect()); + } - glDepthFunc(GL_LEQUAL); + glStencilFunc(GL_LEQUAL, value, ~GL_STENCIL_HIGH_BIT); glStencilMask(0); glColorMask(true, true, true, true); - glDepthMask(false); } void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) @@ -1804,12 +1878,14 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) case Qt::IntersectClip: state()->rectangleClip = state()->rectangleClip.intersected(pathRect); d->updateClipScissorTest(); + d->resetClipIfNeeded(); ++d->maxClip; d->writeClip(path, d->maxClip); state()->currentClip = d->maxClip; state()->clipTestEnabled = true; break; case Qt::UniteClip: { + d->resetClipIfNeeded(); ++d->maxClip; if (state()->rectangleClip.isValid()) { QPainterPath path; @@ -1846,11 +1922,6 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) default: break; } - - if (state()->clipTestEnabled) { - d->simpleShaderDepthUniformDirty = true; - d->depthUniformDirty = true; - } } void QGL2PaintEngineExPrivate::regenerateClip() @@ -1883,29 +1954,25 @@ void QGL2PaintEngineExPrivate::systemStateChanged() q->state()->rectangleClip = use_system_clip ? systemClip.boundingRect() : QRect(0, 0, width, height); updateClipScissorTest(); - if (use_system_clip) { + if (systemClip.numRects() == 1) { + if (systemClip.boundingRect() == QRect(0, 0, width, height)) + use_system_clip = false; #ifndef QT_GL_NO_SCISSOR_TEST - if (systemClip.numRects() == 1) { - if (q->state()->rectangleClip == QRect(0, 0, width, height)) { - use_system_clip = false; - } else { - simpleShaderDepthUniformDirty = true; - depthUniformDirty = true; - } - return; - } + // scissoring takes care of the system clip + return; #endif + } + + if (use_system_clip) { clearClip(0); QPainterPath path; path.addRegion(systemClip); + q->state()->currentClip = 0; writeClip(qtVectorPathForPath(q->state()->matrix.inverted().map(path)), 1); - + q->state()->currentClip = 1; q->state()->clipTestEnabled = true; - - simpleShaderDepthUniformDirty = true; - depthUniformDirty = true; } } @@ -1929,8 +1996,6 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) d->matrixDirty = true; d->compositionModeDirty = true; - d->simpleShaderDepthUniformDirty = true; - d->depthUniformDirty = true; d->simpleShaderMatrixUniformDirty = true; d->shaderMatrixUniformDirty = true; d->opacityUniformDirty = true; diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index dd5f4fc..bfc6a3f 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -217,8 +217,6 @@ public: bool brushUniformsDirty; bool simpleShaderMatrixUniformDirty; bool shaderMatrixUniformDirty; - bool depthUniformDirty; - bool simpleShaderDepthUniformDirty; bool opacityUniformDirty; QRegion dirtyStencilRegion; @@ -242,25 +240,14 @@ public: void clearClip(uint value); void writeClip(const QVectorPath &path, uint value); + void resetClipIfNeeded(); + void updateClipScissorTest(); void setScissor(const QRect &rect); void regenerateClip(); void systemStateChanged(); uint use_system_clip : 1; - static inline GLfloat rawDepth(uint depth) - { - // assume at least 16 bits in the depth buffer, and - // use 2^15 depth levels to be safe with regard to - // rounding issues etc - return depth * (1.0f / GLfloat((1 << 15) - 1)); - } - - static inline GLfloat normalizedDeviceDepth(uint depth) - { - return 2.0f * rawDepth(depth) - 1.0f; - } - uint location(QGLEngineShaderManager::Uniform uniform) { return shaderManager->getUniformLocation(uniform); -- cgit v0.12 From 2ec1b27e49638d494d1a0bb5983a64d05eebb64a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 28 Sep 2009 18:37:15 +0200 Subject: Added convex polygon optimization to QGL2PaintEngineExPrivate::fill(). (cherry picked from commit d846af0de2ee2b3b76f81f2c0fd3ccceb645b511) --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 0af8e71..70d1ae9 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -876,16 +876,15 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) if (path.shape() == QVectorPath::RectangleHint) { QGLRect rect(points[0].x(), points[0].y(), points[2].x(), points[2].y()); prepareForDraw(currentBrush->isOpaque()); - composite(rect); - } - else if (path.shape() == QVectorPath::EllipseHint) { + } else if (path.shape() == QVectorPath::EllipseHint + || path.shape() == QVectorPath::ConvexPolygonHint) + { vertexCoordinateArray.clear(); vertexCoordinateArray.addPath(path, inverseScale); prepareForDraw(currentBrush->isOpaque()); drawVertexArrays(vertexCoordinateArray, GL_TRIANGLE_FAN); - } - else { + } else { // The path is too complicated & needs the stencil technique vertexCoordinateArray.clear(); vertexCoordinateArray.addPath(path, inverseScale); -- cgit v0.12 From 0926616ab27b82a16dc05e92fbe81b545dce33b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 29 Sep 2009 09:03:19 +0200 Subject: Made depth tested renderText() work after stencil clipping change. Also we should force Raster_A8 glyph format in renderText(). (cherry picked from commit 9dbcdc00239abbaf899f04fc5ecc2bdb885ad08d) --- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 70d1ae9..ab38c24 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -912,13 +912,6 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) void QGL2PaintEngineExPrivate::fillStencilWithVertexArray(QGL2PEXVertexArray& vertexArray, bool useWindingFill) { -#ifndef QT_OPENGL_ES_2 - if (inRenderText) { - glPushAttrib(GL_ENABLE_BIT); - glDisable(GL_DEPTH_TEST); - } -#endif - // qDebug("QGL2PaintEngineExPrivate::fillStencilWithVertexArray()"); glStencilMask(0xffff); // Enable stencil writes @@ -943,6 +936,13 @@ void QGL2PaintEngineExPrivate::fillStencilWithVertexArray(QGL2PEXVertexArray& ve useSimpleShader(); glEnable(GL_STENCIL_TEST); // For some reason, this has to happen _after_ the simple shader is use()'d +#ifndef QT_OPENGL_ES_2 + if (inRenderText) { + glPushAttrib(GL_ENABLE_BIT); + glDisable(GL_DEPTH_TEST); + } +#endif + if (useWindingFill) { if (q->state()->clipTestEnabled) { glStencilFunc(GL_LEQUAL, GL_STENCIL_HIGH_BIT | q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); @@ -1331,6 +1331,9 @@ void QGL2PaintEngineEx::drawTextItem(const QPointF &p, const QTextItem &textItem ? QFontEngineGlyphCache::Type(ti.fontEngine->glyphFormat) : d->glyphCacheType; + if (d->inRenderText) + glyphType = QFontEngineGlyphCache::Raster_A8; + if (glyphType == QFontEngineGlyphCache::Raster_RGBMask && state()->composition_mode != QPainter::CompositionMode_Source && state()->composition_mode != QPainter::CompositionMode_SourceOver) -- cgit v0.12 From 9047e5ad08d0185dec73d8ee1928a952989a9a61 Mon Sep 17 00:00:00 2001 From: Aleksandar Sasha Babic Date: Tue, 6 Oct 2009 14:55:52 +0200 Subject: Fixing the compile bug for Symbian when using ARMV5 Explicit destructor was needed by compiler. Reviewed-by: Thiago Macieira (cherry picked from commit 15e2ecda958868b5c372bcd59cba8065c086581e) --- src/network/access/qnetworkaccessmanager.cpp | 4 ++++ src/network/access/qnetworkaccessmanager_p.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 7ca1659..439d564 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -981,6 +981,10 @@ void QNetworkAccessManagerPrivate::clearCache(QNetworkAccessManager *manager) manager->d_func()->objectCache.clear(); } +QNetworkAccessManagerPrivate::~QNetworkAccessManagerPrivate() +{ +} + QT_END_NAMESPACE #include "moc_qnetworkaccessmanager.cpp" diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h index 96a49cc..3bd83c4 100644 --- a/src/network/access/qnetworkaccessmanager_p.h +++ b/src/network/access/qnetworkaccessmanager_p.h @@ -76,6 +76,7 @@ public: #endif cookieJarCreated(false) { } + ~QNetworkAccessManagerPrivate(); void _q_replyFinished(); void _q_replySslErrors(const QList &errors); -- cgit v0.12 From 444172c5a82ad584b7e466f12d27f49daf182992 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 6 Oct 2009 15:56:34 +0200 Subject: tst_qhttpnetworkconnection: Some more checks Some more checks (test still passes) Reviewed-by: TrustMe (cherry picked from commit 7cbcf8e8ef91636de1727d5bd6294a9f07c66804) --- .../tst_qhttpnetworkconnection.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp index 6036a14..7aab6de 100644 --- a/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp +++ b/tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp @@ -899,9 +899,21 @@ void tst_QHttpNetworkConnection::getMultipleWithPipeliningAndMultiplePriorities( } while (finishedCount != replies.length()); - // redundant - for (int i = 0; i < replies.length(); i++) + int pipelinedCount = 0; + for (int i = 0; i < replies.length(); i++) { QVERIFY(replies.at(i)->isFinished()); + QVERIFY (!(replies.at(i)->request().isPipeliningAllowed() == false + && replies.at(i)->isPipeliningUsed())); + + if (replies.at(i)->isPipeliningUsed()) + pipelinedCount++; + } + + // We allow pipelining for every 2nd,3rd,4th,6th,8th,9th,10th etc request. + // Assume that half of the requests had been pipelined. + // (this is a very relaxed condition, when last measured 79 of 100 + // requests had been pipelined) + QVERIFY(pipelinedCount >= requestCount / 2); qDebug() << "===" << stopWatch.elapsed() << "msec ==="; -- cgit v0.12 From 955b581c8aca60d16837a994de5fa43e0f178d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lind?= Date: Mon, 5 Oct 2009 16:45:38 +0200 Subject: Needed to set ENABLE_YARR_JIT to not compile MacroAssembler.cpp Reviewed-by:Simon Hausmann (cherry picked from commit 8037c03174124bc136900c88254d118ab48b010f) --- src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri | 10 ++++++++-- src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri index 5c1d518..2330de1 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri +++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri @@ -36,8 +36,14 @@ GENERATED_SOURCES_DIR_SLASH = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP} win32-* { LIBS += -lwinmm } -contains(JAVASCRIPTCORE_JIT,yes): DEFINES+=ENABLE_JIT=1 -contains(JAVASCRIPTCORE_JIT,no): DEFINES+=ENABLE_JIT=0 +contains(JAVASCRIPTCORE_JIT,yes) { + DEFINES+=ENABLE_JIT=1 + DEFINES+=ENABLE_YARR_JIT=1 +} +contains(JAVASCRIPTCORE_JIT,no) { + DEFINES+=ENABLE_JIT=0 + DEFINES+=ENABLE_YARR_JIT=0 +} # In debug mode JIT disabled until crash fixed win32-* { diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri index d8b6f4b..2b08980 100644 --- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri +++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri @@ -36,8 +36,14 @@ GENERATED_SOURCES_DIR_SLASH = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP} win32-* { LIBS += -lwinmm } -contains(JAVASCRIPTCORE_JIT,yes): DEFINES+=ENABLE_JIT=1 -contains(JAVASCRIPTCORE_JIT,no): DEFINES+=ENABLE_JIT=0 +contains(JAVASCRIPTCORE_JIT,yes) { + DEFINES+=ENABLE_JIT=1 + DEFINES+=ENABLE_YARR_JIT=1 +} +contains(JAVASCRIPTCORE_JIT,no) { + DEFINES+=ENABLE_JIT=0 + DEFINES+=ENABLE_YARR_JIT=0 +} # In debug mode JIT disabled until crash fixed win32-* { -- cgit v0.12 From 1c466daff4560bb287b9ae688f21d933f34a902c Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 6 Oct 2009 16:07:40 +0200 Subject: add test for QT-2270 (cherry picked from commit 56187037e3fe46800bfa670197a149121f00573e) --- tests/auto/qscriptcontext/tst_qscriptcontext.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp index b193d67..89f8a5cf 100644 --- a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp +++ b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp @@ -83,6 +83,7 @@ private slots: void argumentsObjectInNative(); void jsActivationObject(); void qobjectAsActivationObject(); + void parentContextCallee_QT2270(); }; tst_QScriptContext::tst_QScriptContext() @@ -1222,5 +1223,21 @@ void tst_QScriptContext::qobjectAsActivationObject() } } +static QScriptValue getParentContextCallee(QScriptContext *ctx, QScriptEngine *) +{ + return ctx->parentContext()->callee(); +} + +void tst_QScriptContext::parentContextCallee_QT2270() +{ + QScriptEngine engine; + engine.globalObject().setProperty("getParentContextCallee", engine.newFunction(getParentContextCallee)); + QScriptValue fun = engine.evaluate("(function() { return getParentContextCallee(); })"); + QVERIFY(fun.isFunction()); + QScriptValue callee = fun.call(); + QEXPECT_FAIL("", "QT-2270: Incorrect parentContext() returned for native call", Abort); + QVERIFY(callee.equals(fun)); +} + QTEST_MAIN(tst_QScriptContext) #include "tst_qscriptcontext.moc" -- cgit v0.12 From c7ebbfeed10ad2e1508582a42290e31cb8205b76 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Tue, 6 Oct 2009 16:12:11 +0200 Subject: Build fix. (cherry picked from commit c81b79080eb8f0c956c97fc80d5118baf7703df4) --- src/gui/styles/gtksymbols.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/styles/gtksymbols.cpp b/src/gui/styles/gtksymbols.cpp index d8f140f..a77d9b6 100644 --- a/src/gui/styles/gtksymbols.cpp +++ b/src/gui/styles/gtksymbols.cpp @@ -984,7 +984,7 @@ QIcon QGtk::getFilesystemIcon(const QFileInfo &info) if (QGtk::gnome_vfs_init && QGtk::gnome_icon_lookup_sync) { QGtk::gnome_vfs_init(); GtkIconTheme *theme = QGtk::gtk_icon_theme_get_default(); - QString fileurl = QUrl::fromLocalFile(info.absoluteFilePath()); + QString fileurl = QUrl::fromLocalFile(info.absoluteFilePath()).toString(); char * icon_name = QGtk::gnome_icon_lookup_sync(theme, NULL, qPrintable(fileurl), -- cgit v0.12 From 137d200704b31e3488fc9580e936eb17e9dc9793 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Tue, 6 Oct 2009 16:24:06 +0200 Subject: tst_qnetworkreply: httpConnectionCount test improvements Reviewed-by: TrustMe (cherry picked from commit 85b17ee0222d96bbd93f758ac3b2bd3139c76ec8) --- tests/auto/qnetworkreply/tst_qnetworkreply.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp index 7863b4e..7adb67f 100644 --- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp @@ -3993,10 +3993,14 @@ void tst_QNetworkReply::httpConnectionCount() QTime time; time.start(); - while(pendingConnectionCount != 6) { - QCoreApplication::instance()->processEvents(); - while (server.nextPendingConnection()) + while(pendingConnectionCount <= 20) { + QTestEventLoop::instance().enterLoop(1); + QTcpSocket *socket = server.nextPendingConnection(); + while (socket != 0) { pendingConnectionCount++; + socket->setParent(&server); + socket = server.nextPendingConnection(); + } // at max. wait 10 sec if (time.elapsed() > 10000) -- cgit v0.12 From 559ed56d3036418470682ed8cc662f26373ee868 Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Tue, 6 Oct 2009 16:07:10 +0200 Subject: Fix crash related to audio equalizer. The constructor initializer relied on member variables. Task-number: QTBUG-4689 (cherry picked from commit 54645071fad98b46a44d88b50095dc21ff63fff6) --- src/3rdparty/phonon/mmf/audioequalizer.cpp | 28 +++++++++++++--------------- src/3rdparty/phonon/mmf/audioequalizer.h | 3 +-- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/3rdparty/phonon/mmf/audioequalizer.cpp b/src/3rdparty/phonon/mmf/audioequalizer.cpp index c691e1e..7cc9bc7 100644 --- a/src/3rdparty/phonon/mmf/audioequalizer.cpp +++ b/src/3rdparty/phonon/mmf/audioequalizer.cpp @@ -36,18 +36,16 @@ void AudioEqualizer::parameterChanged(const int pid, { // There is no way to return an error from this function, so we just // have to trap and ignore exceptions. - TRAP_IGNORE(eq()->SetBandLevelL(pid, value.toInt())); + TRAP_IGNORE(static_cast(m_effect.data())->SetBandLevelL(pid, value.toInt())); } bool AudioEqualizer::activateOn(CPlayerType *player) { - m_effect.reset(CAudioEqualizer::NewL(*player)); - return true; -} + CAudioEqualizer *ptr = 0; + QT_TRAP_THROWING(ptr = CAudioEqualizer::NewL(*player)); + m_effect.reset(ptr); -CAudioEqualizer *AudioEqualizer::eq() const -{ - return static_cast(m_effect.data()); + return true; } QList AudioEqualizer::createParams() @@ -57,18 +55,21 @@ QList AudioEqualizer::createParams() // We temporarily create an AudioPlayer, and run the effect on it, so // we can extract the readonly data we need. AudioPlayer dummyPlayer; - activateOn(dummyPlayer.player()); + + CAudioEqualizer *eqPtr = 0; + QT_TRAP_THROWING(eqPtr = CAudioEqualizer::NewL(*dummyPlayer.player());) + QScopedPointer e(eqPtr); TInt32 dbMin; TInt32 dbMax; - eq()->DbLevelLimits(dbMin, dbMax); + e->DbLevelLimits(dbMin, dbMax); - const int bandCount = eq()->NumberOfBands(); + const int bandCount = e->NumberOfBands(); for (int i = 0; i < bandCount; ++i) { - const qint32 hz = eq()->CenterFrequency(i); + const qint32 hz = e->CenterFrequency(i); - const qint32 defVol = eq()->BandLevel(i); + const qint32 defVol = e->BandLevel(i); retval.append(EffectParameter(i, tr("Frequency band, %1 Hz").arg(hz), @@ -80,10 +81,7 @@ QList AudioEqualizer::createParams() QString())); } - m_effect.reset(); - return retval; } QT_END_NAMESPACE - diff --git a/src/3rdparty/phonon/mmf/audioequalizer.h b/src/3rdparty/phonon/mmf/audioequalizer.h index 6415411..d4c8165 100644 --- a/src/3rdparty/phonon/mmf/audioequalizer.h +++ b/src/3rdparty/phonon/mmf/audioequalizer.h @@ -49,8 +49,7 @@ protected: virtual bool activateOn(CPlayerType *player); private: - inline CAudioEqualizer *eq() const; - QList createParams(); + static QList createParams(); QScopedPointer m_bassBoost; }; } -- cgit v0.12 From 18f16007e20d223a7c0464190d7323fc1e6acb94 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Tue, 6 Oct 2009 16:51:18 +0200 Subject: Better compile fix. Reviewed-by:Thiago (cherry picked from commit 493eb0264c095c62b6573789225a22cadf946348) --- src/gui/styles/gtksymbols.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/styles/gtksymbols.cpp b/src/gui/styles/gtksymbols.cpp index a77d9b6..d62f717 100644 --- a/src/gui/styles/gtksymbols.cpp +++ b/src/gui/styles/gtksymbols.cpp @@ -984,7 +984,7 @@ QIcon QGtk::getFilesystemIcon(const QFileInfo &info) if (QGtk::gnome_vfs_init && QGtk::gnome_icon_lookup_sync) { QGtk::gnome_vfs_init(); GtkIconTheme *theme = QGtk::gtk_icon_theme_get_default(); - QString fileurl = QUrl::fromLocalFile(info.absoluteFilePath()).toString(); + QString fileurl = QUrl::fromLocalFile(info.absoluteFilePath()).toEncoded(); char * icon_name = QGtk::gnome_icon_lookup_sync(theme, NULL, qPrintable(fileurl), -- cgit v0.12 From 228cb95786d3362467ac9870dafd9e1d1df20480 Mon Sep 17 00:00:00 2001 From: Espen Riskedal Date: Tue, 6 Oct 2009 16:53:17 +0200 Subject: Removed ICON for apps and demos except fluidlauncher and desktopservices mifconv can't always handle absolute paths to the .svg specified, so for now we don't use absolute paths, and fix it later. Task-number: QTBUG-4693 Reviewed-by: Shane Kearns (cherry picked from commit fa35247d31bd35d72c307f4a6a231400aade0c0b) --- demos/embedded/fluidlauncher/fluidlauncher.pro | 29 ++------------------------ demos/symbianpkgrules.pri | 2 -- examples/symbianpkgrules.pri | 2 -- 3 files changed, 2 insertions(+), 31 deletions(-) diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro index d677e9d..f2abde6 100644 --- a/demos/embedded/fluidlauncher/fluidlauncher.pro +++ b/demos/embedded/fluidlauncher/fluidlauncher.pro @@ -59,7 +59,7 @@ symbian { load(data_caging_paths) TARGET.UID3 = 0xA000A641 - ICON = $$QT_SOURCE_TREE/src/s60installs/qt.svg + ICON = ../../../src/s60installs/qt.svg executables.sources = \ styledemo.exe \ @@ -126,21 +126,7 @@ symbian { mifs.sources = \ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000A641.mif \ #fluidlauncher - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000A63F.mif \ #styledemo - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000A63D.mif \ #deform - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000A63E.mif \ #pathstroke - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C607.mif \ #wiggly - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000A648.mif \ #ftp - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C60A.mif \ #saxbookmarks - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C611.mif \ #desktopservices - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C610.mif \ #fridgemagnets - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C612.mif \ #drilldown - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000CF6B.mif \ #softkeys - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000CF76.mif \ #raycasting - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000CF73.mif \ #flickable - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000CF72.mif \ #digiflip - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000CF75.mif \ #lightmaps - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000CF74.mif #flightinfo + $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C611.mif #desktopservices mifs.path = $$APP_RESOURCE_DIR contains(QT_CONFIG, svg) { @@ -155,33 +141,22 @@ symbian { resource.sources += \ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/embeddedsvgviewer.rsc \ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/weatherinfo.rsc - - mifs.sources += \ - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000A640.mif \ #embeddedsvgviewer - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000CF77.mif #weatherinfo - } contains(QT_CONFIG, webkit) { executables.sources += anomaly.exe reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/anomaly_reg.rsc resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/anomaly.rsc - mifs.sources += \ - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000CF71.mif #anomaly } contains(QT_CONFIG, phonon) { executables.sources += qmediaplayer.exe resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/qmediaplayer.rsc - mifs.sources += \ - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C613.mif #qmediaplayer } contains(QT_CONFIG, script) { executables.sources += context2d.exe reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/context2d_reg.rsc resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/context2d.rsc - mifs.sources += \ - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C608.mif #context2d } files.sources = $$PWD/screenshots $$PWD/slides diff --git a/demos/symbianpkgrules.pri b/demos/symbianpkgrules.pri index cf52cb3..7e6852b 100644 --- a/demos/symbianpkgrules.pri +++ b/demos/symbianpkgrules.pri @@ -11,5 +11,3 @@ vendorinfo = \ " " default_deployment.pkg_prerules += vendorinfo - -!isEmpty(TARGET.UID3):ICON = $$QT_SOURCE_TREE/src/s60installs/qt.svg diff --git a/examples/symbianpkgrules.pri b/examples/symbianpkgrules.pri index 069a16e..59c5480 100644 --- a/examples/symbianpkgrules.pri +++ b/examples/symbianpkgrules.pri @@ -11,5 +11,3 @@ vendorinfo = \ " " default_deployment.pkg_prerules += vendorinfo - -!isEmpty(TARGET.UID3):ICON = $$QT_SOURCE_TREE/src/s60installs/qt.svg -- cgit v0.12 From e217acd793f6ebefaba8534e2a2e50ded203da9c Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 6 Oct 2009 16:46:43 +0200 Subject: QScriptContext::parentContext: don't skip unessecary frames Calling QScriptValue::call doesn't create a fake frame. We can detect a real fake frame as it does not have a callee. Task-number: QT-2270 Reviewed-by: Kent Hansen (cherry picked from commit 96b047f0f27674ee402ab3624dbb906346ac1847) --- src/script/api/qscriptengine.cpp | 2 +- tests/auto/qscriptcontext/tst_qscriptcontext.cpp | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index 863ac30..b1f36be 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -993,7 +993,7 @@ void QScriptEnginePrivate::setDefaultPrototype(int metaTypeId, JSC::JSValue prot QScriptContext *QScriptEnginePrivate::contextForFrame(JSC::ExecState *frame) { - if (frame && frame->callerFrame()->hasHostCallFrameFlag() + if (frame && frame->callerFrame()->hasHostCallFrameFlag() && !frame->callee() && frame->callerFrame()->removeHostCallFrameFlag() == QScript::scriptEngineFromExec(frame)->globalExec()) { //skip the "fake" context created in Interpreter::execute. frame = frame->callerFrame()->removeHostCallFrameFlag(); diff --git a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp index 89f8a5cf..a0af214 100644 --- a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp +++ b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp @@ -1235,7 +1235,6 @@ void tst_QScriptContext::parentContextCallee_QT2270() QScriptValue fun = engine.evaluate("(function() { return getParentContextCallee(); })"); QVERIFY(fun.isFunction()); QScriptValue callee = fun.call(); - QEXPECT_FAIL("", "QT-2270: Incorrect parentContext() returned for native call", Abort); QVERIFY(callee.equals(fun)); } -- cgit v0.12 From 75f4584bd73b6361e36edaff8fb90a90add52a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 29 Sep 2009 11:00:57 +0200 Subject: Changed GL 2 engine render text implementation to use glDepthRange(). This frees all the current dependencies on the depth uniform. (cherry picked from commit 27c2df52128e32c785239dbc9322a4b7beb0078c) --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 41 ++++++++++++++-------- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 5 ++- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index ab38c24..859ffe1 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -898,11 +898,14 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) prepareForDraw(currentBrush->isOpaque()); -#ifndef QT_OPENGL_ES_2 if (inRenderText) - shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Depth), zValueForRenderText()); -#endif + prepareDepthRangeForRenderText(); + composite(vertexCoordinateArray.boundingRect()); + + if (inRenderText) + restoreDepthRangeForRenderText(); + glStencilMask(0); updateClipScissorTest(); @@ -1138,7 +1141,7 @@ void QGL2PaintEngineExPrivate::drawVertexArrays(QGL2PEXVertexArray& vertexArray, glDisableVertexAttribArray(QT_VERTEX_COORDS_ATTR); } -float QGL2PaintEngineExPrivate::zValueForRenderText() const +void QGL2PaintEngineExPrivate::prepareDepthRangeForRenderText() { #ifndef QT_OPENGL_ES_2 // Get the z translation value from the model view matrix and @@ -1146,9 +1149,19 @@ float QGL2PaintEngineExPrivate::zValueForRenderText() const // and z-far = 1, which is used in QGLWidget::renderText() GLdouble model[4][4]; glGetDoublev(GL_MODELVIEW_MATRIX, &model[0][0]); - return -2 * model[3][2] - 1; -#else - return 0; + float deviceZ = -2 * model[3][2] - 1; + + glGetFloatv(GL_DEPTH_RANGE, depthRange); + float windowZ = depthRange[0] + (deviceZ + 1) * 0.5 * (depthRange[1] - depthRange[0]); + + glDepthRange(windowZ, windowZ); +#endif +} + +void QGL2PaintEngineExPrivate::restoreDepthRangeForRenderText() +{ +#ifndef QT_OPENGL_ES_2 + glDepthRange(depthRange[0], depthRange[1]); #endif } @@ -1406,6 +1419,9 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, QFontEngineGly QBrush pensBrush = q->state()->pen.brush(); setBrush(&pensBrush); + if (inRenderText) + prepareDepthRangeForRenderText(); + if (glyphType == QFontEngineGlyphCache::Raster_RGBMask) { // Subpixel antialiasing without gamma correction @@ -1458,10 +1474,6 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, QFontEngineGly glBindTexture(GL_TEXTURE_2D, cache->texture()); updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); -#ifndef QT_OPENGL_ES_2 - if (inRenderText) - shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Depth), zValueForRenderText()); -#endif shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::MaskTexture), QT_MASK_TEXTURE_UNIT); glDrawArrays(GL_TRIANGLES, 0, 6 * glyphs.size()); @@ -1492,12 +1504,11 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, QFontEngineGly glBindTexture(GL_TEXTURE_2D, cache->texture()); updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); -#ifndef QT_OPENGL_ES_2 - if (inRenderText) - shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::Depth), zValueForRenderText()); -#endif shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::MaskTexture), QT_MASK_TEXTURE_UNIT); glDrawArrays(GL_TRIANGLES, 0, 6 * glyphs.size()); + + if (inRenderText) + restoreDepthRangeForRenderText(); } void QGL2PaintEngineEx::drawPixmaps(const QDrawPixmaps::Data *drawingData, int dataCount, const QPixmap &pixmap, QDrawPixmaps::DrawingHints hints) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index bfc6a3f..662911f 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -197,7 +197,8 @@ public: inline void useSimpleShader(); - float zValueForRenderText() const; + void prepareDepthRangeForRenderText(); + void restoreDepthRangeForRenderText(); static QGLEngineShaderManager* shaderManagerForEngine(QGL2PaintEngineEx *engine) { return engine->d_func()->shaderManager; } @@ -258,6 +259,8 @@ public: bool needsSync; bool inRenderText; + GLfloat depthRange[2]; + float textureInvertedY; QScopedPointer convolutionFilter; -- cgit v0.12 From e5948fdb892810b5b783ceb4205a1eacd2a89a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Tue, 29 Sep 2009 09:42:02 +0200 Subject: Optimized restore() in GL 2 paint engine. Keep track of what state actually changed so we don't have to set all the uniforms as dirty etc. Reviewed-by: Trond (cherry picked from commit 092c773b95b1f126d36ab7c918fb098ddad6cae3) --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 50 ++++++++++++++++------ .../gl2paintengineex/qpaintengineex_opengl2_p.h | 15 ++++--- 2 files changed, 46 insertions(+), 19 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 859ffe1..5875124 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1224,6 +1224,7 @@ void QGL2PaintEngineEx::opacityChanged() { // qDebug("QGL2PaintEngineEx::opacityChanged()"); Q_D(QGL2PaintEngineEx); + state()->opacityChanged = true; Q_ASSERT(d->shaderManager); d->brushUniformsDirty = true; @@ -1234,11 +1235,14 @@ void QGL2PaintEngineEx::compositionModeChanged() { // qDebug("QGL2PaintEngineEx::compositionModeChanged()"); Q_D(QGL2PaintEngineEx); + state()->compositionModeChanged = true; d->compositionModeDirty = true; } void QGL2PaintEngineEx::renderHintsChanged() { + state()->renderHintsChanged = true; + #if !defined(QT_OPENGL_ES_2) if ((state()->renderHints & QPainter::Antialiasing) || (state()->renderHints & QPainter::HighQualityAntialiasing)) @@ -1257,6 +1261,7 @@ void QGL2PaintEngineEx::transformChanged() { Q_D(QGL2PaintEngineEx); d->matrixDirty = true; + state()->matrixChanged = true; } @@ -1713,6 +1718,7 @@ void QGL2PaintEngineEx::ensureActive() d->transferMode(BrushDrawingMode); glViewport(0, 0, d->width, d->height); d->needsSync = false; + d->shaderManager->setDirty(); setState(state()); } } @@ -1769,6 +1775,8 @@ void QGL2PaintEngineEx::clipEnabledChanged() { Q_D(QGL2PaintEngineEx); + state()->clipChanged = true; + if (painter()->hasClipping()) d->regenerateClip(); else @@ -1851,6 +1859,8 @@ void QGL2PaintEngineEx::clip(const QVectorPath &path, Qt::ClipOperation op) // qDebug("QGL2PaintEngineEx::clip()"); Q_D(QGL2PaintEngineEx); + state()->clipChanged = true; + ensureActive(); if (op == Qt::ReplaceClip) { @@ -1947,6 +1957,8 @@ void QGL2PaintEngineExPrivate::systemStateChanged() { Q_Q(QGL2PaintEngineEx); + q->state()->clipChanged = true; + if (systemClip.isEmpty()) { use_system_clip = false; } else { @@ -2005,21 +2017,28 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) return; } - renderHintsChanged(); + if (old_state == s || s->renderHintsChanged) + renderHintsChanged(); - d->matrixDirty = true; - d->compositionModeDirty = true; - d->simpleShaderMatrixUniformDirty = true; - d->shaderMatrixUniformDirty = true; - d->opacityUniformDirty = true; + if (old_state == s || s->matrixChanged) { + d->matrixDirty = true; + d->simpleShaderMatrixUniformDirty = true; + d->shaderMatrixUniformDirty = true; + } - d->shaderManager->setDirty(); + if (old_state == s || s->compositionModeChanged) + d->compositionModeDirty = true; - if (old_state && old_state != s && old_state->canRestoreClip) { - d->updateClipScissorTest(); - glDepthFunc(GL_LEQUAL); - } else { - d->regenerateClip(); + if (old_state == s || s->opacityChanged) + d->opacityUniformDirty = true; + + if (old_state == s || s->clipChanged) { + if (old_state && old_state != s && old_state->canRestoreClip) { + d->updateClipScissorTest(); + glDepthFunc(GL_LEQUAL); + } else { + d->regenerateClip(); + } } } @@ -2036,6 +2055,12 @@ QPainterState *QGL2PaintEngineEx::createState(QPainterState *orig) const else s = new QOpenGL2PaintEngineState(*static_cast(orig)); + s->matrixChanged = false; + s->compositionModeChanged = false; + s->opacityChanged = false; + s->renderHintsChanged = false; + s->clipChanged = false; + d->last_created_state = s; return s; } @@ -2051,7 +2076,6 @@ QOpenGL2PaintEngineState::QOpenGL2PaintEngineState(QOpenGL2PaintEngineState &oth { needsClipBufferClear = other.needsClipBufferClear; clipTestEnabled = other.clipTestEnabled; - scissorTestEnabled = other.scissorTestEnabled; currentClip = other.currentClip; canRestoreClip = other.canRestoreClip; rectangleClip = other.rectangleClip; diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index 662911f..28c972e 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -82,13 +82,16 @@ public: QOpenGL2PaintEngineState(); ~QOpenGL2PaintEngineState(); - bool needsClipBufferClear; + uint needsClipBufferClear : 1; + uint clipTestEnabled : 1; + uint canRestoreClip : 1; + uint matrixChanged : 1; + uint compositionModeChanged : 1; + uint opacityChanged : 1; + uint renderHintsChanged : 1; + uint clipChanged : 1; + uint currentClip : 8; - bool clipTestEnabled; - bool scissorTestEnabled; - uint currentClip; - - bool canRestoreClip; QRect rectangleClip; }; -- cgit v0.12 From dab2fdd3b3ac147ff251102b20dc0dca3a97bb92 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Tue, 6 Oct 2009 18:05:17 +0200 Subject: Prevent OK key being processed twice in file dialog (keypad navigation) All key events were being explicitly ignored by the file dialog when key navigation is enabled, and it doesn't have edit focus. When a file is opened by pressing the OK key, there is no edit focus after returning from accept() and the OK key can propagate outside the modal dialog. This causes the parent widget to receive and act upon the OK key as well which makes problems - e.g. in QTBUG-4724, recursive menu activation Task-number: QTBUG-4724 Reviewed-by: Alessandro Portale (cherry picked from commit 28cdb974cce58111a19e8691f4dd929a5c9f74ea) --- src/gui/dialogs/qfiledialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp index eb5fed0..eab842f 100644 --- a/src/gui/dialogs/qfiledialog.cpp +++ b/src/gui/dialogs/qfiledialog.cpp @@ -3149,7 +3149,7 @@ void QFileDialogListView::keyPressEvent(QKeyEvent *e) QListView::keyPressEvent(e); } #ifdef QT_KEYPAD_NAVIGATION - if ((QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder + else if ((QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder || QApplication::navigationMode() == Qt::NavigationModeKeypadDirectional) && !hasEditFocus()) { e->ignore(); -- cgit v0.12 From c79aff03f9f4660110ae5e38281d50ff86433ba6 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 6 Oct 2009 20:46:39 +0200 Subject: API review: change function name to setUseSystemConfiguration. Requested-By: Volker Hilsheimer (cherry picked from commit ffeb69003a9c676064cdf7ec099a02c2fbcf2ad3) --- src/network/kernel/qnetworkproxy.cpp | 4 ++-- src/network/kernel/qnetworkproxy.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp index 7f40134..2d5c74f 100644 --- a/src/network/kernel/qnetworkproxy.cpp +++ b/src/network/kernel/qnetworkproxy.cpp @@ -1166,12 +1166,12 @@ QNetworkProxyFactory::~QNetworkProxyFactory() sets an application-wide proxy factory. For this reason, this method is mutually exclusive with setApplicationProxyFactory: calling setApplicationProxyFactory overrides the use of the system-wide proxy, - and calling setUseSystemConfigurationEnabled overrides any + and calling setUseSystemConfiguration overrides any application proxy or proxy factory that was previously set. \since 4.6 */ -void QNetworkProxyFactory::setUseSystemConfigurationEnabled(bool enable) +void QNetworkProxyFactory::setUseSystemConfiguration(bool enable) { if (enable) { setApplicationProxyFactory(new QSystemConfigurationProxyFactory); diff --git a/src/network/kernel/qnetworkproxy.h b/src/network/kernel/qnetworkproxy.h index 6357c64..68bd6fd 100644 --- a/src/network/kernel/qnetworkproxy.h +++ b/src/network/kernel/qnetworkproxy.h @@ -171,7 +171,7 @@ public: virtual QList queryProxy(const QNetworkProxyQuery &query = QNetworkProxyQuery()) = 0; - static void setUseSystemConfigurationEnabled(bool enable); + static void setUseSystemConfiguration(bool enable); static void setApplicationProxyFactory(QNetworkProxyFactory *factory); static QList proxyForQuery(const QNetworkProxyQuery &query); static QList systemProxyForQuery(const QNetworkProxyQuery &query = QNetworkProxyQuery()); -- cgit v0.12 From d6e41c42b790774a7c29566edc849efaa2e37f73 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 6 Oct 2009 20:47:52 +0200 Subject: Autotest: use port 12346 instead of 1, to ensure that it's not a firewall issue Also check if we're not timing out instead of being able to fail. (cherry picked from commit 9cf618492d1c89b489bf7e52e45c9577f9d52c1c) --- tests/auto/networkselftest/tst_networkselftest.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/auto/networkselftest/tst_networkselftest.cpp b/tests/auto/networkselftest/tst_networkselftest.cpp index 4e60101..083eee3 100644 --- a/tests/auto/networkselftest/tst_networkselftest.cpp +++ b/tests/auto/networkselftest/tst_networkselftest.cpp @@ -357,10 +357,15 @@ void tst_NetworkSelfTest::dnsResolution() void tst_NetworkSelfTest::serverReachability() { - // check that we get a proper error connecting to port 1 + // check that we get a proper error connecting to port 12346 QTcpSocket socket; - socket.connectToHost(QtNetworkSettings::serverName(), 1); + socket.connectToHost(QtNetworkSettings::serverName(), 12346); + + QTime timer; + timer.start(); socket.waitForConnected(10000); + QVERIFY2(timer.elapsed() < 9900, "Connection to closed port timed out instead of refusing, something is wrong"); + QVERIFY2(socket.state() == QAbstractSocket::UnconnectedState, "Socket connected unexpectedly!"); QVERIFY2(socket.error() == QAbstractSocket::ConnectionRefusedError, QString("Could not reach server: %1").arg(socket.errorString()).toLocal8Bit()); -- cgit v0.12 From c6bd9f0fbc254e723b4afbfb4222bb4e31f63a9d Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Wed, 7 Oct 2009 13:09:38 +1000 Subject: Autotest: add a few more tests, with IP address and actual hostname (cherry picked from commit d47b7e6d0adcd675ba9da11818b3fa9acc3caff5) Conflicts: tests/auto/networkselftest/tst_networkselftest.cpp --- tests/auto/networkselftest/tst_networkselftest.cpp | 77 ++++++++++++++++++++-- 1 file changed, 73 insertions(+), 4 deletions(-) diff --git a/tests/auto/networkselftest/tst_networkselftest.cpp b/tests/auto/networkselftest/tst_networkselftest.cpp index 083eee3..d58402b 100644 --- a/tests/auto/networkselftest/tst_networkselftest.cpp +++ b/tests/auto/networkselftest/tst_networkselftest.cpp @@ -54,10 +54,13 @@ class tst_NetworkSelfTest: public QObject { Q_OBJECT + QHostAddress cachedIpAddress; public: tst_NetworkSelfTest(); virtual ~tst_NetworkSelfTest(); + QHostAddress serverIpAddress(); + private slots: void hostTest(); void dnsResolution_data(); @@ -325,6 +328,16 @@ tst_NetworkSelfTest::~tst_NetworkSelfTest() { } +QHostAddress tst_NetworkSelfTest::serverIpAddress() +{ + if (cachedIpAddress.protocol() == QAbstractSocket::UnknownNetworkLayerProtocol) { + // need resolving + QHostInfo resolved = QHostInfo::fromName(QtNetworkSettings::serverName()); + cachedIpAddress = resolved.addresses().first(); + } + return cachedIpAddress; +} + void tst_NetworkSelfTest::hostTest() { // this is a localhost self-test @@ -353,6 +366,9 @@ void tst_NetworkSelfTest::dnsResolution() QHostInfo resolved = QHostInfo::fromName(hostName); QVERIFY2(resolved.error() == QHostInfo::NoError, QString("Failed to resolve hostname %1: %2").arg(hostName, resolved.errorString()).toLocal8Bit()); + QVERIFY2(resolved.addresses().size() > 0, "Got 0 addresses for server IP"); + + cachedIpAddress = resolved.addresses().first(); } void tst_NetworkSelfTest::serverReachability() @@ -521,7 +537,18 @@ void tst_NetworkSelfTest::httpsServer() void tst_NetworkSelfTest::httpProxy() { netChat(3128, QList() - // proxy GET + // proxy GET by IP + << Chat::send("GET http://" + serverIpAddress().toString().toLatin1() + "/ HTTP/1.0\r\n" + "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" + "Proxy-connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") + << Chat::discardUntil(" ") + << Chat::expect("200 ") + << Chat::DiscardUntilDisconnect + + // proxy GET by hostname + << Chat::Reconnect << Chat::send("GET http://" + QtNetworkSettings::serverName().toLatin1() + "/ HTTP/1.0\r\n" "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" "Proxy-connection: close\r\n" @@ -531,7 +558,17 @@ void tst_NetworkSelfTest::httpProxy() << Chat::expect("200 ") << Chat::DiscardUntilDisconnect - // proxy CONNECT + // proxy CONNECT by IP + << Chat::Reconnect + << Chat::send("CONNECT " + serverIpAddress().toString().toLatin1() + ":21 HTTP/1.0\r\n" + "\r\n") + << Chat::expect("HTTP/1.") + << Chat::discardUntil(" ") + << Chat::expect("200 ") + << Chat::discardUntil("\r\n\r\n") + << ftpChat() + + // proxy CONNECT by hostname << Chat::Reconnect << Chat::send("CONNECT " + QtNetworkSettings::serverName().toLatin1() + ":21 HTTP/1.0\r\n" "\r\n") @@ -539,7 +576,8 @@ void tst_NetworkSelfTest::httpProxy() << Chat::discardUntil(" ") << Chat::expect("200 ") << Chat::discardUntil("\r\n\r\n") - << ftpChat()); + << ftpChat() + ); } void tst_NetworkSelfTest::httpProxyBasicAuth() @@ -596,11 +634,22 @@ static const char handshakeAuthPassword[] = "\5\1\2\1\12qsockstest\10password"; static const char handshakeOkPasswdAuth[] = "\5\2\1\0"; static const char handshakeAuthNotOk[] = "\5\377"; static const char connect1[] = "\5\1\0\1\177\0\0\1\0\25"; // Connect IPv4 127.0.0.1 port 21 +static const char connect1a[] = "\5\1\0\1"; // just "Connect to IPv4" +static const char connect1b[] = "\0\25"; // just "port 21" static const char connect2[] = "\5\1\0\3\11localhost\0\25"; // Connect hostname localhost 21 +static const char connect2a[] = "\5\1\0\3"; // just "Connect to hostname" static const char connected[] = "\5\0\0"; +#define QBA(x) (QByteArray::fromRawData(x, -1 + sizeof(x))) + void tst_NetworkSelfTest::socks5Proxy() { + union { + char buf[4]; + quint32 data; + } ip4Address; + ip4Address.data = qToBigEndian(serverIpAddress().toIPv4Address()); + netChat(1080, QList() // IP address connection << Chat::send(QByteArray(handshakeNoAuth, -1 + sizeof handshakeNoAuth)) @@ -611,7 +660,17 @@ void tst_NetworkSelfTest::socks5Proxy() << Chat::skipBytes(6) // the server's local address and port << ftpChat() - // hostname connection + // connect by IP + << Chat::Reconnect + << Chat::send(QByteArray(handshakeNoAuth, -1 + sizeof handshakeNoAuth)) + << Chat::expect(QByteArray(handshakeOkNoAuth, -1 + sizeof handshakeOkNoAuth)) + << Chat::send(QBA(connect1a) + QByteArray::fromRawData(ip4Address.buf, 4) + QBA(connect1b)) + << Chat::expect(QByteArray(connected, -1 + sizeof connected)) + << Chat::expect("\1") // IPv4 address following + << Chat::skipBytes(6) // the server's local address and port + << ftpChat() + + // connect to "localhost" by hostname << Chat::Reconnect << Chat::send(QByteArray(handshakeNoAuth, -1 + sizeof handshakeNoAuth)) << Chat::expect(QByteArray(handshakeOkNoAuth, -1 + sizeof handshakeOkNoAuth)) @@ -620,6 +679,16 @@ void tst_NetworkSelfTest::socks5Proxy() << Chat::expect("\1") // IPv4 address following << Chat::skipBytes(6) // the server's local address and port << ftpChat() + + // connect to server by its official name + << Chat::Reconnect + << Chat::send(QByteArray(handshakeNoAuth, -1 + sizeof handshakeNoAuth)) + << Chat::expect(QByteArray(handshakeOkNoAuth, -1 + sizeof handshakeOkNoAuth)) + << Chat::send(QBA(connect2a) + char(QtNetworkSettings::serverName().size()) + QtNetworkSettings::serverName().toLatin1() + QBA(connect1b)) + << Chat::expect(QByteArray(connected, -1 + sizeof connected)) + << Chat::expect("\1") // IPv4 address following + << Chat::skipBytes(6) // the server's local address and port + << ftpChat() ); } -- cgit v0.12 From 49f1dcec6639e2f2069c0994a351457b5b333ce0 Mon Sep 17 00:00:00 2001 From: Iain Date: Tue, 6 Oct 2009 21:34:10 +0200 Subject: Update EABI DEF files for Symbian OS Reviewed-by: TrustMe (cherry picked from commit 2d2b4e8a77a30449d8b4ebc88979b3aff45a8222) --- src/s60installs/eabi/QtCoreu.def | 60 ++++++++++++--------- src/s60installs/eabi/QtGuiu.def | 105 +++++++++++++++++++++++++++++++++--- src/s60installs/eabi/QtNetworku.def | 4 +- src/s60installs/eabi/QtScriptu.def | 26 ++++++--- src/s60installs/eabi/QtSqlu.def | 2 +- 5 files changed, 157 insertions(+), 40 deletions(-) diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def index d795a62..dda89fd 100644 --- a/src/s60installs/eabi/QtCoreu.def +++ b/src/s60installs/eabi/QtCoreu.def @@ -3206,11 +3206,11 @@ EXPORTS _ZN12QEasingCurveD1Ev @ 3205 NONAME _ZN12QEasingCurveD2Ev @ 3206 NONAME _ZN12QEasingCurveaSERKS_ @ 3207 NONAME - _ZN12QSignalEventC1EP7QObjectiRK5QListI8QVariantE @ 3208 NONAME - _ZN12QSignalEventC2EP7QObjectiRK5QListI8QVariantE @ 3209 NONAME - _ZN12QSignalEventD0Ev @ 3210 NONAME - _ZN12QSignalEventD1Ev @ 3211 NONAME - _ZN12QSignalEventD2Ev @ 3212 NONAME + _ZN12QSignalEventC1EP7QObjectiRK5QListI8QVariantE @ 3208 NONAME ABSENT + _ZN12QSignalEventC2EP7QObjectiRK5QListI8QVariantE @ 3209 NONAME ABSENT + _ZN12QSignalEventD0Ev @ 3210 NONAME ABSENT + _ZN12QSignalEventD1Ev @ 3211 NONAME ABSENT + _ZN12QSignalEventD2Ev @ 3212 NONAME ABSENT _ZN13QHistoryState11qt_metacallEN11QMetaObject4CallEiPPv @ 3213 NONAME _ZN13QHistoryState11qt_metacastEPKc @ 3214 NONAME _ZN13QHistoryState14setHistoryTypeENS_11HistoryTypeE @ 3215 NONAME @@ -3234,7 +3234,7 @@ EXPORTS _ZN13QStateMachine12endMicrostepEP6QEvent @ 3233 NONAME _ZN13QStateMachine14beginMicrostepEP6QEvent @ 3234 NONAME _ZN13QStateMachine16staticMetaObjectE @ 3235 NONAME DATA 16 - _ZN13QStateMachine17postInternalEventEP6QEvent @ 3236 NONAME + _ZN13QStateMachine17postInternalEventEP6QEvent @ 3236 NONAME ABSENT _ZN13QStateMachine19addDefaultAnimationEP18QAbstractAnimation @ 3237 NONAME _ZN13QStateMachine20endSelectTransitionsEP6QEvent @ 3238 NONAME _ZN13QStateMachine20setAnimationsEnabledEb @ 3239 NONAME @@ -3249,7 +3249,7 @@ EXPORTS _ZN13QStateMachine7startedEv @ 3248 NONAME _ZN13QStateMachine7stoppedEv @ 3249 NONAME _ZN13QStateMachine8addStateEP14QAbstractState @ 3250 NONAME - _ZN13QStateMachine9postEventEP6QEventi @ 3251 NONAME + _ZN13QStateMachine9postEventEP6QEventi @ 3251 NONAME ABSENT _ZN13QStateMachineC1EP7QObject @ 3252 NONAME _ZN13QStateMachineC1ER20QStateMachinePrivateP7QObject @ 3253 NONAME _ZN13QStateMachineC2EP7QObject @ 3254 NONAME @@ -3265,11 +3265,11 @@ EXPORTS _ZN13QStatePrivateD1Ev @ 3264 NONAME _ZN13QStatePrivateD2Ev @ 3265 NONAME _ZN13QUnifiedTimer8instanceEv @ 3266 NONAME - _ZN13QWrappedEventC1EP7QObjectP6QEvent @ 3267 NONAME - _ZN13QWrappedEventC2EP7QObjectP6QEvent @ 3268 NONAME - _ZN13QWrappedEventD0Ev @ 3269 NONAME - _ZN13QWrappedEventD1Ev @ 3270 NONAME - _ZN13QWrappedEventD2Ev @ 3271 NONAME + _ZN13QWrappedEventC1EP7QObjectP6QEvent @ 3267 NONAME ABSENT + _ZN13QWrappedEventC2EP7QObjectP6QEvent @ 3268 NONAME ABSENT + _ZN13QWrappedEventD0Ev @ 3269 NONAME ABSENT + _ZN13QWrappedEventD1Ev @ 3270 NONAME ABSENT + _ZN13QWrappedEventD2Ev @ 3271 NONAME ABSENT _ZN14QAbstractState11qt_metacallEN11QMetaObject4CallEiPPv @ 3272 NONAME _ZN14QAbstractState11qt_metacastEPKc @ 3273 NONAME _ZN14QAbstractState16staticMetaObjectE @ 3274 NONAME DATA 16 @@ -3299,7 +3299,7 @@ EXPORTS _ZN15QPauseAnimation11qt_metacastEPKc @ 3298 NONAME _ZN15QPauseAnimation11setDurationEi @ 3299 NONAME _ZN15QPauseAnimation16staticMetaObjectE @ 3300 NONAME DATA 16 - _ZN15QPauseAnimation17updateCurrentTimeEi @ 3301 NONAME ABSENT + _ZN15QPauseAnimation17updateCurrentTimeEi @ 3301 NONAME _ZN15QPauseAnimation5eventEP6QEvent @ 3302 NONAME _ZN15QPauseAnimationC1EP7QObject @ 3303 NONAME _ZN15QPauseAnimationC1EiP7QObject @ 3304 NONAME @@ -3361,7 +3361,7 @@ EXPORTS _ZN17QVariantAnimation13setStartValueERK8QVariant @ 3360 NONAME _ZN17QVariantAnimation14setEasingCurveERK12QEasingCurve @ 3361 NONAME _ZN17QVariantAnimation16staticMetaObjectE @ 3362 NONAME DATA 16 - _ZN17QVariantAnimation17updateCurrentTimeEi @ 3363 NONAME ABSENT + _ZN17QVariantAnimation17updateCurrentTimeEi @ 3363 NONAME _ZN17QVariantAnimation20registerInterpolatorEPF8QVariantPKvS2_fEi @ 3364 NONAME _ZN17QVariantAnimation5eventEP6QEvent @ 3365 NONAME _ZN17QVariantAnimationC2EP7QObject @ 3366 NONAME @@ -3430,7 +3430,7 @@ EXPORTS _ZN20QStateMachinePrivate14isDescendantOfEPK14QAbstractStateS2_ @ 3429 NONAME _ZN20QStateMachinePrivate15applyPropertiesERK5QListIP19QAbstractTransitionERKS0_IP14QAbstractStateESA_ @ 3430 NONAME _ZN20QStateMachinePrivate15properAncestorsEPK14QAbstractStatePK6QState @ 3431 NONAME - _ZN20QStateMachinePrivate15scheduleProcessEv @ 3432 NONAME + _ZN20QStateMachinePrivate15scheduleProcessEv @ 3432 NONAME ABSENT _ZN20QStateMachinePrivate16addStatesToEnterEP14QAbstractStateP6QStateR4QSetIS1_ES6_ @ 3433 NONAME _ZN20QStateMachinePrivate16removeStartStateEv @ 3434 NONAME _ZN20QStateMachinePrivate17stateExitLessThanEP14QAbstractStateS1_ @ 3435 NONAME @@ -3470,7 +3470,7 @@ EXPORTS _ZN23QParallelAnimationGroup11updateStateEN18QAbstractAnimation5StateES1_ @ 3469 NONAME _ZN23QParallelAnimationGroup15updateDirectionEN18QAbstractAnimation9DirectionE @ 3470 NONAME _ZN23QParallelAnimationGroup16staticMetaObjectE @ 3471 NONAME DATA 16 - _ZN23QParallelAnimationGroup17updateCurrentTimeEi @ 3472 NONAME ABSENT + _ZN23QParallelAnimationGroup17updateCurrentTimeEi @ 3472 NONAME _ZN23QParallelAnimationGroup5eventEP6QEvent @ 3473 NONAME _ZN23QParallelAnimationGroupC1EP7QObject @ 3474 NONAME _ZN23QParallelAnimationGroupC1ER30QParallelAnimationGroupPrivateP7QObject @ 3475 NONAME @@ -3498,7 +3498,7 @@ EXPORTS _ZN25QSequentialAnimationGroup13insertPauseAtEii @ 3497 NONAME _ZN25QSequentialAnimationGroup15updateDirectionEN18QAbstractAnimation9DirectionE @ 3498 NONAME _ZN25QSequentialAnimationGroup16staticMetaObjectE @ 3499 NONAME DATA 16 - _ZN25QSequentialAnimationGroup17updateCurrentTimeEi @ 3500 NONAME ABSENT + _ZN25QSequentialAnimationGroup17updateCurrentTimeEi @ 3500 NONAME _ZN25QSequentialAnimationGroup23currentAnimationChangedEP18QAbstractAnimation @ 3501 NONAME _ZN25QSequentialAnimationGroup5eventEP6QEvent @ 3502 NONAME _ZN25QSequentialAnimationGroup8addPauseEi @ 3503 NONAME @@ -3648,11 +3648,11 @@ EXPORTS _ZNK8QVariant7toFloatEPb @ 3647 NONAME _ZNK9QTimeLine11easingCurveEv @ 3648 NONAME _ZTI11QFinalState @ 3649 NONAME - _ZTI12QSignalEvent @ 3650 NONAME + _ZTI12QSignalEvent @ 3650 NONAME ABSENT _ZTI13QHistoryState @ 3651 NONAME _ZTI13QStateMachine @ 3652 NONAME _ZTI13QStatePrivate @ 3653 NONAME - _ZTI13QWrappedEvent @ 3654 NONAME + _ZTI13QWrappedEvent @ 3654 NONAME ABSENT _ZTI14QAbstractState @ 3655 NONAME _ZTI15QAnimationGroup @ 3656 NONAME _ZTI15QPauseAnimation @ 3657 NONAME @@ -3671,11 +3671,11 @@ EXPORTS _ZTI26QAbstractTransitionPrivate @ 3670 NONAME _ZTI6QState @ 3671 NONAME _ZTV11QFinalState @ 3672 NONAME - _ZTV12QSignalEvent @ 3673 NONAME + _ZTV12QSignalEvent @ 3673 NONAME ABSENT _ZTV13QHistoryState @ 3674 NONAME _ZTV13QStateMachine @ 3675 NONAME _ZTV13QStatePrivate @ 3676 NONAME - _ZTV13QWrappedEvent @ 3677 NONAME + _ZTV13QWrappedEvent @ 3677 NONAME ABSENT _ZTV14QAbstractState @ 3678 NONAME _ZTV15QAnimationGroup @ 3679 NONAME _ZTV15QPauseAnimation @ 3680 NONAME @@ -3820,8 +3820,18 @@ EXPORTS _ZTV37QNonContiguousByteDeviceByteArrayImpl @ 3819 NONAME ABSENT ; ## _ZTV38QNonContiguousByteDeviceRingBufferImpl @ 3820 NONAME ABSENT ; ## _Zls6QDebugRK8QMargins @ 3821 NONAME - _ZN15QPauseAnimation17updateCurrentTimeEv @ 3822 NONAME - _ZN17QVariantAnimation17updateCurrentTimeEv @ 3823 NONAME - _ZN23QParallelAnimationGroup17updateCurrentTimeEv @ 3824 NONAME - _ZN25QSequentialAnimationGroup17updateCurrentTimeEv @ 3825 NONAME + _ZN15QPauseAnimation17updateCurrentTimeEv @ 3822 NONAME ABSENT + _ZN17QVariantAnimation17updateCurrentTimeEv @ 3823 NONAME ABSENT + _ZN23QParallelAnimationGroup17updateCurrentTimeEv @ 3824 NONAME ABSENT + _ZN25QSequentialAnimationGroup17updateCurrentTimeEv @ 3825 NONAME ABSENT + _ZN11QDataStream25setFloatingPointPrecisionENS_22FloatingPointPrecisionE @ 3826 NONAME + _ZN13QStateMachine16postDelayedEventEP6QEventi @ 3827 NONAME + _ZN13QStateMachine18cancelDelayedEventEi @ 3828 NONAME + _ZN13QStateMachine9postEventEP6QEventNS_13EventPriorityE @ 3829 NONAME + _ZN20QStateMachinePrivate13processEventsENS_19EventProcessingModeE @ 3830 NONAME + _ZN20QStateMachinePrivate19handleFilteredEventEP7QObjectP6QEvent @ 3831 NONAME + _ZN20QStateMachinePrivate22cancelAllDelayedEventsEv @ 3832 NONAME + _ZN4QUrl13fromUserInputERK7QString @ 3833 NONAME + _ZNK11QDataStream22floatingPointPrecisionEv @ 3834 NONAME + qt_sine_table @ 3835 NONAME DATA 1024 diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index aad8b68..581d3bc 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -11631,7 +11631,7 @@ EXPORTS qt_pixmap_cleanup_hook @ 11630 NONAME DATA 4 qt_pixmap_cleanup_hook_64 @ 11631 NONAME DATA 4 qt_tab_all_widgets @ 11632 NONAME DATA 1 - _Z17qDrawBorderPixmapP8QPainterRK5QRectRK8QMarginsRK7QPixmapS3_S6_RK10QTileRules @ 11633 NONAME + _Z17qDrawBorderPixmapP8QPainterRK5QRectRK8QMarginsRK7QPixmapS3_S6_RK10QTileRules @ 11633 NONAME ABSENT _Z17qHasPixmapTextureRK6QBrush @ 11634 NONAME _Z22qt_setQtEnableTestFontb @ 11635 NONAME _Z25qt_translateRawTouchEventP7QWidgetN11QTouchEvent10DeviceTypeERK5QListINS1_10TouchPointEE @ 11636 NONAME @@ -11824,7 +11824,7 @@ EXPORTS _ZN14QPaintEngineExC2Ev @ 11823 NONAME _ZN14QWidgetPrivate10allWidgetsE @ 11824 NONAME DATA 4 _ZN14QWidgetPrivate13setWSGeometryEbRK5QRect @ 11825 NONAME - _ZN14QWidgetPrivate33handleSymbianDeferredFocusChangedEv @ 11826 NONAME + _ZN14QWidgetPrivate33handleSymbianDeferredFocusChangedEv @ 11826 NONAME ABSENT _ZN15QDockAreaLayout13separatorMoveERK5QListIiERK6QPointS6_ @ 11827 NONAME _ZN15QDockAreaLayout4infoERK5QListIiE @ 11828 NONAME _ZN15QDockAreaLayout4itemERK5QListIiE @ 11829 NONAME @@ -12984,9 +12984,9 @@ EXPORTS _ZN16QS60MainDocumentD0Ev @ 12983 NONAME _ZN16QS60MainDocumentD1Ev @ 12984 NONAME _ZN16QS60MainDocumentD2Ev @ 12985 NONAME - _ZN17QPixmapBlurFilter11setBlurHintENS_8BlurHintE @ 12986 NONAME - _ZN19QGraphicsBlurEffect11setBlurHintENS_8BlurHintE @ 12987 NONAME - _ZN19QGraphicsBlurEffect15blurHintChangedENS_8BlurHintE @ 12988 NONAME + _ZN17QPixmapBlurFilter11setBlurHintENS_8BlurHintE @ 12986 NONAME ABSENT + _ZN19QGraphicsBlurEffect11setBlurHintENS_8BlurHintE @ 12987 NONAME ABSENT + _ZN19QGraphicsBlurEffect15blurHintChangedENS_8BlurHintE @ 12988 NONAME ABSENT _ZN19QS60MainApplication15CreateDocumentLEv @ 12989 NONAME _ZN19QS60MainApplicationC1Ev @ 12990 NONAME _ZN19QS60MainApplicationC2Ev @ 12991 NONAME @@ -13001,7 +13001,7 @@ EXPORTS _ZNK19QGraphicsBlurEffect8blurHintEv @ 13000 NONAME _ZNK19QS60MainApplication16ResourceFileNameEv @ 13001 NONAME _ZNK19QS60MainApplication9AppDllUidEv @ 13002 NONAME - _ZNK21QGraphicsAnchorLayout12hasConflictsEv @ 13003 NONAME + _ZNK21QGraphicsAnchorLayout12hasConflictsEv @ 13003 NONAME ABSENT _ZNK7QPixmap17toSymbianRSgImageEv @ 13004 NONAME _ZTI15QSoftKeyManager @ 13005 NONAME _ZTV15QSoftKeyManager @ 13006 NONAME @@ -13009,4 +13009,97 @@ EXPORTS _ZThn24_N13QS60MainAppUi15DynInitMenuBarLEiP11CEikMenuBar @ 13008 NONAME _ZThn24_N13QS60MainAppUi16DynInitMenuPaneLEiP12CEikMenuPane @ 13009 NONAME _ZThn88_N13QS60MainAppUi26HandleStatusPaneSizeChangeEv @ 13010 NONAME + _Z12qDrawPixmapsP8QPainterPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS1_11DrawingHintEE @ 13011 NONAME + _Z17qDrawBorderPixmapP8QPainterRK5QRectRK8QMarginsRK7QPixmapS3_S6_RK10QTileRules6QFlagsIN17QDrawBorderPixmap11DrawingHintEE @ 13012 NONAME + _ZN10QImageData6createEPhiiiN6QImage6FormatEb @ 13013 NONAME + _ZN10QImageData6createERK5QSizeN6QImage6FormatEi @ 13014 NONAME + _ZN10QImageDataC1Ev @ 13015 NONAME + _ZN10QImageDataC2Ev @ 13016 NONAME + _ZN10QImageDataD1Ev @ 13017 NONAME + _ZN10QImageDataD2Ev @ 13018 NONAME + _ZN13QGraphicsItem11stackBeforeEPKS_ @ 13019 NONAME + _ZN13QGraphicsItem16setPanelModalityENS_13PanelModalityE @ 13020 NONAME + _ZN14QPaintEngineEx11drawPixmapsEPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS0_11DrawingHintEE @ 13021 NONAME + _ZN14QWidgetPrivate21activateSymbianWindowEv @ 13022 NONAME + _ZN17QAbstractItemView20setDefaultDropActionEN2Qt10DropActionE @ 13023 NONAME + _ZN17QPixmapBlurFilter11setBlurHintEN2Qt10RenderHintE @ 13024 NONAME + _ZN19QApplicationPrivate16load_testabilityE @ 13025 NONAME DATA 1 + _ZN19QGraphicsBlurEffect11setBlurHintEN2Qt10RenderHintE @ 13026 NONAME + _ZN19QGraphicsBlurEffect15blurHintChangedEN2Qt10RenderHintE @ 13027 NONAME + _ZN20QGraphicsBloomEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 13028 NONAME + _ZN20QGraphicsBloomEffect11qt_metacastEPKc @ 13029 NONAME + _ZN20QGraphicsBloomEffect11setBlurHintEN2Qt10RenderHintE @ 13030 NONAME + _ZN20QGraphicsBloomEffect11setStrengthEf @ 13031 NONAME + _ZN20QGraphicsBloomEffect13setBlurRadiusEi @ 13032 NONAME + _ZN20QGraphicsBloomEffect13setBrightnessEi @ 13033 NONAME + _ZN20QGraphicsBloomEffect15blurHintChangedEN2Qt10RenderHintE @ 13034 NONAME + _ZN20QGraphicsBloomEffect15strengthChangedEf @ 13035 NONAME + _ZN20QGraphicsBloomEffect16staticMetaObjectE @ 13036 NONAME DATA 16 + _ZN20QGraphicsBloomEffect17blurRadiusChangedEi @ 13037 NONAME + _ZN20QGraphicsBloomEffect17brightnessChangedEi @ 13038 NONAME + _ZN20QGraphicsBloomEffect19getStaticMetaObjectEv @ 13039 NONAME + _ZN20QGraphicsBloomEffect4drawEP8QPainterP21QGraphicsEffectSource @ 13040 NONAME + _ZN20QGraphicsBloomEffectC1EP7QObject @ 13041 NONAME + _ZN20QGraphicsBloomEffectC2EP7QObject @ 13042 NONAME + _ZN20QGraphicsBloomEffectD0Ev @ 13043 NONAME + _ZN20QGraphicsBloomEffectD1Ev @ 13044 NONAME + _ZN20QGraphicsBloomEffectD2Ev @ 13045 NONAME + _ZN20QGraphicsItemPrivate28ensureSequentialSiblingIndexEv @ 13046 NONAME + _ZN28QGraphicsAnchorLayoutPrivate11solveMinMaxE5QListIP18QSimplexConstraintE9GraphPathPfS5_ @ 13047 NONAME + _ZN28QGraphicsAnchorLayoutPrivate12oppositeEdgeEN2Qt11AnchorPointE @ 13048 NONAME + _ZN28QGraphicsAnchorLayoutPrivate12removeAnchorEP12AnchorVertexS1_ @ 13049 NONAME + _ZN28QGraphicsAnchorLayoutPrivate12removeVertexEP19QGraphicsLayoutItemN2Qt11AnchorPointE @ 13050 NONAME + _ZN28QGraphicsAnchorLayoutPrivate13getGraphPartsENS_11OrientationE @ 13051 NONAME + _ZN28QGraphicsAnchorLayoutPrivate13removeAnchorsEP19QGraphicsLayoutItem @ 13052 NONAME + _ZN28QGraphicsAnchorLayoutPrivate13setAnchorSizeEP10AnchorDataPKf @ 13053 NONAME + _ZN28QGraphicsAnchorLayoutPrivate13simplifyGraphENS_11OrientationE @ 13054 NONAME + _ZN28QGraphicsAnchorLayoutPrivate14solvePreferredE5QListIP18QSimplexConstraintE @ 13055 NONAME + _ZN28QGraphicsAnchorLayoutPrivate15calculateGraphsENS_11OrientationE @ 13056 NONAME + _ZN28QGraphicsAnchorLayoutPrivate15calculateGraphsEv @ 13057 NONAME + _ZN28QGraphicsAnchorLayoutPrivate15createItemEdgesEP19QGraphicsLayoutItem @ 13058 NONAME + _ZN28QGraphicsAnchorLayoutPrivate15edgeOrientationEN2Qt11AnchorPointE @ 13059 NONAME + _ZN28QGraphicsAnchorLayoutPrivate15interpolateEdgeEP12AnchorVertexP10AnchorDataNS_11OrientationE @ 13060 NONAME + _ZN28QGraphicsAnchorLayoutPrivate16addAnchor_helperEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_P10AnchorData @ 13061 NONAME + _ZN28QGraphicsAnchorLayoutPrivate17addInternalVertexEP19QGraphicsLayoutItemN2Qt11AnchorPointE @ 13062 NONAME + _ZN28QGraphicsAnchorLayoutPrivate17createLayoutEdgesEv @ 13063 NONAME + _ZN28QGraphicsAnchorLayoutPrivate17deleteLayoutEdgesEv @ 13064 NONAME + _ZN28QGraphicsAnchorLayoutPrivate18setItemsGeometriesERK6QRectF @ 13065 NONAME + _ZN28QGraphicsAnchorLayoutPrivate19createCenterAnchorsEP19QGraphicsLayoutItemN2Qt11AnchorPointE @ 13066 NONAME + _ZN28QGraphicsAnchorLayoutPrivate19removeAnchor_helperEP12AnchorVertexS1_ @ 13067 NONAME + _ZN28QGraphicsAnchorLayoutPrivate19removeCenterAnchorsEP19QGraphicsLayoutItemN2Qt11AnchorPointEb @ 13068 NONAME + _ZN28QGraphicsAnchorLayoutPrivate20constraintsFromPathsENS_11OrientationE @ 13069 NONAME + _ZN28QGraphicsAnchorLayoutPrivate20correctEdgeDirectionERP19QGraphicsLayoutItemRN2Qt11AnchorPointES2_S5_ @ 13070 NONAME + _ZN28QGraphicsAnchorLayoutPrivate20removeInternalVertexEP19QGraphicsLayoutItemN2Qt11AnchorPointE @ 13071 NONAME + _ZN28QGraphicsAnchorLayoutPrivate22restoreSimplifiedGraphENS_11OrientationE @ 13072 NONAME + _ZN28QGraphicsAnchorLayoutPrivate22simplifyGraphIterationENS_11OrientationE @ 13073 NONAME + _ZN28QGraphicsAnchorLayoutPrivate23removeCenterConstraintsEP19QGraphicsLayoutItemNS_11OrientationE @ 13074 NONAME + _ZN28QGraphicsAnchorLayoutPrivate23setupEdgesInterpolationENS_11OrientationE @ 13075 NONAME + _ZN28QGraphicsAnchorLayoutPrivate24calculateVertexPositionsENS_11OrientationE @ 13076 NONAME + _ZN28QGraphicsAnchorLayoutPrivate24constraintsFromSizeHintsERK5QListIP10AnchorDataE @ 13077 NONAME + _ZN28QGraphicsAnchorLayoutPrivate24interpolateParallelEdgesEP12AnchorVertexP18ParallelAnchorDataNS_11OrientationE @ 13078 NONAME + _ZN28QGraphicsAnchorLayoutPrivate26interpolateSequentialEdgesEP12AnchorVertexP20SequentialAnchorDataNS_11OrientationE @ 13079 NONAME + _ZN28QGraphicsAnchorLayoutPrivate27setAnchorSizeHintsFromItemsENS_11OrientationE @ 13080 NONAME + _ZN28QGraphicsAnchorLayoutPrivate9addAnchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_Pf @ 13081 NONAME + _ZN28QGraphicsAnchorLayoutPrivate9findPathsENS_11OrientationE @ 13082 NONAME + _ZN28QGraphicsAnchorLayoutPrivate9getAnchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_ @ 13083 NONAME + _ZN28QGraphicsAnchorLayoutPrivateC1Ev @ 13084 NONAME + _ZN28QGraphicsAnchorLayoutPrivateC2Ev @ 13085 NONAME + _ZNK10QImageData19checkForAlphaPixelsEv @ 13086 NONAME + _ZNK10QImageData9doImageIOEPK6QImageP12QImageWriteri @ 13087 NONAME + _ZNK13QGraphicsItem13panelModalityEv @ 13088 NONAME + _ZNK13QGraphicsItem21isBlockedByModalPanelEPPS_ @ 13089 NONAME + _ZNK17QAbstractItemView17defaultDropActionEv @ 13090 NONAME + _ZNK20QGraphicsBloomEffect10blurRadiusEv @ 13091 NONAME + _ZNK20QGraphicsBloomEffect10brightnessEv @ 13092 NONAME + _ZNK20QGraphicsBloomEffect10metaObjectEv @ 13093 NONAME + _ZNK20QGraphicsBloomEffect15boundingRectForERK6QRectF @ 13094 NONAME + _ZNK20QGraphicsBloomEffect8blurHintEv @ 13095 NONAME + _ZNK20QGraphicsBloomEffect8strengthEv @ 13096 NONAME + _ZNK28QGraphicsAnchorLayoutPrivate10anchorSizeEPK10AnchorDataPfS3_S3_ @ 13097 NONAME + _ZNK28QGraphicsAnchorLayoutPrivate12hasConflictsEv @ 13098 NONAME + _ZNK28QGraphicsAnchorLayoutPrivate16effectiveSpacingENS_11OrientationE @ 13099 NONAME + _ZTI20QGraphicsBloomEffect @ 13100 NONAME + _ZTI28QGraphicsAnchorLayoutPrivate @ 13101 NONAME + _ZTV20QGraphicsBloomEffect @ 13102 NONAME + _ZTV28QGraphicsAnchorLayoutPrivate @ 13103 NONAME diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def index 5188872..ab4562c 100644 --- a/src/s60installs/eabi/QtNetworku.def +++ b/src/s60installs/eabi/QtNetworku.def @@ -1353,7 +1353,7 @@ EXPORTS _ZN10QSslSocket22connectToHostEncryptedERK7QStringtS2_6QFlagsIN9QIODevice12OpenModeFlagEE @ 1352 NONAME _ZN13QNetworkReply15ignoreSslErrorsERK5QListI9QSslErrorE @ 1353 NONAME _ZN15QAbstractSocket12socketOptionENS_12SocketOptionE @ 1354 NONAME - _ZN15QAbstractSocket15setSocketOptionENS_12SocketOptionE8QVariant @ 1355 NONAME + _ZN15QAbstractSocket15setSocketOptionENS_12SocketOptionERK8QVariant @ 1355 NONAME _ZN17QHttpNetworkReply15ignoreSslErrorsERK5QListI9QSslErrorE @ 1356 NONAME _ZN17QHttpNetworkReply16dataSendProgressExx @ 1357 NONAME _ZN17QHttpNetworkReply7readAnyEv @ 1358 NONAME @@ -1379,7 +1379,7 @@ EXPORTS _ZN19QHttpNetworkRequest20setPipeliningAllowedEb @ 1378 NONAME _ZN19QNativeSocketEngine19getStaticMetaObjectEv @ 1379 NONAME _ZN19QSocks5SocketEngine19getStaticMetaObjectEv @ 1380 NONAME - _ZN20QNetworkProxyFactory32setUseSystemConfigurationEnabledEb @ 1381 NONAME + _ZN20QNetworkProxyFactory25setUseSystemConfigurationEb @ 1381 NONAME _ZN21QAbstractNetworkCache19getStaticMetaObjectEv @ 1382 NONAME _ZN21QAbstractSocketEngine19getStaticMetaObjectEv @ 1383 NONAME _ZN21QNetworkAccessManager19getStaticMetaObjectEv @ 1384 NONAME diff --git a/src/s60installs/eabi/QtScriptu.def b/src/s60installs/eabi/QtScriptu.def index 40d3577..cca0a2a 100644 --- a/src/s60installs/eabi/QtScriptu.def +++ b/src/s60installs/eabi/QtScriptu.def @@ -1,6 +1,6 @@ EXPORTS _Z14qScriptConnectP7QObjectPKcRK12QScriptValueS5_ @ 1 NONAME - _Z14qt_scriptToXmlRK7QStringi @ 2 NONAME + _Z14qt_scriptToXmlRK7QStringi @ 2 NONAME ABSENT _Z17qScriptDisconnectP7QObjectPKcRK12QScriptValueS5_ @ 3 NONAME _ZN11QScriptableC1Ev @ 4 NONAME _ZN11QScriptableC2Ev @ 5 NONAME @@ -189,11 +189,11 @@ EXPORTS _ZN24QScriptSyntaxCheckResultD1Ev @ 188 NONAME _ZN24QScriptSyntaxCheckResultD2Ev @ 189 NONAME _ZN24QScriptSyntaxCheckResultaSERKS_ @ 190 NONAME - _ZN25QScriptEngineAgentPrivateC1Ev @ 191 NONAME - _ZN25QScriptEngineAgentPrivateC2Ev @ 192 NONAME - _ZN25QScriptEngineAgentPrivateD0Ev @ 193 NONAME - _ZN25QScriptEngineAgentPrivateD1Ev @ 194 NONAME - _ZN25QScriptEngineAgentPrivateD2Ev @ 195 NONAME + _ZN25QScriptEngineAgentPrivateC1Ev @ 191 NONAME ABSENT + _ZN25QScriptEngineAgentPrivateC2Ev @ 192 NONAME ABSENT + _ZN25QScriptEngineAgentPrivateD0Ev @ 193 NONAME ABSENT + _ZN25QScriptEngineAgentPrivateD1Ev @ 194 NONAME ABSENT + _ZN25QScriptEngineAgentPrivateD2Ev @ 195 NONAME ABSENT _ZN28QScriptClassPropertyIteratorC2ERK12QScriptValue @ 196 NONAME _ZN28QScriptClassPropertyIteratorC2ERK12QScriptValueR35QScriptClassPropertyIteratorPrivate @ 197 NONAME _ZN28QScriptClassPropertyIteratorD0Ev @ 198 NONAME @@ -586,4 +586,18 @@ EXPORTS _ZThn8_N22QScriptExtensionPluginD1Ev @ 585 NONAME _ZlsR11QDataStreamRK18QScriptContextInfo @ 586 NONAME _ZrsR11QDataStreamR18QScriptContextInfo @ 587 NONAME + _Z22qt_script_isJITEnabledv @ 588 NONAME + _ZN12QScriptValueC1EP19QScriptValuePrivate @ 589 NONAME + _ZN12QScriptValueC2EP19QScriptValuePrivate @ 590 NONAME + _ZN13QScriptEngine19getStaticMetaObjectEv @ 591 NONAME + _ZN22QScriptExtensionPlugin19getStaticMetaObjectEv @ 592 NONAME + _ZN25QScriptEngineAgentPrivate11atStatementERKN5QTJSC17DebuggerCallFrameEiii @ 593 NONAME + _ZN25QScriptEngineAgentPrivate11returnEventERKN5QTJSC17DebuggerCallFrameEii @ 594 NONAME + _ZN25QScriptEngineAgentPrivate12evaluateStopERKN5QTJSC7JSValueEi @ 595 NONAME + _ZN25QScriptEngineAgentPrivate12functionExitERKN5QTJSC7JSValueEi @ 596 NONAME + _ZN25QScriptEngineAgentPrivate14exceptionCatchERKN5QTJSC17DebuggerCallFrameEi @ 597 NONAME + _ZN25QScriptEngineAgentPrivate14exceptionThrowERKN5QTJSC17DebuggerCallFrameEib @ 598 NONAME + _ZN25QScriptEngineAgentPrivate18didReachBreakpointERKN5QTJSC17DebuggerCallFrameEiii @ 599 NONAME + _ZN25QScriptEngineAgentPrivate6attachEv @ 600 NONAME + _ZN25QScriptEngineAgentPrivate6detachEv @ 601 NONAME diff --git a/src/s60installs/eabi/QtSqlu.def b/src/s60installs/eabi/QtSqlu.def index 99f0d00..4d4791a 100644 --- a/src/s60installs/eabi/QtSqlu.def +++ b/src/s60installs/eabi/QtSqlu.def @@ -236,7 +236,7 @@ EXPORTS _ZN9QSqlFieldC1ERKS_ @ 235 NONAME _ZN9QSqlFieldC1Ev @ 236 NONAME ABSENT _ZN9QSqlFieldC2ERK7QString @ 237 NONAME ABSENT - _ZN9QSqlFieldC2ERK7QStringN8QVariant4TypeE @ 238 NONAME ABSENT + _ZN9QSqlFieldC2ERK7QStringN8QVariant4TypeE @ 238 NONAME _ZN9QSqlFieldC2ERKS_ @ 239 NONAME _ZN9QSqlFieldC2Ev @ 240 NONAME ABSENT _ZN9QSqlFieldD1Ev @ 241 NONAME -- cgit v0.12 From 2884599eff16ff7beffce41346776ae4b120301a Mon Sep 17 00:00:00 2001 From: Kurt Korbatits Date: Wed, 7 Oct 2009 08:40:14 +1000 Subject: Fixed thread lockup in win32 backend for QAudioOutput. -Was not closing the WaveOut on cleanup, fixed. -Was emitting signal in critical section, fixed. Reviewed-by:Bill King (cherry picked from commit 3865912d4a6c31a4981e1831e2af8d59f3eb4ac0) --- src/multimedia/audio/qaudiooutput_win32_p.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp index ef4bf0e..2c4a1c2 100644 --- a/src/multimedia/audio/qaudiooutput_win32_p.cpp +++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp @@ -189,7 +189,6 @@ void QAudioOutputPrivate::stop() { if(deviceState == QAudio::StopState) return; - deviceState = QAudio::StopState; close(); if(!pullMode && audioSource) { delete audioSource; @@ -465,13 +464,15 @@ bool QAudioOutputPrivate::deviceReady() } else if(l == 0) { bytesAvailable = bytesFree(); + int check = 0; EnterCriticalSection(&waveOutCriticalSection); - if(waveFreeBlockCount == buffer_size/period_size) { + check = waveFreeBlockCount; + LeaveCriticalSection(&waveOutCriticalSection); + if(check == buffer_size/period_size) { errorState = QAudio::UnderrunError; deviceState = QAudio::IdleState; emit stateChanged(deviceState); } - LeaveCriticalSection(&waveOutCriticalSection); } else if(l < 0) { bytesAvailable = bytesFree(); -- cgit v0.12 From 6e908ad7e5f0cc1b33393baa8c9cab04cdc793a8 Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Wed, 7 Oct 2009 15:18:50 +1000 Subject: Fix build error introduced in change ffeb6900. Change ffeb6900 renamed a function but didn't rename all the calls. Reviewed-by: Trust Me (cherry picked from commit 8b7e766aa42739df8998ec9c1e94087b965ac87b) --- examples/webkit/fancybrowser/mainwindow.cpp | 2 +- examples/webkit/googlechat/main.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/webkit/fancybrowser/mainwindow.cpp b/examples/webkit/fancybrowser/mainwindow.cpp index 2adfa20..a3293b8 100644 --- a/examples/webkit/fancybrowser/mainwindow.cpp +++ b/examples/webkit/fancybrowser/mainwindow.cpp @@ -56,7 +56,7 @@ MainWindow::MainWindow() file.close(); //! [1] - QNetworkProxyFactory::setUseSystemConfigurationEnabled(true); + QNetworkProxyFactory::setUseSystemConfiguration(true); //! [2] view = new QWebView(this); diff --git a/examples/webkit/googlechat/main.cpp b/examples/webkit/googlechat/main.cpp index fd08114..6b5e11f 100644 --- a/examples/webkit/googlechat/main.cpp +++ b/examples/webkit/googlechat/main.cpp @@ -47,7 +47,7 @@ int main(int argc, char * argv[]) { QApplication app(argc, argv); - QNetworkProxyFactory::setUseSystemConfigurationEnabled(true); + QNetworkProxyFactory::setUseSystemConfiguration(true); GoogleChat *chat = new GoogleChat; chat->show(); -- cgit v0.12 From d6d0b2ef5223b4a40e8907104eb1d9e827507a42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Wed, 7 Oct 2009 10:51:26 +0200 Subject: Cosmetic fixes to the previous patches. There is only one change in the actual code here, and it simply removes an unnecessary initialization of hasSize in the ctors of the composite anchors. --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 68 +++++++++++++----------- src/gui/graphicsview/qgraphicsanchorlayout_p.h | 2 - src/gui/graphicsview/qsimplex_p.cpp | 4 +- src/gui/graphicsview/qsimplex_p.h | 4 +- 4 files changed, 40 insertions(+), 38 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 87f5aa0..34071cc 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -2409,47 +2409,51 @@ bool QGraphicsAnchorLayoutPrivate::solvePreferred(QList co return feasible; } -/*! Calculate the "expanding" keyframe +/*! + \internal + Calculate the "expanding" keyframe - This new keyframe sits between the already existing sizeAtPreferred and - sizeAtMaximum keyframes. Its goal is to modify the interpolation between - the latter as to respect the "expanding" size policy of some anchors. + This new keyframe sits between the already existing sizeAtPreferred and + sizeAtMaximum keyframes. Its goal is to modify the interpolation between + the latter as to respect the "expanding" size policy of some anchors. - Previously all items would be subject to a linear interpolation between - sizeAtPreferred and sizeAtMaximum values. This will change now, the - expanding anchors will change their size before the others. To calculate - this keyframe we use the following logic: + Previously all items would be subject to a linear interpolation between + sizeAtPreferred and sizeAtMaximum values. This will change now, the + expanding anchors will change their size before the others. To calculate + this keyframe we use the following logic: - 1) Ask each anchor for their desired expanding size (ad->expSize), this - value depends on the anchor expanding property in the following way: + 1) Ask each anchor for their desired expanding size (ad->expSize), this + value depends on the anchor expanding property in the following way: - - Expanding anchors want to grow towards their maximum size - - Non-expanding anchors want to remain at their preferred size. - - Composite anchors want to grow towards somewhere between their - preferred sizes. (*) + - Expanding normal anchors want to grow towards their maximum size + - Non-expanding normal anchors want to remain at their preferred size. + - Sequential anchors wants to grow towards a size that is calculated by: + summarizing it's child anchors, where it will use preferred size for non-expanding anchors + and maximum size for expanding anchors. + - Parallel anchors want to grow towards the smallest maximum size of all the expanding anchors. - 2) Clamp their desired values to the value they assume in the neighbour - keyframes (sizeAtPreferred and sizeAtExpanding) + 2) Clamp their desired values to the value they assume in the neighbour + keyframes (sizeAtPreferred and sizeAtExpanding) - 3) Run simplex with a setup that ensures the following: + 3) Run simplex with a setup that ensures the following: - a. Anchors will change their value from their sizeAtPreferred towards - their sizeAtMaximum as much as required to ensure that ALL anchors - reach their respective "desired" expanding sizes. + a. Anchors will change their value from their sizeAtPreferred towards + their sizeAtMaximum as much as required to ensure that ALL anchors + reach their respective "desired" expanding sizes. - b. No anchors will change their value beyond what is NEEDED to satisfy - the requirement above. + b. No anchors will change their value beyond what is NEEDED to satisfy + the requirement above. - The final result is that, at the "expanding" keyframe expanding anchors - will grow and take with them all anchors that are parallel to them. - However, non-expanding anchors will remain at their preferred size unless - they are forced to grow by a parallel expanding anchor. + The final result is that, at the "expanding" keyframe expanding anchors + will grow and take with them all anchors that are parallel to them. + However, non-expanding anchors will remain at their preferred size unless + they are forced to grow by a parallel expanding anchor. - Note: For anchors where the sizeAtPreferred is bigger than sizeAtPreferred, - the visual effect when the layout grows from its preferred size is - the following: Expanding anchors will keep their size while non - expanding ones will shrink. Only after non-expanding anchors have - shrinked all the way, the expanding anchors will start to shrink too. + Note: For anchors where the sizeAtPreferred is bigger than sizeAtMaximum, + the visual effect when the layout grows from its preferred size is + the following: Expanding anchors will keep their size while non + expanding ones will shrink. Only after non-expanding anchors have + shrinked all the way, the expanding anchors will start to shrink too. */ void QGraphicsAnchorLayoutPrivate::solveExpanding(QList constraints) { @@ -2495,7 +2499,7 @@ void QGraphicsAnchorLayoutPrivate::solveExpanding(QList co itemC->constant = qMax(boundedExpSize, ad->sizeAtMaximum); itemConstraints << itemC; - // Create objective to avoid the anchos from moving away from + // Create objective to avoid the anchors from moving away from // the preferred size more than the needed amount. (ensure 3.b) // The objective function is the distance between sizeAtPreferred // and sizeAtExpanding, it will be minimized. diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 1a74d85..24b25de 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -227,7 +227,6 @@ struct SequentialAnchorData : public AnchorData SequentialAnchorData() : AnchorData() { type = AnchorData::Sequential; - hasSize = true; #ifdef QT_DEBUG name = QLatin1String("SequentialAnchorData"); #endif @@ -256,7 +255,6 @@ struct ParallelAnchorData : public AnchorData : AnchorData(), firstEdge(first), secondEdge(second) { type = AnchorData::Parallel; - hasSize = true; // ### Those asserts force that both child anchors have the same direction, // but can't we simplify a pair of anchors in opposite directions? diff --git a/src/gui/graphicsview/qsimplex_p.cpp b/src/gui/graphicsview/qsimplex_p.cpp index 95003d2..b8f8fb4 100644 --- a/src/gui/graphicsview/qsimplex_p.cpp +++ b/src/gui/graphicsview/qsimplex_p.cpp @@ -519,11 +519,11 @@ qreal QSimplex::solver(solverFactor factor) solveMaxHelper(); collectResults(); - #ifdef QT_DEBUG +#ifdef QT_DEBUG for (int i = 0; i < constraints.size(); ++i) { Q_ASSERT(constraints[i]->isSatisfied()); } - #endif +#endif return factor * valueAt(0, columns - 1); } diff --git a/src/gui/graphicsview/qsimplex_p.h b/src/gui/graphicsview/qsimplex_p.h index b517cb9..51991a9 100644 --- a/src/gui/graphicsview/qsimplex_p.h +++ b/src/gui/graphicsview/qsimplex_p.h @@ -95,7 +95,7 @@ struct QSimplexConstraint QPair helper; QSimplexVariable * artificial; - #ifdef QT_DEBUG +#ifdef QT_DEBUG bool isSatisfied() { qreal leftHandSide(0); @@ -118,7 +118,7 @@ struct QSimplexConstraint return false; } } - #endif +#endif }; class QSimplex -- cgit v0.12 From dde11ce47c2d83bae685f3ff032ee9e6e372058f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Wed, 7 Oct 2009 11:30:30 +0200 Subject: Make some lines in the autotest more readable. --- .../qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp index b076631..286ea2d 100644 --- a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp +++ b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp @@ -161,15 +161,13 @@ void tst_QGraphicsAnchorLayout::simple() l->setContentsMargins(0, 0, 0, 0); // Horizontal - l->addAnchor(w1, Qt::AnchorLeft, l, Qt::AnchorLeft); + l->addAnchor(l, Qt::AnchorLeft, w1, Qt::AnchorLeft); l->addAnchor(w1, Qt::AnchorRight, w2, Qt::AnchorLeft); l->addAnchor(w2, Qt::AnchorRight, l, Qt::AnchorRight); // Vertical - l->addAnchor(w1, Qt::AnchorTop, l, Qt::AnchorTop); - l->addAnchor(w2, Qt::AnchorTop, l, Qt::AnchorTop); - l->addAnchor(w1, Qt::AnchorBottom, l, Qt::AnchorBottom); - l->addAnchor(w2, Qt::AnchorBottom, l, Qt::AnchorBottom); + l->addAnchors(l, w1, Qt::Vertical); + l->addAnchors(l, w2, Qt::Vertical); QGraphicsWidget p; p.setLayout(l); @@ -1172,12 +1170,9 @@ void tst_QGraphicsAnchorLayout::delete_anchor() l->addAnchor(w3, Qt::AnchorRight, l, Qt::AnchorRight); // Vertical - l->addAnchor(w1, Qt::AnchorTop, l, Qt::AnchorTop); - l->addAnchor(w1, Qt::AnchorBottom, l, Qt::AnchorBottom); - l->addAnchor(w2, Qt::AnchorTop, l, Qt::AnchorTop); - l->addAnchor(w2, Qt::AnchorBottom, l, Qt::AnchorBottom); - l->addAnchor(w3, Qt::AnchorTop, l, Qt::AnchorTop); - l->addAnchor(w3, Qt::AnchorBottom, l, Qt::AnchorBottom); + l->addAnchors(l, w1, Qt::Vertical); + l->addAnchors(l, w2, Qt::Vertical); + l->addAnchors(l, w3, Qt::Vertical); QGraphicsAnchor *anchor = l->anchor(w3, Qt::AnchorRight, l, Qt::AnchorRight); anchor->setSpacing(10); -- cgit v0.12 From 591f5353c88439594b9340226b4843d7ca2888ef Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Wed, 7 Oct 2009 11:48:08 +0200 Subject: Fix ASSERT caused by Plastique style when setting an application font with a pixel size Use QFontInfo to query the pointSize() instead of asking the font directly, fixing this assert: ASSERT failure in QFont::setPointSize: "point size must be greater than 0", file text/qfont.cpp, line 855 Task-number: QTBUG-3555 Reviewed-by: Simon Hausmann --- src/gui/styles/qplastiquestyle.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/styles/qplastiquestyle.cpp b/src/gui/styles/qplastiquestyle.cpp index 349a60d..8e19022 100644 --- a/src/gui/styles/qplastiquestyle.cpp +++ b/src/gui/styles/qplastiquestyle.cpp @@ -3328,7 +3328,7 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op // Draw the text centered QFont font = painter->font(); - font.setPointSize(font.pointSize() - 1); + font.setPointSize(QFontInfo(font).pointSize() - 1); painter->setFont(font); painter->setPen(dockWidget->palette.windowText().color()); painter->drawText(titleRect, -- cgit v0.12 From 185581e0f0377c77f4cda07aa544d84e27271a2b Mon Sep 17 00:00:00 2001 From: Iain Date: Mon, 5 Oct 2009 13:14:55 +0200 Subject: Update self-signed certificate for Symbian, since the old one expired New certificate for using for self-signing. Updated some organisational details, gave this one a 10 year validity rather than a 1 year validity. Same private key as before. Reviewed-by: axis (cherry picked from commit 53ea5e98eab90ee9e3ae23e3b67e8993e6c2b31c) --- src/s60installs/selfsigned.cer | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/s60installs/selfsigned.cer b/src/s60installs/selfsigned.cer index af72449..95c94d5 100644 --- a/src/s60installs/selfsigned.cer +++ b/src/s60installs/selfsigned.cer @@ -1,10 +1,12 @@ -----BEGIN CERTIFICATE----- -MIIDFTCCAtOgAwIBAgIBADALBgcqhkjOOAQDBQAwcDELMAkGA1UEBhMCTk8xDjAM -BgNVBAoTBU5va2lhMRQwEgYDVQQLEwtRdCBTb2Z0d2FyZTEOMAwGA1UEAxMFVHJv -bGwxKzApBgkqhkiG9w0BCQEWHHF0czYwLWZlZWRiYWNrQHRyb2xsdGVjaC5jb20w -HhcNMDgxMDAzMTMwNDM1WhcNMDkxMDAzMTMwNDM1WjBwMQswCQYDVQQGEwJOTzEO -MAwGA1UEChMFTm9raWExFDASBgNVBAsTC1F0IFNvZnR3YXJlMQ4wDAYDVQQDEwVU -cm9sbDErMCkGCSqGSIb3DQEJARYccXRzNjAtZmVlZGJhY2tAdHJvbGx0ZWNoLmNv +MIIDczCCAzOgAwIBAgIBATAJBgcqhkjOOAQDMIGgMTAwLgYDVQQDEycoc2VsZi1z +aWduZWQpIFF0IERldmVsb3BtZW50IEZyYW1ld29ya3MxIjAgBgNVBAsTGVF0IERl +dmVsb3BtZW50IEZyYW1ld29ya3MxDjAMBgNVBAoTBU5va2lhMQswCQYDVQQGEwJO +TzErMCkGCSqGSIb3DQEJARYccXRzNjAtZmVlZGJhY2tAdHJvbGx0ZWNoLmNvbTAe +Fw0wOTEwMDUxMTExMTdaFw0xOTEwMDMxMTExMTdaMIGgMTAwLgYDVQQDEycoc2Vs +Zi1zaWduZWQpIFF0IERldmVsb3BtZW50IEZyYW1ld29ya3MxIjAgBgNVBAsTGVF0 +IERldmVsb3BtZW50IEZyYW1ld29ya3MxDjAMBgNVBAoTBU5va2lhMQswCQYDVQQG +EwJOTzErMCkGCSqGSIb3DQEJARYccXRzNjAtZmVlZGJhY2tAdHJvbGx0ZWNoLmNv bTCCAbYwggErBgcqhkjOOAQBMIIBHgKBgQC7OyI3lyV06OqahpbeEa5p9ucmoBxV n6YKvBjliPNMhQe7Di1Igv63rllQPqABv1Qu1YJc5CPiF4dSSQ/R7XjKEQqPZY4A PZooTKWVCs+e3Yo2HWaZYRks/euvcqvEOqmkZ2RUccaTb1T+b2et0vphFmlVYXPx @@ -14,6 +16,6 @@ taqAVb9V2DrDHx3s0gSQmS5BNK2KThZCNOgj3YT4GRIZR4L6gqDBS5dkWLrwFUfC l6Hw9tizQR4EO4HgjEnMSxzXDzsDgYQAAoGAJH/tVAEb1boQKTt5eHRI/zCtw4ab Vtw7jHMzqQ+m921izJyzz5AJCVjtu6a1bLnW09i9oFIZ7bYs+Cd+qRgac2cVkX4x xmMXuAgw03VMf3vEbK2M2+BkjpUGrfoST5XG/eJbno6Tp1BGvYd88ZLt3gXBPnqi -2QpMaOGqMED4mWkwCwYHKoZIzjgEAwUAAy8AMCwCFGCSlB1FYaBiIAuirrAACZzi -p2jnAhQ/hlJjpxOgF7Z5RZCNAhz6HNhZ3g== +2QpMaOGqMED4mWkwCQYHKoZIzjgEAwMvADAsAhQSh0SkUWPDv9enEQqkKCfjDu7H +xAIUft1Qc3eFaoW+ki69TgptZnkki6M= -----END CERTIFICATE----- -- cgit v0.12 From 1363a329c96f90c8e2b33ac7c74374795459b6ed Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 5 Oct 2009 13:30:32 +0300 Subject: Doc update related to Qt package name for Symbian (a3ef6e08). Task-number: QT-772 Reviewed-by: TrustMe (cherry picked from commit 2fe4f4a98e1c0b727ee9fa9d168d726a9dcb36d7) --- doc/src/getting-started/installation.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index 539c1d5..2ace8de 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -520,7 +520,7 @@ in the \l{Qt for S60 Requirements} document. We've included a subset of the Qt demos in this package for you to try out. An excellent starting point is the "fluidlauncher" demo. To run the demo on a real device, you first have to install - \c{qt_for_s60.sis} and \c{fluidlauncher.sis} found in the Qt installation + \c{qt.sis} and \c{fluidlauncher.sis} found in the Qt installation directory. Begin by connecting your phone using the USB cable and selecting "PC Suite mode". In Windows Explorer right click on the \c{.sis} files and select "Install with Nokia Application Installer" -- cgit v0.12 From 1c5b84937a7dd993e188f2a6fbf4e28916f683c9 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 7 Oct 2009 12:01:06 +0200 Subject: fix ts and qm targets under windows --- translations/translations.pri | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/translations/translations.pri b/translations/translations.pri index 0c5c1ee..0fb91e8 100644 --- a/translations/translations.pri +++ b/translations/translations.pri @@ -9,12 +9,9 @@ defineReplace(prependAll) { } defineReplace(fixPath) { -WIN { - return ($$replace($$1, /, \)) -} ELSE { + win32:1 ~= s|/|\\| return ($$1) } -} LUPDATE = $$fixPath($$QT_BUILD_TREE/bin/lupdate) -locations relative -no-ui-lines LRELEASE = $$fixPath($$QT_BUILD_TREE/bin/lrelease) -- cgit v0.12 From 75b41faff44a1488d88eca6e910d4b617cb42221 Mon Sep 17 00:00:00 2001 From: Marius Storm-Olsen Date: Wed, 7 Oct 2009 13:28:25 +0200 Subject: Avoid adding a debug library to the glue projects, when debug_and_release The VCPROJ/SLN generator generates dependencies on the glue project, so the glue must use the correct library for the dependencies to be correct. The qtAddLibrary() would add the project 'default' to the glue, which could end up adding a debug lib to the glue, so the dependency checker wouldn't find the proper project. We therefore force qtAddLibrary to only add d/_debug if we're not using debug_and_release, or not in the glue part Reviewed-by: Rohan McGovern --- mkspecs/features/qt_functions.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 243a829..6322233 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -50,7 +50,7 @@ defineTest(qtAddLibrary) { INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE } isEmpty(LINKAGE) { - CONFIG(debug, debug|release) { + if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug } -- cgit v0.12 From 16e21cb0beb0e5f5189048b95d1cb74ae0c0702a Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Wed, 7 Oct 2009 14:10:26 +0200 Subject: mediaplayer: crash in settings dialog. The MediaPlayer requires that an output device is available. Task-number: QTBUG-4755 Reviewed-by: Gareth Stockwell --- src/3rdparty/phonon/mmf/audiooutput.cpp | 26 +++++++++++++++++++------- src/3rdparty/phonon/mmf/audiooutput.h | 13 +++++++++---- src/3rdparty/phonon/mmf/backend.cpp | 18 ++++++++++++++---- 3 files changed, 42 insertions(+), 15 deletions(-) diff --git a/src/3rdparty/phonon/mmf/audiooutput.cpp b/src/3rdparty/phonon/mmf/audiooutput.cpp index 58e2f5e..5a00f60 100644 --- a/src/3rdparty/phonon/mmf/audiooutput.cpp +++ b/src/3rdparty/phonon/mmf/audiooutput.cpp @@ -18,6 +18,8 @@ along with this library. If not, see . #include +#include + #include "audiooutput.h" #include "defs.h" #include "mediaobject.h" @@ -74,16 +76,13 @@ void MMF::AudioOutput::setVolume(qreal volume) int MMF::AudioOutput::outputDevice() const { - return 0; -} - -bool MMF::AudioOutput::setOutputDevice(int) -{ - return true; + return AudioOutputDeviceID; } -bool MMF::AudioOutput::setOutputDevice(const Phonon::AudioOutputDevice &) +bool MMF::AudioOutput::setOutputDevice(int index) { + Q_ASSERT_X(index == AudioOutputDeviceID, Q_FUNC_INFO, + "We only support one output device, with id 0"); return true; } @@ -101,4 +100,17 @@ bool MMF::AudioOutput::activateOnMediaObject(MediaObject *mo) return true; } +QHash MMF::AudioOutput::audioOutputDescription(int index) +{ + if (index == AudioOutputDeviceID) { + QHash retval; + + retval.insert("name", QCoreApplication::translate("Phonon::MMF", "Audio Output")); + retval.insert("description", QCoreApplication::translate("Phonon::MMF", "The audio output device")); + retval.insert("available", true); + + return retval; + } +} + QT_END_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/audiooutput.h b/src/3rdparty/phonon/mmf/audiooutput.h index 0a962a9..d0ba086 100644 --- a/src/3rdparty/phonon/mmf/audiooutput.h +++ b/src/3rdparty/phonon/mmf/audiooutput.h @@ -19,6 +19,8 @@ along with this library. If not, see . #ifndef PHONON_MMF_AUDIOOUTPUT_H #define PHONON_MMF_AUDIOOUTPUT_H +#include + #include "mmf_medianode.h" #include @@ -65,10 +67,12 @@ public: */ virtual bool setOutputDevice(int); - /** - * Has no effect. - */ - virtual bool setOutputDevice(const Phonon::AudioOutputDevice &); + static QHash audioOutputDescription(int index); + + enum Constants + { + AudioOutputDeviceID = 0 + }; protected: virtual bool activateOnMediaObject(MediaObject *mo); @@ -78,6 +82,7 @@ Q_SIGNALS: void audioDeviceFailed(); private: + void setVolumeObserver(VolumeObserver* observer); qreal m_volume; diff --git a/src/3rdparty/phonon/mmf/backend.cpp b/src/3rdparty/phonon/mmf/backend.cpp index be43f46..f542ec9 100644 --- a/src/3rdparty/phonon/mmf/backend.cpp +++ b/src/3rdparty/phonon/mmf/backend.cpp @@ -107,6 +107,12 @@ QList Backend::objectDescriptionIndexes(ObjectDescriptionType type) const { case EffectType: retval.append(EffectFactory::effectIndexes()); + break; + case AudioOutputDeviceType: + // We only have one possible output device, but we need at least + // one. + retval.append(AudioOutput::AudioOutputDeviceID); + break; default: ; } @@ -119,10 +125,14 @@ QHash Backend::objectDescriptionProperties(ObjectDescripti { TRACE_CONTEXT(Backend::connectNodes, EBackend); - if (type == EffectType) - return EffectFactory::audioEffectDescriptions(AbstractAudioEffect::Type(index)); - else - return QHash(); + switch (type) { + case EffectType: + return EffectFactory::audioEffectDescriptions(AbstractAudioEffect::Type(index)); + case AudioOutputDeviceType: + return AudioOutput::audioOutputDescription(index); + default: + return QHash(); + } } bool Backend::startConnectionChange(QSet) -- cgit v0.12 From 350f97874544396a99cf82b47eb9a6e50838a88a Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Wed, 7 Oct 2009 14:29:06 +0200 Subject: Use QScopedPointer for AudioPlayer's CPlayerType. Reviewed-by: Gareth Stockwell --- src/3rdparty/phonon/mmf/audioplayer.cpp | 9 +++------ src/3rdparty/phonon/mmf/audioplayer.h | 5 ++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/3rdparty/phonon/mmf/audioplayer.cpp b/src/3rdparty/phonon/mmf/audioplayer.cpp index 6c1fc68..ceaf305 100644 --- a/src/3rdparty/phonon/mmf/audioplayer.cpp +++ b/src/3rdparty/phonon/mmf/audioplayer.cpp @@ -34,14 +34,13 @@ using namespace Phonon::MMF; // Constructor / destructor //----------------------------------------------------------------------------- -MMF::AudioPlayer::AudioPlayer() : m_player(0) +MMF::AudioPlayer::AudioPlayer() { construct(); } MMF::AudioPlayer::AudioPlayer(const AbstractPlayer& player) : AbstractMediaPlayer(player) - , m_player(0) { construct(); } @@ -51,7 +50,7 @@ void MMF::AudioPlayer::construct() TRACE_CONTEXT(AudioPlayer::AudioPlayer, EAudioApi); TRACE_ENTRY_0(); - TRAPD(err, m_player = CPlayerType::NewL(*this, 0, EMdaPriorityPreferenceNone)); + TRAPD(err, m_player.reset(CPlayerType::NewL(*this, 0, EMdaPriorityPreferenceNone))); if (KErrNone != err) { changeState(ErrorState); } @@ -64,8 +63,6 @@ MMF::AudioPlayer::~AudioPlayer() TRACE_CONTEXT(AudioPlayer::~AudioPlayer, EAudioApi); TRACE_ENTRY_0(); - delete m_player; - TRACE_EXIT_0(); } @@ -237,7 +234,7 @@ void MMF::AudioPlayer::MapcPlayComplete(TInt aError) CPlayerType *MMF::AudioPlayer::player() const { - return m_player; + return m_player.data(); } diff --git a/src/3rdparty/phonon/mmf/audioplayer.h b/src/3rdparty/phonon/mmf/audioplayer.h index f16de1d..60ef436 100644 --- a/src/3rdparty/phonon/mmf/audioplayer.h +++ b/src/3rdparty/phonon/mmf/audioplayer.h @@ -86,6 +86,9 @@ public: virtual void MapcPlayComplete(TInt aError); #endif + /** + * This class owns the pointer. + */ CPlayerType *player() const; private: @@ -96,7 +99,7 @@ private: * Using CPlayerType typedef in order to be able to easily switch between * CMdaAudioPlayerUtility and CDrmPlayerUtility */ - CPlayerType* m_player; + QScopedPointer m_player; }; } } -- cgit v0.12 From c90c1a982642e80a021ef08ad8b7c73545267d26 Mon Sep 17 00:00:00 2001 From: Marius Storm-Olsen Date: Wed, 7 Oct 2009 13:25:32 +0200 Subject: Revert "There's no need to include qstringmatcher.h in qstringlist.h" Source-incompatible change This reverts commit 8714892977269591bb9b348c6eb549a7f2c45cbc. Rev-by: Trustme (cherry picked from commit 136f866f405a60ddbc48e4c666a0fec484f24717) --- src/corelib/tools/qstringlist.cpp | 1 - src/corelib/tools/qstringlist.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qstringlist.cpp b/src/corelib/tools/qstringlist.cpp index f5b2a59..ce39b47 100644 --- a/src/corelib/tools/qstringlist.cpp +++ b/src/corelib/tools/qstringlist.cpp @@ -41,7 +41,6 @@ #include #include -#include QT_BEGIN_NAMESPACE diff --git a/src/corelib/tools/qstringlist.h b/src/corelib/tools/qstringlist.h index c959209..2a2a1d7 100644 --- a/src/corelib/tools/qstringlist.h +++ b/src/corelib/tools/qstringlist.h @@ -47,6 +47,7 @@ #include #include #include +#include #ifdef QT_INCLUDE_COMPAT #include #endif -- cgit v0.12 From f2363657d53f033488ca0ec141cb1261847eed5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Meril=C3=A4?= Date: Wed, 7 Oct 2009 16:13:17 +0300 Subject: Compiler warning given for missing audio file (sax.mp3) Use desktopservices sax.mp3 instead of one in autotests when deploying mediaplayer for symbian. This avoids getting a warning for missing file in install packages. Task-number: QTBUG-4719 Reviewed-by: Alessandro Portale --- demos/mediaplayer/mediaplayer.pro | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/demos/mediaplayer/mediaplayer.pro b/demos/mediaplayer/mediaplayer.pro index 84293f2..a420cc3 100644 --- a/demos/mediaplayer/mediaplayer.pro +++ b/demos/mediaplayer/mediaplayer.pro @@ -28,8 +28,7 @@ DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout symbian { TARGET.UID3 = 0xA000C613 - addFiles.sources = ../../tests/auto/mediaobject/media/sax.mp3 - + addFiles.sources = ../embedded/desktopservices/data/sax.mp3 addFiles.path = /data/sounds/ DEPLOYMENT += addFiles -- cgit v0.12 From 97005819172157c9d178bc338013488d22102bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Wed, 7 Oct 2009 15:16:09 +0200 Subject: Using const refs for passing qreal will make Qt slower on some systems. For instance, if sizeof(qreal) == 4 (for instance on ARM) the stack size needed will be the same, so it will just add an extra indirection. --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 34071cc..e3cd4f9 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -275,8 +275,8 @@ static qreal getFactor(qreal value, qreal min, qreal pref, qreal max) } } -static qreal getExpandingFactor(const qreal &expSize, const qreal &sizeAtPreferred, - const qreal &sizeAtExpanding, const qreal &sizeAtMaximum) +static qreal getExpandingFactor(qreal expSize, qreal sizeAtPreferred, + qreal sizeAtExpanding, qreal sizeAtMaximum) { const qreal lower = qMin(sizeAtPreferred, sizeAtMaximum); const qreal upper = qMax(sizeAtPreferred, sizeAtMaximum); -- cgit v0.12 From 4c4875919de4a46cc40df93f64fe04e3fdad81fb Mon Sep 17 00:00:00 2001 From: Liang QI Date: Wed, 7 Oct 2009 15:45:22 +0200 Subject: Support small screen for QToolBar auto test. We need to test through extension tool button and menu for it when there is no enough width on embedded devices. Reviewed-by: TrustMe --- src/gui/widgets/qtoolbarextension_p.h | 2 +- tests/auto/qtoolbar/tst_qtoolbar.cpp | 123 +++++++++++++++++++++++++++++----- 2 files changed, 107 insertions(+), 18 deletions(-) diff --git a/src/gui/widgets/qtoolbarextension_p.h b/src/gui/widgets/qtoolbarextension_p.h index 5d622ec..5fe74a9 100644 --- a/src/gui/widgets/qtoolbarextension_p.h +++ b/src/gui/widgets/qtoolbarextension_p.h @@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_TOOLBUTTON -class QToolBarExtension : public QToolButton +class Q_AUTOTEST_EXPORT QToolBarExtension : public QToolButton { Q_OBJECT Qt::Orientation orientation; diff --git a/tests/auto/qtoolbar/tst_qtoolbar.cpp b/tests/auto/qtoolbar/tst_qtoolbar.cpp index e4f317c..ac86fd9 100644 --- a/tests/auto/qtoolbar/tst_qtoolbar.cpp +++ b/tests/auto/qtoolbar/tst_qtoolbar.cpp @@ -54,6 +54,8 @@ #include #include #include +#include +#include #include "../../shared/util.h" @@ -569,6 +571,29 @@ void tst_QToolBar::actionGeometry() qt_x11_wait_for_window_manager(&tb); #endif + QList extensions = tb.findChildren(); + + QRect rect01; + QRect rect02; + QRect rect03; + QRect rect04; + QMenu *popupMenu; + + if (extensions.size() != 0) + { + QToolBarExtension *extension = extensions.at(0); + if (extension->isVisible()) { + QRect rect0 = extension->geometry(); + QTest::mouseClick( extension, Qt::LeftButton, 0, rect0.center(), -1 ); + QApplication::processEvents(); + popupMenu = qobject_cast(extension->menu()); + rect01 = popupMenu->actionGeometry(&action1); + rect02 = popupMenu->actionGeometry(&action2); + rect03 = popupMenu->actionGeometry(&action3); + rect04 = popupMenu->actionGeometry(&action4); + } + } + QRect rect1 = tb.actionGeometry(&action1); QRect rect2 = tb.actionGeometry(&action2); QRect rect3 = tb.actionGeometry(&action3); @@ -590,10 +615,25 @@ void tst_QToolBar::actionGeometry() QVERIFY(!rect4.isNull()); QVERIFY(!rect4.isEmpty()); - QCOMPARE(tb.actionAt(rect1.center()), &action1); - QCOMPARE(tb.actionAt(rect2.center()), &action2); - QCOMPARE(tb.actionAt(rect3.center()), &action3); - QCOMPARE(tb.actionAt(rect4.center()), &action4); + if (rect01.isValid()) + QCOMPARE(popupMenu->actionAt(rect01.center()), &action1); + else + QCOMPARE(tb.actionAt(rect1.center()), &action1); + + if (rect02.isValid()) + QCOMPARE(popupMenu->actionAt(rect02.center()), &action2); + else + QCOMPARE(tb.actionAt(rect2.center()), &action2); + + if (rect03.isValid()) + QCOMPARE(popupMenu->actionAt(rect03.center()), &action3); + else + QCOMPARE(tb.actionAt(rect3.center()), &action3); + + if (rect04.isValid()) + QCOMPARE(popupMenu->actionAt(rect04.center()), &action4); + else + QCOMPARE(tb.actionAt(rect4.center()), &action4); } void tst_QToolBar::actionAt() @@ -864,33 +904,82 @@ void tst_QToolBar::actionTriggered() qt_x11_wait_for_window_manager(&tb); #endif + QList extensions = tb.findChildren(); + + QRect rect01; + QRect rect02; + QRect rect03; + QRect rect04; + QMenu *popupMenu; + + if (extensions.size() != 0) + { + QToolBarExtension *extension = extensions.at(0); + if (extension->isVisible()) { + QRect rect0 = extension->geometry(); + QTest::mouseClick( extension, Qt::LeftButton, 0, rect0.center(), -1 ); + QApplication::processEvents(); + popupMenu = qobject_cast(extension->menu()); + rect01 = popupMenu->actionGeometry(&action1); + rect02 = popupMenu->actionGeometry(&action2); + rect03 = popupMenu->actionGeometry(&action3); + rect04 = popupMenu->actionGeometry(&action4); + } + } + QRect rect1 = tb.actionGeometry(&action1); QRect rect2 = tb.actionGeometry(&action2); QRect rect3 = tb.actionGeometry(&action3); QRect rect4 = tb.actionGeometry(&action4); - QAbstractButton *button1 = qobject_cast(tb.childAt(rect1.center())); - QAbstractButton *button2 = qobject_cast(tb.childAt(rect2.center())); - QAbstractButton *button3 = qobject_cast(tb.childAt(rect3.center())); - QAbstractButton *button4 = qobject_cast(tb.childAt(rect4.center())); - QVERIFY(button1 != 0); - QVERIFY(button2 != 0); - QVERIFY(button3 != 0); - QVERIFY(button4 != 0); + + QAbstractButton *button1; + QAbstractButton *button2; + QAbstractButton *button3; + QAbstractButton *button4; + + if (!rect01.isValid()) { + button1 = qobject_cast(tb.childAt(rect1.center())); + QVERIFY(button1 != 0); + } + if (!rect02.isValid()) { + button2 = qobject_cast(tb.childAt(rect2.center())); + QVERIFY(button2 != 0); + } + if (!rect03.isValid()) { + button3 = qobject_cast(tb.childAt(rect3.center())); + QVERIFY(button3 != 0); + } + if (!rect04.isValid()) { + button4 = qobject_cast(tb.childAt(rect4.center())); + QVERIFY(button4 != 0); + } ::triggered = 0; - QTest::mouseClick(button1, Qt::LeftButton); + if (!rect01.isValid()) + QTest::mouseClick(button1, Qt::LeftButton); + else + QTest::mouseClick(popupMenu, Qt::LeftButton, 0, rect01.center(), -1 ); QCOMPARE(::triggered, &action1); ::triggered = 0; - QTest::mouseClick(button2, Qt::LeftButton); + if (!rect02.isValid()) + QTest::mouseClick(button2, Qt::LeftButton); + else + QTest::mouseClick(popupMenu, Qt::LeftButton, 0, rect02.center(), -1 ); QCOMPARE(::triggered, &action2); ::triggered = 0; - QTest::mouseClick(button3, Qt::LeftButton); + if (!rect03.isValid()) + QTest::mouseClick(button3, Qt::LeftButton); + else + QTest::mouseClick(popupMenu, Qt::LeftButton, 0, rect03.center(), -1 ); QCOMPARE(::triggered, &action3); ::triggered = 0; - QTest::mouseClick(button4, Qt::LeftButton); + if (!rect04.isValid()) + QTest::mouseClick(button4, Qt::LeftButton); + else + QTest::mouseClick(popupMenu, Qt::LeftButton, 0, rect04.center(), -1 ); QCOMPARE(::triggered, &action4); } @@ -977,7 +1066,7 @@ void tst_QToolBar::accel() mw.show(); QApplication::setActiveWindow(&mw); QTest::qWait(100); - QTRY_COMPARE(QApplication::activeWindow(), &mw); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&mw)); QTest::keyClick(&mw, Qt::Key_T, Qt::AltModifier); QTest::qWait(300); -- cgit v0.12 From cc95666378ee0aef1cc6b02b544fdf52645f6d9b Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 7 Oct 2009 15:52:59 +0200 Subject: ignore invalid WM_KEYDOWN messages on Windows For some strange reason, I get the following message if I press a non-numerical key on the SIP of a Samsung Omnia device, running Windows mobile 6.1: WM_KEYDOWN wParam == 0 lParam == 1 That message is invalid. We must ignore it. Reviewed-by: mauricek --- src/gui/kernel/qkeymapper_win.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qkeymapper_win.cpp b/src/gui/kernel/qkeymapper_win.cpp index 25b6dce..8138839 100644 --- a/src/gui/kernel/qkeymapper_win.cpp +++ b/src/gui/kernel/qkeymapper_win.cpp @@ -949,8 +949,8 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, const MSG &msg, bool if(msg.wParam == VK_PROCESSKEY) return true; - // Ignore invalid virtual keycode (see bug 127424) - if (msg.wParam == 0xFF) + // Ignore invalid virtual keycodes (see bugs 127424, QTBUG-3630) + if (msg.wParam == 0 || msg.wParam == 0xFF) return true; // Translate VK_* (native) -> Key_* (Qt) keys -- cgit v0.12 From aa863c61ec5e68ff73c02e25a2954cdba9c2ef15 Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Fri, 3 Jul 2009 16:40:32 +0200 Subject: QHeaderView: fixed the sizeHint with hidden sections We used to check the 100 first sections and 100 last sections Now we make sure we check 100 visible sections Task-number: 255574 --- src/gui/itemviews/qheaderview.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp index c5e6fed..b1306cc 100644 --- a/src/gui/itemviews/qheaderview.cpp +++ b/src/gui/itemviews/qheaderview.cpp @@ -526,20 +526,24 @@ QSize QHeaderView::sizeHint() const return d->cachedSizeHint; int width = 0; int height = 0; + d->executePostedLayout(); + // get size hint for the first n sections - int c = qMin(count(), 100); - for (int i = 0; i < c; ++i) { + int i = 0; + for (int checked = 0; checked < 100 && i < d->sectionCount; ++i) { if (isSectionHidden(i)) continue; + checked++; QSize hint = sectionSizeFromContents(i); width = qMax(hint.width(), width); height = qMax(hint.height(), height); } // get size hint for the last n sections - c = qMax(count() - 100, c); - for (int j = count() - 1; j >= c; --j) { + i = qMax(i, d->sectionCount - 100 ); + for (int j = d->sectionCount - 1, checked = 0; j > i && checked < 100; --j) { if (isSectionHidden(j)) continue; + checked++; QSize hint = sectionSizeFromContents(j); width = qMax(hint.width(), width); height = qMax(hint.height(), height); -- cgit v0.12 From 5ecccd6a67333066978055604a50973d8fb12748 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 7 Oct 2009 16:15:30 +0200 Subject: Fix: Lazy instantiation of a static QAction We should not create a QAction instance at program startup, that is before QApplication was initialized. One reason not to do that is that internal fonts are prematurely initialized without QApplication::qt_is_gui_used set to true, which leads to wrong font Dpis in qt_defaultDpiX(). This issue was detected due to the failure in tst_QTextLayout, cases: testDefaultTabs, testTabs, testMultilineTab, testRightTab, testTabsInAlignedParag, testCenteredTab, testDelimiterTab, testMultiTab and tabsForRtl. Fix: create a Q_GLOBAL_STATIC_WITH_ARGS for that QAction instance. Reviewed-by: Liang QI --- src/gui/widgets/qmenu_symbian.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp index c656ef8..d757f98 100644 --- a/src/gui/widgets/qmenu_symbian.cpp +++ b/src/gui/widgets/qmenu_symbian.cpp @@ -74,12 +74,13 @@ struct SymbianMenuItem QAction* action; }; +Q_GLOBAL_STATIC_WITH_ARGS(QAction, contextAction, (0)) + static QList symbianMenus; static QList nativeMenuBars; static uint qt_symbian_menu_static_cmd_id = QT_SYMBIAN_FIRST_MENU_ITEM; static QPointer widgetWithContextMenu; static QList contextMenuActionList; -static QAction contextAction(0); static int contexMenuCommand=0; bool menuExists() @@ -400,8 +401,8 @@ void QMenuBarPrivate::QSymbianMenuBarPrivate::rebuild() contextMenuActionList.clear(); if (widgetWithContextMenu) { contexMenuCommand = qt_symbian_menu_static_cmd_id; // Increased inside insertNativeMenuItems - contextAction.setText(QMenuBar::tr("Actions")); - contextMenuActionList.append(&contextAction); + contextAction()->setText(QMenuBar::tr("Actions")); + contextMenuActionList.append(contextAction()); insertNativeMenuItems(contextMenuActionList); } } -- cgit v0.12 From bf8d74bb8e849cb9eea74ef8fdb82d8926c48880 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 7 Oct 2009 16:16:15 +0200 Subject: Fix tst_QTextLayout::testTabDPIScale Symbian has a different default font size than other OSses. Consider that fact in tst_QTextLayout::testTabDPIScale Reviewed-By: Liang QI --- tests/auto/qtextlayout/tst_qtextlayout.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp index 5ccae94..f63742a 100644 --- a/tests/auto/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp @@ -55,7 +55,12 @@ #include +// Same font point size values as in QFont::QFont(..) +#ifdef Q_OS_SYMBIAN +#define TESTFONT_SIZE 7 +#else #define TESTFONT_SIZE 12 +#endif //TESTED_CLASS= //TESTED_FILES= -- cgit v0.12 From fd99d512fdb3864fe750015916b8e6a2a27401c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Wed, 7 Oct 2009 13:20:39 +0200 Subject: Store the floating items instead of the non-floating items. Makes the code a bit easier to read and speeds up setItemsGeometries() in the normal use-case. --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 41 +++++++++++++----------- src/gui/graphicsview/qgraphicsanchorlayout_p.h | 6 ++-- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 34071cc..296930c 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -2008,14 +2008,20 @@ QGraphicsAnchorLayoutPrivate::getGraphParts(Orientation orientation) Use all visited Anchors on findPaths() so we can identify non-float Items. */ -void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems(QSet visited, Orientation orientation) +void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems(const QSet &visited, Orientation orientation) { - m_nonFloatItems[orientation].clear(); + QSet nonFloating; foreach (const AnchorData *ad, visited) - identifyNonFloatItems_helper(ad, orientation); + identifyNonFloatItems_helper(ad, &nonFloating); + + QSet allItems; + foreach (QGraphicsLayoutItem *item, items) + allItems.insert(item); + m_floatItems[orientation] = allItems - nonFloating; } + /*! \internal @@ -2023,22 +2029,22 @@ void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems(QSet visi If the anchor is Sequential or Parallel, we must iterate on its children recursively until we reach internal anchors (items). */ -void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems_helper(const AnchorData *ad, Orientation orientation) +void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems_helper(const AnchorData *ad, QSet *nonFloatingItemsIdentifiedSoFar) { Q_Q(QGraphicsAnchorLayout); switch(ad->type) { case AnchorData::Normal: if (ad->from->m_item == ad->to->m_item && ad->to->m_item != q) - m_nonFloatItems[orientation].insert(ad->to->m_item); + nonFloatingItemsIdentifiedSoFar->insert(ad->to->m_item); break; case AnchorData::Sequential: foreach (const AnchorData *d, static_cast(ad)->m_edges) - identifyNonFloatItems_helper(d, orientation); + identifyNonFloatItems_helper(d, nonFloatingItemsIdentifiedSoFar); break; case AnchorData::Parallel: - identifyNonFloatItems_helper(static_cast(ad)->firstEdge, orientation); - identifyNonFloatItems_helper(static_cast(ad)->secondEdge, orientation); + identifyNonFloatItems_helper(static_cast(ad)->firstEdge, nonFloatingItemsIdentifiedSoFar); + identifyNonFloatItems_helper(static_cast(ad)->secondEdge, nonFloatingItemsIdentifiedSoFar); break; } } @@ -2070,7 +2076,10 @@ void QGraphicsAnchorLayoutPrivate::setItemsGeometries(const QRectF &geom) foreach (QGraphicsLayoutItem *item, items) { QRectF newGeom; QSizeF itemPreferredSize = item->effectiveSizeHint(Qt::PreferredSize); - if (m_nonFloatItems[Horizontal].contains(item)) { + if (m_floatItems[Horizontal].contains(item)) { + newGeom.setLeft(0); + newGeom.setRight(itemPreferredSize.width()); + } else { firstH = internalVertex(item, Qt::AnchorLeft); secondH = internalVertex(item, Qt::AnchorRight); @@ -2081,20 +2090,17 @@ void QGraphicsAnchorLayoutPrivate::setItemsGeometries(const QRectF &geom) newGeom.setLeft(right - secondH->distance); newGeom.setRight(right - firstH->distance); } - } else { - newGeom.setLeft(0); - newGeom.setRight(itemPreferredSize.width()); } - if (m_nonFloatItems[Vertical].contains(item)) { + if (m_floatItems[Vertical].contains(item)) { + newGeom.setTop(0); + newGeom.setBottom(itemPreferredSize.height()); + } else { firstV = internalVertex(item, Qt::AnchorTop); secondV = internalVertex(item, Qt::AnchorBottom); newGeom.setTop(top + firstV->distance); newGeom.setBottom(top + secondV->distance); - } else { - newGeom.setTop(0); - newGeom.setBottom(itemPreferredSize.height()); } item->setGeometry(newGeom); @@ -2554,8 +2560,7 @@ bool QGraphicsAnchorLayoutPrivate::hasConflicts() const QGraphicsAnchorLayoutPrivate *that = const_cast(this); that->calculateGraphs(); - bool floatConflict = (m_nonFloatItems[0].size() < items.size()) - || (m_nonFloatItems[1].size() < items.size()); + bool floatConflict = !m_floatItems[0].isEmpty() || !m_floatItems[1].isEmpty(); return graphHasConflicts[0] || graphHasConflicts[1] || floatConflict; } diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 24b25de..0f045e5 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -443,8 +443,8 @@ public: void constraintsFromPaths(Orientation orientation); QList constraintsFromSizeHints(const QList &anchors); QList > getGraphParts(Orientation orientation); - void identifyNonFloatItems(QSet visited, Orientation orientation); - void identifyNonFloatItems_helper(const AnchorData *ad, Orientation orientation); + void identifyNonFloatItems(const QSet &visited, Orientation orientation); + void identifyNonFloatItems_helper(const AnchorData *ad, QSet *nonFloatingItemsIdentifiedSoFar); inline AnchorVertex *internalVertex(const QPair &itemEdge) const { @@ -511,7 +511,7 @@ public: // ### bool graphSimplified[2]; bool graphHasConflicts[2]; - QSet m_nonFloatItems[2]; + QSet m_floatItems[2]; uint calculateGraphCacheDirty : 1; }; -- cgit v0.12 From 080e0a369932323d9f14224bca8922e4abb3ebfb Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Wed, 7 Oct 2009 16:42:09 +0200 Subject: With an embedded linux licence you should also be able to use the Qt Windows version for development. This used to work before 4.5.1 Task-number:Qt-704 Reviewed-by:thiago --- configure.exe | Bin 1168896 -> 2362880 bytes tools/configure/tools.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.exe b/configure.exe index aa254f3..838889c 100755 Binary files a/configure.exe and b/configure.exe differ diff --git a/tools/configure/tools.cpp b/tools/configure/tools.cpp index 0d170f5..c958dd9 100644 --- a/tools/configure/tools.cpp +++ b/tools/configure/tools.cpp @@ -152,7 +152,7 @@ void Tools::checkLicense(QMap &dictionary, QMap Date: Wed, 7 Oct 2009 16:56:32 +0200 Subject: Skip the srcoll per pixel mouse wheel test on Windows CE The test data does not account for different geometries on different devices. The 'magic number' 89 would have to be adapted for each variant. A more robust test would be required to suit all cases. Reviewed-by: banana joe --- tests/auto/qtableview/tst_qtableview.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index 4bf7c2e..bb0e226 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -3412,6 +3412,12 @@ void tst_QTableView::mouseWheel() QFETCH(int, horizontalPositon); QFETCH(int, verticalPosition); + if (scrollMode == int(QAbstractItemView::ScrollPerPixel)) + { +#ifdef Q_OS_WINCE + QSKIP("Since different Windows CE versions sport different taskbars, we skip this test", SkipSingle); +#endif + } QtTestTableModel model(100, 100); QtTestTableView view; view.resize(500, 500); -- cgit v0.12 From 843bb5cb6dfb1a17454fe3cebb599377884ce00e Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 7 Oct 2009 16:55:22 +0200 Subject: Revert "Fix tst_QTextLayout::testTabDPIScale" This reverts commit bf8d74bb8e849cb9eea74ef8fdb82d8926c48880. Breaks more cases than it actually fixes. modified: tests/auto/qtextlayout/tst_qtextlayout.cpp --- tests/auto/qtextlayout/tst_qtextlayout.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp index f63742a..5ccae94 100644 --- a/tests/auto/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp @@ -55,12 +55,7 @@ #include -// Same font point size values as in QFont::QFont(..) -#ifdef Q_OS_SYMBIAN -#define TESTFONT_SIZE 7 -#else #define TESTFONT_SIZE 12 -#endif //TESTED_CLASS= //TESTED_FILES= -- cgit v0.12 From 6480937b52c4d18dce0288c69586467f36584590 Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Wed, 7 Oct 2009 17:07:14 +0200 Subject: viewport()->update() after delegate set for QAbstractItemView Reviewed-by: Olivier --- src/gui/itemviews/qabstractitemview.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 27528de..37f4184 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -761,7 +761,7 @@ void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate) } } d->itemDelegate = delegate; - update(); + viewport()->update(); } /*! @@ -826,7 +826,7 @@ void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate *de } d->rowDelegates.insert(row, delegate); } - update(); + viewport()->update(); } /*! @@ -883,7 +883,7 @@ void QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelega } d->columnDelegates.insert(column, delegate); } - update(); + viewport()->update(); } /*! -- cgit v0.12 From 3dbc4ad00f809b110f143f2473c230bc5c481391 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Fri, 2 Oct 2009 17:13:11 +0200 Subject: In QAbstractAnimation::setState setCurrentTime when animation pauses If we want to avoid timer ticks in QPauseAnimation, We need to update the current time when an animation pauses, for being able to resume correctly. Reviewed-by: thierry --- src/corelib/animation/qabstractanimation.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp index 2769040..a4a8853 100644 --- a/src/corelib/animation/qabstractanimation.cpp +++ b/src/corelib/animation/qabstractanimation.cpp @@ -292,22 +292,23 @@ void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState) switch (state) { case QAbstractAnimation::Paused: + q->setCurrentTime(currentTime); + if (!guard) + return; + QUnifiedTimer::instance()->unregisterAnimation(q); + break; case QAbstractAnimation::Running: - //this ensures that the value is updated now that the animation is running - if(oldState == QAbstractAnimation::Stopped) { + // this ensures that the value is updated now that the animation is running + if (oldState == QAbstractAnimation::Stopped) { q->setCurrentTime(currentTime); if (!guard) return; } - // Register timer if our parent is not running. if (state == QAbstractAnimation::Running) { - if (!group || group->state() == QAbstractAnimation::Stopped) { + // Register timer if our parent is not running + if (!group || group->state() == QAbstractAnimation::Stopped) QUnifiedTimer::instance()->registerAnimation(q); - } - } else { - //new state is paused - QUnifiedTimer::instance()->unregisterAnimation(q); } break; case QAbstractAnimation::Stopped: -- cgit v0.12 From 232212660535bddee054f3c60b7e8a9dfcc8c582 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Tue, 6 Oct 2009 19:11:06 +0200 Subject: Removed unused function QUnifiedTimer::elapsedTime from animation api private Reviewed-by: thierry --- src/corelib/animation/qabstractanimation_p.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h index 1a79f40..8066d32 100644 --- a/src/corelib/animation/qabstractanimation_p.h +++ b/src/corelib/animation/qabstractanimation_p.h @@ -134,7 +134,6 @@ public: */ void setConsistentTiming(bool consistent) { consistentTiming = consistent; } - int elapsedTime() const { return lastTick; } protected: void timerEvent(QTimerEvent *); -- cgit v0.12 From cd32bfdd74a9615d28670a197296821d7cf2844d Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Tue, 6 Oct 2009 19:00:34 +0200 Subject: Avoids timer ticks when there are only pause animations running When there are only pause animations running, the timer will stop and restart when the closest pause animation finishes. While there are only pause animations running, there are no additional timer ticks, but if there is at least one animation running that is not a group or a pause, then the global animation timer will restore it's update interval. Includes a new auto-test for the QPauseAnimation class. Task-number: QT-941 Reviewed-by: thierry Reviewed-by: janarve --- src/corelib/animation/qabstractanimation.cpp | 187 +++++++--- src/corelib/animation/qabstractanimation_p.h | 41 ++- src/corelib/animation/qanimationgroup_p.h | 4 +- src/corelib/animation/qpauseanimation.cpp | 1 + tests/auto/auto.pro | 1 + tests/auto/qpauseanimation/qpauseanimation.pro | 5 + tests/auto/qpauseanimation/tst_qpauseanimation.cpp | 392 +++++++++++++++++++++ 7 files changed, 584 insertions(+), 47 deletions(-) create mode 100644 tests/auto/qpauseanimation/qpauseanimation.pro create mode 100644 tests/auto/qpauseanimation/tst_qpauseanimation.cpp diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp index a4a8853..9e50784 100644 --- a/src/corelib/animation/qabstractanimation.cpp +++ b/src/corelib/animation/qabstractanimation.cpp @@ -144,6 +144,7 @@ #include "qabstractanimation.h" #include "qanimationgroup.h" + #include #include "qabstractanimation_p.h" @@ -176,7 +177,8 @@ Q_GLOBAL_STATIC(QThreadStorage, unifiedTimer) QUnifiedTimer::QUnifiedTimer() : QObject(), lastTick(0), timingInterval(DEFAULT_TIMER_INTERVAL), - currentAnimationIdx(0), consistentTiming(false) + currentAnimationIdx(0), consistentTiming(false), isPauseTimerActive(false), + runningLeafAnimations(0) { } @@ -192,50 +194,96 @@ QUnifiedTimer *QUnifiedTimer::instance() return inst; } +void QUnifiedTimer::ensureTimerUpdate(QAbstractAnimation *animation) +{ + if (isPauseTimerActive) { + updateAnimationsTime(); + } else { + // this code is needed when ensureTimerUpdate is called from setState because we update + // the currentTime when an animation starts running (otherwise we could remove it) + animation->setCurrentTime(animation->currentTime()); + } +} + +void QUnifiedTimer::updateAnimationsTime() +{ + // this is simply the time we last received a tick + const int oldLastTick = lastTick; + // ignore consistentTiming in case the pause timer is active + if (consistentTiming && !isPauseTimerActive) + lastTick = oldLastTick + timingInterval; + else + lastTick = time.elapsed(); + const int delta = lastTick - oldLastTick; + + //we make sure we only call update time if the time has actually changed + //it might happen in some cases that the time doesn't change because events are delayed + //when the CPU load is high + if (delta) { + for (currentAnimationIdx = 0; currentAnimationIdx < animations.count(); ++currentAnimationIdx) { + QAbstractAnimation *animation = animations.at(currentAnimationIdx); + int elapsed = QAbstractAnimationPrivate::get(animation)->totalCurrentTime + + (animation->direction() == QAbstractAnimation::Forward ? delta : -delta); + animation->setCurrentTime(elapsed); + } + currentAnimationIdx = 0; + } +} + +void QUnifiedTimer::restartAnimationTimer() +{ + if (runningLeafAnimations == 0 && !runningPauseAnimations.isEmpty()) { + int closestTimeToFinish = closestPauseAnimationTimeToFinish(); + animationTimer.start(closestTimeToFinish, this); + isPauseTimerActive = true; + } else if (!animationTimer.isActive() || isPauseTimerActive) { + animationTimer.start(timingInterval, this); + isPauseTimerActive = false; + } +} + void QUnifiedTimer::timerEvent(QTimerEvent *event) { if (event->timerId() == startStopAnimationTimer.timerId()) { startStopAnimationTimer.stop(); + //we transfer the waiting animations into the "really running" state animations += animationsToStart; animationsToStart.clear(); if (animations.isEmpty()) { animationTimer.stop(); - } else if (!animationTimer.isActive()) { - animationTimer.start(timingInterval, this); - lastTick = 0; - time.start(); - } - } else if (event->timerId() == animationTimer.timerId()) { - //this is simply the time we last received a tick - const int oldLastTick = lastTick; - lastTick = consistentTiming ? oldLastTick + timingInterval : time.elapsed(); - - //we make sure we only call update time if the time has actually changed - //it might happen in some cases that the time doesn't change because events are delayed - //when the CPU load is high - if (const int delta = lastTick - oldLastTick) { - for (currentAnimationIdx = 0; currentAnimationIdx < animations.count(); ++currentAnimationIdx) { - QAbstractAnimation *animation = animations.at(currentAnimationIdx); - int elapsed = QAbstractAnimationPrivate::get(animation)->totalCurrentTime - + (animation->direction() == QAbstractAnimation::Forward ? delta : -delta); - animation->setCurrentTime(elapsed); + isPauseTimerActive = false; + // invalidate the start reference time + time = QTime(); + } else { + restartAnimationTimer(); + if (!time.isValid()) { + lastTick = 0; + time.start(); } - currentAnimationIdx = 0; } + } else if (event->timerId() == animationTimer.timerId()) { + // update current time on all top level animations + updateAnimationsTime(); + restartAnimationTimer(); } } -void QUnifiedTimer::registerAnimation(QAbstractAnimation *animation) +void QUnifiedTimer::registerAnimation(QAbstractAnimation *animation, bool isTopLevel) { - Q_ASSERT(!QAbstractAnimationPrivate::get(animation)->hasRegisteredTimer); - QAbstractAnimationPrivate::get(animation)->hasRegisteredTimer = true; - animationsToStart << animation; - startStopAnimationTimer.start(STARTSTOP_TIMER_DELAY, this); + registerRunningAnimation(animation); + if (isTopLevel) { + Q_ASSERT(!QAbstractAnimationPrivate::get(animation)->hasRegisteredTimer); + QAbstractAnimationPrivate::get(animation)->hasRegisteredTimer = true; + animationsToStart << animation; + startStopAnimationTimer.start(STARTSTOP_TIMER_DELAY, this); + } } void QUnifiedTimer::unregisterAnimation(QAbstractAnimation *animation) { + unregisterRunningAnimation(animation); + if (!QAbstractAnimationPrivate::get(animation)->hasRegisteredTimer) return; @@ -253,6 +301,46 @@ void QUnifiedTimer::unregisterAnimation(QAbstractAnimation *animation) QAbstractAnimationPrivate::get(animation)->hasRegisteredTimer = false; } +void QUnifiedTimer::registerRunningAnimation(QAbstractAnimation *animation) +{ + if (QAbstractAnimationPrivate::get(animation)->isGroup) + return; + + if (QAbstractAnimationPrivate::get(animation)->isPause) + runningPauseAnimations << animation; + else + runningLeafAnimations++; +} + +void QUnifiedTimer::unregisterRunningAnimation(QAbstractAnimation *animation) +{ + if (QAbstractAnimationPrivate::get(animation)->isGroup) + return; + + if (QAbstractAnimationPrivate::get(animation)->isPause) + runningPauseAnimations.removeOne(animation); + else + runningLeafAnimations--; +} + +int QUnifiedTimer::closestPauseAnimationTimeToFinish() +{ + int closestTimeToFinish = INT_MAX; + for (int i = 0; i < runningPauseAnimations.size(); ++i) { + QAbstractAnimation *animation = runningPauseAnimations.at(i); + int timeToFinish; + + if (animation->direction() == QAbstractAnimation::Forward) + timeToFinish = animation->totalDuration() - QAbstractAnimationPrivate::get(animation)->totalCurrentTime; + else + timeToFinish = QAbstractAnimationPrivate::get(animation)->totalCurrentTime; + + if (timeToFinish < closestTimeToFinish) + closestTimeToFinish = timeToFinish; + } + return closestTimeToFinish; +} + void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState) { Q_Q(QAbstractAnimation); @@ -270,7 +358,7 @@ void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState) //here we reset the time if needed //we don't call setCurrentTime because this might change the way the animation //behaves: changing the state or changing the current value - totalCurrentTime = currentTime =(direction == QAbstractAnimation::Forward) ? + totalCurrentTime = currentTime = (direction == QAbstractAnimation::Forward) ? 0 : (loopCount == -1 ? q->duration() : q->totalDuration()); } @@ -292,23 +380,31 @@ void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState) switch (state) { case QAbstractAnimation::Paused: - q->setCurrentTime(currentTime); + if (hasRegisteredTimer) + // currentTime needs to be updated if pauseTimer is active + QUnifiedTimer::instance()->ensureTimerUpdate(q); if (!guard) return; QUnifiedTimer::instance()->unregisterAnimation(q); break; case QAbstractAnimation::Running: - // this ensures that the value is updated now that the animation is running - if (oldState == QAbstractAnimation::Stopped) { - q->setCurrentTime(currentTime); - if (!guard) - return; - } + { + bool isTopLevel = !group || group->state() == QAbstractAnimation::Stopped; + + // this ensures that the value is updated now that the animation is running + if (oldState == QAbstractAnimation::Stopped) { + if (isTopLevel) + // currentTime needs to be updated if pauseTimer is active + QUnifiedTimer::instance()->ensureTimerUpdate(q); + if (!guard) + return; + } - if (state == QAbstractAnimation::Running) { - // Register timer if our parent is not running - if (!group || group->state() == QAbstractAnimation::Stopped) - QUnifiedTimer::instance()->registerAnimation(q); + // test needed in case we stop in the setCurrentTime inside ensureTimerUpdate (zero duration) + if (state == QAbstractAnimation::Running) { + // register timer if our parent is not running + QUnifiedTimer::instance()->registerAnimation(q, isTopLevel); + } } break; case QAbstractAnimation::Stopped: @@ -453,7 +549,6 @@ void QAbstractAnimation::setDirection(Direction direction) if (d->direction == direction) return; - d->direction = direction; if (state() == Stopped) { if (direction == Backward) { d->currentTime = duration(); @@ -463,7 +558,19 @@ void QAbstractAnimation::setDirection(Direction direction) d->currentLoop = 0; } } + + // the commands order below is important: first we need to setCurrentTime with the old direction, + // then update the direction on this and all children and finally restart the pauseTimer if needed + if (d->hasRegisteredTimer) + QUnifiedTimer::instance()->ensureTimerUpdate(this); + + d->direction = direction; updateDirection(direction); + + if (d->hasRegisteredTimer) + // needed to update the timer interval in case of a pause animation + QUnifiedTimer::instance()->restartAnimationTimer(); + emit directionChanged(direction); } @@ -660,7 +767,7 @@ void QAbstractAnimation::stop() /*! Pauses the animation. When the animation is paused, state() returns Paused. - The value of currentTime will remain unchanged until resume() or start() + The value of currentTime will remain unchanged until resume() or start() is called. If you want to continue from the current time, call resume(). \sa start(), state(), resume() diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h index 8066d32..bef0499 100644 --- a/src/corelib/animation/qabstractanimation_p.h +++ b/src/corelib/animation/qabstractanimation_p.h @@ -70,12 +70,14 @@ public: QAbstractAnimationPrivate() : state(QAbstractAnimation::Stopped), direction(QAbstractAnimation::Forward), - deleteWhenStopped(false), totalCurrentTime(0), currentTime(0), loopCount(1), currentLoop(0), + deleteWhenStopped(false), hasRegisteredTimer(false), + isPause(false), + isGroup(false), group(0) { } @@ -89,7 +91,6 @@ public: QAbstractAnimation::State state; QAbstractAnimation::Direction direction; - bool deleteWhenStopped; void setState(QAbstractAnimation::State state); int totalCurrentTime; @@ -97,7 +98,10 @@ public: int loopCount; int currentLoop; + bool deleteWhenStopped; bool hasRegisteredTimer; + bool isPause; + bool isGroup; QAnimationGroup *group; @@ -115,14 +119,14 @@ public: //XXX this is needed by dui static Q_CORE_EXPORT QUnifiedTimer *instance(); - void registerAnimation(QAbstractAnimation *animation); + void registerAnimation(QAbstractAnimation *animation, bool isTopLevel); void unregisterAnimation(QAbstractAnimation *animation); //defines the timing interval. Default is DEFAULT_TIMER_INTERVAL void setTimingInterval(int interval) { timingInterval = interval; - if (animationTimer.isActive()) { + if (animationTimer.isActive() && !isPauseTimerActive) { //we changed the timing interval animationTimer.start(timingInterval, this); } @@ -134,21 +138,46 @@ public: */ void setConsistentTiming(bool consistent) { consistentTiming = consistent; } + /* + this is used for updating the currentTime of all animations in case the pause + timer is active or, otherwise, only of the animation passed as parameter. + */ + void ensureTimerUpdate(QAbstractAnimation *animation); + + /* + this will evaluate the need of restarting the pause timer in case there is still + some pause animations running. + */ + void restartAnimationTimer(); protected: void timerEvent(QTimerEvent *); private: - // timer used for all active animations + // timer used for all active (running) animations QBasicTimer animationTimer; - // timer used to delay the check if we should start/stop the global timer + // timer used to delay the check if we should start/stop the animation timer QBasicTimer startStopAnimationTimer; + QTime time; int lastTick; int timingInterval; int currentAnimationIdx; bool consistentTiming; + // bool to indicate that only pause animations are active + bool isPauseTimerActive; + QList animations, animationsToStart; + + // this is the count of running animations that are not a group neither a pause animation + int runningLeafAnimations; + QList runningPauseAnimations; + + void registerRunningAnimation(QAbstractAnimation *animation); + void unregisterRunningAnimation(QAbstractAnimation *animation); + + void updateAnimationsTime(); + int closestPauseAnimationTimeToFinish(); }; QT_END_NAMESPACE diff --git a/src/corelib/animation/qanimationgroup_p.h b/src/corelib/animation/qanimationgroup_p.h index 45eab58..bb1cfb3 100644 --- a/src/corelib/animation/qanimationgroup_p.h +++ b/src/corelib/animation/qanimationgroup_p.h @@ -68,7 +68,9 @@ class QAnimationGroupPrivate : public QAbstractAnimationPrivate Q_DECLARE_PUBLIC(QAnimationGroup) public: QAnimationGroupPrivate() - { } + { + isGroup = true; + } virtual void animationInsertedAt(int index) { Q_UNUSED(index) }; virtual void animationRemovedAt(int index); diff --git a/src/corelib/animation/qpauseanimation.cpp b/src/corelib/animation/qpauseanimation.cpp index 2fd12aa..d90f001 100644 --- a/src/corelib/animation/qpauseanimation.cpp +++ b/src/corelib/animation/qpauseanimation.cpp @@ -75,6 +75,7 @@ class QPauseAnimationPrivate : public QAbstractAnimationPrivate public: QPauseAnimationPrivate() : QAbstractAnimationPrivate(), duration(0) { + isPause = true; } int duration; diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index f3ecdae..60da6c7 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -234,6 +234,7 @@ SUBDIRS += \ qpainterpath \ qpalette \ qparallelanimationgroup \ + qpauseanimation \ qpathclipper \ qpen \ qpicture \ diff --git a/tests/auto/qpauseanimation/qpauseanimation.pro b/tests/auto/qpauseanimation/qpauseanimation.pro new file mode 100644 index 0000000..4599cf0 --- /dev/null +++ b/tests/auto/qpauseanimation/qpauseanimation.pro @@ -0,0 +1,5 @@ +load(qttest_p4) +QT = core gui +SOURCES += tst_qpauseanimation.cpp + + diff --git a/tests/auto/qpauseanimation/tst_qpauseanimation.cpp b/tests/auto/qpauseanimation/tst_qpauseanimation.cpp new file mode 100644 index 0000000..0c742af --- /dev/null +++ b/tests/auto/qpauseanimation/tst_qpauseanimation.cpp @@ -0,0 +1,392 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include +#include +#include + +#include + +//TESTED_CLASS=QPauseAnimation +//TESTED_FILES= + +class TestablePauseAnimation : public QPauseAnimation +{ + Q_OBJECT +public: + TestablePauseAnimation(QObject *parent = 0) + : QPauseAnimation(parent), + m_updateCurrentTimeCount(0) + { + } + + int m_updateCurrentTimeCount; +protected: + void updateCurrentTime(int currentTime) + { + //qDebug() << this << "update current time: " << currentTime; + QPauseAnimation::updateCurrentTime(currentTime); + ++m_updateCurrentTimeCount; + } +}; + +class tst_QPauseAnimation : public QObject +{ + Q_OBJECT +public: + tst_QPauseAnimation(); + virtual ~tst_QPauseAnimation(); + +public Q_SLOTS: + void init(); + void cleanup(); + +private slots: + void changeDirectionWhileRunning(); + void noTimerUpdates_data(); + void noTimerUpdates(); + void mulitplePauseAnimations(); + void pauseAndPropertyAnimations(); + void pauseResume(); + void sequentialPauseGroup(); + void sequentialGroupWithPause(); + void multipleSequentialGroups(); + void zeroDuration(); +}; + +tst_QPauseAnimation::tst_QPauseAnimation() +{ +} + +tst_QPauseAnimation::~tst_QPauseAnimation() +{ +} + +void tst_QPauseAnimation::init() +{ + qRegisterMetaType("QAbstractAnimation::State"); + qRegisterMetaType("QAbstractAnimation::DeletionPolicy"); +} + +void tst_QPauseAnimation::cleanup() +{ +} + +void tst_QPauseAnimation::changeDirectionWhileRunning() +{ + QUnifiedTimer *timer = QUnifiedTimer::instance(); + timer->setConsistentTiming(true); + + TestablePauseAnimation animation; + animation.setDuration(400); + animation.start(); + QTest::qWait(100); + QVERIFY(animation.state() == QAbstractAnimation::Running); + animation.setDirection(QAbstractAnimation::Backward); + QTest::qWait(animation.totalDuration() + 50); + QVERIFY(animation.state() == QAbstractAnimation::Stopped); + + timer->setConsistentTiming(false); +} + +void tst_QPauseAnimation::noTimerUpdates_data() +{ + QTest::addColumn("duration"); + QTest::addColumn("loopCount"); + + QTest::newRow("0") << 200 << 1; + QTest::newRow("1") << 160 << 1; + QTest::newRow("2") << 160 << 2; + QTest::newRow("3") << 200 << 3; +} + +void tst_QPauseAnimation::noTimerUpdates() +{ + QUnifiedTimer *timer = QUnifiedTimer::instance(); + timer->setConsistentTiming(true); + + QFETCH(int, duration); + QFETCH(int, loopCount); + + TestablePauseAnimation animation; + animation.setDuration(duration); + animation.setLoopCount(loopCount); + animation.start(); + QTest::qWait(animation.totalDuration() + 100); + QVERIFY(animation.state() == QAbstractAnimation::Stopped); + QCOMPARE(animation.m_updateCurrentTimeCount, 2); + + timer->setConsistentTiming(false); +} + +void tst_QPauseAnimation::mulitplePauseAnimations() +{ + QUnifiedTimer *timer = QUnifiedTimer::instance(); + timer->setConsistentTiming(true); + + TestablePauseAnimation animation; + animation.setDuration(200); + + TestablePauseAnimation animation2; + animation2.setDuration(800); + + animation.start(); + animation2.start(); + QTest::qWait(animation.totalDuration() + 100); + QVERIFY(animation.state() == QAbstractAnimation::Stopped); + QVERIFY(animation2.state() == QAbstractAnimation::Running); + QCOMPARE(animation.m_updateCurrentTimeCount, 2); + QCOMPARE(animation2.m_updateCurrentTimeCount, 2); + + QTest::qWait(550); + QVERIFY(animation2.state() == QAbstractAnimation::Stopped); + QCOMPARE(animation2.m_updateCurrentTimeCount, 3); + + timer->setConsistentTiming(false); +} + +void tst_QPauseAnimation::pauseAndPropertyAnimations() +{ + QUnifiedTimer *timer = QUnifiedTimer::instance(); + timer->setConsistentTiming(true); + + TestablePauseAnimation pause; + pause.setDuration(200); + + QObject o; + o.setProperty("ole", 42); + + QPropertyAnimation animation(&o, "ole"); + animation.setEndValue(43); + + pause.start(); + + QTest::qWait(100); + animation.start(); + + QVERIFY(animation.state() == QAbstractAnimation::Running); + QVERIFY(pause.state() == QAbstractAnimation::Running); + QCOMPARE(pause.m_updateCurrentTimeCount, 2); + + QTest::qWait(animation.totalDuration() + 100); + + QVERIFY(animation.state() == QAbstractAnimation::Stopped); + QVERIFY(pause.state() == QAbstractAnimation::Stopped); + QVERIFY(pause.m_updateCurrentTimeCount > 3); + + timer->setConsistentTiming(false); +} + +void tst_QPauseAnimation::pauseResume() +{ + TestablePauseAnimation animation; + animation.setDuration(400); + animation.start(); + QVERIFY(animation.state() == QAbstractAnimation::Running); + QTest::qWait(200); + animation.pause(); + QVERIFY(animation.state() == QAbstractAnimation::Paused); + animation.start(); + QTest::qWait(250); + QVERIFY(animation.state() == QAbstractAnimation::Stopped); + QCOMPARE(animation.m_updateCurrentTimeCount, 3); +} + +void tst_QPauseAnimation::sequentialPauseGroup() +{ + QSequentialAnimationGroup group; + + TestablePauseAnimation animation1(&group); + animation1.setDuration(200); + TestablePauseAnimation animation2(&group); + animation2.setDuration(200); + TestablePauseAnimation animation3(&group); + animation3.setDuration(200); + + group.start(); + + QVERIFY(group.state() == QAbstractAnimation::Running); + QVERIFY(animation1.state() == QAbstractAnimation::Running); + QVERIFY(animation2.state() == QAbstractAnimation::Stopped); + QVERIFY(animation3.state() == QAbstractAnimation::Stopped); + + QTest::qWait(250); + + QVERIFY(group.state() == QAbstractAnimation::Running); + QVERIFY(animation1.state() == QAbstractAnimation::Stopped); + QCOMPARE(&animation2, group.currentAnimation()); + QVERIFY(animation2.state() == QAbstractAnimation::Running); + QVERIFY(animation3.state() == QAbstractAnimation::Stopped); + + QTest::qWait(250); + + QVERIFY(group.state() == QAbstractAnimation::Running); + QVERIFY(animation1.state() == QAbstractAnimation::Stopped); + QVERIFY(animation2.state() == QAbstractAnimation::Stopped); + QCOMPARE(&animation3, group.currentAnimation()); + QVERIFY(animation3.state() == QAbstractAnimation::Running); + + QTest::qWait(250); + + QVERIFY(group.state() == QAbstractAnimation::Stopped); + QVERIFY(animation1.state() == QAbstractAnimation::Stopped); + QVERIFY(animation2.state() == QAbstractAnimation::Stopped); + QVERIFY(animation3.state() == QAbstractAnimation::Stopped); + + QCOMPARE(animation1.m_updateCurrentTimeCount, 2); + QCOMPARE(animation2.m_updateCurrentTimeCount, 2); + QCOMPARE(animation3.m_updateCurrentTimeCount, 2); +} + +void tst_QPauseAnimation::sequentialGroupWithPause() +{ + QSequentialAnimationGroup group; + + QObject o; + o.setProperty("ole", 42); + + QPropertyAnimation animation(&o, "ole", &group); + animation.setEndValue(43); + TestablePauseAnimation pause(&group); + pause.setDuration(250); + + group.start(); + + QVERIFY(group.state() == QAbstractAnimation::Running); + QVERIFY(animation.state() == QAbstractAnimation::Running); + QVERIFY(pause.state() == QAbstractAnimation::Stopped); + + QTest::qWait(300); + + QVERIFY(group.state() == QAbstractAnimation::Running); + QVERIFY(animation.state() == QAbstractAnimation::Stopped); + QCOMPARE(&pause, group.currentAnimation()); + QVERIFY(pause.state() == QAbstractAnimation::Running); + + QTest::qWait(300); + + QVERIFY(group.state() == QAbstractAnimation::Stopped); + QVERIFY(animation.state() == QAbstractAnimation::Stopped); + QVERIFY(pause.state() == QAbstractAnimation::Stopped); + + QCOMPARE(pause.m_updateCurrentTimeCount, 2); +} + +void tst_QPauseAnimation::multipleSequentialGroups() +{ + QUnifiedTimer *timer = QUnifiedTimer::instance(); + timer->setConsistentTiming(true); + + QParallelAnimationGroup group; + group.setLoopCount(2); + + QSequentialAnimationGroup subgroup1(&group); + + QObject o; + o.setProperty("ole", 42); + + QPropertyAnimation animation(&o, "ole", &subgroup1); + animation.setEndValue(43); + animation.setDuration(300); + TestablePauseAnimation pause(&subgroup1); + pause.setDuration(200); + + QSequentialAnimationGroup subgroup2(&group); + + o.setProperty("ole2", 42); + QPropertyAnimation animation2(&o, "ole2", &subgroup2); + animation2.setEndValue(43); + animation2.setDuration(200); + TestablePauseAnimation pause2(&subgroup2); + pause2.setDuration(250); + + QSequentialAnimationGroup subgroup3(&group); + + TestablePauseAnimation pause3(&subgroup3); + pause3.setDuration(400); + + o.setProperty("ole3", 42); + QPropertyAnimation animation3(&o, "ole3", &subgroup3); + animation3.setEndValue(43); + animation3.setDuration(200); + + QSequentialAnimationGroup subgroup4(&group); + + TestablePauseAnimation pause4(&subgroup4); + pause4.setDuration(310); + + TestablePauseAnimation pause5(&subgroup4); + pause5.setDuration(60); + + group.start(); + + QVERIFY(group.state() == QAbstractAnimation::Running); + QVERIFY(subgroup1.state() == QAbstractAnimation::Running); + QVERIFY(subgroup2.state() == QAbstractAnimation::Running); + QVERIFY(subgroup3.state() == QAbstractAnimation::Running); + QVERIFY(subgroup4.state() == QAbstractAnimation::Running); + + QTest::qWait(group.totalDuration() + 100); + + QVERIFY(group.state() == QAbstractAnimation::Stopped); + QVERIFY(subgroup1.state() == QAbstractAnimation::Stopped); + QVERIFY(subgroup2.state() == QAbstractAnimation::Stopped); + QVERIFY(subgroup3.state() == QAbstractAnimation::Stopped); + QVERIFY(subgroup4.state() == QAbstractAnimation::Stopped); + + QCOMPARE(pause5.m_updateCurrentTimeCount, 4); + + timer->setConsistentTiming(false); +} + +void tst_QPauseAnimation::zeroDuration() +{ + TestablePauseAnimation animation; + animation.start(); + QTest::qWait(animation.totalDuration() + 100); + QVERIFY(animation.state() == QAbstractAnimation::Stopped); + QCOMPARE(animation.m_updateCurrentTimeCount, 1); +} + +QTEST_MAIN(tst_QPauseAnimation) +#include "tst_qpauseanimation.moc" -- cgit v0.12 From df886d78631a8a7ea3aa8fdbb9da18d5a3387ed1 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Wed, 7 Oct 2009 16:36:55 +0200 Subject: In QParallelAnimationGroup, only stop the children if they arent stopped The previous code was settingCurrentTime on all animatios, even on those that had already finished long ago. Reviewed-by: thierry --- src/corelib/animation/qparallelanimationgroup.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/corelib/animation/qparallelanimationgroup.cpp b/src/corelib/animation/qparallelanimationgroup.cpp index 2812854..0a04c14 100644 --- a/src/corelib/animation/qparallelanimationgroup.cpp +++ b/src/corelib/animation/qparallelanimationgroup.cpp @@ -136,7 +136,9 @@ void QParallelAnimationGroup::updateCurrentTime(int currentTime) int dura = duration(); if (dura > 0) { for (int i = 0; i < d->animations.size(); ++i) { - d->animations.at(i)->setCurrentTime(dura); // will stop + QAbstractAnimation *animation = d->animations.at(i); + if (animation->state() != QAbstractAnimation::Stopped) + d->animations.at(i)->setCurrentTime(dura); // will stop } } } else if (d->currentLoop < d->lastLoop) { @@ -160,7 +162,7 @@ void QParallelAnimationGroup::updateCurrentTime(int currentTime) QAbstractAnimation *animation = d->animations.at(i); const int dura = animation->totalDuration(); //if the loopcount is bigger we should always start all animations - if (d->currentLoop > d->lastLoop + if (d->currentLoop > d->lastLoop //if we're at the end of the animation, we need to start it if it wasn't already started in this loop //this happens in Backward direction where not all animations are started at the same time || d->shouldAnimationStart(animation, d->lastCurrentTime > dura /*startIfAtEnd*/)) { @@ -283,7 +285,7 @@ bool QParallelAnimationGroupPrivate::shouldAnimationStart(QAbstractAnimation *an void QParallelAnimationGroupPrivate::applyGroupState(QAbstractAnimation *animation) { - switch (state) + switch (state) { case QAbstractAnimation::Running: animation->start(); -- cgit v0.12 From 3cad63946965416c89703fbf3d9730e856283c06 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 7 Oct 2009 17:45:48 +0200 Subject: Fix tst_QTextLayout::testTabDPIScale for WinCE/Symbian Make tst_QTextLayout::testTabDPIScale work by increasing the tab stop distances. Now, systems with higher DPIs can pass this test. Review-By: Joerg Bornemann --- tests/auto/qtextlayout/tst_qtextlayout.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp index 5ccae94..fe87dfb 100644 --- a/tests/auto/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp @@ -1085,10 +1085,6 @@ QT_END_NAMESPACE void tst_QTextLayout::testTabDPIScale() { - #ifdef Q_OS_WINCE - QSKIP("This test fails for large DPIs.", SkipAll); - #endif - class MyPaintDevice : public QPaintDevice { QPaintEngine *paintEngine () const { return 0; } int metric (QPaintDevice::PaintDeviceMetric metric) const { @@ -1118,14 +1114,14 @@ void tst_QTextLayout::testTabDPIScale() QTextOption option = layout.textOption(); QList tabs; QTextOption::Tab tab; - tab.position = 100; + tab.position = 200; tabs.append(tab); - tab.position = 200; + tab.position = 400; tab.type = QTextOption::RightTab; tabs.append(tab); - tab.position = 300; + tab.position = 600; tab.type = QTextOption::CenterTab; tabs.append(tab); option.setTabs(tabs); @@ -1133,7 +1129,7 @@ void tst_QTextLayout::testTabDPIScale() layout.beginLayout(); QTextLine line = layout.createLine(); - line.setLineWidth(500.); + line.setLineWidth(1500.); layout.endLayout(); QCOMPARE(line.cursorToX(0), 0.); QCOMPARE(line.cursorToX(1), (double) TESTFONT_SIZE); // check that the font does not resize @@ -1142,9 +1138,9 @@ void tst_QTextLayout::testTabDPIScale() int fixedScale = (int)( scale * qreal(64)); // into a QFixed scale = ((qreal)fixedScale)/(qreal)64; // and out of a QFixed - QCOMPARE(line.cursorToX(6), 100 * scale); - QCOMPARE(line.cursorToX(12), 200 * scale - TESTFONT_SIZE * 5); - QCOMPARE(line.cursorToX(18), 300 * scale - TESTFONT_SIZE * 3 / 2.0); + QCOMPARE(line.cursorToX(6), tabs.at(0).position * scale); + QCOMPARE(line.cursorToX(12), tabs.at(1).position * scale - TESTFONT_SIZE * 5); + QCOMPARE(line.cursorToX(18), tabs.at(2).position * scale - TESTFONT_SIZE * 3 / 2.0); } void tst_QTextLayout::tabHeight() -- cgit v0.12 From db182f75b69cd47ce8abbcc5acb2551306919a05 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 7 Oct 2009 13:58:02 +0200 Subject: QGuiPlatformPlugin: QFileIconProvider and QIcon backend. Add a backend for QFileIconProvider in the platform plugin Also change the QIcon::fromTheme backend in the platform plugin: On KDE, we unfortunately can't use KIcon as backend, as the current API doesn't let us know easily (and quickly) wether we should use the fallback or not (KDE always fallback to the question mark "unknown" icon) So we will use the QIconLoader even on KDE. But we need to make sure that the theme name and the icon search paths are correct. Ask that to the platform plugin Reviewed-by: Jens Bache-Wiig --- src/gui/image/qicon.cpp | 5 -- src/gui/image/qiconloader.cpp | 88 +++++---------------------------- src/gui/itemviews/qfileiconprovider.cpp | 5 ++ src/gui/kernel/qguiplatformplugin.cpp | 68 ++++++++++++++++++++++++- src/gui/kernel/qguiplatformplugin_p.h | 6 ++- 5 files changed, 87 insertions(+), 85 deletions(-) diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index 3448459..e0779a0 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -962,15 +962,10 @@ QString QIcon::themeName() */ QIcon QIcon::fromTheme(const QString &name, const QIcon &fallback) { - static QCache iconCache; QIcon icon; - icon = qt_guiPlatformPlugin()->loadIcon(name); - if (!icon.isNull()) - return icon; - if (iconCache.contains(name)) { icon = *iconCache.object(name); } else { diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index adc2967..5412e11 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -43,7 +43,7 @@ #include #include -#include +#include #include #include @@ -68,47 +68,25 @@ QT_BEGIN_NAMESPACE Q_GLOBAL_STATIC(QIconLoader, iconLoaderInstance) +/* Theme to use in last resort, if the theme does not have the icon, neither the parents */ static QString fallbackTheme() { - QString defaultTheme; -#ifdef Q_WS_X11 - if (X11->desktopEnvironment == DE_GNOME) - defaultTheme = QLatin1String("gnome"); - else if (X11->desktopEnvironment == DE_KDE) - defaultTheme = X11->desktopVersion >= 4 ? - QString::fromLatin1("oxygen") : - QString::fromLatin1("crystalsvg"); -#endif - return defaultTheme; -} - -static QString systemThemeName() -{ - QString result = fallbackTheme(); #ifdef Q_WS_X11 if (X11->desktopEnvironment == DE_GNOME) { -#ifndef QT_NO_STYLE_GTK - result = QGtk::getGConfString(QLatin1String("/desktop/gnome/interface/icon_theme"), - result); -#endif + return QLatin1String("gnome"); } else if (X11->desktopEnvironment == DE_KDE) { - QSettings settings(QKde::kdeHome() + - QLatin1String("/share/config/kdeglobals"), - QSettings::IniFormat); - - settings.beginGroup(QLatin1String("Icons")); - - result = settings.value(QLatin1String("Theme"), result).toString(); + return X11->desktopVersion >= 4 + ? QString::fromLatin1("oxygen") + : QString::fromLatin1("crystalsvg"); } #endif - return result; + return QString(); } - QIconLoader::QIconLoader() : m_themeKey(1), m_supportsSvg(false) { - m_systemTheme = systemThemeName(); + m_systemTheme = qt_guiPlatformPlugin()->systemIconThemeName(); QFactoryLoader iconFactoryLoader(QIconEngineFactoryInterfaceV2_iid, QLatin1String("/iconengines"), @@ -128,7 +106,7 @@ void QIconLoader::updateSystemTheme() { // Only change if this is not explicitly set by the user if (m_userTheme.isEmpty()) { - QString theme = systemThemeName(); + QString theme = qt_guiPlatformPlugin()->systemIconThemeName(); if (theme != m_systemTheme) { m_systemTheme = theme; invalidateKey(); @@ -152,51 +130,7 @@ void QIconLoader::setThemeSearchPath(const QStringList &searchPaths) QStringList QIconLoader::themeSearchPaths() const { if (m_iconDirs.isEmpty()) { - -#if defined(Q_WS_X11) - - QString xdgDirString = QFile::decodeName(getenv("XDG_DATA_DIRS")); - if (xdgDirString.isEmpty()) - xdgDirString = QLatin1String("/usr/local/share/:/usr/share/"); - - QStringList xdgDirs = xdgDirString.split(QLatin1Char(':')); - - for (int i = 0 ; i < xdgDirs.size() ; ++i) { - QDir dir(xdgDirs[i]); - if (dir.exists()) - m_iconDirs.append(dir.path() + - QLatin1String("/icons")); - } - - if (X11->desktopEnvironment == DE_KDE) { - - m_iconDirs << QLatin1Char(':') + - QKde::kdeHome() + - QLatin1String("/share/icons"); - QStringList kdeDirs = - QFile::decodeName(getenv("KDEDIRS")).split(QLatin1Char(':')); - - for (int i = 0 ; i< kdeDirs.count() ; ++i) { - QDir dir(QLatin1Char(':') + kdeDirs.at(i) + - QLatin1String("/share/icons")); - if (dir.exists()) - m_iconDirs.append(dir.path()); - } - } - - // Add home directory first in search path - QDir homeDir(QDir::homePath() + QLatin1String("/.icons")); - if (homeDir.exists()) - m_iconDirs.prepend(homeDir.path()); -#endif - -#if defined(Q_WS_WIN) - m_iconDirs.append(qApp->applicationDirPath() + - QLatin1String("/icons")); -#elif defined(Q_WS_MAC) - m_iconDirs.append(qApp->applicationDirPath() + - QLatin1String("/../Resources/icons")); -#endif + m_iconDirs = qt_guiPlatformPlugin()->iconThemeSearchPaths(); // Allways add resource directory as search path m_iconDirs.append(QLatin1String(":/icons")); } @@ -291,7 +225,7 @@ QThemeIconEntries QIconLoader::findIconHelper(const QString &themeName, if (!theme.isValid()) { theme = QIconTheme(themeName); if (!theme.isValid()) - theme = fallbackTheme(); + theme = QIconTheme(fallbackTheme()); themeList.insert(themeName, theme); } diff --git a/src/gui/itemviews/qfileiconprovider.cpp b/src/gui/itemviews/qfileiconprovider.cpp index c78a49b..e3d17ad 100644 --- a/src/gui/itemviews/qfileiconprovider.cpp +++ b/src/gui/itemviews/qfileiconprovider.cpp @@ -61,6 +61,7 @@ #endif #include +#include #ifndef SHGFI_ADDOVERLAYS #define SHGFI_ADDOVERLAYS 0x000000020 @@ -385,6 +386,10 @@ QIcon QFileIconProvider::icon(const QFileInfo &info) const { Q_D(const QFileIconProvider); + QIcon platformIcon = qt_guiPlatformPlugin()->fileSystemIcon(info); + if (!platformIcon.isNull()) + return platformIcon; + #if defined(Q_WS_X11) && !defined(QT_NO_STYLE_GTK) if (X11->desktopEnvironment == DE_GNOME) { QIcon gtkIcon = QGtk::getFilesystemIcon(info); diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp index c48b8f6..6e074a1 100644 --- a/src/gui/kernel/qguiplatformplugin.cpp +++ b/src/gui/kernel/qguiplatformplugin.cpp @@ -41,6 +41,9 @@ #include "qguiplatformplugin_p.h" #include +#include +#include +#include #include "private/qfactoryloader_p.h" #include "qstylefactory.h" #include "qapplication.h" @@ -58,6 +61,7 @@ extern bool qt_wince_is_pocket_pc(); //qguifunctions_wince.cpp #if defined(Q_WS_X11) #include "qkde_p.h" #include "qt_x11_p.h" +#include #endif @@ -194,8 +198,68 @@ QPalette QGuiPlatformPlugin::palette() return QPalette(); } -/* backend for QIcon::fromTheme. A null icon means it uses the default backend */ -QIcon QGuiPlatformPlugin::loadIcon(const QString &name) +/* the default icon theme name for QIcon::fromTheme. */ +QString QGuiPlatformPlugin::systemIconThemeName() +{ + QString result; +#ifdef Q_WS_X11 + if (X11->desktopEnvironment == DE_GNOME) { + result = QString::fromLatin1("gnome"); +#ifndef QT_NO_STYLE_GTK + result = QGtk::getGConfString(QLatin1String("/desktop/gnome/interface/icon_theme"), result); +#endif + } else if (X11->desktopEnvironment == DE_KDE) { + result = X11->desktopVersion >= 4 ? QString::fromLatin1("oxygen") : QString::fromLatin1("crystalsvg"); + QSettings settings(QKde::kdeHome() + QLatin1String("/share/config/kdeglobals"), QSettings::IniFormat); + settings.beginGroup(QLatin1String("Icons")); + result = settings.value(QLatin1String("Theme"), result).toString(); + } +#endif + return result; +} + + +QStringList QGuiPlatformPlugin::iconThemeSearchPaths() +{ + QStringList paths; +#if defined(Q_WS_X11) + QString xdgDirString = QFile::decodeName(getenv("XDG_DATA_DIRS")); + if (xdgDirString.isEmpty()) + xdgDirString = QLatin1String("/usr/local/share/:/usr/share/"); + + QStringList xdgDirs = xdgDirString.split(QLatin1Char(':')); + + for (int i = 0 ; i < xdgDirs.size() ; ++i) { + QDir dir(xdgDirs[i]); + if (dir.exists()) + paths.append(dir.path() + QLatin1String("/icons")); + } + if (X11->desktopEnvironment == DE_KDE) { + paths << QLatin1Char(':') + QKde::kdeHome() + QLatin1String("/share/icons"); + QStringList kdeDirs = QFile::decodeName(getenv("KDEDIRS")).split(QLatin1Char(':')); + for (int i = 0 ; i< kdeDirs.count() ; ++i) { + QDir dir(QLatin1Char(':') + kdeDirs.at(i) + QLatin1String("/share/icons")); + if (dir.exists()) + paths.append(dir.path()); + } + } + + // Add home directory first in search path + QDir homeDir(QDir::homePath() + QLatin1String("/.icons")); + if (homeDir.exists()) + paths.prepend(homeDir.path()); +#endif + +#if defined(Q_WS_WIN) + paths.append(qApp->applicationDirPath() + QLatin1String("/icons")); +#elif defined(Q_WS_MAC) + paths.append(qApp->applicationDirPath() + QLatin1String("/../Resources/icons")); +#endif + return paths; +} + +/* backend for QFileIconProvider, null icon means default */ +QIcon QGuiPlatformPlugin::fileSystemIcon(const QFileInfo &) { return QIcon(); } diff --git a/src/gui/kernel/qguiplatformplugin_p.h b/src/gui/kernel/qguiplatformplugin_p.h index 57ea8af..f7d4b92 100644 --- a/src/gui/kernel/qguiplatformplugin_p.h +++ b/src/gui/kernel/qguiplatformplugin_p.h @@ -68,6 +68,7 @@ class QPalette; class QIcon; class QFileDialog; class QColorDialog; +class QFileInfo; struct Q_GUI_EXPORT QGuiPlatformPluginInterface : public QFactoryInterface { @@ -89,7 +90,10 @@ class Q_GUI_EXPORT QGuiPlatformPlugin : public QObject, public QGuiPlatformPlugi virtual QString styleName(); virtual QPalette palette(); - virtual QIcon loadIcon(const QString &name); + virtual QString systemIconThemeName(); + virtual QStringList iconThemeSearchPaths(); + virtual QIcon fileSystemIcon(const QFileInfo &); + enum PlatformHint { PH_ToolButtonStyle, PH_ToolBarIconSize }; virtual int platformHint(PlatformHint hint); -- cgit v0.12 From 01f0164d71612ba3f03f2e8f58ff6137dc38e4cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 7 Oct 2009 12:08:29 +0200 Subject: Documented the NoOpaqueDetection enum value in ImageConversionFlags. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This might be useful for some people, so we should document it. Reviewed-by: Bjørn Erik Nilsen --- src/corelib/global/qnamespace.qdoc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index b7775bd..ab232bf 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -713,7 +713,13 @@ \omitvalue Dither_Mask \omitvalue AlphaDither_Mask \omitvalue DitherMode_Mask - \omitvalue NoOpaqueDetection + + \value NoOpaqueDetection Do not check whether the image contains non-opaque + pixels. Use this if you know that the image is semi-transparent and + you want to avoid the overhead of checking the pixels in the image + until a non-opaque pixel is found, or if you want the pixmap to + retain an alpha channel for some other reason. If the image has no + alpha channel this flag has no effect. */ /*! \enum Qt::GUIStyle -- cgit v0.12 From 57209cf902f9d0c9bea5b599b54fa4bdc015d2b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 7 Oct 2009 13:37:31 +0200 Subject: Optimized clipping in the GL 2 engine for winding fills. When no stencil clip is set we reduce the number of compositing passes for rendering winding fill paths from four to two. When stencil clip is set, the number of compositing passes is reduced from five to four. For clipping with a winding fill path, the number of compositing passes are reduced from five to four when stencil clipping is already enabled. A performance improvement of up to 85 % was measured in certain cases. Reviewed-by: Trond --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 69 +++++++++++++--------- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 1 + 2 files changed, 41 insertions(+), 29 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 5875124..b3638ff 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -391,7 +391,6 @@ void QGL2PaintEngineExPrivate::setBrush(const QBrush* brush) } -// Unless this gets used elsewhere, it's probably best to merge it into fillStencilWithVertexArray void QGL2PaintEngineExPrivate::useSimpleShader() { shaderManager->simpleProgram()->enable(); @@ -891,16 +890,26 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) fillStencilWithVertexArray(vertexCoordinateArray, path.hasWindingFill()); - // Stencil the brush onto the dest buffer - glStencilFunc(GL_EQUAL, GL_STENCIL_HIGH_BIT, GL_STENCIL_HIGH_BIT); // Pass if stencil buff value != 0 - glStencilOp(GL_KEEP, GL_ZERO, GL_ZERO); - glStencilMask(GL_STENCIL_HIGH_BIT); + glStencilMask(0xff); + glStencilOp(GL_KEEP, GL_REPLACE, GL_REPLACE); + + if (q->state()->clipTestEnabled) { + // Pass when high bit is set, replace stencil value with current clip + glStencilFunc(GL_NOTEQUAL, q->state()->currentClip, GL_STENCIL_HIGH_BIT); + } else if (path.hasWindingFill()) { + // Pass when any bit is set, replace stencil value with 0 + glStencilFunc(GL_NOTEQUAL, 0, 0xff); + } else { + // Pass when high bit is set, replace stencil value with 0 + glStencilFunc(GL_NOTEQUAL, 0, GL_STENCIL_HIGH_BIT); + } prepareForDraw(currentBrush->isOpaque()); if (inRenderText) prepareDepthRangeForRenderText(); + // Stencil the brush onto the dest buffer composite(vertexCoordinateArray.boundingRect()); if (inRenderText) @@ -916,7 +925,7 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) void QGL2PaintEngineExPrivate::fillStencilWithVertexArray(QGL2PEXVertexArray& vertexArray, bool useWindingFill) { // qDebug("QGL2PaintEngineExPrivate::fillStencilWithVertexArray()"); - glStencilMask(0xffff); // Enable stencil writes + glStencilMask(0xff); // Enable stencil writes if (dirtyStencilRegion.intersects(currentScissorBounds)) { QVector clearRegion = dirtyStencilRegion.intersected(currentScissorBounds).rects(); @@ -948,39 +957,30 @@ void QGL2PaintEngineExPrivate::fillStencilWithVertexArray(QGL2PEXVertexArray& ve if (useWindingFill) { if (q->state()->clipTestEnabled) { + // Flatten clip values higher than current clip, and set high bit to match current clip glStencilFunc(GL_LEQUAL, GL_STENCIL_HIGH_BIT | q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); glStencilOp(GL_KEEP, GL_REPLACE, GL_REPLACE); composite(vertexArray.boundingRect()); glStencilFunc(GL_EQUAL, GL_STENCIL_HIGH_BIT, GL_STENCIL_HIGH_BIT); - } else { - glStencilFunc(GL_ALWAYS, 0, 0xffff); + } else if (!stencilClean) { + // Clear stencil buffer within bounding rect + glStencilFunc(GL_ALWAYS, 0, 0xff); glStencilOp(GL_ZERO, GL_ZERO, GL_ZERO); composite(vertexArray.boundingRect()); } // Inc. for front-facing triangle glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_INCR_WRAP, GL_INCR_WRAP); - //Dec. for back-facing "holes" + // Dec. for back-facing "holes" glStencilOpSeparate(GL_BACK, GL_KEEP, GL_DECR_WRAP, GL_DECR_WRAP); glStencilMask(~GL_STENCIL_HIGH_BIT); drawVertexArrays(vertexArray, GL_TRIANGLE_FAN); if (q->state()->clipTestEnabled) { - // clear high bit of stencil outside of path - glStencilFunc(GL_EQUAL, GL_STENCIL_HIGH_BIT | q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); - glStencilOp(GL_KEEP, GL_INVERT, GL_INVERT); - glStencilMask(GL_STENCIL_HIGH_BIT); - composite(vertexArray.boundingRect()); - // reset lower bits of stencil inside path to current clip - glStencilFunc(GL_EQUAL, GL_STENCIL_HIGH_BIT | q->state()->currentClip, GL_STENCIL_HIGH_BIT); + // Clear high bit of stencil outside of path + glStencilFunc(GL_EQUAL, q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); glStencilOp(GL_KEEP, GL_REPLACE, GL_REPLACE); - glStencilMask(~GL_STENCIL_HIGH_BIT); - composite(vertexArray.boundingRect()); - } else { - // set high bit of stencil inside path - glStencilFunc(GL_NOTEQUAL, 0, 0xffff); - glStencilOp(GL_KEEP, GL_INVERT, GL_INVERT); glStencilMask(GL_STENCIL_HIGH_BIT); composite(vertexArray.boundingRect()); } @@ -1020,7 +1020,7 @@ void QGL2PaintEngineExPrivate::resetClipIfNeeded() QGLRect rect(bounds.left(), bounds.top(), bounds.right(), bounds.bottom()); // Set high bit on clip region - glStencilFunc(GL_LEQUAL, q->state()->currentClip, 0xffff); + glStencilFunc(GL_LEQUAL, q->state()->currentClip, 0xff); glStencilOp(GL_KEEP, GL_INVERT, GL_INVERT); glStencilMask(GL_STENCIL_HIGH_BIT); composite(rect); @@ -1028,7 +1028,7 @@ void QGL2PaintEngineExPrivate::resetClipIfNeeded() // Reset clipping to 1 and everything else to zero glStencilFunc(GL_NOTEQUAL, 0x01, GL_STENCIL_HIGH_BIT); glStencilOp(GL_ZERO, GL_REPLACE, GL_REPLACE); - glStencilMask(0xFFFF); + glStencilMask(0xff); composite(rect); q->state()->currentClip = 1; @@ -1636,6 +1636,7 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) d->use_system_clip = !systemClip().isEmpty(); d->dirtyStencilRegion = QRect(0, 0, d->width, d->height); + d->stencilClean = true; // Calling begin paint should make the correct context current. So, any // code which calls into GL or otherwise needs a current context *must* @@ -1731,7 +1732,7 @@ void QGL2PaintEngineExPrivate::updateClipScissorTest() glStencilFunc(GL_LEQUAL, q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); } else { glDisable(GL_STENCIL_TEST); - glStencilFunc(GL_ALWAYS, 0, 0xffff); + glStencilFunc(GL_ALWAYS, 0, 0xff); } #ifdef QT_GL_NO_SCISSOR_TEST @@ -1787,7 +1788,7 @@ void QGL2PaintEngineExPrivate::clearClip(uint value) { dirtyStencilRegion -= currentScissorBounds; - glStencilMask(0xffff); + glStencilMask(0xff); glClearStencil(value); glClear(GL_STENCIL_BUFFER_BIT); glStencilMask(0x0); @@ -1802,6 +1803,8 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) if (matrixDirty) updateMatrix(); + stencilClean = false; + const bool singlePass = !path.hasWindingFill() && (((q->state()->currentClip == maxClip - 1) && q->state()->clipTestEnabled) || q->state()->needsClipBufferClear); @@ -1819,7 +1822,7 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) if (q->state()->clipTestEnabled) glStencilFunc(GL_LEQUAL, q->state()->currentClip, ~GL_STENCIL_HIGH_BIT); else - glStencilFunc(GL_ALWAYS, 0, 0xffff); + glStencilFunc(GL_ALWAYS, 0, 0xff); vertexCoordinateArray.clear(); vertexCoordinateArray.addPath(path, inverseScale); @@ -1841,9 +1844,17 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) drawVertexArrays(vertexCoordinateArray, GL_TRIANGLE_FAN); } else { - glStencilFunc(GL_NOTEQUAL, value, GL_STENCIL_HIGH_BIT); glStencilOp(GL_KEEP, GL_REPLACE, GL_REPLACE); - glStencilMask(0xffff); + glStencilMask(0xff); + + if (!q->state()->clipTestEnabled && path.hasWindingFill()) { + // Pass when any clip bit is set, set high bit + glStencilFunc(GL_NOTEQUAL, GL_STENCIL_HIGH_BIT, ~GL_STENCIL_HIGH_BIT); + composite(vertexCoordinateArray.boundingRect()); + } + + // Pass when high bit is set, replace stencil value with new clip value + glStencilFunc(GL_NOTEQUAL, value, GL_STENCIL_HIGH_BIT); composite(vertexCoordinateArray.boundingRect()); } diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index 28c972e..46be398 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -223,6 +223,7 @@ public: bool shaderMatrixUniformDirty; bool opacityUniformDirty; + bool stencilClean; // Has the stencil not been used for clipping so far? QRegion dirtyStencilRegion; QRect currentScissorBounds; uint maxClip; -- cgit v0.12 From 14a8f1fb7414885cc3868b1d27699b5a0d59e7ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 7 Oct 2009 14:59:34 +0200 Subject: Optimized rasterizing of paths using stencil method in GL 2 engine. Making the triangle fan of each sub path start at the sub path's centroid will on average improve performance for complex paths, because less pixels that are outside the path need to be touched. The centroid is a more balanced choice than just picking the first element of the sub path as triangle fan origin. A performance improvement of 20 % was measured for star formed paths. Reviewed-by: Trond --- src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp | 37 +++++++++++++++++++++- src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h | 5 ++- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 6 ++-- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp b/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp index 866d1a2..1fe3999 100644 --- a/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp +++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp @@ -67,7 +67,30 @@ void QGL2PEXVertexArray::addRect(const QRectF &rect) << rect.bottomRight() << rect.bottomLeft() << rect.topLeft(); } -void QGL2PEXVertexArray::addPath(const QVectorPath &path, GLfloat curveInverseScale) +void QGL2PEXVertexArray::addClosingLine(int index) +{ + if (QPointF(vertexArray.at(index)) != QPointF(vertexArray.last())) + vertexArray.add(vertexArray.at(index)); +} + +void QGL2PEXVertexArray::addCentroid(const QVectorPath &path, int subPathIndex) +{ + const QPointF *const points = reinterpret_cast(path.points()); + const QPainterPath::ElementType *const elements = path.elements(); + + QPointF sum = points[subPathIndex]; + int count = 1; + + for (int i = subPathIndex + 1; i < path.elementCount() && (!elements || elements[i] != QPainterPath::MoveToElement); ++i) { + sum += points[i]; + ++count; + } + + const QPointF centroid = sum / qreal(count); + vertexArray.add(centroid); +} + +void QGL2PEXVertexArray::addPath(const QVectorPath &path, GLfloat curveInverseScale, bool outline) { const QPointF* const points = reinterpret_cast(path.points()); const QPainterPath::ElementType* const elements = path.elements(); @@ -78,6 +101,10 @@ void QGL2PEXVertexArray::addPath(const QVectorPath &path, GLfloat curveInverseSc boundingRectDirty = false; } + if (!outline) + addCentroid(path, 0); + + int lastMoveTo = vertexArray.size(); vertexArray.add(points[0]); // The first element is always a moveTo do { @@ -96,8 +123,14 @@ void QGL2PEXVertexArray::addPath(const QVectorPath &path, GLfloat curveInverseSc const QPainterPath::ElementType elementType = elements[i]; switch (elementType) { case QPainterPath::MoveToElement: + if (!outline) + addClosingLine(lastMoveTo); // qDebug("element[%d] is a MoveToElement", i); vertexArrayStops.append(vertexArray.size()); + if (!outline) { + addCentroid(path, i); + lastMoveTo = vertexArray.size(); + } lineToArray(points[i].x(), points[i].y()); // Add the moveTo as a new vertex break; case QPainterPath::LineToElement: @@ -115,6 +148,8 @@ void QGL2PEXVertexArray::addPath(const QVectorPath &path, GLfloat curveInverseSc } } while (0); + if (!outline) + addClosingLine(lastMoveTo); vertexArrayStops.append(vertexArray.size()); } diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h index 08ce234..719904f 100644 --- a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h +++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h @@ -104,7 +104,7 @@ public: boundingRectDirty(true) {} void addRect(const QRectF &rect); - void addPath(const QVectorPath &path, GLfloat curveInverseScale); + void addPath(const QVectorPath &path, GLfloat curveInverseScale, bool outline = true); void clear(); QGLPoint* data() {return vertexArray.data();} @@ -124,6 +124,9 @@ private: bool boundingRectDirty; inline void curveToArray(const QGLPoint &cp1, const QGLPoint &cp2, const QGLPoint &ep, GLfloat inverseScale); + + void addClosingLine(int index); + void addCentroid(const QVectorPath &path, int subPathIndex); }; QT_END_NAMESPACE diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index b3638ff..ab02c69 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -880,13 +880,13 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path) || path.shape() == QVectorPath::ConvexPolygonHint) { vertexCoordinateArray.clear(); - vertexCoordinateArray.addPath(path, inverseScale); + vertexCoordinateArray.addPath(path, inverseScale, false); prepareForDraw(currentBrush->isOpaque()); drawVertexArrays(vertexCoordinateArray, GL_TRIANGLE_FAN); } else { // The path is too complicated & needs the stencil technique vertexCoordinateArray.clear(); - vertexCoordinateArray.addPath(path, inverseScale); + vertexCoordinateArray.addPath(path, inverseScale, false); fillStencilWithVertexArray(vertexCoordinateArray, path.hasWindingFill()); @@ -1825,7 +1825,7 @@ void QGL2PaintEngineExPrivate::writeClip(const QVectorPath &path, uint value) glStencilFunc(GL_ALWAYS, 0, 0xff); vertexCoordinateArray.clear(); - vertexCoordinateArray.addPath(path, inverseScale); + vertexCoordinateArray.addPath(path, inverseScale, false); if (!singlePass) fillStencilWithVertexArray(vertexCoordinateArray, path.hasWindingFill()); -- cgit v0.12 From df5cdc6d9a22ae11d607e9359a3bb9a80596fdb6 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 7 Oct 2009 18:16:15 +0200 Subject: QDesktopServices compile fix for Windows CE There's no CSIDL_LOCAL_APPDATA on Windows CE. Use CSIDL_APPDATA instead. Reviewed-by: TrustMe --- src/gui/util/qdesktopservices_win.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/util/qdesktopservices_win.cpp b/src/gui/util/qdesktopservices_win.cpp index bf29870..4ecef97 100644 --- a/src/gui/util/qdesktopservices_win.cpp +++ b/src/gui/util/qdesktopservices_win.cpp @@ -186,7 +186,11 @@ QString QDesktopServices::storageLocation(StandardLocation type) switch (type) { case DataLocation: +#if defined Q_WS_WINCE + if (SHGetSpecialFolderPath(0, path, CSIDL_APPDATA, FALSE)) +#else if (SHGetSpecialFolderPath(0, path, CSIDL_LOCAL_APPDATA, FALSE)) +#endif result = QString::fromWCharArray(path); if (!QCoreApplication::organizationName().isEmpty()) result = result + QLatin1String("\\") + QCoreApplication::organizationName(); -- cgit v0.12 From 2dd5facac01df4a90fbf9b7ce666704fddaf9e4f Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 7 Oct 2009 12:56:50 +0200 Subject: Inline QScriptValuePrivate operator new and delete Make allocation faster. --- src/script/api/qscriptengine_p.h | 16 ++++++++++++++++ src/script/api/qscriptvalue.cpp | 16 ---------------- src/script/api/qscriptvalue_p.h | 4 ++-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h index 5f31054..f1fc135 100644 --- a/src/script/api/qscriptengine_p.h +++ b/src/script/api/qscriptengine_p.h @@ -468,6 +468,22 @@ inline QScriptValue QScriptValuePrivate::property(const QString &name, int resol return property(JSC::Identifier(exec, name), resolveMode); } +inline void* QScriptValuePrivate::operator new(size_t size, QScriptEnginePrivate *engine) +{ + if (engine) + return engine->allocateScriptValuePrivate(size); + return qMalloc(size); +} + +inline void QScriptValuePrivate::operator delete(void *ptr) +{ + QScriptValuePrivate *d = reinterpret_cast(ptr); + if (d->engine) + d->engine->freeScriptValuePrivate(d); + else + qFree(d); +} + inline void QScriptEnginePrivate::registerScriptString(QScriptStringPrivate *value) { Q_ASSERT(value->type == QScriptStringPrivate::HeapAllocated); diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp index 92c987c..1c668a9 100644 --- a/src/script/api/qscriptvalue.cpp +++ b/src/script/api/qscriptvalue.cpp @@ -466,22 +466,6 @@ void QScriptValuePrivate::detachFromEngine() engine = 0; } -void* QScriptValuePrivate::operator new(size_t size, QScriptEnginePrivate *engine) -{ - if (engine) - return engine->allocateScriptValuePrivate(size); - return qMalloc(size); -} - -void QScriptValuePrivate::operator delete(void *ptr) -{ - QScriptValuePrivate *d = reinterpret_cast(ptr); - if (d->engine) - d->engine->freeScriptValuePrivate(d); - else - qFree(d); -} - /*! \internal */ diff --git a/src/script/api/qscriptvalue_p.h b/src/script/api/qscriptvalue_p.h index 6cbda97..351d616 100644 --- a/src/script/api/qscriptvalue_p.h +++ b/src/script/api/qscriptvalue_p.h @@ -68,8 +68,8 @@ class QScriptValuePrivate { Q_DISABLE_COPY(QScriptValuePrivate); public: - void* operator new(size_t, QScriptEnginePrivate*); - void operator delete(void*); + inline void* operator new(size_t, QScriptEnginePrivate*); + inline void operator delete(void*); enum Type { JavaScriptCore, -- cgit v0.12 From eb10655a9e94d0953d5f43815750fe128b862051 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Wed, 7 Oct 2009 16:31:09 +0200 Subject: Use JSC::asObject() when we know that the value is an object It's faster than calling getObject(), since getObject() will do type checking of the value. --- src/script/api/qscriptvalue.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp index 1c668a9..b8340a7 100644 --- a/src/script/api/qscriptvalue.cpp +++ b/src/script/api/qscriptvalue.cpp @@ -280,7 +280,7 @@ QScriptValue QScriptValuePrivate::property(const JSC::Identifier &id, int resolv { Q_ASSERT(isObject()); JSC::ExecState *exec = engine->currentFrame; - JSC::JSObject *object = jscValue.getObject(); + JSC::JSObject *object = JSC::asObject(jscValue); JSC::PropertySlot slot(const_cast(object)); JSC::JSValue result; if (const_cast(object)->getOwnPropertySlot(exec, id, slot)) { @@ -303,7 +303,7 @@ QScriptValue QScriptValuePrivate::property(quint32 index, int resolveMode) const { Q_ASSERT(isObject()); JSC::ExecState *exec = engine->currentFrame; - JSC::JSObject *object = jscValue.getObject(); + JSC::JSObject *object = JSC::asObject(jscValue); JSC::PropertySlot slot(const_cast(object)); JSC::JSValue result; if (const_cast(object)->getOwnPropertySlot(exec, index, slot)) { -- cgit v0.12 From 43fe0d1e73366f5b29930c0f9ddef959729dca66 Mon Sep 17 00:00:00 2001 From: Janne Koskinen Date: Tue, 6 Oct 2009 15:27:30 +0000 Subject: 2009-10-06 Janne Koskinen Reviewed by Simon Hausmann. [Qt] don't enable input methods on Symbian by default. https://bugs.webkit.org/show_bug.cgi?id=30117 If input methods are enabled Symbian FEP will be launched on every pointer event making webpage navigation impossible with QWebView. * Api/qwebview.cpp: (QWebView::QWebView): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49188 268f45cc-cd09-0410-ab3c-d52691b4dbfc (cherry picked from commit 9c23f571341811b07606db79dd4a4d44ff98acc1) --- src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp | 2 +- src/3rdparty/webkit/WebKit/qt/ChangeLog | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp index 3c5f89f..882f3d7 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp @@ -198,7 +198,7 @@ QWebView::QWebView(QWidget *parent) { d = new QWebViewPrivate(this); -#if !defined(Q_WS_QWS) +#if !defined(Q_WS_QWS) && !defined(Q_OS_SYMBIAN) setAttribute(Qt::WA_InputMethodEnabled); #endif diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index fd2768c..99ddaa5 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,16 @@ +2009-10-06 Janne Koskinen + + Reviewed by Simon Hausmann. + + [Qt] don't enable input methods on Symbian by default. + https://bugs.webkit.org/show_bug.cgi?id=30117 + + If input methods are enabled Symbian FEP will be launched on every + pointer event making webpage navigation impossible with QWebView. + + * Api/qwebview.cpp: + (QWebView::QWebView): + 2009-10-01 Simon Hausmann Reviewed by Tor Arne Vestbø. -- cgit v0.12 From 00db2d0b1f069a1e1a71b3f1175dfb0dff71cae1 Mon Sep 17 00:00:00 2001 From: Janne Koskinen Date: Wed, 7 Oct 2009 10:58:16 +0000 Subject: 2009-10-07 Janne Koskinen Reviewed by Simon Hausmann. [Qt] Symbian SBSv2 .data segment adress fix https://bugs.webkit.org/show_bug.cgi?id=30157 RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section base address to start from 0x800000 instead of the toolchain default 0x400000 * WebCore.pro: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49239 268f45cc-cd09-0410-ab3c-d52691b4dbfc (cherry picked from commit d73ea9d00fec200b2dd6de5e4c8f298caffa4aca) --- src/3rdparty/webkit/WebCore/ChangeLog | 12 ++++++++++++ src/3rdparty/webkit/WebCore/WebCore.pro | 3 +++ 2 files changed, 15 insertions(+) diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index aacc3dc..4f7dd4f 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,15 @@ +2009-10-07 Janne Koskinen + + Reviewed by Simon Hausmann. + + [Qt] Symbian SBSv2 .data segment adress fix + https://bugs.webkit.org/show_bug.cgi?id=30157 + + RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section + base address to start from 0x800000 instead of the toolchain default 0x400000 + + * WebCore.pro: + 2009-09-29 Dave Hyatt Reviewed by Jon Honeycutt. diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index bc22b7a..1c39bb8 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -13,6 +13,9 @@ symbian: { TARGET.UID3 = 0x200267C2 } +# RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section +# base address to start from 0x800000 instead of the toolchain default 0x400000. +symbian-sbsv2: MMP_RULES += "LINKEROPTION armcc --rw-base 0x800000" include($$PWD/../WebKit.pri) -- cgit v0.12 From cf07c93a83a64be1590b6bdddb46f7cafb6fcf05 Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 6 Oct 2009 17:05:50 +0200 Subject: Fixed a crash bug on S60 SDK 3.1. The crash was caused by the image data not being locked before being accessed. Also avoided an unnecessary detach copy by making the image variable a reference. RevBy: Jani Hautakangas Task: QTBUG-4705 AutoTest: QWidget passed (cherry picked from commit 330dc1e5895a8950615a9bbf26154f5387b023b1) --- src/gui/painting/qwindowsurface_s60.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp index 664ad48..dc4e43b 100644 --- a/src/gui/painting/qwindowsurface_s60.cpp +++ b/src/gui/painting/qwindowsurface_s60.cpp @@ -85,7 +85,9 @@ QS60WindowSurface::~QS60WindowSurface() void QS60WindowSurface::beginPaint(const QRegion &rgn) { if (!qt_widget_private(window())->isOpaque) { - QImage image = static_cast(d_ptr->device.data_ptr().data())->image; + QS60PixmapData *pixmapData = static_cast(d_ptr->device.data_ptr().data()); + pixmapData->beginDataAccess(); + QImage &image = pixmapData->image; QRgb *data = reinterpret_cast(image.bits()); const int row_stride = image.bytesPerLine() / 4; @@ -103,6 +105,7 @@ void QS60WindowSurface::beginPaint(const QRegion &rgn) row += row_stride; } } + pixmapData->endDataAccess(); } } -- cgit v0.12 From 5a5a4368fdd984aeaf830e6a3af3584fa84838f7 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 7 Oct 2009 12:16:04 +0200 Subject: Fixed initialization of the system locale on Symbian. Made it thread-safe and actually make sure that we don't initialize the data several times. Reviewed-by: axis (cherry picked from commit 0418d438d1c1acfe2c95ee748c1e7c84a0ee8837) --- src/corelib/tools/qlocale_symbian.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp index 931fbb4..1660e95 100644 --- a/src/corelib/tools/qlocale_symbian.cpp +++ b/src/corelib/tools/qlocale_symbian.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include #include "private/qcore_symbian_p.h" @@ -773,8 +774,8 @@ static QLocale::MeasurementSystem symbianMeasurementSystem() QLocale QSystemLocale::fallbackLocale() const { // load system data before query calls - static bool initDone = false; - if (!initDone) { + static QBasicAtomicInt initDone = Q_BASIC_ATOMIC_INITIALIZER(0); + if (initDone.testAndSetRelaxed(0, 1)) { _s60Locale.LoadSystemSettings(); // Initialize platform version dependent function pointers @@ -794,7 +795,12 @@ QLocale QSystemLocale::fallbackLocale() const ptrGetLongDateFormatSpec = &defaultFormatSpec; if (!ptrGetShortDateFormatSpec) ptrGetShortDateFormatSpec = &defaultFormatSpec; + bool ret = initDone.testAndSetRelease(1, 2); + Q_ASSERT(ret); + Q_UNUSED(ret); } + while(initDone != 2) + QThread::yieldCurrentThread(); TLanguage lang = User::Language(); QString locale = QLatin1String(qt_symbianLocaleName(lang)); -- cgit v0.12 From 4c80a588825f55c3b8f10a90d692b3295b31c941 Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Wed, 7 Oct 2009 14:10:26 +0200 Subject: mediaplayer: crash in settings dialog. The MediaPlayer requires that an output device is available. Task-number: QTBUG-4755 Reviewed-by: Gareth Stockwell (cherry picked from commit 16e21cb0beb0e5f5189048b95d1cb74ae0c0702a) --- src/3rdparty/phonon/mmf/audiooutput.cpp | 26 +++++++++++++++++++------- src/3rdparty/phonon/mmf/audiooutput.h | 13 +++++++++---- src/3rdparty/phonon/mmf/backend.cpp | 18 ++++++++++++++---- 3 files changed, 42 insertions(+), 15 deletions(-) diff --git a/src/3rdparty/phonon/mmf/audiooutput.cpp b/src/3rdparty/phonon/mmf/audiooutput.cpp index 58e2f5e..5a00f60 100644 --- a/src/3rdparty/phonon/mmf/audiooutput.cpp +++ b/src/3rdparty/phonon/mmf/audiooutput.cpp @@ -18,6 +18,8 @@ along with this library. If not, see . #include +#include + #include "audiooutput.h" #include "defs.h" #include "mediaobject.h" @@ -74,16 +76,13 @@ void MMF::AudioOutput::setVolume(qreal volume) int MMF::AudioOutput::outputDevice() const { - return 0; -} - -bool MMF::AudioOutput::setOutputDevice(int) -{ - return true; + return AudioOutputDeviceID; } -bool MMF::AudioOutput::setOutputDevice(const Phonon::AudioOutputDevice &) +bool MMF::AudioOutput::setOutputDevice(int index) { + Q_ASSERT_X(index == AudioOutputDeviceID, Q_FUNC_INFO, + "We only support one output device, with id 0"); return true; } @@ -101,4 +100,17 @@ bool MMF::AudioOutput::activateOnMediaObject(MediaObject *mo) return true; } +QHash MMF::AudioOutput::audioOutputDescription(int index) +{ + if (index == AudioOutputDeviceID) { + QHash retval; + + retval.insert("name", QCoreApplication::translate("Phonon::MMF", "Audio Output")); + retval.insert("description", QCoreApplication::translate("Phonon::MMF", "The audio output device")); + retval.insert("available", true); + + return retval; + } +} + QT_END_NAMESPACE diff --git a/src/3rdparty/phonon/mmf/audiooutput.h b/src/3rdparty/phonon/mmf/audiooutput.h index 0a962a9..d0ba086 100644 --- a/src/3rdparty/phonon/mmf/audiooutput.h +++ b/src/3rdparty/phonon/mmf/audiooutput.h @@ -19,6 +19,8 @@ along with this library. If not, see . #ifndef PHONON_MMF_AUDIOOUTPUT_H #define PHONON_MMF_AUDIOOUTPUT_H +#include + #include "mmf_medianode.h" #include @@ -65,10 +67,12 @@ public: */ virtual bool setOutputDevice(int); - /** - * Has no effect. - */ - virtual bool setOutputDevice(const Phonon::AudioOutputDevice &); + static QHash audioOutputDescription(int index); + + enum Constants + { + AudioOutputDeviceID = 0 + }; protected: virtual bool activateOnMediaObject(MediaObject *mo); @@ -78,6 +82,7 @@ Q_SIGNALS: void audioDeviceFailed(); private: + void setVolumeObserver(VolumeObserver* observer); qreal m_volume; diff --git a/src/3rdparty/phonon/mmf/backend.cpp b/src/3rdparty/phonon/mmf/backend.cpp index be43f46..f542ec9 100644 --- a/src/3rdparty/phonon/mmf/backend.cpp +++ b/src/3rdparty/phonon/mmf/backend.cpp @@ -107,6 +107,12 @@ QList Backend::objectDescriptionIndexes(ObjectDescriptionType type) const { case EffectType: retval.append(EffectFactory::effectIndexes()); + break; + case AudioOutputDeviceType: + // We only have one possible output device, but we need at least + // one. + retval.append(AudioOutput::AudioOutputDeviceID); + break; default: ; } @@ -119,10 +125,14 @@ QHash Backend::objectDescriptionProperties(ObjectDescripti { TRACE_CONTEXT(Backend::connectNodes, EBackend); - if (type == EffectType) - return EffectFactory::audioEffectDescriptions(AbstractAudioEffect::Type(index)); - else - return QHash(); + switch (type) { + case EffectType: + return EffectFactory::audioEffectDescriptions(AbstractAudioEffect::Type(index)); + case AudioOutputDeviceType: + return AudioOutput::audioOutputDescription(index); + default: + return QHash(); + } } bool Backend::startConnectionChange(QSet) -- cgit v0.12 From f48432eb47eb37aa362e4da44888b718cdb3a841 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Wed, 7 Oct 2009 18:29:18 +0200 Subject: Revert "Fix linker error with Symbian/ARM RVCT ABIv2 toolchain" This reverts commit 342fcb287b09d016d482e25482ddd1b36e2983a3. Didn't work on all compilers --- src/3rdparty/phonon/phonon/objectdescriptionmodel.h | 16 ++++++++++++---- src/s60installs/eabi/phononu.def | 20 ++++++++++---------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h index 9af2615..ba3cb42 100644 --- a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h +++ b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h @@ -175,18 +175,26 @@ namespace Phonon * \author Matthias Kretz */ template - class PHONON_EXPORT ObjectDescriptionModel : public QAbstractListModel + class ObjectDescriptionModel : public QAbstractListModel { public: Q_OBJECT_CHECK +/* MinGW 3.4.x gives an ICE when trying to instantiate one of the + ObjectDescriptionModel classes because it can't handle + half exported classes correct. gcc 4.3.x has a fix for this but + we currently there's no official gcc 4.3 on windows available. + Because of this we need this little hack + */ +#if !defined(Q_CC_MINGW) || __MINGW32_MAJOR_VERSION >= 4 /** \internal */ - static const QMetaObject staticMetaObject; + static PHONON_EXPORT const QMetaObject staticMetaObject; /** \internal */ - const QMetaObject *metaObject() const; + PHONON_EXPORT const QMetaObject *metaObject() const; /** \internal */ - void *qt_metacast(const char *_clname); + PHONON_EXPORT void *qt_metacast(const char *_clname); //int qt_metacall(QMetaObject::Call _c, int _id, void **_a); +#endif /** * Returns the number of rows in the model. This value corresponds diff --git a/src/s60installs/eabi/phononu.def b/src/s60installs/eabi/phononu.def index d70942c..d407ba4 100644 --- a/src/s60installs/eabi/phononu.def +++ b/src/s60installs/eabi/phononu.def @@ -495,11 +495,11 @@ EXPORTS _ZTIN6Phonon19AbstractVideoOutputE @ 494 NONAME _ZTIN6Phonon19BackendCapabilities8NotifierE @ 495 NONAME ABSENT _ZTIN6Phonon22MediaControllerPrivateE @ 496 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 497 NONAME - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 498 NONAME - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 499 NONAME - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 500 NONAME - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 501 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 497 NONAME ABSENT + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 498 NONAME ABSENT + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 499 NONAME ABSENT + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 500 NONAME ABSENT + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 501 NONAME ABSENT _ZTIN6Phonon24VolumeFaderEffectPrivateE @ 502 NONAME ABSENT _ZTIN6Phonon26AbstractAudioOutputPrivateE @ 503 NONAME ABSENT _ZTIN6Phonon26AbstractMediaStreamPrivateE @ 504 NONAME @@ -532,11 +532,11 @@ EXPORTS _ZTVN6Phonon19AbstractVideoOutputE @ 531 NONAME _ZTVN6Phonon19BackendCapabilities8NotifierE @ 532 NONAME ABSENT _ZTVN6Phonon22MediaControllerPrivateE @ 533 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 534 NONAME - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 535 NONAME - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 536 NONAME - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 537 NONAME - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 538 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 534 NONAME ABSENT + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 535 NONAME ABSENT + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 536 NONAME ABSENT + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 537 NONAME ABSENT + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 538 NONAME ABSENT _ZTVN6Phonon24VolumeFaderEffectPrivateE @ 539 NONAME ABSENT _ZTVN6Phonon26AbstractAudioOutputPrivateE @ 540 NONAME ABSENT _ZTVN6Phonon26AbstractMediaStreamPrivateE @ 541 NONAME -- cgit v0.12 From f85ad9872913887d0e12033517ddc989dec68005 Mon Sep 17 00:00:00 2001 From: Iain Date: Wed, 7 Oct 2009 23:28:24 +0200 Subject: Updates to EABI DEF files for Symbian OS Reviewed-by: TrustMe --- src/s60installs/eabi/QtGuiu.def | 38 ++++++++++++++++++++++++++++++++++++-- src/s60installs/eabi/QtScriptu.def | 1 + 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 581d3bc..09ea6ab 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -10640,7 +10640,7 @@ EXPORTS _ZTI17QTextFramePrivate @ 10639 NONAME ABSENT _ZTI17QTextImageHandler @ 10640 NONAME ABSENT _ZTI17QTextTablePrivate @ 10641 NONAME ABSENT - _ZTI17QToolBarExtension @ 10642 NONAME ABSENT + _ZTI17QToolBarExtension @ 10642 NONAME _ZTI17QToolBarSeparator @ 10643 NONAME ABSENT _ZTI17QUpdateLaterEvent @ 10644 NONAME ABSENT _ZTI17QWhatsThisPrivate @ 10645 NONAME ABSENT @@ -11051,7 +11051,7 @@ EXPORTS _ZTV17QTextFramePrivate @ 11050 NONAME ABSENT _ZTV17QTextImageHandler @ 11051 NONAME ABSENT _ZTV17QTextTablePrivate @ 11052 NONAME ABSENT - _ZTV17QToolBarExtension @ 11053 NONAME ABSENT + _ZTV17QToolBarExtension @ 11053 NONAME _ZTV17QToolBarSeparator @ 11054 NONAME ABSENT _ZTV17QUpdateLaterEvent @ 11055 NONAME ABSENT _ZTV17QWhatsThisPrivate @ 11056 NONAME ABSENT @@ -13102,4 +13102,38 @@ EXPORTS _ZTI28QGraphicsAnchorLayoutPrivate @ 13101 NONAME _ZTV20QGraphicsBloomEffect @ 13102 NONAME _ZTV28QGraphicsAnchorLayoutPrivate @ 13103 NONAME + _ZN17QToolBarExtension10paintEventEP11QPaintEvent @ 13104 NONAME + _ZN17QToolBarExtension11qt_metacallEN11QMetaObject4CallEiPPv @ 13105 NONAME + _ZN17QToolBarExtension11qt_metacastEPKc @ 13106 NONAME + _ZN17QToolBarExtension14setOrientationEN2Qt11OrientationE @ 13107 NONAME + _ZN17QToolBarExtension16staticMetaObjectE @ 13108 NONAME DATA 16 + _ZN17QToolBarExtension19getStaticMetaObjectEv @ 13109 NONAME + _ZN17QToolBarExtensionC1EP7QWidget @ 13110 NONAME + _ZN17QToolBarExtensionC2EP7QWidget @ 13111 NONAME + _ZN18QGuiPlatformPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 13112 NONAME + _ZN18QGuiPlatformPlugin11qt_metacastEPKc @ 13113 NONAME + _ZN18QGuiPlatformPlugin12platformHintENS_12PlatformHintE @ 13114 NONAME + _ZN18QGuiPlatformPlugin14fileSystemIconERK9QFileInfo @ 13115 NONAME + _ZN18QGuiPlatformPlugin16staticMetaObjectE @ 13116 NONAME DATA 16 + _ZN18QGuiPlatformPlugin19getStaticMetaObjectEv @ 13117 NONAME + _ZN18QGuiPlatformPlugin19systemIconThemeNameEv @ 13118 NONAME + _ZN18QGuiPlatformPlugin20iconThemeSearchPathsEv @ 13119 NONAME + _ZN18QGuiPlatformPlugin7paletteEv @ 13120 NONAME + _ZN18QGuiPlatformPlugin9styleNameEv @ 13121 NONAME + _ZN18QGuiPlatformPluginC1EP7QObject @ 13122 NONAME + _ZN18QGuiPlatformPluginC2EP7QObject @ 13123 NONAME + _ZN18QGuiPlatformPluginD0Ev @ 13124 NONAME + _ZN18QGuiPlatformPluginD1Ev @ 13125 NONAME + _ZN18QGuiPlatformPluginD2Ev @ 13126 NONAME + _ZN28QGraphicsAnchorLayoutPrivate14solveExpandingE5QListIP18QSimplexConstraintE @ 13127 NONAME + _ZN28QGraphicsAnchorLayoutPrivate21identifyNonFloatItemsE4QSetIP10AnchorDataENS_11OrientationE @ 13128 NONAME + _ZN28QGraphicsAnchorLayoutPrivate28identifyNonFloatItems_helperEPK10AnchorDataNS_11OrientationE @ 13129 NONAME + _ZNK17QToolBarExtension10metaObjectEv @ 13130 NONAME + _ZNK17QToolBarExtension8sizeHintEv @ 13131 NONAME + _ZNK18QGuiPlatformPlugin10metaObjectEv @ 13132 NONAME + _ZTI18QGuiPlatformPlugin @ 13133 NONAME + _ZTI27QGuiPlatformPluginInterface @ 13134 NONAME + _ZTV18QGuiPlatformPlugin @ 13135 NONAME + _ZThn8_N18QGuiPlatformPluginD0Ev @ 13136 NONAME + _ZThn8_N18QGuiPlatformPluginD1Ev @ 13137 NONAME diff --git a/src/s60installs/eabi/QtScriptu.def b/src/s60installs/eabi/QtScriptu.def index cca0a2a..1205c04 100644 --- a/src/s60installs/eabi/QtScriptu.def +++ b/src/s60installs/eabi/QtScriptu.def @@ -600,4 +600,5 @@ EXPORTS _ZN25QScriptEngineAgentPrivate18didReachBreakpointERKN5QTJSC17DebuggerCallFrameEiii @ 599 NONAME _ZN25QScriptEngineAgentPrivate6attachEv @ 600 NONAME _ZN25QScriptEngineAgentPrivate6detachEv @ 601 NONAME + _Z5qHashRK13QScriptString @ 602 NONAME -- cgit v0.12 From c3cfba7295c990d8135e1dd70b8cdbefd25615ab Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 8 Oct 2009 14:02:09 +1000 Subject: Stub out flush() in the PowerVR GL window surface class When QGLWidget was used as a viewport for QGraphicsView on PowerVR/MBX systems, it was double-flushing every frame because the window surface flush() implementation was still trying to do a raster blit after painting. This change suppresses the raster blit, leaving it up to the GL swapBuffers() call to get the painted contents onto the screen. Reviewed-by: Sarah Smith --- .../powervr/pvreglscreen/pvreglwindowsurface.cpp | 21 +++++++++++++-------- .../powervr/pvreglscreen/pvreglwindowsurface.h | 2 ++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp index afee77e..09c0ace 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp @@ -149,6 +149,18 @@ void PvrEglWindowSurface::setPermanentState(const QByteArray &state) Q_UNUSED(state); } +void PvrEglWindowSurface::flush + (QWidget *widget, const QRegion ®ion, const QPoint &offset) +{ + // The GL paint engine is responsible for the swapBuffers() call. + // If we were to call the base class's implementation of flush() + // then it would fetch the image() and manually blit it to the + // screeen instead of using the fast PVR2D blit. + Q_UNUSED(widget); + Q_UNUSED(region); + Q_UNUSED(offset); +} + QImage PvrEglWindowSurface::image() const { if (drawable) { @@ -165,14 +177,7 @@ QImage PvrEglWindowSurface::image() const QPaintDevice *PvrEglWindowSurface::paintDevice() { - QGLWidget *glWidget = qobject_cast(window()); - if (glWidget) - return glWidget; - - // Should be a QGLWidget, but if not return a dummy paint device. - if (!pdevice) - pdevice = new QImage(50, 50, screen->pixelFormat()); - return pdevice; + return widget; } void PvrEglWindowSurface::setDirectRegion(const QRegion &r, int id) diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h index 80fc8f8..0da3653 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h @@ -65,6 +65,8 @@ public: QByteArray permanentState() const; void setPermanentState(const QByteArray &state); + void flush(QWidget *widget, const QRegion ®ion, const QPoint &offset); + QImage image() const; QPaintDevice *paintDevice(); -- cgit v0.12 From 4a99901283d44be4aaa5a5c221435099c8c8849c Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Thu, 8 Oct 2009 09:06:01 +0300 Subject: Fix "Warning: #381-D: extra ";" ignored" reported by RVCT Reviewed-by: TrustMe --- src/script/api/qscriptvalue_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/script/api/qscriptvalue_p.h b/src/script/api/qscriptvalue_p.h index 351d616..77b5084 100644 --- a/src/script/api/qscriptvalue_p.h +++ b/src/script/api/qscriptvalue_p.h @@ -66,7 +66,7 @@ class QScriptEnginePrivate; class QScriptValue; class QScriptValuePrivate { - Q_DISABLE_COPY(QScriptValuePrivate); + Q_DISABLE_COPY(QScriptValuePrivate) public: inline void* operator new(size_t, QScriptEnginePrivate*); inline void operator delete(void*); -- cgit v0.12 From 8826cc56e2989964d56ca9952e6ab639f1652cfd Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Thu, 8 Oct 2009 09:23:46 +0300 Subject: Fix qsound autotest build break in Symbian. Reviewed-by: TrustMe --- tests/auto/qsound/qsound.pro | 2 +- tests/auto/qsound/tst_qsound.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/auto/qsound/qsound.pro b/tests/auto/qsound/qsound.pro index c48d50d..383a085 100644 --- a/tests/auto/qsound/qsound.pro +++ b/tests/auto/qsound/qsound.pro @@ -4,7 +4,7 @@ SOURCES += tst_qsound.cpp wince*|symbian*: { deploy.sources += 4.wav DEPLOYMENT = deploy - DEFINES += SRCDIR=\\\"\\\" + !symbian:DEFINES += SRCDIR=\\\"\\\" } else { DEFINES += SRCDIR=\\\"$$PWD/\\\" } diff --git a/tests/auto/qsound/tst_qsound.cpp b/tests/auto/qsound/tst_qsound.cpp index dd5f2ce..fdbf6a2 100644 --- a/tests/auto/qsound/tst_qsound.cpp +++ b/tests/auto/qsound/tst_qsound.cpp @@ -43,6 +43,10 @@ #include #include +#if defined(Q_OS_SYMBIAN) +#define SRCDIR "" +#endif + class tst_QSound : public QObject { Q_OBJECT -- cgit v0.12 From f831c60a7ae82511f9a42c1596fe7ad3fe09b97f Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Thu, 8 Oct 2009 09:29:19 +0300 Subject: Fix for "Braces mismatch \tests\auto\qsqlrecord\qsqlrecord.pro:16" Reviewed-by: Miikka Heikkinen --- tests/auto/qsqlrecord/qsqlrecord.pro | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/auto/qsqlrecord/qsqlrecord.pro b/tests/auto/qsqlrecord/qsqlrecord.pro index 7a72075..39a800e 100644 --- a/tests/auto/qsqlrecord/qsqlrecord.pro +++ b/tests/auto/qsqlrecord/qsqlrecord.pro @@ -9,11 +9,11 @@ symbian { DEPLOYMENT += sqlite } } + + TARGET.EPOCSTACKSIZE=50000 + TARGET.EPOCHEAPSIZE=50000 5000000 } -TARGET.EPOCSTACKSIZE=50000 -TARGET.EPOCHEAPSIZE=50000 5000000 -} QT += sql -- cgit v0.12 From 0c64fc77e95180171fc46d89d08bea3f2efc6bcc Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Thu, 8 Oct 2009 09:32:52 +0300 Subject: Fix for qfiledialog autotest build break in Symbian. The error was: "*** No rule to make target `\Qt\tests\auto\kernel\ qguiplatformplugin_p.h_, needed by ..." This happens since Symbian does not use same include semantics. Reviewed-by: Miikka Heikkinen --- src/gui/dialogs/qfiledialog_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/dialogs/qfiledialog_p.h b/src/gui/dialogs/qfiledialog_p.h index 44289d9..32cd397 100644 --- a/src/gui/dialogs/qfiledialog_p.h +++ b/src/gui/dialogs/qfiledialog_p.h @@ -76,7 +76,7 @@ #include #include "qsidebar_p.h" #include "qfscompleter_p.h" -#include "../kernel/qguiplatformplugin_p.h" +#include "private/qguiplatformplugin_p.h" #if defined (Q_OS_UNIX) -- cgit v0.12 From c15b370c9db16fdbfd9e7bec89ee9bf8c1110827 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 8 Oct 2009 09:15:20 +0200 Subject: Ensure that qmake doesn't lose the error code when processing subdirs When processing a project in a subdirs template failed for whatever reason then qmake would lose the result of that and would return an error code of 0 if the subdirs project file itself was processed fine. So now it ensures that any errors arising from processing a project referenced in a subdirs project file are not lost so that the error code returned from qmake will indicate an error actually occured. Task-number: QTBUG-4065 Reviewed-by: mariusSO --- qmake/generators/metamakefile.cpp | 14 ++++++++------ qmake/generators/metamakefile.h | 2 +- qmake/main.cpp | 5 ++++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp index 69dd627..3acb2dd 100644 --- a/qmake/generators/metamakefile.cpp +++ b/qmake/generators/metamakefile.cpp @@ -291,7 +291,7 @@ SubdirsMetaMakefileGenerator::init() if(init_flag) return false; init_flag = true; - + bool hasError = false; if(Option::recursive) { QString old_output_dir = Option::output_dir; QString old_output = Option::output.fileName(); @@ -336,7 +336,7 @@ SubdirsMetaMakefileGenerator::init() } qmake_setpwd(sub->input_dir); Option::output_dir = sub->output_dir; - sub_proj->read(subdir.fileName()); + hasError |= !sub_proj->read(subdir.fileName()); if(!sub_proj->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) { fprintf(stderr, "Project file(%s) not recursed because all requirements not met:\n\t%s\n", subdir.fileName().toLatin1().constData(), @@ -351,7 +351,7 @@ SubdirsMetaMakefileGenerator::init() } else { const QString output_name = Option::output.fileName(); Option::output.setFileName(sub->output_file); - sub->makefile->write(sub->output_dir); + hasError |= !sub->makefile->write(sub->output_dir); delete sub; qmakeClearCaches(); sub = 0; @@ -376,7 +376,7 @@ SubdirsMetaMakefileGenerator::init() self->makefile->init(); subs.append(self); - return true; + return !hasError; } bool @@ -745,7 +745,7 @@ MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO) } MetaMakefileGenerator * -MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op) +MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op, bool *success) { MetaMakefileGenerator *ret = 0; if ((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE || @@ -758,7 +758,9 @@ MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &na } if (!ret) ret = new BuildsMetaMakefileGenerator(proj, name, op); - ret->init(); + bool res = ret->init(); + if (success) + *success = res; return ret; } diff --git a/qmake/generators/metamakefile.h b/qmake/generators/metamakefile.h index e69304a..f74f4a2 100644 --- a/qmake/generators/metamakefile.h +++ b/qmake/generators/metamakefile.h @@ -62,7 +62,7 @@ public: virtual ~MetaMakefileGenerator(); - static MetaMakefileGenerator *createMetaGenerator(QMakeProject *proj, const QString &name, bool op=true); + static MetaMakefileGenerator *createMetaGenerator(QMakeProject *proj, const QString &name, bool op=true, bool *success = 0); static MakefileGenerator *createMakefileGenerator(QMakeProject *proj, bool noIO = false); inline QMakeProject *projectFile() const { return project; } diff --git a/qmake/main.cpp b/qmake/main.cpp index 73fdda9..8117a4c 100644 --- a/qmake/main.cpp +++ b/qmake/main.cpp @@ -168,7 +168,10 @@ int runQMake(int argc, char **argv) continue; } - MetaMakefileGenerator *mkfile = MetaMakefileGenerator::createMetaGenerator(&project, QString(), false); + bool success = true; + MetaMakefileGenerator *mkfile = MetaMakefileGenerator::createMetaGenerator(&project, QString(), false, &success); + if (!success) + exit_val = 3; if(mkfile && !mkfile->write(oldpwd)) { if(Option::qmake_mode == Option::QMAKE_GENERATE_PROJECT) fprintf(stderr, "Unable to generate project file.\n"); -- cgit v0.12 From 0f290238385f3e272e2b8afcb89a7b64764d72be Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 8 Oct 2009 09:29:41 +0200 Subject: Fix Qt Designer startup warnings about Qt::DropAction properties Add Q_ENUMS/Q_FLAGS accordingly. Reviewed-by: Olivier Goffart --- src/corelib/global/qnamespace.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 9d76dcc..4234a7e 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -71,8 +71,8 @@ Qt { Q_ENUMS(ArrowType ToolButtonStyle PenStyle PenCapStyle PenJoinStyle BrushStyle) Q_ENUMS(FillRule MaskMode BGMode ClipOperation SizeMode) Q_ENUMS(BackgroundMode) // Qt3 - Q_ENUMS(Axis Corner LayoutDirection SizeHint Orientation) - Q_FLAGS(Alignment Orientations) + Q_ENUMS(Axis Corner LayoutDirection SizeHint Orientation DropAction) + Q_FLAGS(Alignment Orientations DropActions) Q_FLAGS(DockWidgetAreas ToolBarAreas) Q_ENUMS(DockWidgetArea ToolBarArea) Q_ENUMS(TextFormat) -- cgit v0.12 From 902ee9839bf6d03f5e1ff3f45fb1251d50d752be Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 8 Oct 2009 10:02:03 +0200 Subject: Let the platform plugin decide on the click policy on itemview Reviewed-by: Jens Bache-Wiig --- src/gui/kernel/qguiplatformplugin_p.h | 2 +- src/gui/styles/qcommonstyle.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qguiplatformplugin_p.h b/src/gui/kernel/qguiplatformplugin_p.h index f7d4b92..2a70ee7 100644 --- a/src/gui/kernel/qguiplatformplugin_p.h +++ b/src/gui/kernel/qguiplatformplugin_p.h @@ -94,7 +94,7 @@ class Q_GUI_EXPORT QGuiPlatformPlugin : public QObject, public QGuiPlatformPlugi virtual QStringList iconThemeSearchPaths(); virtual QIcon fileSystemIcon(const QFileInfo &); - enum PlatformHint { PH_ToolButtonStyle, PH_ToolBarIconSize }; + enum PlatformHint { PH_ToolButtonStyle, PH_ToolBarIconSize, PH_ItemView_ActivateItemOnSingleClick }; virtual int platformHint(PlatformHint hint); diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp index 612258a..5886512 100644 --- a/src/gui/styles/qcommonstyle.cpp +++ b/src/gui/styles/qcommonstyle.cpp @@ -5058,7 +5058,7 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget break; case SH_ItemView_ActivateItemOnSingleClick: - ret = false; + ret = qt_guiPlatformPlugin()->platformHint(QGuiPlatformPlugin::PH_ItemView_ActivateItemOnSingleClick); break; case SH_TitleBar_ModifyNotification: -- cgit v0.12 From c851e1e6cd481e69585fab16c384ec5ab7cc7900 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 8 Oct 2009 10:05:43 +0200 Subject: Remove handling of arrow key on QDialog This code was kind of dead anyway because - On X11 and Windows, most of the widgets have the StrongFocus FocusPolicy - On Mac, e->modifiers always contains KeypadModifier for arrows, so the code is never reached on mac with real applications Morever, QAbstractButton already have a more complex handling of arrow keys. And the code breaks the QButtonGroup arrowKeyNavigation test on Mac (as when the test system simulates events, the KeyPadModifier is not set) Reviewed-by: mbm Reviewed-by: Paul --- src/gui/dialogs/qdialog.cpp | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/gui/dialogs/qdialog.cpp b/src/gui/dialogs/qdialog.cpp index 7df49fa..ed2d676 100644 --- a/src/gui/dialogs/qdialog.cpp +++ b/src/gui/dialogs/qdialog.cpp @@ -673,28 +673,6 @@ void QDialog::keyPressEvent(QKeyEvent *e) case Qt::Key_Escape: reject(); break; - case Qt::Key_Up: - case Qt::Key_Left: - if (focusWidget() && - (focusWidget()->focusPolicy() == Qt::StrongFocus || - focusWidget()->focusPolicy() == Qt::WheelFocus)) { - e->ignore(); - break; - } - // call ours, since c++ blocks us from calling the one - // belonging to focusWidget(). - focusNextPrevChild(false); - break; - case Qt::Key_Down: - case Qt::Key_Right: - if (focusWidget() && - (focusWidget()->focusPolicy() == Qt::StrongFocus || - focusWidget()->focusPolicy() == Qt::WheelFocus)) { - e->ignore(); - break; - } - focusNextPrevChild(true); - break; default: e->ignore(); return; -- cgit v0.12 From cdf2e8162939257c6c715659db58854457f2811f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Meril=C3=A4?= Date: Thu, 8 Oct 2009 12:19:35 +0300 Subject: DialogButtonBox is shown together with softkeys (QTBUG-4739) This fixes issue that both DialogButtonBox and softkeys are visible (e.g. in Ftp example) at the same time. Reason is that the previous implementation did the visiblitity setting when buttons were created. Unfortunately buttons can be created without parent and let layout manager to find parent them for you - so dialog as parent (=hide dialogbuttonbox as softkeys are in use) check failed. Now similar check is done before showing the widget - it is layoutted here, so it has parent as well. As a bonus, the event handling is already looking for dialog parent, so we can avoid doing another for-loop. Task-number: QTBUG-4739 --- src/gui/widgets/qdialogbuttonbox.cpp | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/src/gui/widgets/qdialogbuttonbox.cpp b/src/gui/widgets/qdialogbuttonbox.cpp index 6cc720d..280ca63 100644 --- a/src/gui/widgets/qdialogbuttonbox.cpp +++ b/src/gui/widgets/qdialogbuttonbox.cpp @@ -468,18 +468,6 @@ void QDialogButtonBoxPrivate::layoutButtons() if (center) buttonLayout->addStretch(); - -#ifdef QT_SOFTKEYS_ENABLED - QWidget *dialog = 0; - QWidget *p = q; - while (p && !p->isWindow()) { - p = p->parentWidget(); - if (dialog = qobject_cast(p)) - break; - } - if (dialog) - q->setFixedSize(0, 0); -#endif } QPushButton *QDialogButtonBoxPrivate::createButton(QDialogButtonBox::StandardButton sbutton, @@ -1196,10 +1184,12 @@ bool QDialogButtonBox::event(QEvent *event) if (!hasDefault && firstAcceptButton) firstAcceptButton->setDefault(true); #ifdef QT_SOFTKEYS_ENABLED - if (dialog) + if (dialog) { + setFixedSize(0,0); dialog->addActions(d->softKeyActions.values()); - else + } else { addActions(d->softKeyActions.values()); + } #endif }else if (event->type() == QEvent::LanguageChange) { d->retranslateStrings(); -- cgit v0.12 From 2f7d1318d2dc63322a468d8c301ae718eaba0d03 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Thu, 8 Oct 2009 08:06:02 +0300 Subject: Workaround for OpenC daylight saving cache issue when using localtime_r. OpenC incorrectly caches DST information between localtime_r calls, i.e. if previous call to localtime_r has been called for DST affected date, also the second call will be affected by DST even the date is such that DST should not be applied. The workaround is to call mktime with non-DST affected date before calling localtime_r. mktime call resets the OpenC internal DST cache to right value and localtime_r will return correct values. This commit can be reverted once Open C bug 9525 has been reverted. AutoTest: Fixes tst_QDateTime::totime_t Reviewed-by: Aleksandar Sasha Babic --- src/corelib/tools/qdatetime.cpp | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 1b559cf..1277623 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -54,7 +54,6 @@ #ifndef Q_WS_WIN #include #endif - #include #if defined(Q_OS_WINCE) #include "qfunctions_wince.h" @@ -69,6 +68,31 @@ # define QDTPDEBUGN if (false) qDebug #endif +#if defined(Q_OS_SYMBIAN) + // Workaround for OpenC bug. + + // OpenC incorrectly caches DST information between localtime_r + // calls, i.e. if previous call to localtime_r has been called for DST + // affected date, also the second call will be affected by DST even + // the date is such that DST should not be applied. + + // The workaround is to call mktime with non-DST affected date before + // calling localtime_r. mktime call resets the OpenC internal DST cache + // to right value and localtime_r will return correct values. +#define FIX_OPENC_DSTCACHE \ + tm localTM; \ + localTM.tm_sec = 0; \ + localTM.tm_min = 0; \ + localTM.tm_hour = 12; \ + localTM.tm_mday = 1; \ + localTM.tm_mon = 1; \ + localTM.tm_year = 2002 - 1900; \ + localTM.tm_isdst = -1; \ + time_t temp = mktime(&localTM); +#else +#define FIX_OPENC_DSTCACHE +#endif + #if defined(Q_WS_MAC) #include #endif @@ -1138,6 +1162,7 @@ QDate QDate::currentDate() // use the reentrant version of localtime() where available tzset(); tm res; + FIX_OPENC_DSTCACHE t = localtime_r(<ime, &res); #else t = localtime(<ime); @@ -1834,12 +1859,13 @@ QTime QTime::currentTime() // use the reentrant version of localtime() where available tzset(); tm res; + FIX_OPENC_DSTCACHE t = localtime_r(<ime, &res); #else t = localtime(<ime); #endif Q_CHECK_PTR(t); - + ct.mds = MSECS_PER_HOUR * t->tm_hour + MSECS_PER_MIN * t->tm_min + 1000 * t->tm_sec + tv.tv_usec / 1000; #else @@ -2887,6 +2913,7 @@ QDateTime QDateTime::currentDateTime() // use the reentrant version of localtime() where available tzset(); tm res; + FIX_OPENC_DSTCACHE t = localtime_r(<ime, &res); #else t = localtime(<ime); @@ -3704,6 +3731,7 @@ static QDateTimePrivate::Spec utcToLocal(QDate &date, QTime &time) // use the reentrant version of localtime() where available tzset(); tm res; + FIX_OPENC_DSTCACHE brokenDown = localtime_r(&secsSince1Jan1970UTC, &res); #elif defined(_MSC_VER) && _MSC_VER >= 1400 tm res; -- cgit v0.12 From 67ba51dd0d9d7292ee5f1d3a484330fde84a7248 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Thu, 8 Oct 2009 12:40:36 +0300 Subject: Fixed trailing whitespaces for f831c60a. Reviewed-by: TrustMe --- tests/auto/qsqlrecord/qsqlrecord.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/qsqlrecord/qsqlrecord.pro b/tests/auto/qsqlrecord/qsqlrecord.pro index 39a800e..f36f076 100644 --- a/tests/auto/qsqlrecord/qsqlrecord.pro +++ b/tests/auto/qsqlrecord/qsqlrecord.pro @@ -9,9 +9,9 @@ symbian { DEPLOYMENT += sqlite } } - + TARGET.EPOCSTACKSIZE=50000 - TARGET.EPOCHEAPSIZE=50000 5000000 + TARGET.EPOCHEAPSIZE=50000 5000000 } QT += sql -- cgit v0.12 From 013503f8f1a29f12789a8f88bd095597170ff76b Mon Sep 17 00:00:00 2001 From: axis Date: Thu, 8 Oct 2009 10:34:14 +0200 Subject: Prevented input composition in password fields on X11 and Windows. This restores the behavior in 4.5. Task: QT-2257 RevBy: Simon Hausmann --- src/gui/inputmethod/qwininputcontext_win.cpp | 2 +- src/gui/inputmethod/qximinputcontext_x11.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/inputmethod/qwininputcontext_win.cpp b/src/gui/inputmethod/qwininputcontext_win.cpp index 4a160d7..e9ab870 100644 --- a/src/gui/inputmethod/qwininputcontext_win.cpp +++ b/src/gui/inputmethod/qwininputcontext_win.cpp @@ -701,7 +701,7 @@ void QWinInputContext::updateImeStatus(QWidget *w, bool hasFocus) if (!focusProxyWidget) focusProxyWidget = w; bool e = w->testAttribute(Qt::WA_InputMethodEnabled) && w->isEnabled() - && !(focusProxyWidget->inputMethodHints() & Qt::ImhExclusiveInputMask); + && !(focusProxyWidget->inputMethodHints() & (Qt::ImhExclusiveInputMask | Qt::ImhHiddenText)); bool hasIme = e && hasFocus; #ifdef Q_IME_DEBUG qDebug("%s HasFocus = %d hasIme = %d e = %d ", w->className(), hasFocus, hasIme, e); diff --git a/src/gui/inputmethod/qximinputcontext_x11.cpp b/src/gui/inputmethod/qximinputcontext_x11.cpp index bee3ce8..b46b162 100644 --- a/src/gui/inputmethod/qximinputcontext_x11.cpp +++ b/src/gui/inputmethod/qximinputcontext_x11.cpp @@ -612,7 +612,7 @@ void QXIMInputContext::setFocusWidget(QWidget *w) QInputContext::setFocusWidget(w); - if (!w || w->inputMethodHints() & Qt::ImhExclusiveInputMask) + if (!w || w->inputMethodHints() & (Qt::ImhExclusiveInputMask | Qt::ImhHiddenText)) return; ICData *data = ximData.value(w->effectiveWinId()); -- cgit v0.12 From 5987274b8ce244d0020359d113800e7305367c68 Mon Sep 17 00:00:00 2001 From: Jani Hautakangas Date: Thu, 8 Oct 2009 13:06:24 +0300 Subject: Fix to Symbian accelerated scrolling problem. The reason for scrolling bug was that CFbsBitmapDevice wasn't informed if CFbsBitmap was resized. However, it seems that scroll implementation in QRasterPixmapData is faster that CFbsBitGc->CopyRect so this is also a patch which changes QS60PixmapData's scroll function to call QRasterPixmapData::scroll(). Reviewed-by: Janne Koskinen --- src/gui/image/qpixmap_s60.cpp | 45 ++++++++++++++++++------------------------- src/gui/image/qpixmap_s60_p.h | 4 ++-- 2 files changed, 21 insertions(+), 28 deletions(-) diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp index 37b6438..554c0f3 100644 --- a/src/gui/image/qpixmap_s60.cpp +++ b/src/gui/image/qpixmap_s60.cpp @@ -229,24 +229,15 @@ static CFbsBitmap* uncompress(CFbsBitmap* bitmap) lock.relock(); - CBitmapContext *bitmapContext = 0; CFbsBitmapDevice* bitmapDevice = 0; + CFbsBitGc *bitmapGc = 0; QT_TRAP_THROWING(bitmapDevice = CFbsBitmapDevice::NewL(uncompressed)); - TInt err = bitmapDevice->CreateBitmapContext(bitmapContext); - if (err != KErrNone) { - delete bitmap; - delete bitmapDevice; - bitmap = 0; - bitmapDevice = 0; - - lock.relock(); + QT_TRAP_THROWING(bitmapGc = CFbsBitGc::NewL()); + bitmapGc->Activate(bitmapDevice); - return bitmap; - } + bitmapGc->DrawBitmap(TPoint(), bitmap); - bitmapContext->DrawBitmap(TPoint(), bitmap); - - delete bitmapContext; + delete bitmapGc; delete bitmapDevice; return uncompressed; @@ -355,7 +346,7 @@ QS60PixmapData::QS60PixmapData(PixelType type) : QRasterPixmapData(type), symbianBitmapDataAccess(new QSymbianBitmapDataAccess), cfbsBitmap(0), bitmapDevice(0), - bitmapContext(0), + bitmapGc(0), pengine(0), bytes(0) { @@ -365,6 +356,7 @@ QS60PixmapData::QS60PixmapData(PixelType type) : QRasterPixmapData(type), QS60PixmapData::~QS60PixmapData() { release(); + delete symbianBitmapDataAccess; } void QS60PixmapData::resize(int width, int height) @@ -391,6 +383,8 @@ void QS60PixmapData::resize(int width, int height) if(cfbsBitmap->SizeInPixels() != newSize) { cfbsBitmap->Resize(TSize(width, height)); + bitmapDevice->Resize(TSize(width, height)); + bitmapGc->Resized(); if(pengine) { delete pengine; pengine = 0; @@ -404,12 +398,9 @@ void QS60PixmapData::resize(int width, int height) bool QS60PixmapData::initSymbianBitmapContext() { QT_TRAP_THROWING(bitmapDevice = CFbsBitmapDevice::NewL(cfbsBitmap)); - TInt err = bitmapDevice->CreateBitmapContext(bitmapContext); - if (err != KErrNone) { - delete bitmapDevice; - bitmapDevice = 0; - return false; - } + QT_TRAP_THROWING(bitmapGc = CFbsBitGc::NewL()); + bitmapGc->Activate(bitmapDevice); + return true; } @@ -417,7 +408,7 @@ void QS60PixmapData::release() { if (cfbsBitmap) { QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock); - delete bitmapContext; + delete bitmapGc; delete bitmapDevice; delete cfbsBitmap; lock.relock(); @@ -426,7 +417,7 @@ void QS60PixmapData::release() delete pengine; image = QImage(); cfbsBitmap = 0; - bitmapContext = 0; + bitmapGc = 0; bitmapDevice = 0; pengine = 0; bytes = 0; @@ -559,13 +550,15 @@ void QS60PixmapData::copy(const QPixmapData *data, const QRect &rect) resize(rect.width(), rect.height()); cfbsBitmap->SetDisplayMode(s60Data->cfbsBitmap->DisplayMode()); - bitmapContext->BitBlt(TPoint(0, 0), s60Data->cfbsBitmap, qt_QRect2TRect(rect)); + bitmapGc->BitBlt(TPoint(0, 0), s60Data->cfbsBitmap, qt_QRect2TRect(rect)); } bool QS60PixmapData::scroll(int dx, int dy, const QRect &rect) { - bitmapContext->CopyRect(TPoint(dx, dy), qt_QRect2TRect(rect)); - return true; + beginDataAccess(); + bool res = QRasterPixmapData::scroll(dx, dy, rect); + endDataAccess(); + return res; } int QS60PixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const diff --git a/src/gui/image/qpixmap_s60_p.h b/src/gui/image/qpixmap_s60_p.h index 4498c05..b23961a 100644 --- a/src/gui/image/qpixmap_s60_p.h +++ b/src/gui/image/qpixmap_s60_p.h @@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE class CFbsBitmap; class CFbsBitmapDevice; -class CBitmapContext; +class CFbsBitGc; class QSymbianBitmapDataAccess; @@ -114,7 +114,7 @@ private: CFbsBitmap *cfbsBitmap; CFbsBitmapDevice *bitmapDevice; - CBitmapContext *bitmapContext; + CFbsBitGc *bitmapGc; QPaintEngine *pengine; uchar* bytes; -- cgit v0.12 From dac817b8d3bbcfcad34295f134dfafbf0a26c23f Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Thu, 8 Oct 2009 12:26:29 +0200 Subject: Changing S60 to Symbian in the Docs Changing names to Symbian platform Task-number: QT-2268 Rev-by: Espen Riskedal --- doc/src/development/qmake-manual.qdoc | 87 ++++++++++++++++--------------- doc/src/getting-started/installation.qdoc | 48 +++++++++-------- doc/src/howtos/appicon.qdoc | 4 +- doc/src/platforms/qt-embedded.qdoc | 7 +-- doc/src/platforms/s60-introduction.qdoc | 27 +++++----- 5 files changed, 91 insertions(+), 82 deletions(-) diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc index f2cae5b..87132cc 100644 --- a/doc/src/development/qmake-manual.qdoc +++ b/doc/src/development/qmake-manual.qdoc @@ -920,7 +920,7 @@ {deployment guide for Windows}. - \section1 S60 + \section1 Symbian platform Features specific to this platform include handling of static data, capabilities, stack and heap size, compiler specific options, and unique @@ -940,7 +940,7 @@ \section2 Stack and heap size - Symbian uses predefined sizes for stacks and heaps. If an + The Symbian platform uses predefined sizes for stacks and heaps. If an application exceeds either limit, it may crash or fail to complete its task. Crashes that seem to have no reason can often be traced back to insufficient stack and/or heap sizes. @@ -1095,7 +1095,7 @@ \target BLD_INF_RULES \section1 BLD_INF_RULES - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Generic \c bld.inf file content can be specified with \c BLD_INF_RULES variables. The section of \c bld.inf file where each rule goes is appended to @@ -1288,7 +1288,7 @@ The build process for bundles is also influenced by the contents of the \l{#QMAKE_BUNDLE_DATA}{QMAKE_BUNDLE_DATA} variable. - These options only have an effect on Symbian: + These options only have an effect on the Symbian platform: \table 95% \header \o Option \o Description @@ -1345,7 +1345,7 @@ \target DEPLOYMENT \section1 DEPLOYMENT - \e {This is only used on Windows CE and Symbian.} + \e {This is only used on Windows CE and the Symbian platform.} Specifies which additional files will be deployed. Deployment means the transfer of files from the development system to the target device or @@ -1363,8 +1363,8 @@ The default deployment target path for Windows CE is \c{%CSIDL_PROGRAM_FILES%\target}, which usually gets expanded to - \c{\Program Files\target}. For Symbian, the default target is the application - private directory on the drive it is installed to. + \c{\Program Files\target}. For the Symbian platform, the default target +is the application private directory on the drive it is installed to. It is also possible to specify multiple \c sources to be deployed on target \c paths. In addition, different variables can be used for @@ -1375,10 +1375,10 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 29 \note In Windows CE all linked Qt libraries will be deployed to the path - specified by \c{myFiles.path}. In Symbian all libraries and executables + specified by \c{myFiles.path}. On Symbian platform all libraries and executables will always be deployed to the \\sys\\bin of the installation drive. - Since the Symbian build system automatically moves binaries to certain + Since the Symbian platform build system automatically moves binaries to certain directories under the epoc32 directory, custom plugins, executables or dynamically loadable libraries need special handling. When deploying extra executables or dynamically loadable libraries, the target path @@ -1393,13 +1393,13 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 128 - In Symbian, generic PKG file content can also be specified with this + On the Symbian platform, generic PKG file content can also be specified with this variable. You can use either \c pkg_prerules or \c pkg_postrules to pass raw data to PKG file. The strings in \c pkg_prerules are added before package-body and \c pkg_postrules after. The strings defined in \c pkg_postrules or \c pkg_prerules are not parsed by qmake, so they should be in a format understood by Symbian package generation tools. - Please consult Symbian documentation for correct syntax. + Please consult the Symbian platform documentation for correct syntax. For example, to deploy DLL and add a new dependency: @@ -1424,7 +1424,7 @@ override languages statement, you must override also package-header statement and all other statements which are language specific. - In Symbian, the \c default_deployment item specifies + On the Symbian platform, the \c default_deployment item specifies default platform dependencies. It can be overwritten if a more restrictive set is needed - e.g. if a specific device is required to run the application. @@ -1436,7 +1436,7 @@ \target DEPLOYMENT_PLUGIN \section1 DEPLOYMENT_PLUGIN - \e {This is only used on Windows CE and Symbian.} + \e {This is only used on Windows CE and the Symbian platform.} This variable specifies the Qt plugins that will be deployed. All plugins available in Qt can be explicitly deployed to the device. See @@ -1446,9 +1446,9 @@ If the application depends on plugins, these plugins have to be specified manually. - \note In Symbian, all plugins supported by this variable will be deployed - by default with Qt libraries, so generally using this variable is not - needed. + \note On the Symbian platform, all plugins supported by this variable +will be deployed by default with Qt libraries, so generally using this +variable is not needed. For example: @@ -1556,7 +1556,7 @@ \target ICON \section1 ICON - This variable is used only in MAC and S60 to set the application icon. + This variable is used only in MAC and the Symbian platform to set the application icon. Please see \l{Setting the Application Icon}{the application icon documentation} for more information. @@ -1623,10 +1623,10 @@ This variable contains a list of libraries to be linked into the project. You can use the Unix \c -l (library) and -L (library path) flags and qmake - will do the correct thing with these libraries on Windows and Symbian - (namely this means passing the full path of the library to the linker). The - only limitation to this is the library must exist, for qmake to find which - directory a \c -l lib lives in. + will do the correct thing with these libraries on Windows and the + Symbian platform (namely this means passing the full path of the library to + the linker). The only limitation to this is the library must exist, for + qmake to find which directory a \c -l lib lives in. For example: @@ -1647,7 +1647,8 @@ explicitly specify the library to be used by including the \c{.lib} file name suffix. - \bold{Note:} On S60, the build system makes a distinction between shared and + \bold{Note:} On the Symbian platform, the build system makes a +distinction between shared and static libraries. In most cases, qmake will figure out which library you are refering to, but in some cases you may have to specify it explicitly to get the expected behavior. This typically happens if you are building a @@ -1693,7 +1694,7 @@ \target MMP_RULES \section1 MMP_RULES - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Generic MMP file content can be specified with this variable. @@ -2013,8 +2014,9 @@ the \c QMAKE_CXXFLAGS_DEBUG and \c QMAKE_CXXFLAGS_RELEASE variables, respectively. - \bold{Note:} On S60, this variable can be used to pass architecture specific - options to each compiler in the Symbian build system. For example: + \bold{Note:} On the Symbian platform, this variable can be used to pass +architecture specific options to each compiler in the Symbian build system. +For example: \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 131 @@ -2812,7 +2814,7 @@ \target RSS_RULES \section1 RSS_RULES - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Generic RSS file content can be specified with this variable. The syntax is similar to \c MMP_RULES and \c BLD_INF_RULES. @@ -2832,10 +2834,12 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 145 - This example will install the application to MyFolder in S60 application - shell. In addition it will make the application to be launched in background. + This example will install the application to MyFolder in the Symbian + platform application shell. In addition it will make the application to + be launched in background. - For detailed list of possible RSS statements, please refer to Symbian OS help. + For detailed list of possible RSS statements, please refer to the + Symbian platform help. \note You should not use \c RSS_RULES variable to set the following RSS statements: @@ -2848,7 +2852,7 @@ \target S60_VERSION \section1 S60_VERSION - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Contains the version number of the underlying S60 SDK; e.g. "5.0". @@ -2918,7 +2922,7 @@ \target TARGET.CAPABILITY \section1 TARGET.CAPABILITY - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which platform capabilities the application should have. For more information, please refer to the S60 SDK documentation. @@ -2926,7 +2930,7 @@ \target TARGET.EPOCALLOWDLLDATA \section1 TARGET.EPOCALLOWDLLDATA - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies whether static data should be allowed in the application. Symbian disallows this by default in order to save memory. To use it, set this to 1. @@ -2934,7 +2938,7 @@ \target TARGET.EPOCHEAPSIZE \section1 TARGET.EPOCHEAPSIZE - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies the minimum and maximum heap size of the application. The program will refuse to run if the minimum size is not available when it starts. For @@ -2945,7 +2949,7 @@ \target TARGET.EPOCSTACKSIZE \section1 TARGET.EPOCSTACKSIZE - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies the maximum stack size of the application. For example: @@ -2954,7 +2958,7 @@ \target TARGET.SID \section1 TARGET.SID - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which secure identifier to use for the target application or library. For more information, see the S60 SDK documentation. @@ -2962,7 +2966,7 @@ \target TARGET.UID2 \section1 TARGET.UID2 - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which unique identifier 2 to use for the target application or library. If this variable is not specified, it defaults to the same value @@ -2971,7 +2975,7 @@ \target TARGET.UID3 \section1 TARGET.UID3 - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which unique identifier 3 to use for the target application or library. If this variable is not specified, a UID3 suitable for development @@ -2982,7 +2986,7 @@ \target TARGET.VID \section1 TARGET.VID - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which vendor identifier to use for the target application or library. For more information, see the S60 SDK documentation. @@ -3862,9 +3866,10 @@ \o Indicates that the output should not be added to the list of objects to be linked in. \endtable - \note Symbian specific: Generating objects to be linked in is not supported in Symbian, - so either the \c CONFIG option \c no_link or variable \c variable_out - should always be defined for extra compilers. + \note Symbian platform specific: Generating objects to be linked in is + not supported on the Symbian platform, so either the \c CONFIG option + \c no_link or variable \c variable_out should always be defined for + extra compilers. */ diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index 2ace8de..366a906 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -497,14 +497,14 @@ in the \l{Qt for Windows CE Requirements} document. We hope you will enjoy using Qt. Good luck! */ -/*! \page install-S60-installer.html +/*! \page install-Symbian-installer.html -\title Installing Qt on S60 using binary package +\title Installing Qt on the Symbian platform using binary package \ingroup qts60 -\brief How to install Qt on S60 using the binary package. +\brief How to install Qt on the Symbian platform using the binary package. -\note Qt for S60 has some requirements that are given in more detail -in the \l{Qt for S60 Requirements} document. +\note Qt for Symbian platform has some requirements that are given in more detail +in the \l{Qt for Symbian platform Requirements} document. \list 1 @@ -527,7 +527,7 @@ in the \l{Qt for S60 Requirements} document. and follow the instructions. To run the demos and examples on the emulator, you need to build them first. - Open the "Qt for S60 Command Prompt" from the Start menu and type: + Open the "Qt for Symbian platform Command Prompt" from the Start menu and type: \snippet doc/src/snippets/code/doc_src_installation.qdoc 25 @@ -536,27 +536,29 @@ in the \l{Qt for S60 Requirements} document. \snippet doc/src/snippets/code/doc_src_installation.qdoc 27 - For more information about building and running Qt programs on S60, - see \l{S60 - Introduction to using Qt}. + For more information about building and running Qt programs on the +Symbian platform, + see \l{Symbian platform - Introduction to using Qt}. We hope you will enjoy using Qt. \endlist */ -/*! \page install-S60.html +/*! \page install-Symbian.html -\title Installing Qt on S60 +\title Installing Qt on the Symbian platform \ingroup installation \ingroup qts60 -\brief How to install Qt on S60 +\brief How to install Qt for the Symbian platform -\note Qt for S60 has some requirements that are given in more detail -in the \l{Qt for S60 Requirements} document. +\note Qt for the Symbian platform has some requirements that are given in more detail +in the \l{Qt for Symbian platform Requirements} document. -\note \bold {This document describes how to install and configure Qt for S60 from scratch. +\note \bold {This document describes how to install and configure Qt for +the Symbian platform from scratch. If you are using pre-built binaries, follow the instructions -\l{Installing Qt on S60 using binary package}{here}.} +\l{Installing Qt on the Symbian platform using binary package}{here}.} \list 1 @@ -586,7 +588,7 @@ If you are using pre-built binaries, follow the instructions \o Configure Qt - To configure Qt for S60, do: + To configure Qt for the Symbian platform, do: \snippet doc/src/snippets/code/doc_src_installation.qdoc 23 to build the tools using MinGW, and the libraries using abld. @@ -633,8 +635,8 @@ If you are using pre-built binaries, follow the instructions \snippet doc/src/snippets/code/doc_src_installation.qdoc 27 - For more information about building and running Qt programs on S60, - see \l{S60 - Introduction to using Qt}. + For more information about building and running Qt programs on the +Symbian platform, see \l{Symbian platform - Introduction to using Qt}. We hope you will enjoy using Qt. @@ -669,7 +671,7 @@ If you are using pre-built binaries, follow the instructions \list \o \l{Qt for Embedded Linux Requirements} \o \l{Qt for Mac OS X Requirements} - \o \l{Qt for S60 Requirements} + \o \l{Qt for Symbian platform Requirements} \o \l{Qt for Windows CE Requirements} \o \l{Qt for Windows Requirements} \o \l{Qt for X11 Requirements} @@ -953,13 +955,13 @@ If you are using pre-built binaries, follow the instructions */ /*! - \page requirements-s60.html - \title Qt for S60 Requirements + \page requirements-symbian.html + \title Qt for Symbian platform Requirements \ingroup installation - \brief Setting up the S60 environment for Qt. + \brief Setting up the Symbian platform environment for Qt. \previouspage General Qt Requirements - Qt for S60 requires the following software installed on your development PC: + Qt for Symbian platform requires the following software installed on your development PC: \list \o \l{http://www.mingw.org/}{MinGW 3.4.5 or higher}, or another windows compiler to build the tools. \o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/}{Carbide.c++ v2.0.0 or higher} diff --git a/doc/src/howtos/appicon.qdoc b/doc/src/howtos/appicon.qdoc index ece2dcf..4108c11 100644 --- a/doc/src/howtos/appicon.qdoc +++ b/doc/src/howtos/appicon.qdoc @@ -213,9 +213,9 @@ The GNOME developer website is at \l{http://developer.gnome.org/}. - \section1 Setting the Application Icon on S60 platforms + \section1 Setting the Application Icon on the Symbian platform - In order to set the application icon for S60 applications, you need + In order to set the application icon for Symbian platform applications, you need an SVG-T icon. For information on how to create SVG-T compliant icons, please refer to \l{http://wiki.forum.nokia.com/index.php/How_to_create_application_icon(SVG)_in_S60_3rd_edition/} diff --git a/doc/src/platforms/qt-embedded.qdoc b/doc/src/platforms/qt-embedded.qdoc index 0b2c2ac..c39a967 100644 --- a/doc/src/platforms/qt-embedded.qdoc +++ b/doc/src/platforms/qt-embedded.qdoc @@ -54,7 +54,7 @@ Currently, three embedded platforms are supported by Qt: \table 90% - \header \o Embedded Linux \o Windows CE \o S60 + \header \o Embedded Linux \o Windows CE \o Symbian platform \row \o \l{Qt for Embedded Linux} is designed to be used on Linux devices without X11 or existing graphical environments. This flavor of @@ -67,8 +67,9 @@ Applications use the appropriate style for the embedded environment and use native features, such as menus, to conform to the native style guidelines. - \o \l{S60 - Introduction to using Qt}{Qt for S60} is used to create - applications running in existing S60 environments. + \o \l{Symbian platform - Introduction to using Qt}{Qt for the Symbian +platform} is used to create + applications running in existing Symbian platform environments. Applications use the appropriate style for the embedded environment and use native features, such as menus, to conform to the native style guidelines. diff --git a/doc/src/platforms/s60-introduction.qdoc b/doc/src/platforms/s60-introduction.qdoc index 086ee52..d145a82 100644 --- a/doc/src/platforms/s60-introduction.qdoc +++ b/doc/src/platforms/s60-introduction.qdoc @@ -40,10 +40,10 @@ ****************************************************************************/ /*! - \page s60-with-qt-introduction.html + \page symbian-with-qt-introduction.html - \title S60 - Introduction to using Qt - \brief An introduction to Qt for S60 developers. + \title Symbian platform - Introduction to using Qt + \brief An introduction to Qt for Symbian platform developers. \ingroup howto \ingroup qts60 @@ -51,21 +51,22 @@ \section1 Required tools - See \l{Qt for S60 Requirements} to see what tools are required to use Qt for S60. + See \l{Qt for Symbian platform Requirements} to see what tools are +required to use Qt for Symbian platform. \section1 Installing Qt and running demos - Follow the instructions found in \l{Installing Qt on S60 using binary package} to learn how + Follow the instructions found in \l{Installing Qt on the Symbian platform using binary package} to learn how to install Qt using binary package and how to build and run Qt demos. - Follow the instructions found in \l{Installing Qt on S60} to learn how to install Qt using + Follow the instructions found in \l{Installing Qt on the Symbian platform} to learn how to install Qt using using source package and how to build and run the Qt demos. \section1 Building your own applications If you are new to Qt development, have a look at \l{How to Learn Qt}. In general, the difference between developing a - Qt application on S60 compared to any of the other platforms supported + Qt application on the Symbian platform compared to any of the other platforms supported by Qt is not that big. Once you have crated a \c .pro file for your project, generate the @@ -76,10 +77,10 @@ For more information on how to use qmake have a look at the \l {qmake Tutorial}. - Now you can build the Qt on S60 application with standard build - tools. By default, running \c make will produce binaries for the - emulator. However, S60 comes with several alternative build targets, - as shown in the table below: + Now you can build the Qt for the Symbian platform application with +standard build tools. By default, running \c make will produce binaries for +the emulator. However, the Symbian platform comes with several alternative +build targets, as shown in the table below: \table \row \o \c debug-winscw \o Build debug binaries for the emulator (default). @@ -121,8 +122,8 @@ \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. -i, install the package right away using PC suite. -c=, read certificate information from a file. - Execute \c{createpackage.pl} script without any - parameters for more information about options. + Execute \c{perl createpackage.pl} for more information + about options. By default no otions are given. \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. Accepted values are build targets listed in -- cgit v0.12 From 7d75f1427f80df87b728baa8c7f63f7a7762d280 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Thu, 8 Oct 2009 12:27:37 +0200 Subject: Changing S60 to Symbian in the Docs Changing names to Symbian platform Task-number: QT-2268 Rev-by: Espen Riskedal --- doc/src/images/qt-embedded-architecture.png | Bin 22388 -> 8511 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/src/images/qt-embedded-architecture.png b/doc/src/images/qt-embedded-architecture.png index d3f8edc..20b3e7f 100644 Binary files a/doc/src/images/qt-embedded-architecture.png and b/doc/src/images/qt-embedded-architecture.png differ -- cgit v0.12 From 1040ba2fd850196234424f769e28d513a6eb0948 Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Thu, 8 Oct 2009 12:11:32 +0200 Subject: Fix compile errors on mingw (The version supplied with Qt 4.5) Added the missing defines Reviewed-by: Denis --- src/gui/dialogs/qprintdialog_win.cpp | 7 +++++++ src/gui/inputmethod/qwininputcontext_p.h | 13 +++++++++++++ src/gui/kernel/qapplication_win.cpp | 5 ++++- src/gui/util/qdesktopservices_win.cpp | 5 +++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/gui/dialogs/qprintdialog_win.cpp b/src/gui/dialogs/qprintdialog_win.cpp index f66c27f..843c4e2 100644 --- a/src/gui/dialogs/qprintdialog_win.cpp +++ b/src/gui/dialogs/qprintdialog_win.cpp @@ -52,6 +52,13 @@ #include #include +#if defined(Q_CC_MINGW) && !defined(PD_NOCURRENTPAGE) +#define PD_NOCURRENTPAGE 0x00800000 +#define PD_RESULT_PRINT 1 +#define PD_RESULT_APPLY 2 +#define START_PAGE_GENERAL 0XFFFFFFFF +#endif + QT_BEGIN_NAMESPACE extern void qt_win_eatMouseMove(); diff --git a/src/gui/inputmethod/qwininputcontext_p.h b/src/gui/inputmethod/qwininputcontext_p.h index 39d50fd..dd0490d 100644 --- a/src/gui/inputmethod/qwininputcontext_p.h +++ b/src/gui/inputmethod/qwininputcontext_p.h @@ -56,6 +56,19 @@ #include "QtGui/qinputcontext.h" #include "QtCore/qt_windows.h" +#if defined(Q_CC_MINGW) && !defined(IMR_RECONVERTSTRING) +typedef struct tagRECONVERTSTRING { + DWORD dwSize; + DWORD dwVersion; + DWORD dwStrLen; + DWORD dwStrOffset; + DWORD dwCompStrLen; + DWORD dwCompStrOffset; + DWORD dwTargetStrLen; + DWORD dwTargetStrOffset; +} RECONVERTSTRING, *PRECONVERTSTRING; +#endif + QT_BEGIN_NAMESPACE class QWinInputContext : public QInputContext diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 44f82b6..270562f 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -171,10 +171,13 @@ typedef struct tagTOUCHINPUT #include #endif +#ifndef IMR_RECONVERTSTRING +#define IMR_RECONVERTSTRING 4 +#endif + #ifndef IMR_CONFIRMRECONVERTSTRING #define IMR_CONFIRMRECONVERTSTRING 0x0005 #endif - QT_BEGIN_NAMESPACE #ifdef Q_WS_WINCE diff --git a/src/gui/util/qdesktopservices_win.cpp b/src/gui/util/qdesktopservices_win.cpp index 4ecef97..c0bd5e7 100644 --- a/src/gui/util/qdesktopservices_win.cpp +++ b/src/gui/util/qdesktopservices_win.cpp @@ -59,6 +59,11 @@ # endif #endif +#if defined(Q_CC_MINGW) && !defined(CSIDL_MYMUSIC) +#define CSIDL_MYMUSIC 13 +#define CSIDL_MYVIDEO 14 +#endif + #ifndef QT_NO_DESKTOPSERVICES QT_BEGIN_NAMESPACE -- cgit v0.12 From c757e2d46ed0ab6ff3611752c2126dafdae4a04c Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Thu, 8 Oct 2009 12:11:32 +0200 Subject: Fix compile errors on mingw (The version supplied with Qt 4.5) Added the missing defines Reviewed-by: Denis (cherry picked from commit 1040ba2fd850196234424f769e28d513a6eb0948) --- src/gui/dialogs/qprintdialog_win.cpp | 7 +++++++ src/gui/inputmethod/qwininputcontext_p.h | 13 +++++++++++++ src/gui/kernel/qapplication_win.cpp | 5 ++++- src/gui/util/qdesktopservices_win.cpp | 5 +++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/gui/dialogs/qprintdialog_win.cpp b/src/gui/dialogs/qprintdialog_win.cpp index f66c27f..843c4e2 100644 --- a/src/gui/dialogs/qprintdialog_win.cpp +++ b/src/gui/dialogs/qprintdialog_win.cpp @@ -52,6 +52,13 @@ #include #include +#if defined(Q_CC_MINGW) && !defined(PD_NOCURRENTPAGE) +#define PD_NOCURRENTPAGE 0x00800000 +#define PD_RESULT_PRINT 1 +#define PD_RESULT_APPLY 2 +#define START_PAGE_GENERAL 0XFFFFFFFF +#endif + QT_BEGIN_NAMESPACE extern void qt_win_eatMouseMove(); diff --git a/src/gui/inputmethod/qwininputcontext_p.h b/src/gui/inputmethod/qwininputcontext_p.h index 39d50fd..dd0490d 100644 --- a/src/gui/inputmethod/qwininputcontext_p.h +++ b/src/gui/inputmethod/qwininputcontext_p.h @@ -56,6 +56,19 @@ #include "QtGui/qinputcontext.h" #include "QtCore/qt_windows.h" +#if defined(Q_CC_MINGW) && !defined(IMR_RECONVERTSTRING) +typedef struct tagRECONVERTSTRING { + DWORD dwSize; + DWORD dwVersion; + DWORD dwStrLen; + DWORD dwStrOffset; + DWORD dwCompStrLen; + DWORD dwCompStrOffset; + DWORD dwTargetStrLen; + DWORD dwTargetStrOffset; +} RECONVERTSTRING, *PRECONVERTSTRING; +#endif + QT_BEGIN_NAMESPACE class QWinInputContext : public QInputContext diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 44f82b6..270562f 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -171,10 +171,13 @@ typedef struct tagTOUCHINPUT #include #endif +#ifndef IMR_RECONVERTSTRING +#define IMR_RECONVERTSTRING 4 +#endif + #ifndef IMR_CONFIRMRECONVERTSTRING #define IMR_CONFIRMRECONVERTSTRING 0x0005 #endif - QT_BEGIN_NAMESPACE #ifdef Q_WS_WINCE diff --git a/src/gui/util/qdesktopservices_win.cpp b/src/gui/util/qdesktopservices_win.cpp index 9ae3a15..c1ab5b8 100644 --- a/src/gui/util/qdesktopservices_win.cpp +++ b/src/gui/util/qdesktopservices_win.cpp @@ -58,6 +58,11 @@ # endif #endif +#if defined(Q_CC_MINGW) && !defined(CSIDL_MYMUSIC) +#define CSIDL_MYMUSIC 13 +#define CSIDL_MYVIDEO 14 +#endif + #ifndef QT_NO_DESKTOPSERVICES QT_BEGIN_NAMESPACE -- cgit v0.12 From 9e59f3e021e78a5b825b7673248e0bf37ac935f1 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 8 Oct 2009 12:55:21 +0200 Subject: Revert "Ensure that qmake doesn't lose the error code when processing subdirs" This reverts commit c15b370c9db16fdbfd9e7bec89ee9bf8c1110827 since it is causing a problem with the autotests so that will be investigated further before this is resubmitted. --- qmake/generators/metamakefile.cpp | 14 ++++++-------- qmake/generators/metamakefile.h | 2 +- qmake/main.cpp | 5 +---- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp index 3acb2dd..69dd627 100644 --- a/qmake/generators/metamakefile.cpp +++ b/qmake/generators/metamakefile.cpp @@ -291,7 +291,7 @@ SubdirsMetaMakefileGenerator::init() if(init_flag) return false; init_flag = true; - bool hasError = false; + if(Option::recursive) { QString old_output_dir = Option::output_dir; QString old_output = Option::output.fileName(); @@ -336,7 +336,7 @@ SubdirsMetaMakefileGenerator::init() } qmake_setpwd(sub->input_dir); Option::output_dir = sub->output_dir; - hasError |= !sub_proj->read(subdir.fileName()); + sub_proj->read(subdir.fileName()); if(!sub_proj->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) { fprintf(stderr, "Project file(%s) not recursed because all requirements not met:\n\t%s\n", subdir.fileName().toLatin1().constData(), @@ -351,7 +351,7 @@ SubdirsMetaMakefileGenerator::init() } else { const QString output_name = Option::output.fileName(); Option::output.setFileName(sub->output_file); - hasError |= !sub->makefile->write(sub->output_dir); + sub->makefile->write(sub->output_dir); delete sub; qmakeClearCaches(); sub = 0; @@ -376,7 +376,7 @@ SubdirsMetaMakefileGenerator::init() self->makefile->init(); subs.append(self); - return !hasError; + return true; } bool @@ -745,7 +745,7 @@ MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO) } MetaMakefileGenerator * -MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op, bool *success) +MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op) { MetaMakefileGenerator *ret = 0; if ((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE || @@ -758,9 +758,7 @@ MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &na } if (!ret) ret = new BuildsMetaMakefileGenerator(proj, name, op); - bool res = ret->init(); - if (success) - *success = res; + ret->init(); return ret; } diff --git a/qmake/generators/metamakefile.h b/qmake/generators/metamakefile.h index f74f4a2..e69304a 100644 --- a/qmake/generators/metamakefile.h +++ b/qmake/generators/metamakefile.h @@ -62,7 +62,7 @@ public: virtual ~MetaMakefileGenerator(); - static MetaMakefileGenerator *createMetaGenerator(QMakeProject *proj, const QString &name, bool op=true, bool *success = 0); + static MetaMakefileGenerator *createMetaGenerator(QMakeProject *proj, const QString &name, bool op=true); static MakefileGenerator *createMakefileGenerator(QMakeProject *proj, bool noIO = false); inline QMakeProject *projectFile() const { return project; } diff --git a/qmake/main.cpp b/qmake/main.cpp index 8117a4c..73fdda9 100644 --- a/qmake/main.cpp +++ b/qmake/main.cpp @@ -168,10 +168,7 @@ int runQMake(int argc, char **argv) continue; } - bool success = true; - MetaMakefileGenerator *mkfile = MetaMakefileGenerator::createMetaGenerator(&project, QString(), false, &success); - if (!success) - exit_val = 3; + MetaMakefileGenerator *mkfile = MetaMakefileGenerator::createMetaGenerator(&project, QString(), false); if(mkfile && !mkfile->write(oldpwd)) { if(Option::qmake_mode == Option::QMAKE_GENERATE_PROJECT) fprintf(stderr, "Unable to generate project file.\n"); -- cgit v0.12 From 8050a8ea1b30b0d35fc20e9d09ff48c242a924cd Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Wed, 7 Oct 2009 14:41:33 +0200 Subject: Mac: fix auto test to reflect recent changes in wheel event handling ...on mac. Since mouse wheel events are accelerated by the OS on mac, we cannot multiply the delta with QApplication::wheelScrollLines, since this will make scrolling behave far to fast. To change the speed of wheel events on Mac, one should use system preferences. This patch updates the test to reflect his difference. Rev-By: ogoffart --- tests/auto/qabstractslider/tst_qabstractslider.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/auto/qabstractslider/tst_qabstractslider.cpp b/tests/auto/qabstractslider/tst_qabstractslider.cpp index 9f7a78e..5c70bde 100644 --- a/tests/auto/qabstractslider/tst_qabstractslider.cpp +++ b/tests/auto/qabstractslider/tst_qabstractslider.cpp @@ -714,7 +714,11 @@ void tst_QAbstractSlider::wheelEvent_data() << 1 // delta << int(Qt::Vertical) // orientation of slider << int(Qt::Vertical) // orientation of wheel +#ifdef Q_WS_MAC + << 1 // expected position after +#else << 20 // expected position after +#endif << QPoint(0,0); QTest::newRow("Normal data page") << 0 // initial position @@ -773,7 +777,11 @@ void tst_QAbstractSlider::wheelEvent_data() << 1 // delta << int(Qt::Horizontal) // orientation of slider << int(Qt::Horizontal) // orientation of wheel +#ifdef Q_WS_MAC + << 49 // expected position after +#else << 30 // expected position after +#endif << QPoint(1,1); QTest::newRow("Past end") << 50 // initial position @@ -784,7 +792,11 @@ void tst_QAbstractSlider::wheelEvent_data() << false // inverted controls << 1 // wheel scroll lines << false // with modifiers +#ifdef Q_WS_MAC + << 60 // delta +#else << 2 // delta +#endif << int(Qt::Horizontal) // orientation of slider << int(Qt::Horizontal) // orientation of wheel << 100 // expected position after @@ -798,7 +810,11 @@ void tst_QAbstractSlider::wheelEvent_data() << false // inverted controls << 1 // wheel scroll lines << false // with modifiers - << -2 // delta +#ifdef Q_WS_MAC + << -60 // delta +#else + << -2 // delta +#endif << int(Qt::Horizontal) // orientation of slider << int(Qt::Horizontal) // orientation of wheel << 0 // expected position after -- cgit v0.12 From 52aaffaf17c4d1bf11a469fe3cc692c3bea6cfe2 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Wed, 7 Oct 2009 14:46:43 +0200 Subject: Carbon: better wheel acceleration patch It turns out that scrolling appears to be slow when using non-mac mice with the carbon build. This patch introduces a an acceleration algorithm that closer resembles the one used by Cocoa. Rev-By: prasanth --- src/gui/kernel/qapplication_mac.mm | 26 ++++++++++++++++++++++---- src/gui/widgets/qabstractslider.cpp | 3 +-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm index a95ae9d..f9c8aa3 100644 --- a/src/gui/kernel/qapplication_mac.mm +++ b/src/gui/kernel/qapplication_mac.mm @@ -1708,12 +1708,30 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event sizeof(axis), 0, &axis); // The 'new' event has acceleration applied by the OS, while the old (on - // Carbon only), has not. So we introduce acceleration here to be consistent: - int scrollFactor = 120 * qMin(5, qAbs(mdelt)); + // Carbon only), has not. So we introduce acceleration here to be consistent. + // The acceleration is trying to respect both pixel based and line scrolling, + // which turns out to be rather difficult. + int linesToScroll = mdelt > 0 ? 1 : -1; + static QTime t; + int elapsed = t.elapsed(); + t.restart(); + if (elapsed < 20) + linesToScroll *= 120; + else if (elapsed < 30) + linesToScroll *= 60; + else if (elapsed < 50) + linesToScroll *= 30; + else if (elapsed < 100) + linesToScroll *= 6; + else if (elapsed < 200) + linesToScroll *= 3; + else if (elapsed < 300) + linesToScroll *= 2; + if (axis == kEventMouseWheelAxisX) - wheel_deltaX = mdelt * scrollFactor; + wheel_deltaX = linesToScroll * 120; else - wheel_deltaY = mdelt * scrollFactor; + wheel_deltaY = linesToScroll * 120; } } diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp index 19a8b63..588a48e 100644 --- a/src/gui/widgets/qabstractslider.cpp +++ b/src/gui/widgets/qabstractslider.cpp @@ -715,8 +715,7 @@ void QAbstractSlider::wheelEvent(QWheelEvent * e) #else stepsToScroll = int(d->offset_accumulated) * QApplication::wheelScrollLines() * d->singleStep; #endif - if (qAbs(stepsToScroll) > d->pageStep) - stepsToScroll = currentOffset > 0 ? d->pageStep : -d->pageStep; + stepsToScroll = qBound(-d->pageStep, stepsToScroll, d->pageStep); } if (d->invertedControls) -- cgit v0.12 From e1f7d33dcd8267fd2fc9658df6245ca30df3741e Mon Sep 17 00:00:00 2001 From: ninerider Date: Thu, 8 Oct 2009 14:05:54 +0200 Subject: Comparison tolerance increased for handhelds The 'fuzzy' value for the was not relaxed enoough for small devices such as Windows Mobile and the like. Reviewed-by: Joerg --- tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp b/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp index e8979ea..b407fef 100644 --- a/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp +++ b/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp @@ -159,7 +159,11 @@ void tst_QGraphicsTransform::scale() // definitions correct for the difference. static inline bool fuzzyCompare(qreal p1, qreal p2) { - return (qAbs(p1 - p2) <= 0.00001f * qMin(qAbs(p1), qAbs(p2))); + // increase delta on small machines using float instead of double + if (sizeof(qreal) == sizeof(float)) + return (qAbs(p1 - p2) <= 0.00002f * qMin(qAbs(p1), qAbs(p2))); + else + return (qAbs(p1 - p2) <= 0.00001f * qMin(qAbs(p1), qAbs(p2))); } static bool fuzzyCompare(const QTransform& t1, const QTransform& t2) { -- cgit v0.12 From cbd0020a4db3c67bb73f6c42ec2ce06a710b00db Mon Sep 17 00:00:00 2001 From: ninerider Date: Thu, 8 Oct 2009 14:16:05 +0200 Subject: Non-Zero timer livelock test expected to fail on Windows CE Timing issues prevent this test from working correctly on Windows CE. Reviewed-by: Joerg --- tests/auto/qtimer/tst_qtimer.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tests/auto/qtimer/tst_qtimer.cpp b/tests/auto/qtimer/tst_qtimer.cpp index 0877500..01a6317 100644 --- a/tests/auto/qtimer/tst_qtimer.cpp +++ b/tests/auto/qtimer/tst_qtimer.cpp @@ -46,10 +46,6 @@ #include #include - - - - #if defined Q_OS_UNIX #include #endif @@ -242,7 +238,6 @@ public: // sleep for 2ms QTest::qSleep(2); - killTimer(te->timerId()); } @@ -277,9 +272,11 @@ void tst_QTimer::livelock() #elif defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) QEXPECT_FAIL("zero timer", "", Continue); QEXPECT_FAIL("non-zero timer", "", Continue); -#elif defined(Q_OS_WIN) +#elif defined(Q_OS_WIN) && !defined(Q_OS_WINCE) if (QSysInfo::WindowsVersion < QSysInfo::WV_XP) QEXPECT_FAIL("non-zero timer", "Multimedia timers are not available on Windows 2000", Continue); +#elif defined(Q_OS_WINCE) + QEXPECT_FAIL("non-zero timer", "Windows CE devices often too slow", Continue); #endif QVERIFY(tester.postEventAtRightTime); } -- cgit v0.12 From 00b198b1cdf48bd88d61bb256ec3ff455735e38c Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Thu, 8 Oct 2009 11:46:05 +0200 Subject: Conservative fix for link error with ARM RVCT compiler on symbian sbsv2 Not exporting the whole class prevents the capabilities example from linking, because the vtable is not exported. However windows builds don't support export of templated class, and export the vtable implicitly when there is an exported member function. Task-number: QTBUG-4593 Reviewed-by: Thierry Bastian --- .../phonon/phonon/objectdescriptionmodel.h | 23 ++++++++++++++++++---- src/s60installs/eabi/phononu.def | 20 +++++++++---------- 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h index ba3cb42..a3c72b2 100644 --- a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h +++ b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h @@ -139,6 +139,21 @@ namespace Phonon ObjectDescriptionModelDataPrivate *const d; }; +/* Required to ensure template class vtables are exported on both symbian +and existing builds. */ +#if defined(Q_OS_SYMBIAN) && defined(Q_CC_RVCT) +// RVCT compiler (2.2.686) requires the export declaration to be on the class to export vtables +// MWC compiler works both ways +// GCCE compiler is unknown (it can't compile QtCore yet) +#define PHONON_TEMPLATE_CLASS_EXPORT PHONON_EXPORT +#define PHONON_TEMPLATE_CLASS_MEMBER_EXPORT +#else +// Windows builds (at least) do not support export declaration on templated class +// But if you export a member function, the vtable is implicitly exported +#define PHONON_TEMPLATE_CLASS_EXPORT +#define PHONON_TEMPLATE_CLASS_MEMBER_EXPORT PHONON_EXPORT +#endif + /** \class ObjectDescriptionModel objectdescriptionmodel.h Phonon/ObjectDescriptionModel * \short The ObjectDescriptionModel class provides a model from * a list of ObjectDescription objects. @@ -175,7 +190,7 @@ namespace Phonon * \author Matthias Kretz */ template - class ObjectDescriptionModel : public QAbstractListModel + class PHONON_TEMPLATE_CLASS_EXPORT ObjectDescriptionModel : public QAbstractListModel { public: Q_OBJECT_CHECK @@ -188,11 +203,11 @@ namespace Phonon */ #if !defined(Q_CC_MINGW) || __MINGW32_MAJOR_VERSION >= 4 /** \internal */ - static PHONON_EXPORT const QMetaObject staticMetaObject; + static PHONON_TEMPLATE_CLASS_MEMBER_EXPORT const QMetaObject staticMetaObject; /** \internal */ - PHONON_EXPORT const QMetaObject *metaObject() const; + PHONON_TEMPLATE_CLASS_MEMBER_EXPORT const QMetaObject *metaObject() const; /** \internal */ - PHONON_EXPORT void *qt_metacast(const char *_clname); + PHONON_TEMPLATE_CLASS_MEMBER_EXPORT void *qt_metacast(const char *_clname); //int qt_metacall(QMetaObject::Call _c, int _id, void **_a); #endif diff --git a/src/s60installs/eabi/phononu.def b/src/s60installs/eabi/phononu.def index d407ba4..d70942c 100644 --- a/src/s60installs/eabi/phononu.def +++ b/src/s60installs/eabi/phononu.def @@ -495,11 +495,11 @@ EXPORTS _ZTIN6Phonon19AbstractVideoOutputE @ 494 NONAME _ZTIN6Phonon19BackendCapabilities8NotifierE @ 495 NONAME ABSENT _ZTIN6Phonon22MediaControllerPrivateE @ 496 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 497 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 498 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 499 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 500 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 501 NONAME ABSENT + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 497 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 498 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 499 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 500 NONAME + _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 501 NONAME _ZTIN6Phonon24VolumeFaderEffectPrivateE @ 502 NONAME ABSENT _ZTIN6Phonon26AbstractAudioOutputPrivateE @ 503 NONAME ABSENT _ZTIN6Phonon26AbstractMediaStreamPrivateE @ 504 NONAME @@ -532,11 +532,11 @@ EXPORTS _ZTVN6Phonon19AbstractVideoOutputE @ 531 NONAME _ZTVN6Phonon19BackendCapabilities8NotifierE @ 532 NONAME ABSENT _ZTVN6Phonon22MediaControllerPrivateE @ 533 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 534 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 535 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 536 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 537 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 538 NONAME ABSENT + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 534 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 535 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 536 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 537 NONAME + _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 538 NONAME _ZTVN6Phonon24VolumeFaderEffectPrivateE @ 539 NONAME ABSENT _ZTVN6Phonon26AbstractAudioOutputPrivateE @ 540 NONAME ABSENT _ZTVN6Phonon26AbstractMediaStreamPrivateE @ 541 NONAME -- cgit v0.12 From 77eceb53ee6fc7f20570f070124cd4a5f79698ab Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Thu, 8 Oct 2009 14:51:04 +0200 Subject: Remove incorrect optimisation in S60 widget / control stack sync Incorrect optimisation - for popup windows, Qt's focus is moved before hide_sys is called, resulting in the popup window keeping its elevated position in the CONE control stack. This can result in keyboard focus being in an invisible widget in some conditions - e.g. QTBUG-4733 Task-number: QTBUG-4733 Reviewed-by: axis --- src/gui/kernel/qwidget_s60.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 3328cee..b0d405a 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -434,7 +434,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de void QWidgetPrivate::show_sys() { Q_Q(QWidget); - + if (q->testAttribute(Qt::WA_OutsideWSRange)) return; @@ -490,7 +490,12 @@ void QWidgetPrivate::hide_sys() QSymbianControl *id = static_cast(q->internalWinId()); if (id) { - if(id->IsFocused()) // Avoid unnecessary calls to FocusChanged() + //Incorrect optimisation - for popup windows, Qt's focus is moved before + //hide_sys is called, resulting in the popup window keeping its elevated + //position in the CONE control stack. + //This can result in keyboard focus being in an invisible widget in some + //conditions - e.g. QTBUG-4733 + //if(id->IsFocused()) // Avoid unnecessary calls to FocusChanged() id->setFocusSafely(false); id->MakeVisible(false); if (QWidgetBackingStore *bs = maybeBackingStore()) @@ -1253,7 +1258,7 @@ void QWidget::grabMouse() WId id = effectiveWinId(); id->SetPointerCapture(true); QWidgetPrivate::mouseGrabber = this; - + #ifndef QT_NO_CURSOR QApplication::setOverrideCursor(cursor()); #endif -- cgit v0.12 From d64c806a7876937cceffd3d3185cf44510ec554e Mon Sep 17 00:00:00 2001 From: ninerider Date: Thu, 8 Oct 2009 15:27:05 +0200 Subject: Skipped test for Windows Mobile involving mouse move events. Events caused by dragging a mouse are currently unavailable in Windows Mobile. Reviewed-by: Joerg --- tests/auto/qmenu/tst_qmenu.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/qmenu/tst_qmenu.cpp b/tests/auto/qmenu/tst_qmenu.cpp index 726ca55..4eb149f 100644 --- a/tests/auto/qmenu/tst_qmenu.cpp +++ b/tests/auto/qmenu/tst_qmenu.cpp @@ -812,6 +812,9 @@ public: void tst_QMenu::task258920_mouseBorder() { +#ifdef Q_OS_WINCE_WM + QSKIP("Mouse move related signals for Windows Mobile unavailable", SkipAll); +#endif Menu258920 menu; QAction *action = menu.addAction("test"); -- cgit v0.12 From dc69ddd069d687c748027790660818d2c79d3dfc Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Thu, 8 Oct 2009 16:01:22 +0200 Subject: doc: Changed the format of the since list. This is a big change from the original, and I expect we will want modifications. --- doc/src/qt4-intro.qdoc | 5 +- tools/qdoc3/codemarker.h | 2 + tools/qdoc3/cppcodeparser.cpp | 6 +- tools/qdoc3/htmlgenerator.cpp | 380 +++++++++++++++++++++++++++++++----------- tools/qdoc3/htmlgenerator.h | 59 +++++-- tools/qdoc3/node.cpp | 106 ++++++++++-- tools/qdoc3/node.h | 22 ++- 7 files changed, 433 insertions(+), 147 deletions(-) diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index 6224cd4..38f346f 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -661,10 +661,9 @@ See the \l{QtMultimedia Module} documentation for more information. - \section1 Classes, functions, and other items introduced in 4.6 + \section1 Classes, functions, etc new in 4.6 - Links to classes, function, and other items that were added in - 4.6. + Links to classes, functions, and other items that are new in 4.6. \sincelist 4.6 diff --git a/tools/qdoc3/codemarker.h b/tools/qdoc3/codemarker.h index e400f8a..9858484 100644 --- a/tools/qdoc3/codemarker.h +++ b/tools/qdoc3/codemarker.h @@ -71,6 +71,8 @@ struct Section : name(name0), singularMember(singularMember0), pluralMember(pluralMember0) { } + void appendMember(Node* node) { members.append(node); } + void appendReimpMember(Node* node) { reimpMembers.append(node); } }; struct FastSection diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp index ec5ce96..d93e24c 100644 --- a/tools/qdoc3/cppcodeparser.cpp +++ b/tools/qdoc3/cppcodeparser.cpp @@ -541,9 +541,10 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc, else { lastPath = parentPath; } - - if (func) + if (func) { func->borrowParameterNames(clone); + func->setParentPath(clone->parentPath()); + } delete clone; } return func; @@ -1371,6 +1372,7 @@ bool CppCodeParser::matchFunctionDecl(InnerNode *parent, func->setAccess(access); func->setLocation(location()); func->setReturnType(returnType.toString()); + func->setParentPath(parentPath); func->setTemplateStuff(templateStuff); if (compat) func->setStatus(Node::Compat); diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index 291f60b..e883dfa 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -59,6 +59,24 @@ QT_BEGIN_NAMESPACE #define COMMAND_VERSION Doc::alias("version") +QString HtmlGenerator::sinceTitles[] = + { + " New Namespaces", + " New Classes", + " New Member Functions", + " New Functions in Namespaces", + " New Global Functions", + " New Macros", + " New Enum Types", + " New Typedefs", + " New Properties", + " New Variables", + " New Qml Properties", + " New Qml Signals", + " New Qml Methods", + "" + }; + static bool showBrokenLinks = false; static QRegExp linkTag("(<@link node=\"([^\"]+)\">).*()"); @@ -186,7 +204,7 @@ HtmlGenerator::HtmlGenerator() : helpProjectWriter(0), inLink(false), inContents(false), inSectionHeading(false), inTableHeader(false), numTableRows(0), threeColumnEnumValueTable(true), funcLeftParen("\\S(\\()"), - tre(0), slow(false), obsoleteLinks(false) + myTree(0), slow(false), obsoleteLinks(false) { } @@ -313,7 +331,7 @@ void HtmlGenerator::generateTree(const Tree *tree, CodeMarker *marker) ++styleIter; } - tre = tree; + myTree = tree; nonCompatClasses.clear(); mainClasses.clear(); compatClasses.clear(); @@ -433,7 +451,7 @@ void HtmlGenerator::generateTree(const Tree *tree, CodeMarker *marker) projectUrl, projectDescription); - helpProjectWriter->generate(tre); + helpProjectWriter->generate(myTree); } void HtmlGenerator::startText(const Node * /* relative */, @@ -598,13 +616,12 @@ int HtmlGenerator::generateAtom(const Atom *atom, break; case Atom::AnnotatedList: { - QList values = tre->groups().values(atom->string()); - QMap nodeMap; + QList values = myTree->groups().values(atom->string()); + NodeMap nodeMap; for (int i = 0; i < values.size(); ++i) { const Node* n = values.at(i); if ((n->status() != Node::Internal) && (n->access() != Node::Private)) { nodeMap.insert(n->nameForLists(),n); - //qDebug() << " " << n->nameForLists(); } } generateAnnotatedList(relative, marker, nodeMap); @@ -633,7 +650,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, if (editionModuleMap.contains(editionName)) { // Add all classes in the modules listed for that edition. - QMap editionClasses; + NodeMap editionClasses; foreach (const QString &moduleName, editionModuleMap[editionName]) { if (moduleClassMap.contains(moduleName)) editionClasses.unite(moduleClassMap[moduleName]); @@ -642,7 +659,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, // Add additional groups and remove groups of classes that // should be excluded from the edition. - QMultiMap groups = tre->groups(); + QMultiMap groups = myTree->groups(); foreach (const QString &groupName, editionGroupMap[editionName]) { QList groupClasses; if (groupName.startsWith("-")) { @@ -689,7 +706,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, else if (atom->string() == "related") { const FakeNode *fake = static_cast(relative); if (fake && !fake->groupMembers().isEmpty()) { - QMap groupMembersMap; + NodeMap groupMembersMap; foreach (const Node *node, fake->groupMembers()) { if (node->type() == Node::Fake) groupMembersMap[fullName(node, relative, marker)] = node; @@ -713,18 +730,125 @@ int HtmlGenerator::generateAtom(const Atom *atom, break; case Atom::SinceList: { - QList nodes; - SinceVersionMap::const_iterator v; - v = sinceVersions.find(atom->string()); - if ((v != sinceVersions.constEnd()) && !v.value().isEmpty()) { + NodeMultiMapMap::const_iterator v; + v = nodeMultiMapMap.find(atom->string()); + NodeMapMap::const_iterator nc; + nc = nodeMapMap.find(atom->string()); + if ((v != nodeMultiMapMap.constEnd()) && !v.value().isEmpty()) { + QList
sections; + QList
::ConstIterator s; + for (int i=0; itype()) { + case Node::Namespace: + sections[Namespace].appendMember((Node*)node); + break; + case Node::Class: + sections[Class].appendMember((Node*)node); + break; + case Node::Enum: + sections[Enum].appendMember((Node*)node); + break; + case Node::Typedef: + sections[Typedef].appendMember((Node*)node); + break; + case Node::Function: + const FunctionNode* fn = static_cast(node); + if (fn->isMacro()) + sections[Macro].appendMember((Node*)node); + else { + Node* p = fn->parent(); + if (p) { + if (p->type() == Node::Class) + sections[MemberFunction].appendMember((Node*)node); + else if (p->type() == Node::Namespace) { + if (p->name().isEmpty()) + sections[GlobalFunction].appendMember((Node*)node); + else + sections[NamespaceFunction].appendMember((Node*)node); + } + else + sections[GlobalFunction].appendMember((Node*)node); + } + else + sections[GlobalFunction].appendMember((Node*)node); + } + break; + case Node::Property: + sections[Property].appendMember((Node*)node); + break; + case Node::Variable: + sections[Variable].appendMember((Node*)node); + break; + case Node::QmlProperty: + sections[QmlProperty].appendMember((Node*)node); + break; + case Node::QmlSignal: + sections[QmlSignal].appendMember((Node*)node); + break; + case Node::QmlMethod: + sections[QmlMethod].appendMember((Node*)node); + break; + default: + break; + } + ++n; + } + int idx = 0; + s = sections.constBegin(); + while (s != sections.constEnd()) { + if (!(*s).members.isEmpty()) { + out() << "\n"; + out() << "

" << protect((*s).name) << "

\n"; + if (idx == Class) + generateCompactList(0, marker, nc.value(), QString("Q")); + else if (idx == MemberFunction) { + NodeMultiMapMap nodemultimapmap; + NodeMultiMapMap::iterator nmmap; + NodeList::const_iterator i = s->members.constBegin(); + while (i != s->members.constEnd()) { + Node* p = (*i)->parent(); + nmmap = nodemultimapmap.find(p->name()); + if (nmmap == nodemultimapmap.end()) + nmmap = nodemultimapmap.insert(p->name(),NodeMultiMap()); + nmmap->insert((*i)->name(),(*i)); + ++i; + } + nmmap = nodemultimapmap.begin(); + while (nmmap != nodemultimapmap.end()) { + NodeList nlist = nmmap->values(); + out() << "

New functions in " << protect(nmmap.key()) << ":

\n"; + generateSection(nlist, 0, marker, CodeMarker::Summary); + out() << "
"; + ++nmmap; + } + } + else + generateSection(s->members, 0, marker, CodeMarker::Summary); + } + ++idx; + ++s; + } +#if 0 for (int i=0; !Node::typeName(i).isEmpty(); i++) { Node::Type t = (Node::Type) i; SinceNodeMultiMap::const_iterator n=v.value().constBegin(); QMultiMap nodeMap; while (n != v.value().constEnd()) { const Node* node = n.value(); - if (node->type() == t) + if (node->type() == t) { nodeMap.insert(node->nameForLists(),node); + if (node->type() == Node::Function) { + const FunctionNode* fn = static_cast(node); + qDebug() << "SIGNATURE:" << fn->signature(); + } + } ++n; } if (!nodeMap.isEmpty()) { @@ -737,10 +861,11 @@ int HtmlGenerator::generateAtom(const Atom *atom, nodeMap.clear(); } } +#endif } } break; -case Atom::Image: + case Atom::Image: case Atom::InlineImage: { QString fileName = imageFileName(relative, atom->string()); @@ -1151,7 +1276,7 @@ void HtmlGenerator::generateClassLikeNode(const InnerNode *inner, subtitleText << "[" << Atom(Atom::AutoLink, fixedModule) << " module]"; if (fixedModule.isEmpty()) { - QMultiMap publicGroups = tre->publicGroups(); + QMultiMap publicGroups = myTree->publicGroups(); QList groupNames = publicGroups.values(inner->name()); if (!groupNames.isEmpty()) { qSort(groupNames.begin(), groupNames.end()); @@ -1492,7 +1617,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) generateAlsoList(fake, marker); if (!fake->groupMembers().isEmpty()) { - QMap groupMembersMap; + NodeMap groupMembersMap; foreach (const Node *node, fake->groupMembers()) { if (node->type() == Node::Class || node->type() == Node::Namespace) groupMembersMap[node->name()] = node; @@ -1564,7 +1689,7 @@ void HtmlGenerator::generateHeader(const QString& title, if (node && !node->doc().location().isEmpty()) out() << "\n"; - shortVersion = tre->version(); + shortVersion = myTree->version(); if (shortVersion.count(QChar('.')) == 2) shortVersion.truncate(shortVersion.lastIndexOf(QChar('.'))); if (!shortVersion.isEmpty()) { @@ -1686,7 +1811,7 @@ void HtmlGenerator::generateHeader(const QString& title, "\n"; if (mainPage) generateMacRef(node, marker); - out() << QString(postHeader).replace("\\" + COMMAND_VERSION, tre->version()); + out() << QString(postHeader).replace("\\" + COMMAND_VERSION, myTree->version()); if (node && !node->links().empty()) @@ -1717,8 +1842,8 @@ void HtmlGenerator::generateFooter(const Node *node) if (node && !node->links().empty()) out() << "

\n" << navigationLinks << "

\n"; - out() << QString(footer).replace("\\" + COMMAND_VERSION, tre->version()) - << QString(address).replace("\\" + COMMAND_VERSION, tre->version()) + out() << QString(footer).replace("\\" + COMMAND_VERSION, myTree->version()) + << QString(address).replace("\\" + COMMAND_VERSION, myTree->version()) << "\n" "\n"; } @@ -1970,8 +2095,8 @@ void HtmlGenerator::generateClassHierarchy(const Node *relative, if (classMap.isEmpty()) return; - QMap topLevel; - QMap::ConstIterator c = classMap.begin(); + NodeMap topLevel; + NodeMap::ConstIterator c = classMap.begin(); while (c != classMap.end()) { const ClassNode *classe = static_cast(*c); if (classe->baseClasses().isEmpty()) @@ -1979,7 +2104,7 @@ void HtmlGenerator::generateClassHierarchy(const Node *relative, ++c; } - QStack > stack; + QStack stack; stack.push(topLevel); out() << "
    \n"; @@ -1996,7 +2121,7 @@ void HtmlGenerator::generateClassHierarchy(const Node *relative, out() << "\n"; stack.top().erase(stack.top().begin()); - QMap newTop; + NodeMap newTop; foreach (const RelatedClass &d, child->derivedClasses()) { if (d.access != Node::Private) newTop.insert(d.node->name(), d.node); @@ -2011,7 +2136,7 @@ void HtmlGenerator::generateClassHierarchy(const Node *relative, void HtmlGenerator::generateAnnotatedList(const Node *relative, CodeMarker *marker, - const QMap &nodeMap) + const NodeMap &nodeMap) { out() << "

    \n"; @@ -2049,9 +2174,19 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative, out() << "

    \n"; } +/*! + This function finds the common prefix of the names of all + the classes in \a classMap and then generates a compact + list of the class names alphabetized on the part of the + name not including the common prefix. You can tell the + function to use \a comonPrefix as the common prefix, but + normally you let it figure it out itself by looking at + the name of the first and last classes in \a classMap. + */ void HtmlGenerator::generateCompactList(const Node *relative, CodeMarker *marker, - const QMap &classMap) + const NodeMap &classMap, + QString commonPrefix) { const int NumParagraphs = 37; // '0' to '9', 'A' to 'Z', '_' const int NumColumns = 4; // number of columns in the result @@ -2060,67 +2195,78 @@ void HtmlGenerator::generateCompactList(const Node *relative, return; /* - First, find out the common prefix of all non-namespaced classes. - For Qt, the prefix is Q. It can easily be derived from the first - and last classes in alphabetical order (QAccel and QXtWidget in Qt 2.1). - */ - int commonPrefixLen = 0; - QString commonPrefix; - QString first; - QString last; - - QMap::const_iterator iter = classMap.begin(); - while (iter != classMap.end()) { - if (!iter.key().contains("::")) { - first = iter.key(); - break; + If commonPrefix is not empty, then the caller knows what + the common prefix is, so just use that. + */ + int commonPrefixLen = commonPrefix.length(); + if (commonPrefixLen == 0) { + QString first; + QString last; + + /* + First, find out the common prefix of all non-namespaced + classes. For Qt, the prefix is Q. It can easily be derived + from the first and last classes in alphabetical order + (QAccel and QXtWidget in Qt 2.1). + */ + + NodeMap::const_iterator iter = classMap.begin(); + while (iter != classMap.end()) { + if (!iter.key().contains("::")) { + first = iter.key(); + break; + } + ++iter; } - ++iter; - } - if (first.isEmpty()) - first = classMap.begin().key(); + if (first.isEmpty()) + first = classMap.begin().key(); - iter = classMap.end(); - while (iter != classMap.begin()) { - --iter; - if (!iter.key().contains("::")) { - last = iter.key(); - break; + iter = classMap.end(); + while (iter != classMap.begin()) { + --iter; + if (!iter.key().contains("::")) { + last = iter.key(); + break; + } } - } - if (last.isEmpty()) - last = classMap.begin().key(); + if (last.isEmpty()) + last = classMap.begin().key(); - if (classMap.size() > 1) { - while (commonPrefixLen < first.length() + 1 && - commonPrefixLen < last.length() + 1 && - first[commonPrefixLen] == last[commonPrefixLen]) - ++commonPrefixLen; - } + if (classMap.size() > 1) { + while (commonPrefixLen < first.length() + 1 && + commonPrefixLen < last.length() + 1 && + first[commonPrefixLen] == last[commonPrefixLen]) + ++commonPrefixLen; + } - commonPrefix = first.left(commonPrefixLen); + commonPrefix = first.left(commonPrefixLen); + } /* Divide the data into 37 paragraphs: 0, ..., 9, A, ..., Z, underscore (_). QAccel will fall in paragraph 10 (A) and QXtWidget in paragraph 33 (X). This is the only place where we assume that NumParagraphs is 37. Each paragraph is a - QMap. + NodeMap. */ - QMap paragraph[NumParagraphs+1]; + NodeMap paragraph[NumParagraphs+1]; QString paragraphName[NumParagraphs+1]; - QMap::ConstIterator c = classMap.begin(); + qDebug() << "START COMPACT LIST"; + NodeMap::ConstIterator c = classMap.begin(); while (c != classMap.end()) { QStringList pieces = c.key().split("::"); QString key; + int idx = commonPrefixLen; + if (!pieces.last().startsWith(commonPrefix)) + idx = 0; if (pieces.size() == 1) - key = pieces.last().mid(commonPrefixLen).toLower(); + key = pieces.last().mid(idx).toLower(); else key = pieces.last().toLower(); - + qDebug() << " KEY:" << key; int paragraphNo = NumParagraphs - 1; if (key[0].digitValue() != -1) { @@ -2134,6 +2280,7 @@ void HtmlGenerator::generateCompactList(const Node *relative, paragraph[paragraphNo].insert(key, c.value()); ++c; } + qDebug() << "END COMPACT LIST"; /* Each paragraph j has a size: paragraph[j].count(). In the @@ -2206,7 +2353,7 @@ void HtmlGenerator::generateCompactList(const Node *relative, if ((currentParagraphNo[i] < NumParagraphs) && !paragraphName[currentParagraphNo[i]].isEmpty()) { - QMap::Iterator it; + NodeMap::Iterator it; it = paragraph[currentParagraphNo[i]].begin(); for (j = 0; j < currentOffsetInParagraph[i]; j++) ++it; @@ -2253,7 +2400,7 @@ void HtmlGenerator::generateFunctionIndex(const Node *relative, #if 1 out() << "
      \n"; #endif - QMap >::ConstIterator f = funcIndex.begin(); + QMap::ConstIterator f = funcIndex.begin(); while (f != funcIndex.end()) { #if 1 out() << "
    • "; @@ -2268,7 +2415,7 @@ void HtmlGenerator::generateFunctionIndex(const Node *relative, nextLetter++; } - QMap::ConstIterator s = (*f).begin(); + NodeMap::ConstIterator s = (*f).begin(); while (s != (*f).end()) { out() << " "; generateFullName((*s)->parent(), relative, marker, *s); @@ -2384,7 +2531,7 @@ void HtmlGenerator::generateOverviewList(const Node *relative, CodeMarker * /* m QMap uncategorizedNodeMap; QRegExp singleDigit("\\b([0-9])\\b"); - const NodeList children = tre->root()->childNodes(); + const NodeList children = myTree->root()->childNodes(); foreach (Node *child, children) { if (child->type() == Node::Fake && child != relative) { FakeNode *fakeNode = static_cast(child); @@ -2436,7 +2583,7 @@ void HtmlGenerator::generateOverviewList(const Node *relative, CodeMarker * /* m else if (!isGroupPage) { // If we encounter a page that belongs to a group then // we add that page to the list for that group. - const FakeNode *groupNode = static_cast(tre->root()->findNode(group, Node::Fake)); + const FakeNode *groupNode = static_cast(myTree->root()->findNode(group, Node::Fake)); if (groupNode) fakeNodeMap[groupNode].insert(sortKey, fakeNode); //else @@ -2748,7 +2895,7 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, if (parseArg(src, funcTag, &i, n, &arg, &par1)) { QString link = linkForNode( marker->resolveTarget(par1.toString(), - tre, + myTree, relative), relative); addLink(link, arg, &html); @@ -2777,7 +2924,7 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, if (parseArg(src, typeTags[k], &i, n, &arg, &par1)) { par1 = QStringRef(); QString link = linkForNode( - marker->resolveTarget(arg.toString(), tre, relative), + marker->resolveTarget(arg.toString(), myTree, relative), relative); addLink(link, arg, &html); handled = true; @@ -3018,7 +3165,7 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, if (parseArg(src, funcTag, &i, n, &arg, &par1)) { QString link = linkForNode( marker->resolveTarget(par1.toString(), - tre, + myTree, relative), relative); addLink(link, arg, &html); @@ -3047,7 +3194,7 @@ QString HtmlGenerator::highlightedCode(const QString& markedCode, if (parseArg(src, typeTags[k], &i, n, &arg, &par1)) { par1 = QStringRef(); QString link = linkForNode( - marker->resolveTarget(arg.toString(), tre, relative), + marker->resolveTarget(arg.toString(), myTree, relative), relative); addLink(link, arg, &html); handled = true; @@ -3591,15 +3738,44 @@ void HtmlGenerator::findAllSince(const InnerNode *node) while (c != node->childNodes().constEnd()) { QString sinceVersion = (*c)->since(); if (((*c)->access() != Node::Private) && !sinceVersion.isEmpty()) { - SinceVersionMap::iterator vmap = sinceVersions.find(sinceVersion); - if (vmap == sinceVersions.end()) - vmap = sinceVersions.insert(sinceVersion,SinceNodeMultiMap()); + NodeMultiMapMap::iterator vmap = nodeMultiMapMap.find(sinceVersion); + if (vmap == nodeMultiMapMap.end()) + vmap = nodeMultiMapMap.insert(sinceVersion,NodeMultiMap()); + NodeMapMap::iterator ncmap = nodeMapMap.find(sinceVersion); + if (ncmap == nodeMapMap.end()) + ncmap = nodeMapMap.insert(sinceVersion,NodeMap()); + if ((*c)->type() == Node::Function) { FunctionNode *func = static_cast(*c); if ((func->status() > Node::Obsolete) && (func->metaness() != FunctionNode::Ctor) && (func->metaness() != FunctionNode::Dtor)) { vmap.value().insert(func->name(),(*c)); +#if 0 + qDebug() << "FUNCTION:" << func->name(); + Node* p = func->parent(); + if (p) { + if (p->type() == Node::Namespace) { + if (p->name().isEmpty()) + qDebug() << " Global namespace"; + else + qDebug() << " Namespace:" << p->name(); + } + else if (p->type() == Node::Class) + qDebug() << " Class:" << p->name(); + Node* q = p->parent(); + if (q) { + if (q->type() == Node::Namespace) { + if (q->name().isEmpty()) + qDebug() << " Grandparent Global namespace"; + else + qDebug() << " Grandparent Namespace:" << q->name(); + } + else if (q->type() == Node::Class) + qDebug() << " Grandparent Class:" << q->name(); + } + } +#endif } } else if ((*c)->url().isEmpty()) { @@ -3610,6 +3786,7 @@ void HtmlGenerator::findAllSince(const InnerNode *node) !(*c)->parent()->name().isEmpty()) className = (*c)->parent()->name()+"::"+className; vmap.value().insert(className,(*c)); + ncmap.value().insert(className,(*c)); } } else { @@ -3619,7 +3796,6 @@ void HtmlGenerator::findAllSince(const InnerNode *node) !(*c)->parent()->name().isEmpty()) name = (*c)->parent()->name()+"::"+name; vmap.value().insert(name,(*c)); - qDebug() << "GOT HEAH" << name; } if ((*c)->isInnerNode()) { findAllSince(static_cast(*c)); @@ -3646,9 +3822,10 @@ void HtmlGenerator::findAllFunctions(const InnerNode *node) } else if ((*c)->type() == Node::Function) { const FunctionNode *func = static_cast(*c); - if (func->status() > Node::Obsolete && func->metaness() != FunctionNode::Ctor - && func->metaness() != FunctionNode::Dtor) { - funcIndex[(*c)->name()].insert(tre->fullDocumentName((*c)->parent()), *c); + if ((func->status() > Node::Obsolete) && + (func->metaness() != FunctionNode::Ctor) && + (func->metaness() != FunctionNode::Dtor)) { + funcIndex[(*c)->name()].insert(myTree->fullDocumentName((*c)->parent()), *c); } } } @@ -3762,14 +3939,14 @@ const Node *HtmlGenerator::findNodeForTarget(const QString &target, node = relative; } else if (target.endsWith(".html")) { - node = tre->root()->findNode(target, Node::Fake); + node = myTree->root()->findNode(target, Node::Fake); } else if (marker) { - node = marker->resolveTarget(target, tre, relative); + node = marker->resolveTarget(target, myTree, relative); if (!node) - node = tre->findFakeNodeByTitle(target); + node = myTree->findFakeNodeByTitle(target); if (!node && atom) { - node = tre->findUnambiguousTarget(target, + node = myTree->findUnambiguousTarget(target, *const_cast(&atom)); } } @@ -3827,14 +4004,14 @@ QString HtmlGenerator::getLink(const Atom *atom, *node = relative; } else if (first.endsWith(".html")) { - *node = tre->root()->findNode(first, Node::Fake); + *node = myTree->root()->findNode(first, Node::Fake); } else { - *node = marker->resolveTarget(first, tre, relative); + *node = marker->resolveTarget(first, myTree, relative); if (!*node) - *node = tre->findFakeNodeByTitle(first); + *node = myTree->findFakeNodeByTitle(first); if (!*node) - *node = tre->findUnambiguousTarget(first, targetAtom); + *node = myTree->findUnambiguousTarget(first, targetAtom); } if (*node) { @@ -3886,7 +4063,7 @@ QString HtmlGenerator::getLink(const Atom *atom, } while (!path.isEmpty()) { - targetAtom = tre->findTarget(path.first(), *node); + targetAtom = myTree->findTarget(path.first(), *node); if (targetAtom == 0) break; path.removeFirst(); @@ -3915,7 +4092,7 @@ void HtmlGenerator::generateIndex(const QString &fileBase, const QString &url, const QString &title) { - tre->generateIndex(outputDir() + "/" + fileBase + ".index", url, title); + myTree->generateIndex(outputDir() + "/" + fileBase + ".index", url, title); } void HtmlGenerator::generateStatus(const Node *node, CodeMarker *marker) @@ -3930,18 +4107,21 @@ void HtmlGenerator::generateStatus(const Node *node, CodeMarker *marker) case Node::Compat: if (node->isInnerNode()) { text << Atom::ParaLeft - << Atom(Atom::FormattingLeft,ATOM_FORMATTING_BOLD) << "This " - << typeString(node) << " is part of the Qt 3 support library." + << Atom(Atom::FormattingLeft,ATOM_FORMATTING_BOLD) + << "This " + << typeString(node) + << " is part of the Qt 3 support library." << Atom(Atom::FormattingRight, ATOM_FORMATTING_BOLD) - << " It is provided to keep old source code working. We strongly advise against " + << " It is provided to keep old source code working. " + << "We strongly advise against " << "using it in new code. See "; - const FakeNode *fakeNode = tre->findFakeNodeByTitle("Porting To Qt 4"); + const FakeNode *fakeNode = myTree->findFakeNodeByTitle("Porting To Qt 4"); Atom *targetAtom = 0; if (fakeNode && node->type() == Node::Class) { QString oldName(node->name()); - targetAtom = tre->findTarget(oldName.replace("3", ""), - fakeNode); + targetAtom = myTree->findTarget(oldName.replace("3", ""), + fakeNode); } if (targetAtom) { @@ -4151,7 +4331,7 @@ void HtmlGenerator::generateQmlInherits(const QmlClassNode* cn, QPair linkPair; linkPair = cn->links()[Node::InheritsLink]; QStringList strList(linkPair.first); - const Node* n = tre->findNode(strList,Node::Fake); + const Node* n = myTree->findNode(strList,Node::Fake); if (n && n->subType() == Node::QmlClass) { const QmlClassNode* qcn = static_cast(n); out() << "

      "; @@ -4210,7 +4390,7 @@ void HtmlGenerator::generateInstantiatedBy(const ClassNode* cn, CodeMarker* marker) { if (cn && cn->status() != Node::Internal && !cn->qmlElement().isEmpty()) { - const Node* n = tre->root()->findNode(cn->qmlElement(),Node::Fake); + const Node* n = myTree->root()->findNode(cn->qmlElement(),Node::Fake); if (n && n->subType() == Node::QmlClass) { out() << "

      "; Text text; diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h index 3f6e564..fabfed1 100644 --- a/tools/qdoc3/htmlgenerator.h +++ b/tools/qdoc3/htmlgenerator.h @@ -67,14 +67,34 @@ struct NavigationBar }; #endif -typedef QMultiMap SinceNodeMultiMap; -typedef QMap SinceVersionMap; +typedef QMultiMap NodeMultiMap; +typedef QMap NodeMultiMapMap; +typedef QMap NodeMap; +typedef QMap NodeMapMap; class HelpProjectWriter; class HtmlGenerator : public PageGenerator { public: + enum SinceType { + Namespace, + Class, + MemberFunction, + NamespaceFunction, + GlobalFunction, + Macro, + Enum, + Typedef, + Property, + Variable, + QmlProperty, + QmlSignal, + QmlMethod, + LastSinceType + }; + + public: HtmlGenerator(); ~HtmlGenerator(); @@ -85,6 +105,7 @@ class HtmlGenerator : public PageGenerator static QString protect(const QString& string); static QString cleanRef(const QString& ref); + static QString sinceTitle(int i) { return sinceTitles[i]; } protected: virtual void startText(const Node *relative, CodeMarker *marker); @@ -134,13 +155,14 @@ class HtmlGenerator : public PageGenerator CodeMarker::Status status); void generateClassHierarchy(const Node *relative, CodeMarker *marker, - const QMap &classMap); + const NodeMap &classMap); void generateAnnotatedList(const Node *relative, CodeMarker *marker, - const QMap &nodeMap); + const NodeMap &nodeMap); void generateCompactList(const Node *relative, CodeMarker *marker, - const QMap &classMap); + const NodeMap &classMap, + QString commonPrefix = QString()); void generateFunctionIndex(const Node *relative, CodeMarker *marker); void generateLegaleseList(const Node *relative, CodeMarker *marker); void generateOverviewList(const Node *relative, CodeMarker *marker); @@ -273,23 +295,25 @@ class HtmlGenerator : public PageGenerator QString navigationLinks; QStringList stylesheets; QStringList customHeadElements; - const Tree *tre; + const Tree *myTree; bool slow; bool obsoleteLinks; - QMap > moduleClassMap; - QMap > moduleNamespaceMap; - QMap nonCompatClasses; - QMap mainClasses; - QMap compatClasses; - QMap obsoleteClasses; - QMap namespaceIndex; - QMap serviceClasses; + QMap moduleClassMap; + QMap moduleNamespaceMap; + NodeMap nonCompatClasses; + NodeMap mainClasses; + NodeMap compatClasses; + NodeMap obsoleteClasses; + NodeMap namespaceIndex; + NodeMap serviceClasses; #ifdef QDOC_QML - QMap qmlClasses; + NodeMap qmlClasses; #endif - QMap > funcIndex; + QMap funcIndex; QMap legaleseTexts; - SinceVersionMap sinceVersions; + NodeMultiMapMap nodeMultiMapMap; + static QString sinceTitles[]; + NodeMapMap nodeMapMap; }; #define HTMLGENERATOR_ADDRESS "address" @@ -303,3 +327,4 @@ class HtmlGenerator : public PageGenerator QT_END_NAMESPACE #endif + diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp index d547d20..558808f 100644 --- a/tools/qdoc3/node.cpp +++ b/tools/qdoc3/node.cpp @@ -48,29 +48,17 @@ QT_BEGIN_NAMESPACE -QString Node::typeNames[] = - { - "Namespaces", - "Classes", - "Fake", - "Enums", - "Typedefs", - "Functions and Macros", - "Properties", - "Variables", - "Targets", - "Qml Properties", - "Qml Signals", - "Qml Methods", - "" - }; - /*! \class Node - \brief A node in a Tree. + \brief The Node class is a node in the Tree. + + A Node represents a class or function or something else + from the source code.. */ /*! + When this Node is destroyed, if it has a parent Node, it + removes itself from the parent node's child list. */ Node::~Node() { @@ -81,6 +69,11 @@ Node::~Node() } /*! + Sets this Node's Doc to \a doc. If \a replace is false and + this Node already has a Doc, a warning is reported that the + Doc is being overridden, and it reports where the previous + Doc was found. If \a replace is true, the Doc is replaced + silently. */ void Node::setDoc(const Doc& doc, bool replace) { @@ -840,9 +833,17 @@ void TypedefNode::setAssociatedEnum(const EnumNode *enume) /*! \class Parameter + \brief The class Parameter contains one parameter. + + A parameter can be a function parameter or a macro + parameter. */ /*! + Constructs this parameter from the left and right types + \a leftType and rightType, the parameter \a name, and the + \a defaultValue. In practice, \a rightType is not used, + and I don't know what is was meant for. */ Parameter::Parameter(const QString& leftType, const QString& rightType, @@ -853,6 +854,7 @@ Parameter::Parameter(const QString& leftType, } /*! + The standard copy constructor copies the strings from \a p. */ Parameter::Parameter(const Parameter& p) : lef(p.lef), rig(p.rig), nam(p.nam), def(p.def) @@ -860,6 +862,8 @@ Parameter::Parameter(const Parameter& p) } /*! + Assigning Parameter \a p to this Parameter copies the + strings across. */ Parameter& Parameter::operator=(const Parameter& p) { @@ -871,6 +875,23 @@ Parameter& Parameter::operator=(const Parameter& p) } /*! + Reconstructs the text describing the parameter and + returns it. If \a value is true, the default value + will be included, if there is one. + */ +QString Parameter::reconstruct(bool value) const +{ + QString p = lef + rig; + if (!p.endsWith(QChar('*')) && !p.endsWith(QChar('&')) && !p.endsWith(QChar(' '))) + p += " "; + p += nam; + if (value) + p += def; + return p; +} + + +/*! \class FunctionNode */ @@ -924,6 +945,8 @@ void FunctionNode::borrowParameterNames(const FunctionNode *source) } /*! + If this function is a reimplementation, \a from points + to the FunctionNode of the function being reimplemented. */ void FunctionNode::setReimplementedFrom(FunctionNode *from) { @@ -932,6 +955,8 @@ void FunctionNode::setReimplementedFrom(FunctionNode *from) } /*! + Sets the "associated" property to \a property. The function + might be the setter or getter for a property, for example. */ void FunctionNode::setAssociatedProperty(PropertyNode *property) { @@ -939,6 +964,8 @@ void FunctionNode::setAssociatedProperty(PropertyNode *property) } /*! + Returns the overload number for this function obtained + from the parent. */ int FunctionNode::overloadNumber() const { @@ -946,6 +973,8 @@ int FunctionNode::overloadNumber() const } /*! + Returns the number of times this function name has been + overloaded, obtained from the parent. */ int FunctionNode::numOverloads() const { @@ -953,6 +982,7 @@ int FunctionNode::numOverloads() const } /*! + Returns the list of parameter names. */ QStringList FunctionNode::parameterNames() const { @@ -966,6 +996,46 @@ QStringList FunctionNode::parameterNames() const } /*! + Returns the list of reconstructed parameters. If \a values + is true, the default values are included, if any are present. + */ +QStringList FunctionNode::reconstructParams(bool values) const +{ + QStringList params; + QList::ConstIterator p = parameters().begin(); + while (p != parameters().end()) { + params << (*p).reconstruct(values); + ++p; + } + return params; +} + +/*! + Reconstructs and returns the function's signature. If \a values + is true, the default values of the parameters are included, if + present. + */ +QString FunctionNode::signature(bool values) const +{ + QString s; + if (!returnType().isEmpty()) + s = returnType() + " "; + s += name() + "("; + QStringList params = reconstructParams(values); + int p = params.size(); + if (p > 0) { + for (int i=0; i &reimplementedBy() const { return rb; } const PropertyNode *associatedProperty() const { return ap; } + const QStringList& parentPath() const { return pp; } + + QStringList reconstructParams(bool values = false) const; + QString signature(bool values = false) const; private: void setAssociatedProperty(PropertyNode *property); @@ -576,9 +583,10 @@ class FunctionNode : public LeafNode friend class InnerNode; friend class PropertyNode; - QString rt; + QString rt; + QStringList pp; #ifdef Q_WS_WIN - Metaness met; + Metaness met; Virtualness vir; #else Metaness met : 4; -- cgit v0.12 From 0054b444a202d08167c49a1a94fd2d306d14f91f Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 8 Oct 2009 16:06:12 +0200 Subject: Fix context menu and menu key in QGraphicsView. This fixes a weird bug when pressing the menu key on a proxy that embed a lineedit (but the proxy don't have the focus). At each time the key was pressed a context menu was created. When we press the menu key, QWidgetMapper will create a context menu event that will be sent to the QGraphicsView and will end up in QGraphicsScene. QGraphicsScene will then try to find all items under the mouse and will try to find any item from this list that accept this contextMenuEvent. In our case the proxy will always accept it and therefor will always send it to the widget that it owns and that's why we had this infinite numbers of QMenu. In QWidget world the context menu event is always sent to the widget that has the focus. If you checked any QWidget subclasses you'll see that all of them assume that when they get a context menu event everything is fine focus wise. We could have changed QGraphicsScene::contextMenuEvent but this will breaks some existing code. Instead we just checked that QGraphicsProxyWidget has the focus before we actually send the contextMenuEvent to the widget it owns. I have modified an existing auto-test to cover that. Be careful widget->setContextMenuPolicy(Qt::ActionsContextMenu) means that you will get no contextMenuEvent. :D. In this test i cover the standard use case and the one with Qt::ActionsContextMenu with and without the focus on the proxy. Task-number:QTBUG-3787 Reviewed-by:jan-arve --- src/gui/graphicsview/qgraphicsproxywidget.cpp | 2 +- .../tst_qgraphicsproxywidget.cpp | 57 +++++++++++++++++----- 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsproxywidget.cpp b/src/gui/graphicsview/qgraphicsproxywidget.cpp index 15b9ff3..b7a3962 100644 --- a/src/gui/graphicsview/qgraphicsproxywidget.cpp +++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp @@ -973,7 +973,7 @@ void QGraphicsProxyWidget::hideEvent(QHideEvent *event) void QGraphicsProxyWidget::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) { Q_D(QGraphicsProxyWidget); - if (!event || !d->widget || !d->widget->isVisible()) + if (!event || !d->widget || !d->widget->isVisible() || !hasFocus()) return; // Find widget position and receiver. diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp index 76e7202..d8d97e8 100644 --- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp +++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp @@ -170,6 +170,7 @@ private slots: void dontCrashWhenDie(); void createProxyForChildWidget(); void actionsContextMenu(); + void actionsContextMenu_data(); void deleteProxyForChildWidget(); void bypassGraphicsProxyWidget_data(); void bypassGraphicsProxyWidget(); @@ -3014,30 +3015,64 @@ private slots: } }; +void tst_QGraphicsProxyWidget::actionsContextMenu_data() +{ + QTest::addColumn("actionsContextMenu"); + QTest::addColumn("hasFocus"); + + QTest::newRow("without actionsContextMenu and with focus") << false << true; + QTest::newRow("without actionsContextMenu and without focus") << false << false; + QTest::newRow("with actionsContextMenu and focus") << true << true; + QTest::newRow("with actionsContextMenu without focus") << true << false; +} + void tst_QGraphicsProxyWidget::actionsContextMenu() { - ContextMenuWidget *widget = new ContextMenuWidget; - widget->addAction(new QAction("item 1", widget)); - widget->addAction(new QAction("item 2", widget)); - widget->addAction(new QAction("item 3", widget)); - widget->setContextMenuPolicy(Qt::ActionsContextMenu); + QFETCH(bool, hasFocus); + QFETCH(bool, actionsContextMenu); + ContextMenuWidget *widget = new ContextMenuWidget; + if (actionsContextMenu) { + widget->addAction(new QAction("item 1", widget)); + widget->addAction(new QAction("item 2", widget)); + widget->addAction(new QAction("item 3", widget)); + widget->setContextMenuPolicy(Qt::ActionsContextMenu); + } QGraphicsScene scene; - scene.addWidget(widget); + + if (hasFocus) + scene.addWidget(widget)->setFocus(); + else + scene.addWidget(widget)->clearFocus(); QGraphicsView view(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif + QTest::qWaitForWindowShown(&view); + view.setFocus(); QContextMenuEvent contextMenuEvent(QContextMenuEvent::Mouse, view.viewport()->rect().center(), view.viewport()->mapToGlobal(view.viewport()->rect().center())); contextMenuEvent.accept(); qApp->sendEvent(view.viewport(), &contextMenuEvent); - QVERIFY(widget->embeddedPopup); - QVERIFY(!widget->gotContextMenuEvent); + QApplication::processEvents(); + + if (hasFocus) { + if (actionsContextMenu) { + //actionsContextMenu embedded popup but no contextMenuEvent (widget has focus) + QVERIFY(widget->embeddedPopup); + QVERIFY(!widget->gotContextMenuEvent); + } else { + //no embedded popup but contextMenuEvent (widget has focus) + QVERIFY(!widget->embeddedPopup); + QVERIFY(widget->gotContextMenuEvent); + } + } else { + //qgraphicsproxywidget doesn't have the focus, the widget must not receive any contextMenuEvent and must not create any QMenu + QVERIFY(!widget->embeddedPopup); + QVERIFY(!widget->gotContextMenuEvent); + } + } -- cgit v0.12 From 712bdb01662a5724fa593937cfbb447f936998d4 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Thu, 8 Oct 2009 16:07:10 +0200 Subject: qdoc: Removed some debug code and #if 0 code. --- tools/qdoc3/htmlgenerator.cpp | 114 +----------------------------------------- 1 file changed, 1 insertion(+), 113 deletions(-) diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index e883dfa..ed3a485 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -350,64 +350,6 @@ void HtmlGenerator::generateTree(const Tree *tree, CodeMarker *marker) #endif findAllSince(tree->root()); -#if 0 - if (!sinceVersions.isEmpty()) { - SinceVersionMap::const_iterator v = sinceVersions.constEnd(); - do { - --v; - qDebug() << "SINCE:" << v.key(); - if (!v.value().isEmpty()) { - QString type; - SinceNodeMultiMap::const_iterator n = v.value().constBegin(); - while (n != v.value().constEnd()) { - switch (n.value()->type()) { - case Node::Namespace: - type = "namespace"; - break; - case Node::Class: - type = "class"; - break; - case Node::Fake: - type = "fake"; - break; - case Node::Enum: - type = "enum"; - break; - case Node::Typedef: - type = "typedef"; - break; - case Node::Function: - type = "function"; - break; - case Node::Property: - type = "property"; - break; - case Node::Variable: - type = "variable"; - break; - case Node::Target: - type = "target"; - break; - case Node::QmlProperty: - type = "QML property"; - break; - case Node::QmlSignal: - type = "QML signal"; - break; - case Node::QmlMethod: - type = "QML method"; - break; - default: - type = "No type"; - } - qDebug() << " " << type << n.key(); - ++n; - } - } - } while (v != sinceVersions.constBegin()); - } -#endif - PageGenerator::generateTree(tree, marker); dcfClassesRoot.ref = "classes.html"; @@ -835,33 +777,6 @@ int HtmlGenerator::generateAtom(const Atom *atom, ++idx; ++s; } -#if 0 - for (int i=0; !Node::typeName(i).isEmpty(); i++) { - Node::Type t = (Node::Type) i; - SinceNodeMultiMap::const_iterator n=v.value().constBegin(); - QMultiMap nodeMap; - while (n != v.value().constEnd()) { - const Node* node = n.value(); - if (node->type() == t) { - nodeMap.insert(node->nameForLists(),node); - if (node->type() == Node::Function) { - const FunctionNode* fn = static_cast(node); - qDebug() << "SIGNATURE:" << fn->signature(); - } - } - ++n; - } - if (!nodeMap.isEmpty()) { - out() << "

      " - << Node::typeName(i) - << " new in Qt " - << atom->string() - << "

      "; - generateAnnotatedList(relative, marker, nodeMap); - nodeMap.clear(); - } - } -#endif } } break; @@ -2254,7 +2169,6 @@ void HtmlGenerator::generateCompactList(const Node *relative, NodeMap paragraph[NumParagraphs+1]; QString paragraphName[NumParagraphs+1]; - qDebug() << "START COMPACT LIST"; NodeMap::ConstIterator c = classMap.begin(); while (c != classMap.end()) { QStringList pieces = c.key().split("::"); @@ -2266,7 +2180,7 @@ void HtmlGenerator::generateCompactList(const Node *relative, key = pieces.last().mid(idx).toLower(); else key = pieces.last().toLower(); - qDebug() << " KEY:" << key; + int paragraphNo = NumParagraphs - 1; if (key[0].digitValue() != -1) { @@ -2280,7 +2194,6 @@ void HtmlGenerator::generateCompactList(const Node *relative, paragraph[paragraphNo].insert(key, c.value()); ++c; } - qDebug() << "END COMPACT LIST"; /* Each paragraph j has a size: paragraph[j].count(). In the @@ -3751,31 +3664,6 @@ void HtmlGenerator::findAllSince(const InnerNode *node) (func->metaness() != FunctionNode::Ctor) && (func->metaness() != FunctionNode::Dtor)) { vmap.value().insert(func->name(),(*c)); -#if 0 - qDebug() << "FUNCTION:" << func->name(); - Node* p = func->parent(); - if (p) { - if (p->type() == Node::Namespace) { - if (p->name().isEmpty()) - qDebug() << " Global namespace"; - else - qDebug() << " Namespace:" << p->name(); - } - else if (p->type() == Node::Class) - qDebug() << " Class:" << p->name(); - Node* q = p->parent(); - if (q) { - if (q->type() == Node::Namespace) { - if (q->name().isEmpty()) - qDebug() << " Grandparent Global namespace"; - else - qDebug() << " Grandparent Namespace:" << q->name(); - } - else if (q->type() == Node::Class) - qDebug() << " Grandparent Class:" << q->name(); - } - } -#endif } } else if ((*c)->url().isEmpty()) { -- cgit v0.12 From e38529caa8e188b83c529e3eaca4eab8b8ab393d Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 8 Oct 2009 13:52:15 +0200 Subject: Stabilize Tests --- tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp | 8 +++----- tests/auto/qspinbox/tst_qspinbox.cpp | 10 ++++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp index 8459331..f5e9acb 100644 --- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp @@ -2819,17 +2819,15 @@ void tst_QGraphicsScene::update2() CustomView view; view.setScene(&scene); view.show(); -#ifdef Q_WS_X11 - qt_x11_wait_for_window_manager(&view); -#endif - QTest::qWait(250); + QTest::qWaitForWindowShown(&view); + QTRY_VERIFY(view.repaints >= 1); view.repaints = 0; // Make sure QGraphicsScene::update only requires one event-loop iteration // before the view is updated. scene.update(); qApp->processEvents(); - QCOMPARE(view.repaints, 1); + QTRY_COMPARE(view.repaints, 1); view.repaints = 0; // The same for partial scene updates. diff --git a/tests/auto/qspinbox/tst_qspinbox.cpp b/tests/auto/qspinbox/tst_qspinbox.cpp index 4829b6b..2389060 100644 --- a/tests/auto/qspinbox/tst_qspinbox.cpp +++ b/tests/auto/qspinbox/tst_qspinbox.cpp @@ -980,26 +980,28 @@ void tst_QSpinBox::sizeHint() sizeHint_SpinBox *spinBox = new sizeHint_SpinBox; layout->addWidget(spinBox); widget->show(); - QTest::qWait(100); + QTest::qWaitForWindowShown(widget); // Prefix spinBox->sizeHintRequests = 0; spinBox->setPrefix(QLatin1String("abcdefghij")); qApp->processEvents(); - QVERIFY(spinBox->sizeHintRequests > 0); + QTRY_VERIFY(spinBox->sizeHintRequests > 0); // Suffix spinBox->sizeHintRequests = 0; spinBox->setSuffix(QLatin1String("abcdefghij")); qApp->processEvents(); - QVERIFY(spinBox->sizeHintRequests > 0); + QTRY_VERIFY(spinBox->sizeHintRequests > 0); // Range spinBox->sizeHintRequests = 0; spinBox->setRange(0, 1234567890); spinBox->setValue(spinBox->maximum()); qApp->processEvents(); - QVERIFY(spinBox->sizeHintRequests > 0); + QTRY_VERIFY(spinBox->sizeHintRequests > 0); + + delete widget; } QTEST_MAIN(tst_QSpinBox) -- cgit v0.12 From db1162da76f1d257ba9bfcaef574275e7430385f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Thu, 8 Oct 2009 16:17:58 +0200 Subject: Rename identifyNonFloatItems -> identifyFloatItems. We changed the behaviour of that, so the name should reflect that. --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 14 +++++++------- src/gui/graphicsview/qgraphicsanchorlayout_p.h | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index 2b3e405..f9b5c8c 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -275,8 +275,8 @@ static qreal getFactor(qreal value, qreal min, qreal pref, qreal max) } } -static qreal getExpandingFactor(qreal expSize, qreal sizeAtPreferred, - qreal sizeAtExpanding, qreal sizeAtMaximum) +static qreal getExpandingFactor(const qreal &expSize, const qreal &sizeAtPreferred, + const qreal &sizeAtExpanding, const qreal &sizeAtMaximum) { const qreal lower = qMin(sizeAtPreferred, sizeAtMaximum); const qreal upper = qMax(sizeAtPreferred, sizeAtMaximum); @@ -1842,10 +1842,10 @@ void QGraphicsAnchorLayoutPrivate::findPaths(Orientation orientation) } } - // We will walk through every reachable items (non-float) and mark them - // by keeping their references on m_nonFloatItems. With this we can easily - // identify non-float and float items. - identifyNonFloatItems(visited, orientation); + // We will walk through every reachable items (non-float) store them in a temporary set. + // We them create a set of all items and subtract the non-floating items from the set in + // order to get the floating items. The floating items is then stored in m_floatItems + identifyFloatItems(visited, orientation); } /*! @@ -2008,7 +2008,7 @@ QGraphicsAnchorLayoutPrivate::getGraphParts(Orientation orientation) Use all visited Anchors on findPaths() so we can identify non-float Items. */ -void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems(const QSet &visited, Orientation orientation) +void QGraphicsAnchorLayoutPrivate::identifyFloatItems(const QSet &visited, Orientation orientation) { QSet nonFloating; diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h index 0f045e5..9ac0e19 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h @@ -443,7 +443,7 @@ public: void constraintsFromPaths(Orientation orientation); QList constraintsFromSizeHints(const QList &anchors); QList > getGraphParts(Orientation orientation); - void identifyNonFloatItems(const QSet &visited, Orientation orientation); + void identifyFloatItems(const QSet &visited, Orientation orientation); void identifyNonFloatItems_helper(const AnchorData *ad, QSet *nonFloatingItemsIdentifiedSoFar); inline AnchorVertex *internalVertex(const QPair &itemEdge) const -- cgit v0.12 From dbf0d8c50fce24d36dd5e6eac853a1242ad89455 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 8 Oct 2009 17:46:48 +0200 Subject: Skip the crashing selftest on Mac The signal handler does seem to work on Mac for segfault Reviewed-by: Rohan McGovern --- tests/auto/selftests/tst_selftests.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/selftests/tst_selftests.cpp b/tests/auto/selftests/tst_selftests.cpp index 1a2de65..579f4eb 100644 --- a/tests/auto/selftests/tst_selftests.cpp +++ b/tests/auto/selftests/tst_selftests.cpp @@ -299,7 +299,7 @@ void tst_Selftests::runSubTest() void tst_Selftests::initTestCase() { -#ifndef Q_OS_UNIX +#if !defined(Q_OS_UNIX) || defined(Q_WS_MAC) m_checkXMLBlacklist.append("crashes"); // This test crashes (XML valid on Unix only) #endif m_checkXMLBlacklist.append("waitwithoutgui"); // This test is not a QTestLib test. -- cgit v0.12 From f7e13aefc24b98299d8fd44cad60cc13b16e4114 Mon Sep 17 00:00:00 2001 From: Rohan McGovern Date: Thu, 8 Oct 2009 17:47:24 +0200 Subject: Fixed compile. --- tools/qdoc3/htmlgenerator.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index ed3a485..033c62c 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -698,7 +698,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, case Node::Typedef: sections[Typedef].appendMember((Node*)node); break; - case Node::Function: + case Node::Function: { const FunctionNode* fn = static_cast(node); if (fn->isMacro()) sections[Macro].appendMember((Node*)node); @@ -720,6 +720,7 @@ int HtmlGenerator::generateAtom(const Atom *atom, sections[GlobalFunction].appendMember((Node*)node); } break; + } case Node::Property: sections[Property].appendMember((Node*)node); break; -- cgit v0.12 From e2282deeb67c22f42f1022be110a3e24723eb913 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 8 Oct 2009 18:30:39 +0200 Subject: Fixes XPASS on the QFileDialog test on Carbon Reviewed-by: alexis --- tests/auto/qfiledialog/tst_qfiledialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp index f6b082f..dc2ca61 100644 --- a/tests/auto/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp @@ -944,7 +944,7 @@ void tst_QFiledialog::selectFiles() QVERIFY(listView); for (int i = 0; i < list.count(); ++i) { fd.selectFile(fd.directory().path() + "/" + list.at(i)); -#if defined(Q_WS_MAC) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN) +#if defined(QT_MAC_USE_COCOA) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN) QEXPECT_FAIL("", "This test does not work on Mac, Windows, or Symbian", Abort); #endif QTRY_VERIFY(!listView->selectionModel()->selectedRows().isEmpty()); -- cgit v0.12 From e738c8c90b21ca2c3d2c5d1271fd7a06a1a32c5f Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 8 Oct 2009 20:40:31 +0200 Subject: QS60Style: Re-enable color-from-skin-part extraction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After introducing native pixmap support, we had some crashes on certain setups (e.g. 3.2 Emulator) when accessing data that came from native pixmaps (FBServ). However, after fix 064674426ef0c446561b0c338441bb7d5ca091bf this is not reproducable, anymore. Therefore let's re-enable color extraction and enjoy better color palettes. Reviewed-By: Sami Merilä --- src/gui/styles/qs60style.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 6bdb79e..59787da 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -706,11 +706,10 @@ void QS60StylePrivate::setThemePalette(QPalette *palette) const palette->setColor(QPalette::AlternateBase, Qt::transparent); palette->setBrush(QPalette::Base, Qt::transparent); // set button and tooltipbase based on pixel colors -// After natitive pixmap support, colorFromFrameGraphics caused reproducable crashes on some setups. -// const QColor buttonColor = colorFromFrameGraphics(SF_ButtonNormal); -// palette->setColor(QPalette::Button, buttonColor); -// const QColor toolTipColor = colorFromFrameGraphics(SF_ToolTip); -// palette->setColor(QPalette::ToolTipBase, toolTipColor); + const QColor buttonColor = colorFromFrameGraphics(SF_ButtonNormal); + palette->setColor(QPalette::Button, buttonColor); + const QColor toolTipColor = colorFromFrameGraphics(SF_ToolTip); + palette->setColor(QPalette::ToolTipBase, toolTipColor); palette->setColor(QPalette::Light, palette->color(QPalette::Button).lighter()); palette->setColor(QPalette::Dark, palette->color(QPalette::Button).darker()); palette->setColor(QPalette::Midlight, palette->color(QPalette::Button).lighter(125)); -- cgit v0.12 From a2dcb039c336a4277949849cd1430812351da7ae Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 8 Oct 2009 20:45:16 +0200 Subject: Fix .ui of Styledemo (Layout tweaks) Let's make sure to have enough layout spacings around the widgets in order to see the focusrect. Also, the issue with the growing dialog is fixed. It was the spinbox and it's label which with the stylesheets set did not have enough horizontal space, and thus made the dialog grow on the following CSS change Reviewed-By: TrustMe --- demos/embedded/styledemo/stylewidget.ui | 333 ++++++++++++++------------------ 1 file changed, 149 insertions(+), 184 deletions(-) diff --git a/demos/embedded/styledemo/stylewidget.ui b/demos/embedded/styledemo/stylewidget.ui index a084dde..767f44a 100644 --- a/demos/embedded/styledemo/stylewidget.ui +++ b/demos/embedded/styledemo/stylewidget.ui @@ -6,28 +6,16 @@ 0 0 - 174 - 220 + 184 + 245 Form - - - 4 - - - 4 - - + + - - - 0 - 0 - - Styles @@ -141,7 +129,7 @@ - + Qt::Vertical @@ -154,156 +142,137 @@ - - + + + + 4 + + + + + + 0 + 0 + + + + Value: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::WheelFocus + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + false + + + + + + + - + 0 0 - - QFrame::StyledPanel + + + 0 + 24 + - - QFrame::Raised + + Qt::TabFocus + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + 0 + 24 + + + + Qt::TabFocus + + + Qt::Horizontal - - - 0 - - - - - - - - 0 - 0 - - - - My Value is: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - Qt::WheelFocus - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - false - - - - - - - - - 4 - - - - - - 0 - 0 - - - - - 0 - 24 - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - Qt::StrongFocus - - - Show - - - true - - - true - - - false - - - - - - - - 0 - 24 - - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - Qt::StrongFocus - - - Enable - - - true - - - true - - - false - - - - - - - + + + + + 0 + 0 + + + + Qt::StrongFocus + + + Show + + + true + + + true + + + false + + + + + + + + 0 + 0 + + + + Qt::StrongFocus + + + Enable + + + true + + + true + + + false + + + + Qt::Vertical @@ -319,32 +288,28 @@ - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::StrongFocus - - - Close - - - - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::StrongFocus + + + Close + + -- cgit v0.12 From a35c52abe95f224af062550e4954f7cbefca1bd8 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 8 Oct 2009 21:20:22 +0200 Subject: Color role with higher contrast for focusrect MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Low-risk, high value change. Beta worthy! As much as QPalette::Highlight sounds like a suitable color role for drawing a focus rect... It simply did not work well with a lot of S60 themes (e.g. the default N95 theme). QPalette::Text is a better candidate, since the S60 themes promise a good contrast of text on background graphics. Reviewed-By: Sami Merilä --- src/gui/styles/qs60style.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 59787da..4fa1d03 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -1864,7 +1864,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, painter->save(); painter->setRenderHint(QPainter::Antialiasing); painter->setOpacity(opacity); - painter->setPen(QPen(option->palette.color(QPalette::Highlight), penWidth)); + painter->setPen(QPen(option->palette.color(QPalette::Text), penWidth)); painter->drawRoundedRect(adjustedRect, roundRectRadius, roundRectRadius); painter->restore(); } -- cgit v0.12 From d2d8ccd4b1cb373499b036852850d439a025bbb1 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 9 Oct 2009 08:04:33 +1000 Subject: Don't print EGL buffer size if it isn't set. Reviewed-by: trustme --- src/gui/egl/qeglproperties.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/egl/qeglproperties.cpp b/src/gui/egl/qeglproperties.cpp index 02ae729..c61e1d3 100644 --- a/src/gui/egl/qeglproperties.cpp +++ b/src/gui/egl/qeglproperties.cpp @@ -313,7 +313,7 @@ QString QEglProperties::toString() const int alpha = value(EGL_ALPHA_SIZE); int bufferSize = value(EGL_BUFFER_SIZE); if (bufferSize == (red + green + blue + alpha)) - bufferSize = EGL_DONT_CARE; + bufferSize = 0; str += QLatin1String(" rgba="); str += QString::number(red); str += QLatin1Char(','); @@ -322,7 +322,7 @@ QString QEglProperties::toString() const str += QString::number(blue); str += QLatin1Char(','); str += QString::number(alpha); - if (bufferSize != EGL_DONT_CARE) { + if (bufferSize != 0) { // Only report buffer size if different than r+g+b+a. str += QLatin1String(" buffer-size="); str += QString::number(bufferSize); -- cgit v0.12 From 46843022acd7322c42a98858ec52b65ce7451d06 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 9 Oct 2009 08:44:12 +1000 Subject: Fix detection of pbuffers on OpenGL/ES systems The previous code was searching for an exact pbuffer format of RGBA = 1, 1, 1, 0, which of course is never going to happen. Instead, search for the best format. Reviewed-by: trustme --- src/opengl/qglpixelbuffer_egl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/qglpixelbuffer_egl.cpp b/src/opengl/qglpixelbuffer_egl.cpp index 4cba1bb..c2ba4a5 100644 --- a/src/opengl/qglpixelbuffer_egl.cpp +++ b/src/opengl/qglpixelbuffer_egl.cpp @@ -208,7 +208,7 @@ bool QGLPixelBuffer::hasOpenGLPbuffers() QEglProperties configProps; qt_egl_set_format(configProps, QInternal::Pbuffer, QGLFormat::defaultFormat()); configProps.setRenderableType(QEgl::OpenGL); - return ctx.chooseConfig(configProps); + return ctx.chooseConfig(configProps, QEgl::BestPixelFormat); } QT_END_NAMESPACE -- cgit v0.12 From ef8d9fa7091b0d45fe15aae43b8f1c47547cb16d Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 9 Oct 2009 08:56:45 +1000 Subject: Prevent double-destroy of a pbuffer's EGLSurface Fixing the surface memory leak in b125af1b for widgets caused this knock-on effect in pbuffers. Reviewed-by: trustme --- src/opengl/qglpixelbuffer_egl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/qglpixelbuffer_egl.cpp b/src/opengl/qglpixelbuffer_egl.cpp index c2ba4a5..2b5e2f5 100644 --- a/src/opengl/qglpixelbuffer_egl.cpp +++ b/src/opengl/qglpixelbuffer_egl.cpp @@ -151,7 +151,7 @@ bool QGLPixelBufferPrivate::init(const QSize &size, const QGLFormat &f, QGLWidge bool QGLPixelBufferPrivate::cleanup() { - eglDestroySurface(QEglContext::defaultDisplay(0), pbuf); + // No need to destroy "pbuf" here - it is done in QGLContext::reset(). return true; } -- cgit v0.12 From 71b3a986a602e47a4d4ba433465d0cd9d1e5e168 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 9 Oct 2009 10:54:33 +1000 Subject: Fix detection of pbuffers on OpenGL/ES systems The previous code was searching for an exact pbuffer format of RGBA = 1, 1, 1, 0, which of course is never going to happen. Instead, search for the best format. Reviewed-by: trustme Conflicts: src/opengl/qglpixelbuffer_egl.cpp Back-port of 46843022acd7322c42a98858ec52b65ce7451d06 --- src/opengl/qglpixelbuffer_egl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/qglpixelbuffer_egl.cpp b/src/opengl/qglpixelbuffer_egl.cpp index a501c47..b2f16c1 100644 --- a/src/opengl/qglpixelbuffer_egl.cpp +++ b/src/opengl/qglpixelbuffer_egl.cpp @@ -209,7 +209,7 @@ bool QGLPixelBuffer::hasOpenGLPbuffers() QEglProperties configProps; qt_egl_set_format(configProps, QInternal::Pbuffer, QGLFormat::defaultFormat()); configProps.setRenderableType(QEglContext::OpenGL); - return ctx.chooseConfig(configProps); + return ctx.chooseConfig(configProps, QEglContext::BestPixelFormat); } QT_END_NAMESPACE -- cgit v0.12 From 85bb10256b2745499f04c32a5ed738889606f6c3 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 9 Oct 2009 11:02:57 +1000 Subject: Back port fixes from PowerVR driver in 4.6 to 4.5 Pre-multiply fix: 01a671ff0bd380e5cff311cc233352c867a041a0 Painting performance: c3cfba7295c990d8135e1dd70b8cdbefd25615ab --- .../powervr/pvreglscreen/pvreglscreen.cpp | 2 +- .../powervr/pvreglscreen/pvreglwindowsurface.cpp | 21 +++++++++++++-------- .../powervr/pvreglscreen/pvreglwindowsurface.h | 2 ++ 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp index 25c5283..cb453d7 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp @@ -104,7 +104,7 @@ bool PvrEglScreen::connect(const QString &displaySpec) break; case PVR2D_ARGB8888: d = 32; - setPixelFormat(QImage::Format_ARGB32); + setPixelFormat(QImage::Format_ARGB32_Premultiplied); break; default: pvrQwsDisplayClose(); diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp index afee77e..09c0ace 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp @@ -149,6 +149,18 @@ void PvrEglWindowSurface::setPermanentState(const QByteArray &state) Q_UNUSED(state); } +void PvrEglWindowSurface::flush + (QWidget *widget, const QRegion ®ion, const QPoint &offset) +{ + // The GL paint engine is responsible for the swapBuffers() call. + // If we were to call the base class's implementation of flush() + // then it would fetch the image() and manually blit it to the + // screeen instead of using the fast PVR2D blit. + Q_UNUSED(widget); + Q_UNUSED(region); + Q_UNUSED(offset); +} + QImage PvrEglWindowSurface::image() const { if (drawable) { @@ -165,14 +177,7 @@ QImage PvrEglWindowSurface::image() const QPaintDevice *PvrEglWindowSurface::paintDevice() { - QGLWidget *glWidget = qobject_cast(window()); - if (glWidget) - return glWidget; - - // Should be a QGLWidget, but if not return a dummy paint device. - if (!pdevice) - pdevice = new QImage(50, 50, screen->pixelFormat()); - return pdevice; + return widget; } void PvrEglWindowSurface::setDirectRegion(const QRegion &r, int id) diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h index 80fc8f8..0da3653 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h @@ -65,6 +65,8 @@ public: QByteArray permanentState() const; void setPermanentState(const QByteArray &state); + void flush(QWidget *widget, const QRegion ®ion, const QPoint &offset); + QImage image() const; QPaintDevice *paintDevice(); -- cgit v0.12 From 3d91051ce5ff92501b33580f1726f6726795c42d Mon Sep 17 00:00:00 2001 From: Sarah Smith Date: Fri, 9 Oct 2009 12:00:25 +1000 Subject: hellogl now runs on QT_OPENGL_ES_1 (ie N95). effort to have examples show portable GL code continues. One #ifdef in whole example and it now runs on N95 and desktop. Reviewed-by: Rhys Weatherley --- examples/opengl/hellogl/glwidget.cpp | 12 ++++++++---- examples/opengl/hellogl/main.cpp | 10 +++++++++- examples/opengl/hellogl/window.cpp | 8 ++++++++ examples/opengl/hellogl/window.h | 3 +++ examples/opengl/opengl.pro | 3 +++ examples/opengl/shared/qtlogo.cpp | 6 ++++++ examples/opengl/shared/qtlogo.h | 2 +- 7 files changed, 38 insertions(+), 6 deletions(-) diff --git a/examples/opengl/hellogl/glwidget.cpp b/examples/opengl/hellogl/glwidget.cpp index 282f21f..ffb3b15 100644 --- a/examples/opengl/hellogl/glwidget.cpp +++ b/examples/opengl/hellogl/glwidget.cpp @@ -150,10 +150,10 @@ void GLWidget::paintGL() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); - glTranslated(0.0, 0.0, -10.0); - glRotated(xRot / 16.0, 1.0, 0.0, 0.0); - glRotated(yRot / 16.0, 0.0, 1.0, 0.0); - glRotated(zRot / 16.0, 0.0, 0.0, 1.0); + glTranslatef(0.0, 0.0, -10.0); + glRotatef(xRot / 16.0, 1.0, 0.0, 0.0); + glRotatef(yRot / 16.0, 0.0, 1.0, 0.0); + glRotatef(zRot / 16.0, 0.0, 0.0, 1.0); logo->draw(); } //! [7] @@ -166,7 +166,11 @@ void GLWidget::resizeGL(int width, int height) glMatrixMode(GL_PROJECTION); glLoadIdentity(); +#ifdef QT_OPENGL_ES_1 + glOrthof(-0.5, +0.5, -0.5, +0.5, 4.0, 15.0); +#else glOrtho(-0.5, +0.5, -0.5, +0.5, 4.0, 15.0); +#endif glMatrixMode(GL_MODELVIEW); } //! [8] diff --git a/examples/opengl/hellogl/main.cpp b/examples/opengl/hellogl/main.cpp index e645dba..f610b3b 100644 --- a/examples/opengl/hellogl/main.cpp +++ b/examples/opengl/hellogl/main.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include +#include #include "window.h" @@ -47,6 +48,13 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); Window window; - window.show(); + window.resize(window.sizeHint()); + int desktopArea = QApplication::desktop()->width() * + QApplication::desktop()->height(); + int widgetArea = window.width() * window.height(); + if (((float)widgetArea / (float)desktopArea) < 0.75f) + window.show(); + else + window.showMaximized(); return app.exec(); } diff --git a/examples/opengl/hellogl/window.cpp b/examples/opengl/hellogl/window.cpp index 2b06b9c..19a8aac 100644 --- a/examples/opengl/hellogl/window.cpp +++ b/examples/opengl/hellogl/window.cpp @@ -88,3 +88,11 @@ QSlider *Window::createSlider() return slider; } //! [2] + +void Window::keyPressEvent(QKeyEvent *e) +{ + if (e->key() == Qt::Key_Escape) + close(); + else + QWidget::keyPressEvent(e); +} diff --git a/examples/opengl/hellogl/window.h b/examples/opengl/hellogl/window.h index 7269a05..4cfd31b 100644 --- a/examples/opengl/hellogl/window.h +++ b/examples/opengl/hellogl/window.h @@ -57,6 +57,9 @@ class Window : public QWidget public: Window(); +protected: + void keyPressEvent(QKeyEvent *event); + private: QSlider *createSlider(); diff --git a/examples/opengl/opengl.pro b/examples/opengl/opengl.pro index 2cb8227..eaac9b8 100644 --- a/examples/opengl/opengl.pro +++ b/examples/opengl/opengl.pro @@ -9,6 +9,9 @@ contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles1cl)|contains(QT_CONF !contains(QT_CONFIG, opengles1cl) { SUBDIRS += textures } + contains(QT_CONFIG, opengles1) { + SUBDIRS += hellogl + } } else { SUBDIRS = 2dpainting \ grabber \ diff --git a/examples/opengl/shared/qtlogo.cpp b/examples/opengl/shared/qtlogo.cpp index b32b416..bad83d1 100644 --- a/examples/opengl/shared/qtlogo.cpp +++ b/examples/opengl/shared/qtlogo.cpp @@ -39,6 +39,12 @@ ** ****************************************************************************/ +#include +#include +#include + +#include + #include "qtlogo.h" static const qreal tee_height = 0.311126; diff --git a/examples/opengl/shared/qtlogo.h b/examples/opengl/shared/qtlogo.h index 4f5c357..152958b 100644 --- a/examples/opengl/shared/qtlogo.h +++ b/examples/opengl/shared/qtlogo.h @@ -43,7 +43,7 @@ #define QTLOGO_H #include -#include +#include class Patch; struct Geometry; -- cgit v0.12 From 8ee6d090d45198fb2530849236c97f014666b7e4 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 9 Oct 2009 13:13:51 +1000 Subject: EGL_SAMPLES should be 1, not -1, to select number of samples Reviewed-by: trustme --- src/opengl/qgl_egl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/qgl_egl.cpp b/src/opengl/qgl_egl.cpp index fa876c7..fbf0349 100644 --- a/src/opengl/qgl_egl.cpp +++ b/src/opengl/qgl_egl.cpp @@ -75,7 +75,7 @@ void qt_egl_set_format(QEglProperties& props, int deviceType, const QGLFormat& f props.setValue(EGL_STENCIL_SIZE, f.stencilBufferSize() == -1 ? 1 : f.stencilBufferSize()); if (f.sampleBuffers()) { props.setValue(EGL_SAMPLE_BUFFERS, 1); - props.setValue(EGL_SAMPLES, f.samples()); + props.setValue(EGL_SAMPLES, f.samples() == -1 ? 1 : f.samples()); } else { props.setValue(EGL_SAMPLE_BUFFERS, 0); } -- cgit v0.12 From 73d9dced8298dfad7bc72607146e81e96fffb6d4 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 9 Oct 2009 13:19:36 +1000 Subject: Suppress unnecessary warning messages if pbuffers are not supported Reviewed-by: trustme --- src/opengl/qglpixelbuffer_egl.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/opengl/qglpixelbuffer_egl.cpp b/src/opengl/qglpixelbuffer_egl.cpp index 2b5e2f5..744fbd4 100644 --- a/src/opengl/qglpixelbuffer_egl.cpp +++ b/src/opengl/qglpixelbuffer_egl.cpp @@ -202,13 +202,20 @@ GLuint QGLPixelBuffer::generateDynamicTexture() const bool QGLPixelBuffer::hasOpenGLPbuffers() { // See if we have at least 1 configuration that matches the default format. - QEglContext ctx; - if (!ctx.openDisplay(0)) + EGLDisplay dpy = QEglContext::defaultDisplay(0); + if (dpy == EGL_NO_DISPLAY) return false; QEglProperties configProps; qt_egl_set_format(configProps, QInternal::Pbuffer, QGLFormat::defaultFormat()); configProps.setRenderableType(QEgl::OpenGL); - return ctx.chooseConfig(configProps, QEgl::BestPixelFormat); + do { + EGLConfig cfg = 0; + EGLint matching = 0; + if (eglChooseConfig(dpy, configProps.properties(), + &cfg, 1, &matching) && matching > 0) + return true; + } while (configProps.reduceConfiguration()); + return false; } QT_END_NAMESPACE -- cgit v0.12 From f370b5d986529155baf7d9dd95678854df4105e0 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 9 Oct 2009 14:57:00 +1000 Subject: Check the framebuffer format against a format, not a texture target The previous code was comparing QGLFramebufferObjectFormat::textureTarget() against GL_RGB to determine if alpha was present. This should be internalTextureFormat() instead. Reviewed-by: Sarah Smith --- src/opengl/qglframebufferobject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index 3e54b35..5585208 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -988,7 +988,7 @@ QImage QGLFramebufferObject::toImage() const bool wasBound = isBound(); if (!wasBound) const_cast(this)->bind(); - QImage image = qt_gl_read_framebuffer(d->size, format().textureTarget() != GL_RGB, true); + QImage image = qt_gl_read_framebuffer(d->size, format().internalTextureFormat() != GL_RGB, true); if (!wasBound) const_cast(this)->release(); -- cgit v0.12 From de36243273661c5844d417793f02c8db4a5b5da9 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 16:51:52 +0100 Subject: Simplified handling of native window information in VideoPlayer Now retrieve RWsSession and CScreenDevice from CCoeEnv::Static() once (at construction), instead of at every call to getNativeWindowSystemHandles(). Collapsed m_screenRect and m_clipRect into a single m_rect member, since the two rectangles are always identical anyway. Reviewed-by: Frans Englich --- src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 110 +++++++++++++--------------- src/3rdparty/phonon/mmf/mmf_videoplayer.h | 9 +-- 2 files changed, 55 insertions(+), 64 deletions(-) diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index c7fa791..0d051ca 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -45,8 +45,8 @@ using namespace Phonon::MMF; //----------------------------------------------------------------------------- MMF::VideoPlayer::VideoPlayer() - : m_wsSession(0) - , m_screenDevice(0) + : m_wsSession(CCoeEnv::Static()->WsSession()) + , m_screenDevice(*CCoeEnv::Static()->ScreenDevice()) , m_window(0) , m_totalTime(0) , m_mmfOutputChangePending(false) @@ -56,8 +56,8 @@ MMF::VideoPlayer::VideoPlayer() MMF::VideoPlayer::VideoPlayer(const AbstractPlayer& player) : AbstractMediaPlayer(player) - , m_wsSession(0) - , m_screenDevice(0) + , m_wsSession(CCoeEnv::Static()->WsSession()) + , m_screenDevice(*CCoeEnv::Static()->ScreenDevice()) , m_window(0) , m_totalTime(0) , m_mmfOutputChangePending(false) @@ -86,21 +86,20 @@ void MMF::VideoPlayer::construct() // clipping region will be set to empty and the video will not be // visible. If this is the case, we should set m_mmfOutputChangePending // and respond to future showEvents from the videoOutput widget. - - TRAPD(err, - m_player.reset(CVideoPlayerUtility::NewL - ( - *this, - priority, preference, - *m_wsSession, *m_screenDevice, - *m_window, - m_windowRect, m_clipRect - )) - ); - if (KErrNone != err) { + TRAPD(err, + m_player.reset(CVideoPlayerUtility::NewL + ( + *this, + priority, preference, + m_wsSession, m_screenDevice, + *m_window, + m_rect, m_rect + )) + ); + + if (KErrNone != err) changeState(ErrorState); - } TRACE_EXIT_0(); } @@ -381,20 +380,20 @@ void MMF::VideoPlayer::updateMmfOutput() // need to call SetDisplayWindowL, and this is checked in // MvpuoPrepareComplete, at which point the MMF controller has been // loaded. - getNativeWindowSystemHandles(); - -// DEBUGGING *** DO NOT INTEGRATE *** -getDsaRegion(*m_wsSession, *m_window); + +#ifdef _DEBUG + getDsaRegion(m_wsSession, *m_window); +#endif TRAPD(err, - m_player->SetDisplayWindowL - ( - *m_wsSession, *m_screenDevice, - *m_window, - m_windowRect, m_clipRect - ) - ); + m_player->SetDisplayWindowL + ( + m_wsSession, m_screenDevice, + *m_window, + m_rect, m_rect + ) + ); if (KErrNone != err) { TRACE("SetDisplayWindowL error %d", err); @@ -440,44 +439,37 @@ void MMF::VideoPlayer::getNativeWindowSystemHandles() // Get top-level window control = QApplication::activeWindow()->effectiveWinId(); - CCoeEnv* const coeEnv = control->ControlEnv(); - m_wsSession = &(coeEnv->WsSession()); - m_screenDevice = coeEnv->ScreenDevice(); - m_window = control->DrawableWindow(); - #ifdef _DEBUG if(m_videoOutput) { - QScopedPointer dumper(new ObjectDump::QDumper); - dumper->setPrefix("Phonon::MMF"); // to aid searchability of logs - ObjectDump::addDefaultAnnotators(*dumper); - TRACE_0("Dumping VideoOutput:"); - dumper->dumpObject(*m_videoOutput); + QScopedPointer dumper(new ObjectDump::QDumper); + dumper->setPrefix("Phonon::MMF"); // to aid searchability of logs + ObjectDump::addDefaultAnnotators(*dumper); + TRACE_0("Dumping VideoOutput:"); + dumper->dumpObject(*m_videoOutput); } else { - TRACE_0("m_videoOutput is null - dumping top-level control info:"); - TRACE("control %08x", control); - TRACE("control.parent %08x", control->Parent()); - TRACE("control.isVisible %d", control->IsVisible()); - TRACE("control.rect %d,%d %dx%d", - control->Position().iX, control->Position().iY, - control->Size().iWidth, control->Size().iHeight); - TRACE("control.ownsWindow %d", control->OwnsWindow()); + TRACE_0("m_videoOutput is null - dumping top-level control info:"); + TRACE("control %08x", control); + TRACE("control.parent %08x", control->Parent()); + TRACE("control.isVisible %d", control->IsVisible()); + TRACE("control.rect %d,%d %dx%d", + control->Position().iX, control->Position().iY, + control->Size().iWidth, control->Size().iHeight); + TRACE("control.ownsWindow %d", control->OwnsWindow()); } #endif - m_windowRect = TRect( - control->DrawableWindow()->AbsPosition(), - control->DrawableWindow()->Size()); - m_clipRect = m_windowRect; - - TRACE("windowRect %d %d - %d %d", - m_windowRect.iTl.iX, m_windowRect.iTl.iY, - m_windowRect.iBr.iX, m_windowRect.iBr.iY); - TRACE("clipRect %d %d - %d %d", - m_clipRect.iTl.iX, m_clipRect.iTl.iY, - m_clipRect.iBr.iX, m_clipRect.iBr.iY); - - TRACE_EXIT_0(); + RWindowBase *const window = control->DrawableWindow(); + const TRect rect(window->AbsPosition(), window->Size()); + + TRACE("rect %d %d - %d %d", + rect.iTl.iX, rect.iTl.iY, + rect.iBr.iX, rect.iBr.iY); + + if(window != m_window || rect != m_rect) { + m_window = window; + m_rect = rect; + } } diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.h b/src/3rdparty/phonon/mmf/mmf_videoplayer.h index ee3650a..29e0839 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.h +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.h @@ -88,12 +88,11 @@ private: QScopedPointer m_player; // Not owned - RWsSession* m_wsSession; - CWsScreenDevice* m_screenDevice; + RWsSession& m_wsSession; + CWsScreenDevice& m_screenDevice; RWindowBase* m_window; - TRect m_windowRect; - TRect m_clipRect; - + TRect m_rect; + QSize m_frameSize; qint64 m_totalTime; -- cgit v0.12 From 37e34f7132298da5519f7f0466f91ed2670a1ac8 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 17:04:44 +0100 Subject: Preventing unnecessary calls to CVideoPlayerUtility::SetDisplayWindowL getNativeWindowSystemHandles now checks the window handle and screen rectangle against the previous value; SetDisplayWindowL is only called if the window and/or screen rectangle have changed. This allows videoOutputRegionChanged to be called 'speculatively' - i.e. in response to Qt events which may or may not reflect a change in the underlying window system - with only actual window system events getting propagated into the MMF. The reason for this change is that SetDisplayWindowL results in the current DSA session (owned by CVideoPlayerUtility) being torn down and a new one set up. This in turn requires handshaking with the window server, and may be slow. Reviewed-by: Frans Englich --- src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 40 ++++++++++++++++++----------- src/3rdparty/phonon/mmf/mmf_videoplayer.h | 8 +++--- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index 0d051ca..251a3b9 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -76,6 +76,7 @@ void MMF::VideoPlayer::construct() const TInt priority = 0; const TMdaPriorityPreference preference = EMdaPriorityPreferenceNone; + // Ignore return value - first call must always return true getNativeWindowSystemHandles(); // TODO: is this the correct way to handle errors which occur when @@ -326,14 +327,16 @@ void MMF::VideoPlayer::videoOutputRegionChanged() TRACE_CONTEXT(VideoPlayer::videoOutputRegionChanged, EVideoInternal); TRACE_ENTRY("state %d", state()); - getNativeWindowSystemHandles(); + const bool changed = getNativeWindowSystemHandles(); // See comment in updateMmfOutput - if(state() == LoadingState) - m_mmfOutputChangePending = true; - else - updateMmfOutput(); - + if(changed) { + if(state() == LoadingState) + m_mmfOutputChangePending = true; + else + updateMmfOutput(); + } + TRACE_EXIT_0(); } @@ -358,29 +361,31 @@ void getDsaRegion(RWsSession &session, const RWindowBase &window) err = dsa.Request(region, ao.Status(), window); ao.SetActive(); dsa.Close(); - ao.Cancel(); + ao.Cancel(); if(region) { qDebug() << "Phonon::MMF::getDsaRegion count" << region->Count(); for(int i=0; iCount(); ++i) { const TRect& rect = region->RectangleList()[i]; - qDebug() << "Phonon::MMF::getDsaRegion rect" << rect.iTl.iX << rect.iTl.iY << rect.iBr.iX << rect.iBr.iY; + qDebug() << "Phonon::MMF::getDsaRegion rect" + << rect.iTl.iX << rect.iTl.iY << rect.iBr.iX << rect.iBr.iY; } region->Close(); } } +#endif // _DEBUG + void MMF::VideoPlayer::updateMmfOutput() { TRACE_CONTEXT(VideoPlayer::updateMmfOutput, EVideoInternal); TRACE_ENTRY_0(); - - // Calling SetDisplayWindowL is a no-op unless the MMF controller has + + // Calling SetDisplayWindowL is a no-op unless the MMF controller has // been loaded, so we shouldn't do it. Instead, the // m_mmfOutputChangePending flag is used to record the fact that we - // need to call SetDisplayWindowL, and this is checked in + // need to call SetDisplayWindowL, and this is checked in // MvpuoPrepareComplete, at which point the MMF controller has been // loaded. - getNativeWindowSystemHandles(); #ifdef _DEBUG getDsaRegion(m_wsSession, *m_window); @@ -425,13 +430,13 @@ void MMF::VideoPlayer::videoOutputChanged() TRACE_EXIT_0(); } -void MMF::VideoPlayer::getNativeWindowSystemHandles() +bool MMF::VideoPlayer::getNativeWindowSystemHandles() { TRACE_CONTEXT(VideoPlayer::getNativeWindowSystemHandles, EVideoInternal); TRACE_ENTRY_0(); - + CCoeControl *control = 0; - + if(m_videoOutput) // Create native window control = m_videoOutput->winId(); @@ -466,10 +471,15 @@ void MMF::VideoPlayer::getNativeWindowSystemHandles() rect.iTl.iX, rect.iTl.iY, rect.iBr.iX, rect.iBr.iY); + bool changed = false; + if(window != m_window || rect != m_rect) { m_window = window; m_rect = rect; + changed = true; } + + TRACE_RETURN("changed %d", changed); } diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.h b/src/3rdparty/phonon/mmf/mmf_videoplayer.h index 29e0839..d3e148a 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.h +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.h @@ -80,10 +80,12 @@ private: // AbstractPlayer virtual void videoOutputChanged(); - - void getNativeWindowSystemHandles(); + + // Returns true if handles have changed + bool getNativeWindowSystemHandles(); + void updateMmfOutput(); - + private: QScopedPointer m_player; -- cgit v0.12 From 8fa32c467549d346024f4bd6b4518c7012a5cf55 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 17:11:07 +0100 Subject: Modified getDsaRegion to be compiled only in debug builds Reviewed-by: Frans Englich --- src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index 251a3b9..fdb7ff4 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -340,7 +340,13 @@ void MMF::VideoPlayer::videoOutputRegionChanged() TRACE_EXIT_0(); } -// DEBUGGING *** DO NOT INTEGRATE *** + +#ifdef _DEBUG + +// The following code is for debugging problems related to video visibility. It allows +// the VideoPlayer instance to query the window server in order to determine the +// DSA drawing region for the video window. + class CDummyAO : public CActive { public: @@ -351,7 +357,6 @@ public: void SetActive() { CActive::SetActive(); } }; -// DEBUGGING *** DO NOT INTEGRATE *** void getDsaRegion(RWsSession &session, const RWindowBase &window) { RDirectScreenAccess dsa(session); @@ -404,9 +409,9 @@ void MMF::VideoPlayer::updateMmfOutput() TRACE("SetDisplayWindowL error %d", err); setError(NormalError); } - + m_mmfOutputChangePending = false; - + TRACE_EXIT_0(); } -- cgit v0.12 From 7b4c917811f48328502ae4cd2a676a6f2d4f7a6b Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 17:13:19 +0100 Subject: Added ObjectDump annotator which prints Symbian-specific internal widget flags Reviewed-by: Frans Englich --- .../mmf/mmfphonondebug/objectdump_symbian.cpp | 30 ++++++++++++++++++++++ .../phonon/mmf/mmfphonondebug/objectdump_symbian.h | 10 ++++++++ 2 files changed, 40 insertions(+) diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp index 5ae10f9..8557e90 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp @@ -21,6 +21,8 @@ along with this library. If not, see . #include #include "objectdump_symbian.h" +#include // to access QWExtra + QT_BEGIN_NAMESPACE namespace ObjectDump @@ -28,6 +30,32 @@ namespace ObjectDump namespace Symbian { +QList QAnnotatorWidget::annotation(const QObject& object) +{ + QList result; + + const QWidget* widget = qobject_cast(&object); + if(widget) { + + const QWExtra* extra = qt_widget_private(const_cast(widget))->extraData(); + + if(extra) { + + QByteArray array; + QTextStream stream(&array); + + stream << "widget (Symbian): "; + stream << "activated " << extra->activated << ' '; + stream << "disableBlit " << extra->disableBlit << ' '; + + stream.flush(); + result.append(array); + } + } + + return result; +} + QList QAnnotatorControl::annotation(const QObject& object) { QList result; @@ -121,12 +149,14 @@ QList QAnnotatorWindow::annotation(const QObject& object) void addDefaultAnnotators_sys(QDumper& dumper) { + dumper.addAnnotator(new Symbian::QAnnotatorWidget); dumper.addAnnotator(new Symbian::QAnnotatorControl); dumper.addAnnotator(new Symbian::QAnnotatorWindow); } void addDefaultAnnotators_sys(QVisitor& visitor) { + visitor.addAnnotator(new Symbian::QAnnotatorWidget); visitor.addAnnotator(new Symbian::QAnnotatorControl); visitor.addAnnotator(new Symbian::QAnnotatorWindow); } diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h index 26ab308..563c862 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h @@ -29,6 +29,16 @@ namespace Symbian { /** + * Annotator which returns Symbian-specific widget information + */ +class QAnnotatorWidget : public QAnnotator +{ + Q_OBJECT +public: + QList annotation(const QObject& object); +}; + +/** * Annotator which returns control information */ class QAnnotatorControl : public QAnnotator -- cgit v0.12 From 252c3f9800444fc0e8f011ab0bf245d413acdb4d Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 17:14:25 +0100 Subject: Modified ObjectDump annotator for Symbian window information This prevents a crash when applied to controls which are non-window owning Reviewed-by: Frans Englich --- .../mmf/mmfphonondebug/objectdump_symbian.cpp | 70 +++++++++++----------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp index 8557e90..2fceb62 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp @@ -59,89 +59,89 @@ QList QAnnotatorWidget::annotation(const QObject& object) QList QAnnotatorControl::annotation(const QObject& object) { QList result; - + const QWidget* widget = qobject_cast(&object); if(widget) { - + const CCoeControl* control = widget->effectiveWinId(); if(control) { - + QByteArray array; QTextStream stream(&array); - + stream << "control: " << control << ' '; stream << "parent " << control->Parent() << ' '; - + if(control->IsVisible()) stream << "visible "; else stream << "invisible "; - + stream << control->Position().iX << ',' << control->Position().iY << ' '; stream << control->Size().iWidth << 'x' << control->Size().iHeight; - + if(control->OwnsWindow()) stream << " ownsWindow "; - + stream.flush(); result.append(array); } } - + return result; } QList QAnnotatorWindow::annotation(const QObject& object) { QList result; - + const QWidget* widget = qobject_cast(&object); if(widget) { - + const CCoeControl* control = widget->effectiveWinId(); - if(control) { - - RDrawableWindow& window = *(control->DrawableWindow()); - + RDrawableWindow *window = 0; + + if(control && (window = control->DrawableWindow())) { + QByteArray array; QTextStream stream(&array); - + stream << "window: "; - + // ClientHandle() is available first in 5.0. #if !defined(__SERIES60_31__) && !defined(__S60_32__) if (QSysInfo::s60Version() > QSysInfo::SV_S60_3_2) // Client-side window handle // Cast to a void pointer so that log output is in hexadecimal format. - stream << "cli " << reinterpret_cast(window.ClientHandle()) << ' '; + stream << "cli " << reinterpret_cast(window->ClientHandle()) << ' '; #endif // Server-side address of CWsWindow object // This is useful for correlation with the window tree dumped by the window // server (see RWsSession::LogCommand). // Cast to a void pointer so that log output is in hexadecimal format. - stream << "srv " << reinterpret_cast(window.WsHandle()) << ' '; - - stream << "group " << window.WindowGroupId() << ' '; - + stream << "srv " << reinterpret_cast(window->WsHandle()) << ' '; + + stream << "group " << window->WindowGroupId() << ' '; + // Client-side handle to the parent window. - // Cast to a void pointer so that log output is in hexadecimal format. - stream << "parent " << reinterpret_cast(window.Parent()) << ' '; - - stream << window.Position().iX << ',' << window.Position().iY << ' '; - stream << '(' << window.AbsPosition().iX << ',' << window.AbsPosition().iY << ") "; - stream << window.Size().iWidth << 'x' << window.Size().iHeight << ' '; - - const TDisplayMode displayMode = window.DisplayMode(); + // Cast to a void pointer so that log output is in hexadecimal format. + stream << "parent " << reinterpret_cast(window->Parent()) << ' '; + + stream << window->Position().iX << ',' << window->Position().iY << ' '; + stream << '(' << window->AbsPosition().iX << ',' << window->AbsPosition().iY << ") "; + stream << window->Size().iWidth << 'x' << window->Size().iHeight << ' '; + + const TDisplayMode displayMode = window->DisplayMode(); stream << "mode " << displayMode << ' '; - - stream << "ord " << window.OrdinalPosition(); - + + stream << "ord " << window->OrdinalPosition(); + stream.flush(); result.append(array); - } + } } - + return result; } -- cgit v0.12 From 23cbcae5c847342d69e593cae5406ce8344b7030 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 17:20:58 +0100 Subject: Refactored event-handling code in video widget Moved common code into videoOutputRegionChanged() Reviewed-by: Frans Englich --- src/3rdparty/phonon/mmf/videooutput.cpp | 25 +++++++++++++------------ src/3rdparty/phonon/mmf/videooutput.h | 3 ++- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp index 041b0a8..691c144 100644 --- a/src/3rdparty/phonon/mmf/videooutput.cpp +++ b/src/3rdparty/phonon/mmf/videooutput.cpp @@ -64,7 +64,7 @@ MMF::VideoOutput::VideoOutput(QWidget* parent) qt_widget_private(this)->extraData()->disableBlit = true; dump(); - + TRACE_EXIT_0(); } @@ -123,9 +123,7 @@ void MMF::VideoOutput::paintEvent(QPaintEvent* event) TRACE("regions %d", event->region().numRects()); TRACE("type %d", event->type()); - dump(); - - // Do not paint anything + // Do nothing } void MMF::VideoOutput::resizeEvent(QResizeEvent* event) @@ -135,10 +133,7 @@ void MMF::VideoOutput::resizeEvent(QResizeEvent* event) event->oldSize().width(), event->oldSize().height(), event->size().width(), event->size().height()); - QWidget::resizeEvent(event); - - if (m_observer) - m_observer->videoOutputRegionChanged(); + videoOutputRegionChanged(); } void MMF::VideoOutput::moveEvent(QMoveEvent* event) @@ -148,10 +143,9 @@ void MMF::VideoOutput::moveEvent(QMoveEvent* event) event->oldPos().x(), event->oldPos().y(), event->pos().x(), event->pos().y()); - QWidget::moveEvent(event); + videoOutputRegionChanged(); +} - if (m_observer) - m_observer->videoOutputRegionChanged(); } @@ -159,7 +153,14 @@ void MMF::VideoOutput::moveEvent(QMoveEvent* event) // Private functions //----------------------------------------------------------------------------- -void VideoOutput::dump() const +void MMF::VideoOutput::videoOutputRegionChanged() +{ + dump(); + if (m_observer) + m_observer->videoOutputRegionChanged(); +} + +void MMF::VideoOutput::dump() const { #ifdef _DEBUG TRACE_CONTEXT(VideoOutput::dump, EVideoInternal); diff --git a/src/3rdparty/phonon/mmf/videooutput.h b/src/3rdparty/phonon/mmf/videooutput.h index 639a5ed..3e58509 100644 --- a/src/3rdparty/phonon/mmf/videooutput.h +++ b/src/3rdparty/phonon/mmf/videooutput.h @@ -52,7 +52,8 @@ protected: private: void dump() const; - + void videoOutputRegionChanged(); + private: QSize m_frameSize; -- cgit v0.12 From dda32cb904430e225566b047004b93c7be8ecca9 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 17:22:21 +0100 Subject: Reformatting to comply with Qt code style Reviewed-by: Frans Englich --- src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 16 ++++++++-------- src/3rdparty/phonon/mmf/mmf_videoplayer.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index fdb7ff4..6d7e0ed 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -81,9 +81,9 @@ void MMF::VideoPlayer::construct() // TODO: is this the correct way to handle errors which occur when // creating a Symbian object in the constructor of a Qt object? - - // TODO: check whether videoOutput is visible? If not, then the - // corresponding window will not be active, meaning that the + + // TODO: check whether videoOutput is visible? If not, then the + // corresponding window will not be active, meaning that the // clipping region will be set to empty and the video will not be // visible. If this is the case, we should set m_mmfOutputChangePending // and respond to future showEvents from the videoOutput widget. @@ -120,13 +120,13 @@ MMF::VideoPlayer::~VideoPlayer() void MMF::VideoPlayer::doPlay() { TRACE_CONTEXT(VideoPlayer::doPlay, EVideoApi); - + // See comment in updateMmfOutput if(m_mmfOutputChangePending) { TRACE_0("MMF output change pending - pushing now"); updateMmfOutput(); } - + m_player->Play(); } @@ -149,7 +149,7 @@ void MMF::VideoPlayer::doStop() void MMF::VideoPlayer::doSeek(qint64 ms) { TRACE_CONTEXT(VideoPlayer::doSeek, EVideoApi); - + bool wasPlaying = false; if(state() == PlayingState) { // The call to SetPositionL does not have any effect if playback is @@ -258,8 +258,8 @@ void MMF::VideoPlayer::MvpuoPrepareComplete(TInt aError) if(m_mmfOutputChangePending) { TRACE_0("MMF output change pending - pushing now"); updateMmfOutput(); - } - + } + emit totalTimeChanged(totalTime()); changeState(StoppedState); } else { diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.h b/src/3rdparty/phonon/mmf/mmf_videoplayer.h index d3e148a..8072404 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.h +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.h @@ -99,7 +99,7 @@ private: qint64 m_totalTime; bool m_mmfOutputChangePending; - + }; } -- cgit v0.12 From 9371ae3ff036a622f578023377cfcacbc733b804 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 17:30:47 +0100 Subject: Modified reparenting to correctly deal with native child widgets Both reparenting and modification of window flags are done by calling QWidget::setParent. If either the parent changes, or a non-top-level widget becomes top-level (as a result of OR-ing Qt::Window into its window flags), a new native window ID is created for the widget. The Symbian implementation of setParent_sys had a flaw which manifested itself in the following situation: 1. We start with a native widget X, and its child Y, which is also native. There exist parent-child relationships between the associated CCoeControl instances, and the native windows (represented by RWindow handles). 2. X gets a new native window created as a result of a call to setParent. 3. QWidgetPrivate::reparentChildren calls SetParent on Y's control, to re-establish the parent-child relationship. The problem is that the window owned by Y's control now has no parent, so if we try to re-size the widget, the window server panics the client thread (WSERV-52). Because Symbian does not allow existing windows to be re-parented, and nor does it allow a window-owning control to re-create a new window, the only way to provide Y's window with a parent is to destroy the control and create a new one, passing in X's new window to the CCoeControl::CreateWindowL function. The changes made are as follows: a) QWidgetPrivate::reparentChildren is therefore modified to call create_sys, with destroyOldWindow set to true. b) QWidgetPrivate::create_sys is modified to take account of the value of this flag in all cases. (Previously it only did so if a new WId was passed in by the caller). c) The call to setWinId is delayed until the control and window are fully initialized. This is to allow us to emit a new event, WinIdChanged, from setWinId, in order to inform the widget that its winId has changed. d) QWidgetPrivate::activateSymbianWindow is modified in order to support this change of call ordering. Note that QWidgetPrivate::create_sys requires some re-factoring in order to remove the redundancy between the top-level and child widget cases. Task-number: QTBUG-4664 Reviewed-by: axis --- src/gui/kernel/qwidget_p.h | 2 +- src/gui/kernel/qwidget_s60.cpp | 69 ++++++++++++++++++++++++++++-------------- 2 files changed, 48 insertions(+), 23 deletions(-) diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index c06ef73..a4cc0da 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -294,7 +294,7 @@ public: void setMask_sys(const QRegion &); #ifdef Q_OS_SYMBIAN void setSoftKeys_sys(const QList &softkeys); - void activateSymbianWindow(); + void activateSymbianWindow(WId wid = 0); #endif void raise_sys(); diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 3328cee..5527cc8 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -318,8 +318,6 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de bool desktop = (type == Qt::Desktop); //bool tool = (type == Qt::Tool || type == Qt::Drawer); - WId id = 0; - if (popup) flags |= Qt::WindowStaysOnTopHint; // a popup stays on top @@ -341,13 +339,10 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de data.crect.setSize(QSize(width, height)); } - CCoeControl *destroyw = 0; + CCoeControl *const destroyw = destroyOldWindow ? data.winid : 0; createExtra(); if (window) { - if (destroyOldWindow) - destroyw = data.winid; - id = window; setWinId(window); TRect tr = window->Rect(); data.crect.setRect(tr.iTl.iX, tr.iTl.iY, tr.Width(), tr.Height()); @@ -355,10 +350,15 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de } else if (topLevel) { if (!q->testAttribute(Qt::WA_Moved) && !q->testAttribute(Qt::WA_DontShowOnScreen)) data.crect.moveTopLeft(QPoint(clientRect.iTl.iX, clientRect.iTl.iY)); - QSymbianControl *control= q_check_ptr(new QSymbianControl(q)); - id = (WId)control; - setWinId(id); - QT_TRAP_THROWING(control->ConstructL(true,desktop)); + + QScopedPointer control( q_check_ptr(new QSymbianControl(q)) ); + QT_TRAP_THROWING(control->ConstructL(true, desktop)); + + // Symbian windows are always created in an inactive state + // We perform this assignment for the case where the window is being re-created + // as aa result of a call to setParent_sys, on either this widget or one of its + // ancestors. + extra->activated = 0; if (!desktop) { TInt stackingFlags; @@ -368,7 +368,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de stackingFlags = ECoeStackFlagStandard; } control->MakeVisible(false); - QT_TRAP_THROWING(control->ControlEnv()->AppUi()->AddToStackL(control, ECoeStackPriorityDefault, stackingFlags)); + QT_TRAP_THROWING(control->ControlEnv()->AppUi()->AddToStackL(control.data(), ECoeStackPriorityDefault, stackingFlags)); // Avoid keyboard focus to a hidden window. control->setFocusSafely(false); @@ -391,11 +391,22 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de int x, y, w, h; data.crect.getRect(&x, &y, &w, &h); control->SetRect(TRect(TPoint(x, y), TSize(w, h))); + + // We wait until the control is fully constructed before calling setWinId, because + // this generates a WinIdChanged event. + setWinId(control.take()); + } else if (q->testAttribute(Qt::WA_NativeWindow) || paintOnScreen()) { // create native child widget - QSymbianControl *control = new QSymbianControl(q); - setWinId(control); + + QScopedPointer control( q_check_ptr(new QSymbianControl(q)) ); QT_TRAP_THROWING(control->ConstructL(!parentWidget)); + // Symbian windows are always created in an inactive state + // We perform this assignment for the case where the window is being re-created + // as aa result of a call to setParent_sys, on either this widget or one of its + // ancestors. + extra->activated = 0; + TInt stackingFlags; if ((q->windowType() & Qt::Popup) == Qt::Popup) { stackingFlags = ECoeStackFlagRefusesAllKeys | ECoeStackFlagRefusesFocus; @@ -403,7 +414,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de stackingFlags = ECoeStackFlagStandard; } control->MakeVisible(false); - QT_TRAP_THROWING(control->ControlEnv()->AppUi()->AddToStackL(control, ECoeStackPriorityDefault, stackingFlags)); + QT_TRAP_THROWING(control->ControlEnv()->AppUi()->AddToStackL(control.data(), ECoeStackPriorityDefault, stackingFlags)); // Avoid keyboard focus to a hidden window. control->setFocusSafely(false); @@ -418,7 +429,11 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de | EPointerFilterMove | EPointerFilterDrag, 0); if (q->isVisible() && q->testAttribute(Qt::WA_Mapped)) - activateSymbianWindow(); + activateSymbianWindow(control.data()); + + // We wait until the control is fully constructed before calling setWinId, because + // this generates a WinIdChanged event. + setWinId(control.take()); } if (destroyw) { @@ -434,7 +449,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de void QWidgetPrivate::show_sys() { Q_Q(QWidget); - + if (q->testAttribute(Qt::WA_OutsideWSRange)) return; @@ -468,7 +483,7 @@ void QWidgetPrivate::show_sys() invalidateBuffer(q->rect()); } -void QWidgetPrivate::activateSymbianWindow() +void QWidgetPrivate::activateSymbianWindow(WId wid) { Q_Q(QWidget); @@ -476,8 +491,12 @@ void QWidgetPrivate::activateSymbianWindow() Q_ASSERT(q->testAttribute(Qt::WA_Mapped)); Q_ASSERT(!extra->activated); - WId id = q->internalWinId(); - QT_TRAP_THROWING(id->ActivateL()); + if(!wid) + wid = q->internalWinId(); + + Q_ASSERT(wid); + + QT_TRAP_THROWING(wid->ActivateL()); extra->activated = 1; } @@ -566,8 +585,14 @@ void QWidgetPrivate::reparentChildren() w->d_func()->invalidateBuffer(w->rect()); WId parent = q->effectiveWinId(); WId child = w->effectiveWinId(); - if (parent != child) - child->SetParent(parent); + if (parent != child) { + // Child widget is native. Because Symbian windows cannot be + // re-parented, we must re-create the window. + const WId window = 0; + const bool initializeWindow = false; + const bool destroyOldWindow = true; + w->d_func()->create_sys(window, initializeWindow, destroyOldWindow); + } // ### TODO: We probably also need to update the component array here w->d_func()->reparentChildren(); } else { @@ -1253,7 +1278,7 @@ void QWidget::grabMouse() WId id = effectiveWinId(); id->SetPointerCapture(true); QWidgetPrivate::mouseGrabber = this; - + #ifndef QT_NO_CURSOR QApplication::setOverrideCursor(cursor()); #endif -- cgit v0.12 From a8e2a457bb7d2fc377c1c65b6a4172974919e055 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 17:56:23 +0100 Subject: Added a new event type, WinIdChange. This is sent to a native widget when its window system identifer has changed. This is motivated by the fact that, on Symbian, the native window system identifier may change in situations other than a change of parent widget. Specifically, calling QWidget::setParent, passing in the widget's existing parent, but OR-in Qt::Window into the window flags, causes a new native window handle to be created. Furthermore, because of the fact that Symbian does not allow existing windows to be reparented, any descendents of the original widget which are also native, must also be given new window system handles. Note that setWinId does not send a WinIdChange event if the incoming winId is zero. This is because setWinId(0) is only called in two situations: 1. During native widget destruction 2. During re-creation of the winId for a native widget Task-number: QTBUG-4664 Reviewed-by: Bjoern Erik Nilsen --- src/corelib/kernel/qcoreevent.cpp | 1 + src/corelib/kernel/qcoreevent.h | 2 ++ src/gui/kernel/qwidget.cpp | 16 ++++++++++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp index 744e6a9..44a354b 100644 --- a/src/corelib/kernel/qcoreevent.cpp +++ b/src/corelib/kernel/qcoreevent.cpp @@ -228,6 +228,7 @@ QT_BEGIN_NAMESPACE \value TouchBegin Beginning of a sequence of touch-screen and/or track-pad events (QTouchEvent) \value TouchUpdate Touch-screen event (QTouchEvent) \value TouchEnd End of touch-event sequence (QTouchEvent) + \value WinIdChange The window system identifer for this native widget has changed User events should have values between \c User and \c{MaxUser}: diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h index d66cead..99280d3 100644 --- a/src/corelib/kernel/qcoreevent.h +++ b/src/corelib/kernel/qcoreevent.h @@ -283,6 +283,8 @@ public: UpdateSoftKeys = 201, // Internal for compressing soft key updates + WinIdChange = 203, + // 512 reserved for Qt Jambi's MetaCall event // 513 reserved for Qt Jambi's DeleteOnMainThread event diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 4cbf762..7c11c00 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -1502,6 +1502,8 @@ void QWidgetPrivate::setWinId(WId id) // set widget identifier mapper->remove(data.winid); } + const WId oldWinId = data.winid; + data.winid = id; #if defined(Q_WS_X11) hd = id; // X11: hd == ident @@ -1509,6 +1511,16 @@ void QWidgetPrivate::setWinId(WId id) // set widget identifier if (mapper && id && !userDesktopWidget) { mapper->insert(data.winid, q); } + + if(oldWinId != id) { + // Do not emit an event when the old winId is destroyed. This only + // happens (a) during widget destruction, and (b) immediately prior + // to creation of a new winId, for example as a result of re-parenting. + if(id != 0) { + QEvent e(QEvent::WinIdChange); + QCoreApplication::sendEvent(q, &e); + } + } } void QWidgetPrivate::createTLExtra() @@ -2227,8 +2239,8 @@ QWidget *QWidget::find(WId id) against. If Qt is using Carbon, the {WId} is actually an HIViewRef. If Qt is using Cocoa, {WId} is a pointer to an NSView. - \note We recommend that you do not store this value as it is likely to - change at run-time. + This value may change at run-time. An event with type QEvent::WinIdChange + will be sent to the widget following a change in window system identifier. \sa find() */ -- cgit v0.12 From 1e46018e8e3252c2e28b76ab9e24298a69a75d62 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 7 Oct 2009 18:01:25 +0100 Subject: Modified video widget to respond to WinIdChange events Task-number: QTBUG-4664 Reviewed-by: Frans Englich --- src/3rdparty/phonon/mmf/videooutput.cpp | 11 +++++++++++ src/3rdparty/phonon/mmf/videooutput.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp index 691c144..0541612 100644 --- a/src/3rdparty/phonon/mmf/videooutput.cpp +++ b/src/3rdparty/phonon/mmf/videooutput.cpp @@ -146,6 +146,17 @@ void MMF::VideoOutput::moveEvent(QMoveEvent* event) videoOutputRegionChanged(); } +bool MMF::VideoOutput::event(QEvent* event) +{ + TRACE_CONTEXT(VideoOutput::event, EVideoInternal); + + if(event->type() == QEvent::WinIdChange) { + TRACE_0("WinIdChange"); + videoOutputRegionChanged(); + return true; + } + else + return QWidget::event(event); } diff --git a/src/3rdparty/phonon/mmf/videooutput.h b/src/3rdparty/phonon/mmf/videooutput.h index 3e58509..7bc0b52 100644 --- a/src/3rdparty/phonon/mmf/videooutput.h +++ b/src/3rdparty/phonon/mmf/videooutput.h @@ -49,6 +49,7 @@ protected: void paintEvent(QPaintEvent* event); void resizeEvent(QResizeEvent* event); void moveEvent(QMoveEvent* event); + bool event(QEvent* event); private: void dump() const; -- cgit v0.12 From 02fbfdbdd01430e4843b470f1a6fd14e00a4583c Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Thu, 8 Oct 2009 09:35:03 +0100 Subject: Updated qwidget winId auto-tests 1. Added a new test step, winIdChangeEvent, to test that QWidget::setWinId correctly sends WinIdChange events. 2. The persistentWinId test step check the following assertion: re-parenting a native widget causes its own winId to change, but not those of its (native) descendents. This assertion is not true for Symbian, so this test step has been replaced, on Symbian, by reparentCausesChildWinIdChange, which checks the inverse assumption, i.e. that the native descendents' winIds also change. Reviewed-by: Bjoern Erik Nilsen --- tests/auto/qwidget/tst_qwidget.cpp | 144 +++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index f8341c3..055de51 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -239,7 +239,12 @@ private slots: void setFixedSize(); void ensureCreated(); + void winIdChangeEvent(); +#ifdef Q_OS_SYMBIAN + void reparentCausesChildWinIdChange(); +#else void persistentWinId(); +#endif void qobject_castInDestroyedSlot(); void showHideEvent_data(); @@ -4348,6 +4353,144 @@ void tst_QWidget::ensureCreated() } } +class WinIdChangeWidget : public QWidget { +public: + WinIdChangeWidget(QWidget *p = 0) + : QWidget(p) + , m_winIdChangeEventCount(0) + { + + } +protected: + bool event(QEvent *e){ + if(e->type() == QEvent::WinIdChange) + ++m_winIdChangeEventCount; + else + return QWidget::event(e); + } +public: + int m_winIdChangeEventCount; +}; + +void tst_QWidget::winIdChangeEvent() +{ + { + // Transforming an alien widget into a native widget + WinIdChangeWidget widget; + const WId winIdBefore = widget.internalWinId(); + const WId winIdAfter = widget.winId(); + QVERIFY(winIdBefore != winIdAfter); + QCOMPARE(widget.m_winIdChangeEventCount, 1); + } + + { + // Changing parent of a native widget + QWidget parent1, parent2; + WinIdChangeWidget child(&parent1); + const WId winIdBefore = child.winId(); + QCOMPARE(child.m_winIdChangeEventCount, 1); + child.setParent(&parent2); + const WId winIdAfter = child.internalWinId(); +#ifdef Q_OS_SYMBIAN + QVERIFY(winIdBefore != winIdAfter); + QCOMPARE(child.m_winIdChangeEventCount, 2); +#else + QCOMPARE(winIdBefore, winIdAfter); + QCOMPARE(child.m_winIdChangeEventCount, 1); +#endif + } + + { + // Changing parent of an alien widget + QWidget parent1, parent2; + WinIdChangeWidget child(&parent1); + const WId winIdBefore = child.internalWinId(); + child.setParent(&parent2); + const WId winIdAfter = child.internalWinId(); + QCOMPARE(winIdBefore, winIdAfter); + QCOMPARE(child.m_winIdChangeEventCount, 0); + } + + { + // Making native child widget into a top-level window + QWidget parent; + WinIdChangeWidget child(&parent); + child.winId(); + const WId winIdBefore = child.internalWinId(); + QCOMPARE(child.m_winIdChangeEventCount, 1); + const Qt::WindowFlags flags = child.windowFlags(); + child.setWindowFlags(flags | Qt::Window); + const WId winIdAfter = child.internalWinId(); + QVERIFY(winIdBefore != winIdAfter); + QCOMPARE(child.m_winIdChangeEventCount, 2); + } +} + +#ifdef Q_OS_SYMBIAN +void tst_QWidget::reparentCausesChildWinIdChange() +{ + QWidget *parent = new QWidget; + QWidget *w1 = new QWidget; + QWidget *w2 = new QWidget; + QWidget *w3 = new QWidget; + w1->setParent(parent); + w2->setParent(w1); + w3->setParent(w2); + + WId winId1 = w1->winId(); + WId winId2 = w2->winId(); + WId winId3 = w3->winId(); + + // reparenting causes winIds of the widget being reparented, and all of its children, to change + w1->setParent(0); + QVERIFY(w1->winId() != winId1); + winId1 = w1->winId(); + QVERIFY(w2->winId() != winId2); + winId2 = w2->winId(); + QVERIFY(w3->winId() != winId3); + winId3 = w3->winId(); + + w1->setParent(parent); + QVERIFY(w1->winId() != winId1); + winId1 = w1->winId(); + QVERIFY(w2->winId() != winId2); + winId2 = w2->winId(); + QVERIFY(w3->winId() != winId3); + winId3 = w3->winId(); + + w2->setParent(0); + QVERIFY(w2->winId() != winId2); + winId2 = w2->winId(); + QVERIFY(w3->winId() != winId3); + winId3 = w3->winId(); + + w2->setParent(parent); + QVERIFY(w2->winId() != winId2); + winId2 = w2->winId(); + QVERIFY(w3->winId() != winId3); + winId3 = w3->winId(); + + w2->setParent(w1); + QVERIFY(w2->winId() != winId2); + winId2 = w2->winId(); + QVERIFY(w3->winId() != winId3); + winId3 = w3->winId(); + + w3->setParent(0); + QVERIFY(w3->winId() != winId3); + winId3 = w3->winId(); + + w3->setParent(w1); + QVERIFY(w3->winId() != winId3); + winId3 = w3->winId(); + + w3->setParent(w2); + QVERIFY(w3->winId() != winId3); + winId3 = w3->winId(); + + delete parent; +} +#else void tst_QWidget::persistentWinId() { QWidget *parent = new QWidget; @@ -4404,6 +4547,7 @@ void tst_QWidget::persistentWinId() delete parent; } +#endif // Q_OS_SYMBIAN class ShowHideEventWidget : public QWidget { -- cgit v0.12 From eb7daff1548510002031140ceb7fc601d064f670 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Fri, 9 Oct 2009 10:26:28 +0300 Subject: Help Nokia X86 compiler to compiler qbuttongroup autotest. Reviewed-by: TrustMe --- tests/auto/qbuttongroup/tst_qbuttongroup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qbuttongroup/tst_qbuttongroup.cpp b/tests/auto/qbuttongroup/tst_qbuttongroup.cpp index 11c1f47..a19f865 100644 --- a/tests/auto/qbuttongroup/tst_qbuttongroup.cpp +++ b/tests/auto/qbuttongroup/tst_qbuttongroup.cpp @@ -406,7 +406,7 @@ void tst_QButtonGroup::task106609() QTestEventLoop::instance().enterLoop(1); QApplication::setActiveWindow(&dlg); - QTRY_COMPARE(QApplication::activeWindow(), &dlg); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&dlg)); //qDebug() << "int:" << spy2.count() << "QAbstractButton*:" << spy1.count(); QCOMPARE(spy2.count(), 2); -- cgit v0.12 From fc3dfc20d487cb4fd2f93bd9fa36eef85a7467a3 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Fri, 9 Oct 2009 09:45:45 +0200 Subject: Fixed a potential crash in QGraphicsScenePrivate::_q_polishItems() This patch make sure that we always start from the beginning of the unpolished items list and we erase the first value at each iteration. The patch also convert the list to a set that is more appropriate here. Merge-request: 1707 Reviewed-by: Alexis Menard --- src/gui/graphicsview/qgraphicsscene.cpp | 11 ++++++---- src/gui/graphicsview/qgraphicsscene_p.h | 2 +- tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp | 28 ++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 961f44f..056a7ce 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -420,8 +420,12 @@ void QGraphicsScenePrivate::unregisterTopLevelItem(QGraphicsItem *item) */ void QGraphicsScenePrivate::_q_polishItems() { + QSet::Iterator it; const QVariant booleanTrueVariant(true); - foreach (QGraphicsItem *item, unpolishedItems) { + while (!unpolishedItems.isEmpty()) { + it = unpolishedItems.begin(); + QGraphicsItem *item = *it; + unpolishedItems.erase(it); if (!item->d_ptr->explicitlyHidden) { item->itemChange(QGraphicsItem::ItemVisibleChange, booleanTrueVariant); item->itemChange(QGraphicsItem::ItemVisibleHasChanged, booleanTrueVariant); @@ -431,7 +435,6 @@ void QGraphicsScenePrivate::_q_polishItems() QApplication::sendEvent((QGraphicsWidget *)item, &event); } } - unpolishedItems.clear(); } void QGraphicsScenePrivate::_q_processDirtyItems() @@ -549,7 +552,7 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item) selectedItems.remove(item); hoverItems.removeAll(item); cachedItemsUnderMouse.removeAll(item); - unpolishedItems.removeAll(item); + unpolishedItems.remove(item); resetDirtyItem(item); //We remove all references of item from the sceneEventFilter arrays @@ -2484,7 +2487,7 @@ void QGraphicsScene::addItem(QGraphicsItem *item) if (!item->d_ptr->explicitlyHidden) { if (d->unpolishedItems.isEmpty()) QMetaObject::invokeMethod(this, "_q_polishItems", Qt::QueuedConnection); - d->unpolishedItems << item; + d->unpolishedItems.insert(item); } // Reenable selectionChanged() for individual items diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h index 5000860..8073695 100644 --- a/src/gui/graphicsview/qgraphicsscene_p.h +++ b/src/gui/graphicsview/qgraphicsscene_p.h @@ -108,7 +108,7 @@ public: QPainterPath selectionArea; int selectionChanging; QSet selectedItems; - QList unpolishedItems; + QSet unpolishedItems; QList topLevelItems; bool needSortTopLevelItems; bool holesInTopLevelSiblingIndex; diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp index 8459331..6c5fe90 100644 --- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp @@ -266,6 +266,7 @@ private slots: void dispatchHoverOnPress(); void initialFocus_data(); void initialFocus(); + void polishItems(); // task specific tests below me void task139710_bspTreeCrash(); @@ -3884,5 +3885,32 @@ void tst_QGraphicsScene::initialFocus() QCOMPARE(rect->hasFocus(), shouldHaveFocus); } +class PolishItem : public QGraphicsTextItem +{ +public: + PolishItem(QGraphicsItem *parent = 0) : QGraphicsTextItem(parent) { } + +protected: + QVariant itemChange(GraphicsItemChange change, const QVariant& value) + { + if (change == ItemVisibleChange) { + if (value.toBool()) + qDeleteAll(childItems()); + } + return QGraphicsItem::itemChange(change, value); + } +}; + +void tst_QGraphicsScene::polishItems() +{ + QGraphicsScene scene; + PolishItem *parent = new PolishItem; + scene.addItem(parent); + PolishItem *child = new PolishItem(parent); + Q_UNUSED(child) + // test that QGraphicsScenePrivate::_q_polishItems() doesn't crash + QMetaObject::invokeMethod(&scene,"_q_polishItems"); +} + QTEST_MAIN(tst_QGraphicsScene) #include "tst_qgraphicsscene.moc" -- cgit v0.12 From 52e22e7b9313233dd248753b25f56cd912382981 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 9 Oct 2009 09:49:59 +0200 Subject: Fix QHostInfo IP resolution when there's no reverse for the IP. If you try to resolve 10.3.4.6, you're probably going to get that it doesn't exist. On some systems, getnameinfo will return the IP address in string form (Linux, without NI_NAMEREQD). On some others, it will fail (Mac, Windows). So harmonise by gracefully handling the case in which getnameinfo fails. Possible behaviour change: we don't try the forward resolution any more, after completing the reverse one. Reviewed-by: Peter Hartmann --- src/network/kernel/qhostinfo_unix.cpp | 40 +++++++++++++---------------------- src/network/kernel/qhostinfo_win.cpp | 40 +++++++++++++---------------------- 2 files changed, 30 insertions(+), 50 deletions(-) diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp index b4ac3d2..7e6e522 100644 --- a/src/network/kernel/qhostinfo_unix.cpp +++ b/src/network/kernel/qhostinfo_unix.cpp @@ -173,38 +173,28 @@ QHostInfo QHostInfoAgent::fromName(const QString &hostName) #endif char hbuf[NI_MAXHOST]; - if (!sa || getnameinfo(sa, saSize, hbuf, sizeof(hbuf), 0, 0, 0) != 0) { - results.setError(QHostInfo::HostNotFound); - results.setErrorString(tr("Host not found")); - return results; - } - results.setHostName(QString::fromLatin1(hbuf)); + if (sa && getnameinfo(sa, saSize, hbuf, sizeof(hbuf), 0, 0, 0) == 0) + results.setHostName(QString::fromLatin1(hbuf)); #else in_addr_t inetaddr = qt_safe_inet_addr(hostName.toLatin1().constData()); struct hostent *ent = gethostbyaddr((const char *)&inetaddr, sizeof(inetaddr), AF_INET); - if (!ent) { - results.setError(QHostInfo::HostNotFound); - results.setErrorString(tr("Host not found")); - return results; - } - results.setHostName(QString::fromLatin1(ent->h_name)); + if (ent) + results.setHostName(QString::fromLatin1(ent->h_name)); #endif + + if (results.hostName().isEmpty()) + results.setHostName(address.toString()); + results.setAddresses(QList() << address); + return results; } // IDN support - QByteArray aceHostname; - if (results.hostName().isEmpty()) { - // it's a hostname resolution - aceHostname = QUrl::toAce(hostName); - results.setHostName(hostName); - if (aceHostname.isEmpty()) { - results.setError(QHostInfo::HostNotFound); - results.setErrorString(hostName.isEmpty() ? QObject::tr("No host name given") : QObject::tr("Invalid hostname")); - return results; - } - } else { - // it's an IP reverse resolution - aceHostname = results.hostName().toLatin1(); + QByteArray aceHostname = QUrl::toAce(hostName); + results.setHostName(hostName); + if (aceHostname.isEmpty()) { + results.setError(QHostInfo::HostNotFound); + results.setErrorString(hostName.isEmpty() ? QObject::tr("No host name given") : QObject::tr("Invalid hostname")); + return results; } #if !defined (QT_NO_GETADDRINFO) diff --git a/src/network/kernel/qhostinfo_win.cpp b/src/network/kernel/qhostinfo_win.cpp index d9d7234..720aaa5 100644 --- a/src/network/kernel/qhostinfo_win.cpp +++ b/src/network/kernel/qhostinfo_win.cpp @@ -160,38 +160,28 @@ QHostInfo QHostInfoAgent::fromName(const QString &hostName) } char hbuf[NI_MAXHOST]; - if (local_getnameinfo(sa, saSize, hbuf, sizeof(hbuf), 0, 0, 0) != 0) { - results.setError(QHostInfo::HostNotFound); - results.setErrorString(tr("Host not found")); - return results; - } - results.setHostName(QString::fromLatin1(hbuf)); + if (local_getnameinfo(sa, saSize, hbuf, sizeof(hbuf), 0, 0, 0) == 0) + results.setHostName(QString::fromLatin1(hbuf)); } else { unsigned long addr = inet_addr(hostName.toLatin1().constData()); struct hostent *ent = gethostbyaddr((const char*)&addr, sizeof(addr), AF_INET); - if (!ent) { - results.setError(QHostInfo::HostNotFound); - results.setErrorString(tr("Host not found")); - return results; - } - results.setHostName(QString::fromLatin1(ent->h_name)); + if (ent) + results.setHostName(QString::fromLatin1(ent->h_name)); } + + if (results.hostName().isEmpty()) + results.setHostName(address.toString()); + results.setAddresses(QList() << address); + return results; } // IDN support - QByteArray aceHostname; - if (results.hostName().isEmpty()) { - // it's a hostname resolution - aceHostname = QUrl::toAce(hostName); - results.setHostName(hostName); - if (aceHostname.isEmpty()) { - results.setError(QHostInfo::HostNotFound); - results.setErrorString(hostName.isEmpty() ? tr("No host name given") : tr("Invalid hostname")); - return results; - } - } else { - // it's an IP reverse resolution - aceHostname = results.hostName().toLatin1(); + QByteArray aceHostname = QUrl::toAce(hostName); + results.setHostName(hostName); + if (aceHostname.isEmpty()) { + results.setError(QHostInfo::HostNotFound); + results.setErrorString(hostName.isEmpty() ? tr("No host name given") : tr("Invalid hostname")); + return results; } if (local_getaddrinfo && local_freeaddrinfo) { -- cgit v0.12 From 433430c4081c8992bc661d5481a2288eddf2037f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 9 Oct 2009 10:16:27 +0200 Subject: Doc: update the compiler notes about Sun CC's STL not being supported The default STL (Rogue Wave STL) is far too old for Qt. It doesn't meet the ISO C++ 98 specification. Using a more recent (and standards-compliant) STL like stlport4 enables Qt to build even QtWebKit on Solaris. Also change the note indicating we're using Sun Studio 12, not 8. --- doc/src/platforms/compiler-notes.qdoc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/src/platforms/compiler-notes.qdoc b/doc/src/platforms/compiler-notes.qdoc index 5b5240a..4577bf0 100644 --- a/doc/src/platforms/compiler-notes.qdoc +++ b/doc/src/platforms/compiler-notes.qdoc @@ -204,10 +204,22 @@ \section2 Sun Studio - Qt is tested using Sun Studio 8 (Sun CC 5.5). Go to + Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to \l{Sun Studio Patches} page on Sun's Web site to download the latest patches for your Sun compiler. + Please note that Qt 4.6 is stricter in its STL requirements and + that the default STL implementation used by Sun CC does not pass + those requirements. This does not affect binary compatibility and + you can continue to use STL in your own code, but Qt's + STL-compatibility functions will be disabled. + + Sun CC ships with a secondary STL implementation (called stlport4) + which is standards-compliant and can be used by Qt. You can enable + it by passing the -library=stlport4 option to the compiler. Note + that this does not affect Qt's binary compatibility, but it may + affect that of other libraries and programs that use STL. + \section2 Sun WorkShop 5.0 Sun WorkShop 5.0 is not supported with Qt 4. -- cgit v0.12 From b8eb2784a1c1a9812d09fca7c8722624f12dbd1c Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Fri, 9 Oct 2009 10:19:33 +0200 Subject: Add a test case for task QTBUG-4439. Commit fc3dfc20d487cb4fd2f93bd9fa36eef85a7467a3 fixes the problem. The unpolished items list was modified in between the iteration which means that invokeMethod was never recall if you add an item inside the polishEvent handler. The invokeMethod is called in addItem only when the list is empty right before we add the item in the list. Task-number:QTBUG-4439 Reviewed-by:TrustMe --- tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp index 26021e0..6b5ad09 100644 --- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp @@ -159,6 +159,7 @@ private slots: void ensureClipping(); void widgetSendsGeometryChanges(); void respectHFW(); + void addChildInpolishEvent(); // Task fixes void task236127_bspTreeIndexFails(); @@ -2716,6 +2717,58 @@ void tst_QGraphicsWidget::respectHFW() #endif } +class PolishWidget : public QGraphicsWidget +{ +public: + + PolishWidget(Qt::GlobalColor color, QGraphicsItem *parent=0) : + QGraphicsWidget(parent), mColor(color) + { + } + + void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) + { + painter->setBrush(QBrush(mColor)); + painter->drawRect(boundingRect()); + } + + void polishEvent() + { + if (!parentWidget()) { + //We add a child in the polish event for the parent + PolishWidget *childWidget = new PolishWidget(Qt::black, this); + childWidget->setGeometry(QRectF(10,10,30,30)); + } + + QGraphicsWidget::polishEvent(); + mColor = Qt::red; + update(); + numberOfPolish++; + } + + static int numberOfPolish; + +private: + Qt::GlobalColor mColor; +}; + +int PolishWidget::numberOfPolish = 0; + +void tst_QGraphicsWidget::addChildInpolishEvent() +{ + QGraphicsScene scene; + + PolishWidget *parentWidget = new PolishWidget(Qt::white); + scene.addItem(parentWidget); + + QGraphicsView view(&scene); + view.resize(200, 200); + view.show(); + QTest::qWaitForWindowShown(&view); + QCOMPARE(PolishWidget::numberOfPolish, 2); +} + + QTEST_MAIN(tst_QGraphicsWidget) #include "tst_qgraphicswidget.moc" -- cgit v0.12 From 95a06aa7e724309c3dcd714dbf8cf3743258592f Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Wed, 7 Oct 2009 13:53:42 +0200 Subject: Fixed doc for softkeys in the qwidget doc. Reviewed-by: David Boddie --- src/gui/kernel/qwidget.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 4cbf762..56602f7 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -901,9 +901,8 @@ void QWidget::setAutoFillBackground(bool enabled) \sa QEvent, QPainter, QGridLayout, QBoxLayout \section1 Softkeys - \since 4.6 - Softkeys are usually physical keys on a device that have a corresponding label or + Since Qt 4.6, Softkeys are usually physical keys on a device that have a corresponding label or other visual representation on the screen that is generally located next to its physical counterpart. They are most often found on mobile phone platforms. In modern touch based user interfaces it is also possible to have softkeys that do -- cgit v0.12 From afc718f1f21fd34a23e34af9b8a83eb55ae26f34 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 9 Oct 2009 11:06:21 +0200 Subject: Autotest: fix forward-declaration test. The problem was that we forward-declared as struct, but the function was implemented as class. It's different on MSVC. Reviewed-by: Trust Me --- tests/auto/qsharedpointer/tst_qsharedpointer.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp index 58eaacb..46ec035 100644 --- a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp +++ b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp @@ -1701,7 +1701,7 @@ void tst_QSharedPointer::invalidConstructs() "struct DerivedData: public Data { int j; };\n" "\n" "extern int forwardDeclaredDestructorRunCount;\n" - "struct ForwardDeclared;\n" + "class ForwardDeclared;\n" "ForwardDeclared *forwardPointer();\n" ); @@ -1730,6 +1730,10 @@ void tst_QSharedPointer::invalidConstructs() bool result = (test.*testFunction)(body); if (qgetenv("QTEST_EXTERNAL_DEBUG").toInt() > 0) { qDebug("External test output:"); +#ifdef Q_CC_MSVC + // MSVC prints errors to stdout + printf("%s\n", test.standardOutput().constData()); +#endif printf("%s\n", test.standardError().constData()); } if (!result) { -- cgit v0.12 From 62e7e63779a8dbd5dec16e5eb938bf597bc22548 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 9 Oct 2009 11:18:22 +0200 Subject: Autotest: fix false positives with MSVC.NET 2003 This is definitely a compiler bug. The compiler forgets to adjust the value of the pointers inside the template operator== function. If you make the call outside the template function, it works as expected. Reviewed-by: Trust Me --- tests/auto/qsharedpointer/tst_qsharedpointer.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp index 46ec035..ed9206c 100644 --- a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp +++ b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp @@ -812,8 +812,14 @@ void tst_QSharedPointer::differentPointers() QVERIFY(baseptr.data() == aData); QVERIFY(aData == baseptr.data()); - QVERIFY(bool(operator==(baseptr, aData))); + +#if defined(Q_CC_MSVC) && _MSC_VER < 1400 + QEXPECT_FAIL("", "Compiler bug", Continue); +#endif QVERIFY(baseptr == aData); +#if defined(Q_CC_MSVC) && _MSC_VER < 1400 + QEXPECT_FAIL("", "Compiler bug", Continue); +#endif QVERIFY(aData == baseptr); } check(); @@ -829,6 +835,9 @@ void tst_QSharedPointer::differentPointers() QVERIFY(ptr == baseptr); QVERIFY(ptr.data() == baseptr.data()); QVERIFY(ptr == aBase); +#if defined(Q_CC_MSVC) && _MSC_VER < 1400 + QEXPECT_FAIL("", "Compiler bug", Continue); +#endif QVERIFY(baseptr == aData); } check(); @@ -845,6 +854,9 @@ void tst_QSharedPointer::differentPointers() QVERIFY(ptr.data() == baseptr.data()); QVERIFY(ptr == aBase); QVERIFY(ptr == aData); +#if defined(Q_CC_MSVC) && _MSC_VER < 1400 + QEXPECT_FAIL("", "Compiler bug", Continue); +#endif QVERIFY(baseptr == aData); QVERIFY(baseptr == aBase); } @@ -865,6 +877,9 @@ void tst_QSharedPointer::virtualBaseDifferentPointers() QVERIFY(ptr.data() == baseptr.data()); QVERIFY(ptr == aBase); QVERIFY(ptr == aData); +#if defined(Q_CC_MSVC) && _MSC_VER < 1400 + QEXPECT_FAIL("", "Compiler bug", Continue); +#endif QVERIFY(baseptr == aData); QVERIFY(baseptr == aBase); } @@ -882,6 +897,9 @@ void tst_QSharedPointer::virtualBaseDifferentPointers() QVERIFY(ptr.data() == baseptr.data()); QVERIFY(ptr == aBase); QVERIFY(ptr == aData); +#if defined(Q_CC_MSVC) && _MSC_VER < 1400 + QEXPECT_FAIL("", "Compiler bug", Continue); +#endif QVERIFY(baseptr == aData); QVERIFY(baseptr == aBase); } -- cgit v0.12 From 606e1150e381e0d824e6850befb101a2ed8e0542 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 9 Oct 2009 12:03:42 +0200 Subject: Add a way to allow tracking the originating object with QNetworkRequest. Added setOriginatingObject() and originatingObject() to QNetworkRequest that internally tracks the QObject using a QWeakPointer. Reviewed-by: Lars Knoll Rubberstamped-by: Thiago --- src/network/access/qnetworkrequest.cpp | 30 ++++++++++++++++++++++ src/network/access/qnetworkrequest.h | 3 +++ src/network/access/qnetworkrequest_p.h | 2 ++ tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp | 16 ++++++++++++ 4 files changed, 51 insertions(+) diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index cde9858..ca9e606 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -481,6 +481,36 @@ void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config) } #endif +/*! + \since 4.6 + + Allows setting a reference to the object initiating + the request. + + For example QtWebKit sets the originating object to the + QWebFrame that initiated the request. + + \sa originatingObject() +*/ +void QNetworkRequest::setOriginatingObject(QObject *object) +{ + d->originatingObject = object; +} + +/*! + \since 4.6 + + Returns a reference to the object that initiated this + network request; returns 0 if not set or the object has + been destroyed. + + \sa setOriginatingObject() +*/ +QObject *QNetworkRequest::originatingObject() const +{ + return d->originatingObject.data(); +} + static QByteArray headerName(QNetworkRequest::KnownHeaders header) { switch (header) { diff --git a/src/network/access/qnetworkrequest.h b/src/network/access/qnetworkrequest.h index 7b15237..62c6dda 100644 --- a/src/network/access/qnetworkrequest.h +++ b/src/network/access/qnetworkrequest.h @@ -120,6 +120,9 @@ public: void setSslConfiguration(const QSslConfiguration &configuration); #endif + void setOriginatingObject(QObject *object); + QObject *originatingObject() const; + private: QSharedDataPointer d; friend class QNetworkRequestPrivate; diff --git a/src/network/access/qnetworkrequest_p.h b/src/network/access/qnetworkrequest_p.h index 22b239f..9b3632f 100644 --- a/src/network/access/qnetworkrequest_p.h +++ b/src/network/access/qnetworkrequest_p.h @@ -58,6 +58,7 @@ #include "QtCore/qlist.h" #include "QtCore/qhash.h" #include "QtCore/qshareddata.h" +#include "QtCore/qsharedpointer.h" QT_BEGIN_NAMESPACE @@ -73,6 +74,7 @@ public: RawHeadersList rawHeaders; CookedHeadersMap cookedHeaders; AttributesMap attributes; + QWeakPointer originatingObject; RawHeadersList::ConstIterator findRawHeader(const QByteArray &key) const; QList rawHeadersKeys() const; diff --git a/tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp b/tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp index 3f9632c..2e21087 100644 --- a/tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp +++ b/tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp @@ -66,6 +66,7 @@ private slots: void setHeader(); void rawHeaderParsing_data(); void rawHeaderParsing(); + void originatingObject(); void removeHeader(); }; @@ -476,5 +477,20 @@ void tst_QNetworkRequest::removeHeader() QVERIFY(request.hasRawHeader("bar")); } +void tst_QNetworkRequest::originatingObject() +{ + QNetworkRequest request; + + QVERIFY(!request.originatingObject()); + + { + QObject dummy; + request.setOriginatingObject(&dummy); + QCOMPARE(request.originatingObject(), &dummy); + } + + QVERIFY(!request.originatingObject()); +} + QTEST_MAIN(tst_QNetworkRequest) #include "tst_qnetworkrequest.moc" -- cgit v0.12 From 803bebe62face37310fd8d8b97ca7faa1d4284a8 Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Fri, 9 Oct 2009 12:10:42 +0200 Subject: Made QPen::setDashOffset() work with non-custom dashed lines. Task-number: QTBUG-2738 Reviewed-by: Trond --- src/gui/painting/qpen.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/gui/painting/qpen.cpp b/src/gui/painting/qpen.cpp index a050cb2..41efc80 100644 --- a/src/gui/painting/qpen.cpp +++ b/src/gui/painting/qpen.cpp @@ -411,6 +411,8 @@ Qt::PenStyle QPen::style() const pattern using the setDashPattern() function which implicitly converts the style of the pen to Qt::CustomDashLine. + \note This function resets the dash offset to zero. + \sa style(), {QPen#Pen Style}{Pen Style} */ @@ -420,7 +422,9 @@ void QPen::setStyle(Qt::PenStyle s) return; detach(); d->style = s; - static_cast(d)->dashPattern.clear(); + QPenData *dd = static_cast(d); + dd->dashPattern.clear(); + dd->dashOffset = 0; } /*! @@ -538,8 +542,12 @@ void QPen::setDashOffset(qreal offset) if (qFuzzyCompare(offset, static_cast(d)->dashOffset)) return; detach(); - static_cast(d)->dashOffset = offset; - d->style = Qt::CustomDashLine; + QPenData *dd = static_cast(d); + dd->dashOffset = offset; + if (d->style != Qt::CustomDashLine) { + dd->dashPattern = dashPattern(); + d->style = Qt::CustomDashLine; + } } /*! -- cgit v0.12 From f74570b72bd71f3747521a5f561971165f3297e5 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Fri, 9 Oct 2009 13:58:08 +0300 Subject: Fix for tst_qfile::map auto test in Symbian OS 3.1. The map test case panic with E32User-Cbase 66 in N95 without this fix. This happens sisnce Open C bug where mmap may leave and trap handler is not inside OpenC. The workaround is to install the necessary TRAP handler in Qt, before calling mmap. AutoTests: tst_qfile::map passes Reviewed-by: Janne Koskinen --- src/corelib/io/qfsfileengine_unix.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp index 114da3b..b0cddaa 100644 --- a/src/corelib/io/qfsfileengine_unix.cpp +++ b/src/corelib/io/qfsfileengine_unix.cpp @@ -1255,8 +1255,19 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size, QFile::MemoryMapFla int realOffset = offset / pagesSize; int extra = offset % pagesSize; - void *mapAddress = mmap((void*)0, (size_t)size + extra, - access, MAP_SHARED, nativeHandle(), realOffset * pagesSize); +#ifdef Q_OS_SYMBIAN + void *mapAddress; + TRAPD(err, mapAddress = mmap((void*)0, (size_t)size + extra, + access, MAP_SHARED, nativeHandle(), realOffset * pagesSize)); + if (err != KErrNone) { + qWarning("OpenC bug: leave from mmap %d", err); + mapAddress = MAP_FAILED; + errno = EINVAL; + } +#else + void *mapAddress = mmap((void*)0, (size_t)size + extra, + access, MAP_SHARED, nativeHandle(), realOffset * pagesSize); +#endif if (MAP_FAILED != mapAddress) { uchar *address = extra + static_cast(mapAddress); maps[address] = QPair(extra, size); -- cgit v0.12 From 05727386bec0142174c9cbaea6f2b3ca72a42b63 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 9 Oct 2009 13:18:40 +0200 Subject: Fix qdoc warning about undocumented parameter Reviewed-by: Trust me --- src/network/access/qnetworkrequest.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index ca9e606..33bc57b 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -484,7 +484,7 @@ void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config) /*! \since 4.6 - Allows setting a reference to the object initiating + Allows setting a reference to the \a object initiating the request. For example QtWebKit sets the originating object to the -- cgit v0.12 From f98f5c5432f13238fc640820cc222b671c1ee8df Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Fri, 9 Oct 2009 09:50:19 +0200 Subject: Fixed text positioning when printing in HighResolution on Mac OS X Reviewed-by: Richard --- src/gui/text/qfontengine_mac.mm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gui/text/qfontengine_mac.mm b/src/gui/text/qfontengine_mac.mm index 40db7b4..758d8af 100644 --- a/src/gui/text/qfontengine_mac.mm +++ b/src/gui/text/qfontengine_mac.mm @@ -138,9 +138,10 @@ QCoreTextFontEngineMulti::QCoreTextFontEngineMulti(const ATSFontFamilyRef &, con QCFString name; ATSFontGetName(atsFontRef, kATSOptionFlagsDefault, &name); - QCFType descriptor = CTFontDescriptorCreateWithNameAndSize(name, fontDef.pointSize); - QCFType baseFont = CTFontCreateWithFontDescriptor(descriptor, fontDef.pointSize, 0); - ctfont = CTFontCreateCopyWithSymbolicTraits(baseFont, fontDef.pointSize, 0, symbolicTraits, symbolicTraits); + + QCFType descriptor = CTFontDescriptorCreateWithNameAndSize(name, fontDef.pixelSize); + QCFType baseFont = CTFontCreateWithFontDescriptor(descriptor, fontDef.pixelSize, 0); + ctfont = CTFontCreateCopyWithSymbolicTraits(baseFont, fontDef.pixelSize, 0, symbolicTraits, symbolicTraits); // CTFontCreateCopyWithSymbolicTraits returns NULL if we ask for a trait that does // not exist for the given font. (for example italic) -- cgit v0.12 From 2caa16ff98348b043ecc3598e5b9af4a2e2ae3bc Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Thu, 8 Oct 2009 17:25:05 +0200 Subject: Fixed crash when printing to files under Cocoa When we select save as PDF in the print dialog, we get a new PMPrintSession in the printInfo object, while our stored one is deleted, so we update the pointer to be on the safe side Reviewed-by: msorvig --- src/gui/dialogs/qprintdialog_mac.mm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/dialogs/qprintdialog_mac.mm b/src/gui/dialogs/qprintdialog_mac.mm index a7587b1..667fc40 100644 --- a/src/gui/dialogs/qprintdialog_mac.mm +++ b/src/gui/dialogs/qprintdialog_mac.mm @@ -166,6 +166,12 @@ QT_USE_NAMESPACE } // Keep us in sync with file output PMDestinationType dest; + + // If the user selected print to file, the session has been + // changed behind our back and our d->ep->session object is a + // dangling pointer. Update it based on the "current" session + d->ep->session = static_cast([d->ep->printInfo PMPrintSession]); + PMSessionGetDestinationType(d->ep->session, d->ep->settings, &dest); if (dest == kPMDestinationFile) { QCFType file; -- cgit v0.12 From 4f2d382059b06f89d58816c03137d75931654b94 Mon Sep 17 00:00:00 2001 From: Aleksandar Sasha Babic Date: Fri, 9 Oct 2009 13:47:51 +0200 Subject: Revert "Workaround for OpenC daylight saving cache issue when using localtime_r." This reverts commit 2f7d1318d2dc63322a468d8c301ae718eaba0d03. --- src/corelib/tools/qdatetime.cpp | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 1277623..1b559cf 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -54,6 +54,7 @@ #ifndef Q_WS_WIN #include #endif + #include #if defined(Q_OS_WINCE) #include "qfunctions_wince.h" @@ -68,31 +69,6 @@ # define QDTPDEBUGN if (false) qDebug #endif -#if defined(Q_OS_SYMBIAN) - // Workaround for OpenC bug. - - // OpenC incorrectly caches DST information between localtime_r - // calls, i.e. if previous call to localtime_r has been called for DST - // affected date, also the second call will be affected by DST even - // the date is such that DST should not be applied. - - // The workaround is to call mktime with non-DST affected date before - // calling localtime_r. mktime call resets the OpenC internal DST cache - // to right value and localtime_r will return correct values. -#define FIX_OPENC_DSTCACHE \ - tm localTM; \ - localTM.tm_sec = 0; \ - localTM.tm_min = 0; \ - localTM.tm_hour = 12; \ - localTM.tm_mday = 1; \ - localTM.tm_mon = 1; \ - localTM.tm_year = 2002 - 1900; \ - localTM.tm_isdst = -1; \ - time_t temp = mktime(&localTM); -#else -#define FIX_OPENC_DSTCACHE -#endif - #if defined(Q_WS_MAC) #include #endif @@ -1162,7 +1138,6 @@ QDate QDate::currentDate() // use the reentrant version of localtime() where available tzset(); tm res; - FIX_OPENC_DSTCACHE t = localtime_r(<ime, &res); #else t = localtime(<ime); @@ -1859,13 +1834,12 @@ QTime QTime::currentTime() // use the reentrant version of localtime() where available tzset(); tm res; - FIX_OPENC_DSTCACHE t = localtime_r(<ime, &res); #else t = localtime(<ime); #endif Q_CHECK_PTR(t); - + ct.mds = MSECS_PER_HOUR * t->tm_hour + MSECS_PER_MIN * t->tm_min + 1000 * t->tm_sec + tv.tv_usec / 1000; #else @@ -2913,7 +2887,6 @@ QDateTime QDateTime::currentDateTime() // use the reentrant version of localtime() where available tzset(); tm res; - FIX_OPENC_DSTCACHE t = localtime_r(<ime, &res); #else t = localtime(<ime); @@ -3731,7 +3704,6 @@ static QDateTimePrivate::Spec utcToLocal(QDate &date, QTime &time) // use the reentrant version of localtime() where available tzset(); tm res; - FIX_OPENC_DSTCACHE brokenDown = localtime_r(&secsSince1Jan1970UTC, &res); #elif defined(_MSC_VER) && _MSC_VER >= 1400 tm res; -- cgit v0.12 From faef2f5101287ad8ce94cf8e7a4d574a7d6267fd Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Fri, 9 Oct 2009 11:29:51 +0200 Subject: Symbian fix: rename examples ftp and musicplayer to start with q. Symbian already has the executables musicplayer.exe, mediaplayer.exe and ftp.exe, with the result that we overwrite them with Qt. We solve this by renaming the examples, and do it not only on Symbian, such that Qt remains consistent across platforms. This was previously partly done for mediaplayer. The folder name needs to be consistent with the executable, for qtdemo to work. Done jointly with Alessandro. Task-number: QTBUG-4743 Reviewed-by: Alessandro Portale Reviewed-by: Frans Englich --- demos/demos.pro | 2 +- demos/embedded/fluidlauncher/config_s60/config.xml | 2 +- demos/embedded/fluidlauncher/fluidlauncher.pro | 6 +- demos/mediaplayer/images/screen.png | Bin 4358 -> 0 bytes demos/mediaplayer/main.cpp | 89 --- demos/mediaplayer/mediaplayer.cpp | 845 --------------------- demos/mediaplayer/mediaplayer.h | 139 ---- demos/mediaplayer/mediaplayer.pro | 36 - demos/mediaplayer/mediaplayer.qrc | 5 - demos/mediaplayer/settings.ui | 464 ----------- demos/qmediaplayer/images/screen.png | Bin 0 -> 4358 bytes demos/qmediaplayer/main.cpp | 89 +++ demos/qmediaplayer/mediaplayer.cpp | 845 +++++++++++++++++++++ demos/qmediaplayer/mediaplayer.h | 139 ++++ demos/qmediaplayer/mediaplayer.qrc | 5 + demos/qmediaplayer/qmediaplayer.pro | 35 + demos/qmediaplayer/settings.ui | 464 +++++++++++ demos/qtdemo/xml/examples.xml | 4 +- doc/src/demos/mediaplayer.qdoc | 2 +- doc/src/examples/ftp.qdoc | 34 +- doc/src/examples/musicplayerexample.qdoc | 38 +- doc/src/getting-started/demos.qdoc | 2 +- doc/src/getting-started/examples.qdoc | 2 +- examples/network/ftp/ftp.pro | 20 - examples/network/ftp/ftp.qrc | 7 - examples/network/ftp/ftpwindow.cpp | 379 --------- examples/network/ftp/ftpwindow.h | 108 --- examples/network/ftp/images/cdtoparent.png | Bin 139 -> 0 bytes examples/network/ftp/images/dir.png | Bin 154 -> 0 bytes examples/network/ftp/images/file.png | Bin 129 -> 0 bytes examples/network/ftp/main.cpp | 67 -- examples/network/ftp/sym_iap_util.h | 510 ------------- examples/network/network.pro | 4 +- examples/network/qftp/ftp.qrc | 7 + examples/network/qftp/ftpwindow.cpp | 379 +++++++++ examples/network/qftp/ftpwindow.h | 108 +++ examples/network/qftp/images/cdtoparent.png | Bin 0 -> 139 bytes examples/network/qftp/images/dir.png | Bin 0 -> 154 bytes examples/network/qftp/images/file.png | Bin 0 -> 129 bytes examples/network/qftp/main.cpp | 67 ++ examples/network/qftp/qftp.pro | 20 + examples/network/qftp/sym_iap_util.h | 510 +++++++++++++ examples/phonon/musicplayer/main.cpp | 57 -- examples/phonon/musicplayer/mainwindow.cpp | 355 --------- examples/phonon/musicplayer/mainwindow.h | 112 --- examples/phonon/musicplayer/musicplayer.pro | 17 - examples/phonon/phonon.pro | 2 +- examples/phonon/qmusicplayer/main.cpp | 57 ++ examples/phonon/qmusicplayer/mainwindow.cpp | 355 +++++++++ examples/phonon/qmusicplayer/mainwindow.h | 112 +++ examples/phonon/qmusicplayer/qmusicplayer.pro | 17 + 51 files changed, 3258 insertions(+), 3259 deletions(-) delete mode 100644 demos/mediaplayer/images/screen.png delete mode 100644 demos/mediaplayer/main.cpp delete mode 100644 demos/mediaplayer/mediaplayer.cpp delete mode 100644 demos/mediaplayer/mediaplayer.h delete mode 100644 demos/mediaplayer/mediaplayer.pro delete mode 100644 demos/mediaplayer/mediaplayer.qrc delete mode 100644 demos/mediaplayer/settings.ui create mode 100644 demos/qmediaplayer/images/screen.png create mode 100644 demos/qmediaplayer/main.cpp create mode 100644 demos/qmediaplayer/mediaplayer.cpp create mode 100644 demos/qmediaplayer/mediaplayer.h create mode 100644 demos/qmediaplayer/mediaplayer.qrc create mode 100644 demos/qmediaplayer/qmediaplayer.pro create mode 100644 demos/qmediaplayer/settings.ui delete mode 100644 examples/network/ftp/ftp.pro delete mode 100644 examples/network/ftp/ftp.qrc delete mode 100644 examples/network/ftp/ftpwindow.cpp delete mode 100644 examples/network/ftp/ftpwindow.h delete mode 100644 examples/network/ftp/images/cdtoparent.png delete mode 100644 examples/network/ftp/images/dir.png delete mode 100644 examples/network/ftp/images/file.png delete mode 100644 examples/network/ftp/main.cpp delete mode 100644 examples/network/ftp/sym_iap_util.h create mode 100644 examples/network/qftp/ftp.qrc create mode 100644 examples/network/qftp/ftpwindow.cpp create mode 100644 examples/network/qftp/ftpwindow.h create mode 100644 examples/network/qftp/images/cdtoparent.png create mode 100644 examples/network/qftp/images/dir.png create mode 100644 examples/network/qftp/images/file.png create mode 100644 examples/network/qftp/main.cpp create mode 100644 examples/network/qftp/qftp.pro create mode 100644 examples/network/qftp/sym_iap_util.h delete mode 100644 examples/phonon/musicplayer/main.cpp delete mode 100644 examples/phonon/musicplayer/mainwindow.cpp delete mode 100644 examples/phonon/musicplayer/mainwindow.h delete mode 100644 examples/phonon/musicplayer/musicplayer.pro create mode 100644 examples/phonon/qmusicplayer/main.cpp create mode 100644 examples/phonon/qmusicplayer/mainwindow.cpp create mode 100644 examples/phonon/qmusicplayer/mainwindow.h create mode 100644 examples/phonon/qmusicplayer/qmusicplayer.pro diff --git a/demos/demos.pro b/demos/demos.pro index c4b8872..4a9d451 100644 --- a/demos/demos.pro +++ b/demos/demos.pro @@ -64,7 +64,7 @@ demos_arthurplugin.subdir = arthurplugin demos_sqlbrowser.subdir = sqlbrowser demos_undo.subdir = undo demos_qtdemo.subdir = qtdemo -demos_mediaplayer.subdir = mediaplayer +demos_mediaplayer.subdir = qmediaplayer demos_browser.subdir = browser diff --git a/demos/embedded/fluidlauncher/config_s60/config.xml b/demos/embedded/fluidlauncher/config_s60/config.xml index fefa3dd..2c61baf 100644 --- a/demos/embedded/fluidlauncher/config_s60/config.xml +++ b/demos/embedded/fluidlauncher/config_s60/config.xml @@ -6,7 +6,7 @@ - + diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro index f2abde6..dd931e6 100644 --- a/demos/embedded/fluidlauncher/fluidlauncher.pro +++ b/demos/embedded/fluidlauncher/fluidlauncher.pro @@ -66,7 +66,7 @@ symbian { deform.exe \ pathstroke.exe \ wiggly.exe \ - ftp.exe \ + qftp.exe \ saxbookmarks.exe \ desktopservices.exe \ fridgemagnets.exe \ @@ -85,7 +85,7 @@ symbian { $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/deform_reg.rsc \ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/pathstroke_reg.rsc \ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/wiggly_reg.rsc \ - $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/ftp_reg.rsc\ + $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/qftp_reg.rsc\ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/saxbookmarks_reg.rsc \ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/desktopservices_reg.rsc \ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/fridgemagnets_reg.rsc \ @@ -109,7 +109,7 @@ symbian { $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/deform.rsc \ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/pathstroke.rsc \ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/wiggly.rsc \ - $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/ftp.rsc\ + $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/qftp.rsc\ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/saxbookmarks.rsc \ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/desktopservices.rsc \ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/fridgemagnets.rsc \ diff --git a/demos/mediaplayer/images/screen.png b/demos/mediaplayer/images/screen.png deleted file mode 100644 index a15df92..0000000 Binary files a/demos/mediaplayer/images/screen.png and /dev/null differ diff --git a/demos/mediaplayer/main.cpp b/demos/mediaplayer/main.cpp deleted file mode 100644 index 66aa445..0000000 --- a/demos/mediaplayer/main.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -***************************************************************************/ - -#include -#include "mediaplayer.h" - -int main (int argc, char *argv[]) -{ - Q_INIT_RESOURCE(mediaplayer); - QApplication app(argc, argv); - app.setApplicationName("Media Player"); - app.setOrganizationName("Qt"); - app.setQuitOnLastWindowClosed(true); - - bool hasSmallScreen = -#ifdef Q_OS_SYMBIAN - /* On Symbian, we always want fullscreen. One reason is that it's not - * possible to launch any demos from the fluidlauncher due to a - * limitation in the emulator. */ - true -#else - false -#endif - ; - - QString fileString; - const QStringList args(app.arguments()); - /* We have a minor problem here, we accept two arguments, both are - * optional: - * - A file name - * - the option "-small-screen", so let's try to cope with that. - */ - for (int i = 0; i < args.count(); ++i) { - const QString &at = args.at(i); - - if (at == QLatin1String("-small-screen")) - hasSmallScreen = true; - else if (i > 0) // We don't want the app name. - fileString = at; - } - - MediaPlayer player(fileString, hasSmallScreen); - - if (hasSmallScreen) - player.showMaximized(); - else - player.show(); - - return app.exec(); -} - diff --git a/demos/mediaplayer/mediaplayer.cpp b/demos/mediaplayer/mediaplayer.cpp deleted file mode 100644 index baac236..0000000 --- a/demos/mediaplayer/mediaplayer.cpp +++ /dev/null @@ -1,845 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -***************************************************************************/ - -#include - -#define SLIDER_RANGE 8 - -#include "mediaplayer.h" -#include "ui_settings.h" - - -class MediaVideoWidget : public Phonon::VideoWidget -{ -public: - MediaVideoWidget(MediaPlayer *player, QWidget *parent = 0) : - Phonon::VideoWidget(parent), m_player(player), m_action(this) - { - m_action.setCheckable(true); - m_action.setChecked(false); - m_action.setShortcut(QKeySequence( Qt::AltModifier + Qt::Key_Return)); - m_action.setShortcutContext(Qt::WindowShortcut); - connect(&m_action, SIGNAL(toggled(bool)), SLOT(setFullScreen(bool))); - addAction(&m_action); - setAcceptDrops(true); - } - -protected: - void mouseDoubleClickEvent(QMouseEvent *e) - { - Phonon::VideoWidget::mouseDoubleClickEvent(e); - setFullScreen(!isFullScreen()); - } - - void keyPressEvent(QKeyEvent *e) - { - if (e->key() == Qt::Key_Space && !e->modifiers()) { - m_player->playPause(); - e->accept(); - return; - } else if (e->key() == Qt::Key_Escape && !e->modifiers()) { - setFullScreen(false); - e->accept(); - return; - } - Phonon::VideoWidget::keyPressEvent(e); - } - - bool event(QEvent *e) - { - switch(e->type()) - { - case QEvent::Close: - //we just ignore the cose events on the video widget - //this prevents ALT+F4 from having an effect in fullscreen mode - e->ignore(); - return true; - case QEvent::MouseMove: -#ifndef QT_NO_CURSOR - unsetCursor(); -#endif - //fall through - case QEvent::WindowStateChange: - { - //we just update the state of the checkbox, in case it wasn't already - m_action.setChecked(windowState() & Qt::WindowFullScreen); - const Qt::WindowFlags flags = m_player->windowFlags(); - if (windowState() & Qt::WindowFullScreen) { - m_timer.start(1000, this); - } else { - m_timer.stop(); -#ifndef QT_NO_CURSOR - unsetCursor(); -#endif - } - } - break; - default: - break; - } - - return Phonon::VideoWidget::event(e); - } - - void timerEvent(QTimerEvent *e) - { - if (e->timerId() == m_timer.timerId()) { - //let's store the cursor shape -#ifndef QT_NO_CURSOR - setCursor(Qt::BlankCursor); -#endif - } - Phonon::VideoWidget::timerEvent(e); - } - - void dropEvent(QDropEvent *e) - { - m_player->handleDrop(e); - } - - void dragEnterEvent(QDragEnterEvent *e) { - if (e->mimeData()->hasUrls()) - e->acceptProposedAction(); - } - -private: - MediaPlayer *m_player; - QBasicTimer m_timer; - QAction m_action; -}; - - -MediaPlayer::MediaPlayer(const QString &filePath, - const bool hasSmallScreen) : - playButton(0), nextEffect(0), settingsDialog(0), ui(0), - m_AudioOutput(Phonon::VideoCategory), - m_videoWidget(new MediaVideoWidget(this)), - m_hasSmallScreen(hasSmallScreen) -{ - setWindowTitle(tr("Media Player")); - setContextMenuPolicy(Qt::CustomContextMenu); - m_videoWidget->setContextMenuPolicy(Qt::CustomContextMenu); - - QSize buttonSize(34, 28); - - QPushButton *openButton = new QPushButton(this); - - openButton->setIcon(style()->standardIcon(QStyle::SP_DialogOpenButton)); - QPalette bpal; - QColor arrowcolor = bpal.buttonText().color(); - if (arrowcolor == Qt::black) - arrowcolor = QColor(80, 80, 80); - bpal.setBrush(QPalette::ButtonText, arrowcolor); - openButton->setPalette(bpal); - - rewindButton = new QPushButton(this); - rewindButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipBackward)); - - forwardButton = new QPushButton(this); - forwardButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipForward)); - forwardButton->setEnabled(false); - - playButton = new QPushButton(this); - playIcon = style()->standardIcon(QStyle::SP_MediaPlay); - pauseIcon = style()->standardIcon(QStyle::SP_MediaPause); - playButton->setIcon(playIcon); - - slider = new Phonon::SeekSlider(this); - slider->setMediaObject(&m_MediaObject); - volume = new Phonon::VolumeSlider(&m_AudioOutput); - - QVBoxLayout *vLayout = new QVBoxLayout(this); - vLayout->setContentsMargins(8, 8, 8, 8); - - QHBoxLayout *layout = new QHBoxLayout(); - - info = new QLabel(this); - info->setMinimumHeight(70); - info->setAcceptDrops(false); - info->setMargin(2); - info->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); - info->setLineWidth(2); - info->setAutoFillBackground(true); - - QPalette palette; - palette.setBrush(QPalette::WindowText, Qt::white); -#ifndef Q_WS_MAC - openButton->setMinimumSize(54, buttonSize.height()); - rewindButton->setMinimumSize(buttonSize); - forwardButton->setMinimumSize(buttonSize); - playButton->setMinimumSize(buttonSize); -#endif - info->setStyleSheet("border-image:url(:/images/screen.png) ; border-width:3px"); - info->setPalette(palette); - info->setText(tr("
      No media
      ")); - - volume->setFixedWidth(120); - - layout->addWidget(openButton); - layout->addWidget(rewindButton); - layout->addWidget(playButton); - layout->addWidget(forwardButton); - - layout->addStretch(); - layout->addWidget(volume); - - vLayout->addWidget(info); - initVideoWindow(); - vLayout->addWidget(&m_videoWindow); - QVBoxLayout *buttonPanelLayout = new QVBoxLayout(); - m_videoWindow.hide(); - buttonPanelLayout->addLayout(layout); - - timeLabel = new QLabel(this); - progressLabel = new QLabel(this); - QWidget *sliderPanel = new QWidget(this); - QHBoxLayout *sliderLayout = new QHBoxLayout(); - sliderLayout->addWidget(slider); - sliderLayout->addWidget(timeLabel); - sliderLayout->addWidget(progressLabel); - sliderLayout->setContentsMargins(0, 0, 0, 0); - sliderPanel->setLayout(sliderLayout); - - buttonPanelLayout->addWidget(sliderPanel); - buttonPanelLayout->setContentsMargins(0, 0, 0, 0); -#ifdef Q_OS_MAC - layout->setSpacing(4); - buttonPanelLayout->setSpacing(0); - info->setMinimumHeight(100); - info->setFont(QFont("verdana", 15)); - // QStyle *flatButtonStyle = new QWindowsStyle; - openButton->setFocusPolicy(Qt::NoFocus); - // openButton->setStyle(flatButtonStyle); - // playButton->setStyle(flatButtonStyle); - // rewindButton->setStyle(flatButtonStyle); - // forwardButton->setStyle(flatButtonStyle); - #endif - QWidget *buttonPanelWidget = new QWidget(this); - buttonPanelWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); - buttonPanelWidget->setLayout(buttonPanelLayout); - vLayout->addWidget(buttonPanelWidget); - - QHBoxLayout *labelLayout = new QHBoxLayout(); - - vLayout->addLayout(labelLayout); - setLayout(vLayout); - - // Create menu bar: - fileMenu = new QMenu(this); - QAction *openFileAction = fileMenu->addAction(tr("Open &File...")); - QAction *openUrlAction = fileMenu->addAction(tr("Open &Location...")); - - fileMenu->addSeparator(); - QMenu *aspectMenu = fileMenu->addMenu(tr("&Aspect ratio")); - QActionGroup *aspectGroup = new QActionGroup(aspectMenu); - connect(aspectGroup, SIGNAL(triggered(QAction *)), this, SLOT(aspectChanged(QAction *))); - aspectGroup->setExclusive(true); - QAction *aspectActionAuto = aspectMenu->addAction(tr("Auto")); - aspectActionAuto->setCheckable(true); - aspectActionAuto->setChecked(true); - aspectGroup->addAction(aspectActionAuto); - QAction *aspectActionScale = aspectMenu->addAction(tr("Scale")); - aspectActionScale->setCheckable(true); - aspectGroup->addAction(aspectActionScale); - QAction *aspectAction16_9 = aspectMenu->addAction(tr("16/9")); - aspectAction16_9->setCheckable(true); - aspectGroup->addAction(aspectAction16_9); - QAction *aspectAction4_3 = aspectMenu->addAction(tr("4/3")); - aspectAction4_3->setCheckable(true); - aspectGroup->addAction(aspectAction4_3); - - QMenu *scaleMenu = fileMenu->addMenu(tr("&Scale mode")); - QActionGroup *scaleGroup = new QActionGroup(scaleMenu); - connect(scaleGroup, SIGNAL(triggered(QAction *)), this, SLOT(scaleChanged(QAction *))); - scaleGroup->setExclusive(true); - QAction *scaleActionFit = scaleMenu->addAction(tr("Fit in view")); - scaleActionFit->setCheckable(true); - scaleActionFit->setChecked(true); - scaleGroup->addAction(scaleActionFit); - QAction *scaleActionCrop = scaleMenu->addAction(tr("Scale and crop")); - scaleActionCrop->setCheckable(true); - scaleGroup->addAction(scaleActionCrop); - - fileMenu->addSeparator(); - QAction *settingsAction = fileMenu->addAction(tr("&Settings...")); - - // Setup signal connections: - connect(rewindButton, SIGNAL(clicked()), this, SLOT(rewind())); - //connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); - openButton->setMenu(fileMenu); - - connect(playButton, SIGNAL(clicked()), this, SLOT(playPause())); - connect(forwardButton, SIGNAL(clicked()), this, SLOT(forward())); - //connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); - connect(settingsAction, SIGNAL(triggered(bool)), this, SLOT(showSettingsDialog())); - connect(openUrlAction, SIGNAL(triggered(bool)), this, SLOT(openUrl())); - connect(openFileAction, SIGNAL(triggered(bool)), this, SLOT(openFile())); - - connect(m_videoWidget, SIGNAL(customContextMenuRequested(const QPoint &)), SLOT(showContextMenu(const QPoint &))); - connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), SLOT(showContextMenu(const QPoint &))); - connect(&m_MediaObject, SIGNAL(metaDataChanged()), this, SLOT(updateInfo())); - connect(&m_MediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(updateTime())); - connect(&m_MediaObject, SIGNAL(tick(qint64)), this, SLOT(updateTime())); - connect(&m_MediaObject, SIGNAL(finished()), this, SLOT(finished())); - connect(&m_MediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SLOT(stateChanged(Phonon::State, Phonon::State))); - connect(&m_MediaObject, SIGNAL(bufferStatus(int)), this, SLOT(bufferStatus(int))); - - rewindButton->setEnabled(false); - playButton->setEnabled(false); - setAcceptDrops(true); - - m_audioOutputPath = Phonon::createPath(&m_MediaObject, &m_AudioOutput); - Phonon::createPath(&m_MediaObject, m_videoWidget); - - if (!filePath.isEmpty()) - setFile(filePath); - resize(minimumSizeHint()); -} - -void MediaPlayer::stateChanged(Phonon::State newstate, Phonon::State oldstate) -{ - Q_UNUSED(oldstate); - - if (oldstate == Phonon::LoadingState) { - m_videoWindow.setVisible(m_MediaObject.hasVideo()); - info->setVisible(!m_MediaObject.hasVideo()); - QRect videoHintRect = QRect(QPoint(0, 0), m_videoWindow.sizeHint()); - QRect newVideoRect = QApplication::desktop()->screenGeometry().intersected(videoHintRect); - if (!m_hasSmallScreen) { - if (m_MediaObject.hasVideo()) { - // Flush event que so that sizeHint takes the - // recently shown/hidden m_videoWindow into account: - qApp->processEvents(); - resize(sizeHint()); - } else - resize(minimumSize()); - } - } - - switch (newstate) { - case Phonon::ErrorState: - QMessageBox::warning(this, "Phonon Mediaplayer", m_MediaObject.errorString(), QMessageBox::Close); - if (m_MediaObject.errorType() == Phonon::FatalError) { - playButton->setEnabled(false); - rewindButton->setEnabled(false); - } else { - m_MediaObject.pause(); - } - break; - case Phonon::PausedState: - case Phonon::StoppedState: - playButton->setIcon(playIcon); - if (m_MediaObject.currentSource().type() != Phonon::MediaSource::Invalid){ - playButton->setEnabled(true); - rewindButton->setEnabled(true); - } else { - playButton->setEnabled(false); - rewindButton->setEnabled(false); - } - break; - case Phonon::PlayingState: - playButton->setEnabled(true); - playButton->setIcon(pauseIcon); - if (m_MediaObject.hasVideo()) - m_videoWindow.show(); - // Fall through - case Phonon::BufferingState: - rewindButton->setEnabled(true); - break; - case Phonon::LoadingState: - rewindButton->setEnabled(false); - break; - } - -} - -void MediaPlayer::initSettingsDialog() -{ - settingsDialog = new QDialog(this); - ui = new Ui_settings(); - ui->setupUi(settingsDialog); - - connect(ui->brightnessSlider, SIGNAL(valueChanged(int)), this, SLOT(setBrightness(int))); - connect(ui->hueSlider, SIGNAL(valueChanged(int)), this, SLOT(setHue(int))); - connect(ui->saturationSlider, SIGNAL(valueChanged(int)), this, SLOT(setSaturation(int))); - connect(ui->contrastSlider , SIGNAL(valueChanged(int)), this, SLOT(setContrast(int))); - connect(ui->aspectCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setAspect(int))); - connect(ui->scalemodeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setScale(int))); - - ui->brightnessSlider->setValue(int(m_videoWidget->brightness() * SLIDER_RANGE)); - ui->hueSlider->setValue(int(m_videoWidget->hue() * SLIDER_RANGE)); - ui->saturationSlider->setValue(int(m_videoWidget->saturation() * SLIDER_RANGE)); - ui->contrastSlider->setValue(int(m_videoWidget->contrast() * SLIDER_RANGE)); - ui->aspectCombo->setCurrentIndex(m_videoWidget->aspectRatio()); - ui->scalemodeCombo->setCurrentIndex(m_videoWidget->scaleMode()); - connect(ui->effectButton, SIGNAL(clicked()), this, SLOT(configureEffect())); - -#ifdef Q_WS_X11 - //Cross fading is not currently implemented in the GStreamer backend - ui->crossFadeSlider->setVisible(false); - ui->crossFadeLabel->setVisible(false); - ui->crossFadeLabel1->setVisible(false); - ui->crossFadeLabel2->setVisible(false); - ui->crossFadeLabel3->setVisible(false); -#endif - ui->crossFadeSlider->setValue((int)(2 * m_MediaObject.transitionTime() / 1000.0f)); - - // Insert audio devices: - QList devices = Phonon::BackendCapabilities::availableAudioOutputDevices(); - for (int i=0; ideviceCombo->addItem(itemText); - if (devices[i] == m_AudioOutput.outputDevice()) - ui->deviceCombo->setCurrentIndex(i); - } - - // Insert audio effects: - ui->audioEffectsCombo->addItem(tr("")); - QList currEffects = m_audioOutputPath.effects(); - Phonon::Effect *currEffect = currEffects.size() ? currEffects[0] : 0; - QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); - for (int i=0; iaudioEffectsCombo->addItem(availableEffects[i].name()); - if (currEffect && availableEffects[i] == currEffect->description()) - ui->audioEffectsCombo->setCurrentIndex(i+1); - } - connect(ui->audioEffectsCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(effectChanged())); - -} - -void MediaPlayer::effectChanged() -{ - int currentIndex = ui->audioEffectsCombo->currentIndex(); - if (currentIndex) { - QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); - Phonon::EffectDescription chosenEffect = availableEffects[currentIndex - 1]; - - QList currEffects = m_audioOutputPath.effects(); - Phonon::Effect *currentEffect = currEffects.size() ? currEffects[0] : 0; - - // Deleting the running effect will stop playback, it is deleted when removed from path - if (nextEffect && !(currentEffect && (currentEffect->description().name() == nextEffect->description().name()))) - delete nextEffect; - - nextEffect = new Phonon::Effect(chosenEffect); - } - ui->effectButton->setEnabled(currentIndex); -} - -void MediaPlayer::showSettingsDialog() -{ - if (!settingsDialog) - initSettingsDialog(); - - float oldBrightness = m_videoWidget->brightness(); - float oldHue = m_videoWidget->hue(); - float oldSaturation = m_videoWidget->saturation(); - float oldContrast = m_videoWidget->contrast(); - Phonon::VideoWidget::AspectRatio oldAspect = m_videoWidget->aspectRatio(); - Phonon::VideoWidget::ScaleMode oldScale = m_videoWidget->scaleMode(); - int currentEffect = ui->audioEffectsCombo->currentIndex(); - settingsDialog->exec(); - - if (settingsDialog->result() == QDialog::Accepted){ - m_MediaObject.setTransitionTime((int)(1000 * float(ui->crossFadeSlider->value()) / 2.0f)); - QList devices = Phonon::BackendCapabilities::availableAudioOutputDevices(); - m_AudioOutput.setOutputDevice(devices[ui->deviceCombo->currentIndex()]); - QList currEffects = m_audioOutputPath.effects(); - QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); - - if (ui->audioEffectsCombo->currentIndex() > 0){ - Phonon::Effect *currentEffect = currEffects.size() ? currEffects[0] : 0; - if (!currentEffect || currentEffect->description() != nextEffect->description()){ - foreach(Phonon::Effect *effect, currEffects) { - m_audioOutputPath.removeEffect(effect); - delete effect; - } - m_audioOutputPath.insertEffect(nextEffect); - } - } else { - foreach(Phonon::Effect *effect, currEffects) { - m_audioOutputPath.removeEffect(effect); - delete effect; - nextEffect = 0; - } - } - } else { - // Restore previous settings - m_videoWidget->setBrightness(oldBrightness); - m_videoWidget->setSaturation(oldSaturation); - m_videoWidget->setHue(oldHue); - m_videoWidget->setContrast(oldContrast); - m_videoWidget->setAspectRatio(oldAspect); - m_videoWidget->setScaleMode(oldScale); - ui->audioEffectsCombo->setCurrentIndex(currentEffect); - } -} - -void MediaPlayer::initVideoWindow() -{ - QVBoxLayout *videoLayout = new QVBoxLayout(); - videoLayout->addWidget(m_videoWidget); - videoLayout->setContentsMargins(0, 0, 0, 0); - m_videoWindow.setLayout(videoLayout); - m_videoWindow.setMinimumSize(100, 100); -} - - -void MediaPlayer::configureEffect() -{ - if (!nextEffect) - return; - - - QList currEffects = m_audioOutputPath.effects(); - const QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); - if (ui->audioEffectsCombo->currentIndex() > 0) { - Phonon::EffectDescription chosenEffect = availableEffects[ui->audioEffectsCombo->currentIndex() - 1]; - - QDialog effectDialog; - effectDialog.setWindowTitle(tr("Configure effect")); - QVBoxLayout *topLayout = new QVBoxLayout(&effectDialog); - - QLabel *description = new QLabel("Description:
      " + chosenEffect.description(), &effectDialog); - description->setWordWrap(true); - topLayout->addWidget(description); - - QScrollArea *scrollArea = new QScrollArea(&effectDialog); - topLayout->addWidget(scrollArea); - - QVariantList savedParamValues; - foreach(Phonon::EffectParameter param, nextEffect->parameters()) { - savedParamValues << nextEffect->parameterValue(param); - } - - QWidget *scrollWidget = new Phonon::EffectWidget(nextEffect); - scrollWidget->setMinimumWidth(320); - scrollWidget->setContentsMargins(10, 10, 10,10); - scrollArea->setWidget(scrollWidget); - - QDialogButtonBox *bbox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, &effectDialog); - connect(bbox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), &effectDialog, SLOT(accept())); - connect(bbox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), &effectDialog, SLOT(reject())); - topLayout->addWidget(bbox); - - effectDialog.exec(); - - if (effectDialog.result() != QDialog::Accepted) { - //we need to restore the paramaters values - int currentIndex = 0; - foreach(Phonon::EffectParameter param, nextEffect->parameters()) { - nextEffect->setParameterValue(param, savedParamValues.at(currentIndex++)); - } - - } - } -} - -void MediaPlayer::handleDrop(QDropEvent *e) -{ - QList urls = e->mimeData()->urls(); - if (e->proposedAction() == Qt::MoveAction){ - // Just add to the queue: - for (int i=0; i 0) { - QString fileName = urls[0].toLocalFile(); - QDir dir(fileName); - if (dir.exists()) { - dir.setFilter(QDir::Files); - QStringList entries = dir.entryList(); - if (entries.size() > 0) { - setFile(fileName + QDir::separator() + entries[0]); - for (int i=1; i< entries.size(); ++i) - m_MediaObject.enqueue(fileName + QDir::separator() + entries[i]); - } - } else { - setFile(fileName); - for (int i=1; isetEnabled(m_MediaObject.queue().size() > 0); - m_MediaObject.play(); -} - -void MediaPlayer::dropEvent(QDropEvent *e) -{ - if (e->mimeData()->hasUrls() && e->proposedAction() != Qt::LinkAction) { - e->acceptProposedAction(); - handleDrop(e); - } else { - e->ignore(); - } -} - -void MediaPlayer::dragEnterEvent(QDragEnterEvent *e) -{ - dragMoveEvent(e); -} - -void MediaPlayer::dragMoveEvent(QDragMoveEvent *e) -{ - if (e->mimeData()->hasUrls()) { - if (e->proposedAction() == Qt::CopyAction || e->proposedAction() == Qt::MoveAction){ - e->acceptProposedAction(); - } - } -} - -void MediaPlayer::playPause() -{ - if (m_MediaObject.state() == Phonon::PlayingState) - m_MediaObject.pause(); - else { - if (m_MediaObject.currentTime() == m_MediaObject.totalTime()) - m_MediaObject.seek(0); - m_MediaObject.play(); - } -} - -void MediaPlayer::setFile(const QString &fileName) -{ - setWindowTitle(fileName.right(fileName.length() - fileName.lastIndexOf('/') - 1)); - m_MediaObject.setCurrentSource(Phonon::MediaSource(fileName)); - m_MediaObject.play(); -} - -void MediaPlayer::openFile() -{ - QStringList fileNames = QFileDialog::getOpenFileNames(this, QString(), - QDesktopServices::storageLocation(QDesktopServices::MusicLocation)); - m_MediaObject.clearQueue(); - if (fileNames.size() > 0) { - QString fileName = fileNames[0]; - setFile(fileName); - for (int i=1; isetEnabled(m_MediaObject.queue().size() > 0); -} - -void MediaPlayer::bufferStatus(int percent) -{ - if (percent == 0 || percent == 100) - progressLabel->setText(QString()); - else { - QString str = QString::fromLatin1("(%1%)").arg(percent); - progressLabel->setText(str); - } -} - -void MediaPlayer::setSaturation(int val) -{ - m_videoWidget->setSaturation(val / qreal(SLIDER_RANGE)); -} - -void MediaPlayer::setHue(int val) -{ - m_videoWidget->setHue(val / qreal(SLIDER_RANGE)); -} - -void MediaPlayer::setAspect(int val) -{ - m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio(val)); -} - -void MediaPlayer::setScale(int val) -{ - m_videoWidget->setScaleMode(Phonon::VideoWidget::ScaleMode(val)); -} - -void MediaPlayer::setBrightness(int val) -{ - m_videoWidget->setBrightness(val / qreal(SLIDER_RANGE)); -} - -void MediaPlayer::setContrast(int val) -{ - m_videoWidget->setContrast(val / qreal(SLIDER_RANGE)); -} - -void MediaPlayer::updateInfo() -{ - int maxLength = 30; - QString font = ""; - QString fontmono = ""; - - QMap metaData = m_MediaObject.metaData(); - QString trackArtist = metaData.value("ARTIST"); - if (trackArtist.length() > maxLength) - trackArtist = trackArtist.left(maxLength) + "..."; - - QString trackTitle = metaData.value("TITLE"); - int trackBitrate = metaData.value("BITRATE").toInt(); - - QString fileName; - if (m_MediaObject.currentSource().type() == Phonon::MediaSource::Url) { - fileName = m_MediaObject.currentSource().url().toString(); - } else { - fileName = m_MediaObject.currentSource().fileName(); - fileName = fileName.right(fileName.length() - fileName.lastIndexOf('/') - 1); - if (fileName.length() > maxLength) - fileName = fileName.left(maxLength) + "..."; - } - - QString title; - if (!trackTitle.isEmpty()) { - if (trackTitle.length() > maxLength) - trackTitle = trackTitle.left(maxLength) + "..."; - title = "Title: " + font + trackTitle + "
      "; - } else if (!fileName.isEmpty()) { - if (fileName.length() > maxLength) - fileName = fileName.left(maxLength) + "..."; - title = font + fileName + "
      "; - if (m_MediaObject.currentSource().type() == Phonon::MediaSource::Url) { - title.prepend("Url: "); - } else { - title.prepend("File: "); - } - } - - QString artist; - if (!trackArtist.isEmpty()) - artist = "Artist: " + font + trackArtist + ""; - - QString bitrate; - if (trackBitrate != 0) - bitrate = "
      Bitrate: " + font + QString::number(trackBitrate/1000) + "kbit"; - - info->setText(title + artist + bitrate); -} - -void MediaPlayer::updateTime() -{ - long len = m_MediaObject.totalTime(); - long pos = m_MediaObject.currentTime(); - QString timeString; - if (pos || len) - { - int sec = pos/1000; - int min = sec/60; - int hour = min/60; - int msec = pos; - - QTime playTime(hour%60, min%60, sec%60, msec%1000); - sec = len / 1000; - min = sec / 60; - hour = min / 60; - msec = len; - - QTime stopTime(hour%60, min%60, sec%60, msec%1000); - QString timeFormat = "m:ss"; - if (hour > 0) - timeFormat = "h:mm:ss"; - timeString = playTime.toString(timeFormat); - if (len) - timeString += " / " + stopTime.toString(timeFormat); - } - timeLabel->setText(timeString); -} - -void MediaPlayer::rewind() -{ - m_MediaObject.seek(0); -} - -void MediaPlayer::forward() -{ - QList queue = m_MediaObject.queue(); - if (queue.size() > 0) { - m_MediaObject.setCurrentSource(queue[0]); - forwardButton->setEnabled(queue.size() > 1); - m_MediaObject.play(); - } -} - -void MediaPlayer::openUrl() -{ - QSettings settings; - settings.beginGroup(QLatin1String("BrowserMainWindow")); - QString sourceURL = settings.value("location").toString(); - bool ok = false; - sourceURL = QInputDialog::getText(this, tr("Open Location"), tr("Please enter a valid address here:"), QLineEdit::Normal, sourceURL, &ok); - if (ok && !sourceURL.isEmpty()) { - setWindowTitle(sourceURL.right(sourceURL.length() - sourceURL.lastIndexOf('/') - 1)); - m_MediaObject.setCurrentSource(Phonon::MediaSource(QUrl::fromEncoded(sourceURL.toUtf8()))); - m_MediaObject.play(); - settings.setValue("location", sourceURL); - } -} - -void MediaPlayer::finished() -{ -} - -void MediaPlayer::showContextMenu(const QPoint &p) -{ - fileMenu->popup(m_videoWidget->isFullScreen() ? p : mapToGlobal(p)); -} - -void MediaPlayer::scaleChanged(QAction *act) -{ - if (act->text() == tr("Scale and crop")) - m_videoWidget->setScaleMode(Phonon::VideoWidget::ScaleAndCrop); - else - m_videoWidget->setScaleMode(Phonon::VideoWidget::FitInView); -} - -void MediaPlayer::aspectChanged(QAction *act) -{ - if (act->text() == tr("16/9")) - m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio16_9); - else if (act->text() == tr("Scale")) - m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatioWidget); - else if (act->text() == tr("4/3")) - m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio4_3); - else - m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatioAuto); -} - diff --git a/demos/mediaplayer/mediaplayer.h b/demos/mediaplayer/mediaplayer.h deleted file mode 100644 index 40ffa40..0000000 --- a/demos/mediaplayer/mediaplayer.h +++ /dev/null @@ -1,139 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -***************************************************************************/ - -#ifndef MEDIALAYER_H -#define MEDIAPLAYER_H - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -QT_BEGIN_NAMESPACE -class QPushButton; -class QLabel; -class QSlider; -class QTextEdit; -class QMenu; -class Ui_settings; -QT_END_NAMESPACE - -class MediaPlayer : - public QWidget -{ - Q_OBJECT -public: - MediaPlayer(const QString &, - const bool hasSmallScreen); - - void dragEnterEvent(QDragEnterEvent *e); - void dragMoveEvent(QDragMoveEvent *e); - void dropEvent(QDropEvent *e); - void handleDrop(QDropEvent *e); - void setFile(const QString &text); - void initVideoWindow(); - void initSettingsDialog(); - -public slots: - void openFile(); - void rewind(); - void forward(); - void updateInfo(); - void updateTime(); - void finished(); - void playPause(); - void scaleChanged(QAction *); - void aspectChanged(QAction *); - -private slots: - void setAspect(int); - void setScale(int); - void setSaturation(int); - void setContrast(int); - void setHue(int); - void setBrightness(int); - void stateChanged(Phonon::State newstate, Phonon::State oldstate); - void effectChanged(); - void showSettingsDialog(); - void showContextMenu(const QPoint &); - void bufferStatus(int percent); - void openUrl(); - void configureEffect(); - -private: - QIcon playIcon; - QIcon pauseIcon; - QMenu *fileMenu; - QPushButton *playButton; - QPushButton *rewindButton; - QPushButton *forwardButton; - Phonon::SeekSlider *slider; - QLabel *timeLabel; - QLabel *progressLabel; - Phonon::VolumeSlider *volume; - QSlider *m_hueSlider; - QSlider *m_satSlider; - QSlider *m_contSlider; - QLabel *info; - Phonon::Effect *nextEffect; - QDialog *settingsDialog; - Ui_settings *ui; - - QWidget m_videoWindow; - Phonon::MediaObject m_MediaObject; - Phonon::AudioOutput m_AudioOutput; - Phonon::VideoWidget *m_videoWidget; - Phonon::Path m_audioOutputPath; - const bool m_hasSmallScreen; -}; - -#endif //MEDIAPLAYER_H diff --git a/demos/mediaplayer/mediaplayer.pro b/demos/mediaplayer/mediaplayer.pro deleted file mode 100644 index a420cc3..0000000 --- a/demos/mediaplayer/mediaplayer.pro +++ /dev/null @@ -1,36 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Thu Aug 23 18:02:14 2007 -###################################################################### - -TEMPLATE = app -TARGET = qmediaplayer -DEPENDPATH += . build src ui - -QT += phonon - -FORMS += settings.ui -RESOURCES += mediaplayer.qrc - -!win32:CONFIG += CONSOLE - -SOURCES += main.cpp mediaplayer.cpp -HEADERS += mediaplayer.h - -target.path = $$[QT_INSTALL_DEMOS]/qmediaplayer -sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.html *.doc images -sources.path = $$[QT_INSTALL_DEMOS]/mediaplayer -INSTALLS += target sources - -wince*{ -DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout -} - -symbian { - TARGET.UID3 = 0xA000C613 - - addFiles.sources = ../embedded/desktopservices/data/sax.mp3 - addFiles.path = /data/sounds/ - DEPLOYMENT += addFiles - - include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) -} diff --git a/demos/mediaplayer/mediaplayer.qrc b/demos/mediaplayer/mediaplayer.qrc deleted file mode 100644 index bcdf404..0000000 --- a/demos/mediaplayer/mediaplayer.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - images/screen.png - - diff --git a/demos/mediaplayer/settings.ui b/demos/mediaplayer/settings.ui deleted file mode 100644 index d2cedd4..0000000 --- a/demos/mediaplayer/settings.ui +++ /dev/null @@ -1,464 +0,0 @@ - - settings - - - - 0 - 0 - 360 - 362 - - - - Settings - - - - - - Video options: - - - true - - - - - - Contrast: - - - - - - - -8 - - - 8 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - 4 - - - - - - - Brightness: - - - - - - - -8 - - - 8 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - 4 - - - - - - - Saturation: - - - - - - - -8 - - - 8 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - 4 - - - - - - - Hue: - - - - - - - -8 - - - 8 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - 4 - - - - - - - Aspect ratio: - - - - - - - - 180 - 0 - - - - - Auto - - - - - Stretch - - - - - 4/3 - - - - - 16/9 - - - - - - - - Scale Mode: - - - - - - - - 180 - 0 - - - - - Fit in view - - - - - Scale and crop - - - - - - - - - - - Audio options: - - - true - - - - - - - - - 0 - 0 - - - - - 90 - 0 - - - - Audio device: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - 0 - 0 - - - - - - - - - - - - - 0 - 0 - - - - - 90 - 0 - - - - Audio effect: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - 0 - 0 - - - - - - - - false - - - Setup - - - - - - - - - - - - 0 - 0 - - - - - 90 - 0 - - - - Cross fade: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - 0 - 0 - - - - -20 - - - 20 - - - 1 - - - 2 - - - 0 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - - - - - - - - 9 - - - - -10 Sec - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 9 - - - - 0 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 9 - - - - 10 Sec - - - - - - - - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - - buttonBox - accepted() - settings - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - settings - reject() - - - 316 - 260 - - - 286 - 274 - - - - - diff --git a/demos/qmediaplayer/images/screen.png b/demos/qmediaplayer/images/screen.png new file mode 100644 index 0000000..a15df92 Binary files /dev/null and b/demos/qmediaplayer/images/screen.png differ diff --git a/demos/qmediaplayer/main.cpp b/demos/qmediaplayer/main.cpp new file mode 100644 index 0000000..66aa445 --- /dev/null +++ b/demos/qmediaplayer/main.cpp @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +***************************************************************************/ + +#include +#include "mediaplayer.h" + +int main (int argc, char *argv[]) +{ + Q_INIT_RESOURCE(mediaplayer); + QApplication app(argc, argv); + app.setApplicationName("Media Player"); + app.setOrganizationName("Qt"); + app.setQuitOnLastWindowClosed(true); + + bool hasSmallScreen = +#ifdef Q_OS_SYMBIAN + /* On Symbian, we always want fullscreen. One reason is that it's not + * possible to launch any demos from the fluidlauncher due to a + * limitation in the emulator. */ + true +#else + false +#endif + ; + + QString fileString; + const QStringList args(app.arguments()); + /* We have a minor problem here, we accept two arguments, both are + * optional: + * - A file name + * - the option "-small-screen", so let's try to cope with that. + */ + for (int i = 0; i < args.count(); ++i) { + const QString &at = args.at(i); + + if (at == QLatin1String("-small-screen")) + hasSmallScreen = true; + else if (i > 0) // We don't want the app name. + fileString = at; + } + + MediaPlayer player(fileString, hasSmallScreen); + + if (hasSmallScreen) + player.showMaximized(); + else + player.show(); + + return app.exec(); +} + diff --git a/demos/qmediaplayer/mediaplayer.cpp b/demos/qmediaplayer/mediaplayer.cpp new file mode 100644 index 0000000..baac236 --- /dev/null +++ b/demos/qmediaplayer/mediaplayer.cpp @@ -0,0 +1,845 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +***************************************************************************/ + +#include + +#define SLIDER_RANGE 8 + +#include "mediaplayer.h" +#include "ui_settings.h" + + +class MediaVideoWidget : public Phonon::VideoWidget +{ +public: + MediaVideoWidget(MediaPlayer *player, QWidget *parent = 0) : + Phonon::VideoWidget(parent), m_player(player), m_action(this) + { + m_action.setCheckable(true); + m_action.setChecked(false); + m_action.setShortcut(QKeySequence( Qt::AltModifier + Qt::Key_Return)); + m_action.setShortcutContext(Qt::WindowShortcut); + connect(&m_action, SIGNAL(toggled(bool)), SLOT(setFullScreen(bool))); + addAction(&m_action); + setAcceptDrops(true); + } + +protected: + void mouseDoubleClickEvent(QMouseEvent *e) + { + Phonon::VideoWidget::mouseDoubleClickEvent(e); + setFullScreen(!isFullScreen()); + } + + void keyPressEvent(QKeyEvent *e) + { + if (e->key() == Qt::Key_Space && !e->modifiers()) { + m_player->playPause(); + e->accept(); + return; + } else if (e->key() == Qt::Key_Escape && !e->modifiers()) { + setFullScreen(false); + e->accept(); + return; + } + Phonon::VideoWidget::keyPressEvent(e); + } + + bool event(QEvent *e) + { + switch(e->type()) + { + case QEvent::Close: + //we just ignore the cose events on the video widget + //this prevents ALT+F4 from having an effect in fullscreen mode + e->ignore(); + return true; + case QEvent::MouseMove: +#ifndef QT_NO_CURSOR + unsetCursor(); +#endif + //fall through + case QEvent::WindowStateChange: + { + //we just update the state of the checkbox, in case it wasn't already + m_action.setChecked(windowState() & Qt::WindowFullScreen); + const Qt::WindowFlags flags = m_player->windowFlags(); + if (windowState() & Qt::WindowFullScreen) { + m_timer.start(1000, this); + } else { + m_timer.stop(); +#ifndef QT_NO_CURSOR + unsetCursor(); +#endif + } + } + break; + default: + break; + } + + return Phonon::VideoWidget::event(e); + } + + void timerEvent(QTimerEvent *e) + { + if (e->timerId() == m_timer.timerId()) { + //let's store the cursor shape +#ifndef QT_NO_CURSOR + setCursor(Qt::BlankCursor); +#endif + } + Phonon::VideoWidget::timerEvent(e); + } + + void dropEvent(QDropEvent *e) + { + m_player->handleDrop(e); + } + + void dragEnterEvent(QDragEnterEvent *e) { + if (e->mimeData()->hasUrls()) + e->acceptProposedAction(); + } + +private: + MediaPlayer *m_player; + QBasicTimer m_timer; + QAction m_action; +}; + + +MediaPlayer::MediaPlayer(const QString &filePath, + const bool hasSmallScreen) : + playButton(0), nextEffect(0), settingsDialog(0), ui(0), + m_AudioOutput(Phonon::VideoCategory), + m_videoWidget(new MediaVideoWidget(this)), + m_hasSmallScreen(hasSmallScreen) +{ + setWindowTitle(tr("Media Player")); + setContextMenuPolicy(Qt::CustomContextMenu); + m_videoWidget->setContextMenuPolicy(Qt::CustomContextMenu); + + QSize buttonSize(34, 28); + + QPushButton *openButton = new QPushButton(this); + + openButton->setIcon(style()->standardIcon(QStyle::SP_DialogOpenButton)); + QPalette bpal; + QColor arrowcolor = bpal.buttonText().color(); + if (arrowcolor == Qt::black) + arrowcolor = QColor(80, 80, 80); + bpal.setBrush(QPalette::ButtonText, arrowcolor); + openButton->setPalette(bpal); + + rewindButton = new QPushButton(this); + rewindButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipBackward)); + + forwardButton = new QPushButton(this); + forwardButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipForward)); + forwardButton->setEnabled(false); + + playButton = new QPushButton(this); + playIcon = style()->standardIcon(QStyle::SP_MediaPlay); + pauseIcon = style()->standardIcon(QStyle::SP_MediaPause); + playButton->setIcon(playIcon); + + slider = new Phonon::SeekSlider(this); + slider->setMediaObject(&m_MediaObject); + volume = new Phonon::VolumeSlider(&m_AudioOutput); + + QVBoxLayout *vLayout = new QVBoxLayout(this); + vLayout->setContentsMargins(8, 8, 8, 8); + + QHBoxLayout *layout = new QHBoxLayout(); + + info = new QLabel(this); + info->setMinimumHeight(70); + info->setAcceptDrops(false); + info->setMargin(2); + info->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); + info->setLineWidth(2); + info->setAutoFillBackground(true); + + QPalette palette; + palette.setBrush(QPalette::WindowText, Qt::white); +#ifndef Q_WS_MAC + openButton->setMinimumSize(54, buttonSize.height()); + rewindButton->setMinimumSize(buttonSize); + forwardButton->setMinimumSize(buttonSize); + playButton->setMinimumSize(buttonSize); +#endif + info->setStyleSheet("border-image:url(:/images/screen.png) ; border-width:3px"); + info->setPalette(palette); + info->setText(tr("
      No media
      ")); + + volume->setFixedWidth(120); + + layout->addWidget(openButton); + layout->addWidget(rewindButton); + layout->addWidget(playButton); + layout->addWidget(forwardButton); + + layout->addStretch(); + layout->addWidget(volume); + + vLayout->addWidget(info); + initVideoWindow(); + vLayout->addWidget(&m_videoWindow); + QVBoxLayout *buttonPanelLayout = new QVBoxLayout(); + m_videoWindow.hide(); + buttonPanelLayout->addLayout(layout); + + timeLabel = new QLabel(this); + progressLabel = new QLabel(this); + QWidget *sliderPanel = new QWidget(this); + QHBoxLayout *sliderLayout = new QHBoxLayout(); + sliderLayout->addWidget(slider); + sliderLayout->addWidget(timeLabel); + sliderLayout->addWidget(progressLabel); + sliderLayout->setContentsMargins(0, 0, 0, 0); + sliderPanel->setLayout(sliderLayout); + + buttonPanelLayout->addWidget(sliderPanel); + buttonPanelLayout->setContentsMargins(0, 0, 0, 0); +#ifdef Q_OS_MAC + layout->setSpacing(4); + buttonPanelLayout->setSpacing(0); + info->setMinimumHeight(100); + info->setFont(QFont("verdana", 15)); + // QStyle *flatButtonStyle = new QWindowsStyle; + openButton->setFocusPolicy(Qt::NoFocus); + // openButton->setStyle(flatButtonStyle); + // playButton->setStyle(flatButtonStyle); + // rewindButton->setStyle(flatButtonStyle); + // forwardButton->setStyle(flatButtonStyle); + #endif + QWidget *buttonPanelWidget = new QWidget(this); + buttonPanelWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + buttonPanelWidget->setLayout(buttonPanelLayout); + vLayout->addWidget(buttonPanelWidget); + + QHBoxLayout *labelLayout = new QHBoxLayout(); + + vLayout->addLayout(labelLayout); + setLayout(vLayout); + + // Create menu bar: + fileMenu = new QMenu(this); + QAction *openFileAction = fileMenu->addAction(tr("Open &File...")); + QAction *openUrlAction = fileMenu->addAction(tr("Open &Location...")); + + fileMenu->addSeparator(); + QMenu *aspectMenu = fileMenu->addMenu(tr("&Aspect ratio")); + QActionGroup *aspectGroup = new QActionGroup(aspectMenu); + connect(aspectGroup, SIGNAL(triggered(QAction *)), this, SLOT(aspectChanged(QAction *))); + aspectGroup->setExclusive(true); + QAction *aspectActionAuto = aspectMenu->addAction(tr("Auto")); + aspectActionAuto->setCheckable(true); + aspectActionAuto->setChecked(true); + aspectGroup->addAction(aspectActionAuto); + QAction *aspectActionScale = aspectMenu->addAction(tr("Scale")); + aspectActionScale->setCheckable(true); + aspectGroup->addAction(aspectActionScale); + QAction *aspectAction16_9 = aspectMenu->addAction(tr("16/9")); + aspectAction16_9->setCheckable(true); + aspectGroup->addAction(aspectAction16_9); + QAction *aspectAction4_3 = aspectMenu->addAction(tr("4/3")); + aspectAction4_3->setCheckable(true); + aspectGroup->addAction(aspectAction4_3); + + QMenu *scaleMenu = fileMenu->addMenu(tr("&Scale mode")); + QActionGroup *scaleGroup = new QActionGroup(scaleMenu); + connect(scaleGroup, SIGNAL(triggered(QAction *)), this, SLOT(scaleChanged(QAction *))); + scaleGroup->setExclusive(true); + QAction *scaleActionFit = scaleMenu->addAction(tr("Fit in view")); + scaleActionFit->setCheckable(true); + scaleActionFit->setChecked(true); + scaleGroup->addAction(scaleActionFit); + QAction *scaleActionCrop = scaleMenu->addAction(tr("Scale and crop")); + scaleActionCrop->setCheckable(true); + scaleGroup->addAction(scaleActionCrop); + + fileMenu->addSeparator(); + QAction *settingsAction = fileMenu->addAction(tr("&Settings...")); + + // Setup signal connections: + connect(rewindButton, SIGNAL(clicked()), this, SLOT(rewind())); + //connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); + openButton->setMenu(fileMenu); + + connect(playButton, SIGNAL(clicked()), this, SLOT(playPause())); + connect(forwardButton, SIGNAL(clicked()), this, SLOT(forward())); + //connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); + connect(settingsAction, SIGNAL(triggered(bool)), this, SLOT(showSettingsDialog())); + connect(openUrlAction, SIGNAL(triggered(bool)), this, SLOT(openUrl())); + connect(openFileAction, SIGNAL(triggered(bool)), this, SLOT(openFile())); + + connect(m_videoWidget, SIGNAL(customContextMenuRequested(const QPoint &)), SLOT(showContextMenu(const QPoint &))); + connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), SLOT(showContextMenu(const QPoint &))); + connect(&m_MediaObject, SIGNAL(metaDataChanged()), this, SLOT(updateInfo())); + connect(&m_MediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(updateTime())); + connect(&m_MediaObject, SIGNAL(tick(qint64)), this, SLOT(updateTime())); + connect(&m_MediaObject, SIGNAL(finished()), this, SLOT(finished())); + connect(&m_MediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SLOT(stateChanged(Phonon::State, Phonon::State))); + connect(&m_MediaObject, SIGNAL(bufferStatus(int)), this, SLOT(bufferStatus(int))); + + rewindButton->setEnabled(false); + playButton->setEnabled(false); + setAcceptDrops(true); + + m_audioOutputPath = Phonon::createPath(&m_MediaObject, &m_AudioOutput); + Phonon::createPath(&m_MediaObject, m_videoWidget); + + if (!filePath.isEmpty()) + setFile(filePath); + resize(minimumSizeHint()); +} + +void MediaPlayer::stateChanged(Phonon::State newstate, Phonon::State oldstate) +{ + Q_UNUSED(oldstate); + + if (oldstate == Phonon::LoadingState) { + m_videoWindow.setVisible(m_MediaObject.hasVideo()); + info->setVisible(!m_MediaObject.hasVideo()); + QRect videoHintRect = QRect(QPoint(0, 0), m_videoWindow.sizeHint()); + QRect newVideoRect = QApplication::desktop()->screenGeometry().intersected(videoHintRect); + if (!m_hasSmallScreen) { + if (m_MediaObject.hasVideo()) { + // Flush event que so that sizeHint takes the + // recently shown/hidden m_videoWindow into account: + qApp->processEvents(); + resize(sizeHint()); + } else + resize(minimumSize()); + } + } + + switch (newstate) { + case Phonon::ErrorState: + QMessageBox::warning(this, "Phonon Mediaplayer", m_MediaObject.errorString(), QMessageBox::Close); + if (m_MediaObject.errorType() == Phonon::FatalError) { + playButton->setEnabled(false); + rewindButton->setEnabled(false); + } else { + m_MediaObject.pause(); + } + break; + case Phonon::PausedState: + case Phonon::StoppedState: + playButton->setIcon(playIcon); + if (m_MediaObject.currentSource().type() != Phonon::MediaSource::Invalid){ + playButton->setEnabled(true); + rewindButton->setEnabled(true); + } else { + playButton->setEnabled(false); + rewindButton->setEnabled(false); + } + break; + case Phonon::PlayingState: + playButton->setEnabled(true); + playButton->setIcon(pauseIcon); + if (m_MediaObject.hasVideo()) + m_videoWindow.show(); + // Fall through + case Phonon::BufferingState: + rewindButton->setEnabled(true); + break; + case Phonon::LoadingState: + rewindButton->setEnabled(false); + break; + } + +} + +void MediaPlayer::initSettingsDialog() +{ + settingsDialog = new QDialog(this); + ui = new Ui_settings(); + ui->setupUi(settingsDialog); + + connect(ui->brightnessSlider, SIGNAL(valueChanged(int)), this, SLOT(setBrightness(int))); + connect(ui->hueSlider, SIGNAL(valueChanged(int)), this, SLOT(setHue(int))); + connect(ui->saturationSlider, SIGNAL(valueChanged(int)), this, SLOT(setSaturation(int))); + connect(ui->contrastSlider , SIGNAL(valueChanged(int)), this, SLOT(setContrast(int))); + connect(ui->aspectCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setAspect(int))); + connect(ui->scalemodeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setScale(int))); + + ui->brightnessSlider->setValue(int(m_videoWidget->brightness() * SLIDER_RANGE)); + ui->hueSlider->setValue(int(m_videoWidget->hue() * SLIDER_RANGE)); + ui->saturationSlider->setValue(int(m_videoWidget->saturation() * SLIDER_RANGE)); + ui->contrastSlider->setValue(int(m_videoWidget->contrast() * SLIDER_RANGE)); + ui->aspectCombo->setCurrentIndex(m_videoWidget->aspectRatio()); + ui->scalemodeCombo->setCurrentIndex(m_videoWidget->scaleMode()); + connect(ui->effectButton, SIGNAL(clicked()), this, SLOT(configureEffect())); + +#ifdef Q_WS_X11 + //Cross fading is not currently implemented in the GStreamer backend + ui->crossFadeSlider->setVisible(false); + ui->crossFadeLabel->setVisible(false); + ui->crossFadeLabel1->setVisible(false); + ui->crossFadeLabel2->setVisible(false); + ui->crossFadeLabel3->setVisible(false); +#endif + ui->crossFadeSlider->setValue((int)(2 * m_MediaObject.transitionTime() / 1000.0f)); + + // Insert audio devices: + QList devices = Phonon::BackendCapabilities::availableAudioOutputDevices(); + for (int i=0; ideviceCombo->addItem(itemText); + if (devices[i] == m_AudioOutput.outputDevice()) + ui->deviceCombo->setCurrentIndex(i); + } + + // Insert audio effects: + ui->audioEffectsCombo->addItem(tr("")); + QList currEffects = m_audioOutputPath.effects(); + Phonon::Effect *currEffect = currEffects.size() ? currEffects[0] : 0; + QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); + for (int i=0; iaudioEffectsCombo->addItem(availableEffects[i].name()); + if (currEffect && availableEffects[i] == currEffect->description()) + ui->audioEffectsCombo->setCurrentIndex(i+1); + } + connect(ui->audioEffectsCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(effectChanged())); + +} + +void MediaPlayer::effectChanged() +{ + int currentIndex = ui->audioEffectsCombo->currentIndex(); + if (currentIndex) { + QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); + Phonon::EffectDescription chosenEffect = availableEffects[currentIndex - 1]; + + QList currEffects = m_audioOutputPath.effects(); + Phonon::Effect *currentEffect = currEffects.size() ? currEffects[0] : 0; + + // Deleting the running effect will stop playback, it is deleted when removed from path + if (nextEffect && !(currentEffect && (currentEffect->description().name() == nextEffect->description().name()))) + delete nextEffect; + + nextEffect = new Phonon::Effect(chosenEffect); + } + ui->effectButton->setEnabled(currentIndex); +} + +void MediaPlayer::showSettingsDialog() +{ + if (!settingsDialog) + initSettingsDialog(); + + float oldBrightness = m_videoWidget->brightness(); + float oldHue = m_videoWidget->hue(); + float oldSaturation = m_videoWidget->saturation(); + float oldContrast = m_videoWidget->contrast(); + Phonon::VideoWidget::AspectRatio oldAspect = m_videoWidget->aspectRatio(); + Phonon::VideoWidget::ScaleMode oldScale = m_videoWidget->scaleMode(); + int currentEffect = ui->audioEffectsCombo->currentIndex(); + settingsDialog->exec(); + + if (settingsDialog->result() == QDialog::Accepted){ + m_MediaObject.setTransitionTime((int)(1000 * float(ui->crossFadeSlider->value()) / 2.0f)); + QList devices = Phonon::BackendCapabilities::availableAudioOutputDevices(); + m_AudioOutput.setOutputDevice(devices[ui->deviceCombo->currentIndex()]); + QList currEffects = m_audioOutputPath.effects(); + QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); + + if (ui->audioEffectsCombo->currentIndex() > 0){ + Phonon::Effect *currentEffect = currEffects.size() ? currEffects[0] : 0; + if (!currentEffect || currentEffect->description() != nextEffect->description()){ + foreach(Phonon::Effect *effect, currEffects) { + m_audioOutputPath.removeEffect(effect); + delete effect; + } + m_audioOutputPath.insertEffect(nextEffect); + } + } else { + foreach(Phonon::Effect *effect, currEffects) { + m_audioOutputPath.removeEffect(effect); + delete effect; + nextEffect = 0; + } + } + } else { + // Restore previous settings + m_videoWidget->setBrightness(oldBrightness); + m_videoWidget->setSaturation(oldSaturation); + m_videoWidget->setHue(oldHue); + m_videoWidget->setContrast(oldContrast); + m_videoWidget->setAspectRatio(oldAspect); + m_videoWidget->setScaleMode(oldScale); + ui->audioEffectsCombo->setCurrentIndex(currentEffect); + } +} + +void MediaPlayer::initVideoWindow() +{ + QVBoxLayout *videoLayout = new QVBoxLayout(); + videoLayout->addWidget(m_videoWidget); + videoLayout->setContentsMargins(0, 0, 0, 0); + m_videoWindow.setLayout(videoLayout); + m_videoWindow.setMinimumSize(100, 100); +} + + +void MediaPlayer::configureEffect() +{ + if (!nextEffect) + return; + + + QList currEffects = m_audioOutputPath.effects(); + const QList availableEffects = Phonon::BackendCapabilities::availableAudioEffects(); + if (ui->audioEffectsCombo->currentIndex() > 0) { + Phonon::EffectDescription chosenEffect = availableEffects[ui->audioEffectsCombo->currentIndex() - 1]; + + QDialog effectDialog; + effectDialog.setWindowTitle(tr("Configure effect")); + QVBoxLayout *topLayout = new QVBoxLayout(&effectDialog); + + QLabel *description = new QLabel("Description:
      " + chosenEffect.description(), &effectDialog); + description->setWordWrap(true); + topLayout->addWidget(description); + + QScrollArea *scrollArea = new QScrollArea(&effectDialog); + topLayout->addWidget(scrollArea); + + QVariantList savedParamValues; + foreach(Phonon::EffectParameter param, nextEffect->parameters()) { + savedParamValues << nextEffect->parameterValue(param); + } + + QWidget *scrollWidget = new Phonon::EffectWidget(nextEffect); + scrollWidget->setMinimumWidth(320); + scrollWidget->setContentsMargins(10, 10, 10,10); + scrollArea->setWidget(scrollWidget); + + QDialogButtonBox *bbox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, &effectDialog); + connect(bbox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), &effectDialog, SLOT(accept())); + connect(bbox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), &effectDialog, SLOT(reject())); + topLayout->addWidget(bbox); + + effectDialog.exec(); + + if (effectDialog.result() != QDialog::Accepted) { + //we need to restore the paramaters values + int currentIndex = 0; + foreach(Phonon::EffectParameter param, nextEffect->parameters()) { + nextEffect->setParameterValue(param, savedParamValues.at(currentIndex++)); + } + + } + } +} + +void MediaPlayer::handleDrop(QDropEvent *e) +{ + QList urls = e->mimeData()->urls(); + if (e->proposedAction() == Qt::MoveAction){ + // Just add to the queue: + for (int i=0; i 0) { + QString fileName = urls[0].toLocalFile(); + QDir dir(fileName); + if (dir.exists()) { + dir.setFilter(QDir::Files); + QStringList entries = dir.entryList(); + if (entries.size() > 0) { + setFile(fileName + QDir::separator() + entries[0]); + for (int i=1; i< entries.size(); ++i) + m_MediaObject.enqueue(fileName + QDir::separator() + entries[i]); + } + } else { + setFile(fileName); + for (int i=1; isetEnabled(m_MediaObject.queue().size() > 0); + m_MediaObject.play(); +} + +void MediaPlayer::dropEvent(QDropEvent *e) +{ + if (e->mimeData()->hasUrls() && e->proposedAction() != Qt::LinkAction) { + e->acceptProposedAction(); + handleDrop(e); + } else { + e->ignore(); + } +} + +void MediaPlayer::dragEnterEvent(QDragEnterEvent *e) +{ + dragMoveEvent(e); +} + +void MediaPlayer::dragMoveEvent(QDragMoveEvent *e) +{ + if (e->mimeData()->hasUrls()) { + if (e->proposedAction() == Qt::CopyAction || e->proposedAction() == Qt::MoveAction){ + e->acceptProposedAction(); + } + } +} + +void MediaPlayer::playPause() +{ + if (m_MediaObject.state() == Phonon::PlayingState) + m_MediaObject.pause(); + else { + if (m_MediaObject.currentTime() == m_MediaObject.totalTime()) + m_MediaObject.seek(0); + m_MediaObject.play(); + } +} + +void MediaPlayer::setFile(const QString &fileName) +{ + setWindowTitle(fileName.right(fileName.length() - fileName.lastIndexOf('/') - 1)); + m_MediaObject.setCurrentSource(Phonon::MediaSource(fileName)); + m_MediaObject.play(); +} + +void MediaPlayer::openFile() +{ + QStringList fileNames = QFileDialog::getOpenFileNames(this, QString(), + QDesktopServices::storageLocation(QDesktopServices::MusicLocation)); + m_MediaObject.clearQueue(); + if (fileNames.size() > 0) { + QString fileName = fileNames[0]; + setFile(fileName); + for (int i=1; isetEnabled(m_MediaObject.queue().size() > 0); +} + +void MediaPlayer::bufferStatus(int percent) +{ + if (percent == 0 || percent == 100) + progressLabel->setText(QString()); + else { + QString str = QString::fromLatin1("(%1%)").arg(percent); + progressLabel->setText(str); + } +} + +void MediaPlayer::setSaturation(int val) +{ + m_videoWidget->setSaturation(val / qreal(SLIDER_RANGE)); +} + +void MediaPlayer::setHue(int val) +{ + m_videoWidget->setHue(val / qreal(SLIDER_RANGE)); +} + +void MediaPlayer::setAspect(int val) +{ + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio(val)); +} + +void MediaPlayer::setScale(int val) +{ + m_videoWidget->setScaleMode(Phonon::VideoWidget::ScaleMode(val)); +} + +void MediaPlayer::setBrightness(int val) +{ + m_videoWidget->setBrightness(val / qreal(SLIDER_RANGE)); +} + +void MediaPlayer::setContrast(int val) +{ + m_videoWidget->setContrast(val / qreal(SLIDER_RANGE)); +} + +void MediaPlayer::updateInfo() +{ + int maxLength = 30; + QString font = ""; + QString fontmono = ""; + + QMap metaData = m_MediaObject.metaData(); + QString trackArtist = metaData.value("ARTIST"); + if (trackArtist.length() > maxLength) + trackArtist = trackArtist.left(maxLength) + "..."; + + QString trackTitle = metaData.value("TITLE"); + int trackBitrate = metaData.value("BITRATE").toInt(); + + QString fileName; + if (m_MediaObject.currentSource().type() == Phonon::MediaSource::Url) { + fileName = m_MediaObject.currentSource().url().toString(); + } else { + fileName = m_MediaObject.currentSource().fileName(); + fileName = fileName.right(fileName.length() - fileName.lastIndexOf('/') - 1); + if (fileName.length() > maxLength) + fileName = fileName.left(maxLength) + "..."; + } + + QString title; + if (!trackTitle.isEmpty()) { + if (trackTitle.length() > maxLength) + trackTitle = trackTitle.left(maxLength) + "..."; + title = "Title: " + font + trackTitle + "
      "; + } else if (!fileName.isEmpty()) { + if (fileName.length() > maxLength) + fileName = fileName.left(maxLength) + "..."; + title = font + fileName + "
      "; + if (m_MediaObject.currentSource().type() == Phonon::MediaSource::Url) { + title.prepend("Url: "); + } else { + title.prepend("File: "); + } + } + + QString artist; + if (!trackArtist.isEmpty()) + artist = "Artist: " + font + trackArtist + ""; + + QString bitrate; + if (trackBitrate != 0) + bitrate = "
      Bitrate: " + font + QString::number(trackBitrate/1000) + "kbit"; + + info->setText(title + artist + bitrate); +} + +void MediaPlayer::updateTime() +{ + long len = m_MediaObject.totalTime(); + long pos = m_MediaObject.currentTime(); + QString timeString; + if (pos || len) + { + int sec = pos/1000; + int min = sec/60; + int hour = min/60; + int msec = pos; + + QTime playTime(hour%60, min%60, sec%60, msec%1000); + sec = len / 1000; + min = sec / 60; + hour = min / 60; + msec = len; + + QTime stopTime(hour%60, min%60, sec%60, msec%1000); + QString timeFormat = "m:ss"; + if (hour > 0) + timeFormat = "h:mm:ss"; + timeString = playTime.toString(timeFormat); + if (len) + timeString += " / " + stopTime.toString(timeFormat); + } + timeLabel->setText(timeString); +} + +void MediaPlayer::rewind() +{ + m_MediaObject.seek(0); +} + +void MediaPlayer::forward() +{ + QList queue = m_MediaObject.queue(); + if (queue.size() > 0) { + m_MediaObject.setCurrentSource(queue[0]); + forwardButton->setEnabled(queue.size() > 1); + m_MediaObject.play(); + } +} + +void MediaPlayer::openUrl() +{ + QSettings settings; + settings.beginGroup(QLatin1String("BrowserMainWindow")); + QString sourceURL = settings.value("location").toString(); + bool ok = false; + sourceURL = QInputDialog::getText(this, tr("Open Location"), tr("Please enter a valid address here:"), QLineEdit::Normal, sourceURL, &ok); + if (ok && !sourceURL.isEmpty()) { + setWindowTitle(sourceURL.right(sourceURL.length() - sourceURL.lastIndexOf('/') - 1)); + m_MediaObject.setCurrentSource(Phonon::MediaSource(QUrl::fromEncoded(sourceURL.toUtf8()))); + m_MediaObject.play(); + settings.setValue("location", sourceURL); + } +} + +void MediaPlayer::finished() +{ +} + +void MediaPlayer::showContextMenu(const QPoint &p) +{ + fileMenu->popup(m_videoWidget->isFullScreen() ? p : mapToGlobal(p)); +} + +void MediaPlayer::scaleChanged(QAction *act) +{ + if (act->text() == tr("Scale and crop")) + m_videoWidget->setScaleMode(Phonon::VideoWidget::ScaleAndCrop); + else + m_videoWidget->setScaleMode(Phonon::VideoWidget::FitInView); +} + +void MediaPlayer::aspectChanged(QAction *act) +{ + if (act->text() == tr("16/9")) + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio16_9); + else if (act->text() == tr("Scale")) + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatioWidget); + else if (act->text() == tr("4/3")) + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatio4_3); + else + m_videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatioAuto); +} + diff --git a/demos/qmediaplayer/mediaplayer.h b/demos/qmediaplayer/mediaplayer.h new file mode 100644 index 0000000..40ffa40 --- /dev/null +++ b/demos/qmediaplayer/mediaplayer.h @@ -0,0 +1,139 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the demonstration applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +***************************************************************************/ + +#ifndef MEDIALAYER_H +#define MEDIAPLAYER_H + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE +class QPushButton; +class QLabel; +class QSlider; +class QTextEdit; +class QMenu; +class Ui_settings; +QT_END_NAMESPACE + +class MediaPlayer : + public QWidget +{ + Q_OBJECT +public: + MediaPlayer(const QString &, + const bool hasSmallScreen); + + void dragEnterEvent(QDragEnterEvent *e); + void dragMoveEvent(QDragMoveEvent *e); + void dropEvent(QDropEvent *e); + void handleDrop(QDropEvent *e); + void setFile(const QString &text); + void initVideoWindow(); + void initSettingsDialog(); + +public slots: + void openFile(); + void rewind(); + void forward(); + void updateInfo(); + void updateTime(); + void finished(); + void playPause(); + void scaleChanged(QAction *); + void aspectChanged(QAction *); + +private slots: + void setAspect(int); + void setScale(int); + void setSaturation(int); + void setContrast(int); + void setHue(int); + void setBrightness(int); + void stateChanged(Phonon::State newstate, Phonon::State oldstate); + void effectChanged(); + void showSettingsDialog(); + void showContextMenu(const QPoint &); + void bufferStatus(int percent); + void openUrl(); + void configureEffect(); + +private: + QIcon playIcon; + QIcon pauseIcon; + QMenu *fileMenu; + QPushButton *playButton; + QPushButton *rewindButton; + QPushButton *forwardButton; + Phonon::SeekSlider *slider; + QLabel *timeLabel; + QLabel *progressLabel; + Phonon::VolumeSlider *volume; + QSlider *m_hueSlider; + QSlider *m_satSlider; + QSlider *m_contSlider; + QLabel *info; + Phonon::Effect *nextEffect; + QDialog *settingsDialog; + Ui_settings *ui; + + QWidget m_videoWindow; + Phonon::MediaObject m_MediaObject; + Phonon::AudioOutput m_AudioOutput; + Phonon::VideoWidget *m_videoWidget; + Phonon::Path m_audioOutputPath; + const bool m_hasSmallScreen; +}; + +#endif //MEDIAPLAYER_H diff --git a/demos/qmediaplayer/mediaplayer.qrc b/demos/qmediaplayer/mediaplayer.qrc new file mode 100644 index 0000000..bcdf404 --- /dev/null +++ b/demos/qmediaplayer/mediaplayer.qrc @@ -0,0 +1,5 @@ + + + images/screen.png + + diff --git a/demos/qmediaplayer/qmediaplayer.pro b/demos/qmediaplayer/qmediaplayer.pro new file mode 100644 index 0000000..2f15c28 --- /dev/null +++ b/demos/qmediaplayer/qmediaplayer.pro @@ -0,0 +1,35 @@ +###################################################################### +# Automatically generated by qmake (2.01a) Thu Aug 23 18:02:14 2007 +###################################################################### + +TEMPLATE = app +DEPENDPATH += . build src ui + +QT += phonon + +FORMS += settings.ui +RESOURCES += mediaplayer.qrc + +!win32:CONFIG += CONSOLE + +SOURCES += main.cpp mediaplayer.cpp +HEADERS += mediaplayer.h + +target.path = $$[QT_INSTALL_DEMOS]/qmediaplayer +sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.html *.doc images +sources.path = $$[QT_INSTALL_DEMOS]/qmediaplayer +INSTALLS += target sources + +wince*{ +DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout +} + +symbian { + TARGET.UID3 = 0xA000C613 + + addFiles.sources = ../embedded/desktopservices/data/sax.mp3 + addFiles.path = /data/sounds/ + DEPLOYMENT += addFiles + + include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) +} diff --git a/demos/qmediaplayer/settings.ui b/demos/qmediaplayer/settings.ui new file mode 100644 index 0000000..d2cedd4 --- /dev/null +++ b/demos/qmediaplayer/settings.ui @@ -0,0 +1,464 @@ + + settings + + + + 0 + 0 + 360 + 362 + + + + Settings + + + + + + Video options: + + + true + + + + + + Contrast: + + + + + + + -8 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 4 + + + + + + + Brightness: + + + + + + + -8 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 4 + + + + + + + Saturation: + + + + + + + -8 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 4 + + + + + + + Hue: + + + + + + + -8 + + + 8 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 4 + + + + + + + Aspect ratio: + + + + + + + + 180 + 0 + + + + + Auto + + + + + Stretch + + + + + 4/3 + + + + + 16/9 + + + + + + + + Scale Mode: + + + + + + + + 180 + 0 + + + + + Fit in view + + + + + Scale and crop + + + + + + + + + + + Audio options: + + + true + + + + + + + + + 0 + 0 + + + + + 90 + 0 + + + + Audio device: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + + + + + + + + + + 0 + 0 + + + + + 90 + 0 + + + + Audio effect: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + + + + + false + + + Setup + + + + + + + + + + + + 0 + 0 + + + + + 90 + 0 + + + + Cross fade: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + 0 + 0 + + + + -20 + + + 20 + + + 1 + + + 2 + + + 0 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + + + + + + + + 9 + + + + -10 Sec + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 9 + + + + 0 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 9 + + + + 10 Sec + + + + + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + settings + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + settings + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml index 3f0cd25..2c31484 100644 --- a/demos/qtdemo/xml/examples.xml +++ b/demos/qtdemo/xml/examples.xml @@ -121,7 +121,7 @@ - + @@ -152,7 +152,7 @@ - + diff --git a/doc/src/demos/mediaplayer.qdoc b/doc/src/demos/mediaplayer.qdoc index 9e6b3f9..17ae79b 100644 --- a/doc/src/demos/mediaplayer.qdoc +++ b/doc/src/demos/mediaplayer.qdoc @@ -40,7 +40,7 @@ ****************************************************************************/ /*! - \example demos/mediaplayer + \example demos/qmediaplayer \title Media Player The Media Player demonstration shows how \l{Phonon Module}{Phonon} diff --git a/doc/src/examples/ftp.qdoc b/doc/src/examples/ftp.qdoc index ec8584c..8fded88 100644 --- a/doc/src/examples/ftp.qdoc +++ b/doc/src/examples/ftp.qdoc @@ -78,13 +78,13 @@ \l{QFtp::Command}{commands} we request are finished, the progress of current commands, and information about files on the server. - \snippet examples/network/ftp/ftpwindow.h 0 + \snippet examples/network/qftp/ftpwindow.h 0 We will look at each slot when we examine the \c FtpWindow implementation in the next section. We also make use of a few private variables: - \snippet examples/network/ftp/ftpwindow.h 1 + \snippet examples/network/qftp/ftpwindow.h 1 The \c isDirectory hash keeps a history of all entries explored on the FTP server, and registers whether an entry represents a @@ -98,7 +98,7 @@ We move on to the slots, starting with \c connectOrDisconnect(). - \snippet examples/network/ftp/ftpwindow.cpp 0 + \snippet examples/network/qftp/ftpwindow.cpp 0 If \c ftp is already pointing to a QFtp object, we QFtp::Close its FTP connection and delete the object it points to. Note that we do @@ -106,7 +106,7 @@ to finish its abort operation. \dots - \snippet examples/network/ftp/ftpwindow.cpp 1 + \snippet examples/network/qftp/ftpwindow.cpp 1 If we get here, \c connectOrDisconnect() was called to establish a new FTP connection. We create a new QFtp for our new connection, @@ -118,7 +118,7 @@ is emitted repeatedly during an FTP file transfer, giving us progress reports. - \snippet examples/network/ftp/ftpwindow.cpp 2 + \snippet examples/network/qftp/ftpwindow.cpp 2 The \gui {Ftp Server} line edit contains the IP address or hostname of the server to which we want to connect. We first check @@ -134,39 +134,39 @@ We move on to the \c downloadFile() slot: - \snippet examples/network/ftp/ftpwindow.cpp 3 + \snippet examples/network/qftp/ftpwindow.cpp 3 \dots - \snippet examples/network/ftp/ftpwindow.cpp 4 + \snippet examples/network/qftp/ftpwindow.cpp 4 We first fetch the name of the file, which we find in the selected item of \c fileList. We then start the download by using QFtp::get(). QFtp will send progress signals during the download and a signal when the download is completed. - \snippet examples/network/ftp/ftpwindow.cpp 5 + \snippet examples/network/qftp/ftpwindow.cpp 5 QFtp supports canceling the download of files. - \snippet examples/network/ftp/ftpwindow.cpp 6 + \snippet examples/network/qftp/ftpwindow.cpp 6 The \c ftpCommandFinished() slot is called when QFtp has finished a QFtp::Command. If an error occurred during the command, QFtp will set \c error to one of the values in the QFtp::Error enum; otherwise, \c error is zero. - \snippet examples/network/ftp/ftpwindow.cpp 7 + \snippet examples/network/qftp/ftpwindow.cpp 7 After login, the QFtp::list() function will list the top-level directory on the server. addToList() is connected to QFtp::listInfo(), and will be invoked for each entry in that directory. - \snippet examples/network/ftp/ftpwindow.cpp 8 + \snippet examples/network/qftp/ftpwindow.cpp 8 When a \l{QFtp::}{Get} command is finished, a file has finished downloading (or an error occurred during the download). - \snippet examples/network/ftp/ftpwindow.cpp 9 + \snippet examples/network/qftp/ftpwindow.cpp 9 After a \l{QFtp::}{List} command is performed, we have to check if no entries were found (in which case our \c addToList() function @@ -174,7 +174,7 @@ Let's continue with the \c addToList() slot: - \snippet examples/network/ftp/ftpwindow.cpp 10 + \snippet examples/network/qftp/ftpwindow.cpp 10 When a new file has been resolved during a QFtp::List command, this slot is invoked with a QUrlInfo describing the file. We @@ -182,26 +182,26 @@ does not have a current item, we set the new item to be the current item. - \snippet examples/network/ftp/ftpwindow.cpp 11 + \snippet examples/network/qftp/ftpwindow.cpp 11 The \c processItem() slot is called when an item is double clicked in the \gui {File List}. If the item represents a directory, we want to load the contents of that directory with QFtp::list(). - \snippet examples/network/ftp/ftpwindow.cpp 12 + \snippet examples/network/qftp/ftpwindow.cpp 12 \c cdToParent() is invoked when the user requests to go to the parent directory of the one displayed in the file list. After changing the directory, we QFtp::List its contents. - \snippet examples/network/ftp/ftpwindow.cpp 13 + \snippet examples/network/qftp/ftpwindow.cpp 13 The \c updateDataTransferProgress() slot is called regularly by QFtp::dataTransferProgress() when a file download is in progress. We use a QProgressDialog to show the download progression to the user. - \snippet examples/network/ftp/ftpwindow.cpp 14 + \snippet examples/network/qftp/ftpwindow.cpp 14 The \c enableDownloadButton() is called whenever the current item in \c fileList changes. If the item represents a file, the \gui diff --git a/doc/src/examples/musicplayerexample.qdoc b/doc/src/examples/musicplayerexample.qdoc index 41c9f3a..7145583 100644 --- a/doc/src/examples/musicplayerexample.qdoc +++ b/doc/src/examples/musicplayerexample.qdoc @@ -40,7 +40,7 @@ ****************************************************************************/ /*! - \example phonon/musicplayer + \example phonon/qmusicplayer \title Music Player Example The Music Player Example shows how to use Phonon - the multimedia @@ -90,7 +90,7 @@ look at them when we walk through the \c MainWindow implementation. - \snippet examples/phonon/musicplayer/mainwindow.h 2 + \snippet examples/phonon/qmusicplayer/mainwindow.h 2 We use the \l{Phonon::}{SeekSlider} to move the current playback position in the media stream, and the \l{Phonon::}{VolumeSlider} @@ -99,7 +99,7 @@ metaInformationProvider, to get the meta information from the music files. More on this later. - \snippet examples/phonon/musicplayer/mainwindow.h 1 + \snippet examples/phonon/qmusicplayer/mainwindow.h 1 The \l{Phonon::}{MediaObject} informs us of the state of the playback and properties of the media it is playing back through a series of @@ -116,7 +116,7 @@ We start with the constructor: - \snippet examples/phonon/musicplayer/mainwindow.cpp 0 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 0 We start by instantiating our media and audio output objects. As mentioned, the media object knows how to playback @@ -130,20 +130,20 @@ paths. Objects are connected using the \c createPath() function, which is part of the Phonon namespace. - \snippet examples/phonon/musicplayer/mainwindow.cpp 1 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 1 We also connect signals of the media object to slots in our \c MainWindow. We will examine them shortly. - \snippet examples/phonon/musicplayer/mainwindow.cpp 2 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 2 Finally, we call private helper functions to set up the GUI. The \c setupUi() function contains code for setting up the seek , and volume slider. We move on to \c setupUi(): - \snippet examples/phonon/musicplayer/mainwindow.cpp 3 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 3 \dots - \snippet examples/phonon/musicplayer/mainwindow.cpp 4 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 4 After creating the widgets, they must be supplied with the \l{Phonon::}{MediaObject} and \l{Phonon::}{AudioOutput} objects @@ -152,12 +152,12 @@ In the \c setupActions(), we connect the actions for the play, pause, and stop tool buttons, to slots of the media object. - \snippet examples/phonon/musicplayer/mainwindow.cpp 5 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 5 We move on to the slots of \c MainWindow, starting with \c addFiles(): - \snippet examples/phonon/musicplayer/mainwindow.cpp 6 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 6 In the \c addFiles() slot, we add files selected by the user to the \c sources list. We then set the first source selected on the @@ -169,7 +169,7 @@ stateChanged() signal. The \c stateChanged() slot is connected to this signal. - \snippet examples/phonon/musicplayer/mainwindow.cpp 9 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 9 The \l{Phonon::MediaObject::}{errorString()} function gives a description of the error that is suitable for users of a Phonon @@ -177,7 +177,7 @@ helps us determine whether it is possible to try to play the same file again. - \snippet examples/phonon/musicplayer/mainwindow.cpp 10 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 10 We update the GUI when the playback state changes, i.e., when it starts, pauses, stops, or resumes. @@ -188,26 +188,26 @@ The \c tick() slot is connected to a \l{Phonon::}{MediaObject} signal which is emitted when the playback position changes: - \snippet examples/phonon/musicplayer/mainwindow.cpp 11 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 11 The \c time is given in milliseconds. When the table is clicked on with the mouse, \c tableClick() is invoked: - \snippet examples/phonon/musicplayer/mainwindow.cpp 12 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 12 Since we stop the media object, we first check whether it is currently playing. \c row contains the row in the table that was clicked upon; the indices of \c sources follows the table, so we can simply use \c row to find the new source. - \snippet examples/phonon/musicplayer/mainwindow.cpp 13 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 13 When the media source changes, we simply need to select the corresponding row in the table. - \snippet examples/phonon/musicplayer/mainwindow.cpp 14 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 14 When \c metaStateChanged() is invoked, \c metaInformationProvider has resolved the meta data for its current @@ -220,7 +220,7 @@ music table. A file might not contain the meta data requested, in which case an empty string is returned. - \snippet examples/phonon/musicplayer/mainwindow.cpp 15 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 15 If we have media sources in \c sources of which meta information is not resolved, we set a new source on the \c @@ -229,7 +229,7 @@ We move on to the \c aboutToFinish() slot: - \snippet examples/phonon/musicplayer/mainwindow.cpp 16 + \snippet examples/phonon/qmusicplayer/mainwindow.cpp 16 When a file is finished playing, the Music Player will move on and play the next file in the table. This slot is connected to the @@ -244,5 +244,5 @@ \l{QCoreApplication::}{setApplicationName()}. This is because D-Bus, which is used by Phonon on Linux systems, demands this. - \snippet examples/phonon/musicplayer/main.cpp 1 + \snippet examples/phonon/qmusicplayer/main.cpp 1 */ diff --git a/doc/src/getting-started/demos.qdoc b/doc/src/getting-started/demos.qdoc index 532715e..8f2829a 100644 --- a/doc/src/getting-started/demos.qdoc +++ b/doc/src/getting-started/demos.qdoc @@ -157,7 +157,7 @@ \section1 Phonon \list - \o \l{demos/mediaplayer}{Media Player} demonstrates how the \l{Phonon Module} can be + \o \l{demos/qmediaplayer}{Media Player} demonstrates how the \l{Phonon Module} can be used to implement a basic media player application. \endlist diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc index 30dae88..2ad730a7 100644 --- a/doc/src/getting-started/examples.qdoc +++ b/doc/src/getting-started/examples.qdoc @@ -827,7 +827,7 @@ \list \o \l{phonon/capabilities}{Capabilities}\raisedaster - \o \l{phonon/musicplayer}{Music Player}\raisedaster + \o \l{phonon/qmusicplayer}{Music Player}\raisedaster \endlist */ diff --git a/examples/network/ftp/ftp.pro b/examples/network/ftp/ftp.pro deleted file mode 100644 index ce2a97b..0000000 --- a/examples/network/ftp/ftp.pro +++ /dev/null @@ -1,20 +0,0 @@ -HEADERS = ftpwindow.h -SOURCES = ftpwindow.cpp \ - main.cpp -RESOURCES += ftp.qrc -QT += network - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/network/ftp -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS ftp.pro images -sources.path = $$[QT_INSTALL_EXAMPLES]/network/ftp -INSTALLS += target sources - -symbian { - TARGET.UID3 = 0xA000A648 - include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) - HEADERS += sym_iap_util.h - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - TARGET.CAPABILITY="NetworkServices ReadUserData WriteUserData" - LIBS+=-lesock -lcommdb -linsock # For IAP selection -} diff --git a/examples/network/ftp/ftp.qrc b/examples/network/ftp/ftp.qrc deleted file mode 100644 index b598ab8..0000000 --- a/examples/network/ftp/ftp.qrc +++ /dev/null @@ -1,7 +0,0 @@ - - - images/cdtoparent.png - images/dir.png - images/file.png - - diff --git a/examples/network/ftp/ftpwindow.cpp b/examples/network/ftp/ftpwindow.cpp deleted file mode 100644 index f3fc52b..0000000 --- a/examples/network/ftp/ftpwindow.cpp +++ /dev/null @@ -1,379 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include - -#include "ftpwindow.h" - -#ifdef Q_OS_SYMBIAN -#include "sym_iap_util.h" -#endif - -FtpWindow::FtpWindow(QWidget *parent) - : QDialog(parent), ftp(0) -{ - ftpServerLabel = new QLabel(tr("Ftp &server:")); - ftpServerLineEdit = new QLineEdit("ftp.qt.nokia.com"); - ftpServerLabel->setBuddy(ftpServerLineEdit); - - statusLabel = new QLabel(tr("Please enter the name of an FTP server.")); -#ifdef Q_OS_SYMBIAN - // Use word wrapping to fit the text on screen - statusLabel->setWordWrap( true ); -#endif - - fileList = new QTreeWidget; - fileList->setEnabled(false); - fileList->setRootIsDecorated(false); - fileList->setHeaderLabels(QStringList() << tr("Name") << tr("Size") << tr("Owner") << tr("Group") << tr("Time")); - fileList->header()->setStretchLastSection(false); - - connectButton = new QPushButton(tr("Connect")); - connectButton->setDefault(true); - - cdToParentButton = new QPushButton; - cdToParentButton->setIcon(QPixmap(":/images/cdtoparent.png")); - cdToParentButton->setEnabled(false); - - downloadButton = new QPushButton(tr("Download")); - downloadButton->setEnabled(false); - - quitButton = new QPushButton(tr("Quit")); - - buttonBox = new QDialogButtonBox; - buttonBox->addButton(downloadButton, QDialogButtonBox::ActionRole); - buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole); - - progressDialog = new QProgressDialog(this); - - connect(fileList, SIGNAL(itemActivated(QTreeWidgetItem *, int)), - this, SLOT(processItem(QTreeWidgetItem *, int))); - connect(fileList, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), - this, SLOT(enableDownloadButton())); - connect(progressDialog, SIGNAL(canceled()), this, SLOT(cancelDownload())); - connect(connectButton, SIGNAL(clicked()), this, SLOT(connectOrDisconnect())); - connect(cdToParentButton, SIGNAL(clicked()), this, SLOT(cdToParent())); - connect(downloadButton, SIGNAL(clicked()), this, SLOT(downloadFile())); - connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); - - QHBoxLayout *topLayout = new QHBoxLayout; - topLayout->addWidget(ftpServerLabel); - topLayout->addWidget(ftpServerLineEdit); -#ifndef Q_OS_SYMBIAN - topLayout->addWidget(cdToParentButton); - topLayout->addWidget(connectButton); -#else - // Make app better lookin on small screen - QHBoxLayout *topLayout2 = new QHBoxLayout; - topLayout2->addWidget(cdToParentButton); - topLayout2->addWidget(connectButton); -#endif - - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addLayout(topLayout); -#ifdef Q_OS_SYMBIAN - // Make app better lookin on small screen - mainLayout->addLayout(topLayout2); -#endif - mainLayout->addWidget(fileList); - mainLayout->addWidget(statusLabel); - mainLayout->addWidget(buttonBox); - setLayout(mainLayout); - -#ifdef Q_OS_SYMBIAN - bDefaultIapSet = false; -#endif - - setWindowTitle(tr("FTP")); -} - -QSize FtpWindow::sizeHint() const -{ - return QSize(500, 300); -} - -//![0] -void FtpWindow::connectOrDisconnect() -{ -#ifdef Q_OS_SYMBIAN - if(!bDefaultIapSet) { - qt_SetDefaultIap(); - bDefaultIapSet = true; - } -#endif - if (ftp) { - ftp->abort(); - ftp->deleteLater(); - ftp = 0; -//![0] - fileList->setEnabled(false); - cdToParentButton->setEnabled(false); - downloadButton->setEnabled(false); - connectButton->setEnabled(true); - connectButton->setText(tr("Connect")); -#ifndef QT_NO_CURSOR - setCursor(Qt::ArrowCursor); -#endif - statusLabel->setText(tr("Please enter the name of an FTP server.")); - return; - } - -#ifndef QT_NO_CURSOR - setCursor(Qt::WaitCursor); -#endif - -//![1] - ftp = new QFtp(this); - connect(ftp, SIGNAL(commandFinished(int, bool)), - this, SLOT(ftpCommandFinished(int, bool))); - connect(ftp, SIGNAL(listInfo(const QUrlInfo &)), - this, SLOT(addToList(const QUrlInfo &))); - connect(ftp, SIGNAL(dataTransferProgress(qint64, qint64)), - this, SLOT(updateDataTransferProgress(qint64, qint64))); - - fileList->clear(); - currentPath.clear(); - isDirectory.clear(); -//![1] - -//![2] - QUrl url(ftpServerLineEdit->text()); - if (!url.isValid() || url.scheme().toLower() != QLatin1String("ftp")) { - ftp->connectToHost(ftpServerLineEdit->text(), 21); - ftp->login(); - } else { - ftp->connectToHost(url.host(), url.port(21)); - - if (!url.userName().isEmpty()) - ftp->login(QUrl::fromPercentEncoding(url.userName().toLatin1()), url.password()); - else - ftp->login(); - if (!url.path().isEmpty()) - ftp->cd(url.path()); - } -//![2] - - fileList->setEnabled(true); - connectButton->setEnabled(false); - connectButton->setText(tr("Disconnect")); - statusLabel->setText(tr("Connecting to FTP server %1...") - .arg(ftpServerLineEdit->text())); -} - -//![3] -void FtpWindow::downloadFile() -{ - QString fileName = fileList->currentItem()->text(0); -//![3] -// - if (QFile::exists(fileName)) { - QMessageBox::information(this, tr("FTP"), - tr("There already exists a file called %1 in " - "the current directory.") - .arg(fileName)); - return; - } - -//![4] - file = new QFile(fileName); - if (!file->open(QIODevice::WriteOnly)) { - QMessageBox::information(this, tr("FTP"), - tr("Unable to save the file %1: %2.") - .arg(fileName).arg(file->errorString())); - delete file; - return; - } - - ftp->get(fileList->currentItem()->text(0), file); - - progressDialog->setLabelText(tr("Downloading %1...").arg(fileName)); - downloadButton->setEnabled(false); - progressDialog->exec(); -} -//![4] - -//![5] -void FtpWindow::cancelDownload() -{ - ftp->abort(); -} -//![5] - -//![6] -void FtpWindow::ftpCommandFinished(int, bool error) -{ -#ifndef QT_NO_CURSOR - setCursor(Qt::ArrowCursor); -#endif - - if (ftp->currentCommand() == QFtp::ConnectToHost) { - if (error) { - QMessageBox::information(this, tr("FTP"), - tr("Unable to connect to the FTP server " - "at %1. Please check that the host " - "name is correct.") - .arg(ftpServerLineEdit->text())); - connectOrDisconnect(); - return; - } - statusLabel->setText(tr("Logged onto %1.") - .arg(ftpServerLineEdit->text())); - fileList->setFocus(); - downloadButton->setDefault(true); - connectButton->setEnabled(true); - return; - } -//![6] - -//![7] - if (ftp->currentCommand() == QFtp::Login) - ftp->list(); -//![7] - -//![8] - if (ftp->currentCommand() == QFtp::Get) { - if (error) { - statusLabel->setText(tr("Canceled download of %1.") - .arg(file->fileName())); - file->close(); - file->remove(); - } else { - statusLabel->setText(tr("Downloaded %1 to current directory.") - .arg(file->fileName())); - file->close(); - } - delete file; - enableDownloadButton(); - progressDialog->hide(); -//![8] -//![9] - } else if (ftp->currentCommand() == QFtp::List) { - if (isDirectory.isEmpty()) { - fileList->addTopLevelItem(new QTreeWidgetItem(QStringList() << tr(""))); - fileList->setEnabled(false); - } - } -//![9] -} - -//![10] -void FtpWindow::addToList(const QUrlInfo &urlInfo) -{ - QTreeWidgetItem *item = new QTreeWidgetItem; - item->setText(0, urlInfo.name()); - item->setText(1, QString::number(urlInfo.size())); - item->setText(2, urlInfo.owner()); - item->setText(3, urlInfo.group()); - item->setText(4, urlInfo.lastModified().toString("MMM dd yyyy")); - - QPixmap pixmap(urlInfo.isDir() ? ":/images/dir.png" : ":/images/file.png"); - item->setIcon(0, pixmap); - - isDirectory[urlInfo.name()] = urlInfo.isDir(); - fileList->addTopLevelItem(item); - if (!fileList->currentItem()) { - fileList->setCurrentItem(fileList->topLevelItem(0)); - fileList->setEnabled(true); - } -} -//![10] - -//![11] -void FtpWindow::processItem(QTreeWidgetItem *item, int /*column*/) -{ - QString name = item->text(0); - if (isDirectory.value(name)) { - fileList->clear(); - isDirectory.clear(); - currentPath += "/" + name; - ftp->cd(name); - ftp->list(); - cdToParentButton->setEnabled(true); -#ifndef QT_NO_CURSOR - setCursor(Qt::WaitCursor); -#endif - return; - } -} -//![11] - -//![12] -void FtpWindow::cdToParent() -{ -#ifndef QT_NO_CURSOR - setCursor(Qt::WaitCursor); -#endif - fileList->clear(); - isDirectory.clear(); - currentPath = currentPath.left(currentPath.lastIndexOf('/')); - if (currentPath.isEmpty()) { - cdToParentButton->setEnabled(false); - ftp->cd("/"); - } else { - ftp->cd(currentPath); - } - ftp->list(); -} -//![12] - -//![13] -void FtpWindow::updateDataTransferProgress(qint64 readBytes, - qint64 totalBytes) -{ - progressDialog->setMaximum(totalBytes); - progressDialog->setValue(readBytes); -} -//![13] - -//![14] -void FtpWindow::enableDownloadButton() -{ - QTreeWidgetItem *current = fileList->currentItem(); - if (current) { - QString currentFile = current->text(0); - downloadButton->setEnabled(!isDirectory.value(currentFile)); - } else { - downloadButton->setEnabled(false); - } -} -//![14] - diff --git a/examples/network/ftp/ftpwindow.h b/examples/network/ftp/ftpwindow.h deleted file mode 100644 index f92c36a..0000000 --- a/examples/network/ftp/ftpwindow.h +++ /dev/null @@ -1,108 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef FTPWINDOW_H -#define FTPWINDOW_H - -#include -#include - -QT_BEGIN_NAMESPACE -class QDialogButtonBox; -class QFile; -class QFtp; -class QLabel; -class QLineEdit; -class QTreeWidget; -class QTreeWidgetItem; -class QProgressDialog; -class QPushButton; -class QUrlInfo; -QT_END_NAMESPACE - -class FtpWindow : public QDialog -{ - Q_OBJECT - -public: - FtpWindow(QWidget *parent = 0); - QSize sizeHint() const; - -//![0] -private slots: - void connectOrDisconnect(); - void downloadFile(); - void cancelDownload(); - - void ftpCommandFinished(int commandId, bool error); - void addToList(const QUrlInfo &urlInfo); - void processItem(QTreeWidgetItem *item, int column); - void cdToParent(); - void updateDataTransferProgress(qint64 readBytes, - qint64 totalBytes); - void enableDownloadButton(); -//![0] - -private: - QLabel *ftpServerLabel; - QLineEdit *ftpServerLineEdit; - QLabel *statusLabel; - QTreeWidget *fileList; - QPushButton *cdToParentButton; - QPushButton *connectButton; - QPushButton *downloadButton; - QPushButton *quitButton; - QDialogButtonBox *buttonBox; - QProgressDialog *progressDialog; - -//![1] - QHash isDirectory; - QString currentPath; - QFtp *ftp; - QFile *file; - -#ifdef Q_OS_SYMBIAN - bool bDefaultIapSet; -#endif -//![1] -}; - -#endif diff --git a/examples/network/ftp/images/cdtoparent.png b/examples/network/ftp/images/cdtoparent.png deleted file mode 100644 index 24b6180..0000000 Binary files a/examples/network/ftp/images/cdtoparent.png and /dev/null differ diff --git a/examples/network/ftp/images/dir.png b/examples/network/ftp/images/dir.png deleted file mode 100644 index 0ce5ae7..0000000 Binary files a/examples/network/ftp/images/dir.png and /dev/null differ diff --git a/examples/network/ftp/images/file.png b/examples/network/ftp/images/file.png deleted file mode 100644 index be6c530..0000000 Binary files a/examples/network/ftp/images/file.png and /dev/null differ diff --git a/examples/network/ftp/main.cpp b/examples/network/ftp/main.cpp deleted file mode 100644 index d44ccd7..0000000 --- a/examples/network/ftp/main.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include "ftpwindow.h" - -#ifdef Q_OS_SYMBIAN -#include -#include -#endif - -int main(int argc, char *argv[]) -{ - Q_INIT_RESOURCE(ftp); -#ifdef Q_OS_SYMBIAN - // Change current directory from default private to c:\data - // in order that user can access the downloaded content - QDir::setCurrent( "c:\\data" ); -#endif - QApplication app(argc, argv); - FtpWindow ftpWin; -#ifdef Q_OS_SYMBIAN - // Make application better looking and more usable on small screen - ftpWin.showMaximized(); -#else - ftpWin.show(); -#endif - return ftpWin.exec(); -} diff --git a/examples/network/ftp/sym_iap_util.h b/examples/network/ftp/sym_iap_util.h deleted file mode 100644 index ebeae0a..0000000 --- a/examples/network/ftp/sym_iap_util.h +++ /dev/null @@ -1,510 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#ifndef QSYM_IAP_UTIL_H -#define QSYM_IAP_UTIL_H - -// Symbian -#include -#include -#include -#include -#include -#include -#include - -// OpenC -#include -#include - -//Qt -#include -#include -//#include - -_LIT(KIapNameSetting, "IAP\\Name"); // text - mandatory -_LIT(KIapDialogPref, "IAP\\DialogPref"); // TUnit32 - optional -_LIT(KIapService, "IAP\\IAPService"); // TUnit32 - mandatory -_LIT(KIapServiceType, "IAP\\IAPServiceType"); // text - mandatory -_LIT(KIapBearer, "IAP\\IAPBearer"); // TUint32 - optional -_LIT(KIapBearerType, "IAP\\IAPBearerType"); // text - optional -_LIT(KIapNetwork, "IAP\\IAPNetwork"); // TUint32 - optional - -const QLatin1String qtOrganizationTag("Trolltech"); -const QLatin1String qtNetworkModuleTag("QtNetwork"); -const QLatin1String iapGroupTag("IAP"); -const QLatin1String iapNamesArrayTag("Names"); -const QLatin1String iapNameItemTag("Name"); - -static QTextCodec *utf16LETextCodec = 0; - -void clearIapNamesSettings(QSettings &settings) { - settings.beginGroup(qtNetworkModuleTag); - settings.beginGroup(iapGroupTag); - settings.remove(iapNamesArrayTag); - settings.endGroup(); - settings.endGroup(); -} - -void writeIapNamesSettings(QSettings &settings, const QStringList& iapNames) { - clearIapNamesSettings(settings); - settings.beginGroup(qtNetworkModuleTag); - settings.beginGroup(iapGroupTag); - settings.beginWriteArray(iapNamesArrayTag); - for (int index = 0; index < iapNames.size(); ++index) { - settings.setArrayIndex(index); - settings.setValue(iapNameItemTag, iapNames.at(index)); - } - settings.endArray(); - settings.endGroup(); - settings.endGroup(); -} - -void readIapNamesSettings(QSettings &settings, QStringList& iapNames) { - settings.beginGroup(qtNetworkModuleTag); - settings.beginGroup(iapGroupTag); - int last = settings.beginReadArray(iapNamesArrayTag); - for (int index = 0; index < last; ++index) { - settings.setArrayIndex(index); - iapNames.append(settings.value(iapNameItemTag).toString()); - } - settings.endArray(); - settings.endGroup(); - settings.endGroup(); -} - -static QString qt_TNameToQString(TName data) { - if(utf16LETextCodec == 0) - utf16LETextCodec = QTextCodec::codecForName("UTF-16LE"); - - QByteArray tmpByteArray = QByteArray::fromRawData((char*)(data.PtrZ()), data.Length() * 2); - return utf16LETextCodec->toUnicode(tmpByteArray); -} - -static QString qt_InterfaceInfoL() -{ - QString output; - - TBuf8<512> buffer; - TBuf<128> t; - TAutoClose ss; - User::LeaveIfError(ss.iObj.Connect()); - ss.PushL(); - - TAutoClose sock; - User::LeaveIfError(sock.iObj.Open(ss.iObj, _L("udp"))); - sock.PushL(); - - User::LeaveIfError(sock.iObj.SetOpt(KSoInetEnumInterfaces, KSolInetIfCtrl)); - - TProtocolDesc in; - User::LeaveIfError(sock.iObj.Info(in)); - printf("EPOC32 IP Configuration TCPIP Version %d.%d.%d\n", in.iVersion.iMajor, in.iVersion.iMinor, in.iVersion.iBuild); - - TPckgBuf info, next; - - TInt res=sock.iObj.GetOpt(KSoInetNextInterface, KSolInetIfCtrl, info); - if(res!=KErrNone) - User::Leave(res); - TInt count = 0; - while(res==KErrNone) { - res=sock.iObj.GetOpt(KSoInetNextInterface, KSolInetIfCtrl, next); - - if(info().iName != _L("") && info().iName != _L("loop6") && info().iName != _L("loop4")) { - printf("Interface %d\n", count++); - - printf("Name \"%s\"\n", qt_TNameToQString(info().iName).toLatin1().data()); - printf("NIF tag \"%s\"\n", qt_TNameToQString(info().iTag).toLatin1().data()); - - printf("State "); - switch (info().iState) - { - case EIfPending: - printf("pending\n"); - break; - case EIfUp: - printf("up\n"); - break; - case EIfBusy: - printf("busy\n"); - break; - default: - printf("down\n"); - break; - } - - printf("Mtu %d\n", info().iMtu); - printf("Speed Metric %d\n", info().iSpeedMetric); - - printf("Features:"); - info().iFeatures & KIfIsLoopback ? printf(" loopback") : printf(""); - info().iFeatures & KIfIsDialup ? printf(" dialup") : printf(""); - info().iFeatures & KIfIsPointToPoint ? printf(" pointtopoint") : printf(""); - info().iFeatures & KIfCanBroadcast ? printf(" canbroadcast") : printf(""); - info().iFeatures & KIfCanMulticast ? printf(" canmulticast") : printf(""); - info().iFeatures & KIfCanSetMTU ? printf(" cansetmtu") : printf(""); - info().iFeatures & KIfHasHardwareAddr ? printf(" hardwareaddr") : printf(""); - info().iFeatures & KIfCanSetHardwareAddr ? printf(" cansethardwareaddr") : printf(""); - printf("\n"); - - TName address; - info().iAddress.Output(address); - printf("Addr: %s\n", qt_TNameToQString(address).toLatin1().data()); - - if(info().iAddress.IsLinkLocal()) { - printf(" -link local\n"); - } else if(info().iAddress.IsSiteLocal()) { - printf(" -site local\n"); - } else { - printf(" -global\n"); - } - - info().iNetMask.Output(address); - printf("Netmask %s\n", qt_TNameToQString(address).toLatin1().data()); - - info().iBrdAddr.Output(address); - printf("Broadcast address %s\n", qt_TNameToQString(address).toLatin1().data()); - - info().iDefGate.Output(address); - printf("Gatew: %s\n", qt_TNameToQString(address).toLatin1().data()); - - info().iNameSer1.Output(address); - printf("DNS 1: %s\n", qt_TNameToQString(address).toLatin1().data()); - - info().iNameSer2.Output(address); - printf("DNS 2: %s\n", qt_TNameToQString(address).toLatin1().data()); - - if (info().iHwAddr.Family() != KAFUnspec) { - printf("Hardware address "); - TUint j; - for(j = sizeof(SSockAddr) ; j < sizeof(SSockAddr) + 6 ; ++j) { - if(j < (TUint)info().iHwAddr.Length()) { - printf("%02X", info().iHwAddr[j]); - } else { - printf("??"); - } - if(j < sizeof(SSockAddr) + 5) - printf("-"); - else - printf("\n"); - } - } - } - if(res == KErrNone) { - info = next; - printf("\n"); - } else { - printf("\n"); - } - } - - sock.Pop(); - ss.Pop(); - - return output; -} - -static QString qt_RouteInfoL() { - QString output; - TAutoClose ss; - User::LeaveIfError(ss.iObj.Connect()); - ss.PushL(); - - TAutoClose sock; - User::LeaveIfError(sock.iObj.Open(ss.iObj, _L("udp"))); - sock.PushL(); - - TSoInetRouteInfo routeInfo; - TPckg routeInfoPkg(routeInfo); - - TName destAddr; - TName netMask; - TName gateway; - TName ifAddr; - - // Begins enumeration of routes by setting this option - User::LeaveIfError(sock.iObj.SetOpt(KSoInetEnumRoutes, KSolInetRtCtrl)); - - // The TSoInetRouteInfo contains information for a new route each time GetOpt returns KErrNone - for(TInt i = 0; sock.iObj.GetOpt(KSoInetNextRoute, KSolInetRtCtrl, routeInfoPkg) == KErrNone ; i++) - { - // Extract the destination and netmask - routeInfo.iDstAddr.Output(destAddr); - routeInfo.iNetMask.Output(netMask); - routeInfo.iGateway.Output(gateway); - routeInfo.iIfAddr.Output(ifAddr); -/* - if(destAddr.Length() <= 2) - continue; - - if(netMask.Find(_L("255.255.255.255")) != KErrNotFound - || netMask.Find(_L("0.0.0.0")) != KErrNotFound - || netMask.Find(_L("ffff:ffff:ffff:ffff")) != KErrNotFound) - continue; -*/ - printf("Route Info #[%i]\n", i); - printf("DstAddr %s\n", qt_TNameToQString(destAddr).toLatin1().data()); - printf("NetMask %s\n", qt_TNameToQString(netMask).toLatin1().data()); - printf("Gateway %s\n", qt_TNameToQString(gateway).toLatin1().data()); - printf("IfAddr %s\n", qt_TNameToQString(ifAddr).toLatin1().data()); - printf("\n"); - } - - sock.Pop(); - ss.Pop(); - - return output; -} - -QString qt_TDesC2QStringL(const TDesC& aDescriptor) -{ -#ifdef QT_NO_UNICODE - return QString::fromLocal8Bit(aDescriptor.Ptr(), aDescriptor.Length()); -#else - return QString::fromUtf16(aDescriptor.Ptr(), aDescriptor.Length()); -#endif -} - -static bool qt_SetDefaultIapName(const QString &iapName, int &error) { - struct ifreq ifReq; - // clear structure - memset(&ifReq, 0, sizeof(struct ifreq)); - // set IAP name value - // make sure it is in UTF8 - strcpy(ifReq.ifr_name, iapName.toUtf8().data()); - - if(setdefaultif(&ifReq) == 0) { - // OK - error = 0; - return true; - } else { - error = errno; - return false; - } - -} -static bool qt_SetDefaultSnapId(const int snapId, int &error) { - struct ifreq ifReq; - // clear structure - memset(&ifReq, 0, sizeof(struct ifreq)); - // set SNAP ID value - ifReq.ifr_ifru.snap_id = snapId; - - if(setdefaultif(&ifReq) == 0) { - // OK - error = 0; - return true; - } else { - error = errno; - return false; - } - -} - -static void qt_SaveIapName(QSettings& settings, QStringList& iapNames, QString& iapNameValue) { - if(iapNames.contains(iapNameValue) && iapNames.first() == iapNameValue) { - // no need to update - } else { - if(iapNameValue != QString("Easy WLAN")) { - // new selection alway on top - iapNames.removeAll(iapNameValue); - iapNames.prepend(iapNameValue); - writeIapNamesSettings(settings, iapNames); - } else { - // Unbeliveable ... if IAP dodn't exist before - // no matter what you choose from IAP selection list - // you will get "Easy WLAN" as IAP name value - - // somehow commsdb is not in sync - } - } -} - -static QString qt_OfferIapDialog() { - TBuf8<256> iapName; - - RSocketServ socketServ; - CleanupClosePushL(socketServ); - - RConnection connection; - CleanupClosePushL(connection); - - socketServ.Connect(); - connection.Open(socketServ); - connection.Start(); - - connection.GetDesSetting(TPtrC(KIapNameSetting), iapName); - - //connection.Stop(); - - iapName.ZeroTerminate(); - QString strIapName((char*)iapName.Ptr()); - - int error = 0; - if(!qt_SetDefaultIapName(strIapName, error)) { - //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error); - strIapName = QString(""); - } - - CleanupStack::PopAndDestroy(&connection); - CleanupStack::PopAndDestroy(&socketServ); - - return strIapName; -} - -static QString qt_CheckForActiveConnection() { - TUint count; - - RSocketServ serv; - CleanupClosePushL(serv); - - RConnection conn; - CleanupClosePushL(conn); - - serv.Connect(); - conn.Open(serv); - - TConnectionInfoBuf connInfo; - - TBuf8<256> iapName; - TBuf8<256> iapServiceType; - - QString strIapName; - - if (conn.EnumerateConnections(count) == KErrNone) { - if(count > 0) { - for (TUint i = 1; i <= count; i++) { - if (conn.GetConnectionInfo(i, connInfo) == KErrNone) { - RConnection tempConn; - CleanupClosePushL(tempConn); - tempConn.Open(serv); - if (tempConn.Attach(connInfo, RConnection::EAttachTypeNormal) == KErrNone) { - tempConn.GetDesSetting(TPtrC(KIapNameSetting), iapName); - tempConn.GetDesSetting(TPtrC(KIapServiceType), iapServiceType); - //tempConn.Stop(); - iapName.ZeroTerminate(); - iapServiceType.ZeroTerminate(); - -// if(iapServiceType.Find(_L8("LANService")) != KErrNotFound) { -// activeLanConnectionFound = ETrue; -// break; -// } - strIapName = QString((char*)iapName.Ptr()); - int error = 0; - if(!qt_SetDefaultIapName(strIapName, error)) { - //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error); - strIapName = QString(""); - } - - CleanupStack::PopAndDestroy(&tempConn); - break; - } - } - } - } - } - - //conn.Stop(); - - CleanupStack::PopAndDestroy(&conn); - CleanupStack::PopAndDestroy(&serv); - - return strIapName; -} - -static QString qt_CheckSettingsForConnection(QStringList& iapNames) { - QString strIapName; - for(int index = 0; index < iapNames.size(); ++index) { - strIapName = iapNames.at(index); - int error = 0; - if(!qt_SetDefaultIapName(strIapName, error)) { - //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error); - strIapName = QString(""); - } else { - return strIapName; - } - } - return strIapName; -} - -static void qt_SetDefaultIapL() -{ - // settings @ /c/data/.config/Trolltech.com - QSettings settings(QSettings::UserScope, qtOrganizationTag); - // populate iap name list - QStringList iapNames; - readIapNamesSettings(settings, iapNames); - - QString iapNameValue; - - iapNameValue = qt_CheckForActiveConnection(); - - if(!iapNameValue.isEmpty()) { - qt_SaveIapName(settings, iapNames, iapNameValue); - return; - } - - iapNameValue = qt_CheckSettingsForConnection(iapNames); - - if(!iapNameValue.isEmpty()) { - qt_SaveIapName(settings, iapNames, iapNameValue); - return; - } - - /* - * no active LAN connections yet - * no IAP in settings - * offer IAP dialog to user - */ - iapNameValue = qt_OfferIapDialog(); - qt_SaveIapName(settings, iapNames, iapNameValue); - return; - -} - -static int qt_SetDefaultIap() -{ - TRAPD(err1, qt_SetDefaultIapL()); -// TRAPD(err2, qt_InterfaceInfoL()); -// TRAPD(err3, qt_RouteInfoL()); - return err1; -} - -#endif // QSYM_IAP_UTIL_H diff --git a/examples/network/network.pro b/examples/network/network.pro index 38cdae8..0849271 100644 --- a/examples/network/network.pro +++ b/examples/network/network.pro @@ -6,7 +6,7 @@ SUBDIRS = blockingfortuneclient \ downloadmanager \ fortuneclient \ fortuneserver \ - ftp \ + qftp \ http \ loopback \ threadedfortuneserver \ @@ -16,7 +16,7 @@ SUBDIRS = blockingfortuneclient \ # no QProcess !vxworks:!qnx:SUBDIRS += network-chat -symbian: SUBDIRS = ftp +symbian: SUBDIRS = qftp contains(QT_CONFIG, openssl):SUBDIRS += securesocketclient diff --git a/examples/network/qftp/ftp.qrc b/examples/network/qftp/ftp.qrc new file mode 100644 index 0000000..b598ab8 --- /dev/null +++ b/examples/network/qftp/ftp.qrc @@ -0,0 +1,7 @@ + + + images/cdtoparent.png + images/dir.png + images/file.png + + diff --git a/examples/network/qftp/ftpwindow.cpp b/examples/network/qftp/ftpwindow.cpp new file mode 100644 index 0000000..f3fc52b --- /dev/null +++ b/examples/network/qftp/ftpwindow.cpp @@ -0,0 +1,379 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +#include "ftpwindow.h" + +#ifdef Q_OS_SYMBIAN +#include "sym_iap_util.h" +#endif + +FtpWindow::FtpWindow(QWidget *parent) + : QDialog(parent), ftp(0) +{ + ftpServerLabel = new QLabel(tr("Ftp &server:")); + ftpServerLineEdit = new QLineEdit("ftp.qt.nokia.com"); + ftpServerLabel->setBuddy(ftpServerLineEdit); + + statusLabel = new QLabel(tr("Please enter the name of an FTP server.")); +#ifdef Q_OS_SYMBIAN + // Use word wrapping to fit the text on screen + statusLabel->setWordWrap( true ); +#endif + + fileList = new QTreeWidget; + fileList->setEnabled(false); + fileList->setRootIsDecorated(false); + fileList->setHeaderLabels(QStringList() << tr("Name") << tr("Size") << tr("Owner") << tr("Group") << tr("Time")); + fileList->header()->setStretchLastSection(false); + + connectButton = new QPushButton(tr("Connect")); + connectButton->setDefault(true); + + cdToParentButton = new QPushButton; + cdToParentButton->setIcon(QPixmap(":/images/cdtoparent.png")); + cdToParentButton->setEnabled(false); + + downloadButton = new QPushButton(tr("Download")); + downloadButton->setEnabled(false); + + quitButton = new QPushButton(tr("Quit")); + + buttonBox = new QDialogButtonBox; + buttonBox->addButton(downloadButton, QDialogButtonBox::ActionRole); + buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole); + + progressDialog = new QProgressDialog(this); + + connect(fileList, SIGNAL(itemActivated(QTreeWidgetItem *, int)), + this, SLOT(processItem(QTreeWidgetItem *, int))); + connect(fileList, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), + this, SLOT(enableDownloadButton())); + connect(progressDialog, SIGNAL(canceled()), this, SLOT(cancelDownload())); + connect(connectButton, SIGNAL(clicked()), this, SLOT(connectOrDisconnect())); + connect(cdToParentButton, SIGNAL(clicked()), this, SLOT(cdToParent())); + connect(downloadButton, SIGNAL(clicked()), this, SLOT(downloadFile())); + connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); + + QHBoxLayout *topLayout = new QHBoxLayout; + topLayout->addWidget(ftpServerLabel); + topLayout->addWidget(ftpServerLineEdit); +#ifndef Q_OS_SYMBIAN + topLayout->addWidget(cdToParentButton); + topLayout->addWidget(connectButton); +#else + // Make app better lookin on small screen + QHBoxLayout *topLayout2 = new QHBoxLayout; + topLayout2->addWidget(cdToParentButton); + topLayout2->addWidget(connectButton); +#endif + + QVBoxLayout *mainLayout = new QVBoxLayout; + mainLayout->addLayout(topLayout); +#ifdef Q_OS_SYMBIAN + // Make app better lookin on small screen + mainLayout->addLayout(topLayout2); +#endif + mainLayout->addWidget(fileList); + mainLayout->addWidget(statusLabel); + mainLayout->addWidget(buttonBox); + setLayout(mainLayout); + +#ifdef Q_OS_SYMBIAN + bDefaultIapSet = false; +#endif + + setWindowTitle(tr("FTP")); +} + +QSize FtpWindow::sizeHint() const +{ + return QSize(500, 300); +} + +//![0] +void FtpWindow::connectOrDisconnect() +{ +#ifdef Q_OS_SYMBIAN + if(!bDefaultIapSet) { + qt_SetDefaultIap(); + bDefaultIapSet = true; + } +#endif + if (ftp) { + ftp->abort(); + ftp->deleteLater(); + ftp = 0; +//![0] + fileList->setEnabled(false); + cdToParentButton->setEnabled(false); + downloadButton->setEnabled(false); + connectButton->setEnabled(true); + connectButton->setText(tr("Connect")); +#ifndef QT_NO_CURSOR + setCursor(Qt::ArrowCursor); +#endif + statusLabel->setText(tr("Please enter the name of an FTP server.")); + return; + } + +#ifndef QT_NO_CURSOR + setCursor(Qt::WaitCursor); +#endif + +//![1] + ftp = new QFtp(this); + connect(ftp, SIGNAL(commandFinished(int, bool)), + this, SLOT(ftpCommandFinished(int, bool))); + connect(ftp, SIGNAL(listInfo(const QUrlInfo &)), + this, SLOT(addToList(const QUrlInfo &))); + connect(ftp, SIGNAL(dataTransferProgress(qint64, qint64)), + this, SLOT(updateDataTransferProgress(qint64, qint64))); + + fileList->clear(); + currentPath.clear(); + isDirectory.clear(); +//![1] + +//![2] + QUrl url(ftpServerLineEdit->text()); + if (!url.isValid() || url.scheme().toLower() != QLatin1String("ftp")) { + ftp->connectToHost(ftpServerLineEdit->text(), 21); + ftp->login(); + } else { + ftp->connectToHost(url.host(), url.port(21)); + + if (!url.userName().isEmpty()) + ftp->login(QUrl::fromPercentEncoding(url.userName().toLatin1()), url.password()); + else + ftp->login(); + if (!url.path().isEmpty()) + ftp->cd(url.path()); + } +//![2] + + fileList->setEnabled(true); + connectButton->setEnabled(false); + connectButton->setText(tr("Disconnect")); + statusLabel->setText(tr("Connecting to FTP server %1...") + .arg(ftpServerLineEdit->text())); +} + +//![3] +void FtpWindow::downloadFile() +{ + QString fileName = fileList->currentItem()->text(0); +//![3] +// + if (QFile::exists(fileName)) { + QMessageBox::information(this, tr("FTP"), + tr("There already exists a file called %1 in " + "the current directory.") + .arg(fileName)); + return; + } + +//![4] + file = new QFile(fileName); + if (!file->open(QIODevice::WriteOnly)) { + QMessageBox::information(this, tr("FTP"), + tr("Unable to save the file %1: %2.") + .arg(fileName).arg(file->errorString())); + delete file; + return; + } + + ftp->get(fileList->currentItem()->text(0), file); + + progressDialog->setLabelText(tr("Downloading %1...").arg(fileName)); + downloadButton->setEnabled(false); + progressDialog->exec(); +} +//![4] + +//![5] +void FtpWindow::cancelDownload() +{ + ftp->abort(); +} +//![5] + +//![6] +void FtpWindow::ftpCommandFinished(int, bool error) +{ +#ifndef QT_NO_CURSOR + setCursor(Qt::ArrowCursor); +#endif + + if (ftp->currentCommand() == QFtp::ConnectToHost) { + if (error) { + QMessageBox::information(this, tr("FTP"), + tr("Unable to connect to the FTP server " + "at %1. Please check that the host " + "name is correct.") + .arg(ftpServerLineEdit->text())); + connectOrDisconnect(); + return; + } + statusLabel->setText(tr("Logged onto %1.") + .arg(ftpServerLineEdit->text())); + fileList->setFocus(); + downloadButton->setDefault(true); + connectButton->setEnabled(true); + return; + } +//![6] + +//![7] + if (ftp->currentCommand() == QFtp::Login) + ftp->list(); +//![7] + +//![8] + if (ftp->currentCommand() == QFtp::Get) { + if (error) { + statusLabel->setText(tr("Canceled download of %1.") + .arg(file->fileName())); + file->close(); + file->remove(); + } else { + statusLabel->setText(tr("Downloaded %1 to current directory.") + .arg(file->fileName())); + file->close(); + } + delete file; + enableDownloadButton(); + progressDialog->hide(); +//![8] +//![9] + } else if (ftp->currentCommand() == QFtp::List) { + if (isDirectory.isEmpty()) { + fileList->addTopLevelItem(new QTreeWidgetItem(QStringList() << tr(""))); + fileList->setEnabled(false); + } + } +//![9] +} + +//![10] +void FtpWindow::addToList(const QUrlInfo &urlInfo) +{ + QTreeWidgetItem *item = new QTreeWidgetItem; + item->setText(0, urlInfo.name()); + item->setText(1, QString::number(urlInfo.size())); + item->setText(2, urlInfo.owner()); + item->setText(3, urlInfo.group()); + item->setText(4, urlInfo.lastModified().toString("MMM dd yyyy")); + + QPixmap pixmap(urlInfo.isDir() ? ":/images/dir.png" : ":/images/file.png"); + item->setIcon(0, pixmap); + + isDirectory[urlInfo.name()] = urlInfo.isDir(); + fileList->addTopLevelItem(item); + if (!fileList->currentItem()) { + fileList->setCurrentItem(fileList->topLevelItem(0)); + fileList->setEnabled(true); + } +} +//![10] + +//![11] +void FtpWindow::processItem(QTreeWidgetItem *item, int /*column*/) +{ + QString name = item->text(0); + if (isDirectory.value(name)) { + fileList->clear(); + isDirectory.clear(); + currentPath += "/" + name; + ftp->cd(name); + ftp->list(); + cdToParentButton->setEnabled(true); +#ifndef QT_NO_CURSOR + setCursor(Qt::WaitCursor); +#endif + return; + } +} +//![11] + +//![12] +void FtpWindow::cdToParent() +{ +#ifndef QT_NO_CURSOR + setCursor(Qt::WaitCursor); +#endif + fileList->clear(); + isDirectory.clear(); + currentPath = currentPath.left(currentPath.lastIndexOf('/')); + if (currentPath.isEmpty()) { + cdToParentButton->setEnabled(false); + ftp->cd("/"); + } else { + ftp->cd(currentPath); + } + ftp->list(); +} +//![12] + +//![13] +void FtpWindow::updateDataTransferProgress(qint64 readBytes, + qint64 totalBytes) +{ + progressDialog->setMaximum(totalBytes); + progressDialog->setValue(readBytes); +} +//![13] + +//![14] +void FtpWindow::enableDownloadButton() +{ + QTreeWidgetItem *current = fileList->currentItem(); + if (current) { + QString currentFile = current->text(0); + downloadButton->setEnabled(!isDirectory.value(currentFile)); + } else { + downloadButton->setEnabled(false); + } +} +//![14] + diff --git a/examples/network/qftp/ftpwindow.h b/examples/network/qftp/ftpwindow.h new file mode 100644 index 0000000..f92c36a --- /dev/null +++ b/examples/network/qftp/ftpwindow.h @@ -0,0 +1,108 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef FTPWINDOW_H +#define FTPWINDOW_H + +#include +#include + +QT_BEGIN_NAMESPACE +class QDialogButtonBox; +class QFile; +class QFtp; +class QLabel; +class QLineEdit; +class QTreeWidget; +class QTreeWidgetItem; +class QProgressDialog; +class QPushButton; +class QUrlInfo; +QT_END_NAMESPACE + +class FtpWindow : public QDialog +{ + Q_OBJECT + +public: + FtpWindow(QWidget *parent = 0); + QSize sizeHint() const; + +//![0] +private slots: + void connectOrDisconnect(); + void downloadFile(); + void cancelDownload(); + + void ftpCommandFinished(int commandId, bool error); + void addToList(const QUrlInfo &urlInfo); + void processItem(QTreeWidgetItem *item, int column); + void cdToParent(); + void updateDataTransferProgress(qint64 readBytes, + qint64 totalBytes); + void enableDownloadButton(); +//![0] + +private: + QLabel *ftpServerLabel; + QLineEdit *ftpServerLineEdit; + QLabel *statusLabel; + QTreeWidget *fileList; + QPushButton *cdToParentButton; + QPushButton *connectButton; + QPushButton *downloadButton; + QPushButton *quitButton; + QDialogButtonBox *buttonBox; + QProgressDialog *progressDialog; + +//![1] + QHash isDirectory; + QString currentPath; + QFtp *ftp; + QFile *file; + +#ifdef Q_OS_SYMBIAN + bool bDefaultIapSet; +#endif +//![1] +}; + +#endif diff --git a/examples/network/qftp/images/cdtoparent.png b/examples/network/qftp/images/cdtoparent.png new file mode 100644 index 0000000..24b6180 Binary files /dev/null and b/examples/network/qftp/images/cdtoparent.png differ diff --git a/examples/network/qftp/images/dir.png b/examples/network/qftp/images/dir.png new file mode 100644 index 0000000..0ce5ae7 Binary files /dev/null and b/examples/network/qftp/images/dir.png differ diff --git a/examples/network/qftp/images/file.png b/examples/network/qftp/images/file.png new file mode 100644 index 0000000..be6c530 Binary files /dev/null and b/examples/network/qftp/images/file.png differ diff --git a/examples/network/qftp/main.cpp b/examples/network/qftp/main.cpp new file mode 100644 index 0000000..d44ccd7 --- /dev/null +++ b/examples/network/qftp/main.cpp @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "ftpwindow.h" + +#ifdef Q_OS_SYMBIAN +#include +#include +#endif + +int main(int argc, char *argv[]) +{ + Q_INIT_RESOURCE(ftp); +#ifdef Q_OS_SYMBIAN + // Change current directory from default private to c:\data + // in order that user can access the downloaded content + QDir::setCurrent( "c:\\data" ); +#endif + QApplication app(argc, argv); + FtpWindow ftpWin; +#ifdef Q_OS_SYMBIAN + // Make application better looking and more usable on small screen + ftpWin.showMaximized(); +#else + ftpWin.show(); +#endif + return ftpWin.exec(); +} diff --git a/examples/network/qftp/qftp.pro b/examples/network/qftp/qftp.pro new file mode 100644 index 0000000..b3106c3 --- /dev/null +++ b/examples/network/qftp/qftp.pro @@ -0,0 +1,20 @@ +HEADERS = ftpwindow.h +SOURCES = ftpwindow.cpp \ + main.cpp +RESOURCES += ftp.qrc +QT += network + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/network/qftp +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro images +sources.path = $$[QT_INSTALL_EXAMPLES]/network/qftp +INSTALLS += target sources + +symbian { + TARGET.UID3 = 0xA000A648 + include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) + HEADERS += sym_iap_util.h + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + TARGET.CAPABILITY="NetworkServices ReadUserData WriteUserData" + LIBS+=-lesock -lcommdb -linsock # For IAP selection +} diff --git a/examples/network/qftp/sym_iap_util.h b/examples/network/qftp/sym_iap_util.h new file mode 100644 index 0000000..ebeae0a --- /dev/null +++ b/examples/network/qftp/sym_iap_util.h @@ -0,0 +1,510 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QSYM_IAP_UTIL_H +#define QSYM_IAP_UTIL_H + +// Symbian +#include +#include +#include +#include +#include +#include +#include + +// OpenC +#include +#include + +//Qt +#include +#include +//#include + +_LIT(KIapNameSetting, "IAP\\Name"); // text - mandatory +_LIT(KIapDialogPref, "IAP\\DialogPref"); // TUnit32 - optional +_LIT(KIapService, "IAP\\IAPService"); // TUnit32 - mandatory +_LIT(KIapServiceType, "IAP\\IAPServiceType"); // text - mandatory +_LIT(KIapBearer, "IAP\\IAPBearer"); // TUint32 - optional +_LIT(KIapBearerType, "IAP\\IAPBearerType"); // text - optional +_LIT(KIapNetwork, "IAP\\IAPNetwork"); // TUint32 - optional + +const QLatin1String qtOrganizationTag("Trolltech"); +const QLatin1String qtNetworkModuleTag("QtNetwork"); +const QLatin1String iapGroupTag("IAP"); +const QLatin1String iapNamesArrayTag("Names"); +const QLatin1String iapNameItemTag("Name"); + +static QTextCodec *utf16LETextCodec = 0; + +void clearIapNamesSettings(QSettings &settings) { + settings.beginGroup(qtNetworkModuleTag); + settings.beginGroup(iapGroupTag); + settings.remove(iapNamesArrayTag); + settings.endGroup(); + settings.endGroup(); +} + +void writeIapNamesSettings(QSettings &settings, const QStringList& iapNames) { + clearIapNamesSettings(settings); + settings.beginGroup(qtNetworkModuleTag); + settings.beginGroup(iapGroupTag); + settings.beginWriteArray(iapNamesArrayTag); + for (int index = 0; index < iapNames.size(); ++index) { + settings.setArrayIndex(index); + settings.setValue(iapNameItemTag, iapNames.at(index)); + } + settings.endArray(); + settings.endGroup(); + settings.endGroup(); +} + +void readIapNamesSettings(QSettings &settings, QStringList& iapNames) { + settings.beginGroup(qtNetworkModuleTag); + settings.beginGroup(iapGroupTag); + int last = settings.beginReadArray(iapNamesArrayTag); + for (int index = 0; index < last; ++index) { + settings.setArrayIndex(index); + iapNames.append(settings.value(iapNameItemTag).toString()); + } + settings.endArray(); + settings.endGroup(); + settings.endGroup(); +} + +static QString qt_TNameToQString(TName data) { + if(utf16LETextCodec == 0) + utf16LETextCodec = QTextCodec::codecForName("UTF-16LE"); + + QByteArray tmpByteArray = QByteArray::fromRawData((char*)(data.PtrZ()), data.Length() * 2); + return utf16LETextCodec->toUnicode(tmpByteArray); +} + +static QString qt_InterfaceInfoL() +{ + QString output; + + TBuf8<512> buffer; + TBuf<128> t; + TAutoClose ss; + User::LeaveIfError(ss.iObj.Connect()); + ss.PushL(); + + TAutoClose sock; + User::LeaveIfError(sock.iObj.Open(ss.iObj, _L("udp"))); + sock.PushL(); + + User::LeaveIfError(sock.iObj.SetOpt(KSoInetEnumInterfaces, KSolInetIfCtrl)); + + TProtocolDesc in; + User::LeaveIfError(sock.iObj.Info(in)); + printf("EPOC32 IP Configuration TCPIP Version %d.%d.%d\n", in.iVersion.iMajor, in.iVersion.iMinor, in.iVersion.iBuild); + + TPckgBuf info, next; + + TInt res=sock.iObj.GetOpt(KSoInetNextInterface, KSolInetIfCtrl, info); + if(res!=KErrNone) + User::Leave(res); + TInt count = 0; + while(res==KErrNone) { + res=sock.iObj.GetOpt(KSoInetNextInterface, KSolInetIfCtrl, next); + + if(info().iName != _L("") && info().iName != _L("loop6") && info().iName != _L("loop4")) { + printf("Interface %d\n", count++); + + printf("Name \"%s\"\n", qt_TNameToQString(info().iName).toLatin1().data()); + printf("NIF tag \"%s\"\n", qt_TNameToQString(info().iTag).toLatin1().data()); + + printf("State "); + switch (info().iState) + { + case EIfPending: + printf("pending\n"); + break; + case EIfUp: + printf("up\n"); + break; + case EIfBusy: + printf("busy\n"); + break; + default: + printf("down\n"); + break; + } + + printf("Mtu %d\n", info().iMtu); + printf("Speed Metric %d\n", info().iSpeedMetric); + + printf("Features:"); + info().iFeatures & KIfIsLoopback ? printf(" loopback") : printf(""); + info().iFeatures & KIfIsDialup ? printf(" dialup") : printf(""); + info().iFeatures & KIfIsPointToPoint ? printf(" pointtopoint") : printf(""); + info().iFeatures & KIfCanBroadcast ? printf(" canbroadcast") : printf(""); + info().iFeatures & KIfCanMulticast ? printf(" canmulticast") : printf(""); + info().iFeatures & KIfCanSetMTU ? printf(" cansetmtu") : printf(""); + info().iFeatures & KIfHasHardwareAddr ? printf(" hardwareaddr") : printf(""); + info().iFeatures & KIfCanSetHardwareAddr ? printf(" cansethardwareaddr") : printf(""); + printf("\n"); + + TName address; + info().iAddress.Output(address); + printf("Addr: %s\n", qt_TNameToQString(address).toLatin1().data()); + + if(info().iAddress.IsLinkLocal()) { + printf(" -link local\n"); + } else if(info().iAddress.IsSiteLocal()) { + printf(" -site local\n"); + } else { + printf(" -global\n"); + } + + info().iNetMask.Output(address); + printf("Netmask %s\n", qt_TNameToQString(address).toLatin1().data()); + + info().iBrdAddr.Output(address); + printf("Broadcast address %s\n", qt_TNameToQString(address).toLatin1().data()); + + info().iDefGate.Output(address); + printf("Gatew: %s\n", qt_TNameToQString(address).toLatin1().data()); + + info().iNameSer1.Output(address); + printf("DNS 1: %s\n", qt_TNameToQString(address).toLatin1().data()); + + info().iNameSer2.Output(address); + printf("DNS 2: %s\n", qt_TNameToQString(address).toLatin1().data()); + + if (info().iHwAddr.Family() != KAFUnspec) { + printf("Hardware address "); + TUint j; + for(j = sizeof(SSockAddr) ; j < sizeof(SSockAddr) + 6 ; ++j) { + if(j < (TUint)info().iHwAddr.Length()) { + printf("%02X", info().iHwAddr[j]); + } else { + printf("??"); + } + if(j < sizeof(SSockAddr) + 5) + printf("-"); + else + printf("\n"); + } + } + } + if(res == KErrNone) { + info = next; + printf("\n"); + } else { + printf("\n"); + } + } + + sock.Pop(); + ss.Pop(); + + return output; +} + +static QString qt_RouteInfoL() { + QString output; + TAutoClose ss; + User::LeaveIfError(ss.iObj.Connect()); + ss.PushL(); + + TAutoClose sock; + User::LeaveIfError(sock.iObj.Open(ss.iObj, _L("udp"))); + sock.PushL(); + + TSoInetRouteInfo routeInfo; + TPckg routeInfoPkg(routeInfo); + + TName destAddr; + TName netMask; + TName gateway; + TName ifAddr; + + // Begins enumeration of routes by setting this option + User::LeaveIfError(sock.iObj.SetOpt(KSoInetEnumRoutes, KSolInetRtCtrl)); + + // The TSoInetRouteInfo contains information for a new route each time GetOpt returns KErrNone + for(TInt i = 0; sock.iObj.GetOpt(KSoInetNextRoute, KSolInetRtCtrl, routeInfoPkg) == KErrNone ; i++) + { + // Extract the destination and netmask + routeInfo.iDstAddr.Output(destAddr); + routeInfo.iNetMask.Output(netMask); + routeInfo.iGateway.Output(gateway); + routeInfo.iIfAddr.Output(ifAddr); +/* + if(destAddr.Length() <= 2) + continue; + + if(netMask.Find(_L("255.255.255.255")) != KErrNotFound + || netMask.Find(_L("0.0.0.0")) != KErrNotFound + || netMask.Find(_L("ffff:ffff:ffff:ffff")) != KErrNotFound) + continue; +*/ + printf("Route Info #[%i]\n", i); + printf("DstAddr %s\n", qt_TNameToQString(destAddr).toLatin1().data()); + printf("NetMask %s\n", qt_TNameToQString(netMask).toLatin1().data()); + printf("Gateway %s\n", qt_TNameToQString(gateway).toLatin1().data()); + printf("IfAddr %s\n", qt_TNameToQString(ifAddr).toLatin1().data()); + printf("\n"); + } + + sock.Pop(); + ss.Pop(); + + return output; +} + +QString qt_TDesC2QStringL(const TDesC& aDescriptor) +{ +#ifdef QT_NO_UNICODE + return QString::fromLocal8Bit(aDescriptor.Ptr(), aDescriptor.Length()); +#else + return QString::fromUtf16(aDescriptor.Ptr(), aDescriptor.Length()); +#endif +} + +static bool qt_SetDefaultIapName(const QString &iapName, int &error) { + struct ifreq ifReq; + // clear structure + memset(&ifReq, 0, sizeof(struct ifreq)); + // set IAP name value + // make sure it is in UTF8 + strcpy(ifReq.ifr_name, iapName.toUtf8().data()); + + if(setdefaultif(&ifReq) == 0) { + // OK + error = 0; + return true; + } else { + error = errno; + return false; + } + +} +static bool qt_SetDefaultSnapId(const int snapId, int &error) { + struct ifreq ifReq; + // clear structure + memset(&ifReq, 0, sizeof(struct ifreq)); + // set SNAP ID value + ifReq.ifr_ifru.snap_id = snapId; + + if(setdefaultif(&ifReq) == 0) { + // OK + error = 0; + return true; + } else { + error = errno; + return false; + } + +} + +static void qt_SaveIapName(QSettings& settings, QStringList& iapNames, QString& iapNameValue) { + if(iapNames.contains(iapNameValue) && iapNames.first() == iapNameValue) { + // no need to update + } else { + if(iapNameValue != QString("Easy WLAN")) { + // new selection alway on top + iapNames.removeAll(iapNameValue); + iapNames.prepend(iapNameValue); + writeIapNamesSettings(settings, iapNames); + } else { + // Unbeliveable ... if IAP dodn't exist before + // no matter what you choose from IAP selection list + // you will get "Easy WLAN" as IAP name value + + // somehow commsdb is not in sync + } + } +} + +static QString qt_OfferIapDialog() { + TBuf8<256> iapName; + + RSocketServ socketServ; + CleanupClosePushL(socketServ); + + RConnection connection; + CleanupClosePushL(connection); + + socketServ.Connect(); + connection.Open(socketServ); + connection.Start(); + + connection.GetDesSetting(TPtrC(KIapNameSetting), iapName); + + //connection.Stop(); + + iapName.ZeroTerminate(); + QString strIapName((char*)iapName.Ptr()); + + int error = 0; + if(!qt_SetDefaultIapName(strIapName, error)) { + //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error); + strIapName = QString(""); + } + + CleanupStack::PopAndDestroy(&connection); + CleanupStack::PopAndDestroy(&socketServ); + + return strIapName; +} + +static QString qt_CheckForActiveConnection() { + TUint count; + + RSocketServ serv; + CleanupClosePushL(serv); + + RConnection conn; + CleanupClosePushL(conn); + + serv.Connect(); + conn.Open(serv); + + TConnectionInfoBuf connInfo; + + TBuf8<256> iapName; + TBuf8<256> iapServiceType; + + QString strIapName; + + if (conn.EnumerateConnections(count) == KErrNone) { + if(count > 0) { + for (TUint i = 1; i <= count; i++) { + if (conn.GetConnectionInfo(i, connInfo) == KErrNone) { + RConnection tempConn; + CleanupClosePushL(tempConn); + tempConn.Open(serv); + if (tempConn.Attach(connInfo, RConnection::EAttachTypeNormal) == KErrNone) { + tempConn.GetDesSetting(TPtrC(KIapNameSetting), iapName); + tempConn.GetDesSetting(TPtrC(KIapServiceType), iapServiceType); + //tempConn.Stop(); + iapName.ZeroTerminate(); + iapServiceType.ZeroTerminate(); + +// if(iapServiceType.Find(_L8("LANService")) != KErrNotFound) { +// activeLanConnectionFound = ETrue; +// break; +// } + strIapName = QString((char*)iapName.Ptr()); + int error = 0; + if(!qt_SetDefaultIapName(strIapName, error)) { + //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error); + strIapName = QString(""); + } + + CleanupStack::PopAndDestroy(&tempConn); + break; + } + } + } + } + } + + //conn.Stop(); + + CleanupStack::PopAndDestroy(&conn); + CleanupStack::PopAndDestroy(&serv); + + return strIapName; +} + +static QString qt_CheckSettingsForConnection(QStringList& iapNames) { + QString strIapName; + for(int index = 0; index < iapNames.size(); ++index) { + strIapName = iapNames.at(index); + int error = 0; + if(!qt_SetDefaultIapName(strIapName, error)) { + //printf("failed setdefaultif @ %i with %s and errno = %d \n", __LINE__, strIapName.toUtf8().data(), error); + strIapName = QString(""); + } else { + return strIapName; + } + } + return strIapName; +} + +static void qt_SetDefaultIapL() +{ + // settings @ /c/data/.config/Trolltech.com + QSettings settings(QSettings::UserScope, qtOrganizationTag); + // populate iap name list + QStringList iapNames; + readIapNamesSettings(settings, iapNames); + + QString iapNameValue; + + iapNameValue = qt_CheckForActiveConnection(); + + if(!iapNameValue.isEmpty()) { + qt_SaveIapName(settings, iapNames, iapNameValue); + return; + } + + iapNameValue = qt_CheckSettingsForConnection(iapNames); + + if(!iapNameValue.isEmpty()) { + qt_SaveIapName(settings, iapNames, iapNameValue); + return; + } + + /* + * no active LAN connections yet + * no IAP in settings + * offer IAP dialog to user + */ + iapNameValue = qt_OfferIapDialog(); + qt_SaveIapName(settings, iapNames, iapNameValue); + return; + +} + +static int qt_SetDefaultIap() +{ + TRAPD(err1, qt_SetDefaultIapL()); +// TRAPD(err2, qt_InterfaceInfoL()); +// TRAPD(err3, qt_RouteInfoL()); + return err1; +} + +#endif // QSYM_IAP_UTIL_H diff --git a/examples/phonon/musicplayer/main.cpp b/examples/phonon/musicplayer/main.cpp deleted file mode 100644 index fc7baa3..0000000 --- a/examples/phonon/musicplayer/main.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include - -#include "mainwindow.h" - -//![1] -int main(int argv, char **args) -{ - QApplication app(argv, args); - app.setApplicationName("Music Player"); - app.setQuitOnLastWindowClosed(true); - - MainWindow window; - window.show(); - - return app.exec(); -} -//![1] diff --git a/examples/phonon/musicplayer/mainwindow.cpp b/examples/phonon/musicplayer/mainwindow.cpp deleted file mode 100644 index 787ae53..0000000 --- a/examples/phonon/musicplayer/mainwindow.cpp +++ /dev/null @@ -1,355 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -***************************************************************************/ - -#include - -#include "mainwindow.h" - -//![0] -MainWindow::MainWindow() -{ - audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); - mediaObject = new Phonon::MediaObject(this); - metaInformationResolver = new Phonon::MediaObject(this); - - mediaObject->setTickInterval(1000); -//![0] -//![2] - connect(mediaObject, SIGNAL(tick(qint64)), this, SLOT(tick(qint64))); - connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), - this, SLOT(stateChanged(Phonon::State, Phonon::State))); - connect(metaInformationResolver, SIGNAL(stateChanged(Phonon::State,Phonon::State)), - this, SLOT(metaStateChanged(Phonon::State, Phonon::State))); - connect(mediaObject, SIGNAL(currentSourceChanged(const Phonon::MediaSource &)), - this, SLOT(sourceChanged(const Phonon::MediaSource &))); - connect(mediaObject, SIGNAL(aboutToFinish()), this, SLOT(aboutToFinish())); -//![2] - -//![1] - Phonon::createPath(mediaObject, audioOutput); -//![1] - - setupActions(); - setupMenus(); - setupUi(); - timeLcd->display("00:00"); -} - -//![6] -void MainWindow::addFiles() -{ - QStringList files = QFileDialog::getOpenFileNames(this, tr("Select Music Files"), - QDesktopServices::storageLocation(QDesktopServices::MusicLocation)); - - if (files.isEmpty()) - return; - - int index = sources.size(); - foreach (QString string, files) { - Phonon::MediaSource source(string); - - sources.append(source); - } - if (!sources.isEmpty()) - metaInformationResolver->setCurrentSource(sources.at(index)); - -} -//![6] - -void MainWindow::about() -{ - QMessageBox::information(this, tr("About Music Player"), - tr("The Music Player example shows how to use Phonon - the multimedia" - " framework that comes with Qt - to create a simple music player.")); -} - -//![9] -void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState */) -{ - switch (newState) { - case Phonon::ErrorState: - if (mediaObject->errorType() == Phonon::FatalError) { - QMessageBox::warning(this, tr("Fatal Error"), - mediaObject->errorString()); - } else { - QMessageBox::warning(this, tr("Error"), - mediaObject->errorString()); - } - break; -//![9] -//![10] - case Phonon::PlayingState: - playAction->setEnabled(false); - pauseAction->setEnabled(true); - stopAction->setEnabled(true); - break; - case Phonon::StoppedState: - stopAction->setEnabled(false); - playAction->setEnabled(true); - pauseAction->setEnabled(false); - timeLcd->display("00:00"); - break; - case Phonon::PausedState: - pauseAction->setEnabled(false); - stopAction->setEnabled(true); - playAction->setEnabled(true); - break; -//![10] - case Phonon::BufferingState: - break; - default: - ; - } -} - -//![11] -void MainWindow::tick(qint64 time) -{ - QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); - - timeLcd->display(displayTime.toString("mm:ss")); -} -//![11] - -//![12] -void MainWindow::tableClicked(int row, int /* column */) -{ - bool wasPlaying = mediaObject->state() == Phonon::PlayingState; - - mediaObject->stop(); - mediaObject->clearQueue(); - - if (row >= sources.size()) - return; - - mediaObject->setCurrentSource(sources[row]); - - if (wasPlaying) - mediaObject->play(); - else - mediaObject->stop(); -} -//![12] - -//![13] -void MainWindow::sourceChanged(const Phonon::MediaSource &source) -{ - musicTable->selectRow(sources.indexOf(source)); - timeLcd->display("00:00"); -} -//![13] - -//![14] -void MainWindow::metaStateChanged(Phonon::State newState, Phonon::State /* oldState */) -{ - if (newState == Phonon::ErrorState) { - QMessageBox::warning(this, tr("Error opening files"), - metaInformationResolver->errorString()); - while (!sources.isEmpty() && - !(sources.takeLast() == metaInformationResolver->currentSource())) {} /* loop */; - return; - } - - if (newState != Phonon::StoppedState && newState != Phonon::PausedState) - return; - - if (metaInformationResolver->currentSource().type() == Phonon::MediaSource::Invalid) - return; - - QMap metaData = metaInformationResolver->metaData(); - - QString title = metaData.value("TITLE"); - if (title == "") - title = metaInformationResolver->currentSource().fileName(); - - QTableWidgetItem *titleItem = new QTableWidgetItem(title); - titleItem->setFlags(titleItem->flags() ^ Qt::ItemIsEditable); - QTableWidgetItem *artistItem = new QTableWidgetItem(metaData.value("ARTIST")); - artistItem->setFlags(artistItem->flags() ^ Qt::ItemIsEditable); - QTableWidgetItem *albumItem = new QTableWidgetItem(metaData.value("ALBUM")); - albumItem->setFlags(albumItem->flags() ^ Qt::ItemIsEditable); - QTableWidgetItem *yearItem = new QTableWidgetItem(metaData.value("DATE")); - yearItem->setFlags(yearItem->flags() ^ Qt::ItemIsEditable); -//![14] - - int currentRow = musicTable->rowCount(); - musicTable->insertRow(currentRow); - musicTable->setItem(currentRow, 0, titleItem); - musicTable->setItem(currentRow, 1, artistItem); - musicTable->setItem(currentRow, 2, albumItem); - musicTable->setItem(currentRow, 3, yearItem); - -//![15] - if (musicTable->selectedItems().isEmpty()) { - musicTable->selectRow(0); - mediaObject->setCurrentSource(metaInformationResolver->currentSource()); - } - - Phonon::MediaSource source = metaInformationResolver->currentSource(); - int index = sources.indexOf(metaInformationResolver->currentSource()) + 1; - if (sources.size() > index) { - metaInformationResolver->setCurrentSource(sources.at(index)); - } - else { - musicTable->resizeColumnsToContents(); - if (musicTable->columnWidth(0) > 300) - musicTable->setColumnWidth(0, 300); - } -} -//![15] - -//![16] -void MainWindow::aboutToFinish() -{ - int index = sources.indexOf(mediaObject->currentSource()) + 1; - if (sources.size() > index) { - mediaObject->enqueue(sources.at(index)); - } -} -//![16] - -void MainWindow::setupActions() -{ - playAction = new QAction(style()->standardIcon(QStyle::SP_MediaPlay), tr("Play"), this); - playAction->setShortcut(tr("Crl+P")); - playAction->setDisabled(true); - pauseAction = new QAction(style()->standardIcon(QStyle::SP_MediaPause), tr("Pause"), this); - pauseAction->setShortcut(tr("Ctrl+A")); - pauseAction->setDisabled(true); - stopAction = new QAction(style()->standardIcon(QStyle::SP_MediaStop), tr("Stop"), this); - stopAction->setShortcut(tr("Ctrl+S")); - stopAction->setDisabled(true); - nextAction = new QAction(style()->standardIcon(QStyle::SP_MediaSkipForward), tr("Next"), this); - nextAction->setShortcut(tr("Ctrl+N")); - previousAction = new QAction(style()->standardIcon(QStyle::SP_MediaSkipBackward), tr("Previous"), this); - previousAction->setShortcut(tr("Ctrl+R")); - addFilesAction = new QAction(tr("Add &Files"), this); - addFilesAction->setShortcut(tr("Ctrl+F")); - exitAction = new QAction(tr("E&xit"), this); - exitAction->setShortcuts(QKeySequence::Quit); - aboutAction = new QAction(tr("A&bout"), this); - aboutAction->setShortcut(tr("Ctrl+B")); - aboutQtAction = new QAction(tr("About &Qt"), this); - aboutQtAction->setShortcut(tr("Ctrl+Q")); - -//![5] - connect(playAction, SIGNAL(triggered()), mediaObject, SLOT(play())); - connect(pauseAction, SIGNAL(triggered()), mediaObject, SLOT(pause()) ); - connect(stopAction, SIGNAL(triggered()), mediaObject, SLOT(stop())); -//![5] - connect(addFilesAction, SIGNAL(triggered()), this, SLOT(addFiles())); - connect(exitAction, SIGNAL(triggered()), this, SLOT(close())); - connect(aboutAction, SIGNAL(triggered()), this, SLOT(about())); - connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); -} - -void MainWindow::setupMenus() -{ - QMenu *fileMenu = menuBar()->addMenu(tr("&File")); - fileMenu->addAction(addFilesAction); - fileMenu->addSeparator(); - fileMenu->addAction(exitAction); - - QMenu *aboutMenu = menuBar()->addMenu(tr("&Help")); - aboutMenu->addAction(aboutAction); - aboutMenu->addAction(aboutQtAction); -} - -//![3] -void MainWindow::setupUi() -{ -//![3] - QToolBar *bar = new QToolBar; - - bar->addAction(playAction); - bar->addAction(pauseAction); - bar->addAction(stopAction); - -//![4] - seekSlider = new Phonon::SeekSlider(this); - seekSlider->setMediaObject(mediaObject); - - volumeSlider = new Phonon::VolumeSlider(this); - volumeSlider->setAudioOutput(audioOutput); -//![4] - volumeSlider->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); - - QLabel *volumeLabel = new QLabel; - volumeLabel->setPixmap(QPixmap("images/volume.png")); - - QPalette palette; - palette.setBrush(QPalette::Light, Qt::darkGray); - - timeLcd = new QLCDNumber; - timeLcd->setPalette(palette); - - QStringList headers; - headers << tr("Title") << tr("Artist") << tr("Album") << tr("Year"); - - musicTable = new QTableWidget(0, 4); - musicTable->setHorizontalHeaderLabels(headers); - musicTable->setSelectionMode(QAbstractItemView::SingleSelection); - musicTable->setSelectionBehavior(QAbstractItemView::SelectRows); - connect(musicTable, SIGNAL(cellPressed(int, int)), - this, SLOT(tableClicked(int, int))); - - QHBoxLayout *seekerLayout = new QHBoxLayout; - seekerLayout->addWidget(seekSlider); - seekerLayout->addWidget(timeLcd); - - QHBoxLayout *playbackLayout = new QHBoxLayout; - playbackLayout->addWidget(bar); - playbackLayout->addStretch(); - playbackLayout->addWidget(volumeLabel); - playbackLayout->addWidget(volumeSlider); - - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addWidget(musicTable); - mainLayout->addLayout(seekerLayout); - mainLayout->addLayout(playbackLayout); - - QWidget *widget = new QWidget; - widget->setLayout(mainLayout); - - setCentralWidget(widget); - setWindowTitle("Phonon Music Player"); -} - diff --git a/examples/phonon/musicplayer/mainwindow.h b/examples/phonon/musicplayer/mainwindow.h deleted file mode 100644 index 41f8147..0000000 --- a/examples/phonon/musicplayer/mainwindow.h +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include -#include -#include -#include -#include -#include -#include - -QT_BEGIN_NAMESPACE -class QAction; -class QTableWidget; -class QLCDNumber; -QT_END_NAMESPACE - -//![0] - -class MainWindow : public QMainWindow -{ -//![0] - Q_OBJECT - -public: - MainWindow(); - - QSize sizeHint() const { - return QSize(500, 300); - } - -private slots: - void addFiles(); - void about(); -//![1] - void stateChanged(Phonon::State newState, Phonon::State oldState); - void tick(qint64 time); - void sourceChanged(const Phonon::MediaSource &source); - void metaStateChanged(Phonon::State newState, Phonon::State oldState); - void aboutToFinish(); - void tableClicked(int row, int column); -//![1] - -private: - void setupActions(); - void setupMenus(); - void setupUi(); - -//![2] - Phonon::SeekSlider *seekSlider; - Phonon::MediaObject *mediaObject; - Phonon::MediaObject *metaInformationResolver; - Phonon::AudioOutput *audioOutput; - Phonon::VolumeSlider *volumeSlider; - QList sources; -//![2] - - QAction *playAction; - QAction *pauseAction; - QAction *stopAction; - QAction *nextAction; - QAction *previousAction; - QAction *addFilesAction; - QAction *exitAction; - QAction *aboutAction; - QAction *aboutQtAction; - QLCDNumber *timeLcd; - QTableWidget *musicTable; -}; - -#endif diff --git a/examples/phonon/musicplayer/musicplayer.pro b/examples/phonon/musicplayer/musicplayer.pro deleted file mode 100644 index a0c953a..0000000 --- a/examples/phonon/musicplayer/musicplayer.pro +++ /dev/null @@ -1,17 +0,0 @@ -QT += phonon - -HEADERS += mainwindow.h -SOURCES += main.cpp \ - mainwindow.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/phonon/musicplayer -sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.png images -sources.path = $$[QT_INSTALL_EXAMPLES]/phonon/musicplayer -INSTALLS += target sources - -wince*{ -DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout -} - -symbian:TARGET.UID3 = 0xA000CF6A diff --git a/examples/phonon/phonon.pro b/examples/phonon/phonon.pro index 0ddf767..aa6ac13 100644 --- a/examples/phonon/phonon.pro +++ b/examples/phonon/phonon.pro @@ -1,6 +1,6 @@ TEMPLATE = subdirs CONFIG += ordered -SUBDIRS = musicplayer \ +SUBDIRS = qmusicplayer \ capabilities # install diff --git a/examples/phonon/qmusicplayer/main.cpp b/examples/phonon/qmusicplayer/main.cpp new file mode 100644 index 0000000..fc7baa3 --- /dev/null +++ b/examples/phonon/qmusicplayer/main.cpp @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include + +#include "mainwindow.h" + +//![1] +int main(int argv, char **args) +{ + QApplication app(argv, args); + app.setApplicationName("Music Player"); + app.setQuitOnLastWindowClosed(true); + + MainWindow window; + window.show(); + + return app.exec(); +} +//![1] diff --git a/examples/phonon/qmusicplayer/mainwindow.cpp b/examples/phonon/qmusicplayer/mainwindow.cpp new file mode 100644 index 0000000..787ae53 --- /dev/null +++ b/examples/phonon/qmusicplayer/mainwindow.cpp @@ -0,0 +1,355 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +***************************************************************************/ + +#include + +#include "mainwindow.h" + +//![0] +MainWindow::MainWindow() +{ + audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); + mediaObject = new Phonon::MediaObject(this); + metaInformationResolver = new Phonon::MediaObject(this); + + mediaObject->setTickInterval(1000); +//![0] +//![2] + connect(mediaObject, SIGNAL(tick(qint64)), this, SLOT(tick(qint64))); + connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), + this, SLOT(stateChanged(Phonon::State, Phonon::State))); + connect(metaInformationResolver, SIGNAL(stateChanged(Phonon::State,Phonon::State)), + this, SLOT(metaStateChanged(Phonon::State, Phonon::State))); + connect(mediaObject, SIGNAL(currentSourceChanged(const Phonon::MediaSource &)), + this, SLOT(sourceChanged(const Phonon::MediaSource &))); + connect(mediaObject, SIGNAL(aboutToFinish()), this, SLOT(aboutToFinish())); +//![2] + +//![1] + Phonon::createPath(mediaObject, audioOutput); +//![1] + + setupActions(); + setupMenus(); + setupUi(); + timeLcd->display("00:00"); +} + +//![6] +void MainWindow::addFiles() +{ + QStringList files = QFileDialog::getOpenFileNames(this, tr("Select Music Files"), + QDesktopServices::storageLocation(QDesktopServices::MusicLocation)); + + if (files.isEmpty()) + return; + + int index = sources.size(); + foreach (QString string, files) { + Phonon::MediaSource source(string); + + sources.append(source); + } + if (!sources.isEmpty()) + metaInformationResolver->setCurrentSource(sources.at(index)); + +} +//![6] + +void MainWindow::about() +{ + QMessageBox::information(this, tr("About Music Player"), + tr("The Music Player example shows how to use Phonon - the multimedia" + " framework that comes with Qt - to create a simple music player.")); +} + +//![9] +void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState */) +{ + switch (newState) { + case Phonon::ErrorState: + if (mediaObject->errorType() == Phonon::FatalError) { + QMessageBox::warning(this, tr("Fatal Error"), + mediaObject->errorString()); + } else { + QMessageBox::warning(this, tr("Error"), + mediaObject->errorString()); + } + break; +//![9] +//![10] + case Phonon::PlayingState: + playAction->setEnabled(false); + pauseAction->setEnabled(true); + stopAction->setEnabled(true); + break; + case Phonon::StoppedState: + stopAction->setEnabled(false); + playAction->setEnabled(true); + pauseAction->setEnabled(false); + timeLcd->display("00:00"); + break; + case Phonon::PausedState: + pauseAction->setEnabled(false); + stopAction->setEnabled(true); + playAction->setEnabled(true); + break; +//![10] + case Phonon::BufferingState: + break; + default: + ; + } +} + +//![11] +void MainWindow::tick(qint64 time) +{ + QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); + + timeLcd->display(displayTime.toString("mm:ss")); +} +//![11] + +//![12] +void MainWindow::tableClicked(int row, int /* column */) +{ + bool wasPlaying = mediaObject->state() == Phonon::PlayingState; + + mediaObject->stop(); + mediaObject->clearQueue(); + + if (row >= sources.size()) + return; + + mediaObject->setCurrentSource(sources[row]); + + if (wasPlaying) + mediaObject->play(); + else + mediaObject->stop(); +} +//![12] + +//![13] +void MainWindow::sourceChanged(const Phonon::MediaSource &source) +{ + musicTable->selectRow(sources.indexOf(source)); + timeLcd->display("00:00"); +} +//![13] + +//![14] +void MainWindow::metaStateChanged(Phonon::State newState, Phonon::State /* oldState */) +{ + if (newState == Phonon::ErrorState) { + QMessageBox::warning(this, tr("Error opening files"), + metaInformationResolver->errorString()); + while (!sources.isEmpty() && + !(sources.takeLast() == metaInformationResolver->currentSource())) {} /* loop */; + return; + } + + if (newState != Phonon::StoppedState && newState != Phonon::PausedState) + return; + + if (metaInformationResolver->currentSource().type() == Phonon::MediaSource::Invalid) + return; + + QMap metaData = metaInformationResolver->metaData(); + + QString title = metaData.value("TITLE"); + if (title == "") + title = metaInformationResolver->currentSource().fileName(); + + QTableWidgetItem *titleItem = new QTableWidgetItem(title); + titleItem->setFlags(titleItem->flags() ^ Qt::ItemIsEditable); + QTableWidgetItem *artistItem = new QTableWidgetItem(metaData.value("ARTIST")); + artistItem->setFlags(artistItem->flags() ^ Qt::ItemIsEditable); + QTableWidgetItem *albumItem = new QTableWidgetItem(metaData.value("ALBUM")); + albumItem->setFlags(albumItem->flags() ^ Qt::ItemIsEditable); + QTableWidgetItem *yearItem = new QTableWidgetItem(metaData.value("DATE")); + yearItem->setFlags(yearItem->flags() ^ Qt::ItemIsEditable); +//![14] + + int currentRow = musicTable->rowCount(); + musicTable->insertRow(currentRow); + musicTable->setItem(currentRow, 0, titleItem); + musicTable->setItem(currentRow, 1, artistItem); + musicTable->setItem(currentRow, 2, albumItem); + musicTable->setItem(currentRow, 3, yearItem); + +//![15] + if (musicTable->selectedItems().isEmpty()) { + musicTable->selectRow(0); + mediaObject->setCurrentSource(metaInformationResolver->currentSource()); + } + + Phonon::MediaSource source = metaInformationResolver->currentSource(); + int index = sources.indexOf(metaInformationResolver->currentSource()) + 1; + if (sources.size() > index) { + metaInformationResolver->setCurrentSource(sources.at(index)); + } + else { + musicTable->resizeColumnsToContents(); + if (musicTable->columnWidth(0) > 300) + musicTable->setColumnWidth(0, 300); + } +} +//![15] + +//![16] +void MainWindow::aboutToFinish() +{ + int index = sources.indexOf(mediaObject->currentSource()) + 1; + if (sources.size() > index) { + mediaObject->enqueue(sources.at(index)); + } +} +//![16] + +void MainWindow::setupActions() +{ + playAction = new QAction(style()->standardIcon(QStyle::SP_MediaPlay), tr("Play"), this); + playAction->setShortcut(tr("Crl+P")); + playAction->setDisabled(true); + pauseAction = new QAction(style()->standardIcon(QStyle::SP_MediaPause), tr("Pause"), this); + pauseAction->setShortcut(tr("Ctrl+A")); + pauseAction->setDisabled(true); + stopAction = new QAction(style()->standardIcon(QStyle::SP_MediaStop), tr("Stop"), this); + stopAction->setShortcut(tr("Ctrl+S")); + stopAction->setDisabled(true); + nextAction = new QAction(style()->standardIcon(QStyle::SP_MediaSkipForward), tr("Next"), this); + nextAction->setShortcut(tr("Ctrl+N")); + previousAction = new QAction(style()->standardIcon(QStyle::SP_MediaSkipBackward), tr("Previous"), this); + previousAction->setShortcut(tr("Ctrl+R")); + addFilesAction = new QAction(tr("Add &Files"), this); + addFilesAction->setShortcut(tr("Ctrl+F")); + exitAction = new QAction(tr("E&xit"), this); + exitAction->setShortcuts(QKeySequence::Quit); + aboutAction = new QAction(tr("A&bout"), this); + aboutAction->setShortcut(tr("Ctrl+B")); + aboutQtAction = new QAction(tr("About &Qt"), this); + aboutQtAction->setShortcut(tr("Ctrl+Q")); + +//![5] + connect(playAction, SIGNAL(triggered()), mediaObject, SLOT(play())); + connect(pauseAction, SIGNAL(triggered()), mediaObject, SLOT(pause()) ); + connect(stopAction, SIGNAL(triggered()), mediaObject, SLOT(stop())); +//![5] + connect(addFilesAction, SIGNAL(triggered()), this, SLOT(addFiles())); + connect(exitAction, SIGNAL(triggered()), this, SLOT(close())); + connect(aboutAction, SIGNAL(triggered()), this, SLOT(about())); + connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); +} + +void MainWindow::setupMenus() +{ + QMenu *fileMenu = menuBar()->addMenu(tr("&File")); + fileMenu->addAction(addFilesAction); + fileMenu->addSeparator(); + fileMenu->addAction(exitAction); + + QMenu *aboutMenu = menuBar()->addMenu(tr("&Help")); + aboutMenu->addAction(aboutAction); + aboutMenu->addAction(aboutQtAction); +} + +//![3] +void MainWindow::setupUi() +{ +//![3] + QToolBar *bar = new QToolBar; + + bar->addAction(playAction); + bar->addAction(pauseAction); + bar->addAction(stopAction); + +//![4] + seekSlider = new Phonon::SeekSlider(this); + seekSlider->setMediaObject(mediaObject); + + volumeSlider = new Phonon::VolumeSlider(this); + volumeSlider->setAudioOutput(audioOutput); +//![4] + volumeSlider->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); + + QLabel *volumeLabel = new QLabel; + volumeLabel->setPixmap(QPixmap("images/volume.png")); + + QPalette palette; + palette.setBrush(QPalette::Light, Qt::darkGray); + + timeLcd = new QLCDNumber; + timeLcd->setPalette(palette); + + QStringList headers; + headers << tr("Title") << tr("Artist") << tr("Album") << tr("Year"); + + musicTable = new QTableWidget(0, 4); + musicTable->setHorizontalHeaderLabels(headers); + musicTable->setSelectionMode(QAbstractItemView::SingleSelection); + musicTable->setSelectionBehavior(QAbstractItemView::SelectRows); + connect(musicTable, SIGNAL(cellPressed(int, int)), + this, SLOT(tableClicked(int, int))); + + QHBoxLayout *seekerLayout = new QHBoxLayout; + seekerLayout->addWidget(seekSlider); + seekerLayout->addWidget(timeLcd); + + QHBoxLayout *playbackLayout = new QHBoxLayout; + playbackLayout->addWidget(bar); + playbackLayout->addStretch(); + playbackLayout->addWidget(volumeLabel); + playbackLayout->addWidget(volumeSlider); + + QVBoxLayout *mainLayout = new QVBoxLayout; + mainLayout->addWidget(musicTable); + mainLayout->addLayout(seekerLayout); + mainLayout->addLayout(playbackLayout); + + QWidget *widget = new QWidget; + widget->setLayout(mainLayout); + + setCentralWidget(widget); + setWindowTitle("Phonon Music Player"); +} + diff --git a/examples/phonon/qmusicplayer/mainwindow.h b/examples/phonon/qmusicplayer/mainwindow.h new file mode 100644 index 0000000..41f8147 --- /dev/null +++ b/examples/phonon/qmusicplayer/mainwindow.h @@ -0,0 +1,112 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE +class QAction; +class QTableWidget; +class QLCDNumber; +QT_END_NAMESPACE + +//![0] + +class MainWindow : public QMainWindow +{ +//![0] + Q_OBJECT + +public: + MainWindow(); + + QSize sizeHint() const { + return QSize(500, 300); + } + +private slots: + void addFiles(); + void about(); +//![1] + void stateChanged(Phonon::State newState, Phonon::State oldState); + void tick(qint64 time); + void sourceChanged(const Phonon::MediaSource &source); + void metaStateChanged(Phonon::State newState, Phonon::State oldState); + void aboutToFinish(); + void tableClicked(int row, int column); +//![1] + +private: + void setupActions(); + void setupMenus(); + void setupUi(); + +//![2] + Phonon::SeekSlider *seekSlider; + Phonon::MediaObject *mediaObject; + Phonon::MediaObject *metaInformationResolver; + Phonon::AudioOutput *audioOutput; + Phonon::VolumeSlider *volumeSlider; + QList sources; +//![2] + + QAction *playAction; + QAction *pauseAction; + QAction *stopAction; + QAction *nextAction; + QAction *previousAction; + QAction *addFilesAction; + QAction *exitAction; + QAction *aboutAction; + QAction *aboutQtAction; + QLCDNumber *timeLcd; + QTableWidget *musicTable; +}; + +#endif diff --git a/examples/phonon/qmusicplayer/qmusicplayer.pro b/examples/phonon/qmusicplayer/qmusicplayer.pro new file mode 100644 index 0000000..25ab7eb --- /dev/null +++ b/examples/phonon/qmusicplayer/qmusicplayer.pro @@ -0,0 +1,17 @@ +QT += phonon + +HEADERS += mainwindow.h +SOURCES += main.cpp \ + mainwindow.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/phonon/qmusicplayer +sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.png images +sources.path = $$[QT_INSTALL_EXAMPLES]/phonon/qmusicplayer +INSTALLS += target sources + +wince*{ +DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout +} + +symbian:TARGET.UID3 = 0xA000CF6A -- cgit v0.12 From d66df793b88f9ba924a1fefcec325d7c04af3ac3 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 9 Oct 2009 15:11:26 +0300 Subject: Fixed miscellaneous minor problems with Symbian docs. Reviewed-by: Espen Riskedal --- doc/src/howtos/exceptionsafety.qdoc | 8 ++++---- doc/src/platforms/platform-notes.qdoc | 4 +++- doc/src/platforms/s60-introduction.qdoc | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/doc/src/howtos/exceptionsafety.qdoc b/doc/src/howtos/exceptionsafety.qdoc index 23bedf5..fa1427b 100644 --- a/doc/src/howtos/exceptionsafety.qdoc +++ b/doc/src/howtos/exceptionsafety.qdoc @@ -144,12 +144,12 @@ \section1 Platform-Specific Exception Handling - \section2 Symbian (Qt for S60) + \section2 The Symbian platform The Symbian platform implements its own exception system that differs from the standard - C++ mechanism. When using Qt for S60, and especially when writing code to access Symbian - functionality directly, it may be necessary to know about the underlying implementation - and how it interacts with Qt. + C++ mechanism. When using Qt for Symbian platform, and especially when writing code to + access Symbian functionality directly, it may be necessary to know about the underlying + implementation and how it interacts with Qt. The \l{Exception Safety with Symbian} document shows how to use the facilities provided by Qt to use exceptions as safely as possible. diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index 5be66f8..9896b08 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -67,6 +67,8 @@ \tableofcontents{1 Platform Notes - Windows} \o \l{Platform Notes - Mac OS X} \tableofcontents{1 Platform Notes - Mac OS X} + \o \l{Platform Notes - Symbian} + \tableofcontents{1 Platform Notes - Symbian} \o \l{Platform Notes - Embedded Linux} \tableofcontents{1 Platform Notes - Embedded Linux} \o \l{Platform Notes - Windows CE} @@ -409,7 +411,7 @@ to run on. More information about the combinations of platforms and compilers supported by Qt can be found on the \l{Supported Platforms} page. - For information about mixing exceptions with symbian leaves, + For information about mixing exceptions with Symbian leaves, see \l{Exception Safety with Symbian} \section1 Multimedia and Phonon Support diff --git a/doc/src/platforms/s60-introduction.qdoc b/doc/src/platforms/s60-introduction.qdoc index d145a82..d27eb39 100644 --- a/doc/src/platforms/s60-introduction.qdoc +++ b/doc/src/platforms/s60-introduction.qdoc @@ -122,8 +122,8 @@ build targets, as shown in the table below: \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. -i, install the package right away using PC suite. -c=, read certificate information from a file. - Execute \c{perl createpackage.pl} for more information - about options. + Execute \c{createpackage.pl} script without any + parameters for more information about options. By default no otions are given. \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. Accepted values are build targets listed in -- cgit v0.12 From b7a780e057642b2829238cd8e83b812ea963f687 Mon Sep 17 00:00:00 2001 From: ninerider Date: Fri, 9 Oct 2009 14:31:03 +0200 Subject: All mousewheel tests skipped on Windows CE Due to more problems with this test, they are skipped alltogether on Windows CE. Reviewed-by: Joerg --- tests/auto/qtableview/tst_qtableview.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index bb0e226..55da180 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -3407,17 +3407,14 @@ void tst_QTableView::mouseWheel_data() void tst_QTableView::mouseWheel() { +#ifdef Q_OS_WINCE + QSKIP("Since different Windows CE versions sport different taskbars, we skip this test", SkipAll); +#endif QFETCH(int, scrollMode); QFETCH(int, delta); QFETCH(int, horizontalPositon); QFETCH(int, verticalPosition); - if (scrollMode == int(QAbstractItemView::ScrollPerPixel)) - { -#ifdef Q_OS_WINCE - QSKIP("Since different Windows CE versions sport different taskbars, we skip this test", SkipSingle); -#endif - } QtTestTableModel model(100, 100); QtTestTableView view; view.resize(500, 500); -- cgit v0.12 From 21a84b26028ec7f44c9c5c69fa17528e77e17174 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Fri, 9 Oct 2009 14:38:56 +0200 Subject: Doc: update known issues page (a little). --- doc/src/getting-started/known-issues.qdoc | 140 +++++++++++++----------------- 1 file changed, 62 insertions(+), 78 deletions(-) diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc index 6f8eb66..40ac1c7 100644 --- a/doc/src/getting-started/known-issues.qdoc +++ b/doc/src/getting-started/known-issues.qdoc @@ -45,20 +45,72 @@ \ingroup platform-specific \brief A summary of known issues in Qt %VERSION% at the time of release. - An up-to-date list of known issues with Qt %VERSION% can be found via the - \l{Task Tracker} on the Qt website which provides additional information - about known issues and tasks related to Qt. + This page documents known problems with the packaging and installation in + Qt %VERSION%, as well as issues with third party software that we have + not been able to work around. For a list of such issues in previous Qt + versions refer to this page in the respective documentation. - \section1 General Issues + For a list list of known bugs in Qt %VERSION%, see the \l{Task Tracker} + on the Qt website. - When running Qt applications on Windows or with \c{-graphicssystem raster}, - any process that triggers a QWidget::update() from within a destructor - might result in a crash. + \section1 Installation Issues + \section2 Building the Source Package on Windows 7 + + \list + \o When building Qt 4.5.0 with Windows 7, the build fails with an error + message regarding failing to embed manifest. This a known issue with + Windows 7, explained in the Windows 7 SDK Beta + \l{http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm} + {release notes}. A workaround for this issue is to patch the + \bold{embed_manifest_exe.prf} file with the following: + + \code + diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf + index e1747f1..05f116e 100644 + --- a/mkspecs/features/win32/embed_manifest_exe.prf + +++ b/mkspecs/features/win32/embed_manifest_exe.prf + @@ -8,4 +8,9 @@ if(win32-msvc2005|win32-msvc2008):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE + QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.ma + nifest\" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(\n\t)) + QMAKE_POST_LINK += $$QMAKE_PREV_POST_LINK + QMAKE_CLEAN += \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" + + isEmpty(RC_FILE) { + + system("echo.>$$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc") + + RC_FILE = $$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc + + } + + + } + \endcode + + \section2 Installing the Source Package on Unix systems + + \o If you download a Zip source package, you will need to convert + Windows-style line endings (CR/LF) to Unix-style line-endings (LF) when + you uncompress the package. To do this, give the "-a" option when you + run the "unzip' command. + + If you fail to supply the "-a" option when unzipping the package, you + will see the following error message when you attempt to execute the + configure command: + "bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory" + \endlist + + \section2 Installing on Mac OS X 10.6 "Snow Leopard" + \list + \o Performing a new install of the Qt 4.6 beta on Snow Leopard + triggers a bug in the installer that causes the install to fail. + Updating an existing Qt installation works fine. + + There are two workarounds, either disable spotlight for the target + drive during the install, or do a custom install where you deselect + documentation and examples. Run the installer again as a full + install to get the documentation and examples installed. + \endlist \section1 Issues with Third Party Software - \section2 X11 Hardware Support + \section2 X11 \list \o There is a bug in the 169.xx NVIDIA drivers on certain GeForce 8 series @@ -76,7 +128,7 @@ of the drivers. \endlist - \section2 Windows Hardware Support + \section2 Windows \list \o When using version 6.14.11.6921 of the NVIDIA drivers for the GeForce @@ -85,43 +137,6 @@ applications that use OpenGL. This problem can be worked around by reducing the level of graphics acceleration provided by the driver, or by disabling hardware acceleration completely. - \endlist - - \section2 Windows Software Issues - - \list - - \o When building Qt 4.5.0 with Windows 7, the build fails with an error - message regarding failing to embed manifest. This a known issue with - Windows 7, explained in the Windows 7 SDK Beta - \l{http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm} - {release notes}. A workaround for this issue is to patch the - \bold{embed_manifest_exe.prf} file with the following: - - \code - diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf - index e1747f1..05f116e 100644 - --- a/mkspecs/features/win32/embed_manifest_exe.prf - +++ b/mkspecs/features/win32/embed_manifest_exe.prf - @@ -8,4 +8,9 @@ if(win32-msvc2005|win32-msvc2008):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE - QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.ma - nifest\" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(\n\t)) - QMAKE_POST_LINK += $$QMAKE_PREV_POST_LINK - QMAKE_CLEAN += \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" - + isEmpty(RC_FILE) { - + system("echo.>$$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc") - + RC_FILE = $$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc - + } - + - } - \endcode - - \o Under certain circumstances Visual Studio Integration v1.4.0 will not - be able to install the integration for Visual Studio 2005 on Windows - Vista. An error message states that .NET Framework v2.0 Service Pack 1 - is not installed. This is due to a problem with the built-in - installation of this on Windows Vista. This issue can be fixed by - installing .NET Framework version 3.5. \o With NVIDIA GeForce 7950 GT (driver version 6.14.11.7824), a fullscreen QGLWidget flickers when child widgets are shown/hidden. The workaround @@ -133,42 +148,11 @@ \endlist - - \section2 Mac OS X Software Support + \section2 Mac OS X \list \o If a sheet is opened for a given window, clicking the title bar of that window will cause it to flash. This behavior has been reported to Apple (bug number 5827676). \endlist - - - \section2 Installing source packages on Unix systems - - \list - \o If you download a Zip source package, you will need to convert - Windows-style line endings (CR/LF) to Unix-style line-endings (LF) when - you uncompress the package. To do this, give the "-a" option when you - run the "unzip' command. - - If you fail to supply the "-a" option when unzipping the package, you - will see the following error message when you attempt to execute the - configure command: - "bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory" - \endlist - - - \section2 Running evaluation packages on Windows XP - - \list - \o If running the qt-win-eval-%VERSION%-vs2008.exe package on a Windows XP - system, you may encounter the following error message: - "The application failed to start because the application configuration - is incorrect. Reinstalling the application may fix this problem.". - - This error occurs because the version of the CRT component on the - system is incorrect. Visual Studio 2008 requires CRT90 while Windows - XP comes with CRT80. To solve this problem, please install the 2008 CRT - redistributable package from Microsoft. - \endlist */ -- cgit v0.12 From 3554c42d0ca0c325769b8c4817ecc118e1e2fa63 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Fri, 9 Oct 2009 14:38:56 +0200 Subject: Doc: update known issues page (a little). (cherry picked from commit 21a84b26028ec7f44c9c5c69fa17528e77e17174) --- doc/src/getting-started/known-issues.qdoc | 140 +++++++++++++----------------- 1 file changed, 62 insertions(+), 78 deletions(-) diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc index 6f8eb66..40ac1c7 100644 --- a/doc/src/getting-started/known-issues.qdoc +++ b/doc/src/getting-started/known-issues.qdoc @@ -45,20 +45,72 @@ \ingroup platform-specific \brief A summary of known issues in Qt %VERSION% at the time of release. - An up-to-date list of known issues with Qt %VERSION% can be found via the - \l{Task Tracker} on the Qt website which provides additional information - about known issues and tasks related to Qt. + This page documents known problems with the packaging and installation in + Qt %VERSION%, as well as issues with third party software that we have + not been able to work around. For a list of such issues in previous Qt + versions refer to this page in the respective documentation. - \section1 General Issues + For a list list of known bugs in Qt %VERSION%, see the \l{Task Tracker} + on the Qt website. - When running Qt applications on Windows or with \c{-graphicssystem raster}, - any process that triggers a QWidget::update() from within a destructor - might result in a crash. + \section1 Installation Issues + \section2 Building the Source Package on Windows 7 + + \list + \o When building Qt 4.5.0 with Windows 7, the build fails with an error + message regarding failing to embed manifest. This a known issue with + Windows 7, explained in the Windows 7 SDK Beta + \l{http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm} + {release notes}. A workaround for this issue is to patch the + \bold{embed_manifest_exe.prf} file with the following: + + \code + diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf + index e1747f1..05f116e 100644 + --- a/mkspecs/features/win32/embed_manifest_exe.prf + +++ b/mkspecs/features/win32/embed_manifest_exe.prf + @@ -8,4 +8,9 @@ if(win32-msvc2005|win32-msvc2008):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE + QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.ma + nifest\" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(\n\t)) + QMAKE_POST_LINK += $$QMAKE_PREV_POST_LINK + QMAKE_CLEAN += \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" + + isEmpty(RC_FILE) { + + system("echo.>$$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc") + + RC_FILE = $$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc + + } + + + } + \endcode + + \section2 Installing the Source Package on Unix systems + + \o If you download a Zip source package, you will need to convert + Windows-style line endings (CR/LF) to Unix-style line-endings (LF) when + you uncompress the package. To do this, give the "-a" option when you + run the "unzip' command. + + If you fail to supply the "-a" option when unzipping the package, you + will see the following error message when you attempt to execute the + configure command: + "bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory" + \endlist + + \section2 Installing on Mac OS X 10.6 "Snow Leopard" + \list + \o Performing a new install of the Qt 4.6 beta on Snow Leopard + triggers a bug in the installer that causes the install to fail. + Updating an existing Qt installation works fine. + + There are two workarounds, either disable spotlight for the target + drive during the install, or do a custom install where you deselect + documentation and examples. Run the installer again as a full + install to get the documentation and examples installed. + \endlist \section1 Issues with Third Party Software - \section2 X11 Hardware Support + \section2 X11 \list \o There is a bug in the 169.xx NVIDIA drivers on certain GeForce 8 series @@ -76,7 +128,7 @@ of the drivers. \endlist - \section2 Windows Hardware Support + \section2 Windows \list \o When using version 6.14.11.6921 of the NVIDIA drivers for the GeForce @@ -85,43 +137,6 @@ applications that use OpenGL. This problem can be worked around by reducing the level of graphics acceleration provided by the driver, or by disabling hardware acceleration completely. - \endlist - - \section2 Windows Software Issues - - \list - - \o When building Qt 4.5.0 with Windows 7, the build fails with an error - message regarding failing to embed manifest. This a known issue with - Windows 7, explained in the Windows 7 SDK Beta - \l{http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm} - {release notes}. A workaround for this issue is to patch the - \bold{embed_manifest_exe.prf} file with the following: - - \code - diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf - index e1747f1..05f116e 100644 - --- a/mkspecs/features/win32/embed_manifest_exe.prf - +++ b/mkspecs/features/win32/embed_manifest_exe.prf - @@ -8,4 +8,9 @@ if(win32-msvc2005|win32-msvc2008):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE - QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.ma - nifest\" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(\n\t)) - QMAKE_POST_LINK += $$QMAKE_PREV_POST_LINK - QMAKE_CLEAN += \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\" - + isEmpty(RC_FILE) { - + system("echo.>$$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc") - + RC_FILE = $$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc - + } - + - } - \endcode - - \o Under certain circumstances Visual Studio Integration v1.4.0 will not - be able to install the integration for Visual Studio 2005 on Windows - Vista. An error message states that .NET Framework v2.0 Service Pack 1 - is not installed. This is due to a problem with the built-in - installation of this on Windows Vista. This issue can be fixed by - installing .NET Framework version 3.5. \o With NVIDIA GeForce 7950 GT (driver version 6.14.11.7824), a fullscreen QGLWidget flickers when child widgets are shown/hidden. The workaround @@ -133,42 +148,11 @@ \endlist - - \section2 Mac OS X Software Support + \section2 Mac OS X \list \o If a sheet is opened for a given window, clicking the title bar of that window will cause it to flash. This behavior has been reported to Apple (bug number 5827676). \endlist - - - \section2 Installing source packages on Unix systems - - \list - \o If you download a Zip source package, you will need to convert - Windows-style line endings (CR/LF) to Unix-style line-endings (LF) when - you uncompress the package. To do this, give the "-a" option when you - run the "unzip' command. - - If you fail to supply the "-a" option when unzipping the package, you - will see the following error message when you attempt to execute the - configure command: - "bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory" - \endlist - - - \section2 Running evaluation packages on Windows XP - - \list - \o If running the qt-win-eval-%VERSION%-vs2008.exe package on a Windows XP - system, you may encounter the following error message: - "The application failed to start because the application configuration - is incorrect. Reinstalling the application may fix this problem.". - - This error occurs because the version of the CRT component on the - system is incorrect. Visual Studio 2008 requires CRT90 while Windows - XP comes with CRT80. To solve this problem, please install the 2008 CRT - redistributable package from Microsoft. - \endlist */ -- cgit v0.12 From f827a3ab430de246cf6db0b12f2ad99db57e1e22 Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Fri, 9 Oct 2009 15:04:14 +0200 Subject: Fix build on Symbian: make sure sym_iap_util.h can be found. Amend commit faef2f5101287ad8ce94cf8e7a4d574a7d6267fd, with this build fix. Task-number: QTBUG-4743 Reviewed-by: Shane Kearns --- demos/embedded/anomaly/anomaly.pro | 2 +- demos/embedded/flightinfo/flightinfo.pro | 2 +- demos/embedded/lightmaps/lightmaps.pro | 2 +- demos/embedded/weatherinfo/weatherinfo.pro | 2 +- examples/network/fortuneclient/fortuneclient.pro | 2 +- examples/network/fortuneserver/fortuneserver.pro | 2 +- examples/network/network-chat/network-chat.pro | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/demos/embedded/anomaly/anomaly.pro b/demos/embedded/anomaly/anomaly.pro index 06d73fa..8f2825b 100644 --- a/demos/embedded/anomaly/anomaly.pro +++ b/demos/embedded/anomaly/anomaly.pro @@ -24,7 +24,7 @@ RESOURCES += src/anomaly.qrc symbian { TARGET.UID3 = 0xA000CF71 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h + HEADERS += $$QT_SOURCE_TREE/examples/network/qftp/sym_iap_util.h LIBS += -lesock -linsock -lconnmon TARGET.CAPABILITY = NetworkServices TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 diff --git a/demos/embedded/flightinfo/flightinfo.pro b/demos/embedded/flightinfo/flightinfo.pro index 5659fa2..0a51287 100644 --- a/demos/embedded/flightinfo/flightinfo.pro +++ b/demos/embedded/flightinfo/flightinfo.pro @@ -8,7 +8,7 @@ QT += network symbian { TARGET.UID3 = 0xA000CF74 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h + HEADERS += $$QT_SOURCE_TREE/examples/network/qftp/sym_iap_util.h LIBS += -lesock -lconnmon -linsock TARGET.CAPABILITY = NetworkServices } diff --git a/demos/embedded/lightmaps/lightmaps.pro b/demos/embedded/lightmaps/lightmaps.pro index 122865e..cc78efa 100644 --- a/demos/embedded/lightmaps/lightmaps.pro +++ b/demos/embedded/lightmaps/lightmaps.pro @@ -5,7 +5,7 @@ QT += network symbian { TARGET.UID3 = 0xA000CF75 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h + HEADERS += $$QT_SOURCE_TREE/examples/network/qftp/sym_iap_util.h LIBS += -lesock -lconnmon -linsock TARGET.CAPABILITY = NetworkServices TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 diff --git a/demos/embedded/weatherinfo/weatherinfo.pro b/demos/embedded/weatherinfo/weatherinfo.pro index 5b2f03a..54c3857 100644 --- a/demos/embedded/weatherinfo/weatherinfo.pro +++ b/demos/embedded/weatherinfo/weatherinfo.pro @@ -7,7 +7,7 @@ QT += network svg symbian { TARGET.UID3 = 0xA000CF77 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h + HEADERS += $$QT_SOURCE_TREE/examples/network/qftp/sym_iap_util.h LIBS += -lesock -lconnmon -linsock TARGET.CAPABILITY = NetworkServices } diff --git a/examples/network/fortuneclient/fortuneclient.pro b/examples/network/fortuneclient/fortuneclient.pro index d7ad9d5..c9dc39a 100644 --- a/examples/network/fortuneclient/fortuneclient.pro +++ b/examples/network/fortuneclient/fortuneclient.pro @@ -11,7 +11,7 @@ INSTALLS += target sources symbian { include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) - HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h + HEADERS += $$QT_SOURCE_TREE/examples/network/qftp/sym_iap_util.h LIBS += -lesock TARGET.CAPABILITY = "NetworkServices ReadUserData WriteUserData" TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 diff --git a/examples/network/fortuneserver/fortuneserver.pro b/examples/network/fortuneserver/fortuneserver.pro index 803c2f2..4dbc2e8 100644 --- a/examples/network/fortuneserver/fortuneserver.pro +++ b/examples/network/fortuneserver/fortuneserver.pro @@ -12,7 +12,7 @@ INSTALLS += target sources symbian { TARGET.UID3 = 0xA000CF71 include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) - HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h + HEADERS += $$QT_SOURCE_TREE/examples/network/qftp/sym_iap_util.h LIBS += -lesock TARGET.CAPABILITY = "All -TCB" TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 diff --git a/examples/network/network-chat/network-chat.pro b/examples/network/network-chat/network-chat.pro index 99e82ae..16c11e3 100644 --- a/examples/network/network-chat/network-chat.pro +++ b/examples/network/network-chat/network-chat.pro @@ -20,7 +20,7 @@ INSTALLS += target sources symbian { include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) - HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h + HEADERS += $$QT_SOURCE_TREE/examples/network/qftp/sym_iap_util.h LIBS += -lesock -lconnmon -lcharconv -linsock TARGET.CAPABILITY = "NetworkServices ReadUserData WriteUserData" TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 -- cgit v0.12 From 37253e2c1c6a8b1dede8f261fb40d8442008f6d8 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 9 Oct 2009 16:16:20 +0300 Subject: Changed several S60 references to Symbian references in docs. Reviewed-by: Janne Koskinen --- doc/src/development/qmake-manual.qdoc | 18 ++++++++---------- doc/src/getting-started/installation.qdoc | 12 ++++++------ doc/src/qt4-intro.qdoc | 2 +- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc index 87132cc..d040d3d 100644 --- a/doc/src/development/qmake-manual.qdoc +++ b/doc/src/development/qmake-manual.qdoc @@ -952,7 +952,7 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 130 - The default values depend on the version of the S60 SDK you're using. + The default values depend on the version of the Symbian SDK you're using. \section2 Compiler specific options @@ -983,8 +983,7 @@ an official UID, please contact Nokia. Both \c SID and \c VID default to empty values. For more information about unique identifiers and their meaning for - Symbian applications, please refer to the - \l{http://www.symbian.com/developer/techlib/v9.2docs/doc_source/ToolsAndUtilities/BuildTools/UsingUids.guide.html}{respective S60 SDK documentation}. + Symbian applications, please refer to the Symbian SDK documentation. \section2 Capabilities @@ -1000,8 +999,7 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 134 - For more information about capabilities, please refer to the - \l{http://www.symbian.com/developer/techlib/v9.2docs/doc_source/guide/platsecsdk/index.html}{respective S60 SDK documentation}. + For more information about capabilities, please refer to the Symbian SDK documentation. */ /*! @@ -2925,7 +2923,7 @@ For example: \e {This is only used on the Symbian platform.} Specifies which platform capabilities the application should have. For more - information, please refer to the S60 SDK documentation. + information, please refer to the Symbian SDK documentation. \target TARGET.EPOCALLOWDLLDATA \section1 TARGET.EPOCALLOWDLLDATA @@ -2961,7 +2959,7 @@ For example: \e {This is only used on the Symbian platform.} Specifies which secure identifier to use for the target application or - library. For more information, see the S60 SDK documentation. + library. For more information, see the Symbian SDK documentation. \target TARGET.UID2 \section1 TARGET.UID2 @@ -2970,7 +2968,7 @@ For example: Specifies which unique identifier 2 to use for the target application or library. If this variable is not specified, it defaults to the same value - as TARGET.UID3. For more information, see the S60 SDK documentation. + as TARGET.UID3. For more information, see the Symbian SDK documentation. \target TARGET.UID3 \section1 TARGET.UID3 @@ -2981,7 +2979,7 @@ For example: library. If this variable is not specified, a UID3 suitable for development and debugging will be generated automatically. However, applications being released should always define this variable. For more information, see the - S60 SDK documentation. + Symbian SDK documentation. \target TARGET.VID \section1 TARGET.VID @@ -2989,7 +2987,7 @@ For example: \e {This is only used on the Symbian platform.} Specifies which vendor identifier to use for the target application or - library. For more information, see the S60 SDK documentation. + library. For more information, see the Symbian SDK documentation. \section1 TARGET_EXT diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index 366a906..8269552 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -510,9 +510,9 @@ in the \l{Qt for Symbian platform Requirements} document. \o Install Qt - Run \c{qt-s60-%VERSION%.exe} and follow the instructions. + Run \c{qt-symbian-opensource-%VERSION%.exe} and follow the instructions. - \note Qt must be installed on the same drive as the S60 SDK you are + \note Qt must be installed on the same drive as the Symbian SDK you are using, and the install path must not contain any spaces. \o Running Qt demos @@ -567,7 +567,7 @@ If you are using pre-built binaries, follow the instructions Uncompress the package into the directory you want Qt installed, e.g. \c{C:\Qt\%VERSION%}. - \note Qt must be installed on the same drive as the S60 SDK you are + \note Qt must be installed on the same drive as the Symbian SDK you are using, and the install path must not contain any spaces. \o Environment variables @@ -582,7 +582,7 @@ If you are using pre-built binaries, follow the instructions On Windows the PATH can be extended by navigating to "Control Panel->System->Advanced->Environment variables". - In addition, you must configure the environment for use with the S60 + In addition, you must configure the environment for use with the Symbian emulator. This is done by locating the Carbide.c++ submenu on the Start menu, and choosing "Configure environment for WINSCW command line". @@ -972,13 +972,13 @@ Symbian platform, see \l{Symbian platform - Introduction to using Qt}. \endlist \o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/S60SDK/}{S60 Platform SDK 3rd Edition FP1 or higher} \o \l{http://www.forum.nokia.com/main/resources/technologies/openc_cpp/}{Open C/C++ v1.6.0 or higher}. - Install this to all S60 SDKs you plan to use Qt with. + Install this to all Symbian SDKs you plan to use Qt with. \o Building Qt libraries requires \l{http://www.arm.com/products/DevTools/RVCT.html}{RVCT} 2.2 [build 686] or later, which is not available free of charge. \endlist Running Qt on real device requires the following packages to be installed on your device. - The packages can be found in the S60 SDK where you installed Open C/C++: + The packages can be found in the Symbian SDK where you installed Open C/C++: \list \o \c{nokia_plugin\openc\s60opencsis\pips_s60_.sis} \o \c{nokia_plugin\openc\s60opencsis\openc_ssl_s60_.sis} diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index 38f346f..a946540 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -488,7 +488,7 @@ Qt 4.6 is the first release to include support for the Symbian platform, with integration into the S60 framework. The port to Symbian and S60 provides all functionality required to develop - rich end-user applications for devices running Symbian 3.1 and + rich end-user applications for devices running S60 3.1 and later. \section1 Animation Framework -- cgit v0.12 From 07456fc966504c18465d80b988038b009349a0fa Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 9 Oct 2009 16:24:55 +0300 Subject: Fixed documentation links in README.s60 Task-number: QTBUG-4806 Reviewed-by: Janne Koskinen --- README.s60 | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.s60 b/README.s60 index f9d7aaf..2137135 100644 --- a/README.s60 +++ b/README.s60 @@ -5,16 +5,16 @@ this pre-release you can make advanced graphical applications and utilize TCP/IP connections. More specifically, these modules are now available for S60: -QtCore - http://doc.trolltech.com/4.6/qtcore.html -QtGui - http://doc.trolltech.com/4.6/qtgui.html -QtNetwork - http://doc.trolltech.com/4.6/qtnetwork.html -QtScript - http://doc.trolltech.com/4.6/qtscript.html -QtSql - http://doc.trolltech.com/4.6/qtsql.html -QtSvg - http://doc.trolltech.com/4.6/qtsvg.html -QtTest - http://doc.trolltech.com/4.6/qttest.html -QtWebKit - http://doc.trolltech.com/4.6/qtwebkit.html -QtXml - http://doc.trolltech.com/4.6/qtxml.html -Phonon - http://doc.trolltech.com/4.6/phonon-module.html +QtCore - http://doc.trolltech.com/4.6-snapshot/qtcore.html +QtGui - http://doc.trolltech.com/4.6-snapshot/qtgui.html +QtNetwork - http://doc.trolltech.com/4.6-snapshot/qtnetwork.html +QtScript - http://doc.trolltech.com/4.6-snapshot/qtscript.html +QtSql - http://doc.trolltech.com/4.6-snapshot/qtsql.html +QtSvg - http://doc.trolltech.com/4.6-snapshot/qtsvg.html +QtTest - http://doc.trolltech.com/4.6-snapshot/qttest.html +QtWebKit - http://doc.trolltech.com/4.6-snapshot/qtwebkit.html +QtXml - http://doc.trolltech.com/4.6-snapshot/qtxml.html +Phonon - http://doc.trolltech.com/4.6-snapshot/phonon-module.html INSTALLING Qt @@ -23,7 +23,7 @@ Follow the instructions in the INSTALL file. REFERENCE DOCUMENTATION The Qt reference documentation is available locally in Qt's doc/html -directory or at http://doc.trolltech.com/4.6/index.html +directory or at http://doc.trolltech.com/4.6-snapshot/index.html SUPPORTED PLATFORMS -- cgit v0.12 From b81f1099d84d9be5c99905b506ab86d477cd625b Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Fri, 9 Oct 2009 16:37:43 +0200 Subject: Fix an auto-test regression. Here lot of views were floating around and the processEvent was not called in the right place. Reviewed-by:ogoffart --- .../tst_qgraphicsproxywidget.cpp | 30 +++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp index d8d97e8..d016461 100644 --- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp +++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp @@ -1757,6 +1757,8 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleWidget() QTRY_VERIFY(leftDial->hasFocus()); QCOMPARE(eventSpy.counts[QEvent::FocusIn], 2); QCOMPARE(eventSpy.counts[QEvent::FocusOut], 2); + + delete view; } void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() @@ -1879,6 +1881,8 @@ void tst_QGraphicsProxyWidget::tabFocus_simpleTwoWidgets() QVERIFY(leftDial->hasFocus()); QCOMPARE(eventSpy.counts[QEvent::FocusIn], 2); QCOMPARE(eventSpy.counts[QEvent::FocusOut], 2); + + delete view; } void tst_QGraphicsProxyWidget::tabFocus_complexWidget() @@ -1989,6 +1993,8 @@ void tst_QGraphicsProxyWidget::tabFocus_complexWidget() QApplication::processEvents(); QVERIFY(!box->hasFocus()); leftDial->hasFocus(); + + delete view; } void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() @@ -2157,6 +2163,8 @@ void tst_QGraphicsProxyWidget::tabFocus_complexTwoWidgets() QApplication::processEvents(); QVERIFY(!box->hasFocus()); leftDial->hasFocus(); + + delete view; } void tst_QGraphicsProxyWidget::setFocus_simpleWidget() @@ -2223,6 +2231,8 @@ void tst_QGraphicsProxyWidget::setFocus_simpleWidget() // Symmetry editProxy->clearFocus(); QVERIFY(!edit->hasFocus()); + + delete view; } void tst_QGraphicsProxyWidget::setFocus_simpleTwoWidgets() @@ -2273,6 +2283,8 @@ void tst_QGraphicsProxyWidget::setFocus_simpleTwoWidgets() QVERIFY(!editProxy->hasFocus()); QVERIFY(edit2->hasFocus()); QVERIFY(edit2Proxy->hasFocus()); + + delete view; } void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets() @@ -2392,6 +2404,8 @@ void tst_QGraphicsProxyWidget::setFocus_complexTwoWidgets() QCOMPARE(eventSpyBox.counts[QEvent::FocusOut], 1); QCOMPARE(eventSpyBox_2.counts[QEvent::FocusIn], 0); QCOMPARE(eventSpyBox_2.counts[QEvent::FocusOut], 0); + + delete view; } void tst_QGraphicsProxyWidget::popup_basic() @@ -2897,6 +2911,9 @@ void tst_QGraphicsProxyWidget::dontCrashWhenDie() QTest::qWait(100); QTest::mouseMove(w->view->viewport(), w->view->mapFromScene(w->widget->mapToScene(w->widget->boundingRect().center()))); delete w->item; + + QApplication::processEvents(); + delete w; } void tst_QGraphicsProxyWidget::createProxyForChildWidget() @@ -3040,23 +3057,24 @@ void tst_QGraphicsProxyWidget::actionsContextMenu() } QGraphicsScene scene; + QGraphicsView view(&scene); + view.show(); + QTest::qWaitForWindowShown(&view); + view.setFocus(); + if (hasFocus) scene.addWidget(widget)->setFocus(); else scene.addWidget(widget)->clearFocus(); - QGraphicsView view(&scene); - view.show(); - QTest::qWaitForWindowShown(&view); - view.setFocus(); + QApplication::processEvents(); + QContextMenuEvent contextMenuEvent(QContextMenuEvent::Mouse, view.viewport()->rect().center(), view.viewport()->mapToGlobal(view.viewport()->rect().center())); contextMenuEvent.accept(); qApp->sendEvent(view.viewport(), &contextMenuEvent); - QApplication::processEvents(); - if (hasFocus) { if (actionsContextMenu) { //actionsContextMenu embedded popup but no contextMenuEvent (widget has focus) -- cgit v0.12 From 1dca51a0b38ecc017b548d462139be15ceca6f5d Mon Sep 17 00:00:00 2001 From: ninerider Date: Fri, 9 Oct 2009 16:54:36 +0200 Subject: For this test to work you need to enable autoSip on Windows Mobile Test fixed to send the correct signal type on windows ce. Reviewed-by: Marco --- tests/auto/qinputcontext/tst_qinputcontext.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/qinputcontext/tst_qinputcontext.cpp b/tests/auto/qinputcontext/tst_qinputcontext.cpp index c3c3db4..a1c4ef7 100644 --- a/tests/auto/qinputcontext/tst_qinputcontext.cpp +++ b/tests/auto/qinputcontext/tst_qinputcontext.cpp @@ -129,6 +129,9 @@ public: RequestSoftwareInputPanelStyle() : m_rsipBehavior(RSIP_OnMouseClickAndAlreadyFocused) { +#ifdef Q_OS_WINCE + qApp->setAutoSipEnabled(true); +#endif } ~RequestSoftwareInputPanelStyle() { -- cgit v0.12 From 30bd59a1dec78e3b8bb9bbbc4f129663efa169a6 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Fri, 9 Oct 2009 16:59:43 +0200 Subject: Fix printing bitmap fonts on X11 with FontConfig enabled When FontConfig was enabled, bitmap fonts would often get a different pixel size than the one we requested. Usually the size would only be a pixel off, but this was especially visible when printing in highres with bitmap fonts, because in those cases we would request a pixel size which was computed based on the printer's high dpi. The result was that all printed text with bitmap fonts would be really really tiny. The fix falls back to using the XLFD font engine when using bitmap fonts (when the returned pixel size is different from the requested), because this engine scales the fonts for us. This will cause bitmap fonts to be rendered without antialiasing. Task-number: QTBUG-3620 Reviewed-by: Simon Hausmann --- src/gui/text/qfontdatabase.cpp | 6 +++--- src/gui/text/qfontdatabase_x11.cpp | 26 ++++++++++++++++++-------- src/gui/text/qfontengine_x11.cpp | 3 +++ 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index 0aed71a..d0f4d2e 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -949,7 +949,7 @@ struct QtFontDesc #if !defined(Q_WS_MAC) static void match(int script, const QFontDef &request, const QString &family_name, const QString &foundry_name, int force_encoding_id, - QtFontDesc *desc, const QList &blacklistedFamilies = QList()); + QtFontDesc *desc, const QList &blacklistedFamilies = QList(), bool forceXLFD=false); #if defined(Q_WS_X11) || defined(Q_WS_QWS) static void initFontDef(const QtFontDesc &desc, const QFontDef &request, QFontDef *fontDef) @@ -1316,7 +1316,7 @@ unsigned int bestFoundry(int script, unsigned int score, int styleStrategy, */ static void match(int script, const QFontDef &request, const QString &family_name, const QString &foundry_name, int force_encoding_id, - QtFontDesc *desc, const QList &blacklistedFamilies) + QtFontDesc *desc, const QList &blacklistedFamilies, bool forceXLFD) { Q_UNUSED(force_encoding_id); @@ -1351,7 +1351,7 @@ static void match(int script, const QFontDef &request, unsigned int score = ~0u; - load(family_name, script); + load(family_name, script, forceXLFD); QFontDatabasePrivate *db = privateDb(); for (int x = 0; x < db->count; ++x) { diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp index ae93f90..382c4fe 100644 --- a/src/gui/text/qfontdatabase_x11.cpp +++ b/src/gui/text/qfontdatabase_x11.cpp @@ -1204,9 +1204,9 @@ static void loadFontConfig() static void initializeDb(); -static void load(const QString &family = QString(), int script = -1) +static void load(const QString &family = QString(), int script = -1, bool forceXLFD = false) { - if (X11->has_fontconfig) { + if (X11->has_fontconfig && !forceXLFD) { initializeDb(); return; } @@ -1784,7 +1784,7 @@ QFontEngine *QFontDatabase::loadXlfd(int screen, int script, const QFontDef &req QString family, foundry; QT_PREPEND_NAMESPACE(parseFontName)(families_and_foundries.at(i), foundry, family); FM_DEBUG("loadXlfd: >>>>>>>>>>>>>>trying to match '%s' encoding=%d", family.toLatin1().data(), force_encoding_id); - QT_PREPEND_NAMESPACE(match)(script, request, family, foundry, force_encoding_id, &desc); + QT_PREPEND_NAMESPACE(match)(script, request, family, foundry, force_encoding_id, &desc, QList(), true); if (desc.family) break; } @@ -1847,23 +1847,26 @@ QFontEngine *QFontDatabase::loadXlfd(int screen, int script, const QFontDef &req } } else { QList encodings; - if (desc.encoding) - encodings.append(int(desc.encoding->encoding)); + if (desc.encoding) { + if (desc.encoding->encoding >= 0) + encodings.append(int(desc.encoding->encoding)); + } if (desc.size) { // append all other encodings for the matched font for (int i = 0; i < desc.size->count; ++i) { QtFontEncoding *e = desc.size->encodings + i; - if (e == desc.encoding) - continue; + if (e == desc.encoding || e->encoding < 0) + continue; encodings.append(int(e->encoding)); } } // fill in the missing encodings const XlfdEncoding *enc = xlfd_encoding; for (; enc->name; ++enc) { - if (!encodings.contains(enc->id)) + if (!encodings.contains(enc->id) && enc->id >= 0) { encodings.append(enc->id); + } } #if defined(FONT_MATCH_DEBUG) @@ -1925,6 +1928,13 @@ void QFontDatabase::load(const QFontPrivate *d, int script) #ifndef QT_NO_FONTCONFIG } else if (X11->has_fontconfig) { fe = loadFc(d, script, req); + + if (fe != 0 && fe->fontDef.pixelSize != req.pixelSize) { + delete fe; + fe = loadXlfd(d->screen, script, req); + } + + #endif } else if (mainThread) { fe = loadXlfd(d->screen, script, req); diff --git a/src/gui/text/qfontengine_x11.cpp b/src/gui/text/qfontengine_x11.cpp index 5ea4554..ffc0eb4 100644 --- a/src/gui/text/qfontengine_x11.cpp +++ b/src/gui/text/qfontengine_x11.cpp @@ -488,6 +488,7 @@ glyph_metrics_t QFontEngineXLFD::boundingBox(const QGlyphLayout &glyphs) QFixed y = overall.yoff + glyphs.offsets[i].y - xcs->ascent; overall.x = qMin(overall.x, x); overall.y = qMin(overall.y, y); + // XCharStruct::rbearing is defined as distance from left edge to rightmost pixel xmax = qMax(xmax, overall.xoff + glyphs.offsets[i].x + xcs->rbearing); ymax = qMax(ymax, y + xcs->ascent + xcs->descent); overall.xoff += glyphs.advances_x[i]; @@ -511,6 +512,8 @@ glyph_metrics_t QFontEngineXLFD::boundingBox(glyph_t glyph) glyph_metrics_t gm; XCharStruct *xcs = charStruct(_fs, glyph); if (xcs) { + // XCharStruct::rbearing is defined as distance from left edge to rightmost pixel + // XCharStruct::width is defined as the advance gm = glyph_metrics_t(xcs->lbearing, -xcs->ascent, xcs->rbearing- xcs->lbearing, xcs->ascent + xcs->descent, xcs->width, 0); } else { -- cgit v0.12 From 2876de7746cacd32d7a3e5e479ccbfd8a1ec1480 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Thu, 8 Oct 2009 12:26:29 +0200 Subject: Changing S60 to Symbian in the Docs Changing names to Symbian platform Task-number: QT-2268 Rev-by: Espen Riskedal (cherry picked from commit dac817b8d3bbcfcad34295f134dfafbf0a26c23f) --- doc/src/development/qmake-manual.qdoc | 87 ++++++++++++++++--------------- doc/src/getting-started/installation.qdoc | 48 +++++++++-------- doc/src/howtos/appicon.qdoc | 4 +- doc/src/platforms/qt-embedded.qdoc | 7 +-- doc/src/platforms/s60-introduction.qdoc | 27 +++++----- 5 files changed, 91 insertions(+), 82 deletions(-) diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc index f2cae5b..87132cc 100644 --- a/doc/src/development/qmake-manual.qdoc +++ b/doc/src/development/qmake-manual.qdoc @@ -920,7 +920,7 @@ {deployment guide for Windows}. - \section1 S60 + \section1 Symbian platform Features specific to this platform include handling of static data, capabilities, stack and heap size, compiler specific options, and unique @@ -940,7 +940,7 @@ \section2 Stack and heap size - Symbian uses predefined sizes for stacks and heaps. If an + The Symbian platform uses predefined sizes for stacks and heaps. If an application exceeds either limit, it may crash or fail to complete its task. Crashes that seem to have no reason can often be traced back to insufficient stack and/or heap sizes. @@ -1095,7 +1095,7 @@ \target BLD_INF_RULES \section1 BLD_INF_RULES - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Generic \c bld.inf file content can be specified with \c BLD_INF_RULES variables. The section of \c bld.inf file where each rule goes is appended to @@ -1288,7 +1288,7 @@ The build process for bundles is also influenced by the contents of the \l{#QMAKE_BUNDLE_DATA}{QMAKE_BUNDLE_DATA} variable. - These options only have an effect on Symbian: + These options only have an effect on the Symbian platform: \table 95% \header \o Option \o Description @@ -1345,7 +1345,7 @@ \target DEPLOYMENT \section1 DEPLOYMENT - \e {This is only used on Windows CE and Symbian.} + \e {This is only used on Windows CE and the Symbian platform.} Specifies which additional files will be deployed. Deployment means the transfer of files from the development system to the target device or @@ -1363,8 +1363,8 @@ The default deployment target path for Windows CE is \c{%CSIDL_PROGRAM_FILES%\target}, which usually gets expanded to - \c{\Program Files\target}. For Symbian, the default target is the application - private directory on the drive it is installed to. + \c{\Program Files\target}. For the Symbian platform, the default target +is the application private directory on the drive it is installed to. It is also possible to specify multiple \c sources to be deployed on target \c paths. In addition, different variables can be used for @@ -1375,10 +1375,10 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 29 \note In Windows CE all linked Qt libraries will be deployed to the path - specified by \c{myFiles.path}. In Symbian all libraries and executables + specified by \c{myFiles.path}. On Symbian platform all libraries and executables will always be deployed to the \\sys\\bin of the installation drive. - Since the Symbian build system automatically moves binaries to certain + Since the Symbian platform build system automatically moves binaries to certain directories under the epoc32 directory, custom plugins, executables or dynamically loadable libraries need special handling. When deploying extra executables or dynamically loadable libraries, the target path @@ -1393,13 +1393,13 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 128 - In Symbian, generic PKG file content can also be specified with this + On the Symbian platform, generic PKG file content can also be specified with this variable. You can use either \c pkg_prerules or \c pkg_postrules to pass raw data to PKG file. The strings in \c pkg_prerules are added before package-body and \c pkg_postrules after. The strings defined in \c pkg_postrules or \c pkg_prerules are not parsed by qmake, so they should be in a format understood by Symbian package generation tools. - Please consult Symbian documentation for correct syntax. + Please consult the Symbian platform documentation for correct syntax. For example, to deploy DLL and add a new dependency: @@ -1424,7 +1424,7 @@ override languages statement, you must override also package-header statement and all other statements which are language specific. - In Symbian, the \c default_deployment item specifies + On the Symbian platform, the \c default_deployment item specifies default platform dependencies. It can be overwritten if a more restrictive set is needed - e.g. if a specific device is required to run the application. @@ -1436,7 +1436,7 @@ \target DEPLOYMENT_PLUGIN \section1 DEPLOYMENT_PLUGIN - \e {This is only used on Windows CE and Symbian.} + \e {This is only used on Windows CE and the Symbian platform.} This variable specifies the Qt plugins that will be deployed. All plugins available in Qt can be explicitly deployed to the device. See @@ -1446,9 +1446,9 @@ If the application depends on plugins, these plugins have to be specified manually. - \note In Symbian, all plugins supported by this variable will be deployed - by default with Qt libraries, so generally using this variable is not - needed. + \note On the Symbian platform, all plugins supported by this variable +will be deployed by default with Qt libraries, so generally using this +variable is not needed. For example: @@ -1556,7 +1556,7 @@ \target ICON \section1 ICON - This variable is used only in MAC and S60 to set the application icon. + This variable is used only in MAC and the Symbian platform to set the application icon. Please see \l{Setting the Application Icon}{the application icon documentation} for more information. @@ -1623,10 +1623,10 @@ This variable contains a list of libraries to be linked into the project. You can use the Unix \c -l (library) and -L (library path) flags and qmake - will do the correct thing with these libraries on Windows and Symbian - (namely this means passing the full path of the library to the linker). The - only limitation to this is the library must exist, for qmake to find which - directory a \c -l lib lives in. + will do the correct thing with these libraries on Windows and the + Symbian platform (namely this means passing the full path of the library to + the linker). The only limitation to this is the library must exist, for + qmake to find which directory a \c -l lib lives in. For example: @@ -1647,7 +1647,8 @@ explicitly specify the library to be used by including the \c{.lib} file name suffix. - \bold{Note:} On S60, the build system makes a distinction between shared and + \bold{Note:} On the Symbian platform, the build system makes a +distinction between shared and static libraries. In most cases, qmake will figure out which library you are refering to, but in some cases you may have to specify it explicitly to get the expected behavior. This typically happens if you are building a @@ -1693,7 +1694,7 @@ \target MMP_RULES \section1 MMP_RULES - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Generic MMP file content can be specified with this variable. @@ -2013,8 +2014,9 @@ the \c QMAKE_CXXFLAGS_DEBUG and \c QMAKE_CXXFLAGS_RELEASE variables, respectively. - \bold{Note:} On S60, this variable can be used to pass architecture specific - options to each compiler in the Symbian build system. For example: + \bold{Note:} On the Symbian platform, this variable can be used to pass +architecture specific options to each compiler in the Symbian build system. +For example: \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 131 @@ -2812,7 +2814,7 @@ \target RSS_RULES \section1 RSS_RULES - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Generic RSS file content can be specified with this variable. The syntax is similar to \c MMP_RULES and \c BLD_INF_RULES. @@ -2832,10 +2834,12 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 145 - This example will install the application to MyFolder in S60 application - shell. In addition it will make the application to be launched in background. + This example will install the application to MyFolder in the Symbian + platform application shell. In addition it will make the application to + be launched in background. - For detailed list of possible RSS statements, please refer to Symbian OS help. + For detailed list of possible RSS statements, please refer to the + Symbian platform help. \note You should not use \c RSS_RULES variable to set the following RSS statements: @@ -2848,7 +2852,7 @@ \target S60_VERSION \section1 S60_VERSION - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Contains the version number of the underlying S60 SDK; e.g. "5.0". @@ -2918,7 +2922,7 @@ \target TARGET.CAPABILITY \section1 TARGET.CAPABILITY - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which platform capabilities the application should have. For more information, please refer to the S60 SDK documentation. @@ -2926,7 +2930,7 @@ \target TARGET.EPOCALLOWDLLDATA \section1 TARGET.EPOCALLOWDLLDATA - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies whether static data should be allowed in the application. Symbian disallows this by default in order to save memory. To use it, set this to 1. @@ -2934,7 +2938,7 @@ \target TARGET.EPOCHEAPSIZE \section1 TARGET.EPOCHEAPSIZE - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies the minimum and maximum heap size of the application. The program will refuse to run if the minimum size is not available when it starts. For @@ -2945,7 +2949,7 @@ \target TARGET.EPOCSTACKSIZE \section1 TARGET.EPOCSTACKSIZE - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies the maximum stack size of the application. For example: @@ -2954,7 +2958,7 @@ \target TARGET.SID \section1 TARGET.SID - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which secure identifier to use for the target application or library. For more information, see the S60 SDK documentation. @@ -2962,7 +2966,7 @@ \target TARGET.UID2 \section1 TARGET.UID2 - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which unique identifier 2 to use for the target application or library. If this variable is not specified, it defaults to the same value @@ -2971,7 +2975,7 @@ \target TARGET.UID3 \section1 TARGET.UID3 - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which unique identifier 3 to use for the target application or library. If this variable is not specified, a UID3 suitable for development @@ -2982,7 +2986,7 @@ \target TARGET.VID \section1 TARGET.VID - \e {This is only used on Symbian.} + \e {This is only used on the Symbian platform.} Specifies which vendor identifier to use for the target application or library. For more information, see the S60 SDK documentation. @@ -3862,9 +3866,10 @@ \o Indicates that the output should not be added to the list of objects to be linked in. \endtable - \note Symbian specific: Generating objects to be linked in is not supported in Symbian, - so either the \c CONFIG option \c no_link or variable \c variable_out - should always be defined for extra compilers. + \note Symbian platform specific: Generating objects to be linked in is + not supported on the Symbian platform, so either the \c CONFIG option + \c no_link or variable \c variable_out should always be defined for + extra compilers. */ diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index 2ace8de..366a906 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -497,14 +497,14 @@ in the \l{Qt for Windows CE Requirements} document. We hope you will enjoy using Qt. Good luck! */ -/*! \page install-S60-installer.html +/*! \page install-Symbian-installer.html -\title Installing Qt on S60 using binary package +\title Installing Qt on the Symbian platform using binary package \ingroup qts60 -\brief How to install Qt on S60 using the binary package. +\brief How to install Qt on the Symbian platform using the binary package. -\note Qt for S60 has some requirements that are given in more detail -in the \l{Qt for S60 Requirements} document. +\note Qt for Symbian platform has some requirements that are given in more detail +in the \l{Qt for Symbian platform Requirements} document. \list 1 @@ -527,7 +527,7 @@ in the \l{Qt for S60 Requirements} document. and follow the instructions. To run the demos and examples on the emulator, you need to build them first. - Open the "Qt for S60 Command Prompt" from the Start menu and type: + Open the "Qt for Symbian platform Command Prompt" from the Start menu and type: \snippet doc/src/snippets/code/doc_src_installation.qdoc 25 @@ -536,27 +536,29 @@ in the \l{Qt for S60 Requirements} document. \snippet doc/src/snippets/code/doc_src_installation.qdoc 27 - For more information about building and running Qt programs on S60, - see \l{S60 - Introduction to using Qt}. + For more information about building and running Qt programs on the +Symbian platform, + see \l{Symbian platform - Introduction to using Qt}. We hope you will enjoy using Qt. \endlist */ -/*! \page install-S60.html +/*! \page install-Symbian.html -\title Installing Qt on S60 +\title Installing Qt on the Symbian platform \ingroup installation \ingroup qts60 -\brief How to install Qt on S60 +\brief How to install Qt for the Symbian platform -\note Qt for S60 has some requirements that are given in more detail -in the \l{Qt for S60 Requirements} document. +\note Qt for the Symbian platform has some requirements that are given in more detail +in the \l{Qt for Symbian platform Requirements} document. -\note \bold {This document describes how to install and configure Qt for S60 from scratch. +\note \bold {This document describes how to install and configure Qt for +the Symbian platform from scratch. If you are using pre-built binaries, follow the instructions -\l{Installing Qt on S60 using binary package}{here}.} +\l{Installing Qt on the Symbian platform using binary package}{here}.} \list 1 @@ -586,7 +588,7 @@ If you are using pre-built binaries, follow the instructions \o Configure Qt - To configure Qt for S60, do: + To configure Qt for the Symbian platform, do: \snippet doc/src/snippets/code/doc_src_installation.qdoc 23 to build the tools using MinGW, and the libraries using abld. @@ -633,8 +635,8 @@ If you are using pre-built binaries, follow the instructions \snippet doc/src/snippets/code/doc_src_installation.qdoc 27 - For more information about building and running Qt programs on S60, - see \l{S60 - Introduction to using Qt}. + For more information about building and running Qt programs on the +Symbian platform, see \l{Symbian platform - Introduction to using Qt}. We hope you will enjoy using Qt. @@ -669,7 +671,7 @@ If you are using pre-built binaries, follow the instructions \list \o \l{Qt for Embedded Linux Requirements} \o \l{Qt for Mac OS X Requirements} - \o \l{Qt for S60 Requirements} + \o \l{Qt for Symbian platform Requirements} \o \l{Qt for Windows CE Requirements} \o \l{Qt for Windows Requirements} \o \l{Qt for X11 Requirements} @@ -953,13 +955,13 @@ If you are using pre-built binaries, follow the instructions */ /*! - \page requirements-s60.html - \title Qt for S60 Requirements + \page requirements-symbian.html + \title Qt for Symbian platform Requirements \ingroup installation - \brief Setting up the S60 environment for Qt. + \brief Setting up the Symbian platform environment for Qt. \previouspage General Qt Requirements - Qt for S60 requires the following software installed on your development PC: + Qt for Symbian platform requires the following software installed on your development PC: \list \o \l{http://www.mingw.org/}{MinGW 3.4.5 or higher}, or another windows compiler to build the tools. \o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/}{Carbide.c++ v2.0.0 or higher} diff --git a/doc/src/howtos/appicon.qdoc b/doc/src/howtos/appicon.qdoc index ece2dcf..4108c11 100644 --- a/doc/src/howtos/appicon.qdoc +++ b/doc/src/howtos/appicon.qdoc @@ -213,9 +213,9 @@ The GNOME developer website is at \l{http://developer.gnome.org/}. - \section1 Setting the Application Icon on S60 platforms + \section1 Setting the Application Icon on the Symbian platform - In order to set the application icon for S60 applications, you need + In order to set the application icon for Symbian platform applications, you need an SVG-T icon. For information on how to create SVG-T compliant icons, please refer to \l{http://wiki.forum.nokia.com/index.php/How_to_create_application_icon(SVG)_in_S60_3rd_edition/} diff --git a/doc/src/platforms/qt-embedded.qdoc b/doc/src/platforms/qt-embedded.qdoc index 0b2c2ac..c39a967 100644 --- a/doc/src/platforms/qt-embedded.qdoc +++ b/doc/src/platforms/qt-embedded.qdoc @@ -54,7 +54,7 @@ Currently, three embedded platforms are supported by Qt: \table 90% - \header \o Embedded Linux \o Windows CE \o S60 + \header \o Embedded Linux \o Windows CE \o Symbian platform \row \o \l{Qt for Embedded Linux} is designed to be used on Linux devices without X11 or existing graphical environments. This flavor of @@ -67,8 +67,9 @@ Applications use the appropriate style for the embedded environment and use native features, such as menus, to conform to the native style guidelines. - \o \l{S60 - Introduction to using Qt}{Qt for S60} is used to create - applications running in existing S60 environments. + \o \l{Symbian platform - Introduction to using Qt}{Qt for the Symbian +platform} is used to create + applications running in existing Symbian platform environments. Applications use the appropriate style for the embedded environment and use native features, such as menus, to conform to the native style guidelines. diff --git a/doc/src/platforms/s60-introduction.qdoc b/doc/src/platforms/s60-introduction.qdoc index 086ee52..d145a82 100644 --- a/doc/src/platforms/s60-introduction.qdoc +++ b/doc/src/platforms/s60-introduction.qdoc @@ -40,10 +40,10 @@ ****************************************************************************/ /*! - \page s60-with-qt-introduction.html + \page symbian-with-qt-introduction.html - \title S60 - Introduction to using Qt - \brief An introduction to Qt for S60 developers. + \title Symbian platform - Introduction to using Qt + \brief An introduction to Qt for Symbian platform developers. \ingroup howto \ingroup qts60 @@ -51,21 +51,22 @@ \section1 Required tools - See \l{Qt for S60 Requirements} to see what tools are required to use Qt for S60. + See \l{Qt for Symbian platform Requirements} to see what tools are +required to use Qt for Symbian platform. \section1 Installing Qt and running demos - Follow the instructions found in \l{Installing Qt on S60 using binary package} to learn how + Follow the instructions found in \l{Installing Qt on the Symbian platform using binary package} to learn how to install Qt using binary package and how to build and run Qt demos. - Follow the instructions found in \l{Installing Qt on S60} to learn how to install Qt using + Follow the instructions found in \l{Installing Qt on the Symbian platform} to learn how to install Qt using using source package and how to build and run the Qt demos. \section1 Building your own applications If you are new to Qt development, have a look at \l{How to Learn Qt}. In general, the difference between developing a - Qt application on S60 compared to any of the other platforms supported + Qt application on the Symbian platform compared to any of the other platforms supported by Qt is not that big. Once you have crated a \c .pro file for your project, generate the @@ -76,10 +77,10 @@ For more information on how to use qmake have a look at the \l {qmake Tutorial}. - Now you can build the Qt on S60 application with standard build - tools. By default, running \c make will produce binaries for the - emulator. However, S60 comes with several alternative build targets, - as shown in the table below: + Now you can build the Qt for the Symbian platform application with +standard build tools. By default, running \c make will produce binaries for +the emulator. However, the Symbian platform comes with several alternative +build targets, as shown in the table below: \table \row \o \c debug-winscw \o Build debug binaries for the emulator (default). @@ -121,8 +122,8 @@ \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. -i, install the package right away using PC suite. -c=, read certificate information from a file. - Execute \c{createpackage.pl} script without any - parameters for more information about options. + Execute \c{perl createpackage.pl} for more information + about options. By default no otions are given. \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. Accepted values are build targets listed in -- cgit v0.12 From 3a7e4bc692d5d470645f16d5064b19895f4d8674 Mon Sep 17 00:00:00 2001 From: Morten Engvoldsen Date: Thu, 8 Oct 2009 12:27:37 +0200 Subject: Changing S60 to Symbian in the Docs Changing names to Symbian platform Task-number: QT-2268 Rev-by: Espen Riskedal (cherry picked from commit 7d75f1427f80df87b728baa8c7f63f7a7762d280) --- doc/src/images/qt-embedded-architecture.png | Bin 22388 -> 8511 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/src/images/qt-embedded-architecture.png b/doc/src/images/qt-embedded-architecture.png index d3f8edc..20b3e7f 100644 Binary files a/doc/src/images/qt-embedded-architecture.png and b/doc/src/images/qt-embedded-architecture.png differ -- cgit v0.12 From 9b70924fe2ff5b4bc7246c46a9e3af764bb8bbc8 Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Fri, 9 Oct 2009 16:55:30 +0200 Subject: Update lastTick on all timerTicks in QAbstractAnimation This is needed in case we change consistentTime while the animation is running. Reviewed-by: thierry --- src/corelib/animation/qabstractanimation.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp index 9e50784..c775a00 100644 --- a/src/corelib/animation/qabstractanimation.cpp +++ b/src/corelib/animation/qabstractanimation.cpp @@ -207,14 +207,10 @@ void QUnifiedTimer::ensureTimerUpdate(QAbstractAnimation *animation) void QUnifiedTimer::updateAnimationsTime() { - // this is simply the time we last received a tick - const int oldLastTick = lastTick; // ignore consistentTiming in case the pause timer is active - if (consistentTiming && !isPauseTimerActive) - lastTick = oldLastTick + timingInterval; - else - lastTick = time.elapsed(); - const int delta = lastTick - oldLastTick; + const int delta = (consistentTiming && !isPauseTimerActive) ? + timingInterval : time.elapsed() - lastTick; + lastTick = time.elapsed(); //we make sure we only call update time if the time has actually changed //it might happen in some cases that the time doesn't change because events are delayed @@ -293,6 +289,7 @@ void QUnifiedTimer::unregisterAnimation(QAbstractAnimation *animation) // this is needed if we unregister an animation while its running if (idx <= currentAnimationIdx) --currentAnimationIdx; + if (animations.isEmpty()) startStopAnimationTimer.start(STARTSTOP_TIMER_DELAY, this); } else { -- cgit v0.12 From 79bbdba36c647726cd484350270e61453f3ef374 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 9 Oct 2009 15:11:26 +0300 Subject: Fixed miscellaneous minor problems with Symbian docs. Reviewed-by: Espen Riskedal (cherry picked from commit d66df793b88f9ba924a1fefcec325d7c04af3ac3) --- doc/src/howtos/exceptionsafety.qdoc | 8 ++++---- doc/src/platforms/platform-notes.qdoc | 4 +++- doc/src/platforms/s60-introduction.qdoc | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/doc/src/howtos/exceptionsafety.qdoc b/doc/src/howtos/exceptionsafety.qdoc index 23bedf5..fa1427b 100644 --- a/doc/src/howtos/exceptionsafety.qdoc +++ b/doc/src/howtos/exceptionsafety.qdoc @@ -144,12 +144,12 @@ \section1 Platform-Specific Exception Handling - \section2 Symbian (Qt for S60) + \section2 The Symbian platform The Symbian platform implements its own exception system that differs from the standard - C++ mechanism. When using Qt for S60, and especially when writing code to access Symbian - functionality directly, it may be necessary to know about the underlying implementation - and how it interacts with Qt. + C++ mechanism. When using Qt for Symbian platform, and especially when writing code to + access Symbian functionality directly, it may be necessary to know about the underlying + implementation and how it interacts with Qt. The \l{Exception Safety with Symbian} document shows how to use the facilities provided by Qt to use exceptions as safely as possible. diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index 5be66f8..9896b08 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -67,6 +67,8 @@ \tableofcontents{1 Platform Notes - Windows} \o \l{Platform Notes - Mac OS X} \tableofcontents{1 Platform Notes - Mac OS X} + \o \l{Platform Notes - Symbian} + \tableofcontents{1 Platform Notes - Symbian} \o \l{Platform Notes - Embedded Linux} \tableofcontents{1 Platform Notes - Embedded Linux} \o \l{Platform Notes - Windows CE} @@ -409,7 +411,7 @@ to run on. More information about the combinations of platforms and compilers supported by Qt can be found on the \l{Supported Platforms} page. - For information about mixing exceptions with symbian leaves, + For information about mixing exceptions with Symbian leaves, see \l{Exception Safety with Symbian} \section1 Multimedia and Phonon Support diff --git a/doc/src/platforms/s60-introduction.qdoc b/doc/src/platforms/s60-introduction.qdoc index d145a82..d27eb39 100644 --- a/doc/src/platforms/s60-introduction.qdoc +++ b/doc/src/platforms/s60-introduction.qdoc @@ -122,8 +122,8 @@ build targets, as shown in the table below: \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. -i, install the package right away using PC suite. -c=, read certificate information from a file. - Execute \c{perl createpackage.pl} for more information - about options. + Execute \c{createpackage.pl} script without any + parameters for more information about options. By default no otions are given. \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. Accepted values are build targets listed in -- cgit v0.12 From d98012baf3315fad975d0c0acbab13a54ea15caa Mon Sep 17 00:00:00 2001 From: Leonardo Sobral Cunha Date: Fri, 9 Oct 2009 16:57:00 +0200 Subject: Fixes QPauseAnimation autotests for unreliable timer intervals on Windows The timer interval used currently on Windows is 16 ms, but we get ticks at every 32 ms on average, so the consistent timing is not reliable on windows. We should use the multimedia timer instead (use 15 ms for QTimer), once qt is able to handle events while native event loops are running. When this is done, the ifdefs introduced in this commit should be removed. Reviewed-by: thierry --- tests/auto/qpauseanimation/tst_qpauseanimation.cpp | 43 +++++++++++++++------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/tests/auto/qpauseanimation/tst_qpauseanimation.cpp b/tests/auto/qpauseanimation/tst_qpauseanimation.cpp index 0c742af..62b43c4 100644 --- a/tests/auto/qpauseanimation/tst_qpauseanimation.cpp +++ b/tests/auto/qpauseanimation/tst_qpauseanimation.cpp @@ -70,6 +70,21 @@ protected: } }; +class EnableConsistentTiming +{ +public: + EnableConsistentTiming() + { + QUnifiedTimer *timer = QUnifiedTimer::instance(); + timer->setConsistentTiming(true); + } + ~EnableConsistentTiming() + { + QUnifiedTimer *timer = QUnifiedTimer::instance(); + timer->setConsistentTiming(false); + } +}; + class tst_QPauseAnimation : public QObject { Q_OBJECT @@ -187,8 +202,7 @@ void tst_QPauseAnimation::mulitplePauseAnimations() void tst_QPauseAnimation::pauseAndPropertyAnimations() { - QUnifiedTimer *timer = QUnifiedTimer::instance(); - timer->setConsistentTiming(true); + EnableConsistentTiming enabled; TestablePauseAnimation pause; pause.setDuration(200); @@ -210,11 +224,13 @@ void tst_QPauseAnimation::pauseAndPropertyAnimations() QTest::qWait(animation.totalDuration() + 100); +#ifdef Q_OS_WIN + if (animation.state() != QAbstractAnimation::Stopped) + QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort); +#endif QVERIFY(animation.state() == QAbstractAnimation::Stopped); QVERIFY(pause.state() == QAbstractAnimation::Stopped); QVERIFY(pause.m_updateCurrentTimeCount > 3); - - timer->setConsistentTiming(false); } void tst_QPauseAnimation::pauseResume() @@ -250,7 +266,7 @@ void tst_QPauseAnimation::sequentialPauseGroup() QVERIFY(animation2.state() == QAbstractAnimation::Stopped); QVERIFY(animation3.state() == QAbstractAnimation::Stopped); - QTest::qWait(250); + group.setCurrentTime(250); QVERIFY(group.state() == QAbstractAnimation::Running); QVERIFY(animation1.state() == QAbstractAnimation::Stopped); @@ -258,7 +274,7 @@ void tst_QPauseAnimation::sequentialPauseGroup() QVERIFY(animation2.state() == QAbstractAnimation::Running); QVERIFY(animation3.state() == QAbstractAnimation::Stopped); - QTest::qWait(250); + group.setCurrentTime(500); QVERIFY(group.state() == QAbstractAnimation::Running); QVERIFY(animation1.state() == QAbstractAnimation::Stopped); @@ -266,7 +282,7 @@ void tst_QPauseAnimation::sequentialPauseGroup() QCOMPARE(&animation3, group.currentAnimation()); QVERIFY(animation3.state() == QAbstractAnimation::Running); - QTest::qWait(250); + group.setCurrentTime(750); QVERIFY(group.state() == QAbstractAnimation::Stopped); QVERIFY(animation1.state() == QAbstractAnimation::Stopped); @@ -296,14 +312,14 @@ void tst_QPauseAnimation::sequentialGroupWithPause() QVERIFY(animation.state() == QAbstractAnimation::Running); QVERIFY(pause.state() == QAbstractAnimation::Stopped); - QTest::qWait(300); + group.setCurrentTime(300); QVERIFY(group.state() == QAbstractAnimation::Running); QVERIFY(animation.state() == QAbstractAnimation::Stopped); QCOMPARE(&pause, group.currentAnimation()); QVERIFY(pause.state() == QAbstractAnimation::Running); - QTest::qWait(300); + group.setCurrentTime(600); QVERIFY(group.state() == QAbstractAnimation::Stopped); QVERIFY(animation.state() == QAbstractAnimation::Stopped); @@ -314,8 +330,7 @@ void tst_QPauseAnimation::sequentialGroupWithPause() void tst_QPauseAnimation::multipleSequentialGroups() { - QUnifiedTimer *timer = QUnifiedTimer::instance(); - timer->setConsistentTiming(true); + EnableConsistentTiming enabled; QParallelAnimationGroup group; group.setLoopCount(2); @@ -368,6 +383,10 @@ void tst_QPauseAnimation::multipleSequentialGroups() QTest::qWait(group.totalDuration() + 100); +#ifdef Q_OS_WIN + if (group.state() != QAbstractAnimation::Stopped) + QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort); +#endif QVERIFY(group.state() == QAbstractAnimation::Stopped); QVERIFY(subgroup1.state() == QAbstractAnimation::Stopped); QVERIFY(subgroup2.state() == QAbstractAnimation::Stopped); @@ -375,8 +394,6 @@ void tst_QPauseAnimation::multipleSequentialGroups() QVERIFY(subgroup4.state() == QAbstractAnimation::Stopped); QCOMPARE(pause5.m_updateCurrentTimeCount, 4); - - timer->setConsistentTiming(false); } void tst_QPauseAnimation::zeroDuration() -- cgit v0.12 From b8e372801ae87c0c2fb5ab574928a046f685c10e Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 9 Oct 2009 16:16:20 +0300 Subject: Changed several S60 references to Symbian references in docs. Reviewed-by: Janne Koskinen (cherry picked from commit 37253e2c1c6a8b1dede8f261fb40d8442008f6d8) --- doc/src/development/qmake-manual.qdoc | 18 ++++++++---------- doc/src/getting-started/installation.qdoc | 12 ++++++------ doc/src/qt4-intro.qdoc | 2 +- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc index 87132cc..d040d3d 100644 --- a/doc/src/development/qmake-manual.qdoc +++ b/doc/src/development/qmake-manual.qdoc @@ -952,7 +952,7 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 130 - The default values depend on the version of the S60 SDK you're using. + The default values depend on the version of the Symbian SDK you're using. \section2 Compiler specific options @@ -983,8 +983,7 @@ an official UID, please contact Nokia. Both \c SID and \c VID default to empty values. For more information about unique identifiers and their meaning for - Symbian applications, please refer to the - \l{http://www.symbian.com/developer/techlib/v9.2docs/doc_source/ToolsAndUtilities/BuildTools/UsingUids.guide.html}{respective S60 SDK documentation}. + Symbian applications, please refer to the Symbian SDK documentation. \section2 Capabilities @@ -1000,8 +999,7 @@ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 134 - For more information about capabilities, please refer to the - \l{http://www.symbian.com/developer/techlib/v9.2docs/doc_source/guide/platsecsdk/index.html}{respective S60 SDK documentation}. + For more information about capabilities, please refer to the Symbian SDK documentation. */ /*! @@ -2925,7 +2923,7 @@ For example: \e {This is only used on the Symbian platform.} Specifies which platform capabilities the application should have. For more - information, please refer to the S60 SDK documentation. + information, please refer to the Symbian SDK documentation. \target TARGET.EPOCALLOWDLLDATA \section1 TARGET.EPOCALLOWDLLDATA @@ -2961,7 +2959,7 @@ For example: \e {This is only used on the Symbian platform.} Specifies which secure identifier to use for the target application or - library. For more information, see the S60 SDK documentation. + library. For more information, see the Symbian SDK documentation. \target TARGET.UID2 \section1 TARGET.UID2 @@ -2970,7 +2968,7 @@ For example: Specifies which unique identifier 2 to use for the target application or library. If this variable is not specified, it defaults to the same value - as TARGET.UID3. For more information, see the S60 SDK documentation. + as TARGET.UID3. For more information, see the Symbian SDK documentation. \target TARGET.UID3 \section1 TARGET.UID3 @@ -2981,7 +2979,7 @@ For example: library. If this variable is not specified, a UID3 suitable for development and debugging will be generated automatically. However, applications being released should always define this variable. For more information, see the - S60 SDK documentation. + Symbian SDK documentation. \target TARGET.VID \section1 TARGET.VID @@ -2989,7 +2987,7 @@ For example: \e {This is only used on the Symbian platform.} Specifies which vendor identifier to use for the target application or - library. For more information, see the S60 SDK documentation. + library. For more information, see the Symbian SDK documentation. \section1 TARGET_EXT diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index 366a906..8269552 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -510,9 +510,9 @@ in the \l{Qt for Symbian platform Requirements} document. \o Install Qt - Run \c{qt-s60-%VERSION%.exe} and follow the instructions. + Run \c{qt-symbian-opensource-%VERSION%.exe} and follow the instructions. - \note Qt must be installed on the same drive as the S60 SDK you are + \note Qt must be installed on the same drive as the Symbian SDK you are using, and the install path must not contain any spaces. \o Running Qt demos @@ -567,7 +567,7 @@ If you are using pre-built binaries, follow the instructions Uncompress the package into the directory you want Qt installed, e.g. \c{C:\Qt\%VERSION%}. - \note Qt must be installed on the same drive as the S60 SDK you are + \note Qt must be installed on the same drive as the Symbian SDK you are using, and the install path must not contain any spaces. \o Environment variables @@ -582,7 +582,7 @@ If you are using pre-built binaries, follow the instructions On Windows the PATH can be extended by navigating to "Control Panel->System->Advanced->Environment variables". - In addition, you must configure the environment for use with the S60 + In addition, you must configure the environment for use with the Symbian emulator. This is done by locating the Carbide.c++ submenu on the Start menu, and choosing "Configure environment for WINSCW command line". @@ -972,13 +972,13 @@ Symbian platform, see \l{Symbian platform - Introduction to using Qt}. \endlist \o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/S60SDK/}{S60 Platform SDK 3rd Edition FP1 or higher} \o \l{http://www.forum.nokia.com/main/resources/technologies/openc_cpp/}{Open C/C++ v1.6.0 or higher}. - Install this to all S60 SDKs you plan to use Qt with. + Install this to all Symbian SDKs you plan to use Qt with. \o Building Qt libraries requires \l{http://www.arm.com/products/DevTools/RVCT.html}{RVCT} 2.2 [build 686] or later, which is not available free of charge. \endlist Running Qt on real device requires the following packages to be installed on your device. - The packages can be found in the S60 SDK where you installed Open C/C++: + The packages can be found in the Symbian SDK where you installed Open C/C++: \list \o \c{nokia_plugin\openc\s60opencsis\pips_s60_.sis} \o \c{nokia_plugin\openc\s60opencsis\openc_ssl_s60_.sis} diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index 6224cd4..d63d0eb 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -488,7 +488,7 @@ Qt 4.6 is the first release to include support for the Symbian platform, with integration into the S60 framework. The port to Symbian and S60 provides all functionality required to develop - rich end-user applications for devices running Symbian 3.1 and + rich end-user applications for devices running S60 3.1 and later. \section1 Animation Framework -- cgit v0.12 From 408803ec1ab89582c0ca853f1fc2058131278f6a Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 9 Oct 2009 16:24:55 +0300 Subject: Fixed documentation links in README.s60 Task-number: QTBUG-4806 Reviewed-by: Janne Koskinen (cherry picked from commit 07456fc966504c18465d80b988038b009349a0fa) --- README.s60 | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.s60 b/README.s60 index f9d7aaf..2137135 100644 --- a/README.s60 +++ b/README.s60 @@ -5,16 +5,16 @@ this pre-release you can make advanced graphical applications and utilize TCP/IP connections. More specifically, these modules are now available for S60: -QtCore - http://doc.trolltech.com/4.6/qtcore.html -QtGui - http://doc.trolltech.com/4.6/qtgui.html -QtNetwork - http://doc.trolltech.com/4.6/qtnetwork.html -QtScript - http://doc.trolltech.com/4.6/qtscript.html -QtSql - http://doc.trolltech.com/4.6/qtsql.html -QtSvg - http://doc.trolltech.com/4.6/qtsvg.html -QtTest - http://doc.trolltech.com/4.6/qttest.html -QtWebKit - http://doc.trolltech.com/4.6/qtwebkit.html -QtXml - http://doc.trolltech.com/4.6/qtxml.html -Phonon - http://doc.trolltech.com/4.6/phonon-module.html +QtCore - http://doc.trolltech.com/4.6-snapshot/qtcore.html +QtGui - http://doc.trolltech.com/4.6-snapshot/qtgui.html +QtNetwork - http://doc.trolltech.com/4.6-snapshot/qtnetwork.html +QtScript - http://doc.trolltech.com/4.6-snapshot/qtscript.html +QtSql - http://doc.trolltech.com/4.6-snapshot/qtsql.html +QtSvg - http://doc.trolltech.com/4.6-snapshot/qtsvg.html +QtTest - http://doc.trolltech.com/4.6-snapshot/qttest.html +QtWebKit - http://doc.trolltech.com/4.6-snapshot/qtwebkit.html +QtXml - http://doc.trolltech.com/4.6-snapshot/qtxml.html +Phonon - http://doc.trolltech.com/4.6-snapshot/phonon-module.html INSTALLING Qt @@ -23,7 +23,7 @@ Follow the instructions in the INSTALL file. REFERENCE DOCUMENTATION The Qt reference documentation is available locally in Qt's doc/html -directory or at http://doc.trolltech.com/4.6/index.html +directory or at http://doc.trolltech.com/4.6-snapshot/index.html SUPPORTED PLATFORMS -- cgit v0.12 From be6290e695329974b946d064ceb2cd9fa2ad5f57 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Thu, 8 Oct 2009 21:20:22 +0200 Subject: Color role with higher contrast for focusrect MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Low-risk, high value change. Beta worthy! As much as QPalette::Highlight sounds like a suitable color role for drawing a focus rect... It simply did not work well with a lot of S60 themes (e.g. the default N95 theme). QPalette::Text is a better candidate, since the S60 themes promise a good contrast of text on background graphics. Reviewed-By: Sami Merilä (cherry picked from commit a35c52abe95f224af062550e4954f7cbefca1bd8) --- src/gui/styles/qs60style.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 6bdb79e..465492d 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -1865,7 +1865,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, painter->save(); painter->setRenderHint(QPainter::Antialiasing); painter->setOpacity(opacity); - painter->setPen(QPen(option->palette.color(QPalette::Highlight), penWidth)); + painter->setPen(QPen(option->palette.color(QPalette::Text), penWidth)); painter->drawRoundedRect(adjustedRect, roundRectRadius, roundRectRadius); painter->restore(); } -- cgit v0.12 From e19341924f93304c0d8ee45ff0d2dd9539cfb2b5 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 9 Oct 2009 18:33:38 +0200 Subject: Fix compile error on symbian platform Reviewed-by: Espen Riskedal --- src/gui/text/qfontdatabase.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index d0f4d2e..e8f6d39 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -1351,7 +1351,11 @@ static void match(int script, const QFontDef &request, unsigned int score = ~0u; +#ifdef Q_WS_X11 load(family_name, script, forceXLFD); +#else + load(family_name, script); +#endif QFontDatabasePrivate *db = privateDb(); for (int x = 0; x < db->count; ++x) { -- cgit v0.12 From 6ce22194f16ce8e2586e3787560de051064d7787 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 9 Oct 2009 18:39:40 +0200 Subject: Workaround for softkeys not working in modal dialogs on S60 5.0 Set the softkey container window to be selectable even when pointer is grabbed (via window server setting) Task-number: QT-2203 Reviewed-by: Espen Riskedal --- src/gui/kernel/qsoftkeymanager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index cd3ad22..1214f08 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -200,6 +200,7 @@ bool QSoftKeyManager::event(QEvent *e) void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList &softkeys) { CEikButtonGroupContainer* nativeContainer = S60->buttonGroupContainer(); + nativeContainer->DrawableWindow()->SetPointerCapturePriority(1); //keep softkeys available in modal dialog QT_TRAP_THROWING(nativeContainer->SetCommandSetL(R_AVKON_SOFTKEYS_EMPTY_WITH_IDS)); int position = -1; -- cgit v0.12 From 0f848030a2477a737a626a5b608cad1653a8ba1a Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 9 Oct 2009 14:46:44 +0200 Subject: Doc: Minor language fixes. Reviewed-by: Trust Me --- doc/src/platforms/s60-introduction.qdoc | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/src/platforms/s60-introduction.qdoc b/doc/src/platforms/s60-introduction.qdoc index d27eb39..5fd0cbe 100644 --- a/doc/src/platforms/s60-introduction.qdoc +++ b/doc/src/platforms/s60-introduction.qdoc @@ -50,12 +50,12 @@ \tableofcontents \section1 Required tools - + See \l{Qt for Symbian platform Requirements} to see what tools are -required to use Qt for Symbian platform. + required to use Qt for Symbian platform. \section1 Installing Qt and running demos - + Follow the instructions found in \l{Installing Qt on the Symbian platform using binary package} to learn how to install Qt using binary package and how to build and run Qt demos. @@ -69,7 +69,7 @@ required to use Qt for Symbian platform. Qt application on the Symbian platform compared to any of the other platforms supported by Qt is not that big. - Once you have crated a \c .pro file for your project, generate the + Once you have created a \c .pro file for your project, generate the Carbide specific \c Bld.inf and \c .mmp files this way: \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 0 @@ -78,9 +78,9 @@ required to use Qt for Symbian platform. {qmake Tutorial}. Now you can build the Qt for the Symbian platform application with -standard build tools. By default, running \c make will produce binaries for -the emulator. However, the Symbian platform comes with several alternative -build targets, as shown in the table below: + standard build tools. By default, running \c make will produce binaries for + the emulator. However, the Symbian platform comes with several alternative + build targets, as shown in the table below: \table \row \o \c debug-winscw \o Build debug binaries for the emulator (default). @@ -111,18 +111,18 @@ build targets, as shown in the table below: target. For example, the following sequence will generate the needed makefiles, build the project for \c debug-winscw and \c release-armv5, and create self-signed \c .sis file for \c release-armv5 target: - + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 2 If you want to use different certificate information or override the default target for \c .sis file creation you can use the environment variables as shown in the table below: - + \table \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation. -i, install the package right away using PC suite. -c=, read certificate information from a file. - Execute \c{createpackage.pl} script without any + Execute the \c{createpackage.pl} script without any parameters for more information about options. By default no otions are given. \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created. @@ -135,15 +135,15 @@ build targets, as shown in the table below: \row \o \c QT_SIS_PASSPHRASE \o The certificate's private key file's passphrase. By default empty. \endtable - + For example: - + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 4 The environment variables for \c make can also be given as parameters: - + \snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 3 - + If you want to install the program immediately, make sure that the device is connected to the computer in "PC Suite" mode, and run \c sis target with the \c QT_SIS_OPTIONS=-i, like this: -- cgit v0.12 From db77c5b9c74dc022fc2b37fae73ddbbe89e89c07 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 9 Oct 2009 15:44:55 +0200 Subject: Doc: Replace QDirModel with QFileSystemModel in examples and overviews. Task-number: QTBUG-4152 Reviewed-by: Trust Me --- .../model-view-programming.qdoc | 51 +++++++++++---------- doc/src/images/shareddirmodel.png | Bin 33024 -> 45891 bytes doc/src/images/standard-views.png | Bin 78278 -> 44495 bytes doc/src/porting/qt4-interview.qdoc | 8 ++-- doc/src/snippets/shareddirmodel/main.cpp | 5 +- doc/src/snippets/simplemodel-use/main.cpp | 2 +- 6 files changed, 35 insertions(+), 31 deletions(-) diff --git a/doc/src/frameworks-technologies/model-view-programming.qdoc b/doc/src/frameworks-technologies/model-view-programming.qdoc index bc884df..f0f20b4 100644 --- a/doc/src/frameworks-technologies/model-view-programming.qdoc +++ b/doc/src/frameworks-technologies/model-view-programming.qdoc @@ -215,8 +215,8 @@ \o QStringListModel is used to store a simple list of QString items. \o QStandardItemModel manages more complex tree structures of items, each of which can contain arbitrary data. - \o QDirModel provides information about files and directories in the local - filing system. + \o QFileSystemModel provides information about files and directories in the + local filing system. \o QSqlQueryModel, QSqlTableModel, and QSqlRelationalTableModel are used to access databases using model/view conventions. \endlist @@ -313,14 +313,14 @@ \section1 Introduction Two of the standard models provided by Qt are QStandardItemModel and - QDirModel. QStandardItemModel is a multi-purpose model that can be used - to represent various different data structures needed by list, table, + QFileSystemModel. QStandardItemModel is a multi-purpose model that can be + used to represent various different data structures needed by list, table, and tree views. This model also holds the items of data. - QDirModel is a model that maintains information about the contents of a - directory. As a result, it does not hold any items of data itself, but + QFileSystemModel is a model that maintains information about the contents + of a directory. As a result, it does not hold any items of data itself, but simply represents files and directories on the local filing system. - QDirModel provides a ready-to-use model to experiment with, and can be + QFileSystemModel provides a ready-to-use model to experiment with, and can be easily configured to use existing data. Using this model, we can show how to set up a model for use with ready-made views, and explore how to manipulate data using model indexes. @@ -328,22 +328,25 @@ \section1 Using Views with an Existing Model The QListView and QTreeView classes are the most suitable views - to use with QDirModel. The example presented below displays the + to use with QFileSystemModel. The example presented below displays the contents of a directory in a tree view next to the same information in a list view. The views share the user's selection so that the selected items are highlighted in both views. \img shareddirmodel.png - We set up a QDirModel so that it is ready for use, and create some + We set up a QFileSystemModel so that it is ready for use, and create some views to display the contents of a directory. This shows the simplest way to use a model. The construction and use of the model is performed from within a single \c main() function: \snippet doc/src/snippets/shareddirmodel/main.cpp 0 - The model is set up to use data from a default directory. We create two - views so that we can examine the items held in the model in two + The model is set up to use data from a certain file system. The call to + \l{QFileSystemModel::}{setRootPath()} tell the model which drive on the + file system to expose to the views. + + We create two views so that we can examine the items held in the model in two different ways: \snippet doc/src/snippets/shareddirmodel/main.cpp 5 @@ -351,13 +354,13 @@ The views are constructed in the same way as other widgets. Setting up a view to display the items in the model is simply a matter of calling its \l{QAbstractItemView::setModel()}{setModel()} function with the directory - model as the argument. The calls to - \l{QAbstractItemView::setRootIndex()}{setRootIndex()} tell the views which - directory to display by supplying a \e{model index} that we obtain from - the directory model. + model as the argument. We filter the data supplied by the model by calling + the \l{QAbstractItemView::}{setRootIndex()} function on each view, passing + a suitable \e{model index} from the file system model for the current + directory. - The \c index() function used in this case is unique to QDirModel; we supply - it with a directory and it returns a model index. Model indexes are + The \c index() function used in this case is unique to QFileSystemModel; we + supply it with a directory and it returns a model index. Model indexes are discussed in the \l{Model Classes} chapter. The rest of the function just displays the views within a splitter @@ -556,19 +559,19 @@ \section2 Using Model Indexes To demonstrate how data can be retrieved from a model, using model - indexes, we set up a QDirModel without a view and display the + indexes, we set up a QFileSystemModel without a view and display the names of files and directories in a widget. Although this does not show a normal way of using a model, it demonstrates the conventions used by models when dealing with model indexes. - We construct a directory model in the following way: + We construct a file system model in the following way: \snippet doc/src/snippets/simplemodel-use/main.cpp 0 - In this case, we set up a default QDirModel, obtain a parent index using - a specific implementation of \l{QDirModel::index()}{index()} provided by - that model, and we count the number of rows in the model using the - \l{QDirModel::rowCount()}{rowCount()} function. + In this case, we set up a default QFileSystemModel, obtain a parent index + using a specific implementation of \l{QFileSystemModel::}{index()} + provided by that model, and we count the number of rows in the model using + the \l{QFileSystemModel::}{rowCount()} function. For simplicity, we are only interested in the items in the first column of the model. We examine each row in turn, obtaining a model index for @@ -581,7 +584,7 @@ for the first column), and the appropriate model index for the parent of all the items that we want. The text stored in each item is retrieved using the model's - \l{QDirModel::data()}{data()} function. We specify the model index and + \l{QFileSystemModel::}{data()} function. We specify the model index and the \l{Qt::ItemDataRole}{DisplayRole} to obtain data for the item in the form of a string. diff --git a/doc/src/images/shareddirmodel.png b/doc/src/images/shareddirmodel.png index 6daa9d3..7b9fded 100644 Binary files a/doc/src/images/shareddirmodel.png and b/doc/src/images/shareddirmodel.png differ diff --git a/doc/src/images/standard-views.png b/doc/src/images/standard-views.png index 836ae36..c804551 100644 Binary files a/doc/src/images/standard-views.png and b/doc/src/images/standard-views.png differ diff --git a/doc/src/porting/qt4-interview.qdoc b/doc/src/porting/qt4-interview.qdoc index 29d9f5c..fd3fb36 100644 --- a/doc/src/porting/qt4-interview.qdoc +++ b/doc/src/porting/qt4-interview.qdoc @@ -109,8 +109,8 @@ \list \o QStandardItemModel is a minimal convenience model that developers can use to manage items of data. - \o QDirModel provides directory information for use with QListView and - QTreeView. + \o QFileSystemModel provides directory information for use with QListView + and QTreeView. \o QStringListModel is a convenience model that can be used to hold strings for views such as QListView and QComboBox. \endlist @@ -153,7 +153,7 @@ In this example, we display the contents of a model using two different views, and share the user's selection between - them. We will use the QDirModel supplied with Qt because it + them. We will use the QFileSystemModel supplied with Qt because it requires very little configuration, and provides existing data to the views. @@ -174,7 +174,7 @@ \image interview-shareddirmodel.png - The model/view architecture allows us to replace the QDirModel in + The model/view architecture allows us to replace the QFileSystemModel in this example with a completely different model, one that will perhaps obtain data from a remote server, or from a database. diff --git a/doc/src/snippets/shareddirmodel/main.cpp b/doc/src/snippets/shareddirmodel/main.cpp index 82034b5..3cb63c9 100644 --- a/doc/src/snippets/shareddirmodel/main.cpp +++ b/doc/src/snippets/shareddirmodel/main.cpp @@ -55,7 +55,8 @@ int main(int argc, char *argv[]) QSplitter *splitter = new QSplitter; //! [2] //! [3] - QDirModel *model = new QDirModel; + QFileSystemModel *model = new QFileSystemModel; + model->setRootPath(QDir::currentPath()); //! [0] //! [2] //! [4] //! [5] QTreeView *tree = new QTreeView(splitter); //! [3] //! [6] @@ -74,7 +75,7 @@ int main(int argc, char *argv[]) list->setSelectionModel(selection); //! [8] - splitter->setWindowTitle("Two views onto the same directory model"); + splitter->setWindowTitle("Two views onto the same file system model"); splitter->show(); return app.exec(); } diff --git a/doc/src/snippets/simplemodel-use/main.cpp b/doc/src/snippets/simplemodel-use/main.cpp index a3bb0e7..d7fc755 100644 --- a/doc/src/snippets/simplemodel-use/main.cpp +++ b/doc/src/snippets/simplemodel-use/main.cpp @@ -69,7 +69,7 @@ int main(int argc, char *argv[]) layout->addWidget(title); //! [0] - QDirModel *model = new QDirModel; + QFileSystemModel *model = new QFileSystemModel; QModelIndex parentIndex = model->index(QDir::currentPath()); int numRows = model->rowCount(parentIndex); //! [0] -- cgit v0.12 From 7566a1f15ea32504c10d9467fb69a6399a06c325 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 9 Oct 2009 18:45:44 +0200 Subject: Doc: Created a snippet to generate the global colors image. Reviewed-by: Trust Me --- doc/src/images/qt-colors.png | Bin 3711 -> 11701 bytes doc/src/snippets/colors/colors.pro | 2 + doc/src/snippets/colors/main.cpp | 52 +++++++++++++++ doc/src/snippets/colors/window.cpp | 131 +++++++++++++++++++++++++++++++++++++ doc/src/snippets/colors/window.h | 53 +++++++++++++++ src/gui/painting/qcolor.cpp | 27 ++++---- 6 files changed, 253 insertions(+), 12 deletions(-) create mode 100644 doc/src/snippets/colors/colors.pro create mode 100644 doc/src/snippets/colors/main.cpp create mode 100644 doc/src/snippets/colors/window.cpp create mode 100644 doc/src/snippets/colors/window.h diff --git a/doc/src/images/qt-colors.png b/doc/src/images/qt-colors.png index 524123f..331c975 100644 Binary files a/doc/src/images/qt-colors.png and b/doc/src/images/qt-colors.png differ diff --git a/doc/src/snippets/colors/colors.pro b/doc/src/snippets/colors/colors.pro new file mode 100644 index 0000000..b2cc87d --- /dev/null +++ b/doc/src/snippets/colors/colors.pro @@ -0,0 +1,2 @@ +HEADERS = window.h +SOURCES = main.cpp window.cpp diff --git a/doc/src/snippets/colors/main.cpp b/doc/src/snippets/colors/main.cpp new file mode 100644 index 0000000..4e09036 --- /dev/null +++ b/doc/src/snippets/colors/main.cpp @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "window.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + Window window; + window.setFixedSize(640, 215); + window.show(); + return app.exec(); +} diff --git a/doc/src/snippets/colors/window.cpp b/doc/src/snippets/colors/window.cpp new file mode 100644 index 0000000..0cec5f5 --- /dev/null +++ b/doc/src/snippets/colors/window.cpp @@ -0,0 +1,131 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "window.h" + +Window::Window(QWidget *parent) + : QWidget(parent) +{ + QFont font; + font.setPixelSize(12); + setFont(font); +} + +void Window::closeEvent(QCloseEvent *event) +{ + QPixmap pixmap(size()); + render(&pixmap); + pixmap.save("qt-colors.png"); + + event->accept(); +} + +void Window::paintEvent(QPaintEvent *) +{ + QPainter painter; + painter.begin(this); + + int h = 216 / 5; + QRect r = QRect(0, 0, 160, h); + painter.fillRect(r, Qt::white); + painter.setPen(Qt::black); + painter.drawText(r, Qt::AlignCenter, QLatin1String("white")); + r = QRect(0, h, 160, h); + painter.fillRect(r, Qt::red); + painter.drawText(r, Qt::AlignCenter, QLatin1String("red")); + r = QRect(0, h*2, 160, h); + painter.fillRect(r, Qt::green); + painter.drawText(r, Qt::AlignCenter, QLatin1String("green")); + r = QRect(0, h*3, 160, h); + painter.fillRect(r, Qt::blue); + painter.setPen(Qt::white); + painter.drawText(r, Qt::AlignCenter, QLatin1String("blue")); + + r = QRect(160, 0, 160, h); + painter.fillRect(r, Qt::black); + painter.drawText(r, Qt::AlignCenter, QLatin1String("black")); + r = QRect(160, h, 160, h); + painter.fillRect(r, Qt::darkRed); + painter.drawText(r, Qt::AlignCenter, QLatin1String("darkRed")); + r = QRect(160, h*2, 160, h); + painter.fillRect(r, Qt::darkGreen); + painter.drawText(r, Qt::AlignCenter, QLatin1String("darkGreen")); + r = QRect(160, h*3, 160, h); + painter.fillRect(r, Qt::darkBlue); + painter.drawText(r, Qt::AlignCenter, QLatin1String("darkBlue")); + + r = QRect(320, 0, 160, h); + painter.fillRect(r, Qt::cyan); + painter.setPen(Qt::black); + painter.drawText(r, Qt::AlignCenter, QLatin1String("cyan")); + r = QRect(320, h, 160, h); + painter.fillRect(r, Qt::magenta); + painter.drawText(r, Qt::AlignCenter, QLatin1String("magenta")); + r = QRect(320, h*2, 160, h); + painter.fillRect(r, Qt::yellow); + painter.drawText(r, Qt::AlignCenter, QLatin1String("yellow")); + r = QRect(320, h*3, 160, h); + painter.fillRect(r, Qt::gray); + painter.setPen(Qt::white); + painter.drawText(r, Qt::AlignCenter, QLatin1String("gray")); + + r = QRect(480, 0, 160, h); + painter.fillRect(r, Qt::darkCyan); + painter.drawText(r, Qt::AlignCenter, QLatin1String("darkCyan")); + r = QRect(480, h, 160, h); + painter.fillRect(r, Qt::darkMagenta); + painter.drawText(r, Qt::AlignCenter, QLatin1String("darkMagenta")); + r = QRect(480, h*2, 160, h); + painter.fillRect(r, Qt::darkYellow); + painter.drawText(r, Qt::AlignCenter, QLatin1String("darkYellow")); + r = QRect(480, h*3, 160, h); + painter.fillRect(r, Qt::darkGray); + painter.drawText(r, Qt::AlignCenter, QLatin1String("darkGray")); + + r = QRect(0, h*4, 640, h); + painter.fillRect(r, Qt::lightGray); + painter.setPen(Qt::black); + painter.drawText(r, Qt::AlignCenter, QLatin1String("lightGray")); + + painter.end(); +} + diff --git a/doc/src/snippets/colors/window.h b/doc/src/snippets/colors/window.h new file mode 100644 index 0000000..3b08b90 --- /dev/null +++ b/doc/src/snippets/colors/window.h @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +class Window : public QWidget +{ +public: + Window(QWidget *parent = 0); + +protected: + void closeEvent(QCloseEvent *event); + void paintEvent(QPaintEvent *event); +}; + diff --git a/src/gui/painting/qcolor.cpp b/src/gui/painting/qcolor.cpp index d9b824b..4da993b 100644 --- a/src/gui/painting/qcolor.cpp +++ b/src/gui/painting/qcolor.cpp @@ -176,22 +176,25 @@ QT_BEGIN_NAMESPACE \section1 Predefined Colors - There are 20 predefined QColors: Qt::white, Qt::black, - Qt::red, Qt::darkRed, Qt::green, Qt::darkGreen, Qt::blue, - Qt::darkBlue, Qt::cyan, Qt::darkCyan, Qt::magenta, - Qt::darkMagenta, Qt::yellow, Qt::darkYellow, Qt::gray, - Qt::darkGray, Qt::lightGray, Qt::color0, Qt::color1, and - Qt::transparent. + There are 20 predefined QColors described by the Qt::GlobalColor enum, + including black, white, primary and secondary colors, darker versions + of these colors and three shades of gray. QColor also recognizes a + variety of color names; the static colorNames() function returns a + QStringList color names that QColor knows about. \img qt-colors.png Qt Colors - QColor provides the static colorNames() function which returns a - QStringList containing the color names Qt knows about. + Additionally, the Qt::color0, Qt::color1 and Qt::transparent colors + are used for special purposes. - The colors Qt::color0 (zero pixel value) and Qt::color1 (non-zero - pixel value) are special colors for drawing in QBitmaps. Painting with - Qt::color0 sets the bitmap bits to 0 (transparent, i.e. background), and - painting with Qt::color1 sets the bits to 1 (opaque, i.e. foreground). + Qt::color0 (zero pixel value) and Qt::color1 (non-zero pixel value) + are special colors for drawing in QBitmaps. Painting with Qt::color0 + sets the bitmap bits to 0 (transparent; i.e., background), and painting + with Qt::color1 sets the bits to 1 (opaque; i.e., foreground). + + Qt::transparent is used to indicate a transparent pixel. When painting + with this value, a pixel value will be used that is appropriate for the + underlying pixel format in use. \section1 The HSV Color Model -- cgit v0.12 From f2437d3aa6cc274b9e663801892fd4e40e693546 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 9 Oct 2009 19:09:09 +0200 Subject: A new implementation of the Gesture API. Implemented gestures using gesture events and separate QGesture/QGestureRecognizer classes. Reviewed-by: trustme --- examples/gestures/imageviewer/imageviewer.pro | 13 +- examples/gestures/imageviewer/imagewidget.cpp | 80 ++- examples/gestures/imageviewer/imagewidget.h | 15 +- .../gestures/imageviewer/tapandholdgesture.cpp | 155 ----- examples/gestures/imageviewer/tapandholdgesture.h | 74 -- src/corelib/global/qnamespace.h | 29 +- src/corelib/global/qnamespace.qdoc | 2 - src/corelib/kernel/qcoreevent.cpp | 2 + src/corelib/kernel/qcoreevent.h | 4 + src/gui/graphicsview/qgraphicsitem.cpp | 9 + src/gui/graphicsview/qgraphicsitem.h | 4 + src/gui/graphicsview/qgraphicsitem_p.h | 1 + src/gui/graphicsview/qgraphicsscene.cpp | 11 +- src/gui/graphicsview/qgraphicsscene.h | 1 + src/gui/kernel/kernel.pri | 23 +- src/gui/kernel/qapplication.cpp | 89 +++ src/gui/kernel/qapplication.h | 5 + src/gui/kernel/qapplication_p.h | 22 +- src/gui/kernel/qapplication_win.cpp | 39 +- src/gui/kernel/qevent.cpp | 74 ++ src/gui/kernel/qevent.h | 34 + src/gui/kernel/qgesture.cpp | 428 ++++++------ src/gui/kernel/qgesture.h | 153 +++- src/gui/kernel/qgesture_p.h | 76 +- src/gui/kernel/qgesturemanager.cpp | 453 ++++++++++++ src/gui/kernel/qgesturemanager_p.h | 125 ++++ src/gui/kernel/qgesturerecognizer.cpp | 71 ++ src/gui/kernel/qgesturerecognizer.h | 93 +++ src/gui/kernel/qstandardgestures.cpp | 775 +++------------------ src/gui/kernel/qstandardgestures.h | 174 ----- src/gui/kernel/qstandardgestures_p.h | 77 +- src/gui/kernel/qwidget.cpp | 11 + src/gui/kernel/qwidget.h | 5 +- src/gui/kernel/qwidget_p.h | 4 + src/gui/kernel/qwidget_win.cpp | 29 +- .../kernel/qwinnativepangesturerecognizer_win.cpp | 124 ++++ .../kernel/qwinnativepangesturerecognizer_win_p.h | 73 ++ src/gui/widgets/qabstractscrollarea.cpp | 56 +- src/gui/widgets/qabstractscrollarea.h | 4 - src/gui/widgets/qabstractscrollarea_p.h | 3 - src/gui/widgets/qplaintextedit.cpp | 55 +- src/gui/widgets/qplaintextedit.h | 4 - src/gui/widgets/qplaintextedit_p.h | 5 - tests/auto/auto.pro | 3 +- tests/auto/gestures/gestures.pro | 5 + tests/auto/gestures/tst_gestures.cpp | 625 +++++++++++++++++ tests/manual/gestures/graphicsview/gestures.cpp | 90 +++ tests/manual/gestures/graphicsview/gestures.h | 37 + .../manual/gestures/graphicsview/graphicsview.pro | 17 + tests/manual/gestures/graphicsview/imageitem.cpp | 52 ++ tests/manual/gestures/graphicsview/imageitem.h | 36 + tests/manual/gestures/graphicsview/main.cpp | 187 +++++ .../graphicsview/mousepangesturerecognizer.cpp | 95 +++ .../graphicsview/mousepangesturerecognizer.h | 57 ++ tests/manual/gestures/pinch/main.cpp | 68 -- tests/manual/gestures/pinch/pinch.pro | 4 - tests/manual/gestures/pinch/pinch.qrc | 5 - tests/manual/gestures/pinch/pinchwidget.cpp | 118 ---- tests/manual/gestures/pinch/pinchwidget.h | 78 --- tests/manual/gestures/pinch/qt-logo.png | Bin 13923 -> 0 bytes tests/manual/gestures/scrollarea/main.cpp | 188 +++++ .../scrollarea/mousepangesturerecognizer.cpp | 94 +++ .../scrollarea/mousepangesturerecognizer.h | 57 ++ tests/manual/gestures/scrollarea/scrollarea.pro | 3 + tests/manual/gestures/twopanwidgets/main.cpp | 135 ---- .../gestures/twopanwidgets/twopanwidgets.pro | 1 - 66 files changed, 3441 insertions(+), 1998 deletions(-) delete mode 100644 examples/gestures/imageviewer/tapandholdgesture.cpp delete mode 100644 examples/gestures/imageviewer/tapandholdgesture.h create mode 100644 src/gui/kernel/qgesturemanager.cpp create mode 100644 src/gui/kernel/qgesturemanager_p.h create mode 100644 src/gui/kernel/qgesturerecognizer.cpp create mode 100644 src/gui/kernel/qgesturerecognizer.h delete mode 100644 src/gui/kernel/qstandardgestures.h create mode 100644 src/gui/kernel/qwinnativepangesturerecognizer_win.cpp create mode 100644 src/gui/kernel/qwinnativepangesturerecognizer_win_p.h create mode 100644 tests/auto/gestures/gestures.pro create mode 100644 tests/auto/gestures/tst_gestures.cpp create mode 100644 tests/manual/gestures/graphicsview/gestures.cpp create mode 100644 tests/manual/gestures/graphicsview/gestures.h create mode 100644 tests/manual/gestures/graphicsview/graphicsview.pro create mode 100644 tests/manual/gestures/graphicsview/imageitem.cpp create mode 100644 tests/manual/gestures/graphicsview/imageitem.h create mode 100644 tests/manual/gestures/graphicsview/main.cpp create mode 100644 tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp create mode 100644 tests/manual/gestures/graphicsview/mousepangesturerecognizer.h delete mode 100644 tests/manual/gestures/pinch/main.cpp delete mode 100644 tests/manual/gestures/pinch/pinch.pro delete mode 100644 tests/manual/gestures/pinch/pinch.qrc delete mode 100644 tests/manual/gestures/pinch/pinchwidget.cpp delete mode 100644 tests/manual/gestures/pinch/pinchwidget.h delete mode 100644 tests/manual/gestures/pinch/qt-logo.png create mode 100644 tests/manual/gestures/scrollarea/main.cpp create mode 100644 tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp create mode 100644 tests/manual/gestures/scrollarea/mousepangesturerecognizer.h create mode 100644 tests/manual/gestures/scrollarea/scrollarea.pro delete mode 100644 tests/manual/gestures/twopanwidgets/main.cpp delete mode 100644 tests/manual/gestures/twopanwidgets/twopanwidgets.pro diff --git a/examples/gestures/imageviewer/imageviewer.pro b/examples/gestures/imageviewer/imageviewer.pro index 124175e..68c1f1c 100644 --- a/examples/gestures/imageviewer/imageviewer.pro +++ b/examples/gestures/imageviewer/imageviewer.pro @@ -1,11 +1,14 @@ -HEADERS += imagewidget.h \ - tapandholdgesture.h +HEADERS += imagewidget.h SOURCES += imagewidget.cpp \ - tapandholdgesture.cpp \ main.cpp # install target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS imageviewer.pro +sources.files = $$SOURCES \ + $$HEADERS \ + $$RESOURCES \ + $$FORMS \ + imageviewer.pro sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer -INSTALLS += target sources +INSTALLS += target \ + sources diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp index 3489b5b..5633942 100644 --- a/examples/gestures/imageviewer/imagewidget.cpp +++ b/examples/gestures/imageviewer/imagewidget.cpp @@ -59,24 +59,16 @@ ImageWidget::ImageWidget(QWidget *parent) setAttribute(Qt::WA_OpaquePaintEvent); setAttribute(Qt::WA_NoSystemBackground); - QGesture *panGesture = new QPanGesture(this); - connect(panGesture, SIGNAL(started()), this, SLOT(panTriggered())); - connect(panGesture, SIGNAL(finished()), this, SLOT(panTriggered())); - connect(panGesture, SIGNAL(canceled()), this, SLOT(panTriggered())); - connect(panGesture, SIGNAL(triggered()), this, SLOT(panTriggered())); - - QGesture *pinchGesture = new QPinchGesture(this); - connect(pinchGesture, SIGNAL(started()), this, SLOT(pinchTriggered())); - connect(pinchGesture, SIGNAL(finished()), this, SLOT(pinchTriggered())); - connect(pinchGesture, SIGNAL(canceled()), this, SLOT(pinchTriggered())); - connect(pinchGesture, SIGNAL(triggered()), this, SLOT(pinchTriggered())); - -//! [construct swipe gesture] - QGesture *swipeGesture = new QSwipeGesture(this); -//! [construct swipe gesture] -//! [connect swipe gesture] - connect(swipeGesture, SIGNAL(triggered()), this, SLOT(swipeTriggered())); -//! [connect swipe gesture] + grabGesture(Qt::PanGesture); + grabGesture(Qt::PinchGesture); + grabGesture(Qt::SwipeGesture); +} + +bool ImageWidget::event(QEvent *event) +{ + if (event->type() == QEvent::Gesture) + return gestureEvent(static_cast(event)); + return QWidget::event(event); } void ImageWidget::paintEvent(QPaintEvent*) @@ -106,11 +98,25 @@ void ImageWidget::mouseDoubleClickEvent(QMouseEvent *) update(); } -void ImageWidget::panTriggered() +bool ImageWidget::gestureEvent(QGestureEvent *event) +{ + if (QGesture *pan = event->gesture(Qt::PanGesture)) { + panTriggered(static_cast(pan)); + return true; + } else if (QGesture *pinch = event->gesture(Qt::PinchGesture)) { + pinchTriggered(static_cast(pan)); + return true; + } else if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) { + swipeTriggered(static_cast(pan)); + return true; + } + return false; +} + +void ImageWidget::panTriggered(QPanGesture *gesture) { - QPanGesture *pg = qobject_cast(sender()); #ifndef QT_NO_CURSOR - switch (pg->state()) { + switch (gesture->state()) { case Qt::GestureStarted: case Qt::GestureUpdated: setCursor(Qt::SizeAllCursor); @@ -119,33 +125,37 @@ void ImageWidget::panTriggered() setCursor(Qt::ArrowCursor); } #endif - horizontalOffset += pg->lastOffset().width(); - verticalOffset += pg->lastOffset().height(); + QSizeF lastOffset = gesture->property("lastOffset").toSizeF(); + horizontalOffset += lastOffset.width(); + verticalOffset += lastOffset.height(); update(); } -void ImageWidget::pinchTriggered() +void ImageWidget::pinchTriggered(QPinchGesture *gesture) { - QPinchGesture *pg = qobject_cast(sender()); - if (pg->whatChanged() & QPinchGesture::RotationAngleChanged) - rotationAngle += pg->rotationAngle() - pg->lastRotationAngle(); - if (pg->whatChanged() & QPinchGesture::ScaleFactorChanged) - scaleFactor += pg->scaleFactor() - pg->lastScaleFactor(); + QPinchGesture::WhatChanged whatChanged = gesture->property("whatChanged").value(); + if (whatChanged & QPinchGesture::RotationAngleChanged) { + qreal value = gesture->property("rotationAngle").toReal(); + qreal lastValue = gesture->property("lastRotationAngle").toReal(); + rotationAngle += value - lastValue; + } + if (whatChanged & QPinchGesture::ScaleFactorChanged) { + qreal value = gesture->property("scaleFactor").toReal(); + qreal lastValue = gesture->property("lastScaleFactor").toReal(); + scaleFactor += value - lastValue; + } update(); } -//! [swipe slot start] -void ImageWidget::swipeTriggered() +void ImageWidget::swipeTriggered(QSwipeGesture *gesture) { - QSwipeGesture *pg = qobject_cast(sender()); - if (pg->horizontalDirection() == QSwipeGesture::Left - || pg->verticalDirection() == QSwipeGesture::Up) + if (gesture->horizontalDirection() == QSwipeGesture::Left + || gesture->verticalDirection() == QSwipeGesture::Up) goPrevImage(); else goNextImage(); update(); } -//! [swipe slot start] void ImageWidget::resizeEvent(QResizeEvent*) { diff --git a/examples/gestures/imageviewer/imagewidget.h b/examples/gestures/imageviewer/imagewidget.h index 2a1bfca..e05a67a 100644 --- a/examples/gestures/imageviewer/imagewidget.h +++ b/examples/gestures/imageviewer/imagewidget.h @@ -46,6 +46,11 @@ #include #include +class QGestureEvent; +class QPanGesture; +class QPinchGesture; +class QSwipeGesture; + class ImageWidget : public QWidget { Q_OBJECT @@ -56,14 +61,16 @@ public: void openDirectory(const QString &path); protected: + bool event(QEvent*); + bool gestureEvent(QGestureEvent*); void paintEvent(QPaintEvent*); void resizeEvent(QResizeEvent*); void mouseDoubleClickEvent(QMouseEvent*); -private slots: - void panTriggered(); - void pinchTriggered(); - void swipeTriggered(); +private: + void panTriggered(QPanGesture*); + void pinchTriggered(QPinchGesture*); + void swipeTriggered(QSwipeGesture*); private: void updateImage(); diff --git a/examples/gestures/imageviewer/tapandholdgesture.cpp b/examples/gestures/imageviewer/tapandholdgesture.cpp deleted file mode 100644 index a10c192..0000000 --- a/examples/gestures/imageviewer/tapandholdgesture.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "tapandholdgesture.h" - -#include - -// #define TAPANDHOLD_USING_MOUSE - -/*! - \class TapAndHoldGesture - \since 4.6 - - \brief The TapAndHoldGesture class represents a Tap-and-Hold gesture, - providing additional information. -*/ - -const int TapAndHoldGesture::iterationCount = 40; -const int TapAndHoldGesture::iterationTimeout = 50; - -/*! - Creates a new Tap and Hold gesture handler object and marks it as a child - of \a parent. - - On some platforms like Windows there is a system-wide tap and hold gesture - that cannot be overriden, hence the gesture might never trigger and default - context menu will be shown instead. -*/ -TapAndHoldGesture::TapAndHoldGesture(QWidget *parent) - : QGesture(parent), iteration(0) -{ -} - -/*! \internal */ -bool TapAndHoldGesture::filterEvent(QEvent *event) -{ - const QTouchEvent *ev = static_cast(event); - switch (event->type()) { - case QEvent::TouchBegin: { - if (timer.isActive()) - timer.stop(); - timer.start(TapAndHoldGesture::iterationTimeout, this); - const QPoint p = ev->touchPoints().at(0).pos().toPoint(); - position = p; - break; - } - case QEvent::TouchUpdate: - if (ev->touchPoints().size() == 1) { - const QPoint startPos = ev->touchPoints().at(0).startPos().toPoint(); - const QPoint pos = ev->touchPoints().at(0).pos().toPoint(); - if ((startPos - pos).manhattanLength() > 15) - reset(); - } else { - reset(); - } - break; - case QEvent::TouchEnd: - reset(); - break; -#ifdef TAPANDHOLD_USING_MOUSE - case QEvent::MouseButtonPress: { - if (timer.isActive()) - timer.stop(); - timer.start(TapAndHoldGesture::iterationTimeout, this); - const QPoint p = static_cast(event)->pos(); - position = startPosition = p; - break; - } - case QEvent::MouseMove: { - const QPoint startPos = startPosition; - const QPoint pos = static_cast(event)->pos(); - if ((startPos - pos).manhattanLength() > 15) - reset(); - break; - } - case QEvent::MouseButtonRelease: - reset(); - break; -#endif // TAPANDHOLD_USING_MOUSE - default: - break; - } - return false; -} - -/*! \internal */ -void TapAndHoldGesture::timerEvent(QTimerEvent *event) -{ - if (event->timerId() != timer.timerId()) - return; - if (iteration == TapAndHoldGesture::iterationCount) { - timer.stop(); - updateState(Qt::GestureFinished); - } else { - updateState(Qt::GestureUpdated); - } - ++iteration; -} - -/*! \internal */ -void TapAndHoldGesture::reset() -{ - timer.stop(); - iteration = 0; - position = startPosition = QPoint(); - updateState(Qt::NoGesture); -} - -/*! - \property TapAndHoldGesture::pos - - \brief The position of the gesture. -*/ -QPoint TapAndHoldGesture::pos() const -{ - return position; -} diff --git a/examples/gestures/imageviewer/tapandholdgesture.h b/examples/gestures/imageviewer/tapandholdgesture.h deleted file mode 100644 index 682342e..0000000 --- a/examples/gestures/imageviewer/tapandholdgesture.h +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef TAPANDHOLDGESTURE_H -#define TAPANDHOLDGESTURE_H - -#include -#include -#include - -class TapAndHoldGesture : public QGesture -{ - Q_OBJECT - Q_PROPERTY(QPoint pos READ pos) - -public: - TapAndHoldGesture(QWidget *parent); - - bool filterEvent(QEvent *event); - void reset(); - - QPoint pos() const; - -protected: - void timerEvent(QTimerEvent *event); - -private: - QBasicTimer timer; - int iteration; - QPoint position; - QPoint startPosition; - static const int iterationCount; - static const int iterationTimeout; -}; - -#endif // TAPANDHOLDGESTURE_H diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 4234a7e..c90c096 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -501,8 +501,6 @@ public: WA_WState_AcceptedTouchBeginEvent = 122, WA_TouchPadAcceptSingleTouchEvents = 123, - WA_DontUseStandardGestures = 124, - // Add new attributes before this line WA_AttributeCount }; @@ -1615,9 +1613,29 @@ public: enum GestureState { NoGesture, - GestureStarted = 1, - GestureUpdated = 2, - GestureFinished = 3 + GestureStarted = 1, + GestureUpdated = 2, + GestureFinished = 3, + GestureCanceled = 4 + }; + + enum GestureType + { + TapGesture = 1, + TapAndHoldGesture = 2, + PanGesture = 3, + PinchGesture = 4, + SwipeGesture = 5, + + CustomGesture = 0x0100, + + LastGestureType = ~0u + }; + + enum GestureContext + { + WidgetGesture = WidgetShortcut, + WidgetWithChildrenGesture = WidgetWithChildrenShortcut, }; enum NavigationMode @@ -1638,7 +1656,6 @@ public: ; #endif - Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::MouseButtons) Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::Orientations) Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::KeyboardModifiers) diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index ab232bf..385edad 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -1225,8 +1225,6 @@ \value WA_TouchPadAcceptSingleTouchEvents Allows touchpad single touch events to be sent to the widget. - \value WA_DontUseStandardGestures Disables standard gestures on Qt widgets. - \omitvalue WA_SetLayoutDirection \omitvalue WA_InputMethodTransparent \omitvalue WA_WState_CompressKeys diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp index 744e6a9..5883042 100644 --- a/src/corelib/kernel/qcoreevent.cpp +++ b/src/corelib/kernel/qcoreevent.cpp @@ -228,6 +228,8 @@ QT_BEGIN_NAMESPACE \value TouchBegin Beginning of a sequence of touch-screen and/or track-pad events (QTouchEvent) \value TouchUpdate Touch-screen event (QTouchEvent) \value TouchEnd End of touch-event sequence (QTouchEvent) + \value Gesture A gesture was triggered (QGestureEvent) + \value GestureOverride A gesture override was triggered (QGestureEvent) User events should have values between \c User and \c{MaxUser}: diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h index d66cead..ee1e1b9 100644 --- a/src/corelib/kernel/qcoreevent.h +++ b/src/corelib/kernel/qcoreevent.h @@ -283,6 +283,9 @@ public: UpdateSoftKeys = 201, // Internal for compressing soft key updates + Gesture = 198, + GestureOverride = 202, + // 512 reserved for Qt Jambi's MetaCall event // 513 reserved for Qt Jambi's DeleteOnMainThread event @@ -324,6 +327,7 @@ private: friend class QGraphicsView; friend class QGraphicsViewPrivate; friend class QGraphicsScenePrivate; + friend class QGestureManager; }; class Q_CORE_EXPORT QTimerEvent : public QEvent diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 3069733..81bbb5c 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -663,6 +663,8 @@ #include #endif +#include + #include QT_BEGIN_NAMESPACE @@ -7285,6 +7287,13 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent QGraphicsItem::d_ptr->isObject = true; } +void QGraphicsObject::grabGesture(Qt::GestureType type, Qt::GestureContext context) +{ + QGraphicsItemPrivate * const d = QGraphicsItem::d_func(); + d->gestureContext.insert(type, context); + (void)QGestureManager::instance(); // create a gesture manager +} + /*! \property QGraphicsObject::parent \brief the parent of the item diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h index e6e324a..2665235 100644 --- a/src/gui/graphicsview/qgraphicsitem.h +++ b/src/gui/graphicsview/qgraphicsitem.h @@ -464,6 +464,7 @@ private: friend class QGraphicsSceneBspTree; friend class QGraphicsView; friend class QGraphicsViewPrivate; + friend class QGraphicsObject; friend class QGraphicsWidget; friend class QGraphicsWidgetPrivate; friend class QGraphicsProxyWidgetPrivate; @@ -473,6 +474,7 @@ private: friend class QGraphicsSceneBspTreeIndexPrivate; friend class QGraphicsItemEffectSourcePrivate; friend class QGraphicsTransformPrivate; + friend class QGestureManager; friend class ::tst_QGraphicsItem; friend bool qt_closestLeaf(const QGraphicsItem *, const QGraphicsItem *); friend bool qt_closestItemFirst(const QGraphicsItem *, const QGraphicsItem *); @@ -553,6 +555,8 @@ public: using QObject::children; #endif + void grabGesture(Qt::GestureType type, Qt::GestureContext context = Qt::WidgetWithChildrenGesture); + Q_SIGNALS: void parentChanged(); void opacityChanged(); diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index 51bfea1..6550362 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -450,6 +450,7 @@ public: QGraphicsItem *focusScopeItem; Qt::InputMethodHints imHints; QGraphicsItem::PanelModality panelModality; + QMap gestureContext; // Packed 32 bits quint32 acceptedMouseButtons : 5; diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 961f44f..0f33a66 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -5475,11 +5475,11 @@ void QGraphicsScenePrivate::touchEventHandler(QTouchEvent *sceneTouchEvent) } if (itemsNeedingEvents.isEmpty()) { - sceneTouchEvent->ignore(); + sceneTouchEvent->accept(); return; } - bool acceptSceneTouchEvent = false; + bool ignoreSceneTouchEvent = true; QHash::ConstIterator it = itemsNeedingEvents.constBegin(); const QHash::ConstIterator end = itemsNeedingEvents.constEnd(); for (; it != end; ++it) { @@ -5522,19 +5522,20 @@ void QGraphicsScenePrivate::touchEventHandler(QTouchEvent *sceneTouchEvent) item->d_ptr->acceptedTouchBeginEvent = true; bool res = sendTouchBeginEvent(item, &touchEvent) && touchEvent.isAccepted(); - acceptSceneTouchEvent = acceptSceneTouchEvent || res; + if (!res) + ignoreSceneTouchEvent = false; break; } default: if (item->d_ptr->acceptedTouchBeginEvent) { updateTouchPointsForItem(item, &touchEvent); (void) sendEvent(item, &touchEvent); - acceptSceneTouchEvent = true; + ignoreSceneTouchEvent = false; } break; } } - sceneTouchEvent->setAccepted(acceptSceneTouchEvent); + sceneTouchEvent->setAccepted(ignoreSceneTouchEvent); } bool QGraphicsScenePrivate::sendTouchBeginEvent(QGraphicsItem *origin, QTouchEvent *touchEvent) diff --git a/src/gui/graphicsview/qgraphicsscene.h b/src/gui/graphicsview/qgraphicsscene.h index ba47530..d6d48d7 100644 --- a/src/gui/graphicsview/qgraphicsscene.h +++ b/src/gui/graphicsview/qgraphicsscene.h @@ -311,6 +311,7 @@ private: friend class QGraphicsSceneBspTreeIndex; friend class QGraphicsSceneBspTreeIndexPrivate; friend class QGraphicsItemEffectSourcePrivate; + friend class QGesture; }; Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsScene::SceneLayers) diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri index 760d73c..88c1f73 100644 --- a/src/gui/kernel/kernel.pri +++ b/src/gui/kernel/kernel.pri @@ -45,10 +45,11 @@ HEADERS += \ kernel/qkeymapper_p.h \ kernel/qgesture.h \ kernel/qgesture_p.h \ - kernel/qstandardgestures.h \ - kernel/qstandardgestures_p.h \ - kernel/qsoftkeymanager_p.h \ - kernel/qguiplatformplugin_p.h + kernel/qstandardgestures_p.h \ + kernel/qgesturerecognizer.h \ + kernel/qgesturemanager_p.h \ + kernel/qsoftkeymanager_p.h \ + kernel/qguiplatformplugin_p.h SOURCES += \ kernel/qaction.cpp \ @@ -79,13 +80,18 @@ SOURCES += \ kernel/qwidgetaction.cpp \ kernel/qkeymapper.cpp \ kernel/qgesture.cpp \ - kernel/qstandardgestures.cpp \ - kernel/qsoftkeymanager.cpp \ - kernel/qguiplatformplugin.cpp + kernel/qstandardgestures.cpp \ + kernel/qgesturerecognizer.cpp \ + kernel/qgesturemanager.cpp \ + kernel/qsoftkeymanager.cpp \ + kernel/qguiplatformplugin.cpp win32 { DEFINES += QT_NO_DIRECTDRAW + HEADERS += \ + kernel/qwinnativepangesturerecognizer_win_p.h + SOURCES += \ kernel/qapplication_win.cpp \ kernel/qclipboard_win.cpp \ @@ -96,7 +102,8 @@ win32 { kernel/qsound_win.cpp \ kernel/qwidget_win.cpp \ kernel/qole_win.cpp \ - kernel/qkeymapper_win.cpp + kernel/qkeymapper_win.cpp \ + kernel/qwinnativepangesturerecognizer_win.cpp !contains(DEFINES, QT_NO_DIRECTDRAW):LIBS += ddraw.lib } diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index 43addb6..afc6f63 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -99,6 +99,9 @@ #include "qapplication.h" +#include "qgesture.h" +#include "private/qgesturemanager_p.h" + #ifndef QT_NO_LIBRARY #include "qlibrary.h" #endif @@ -154,6 +157,14 @@ bool QApplicationPrivate::autoSipEnabled = false; bool QApplicationPrivate::autoSipEnabled = true; #endif +QGestureManager* QGestureManager::instance() +{ + QApplicationPrivate *d = qApp->d_func(); + if (!d->gestureManager) + d->gestureManager = new QGestureManager(qApp); + return d->gestureManager; +} + QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::Type type) : QCoreApplicationPrivate(argc, argv) { @@ -177,6 +188,8 @@ QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::T directPainters = 0; #endif + gestureManager = 0; + if (!self) self = this; } @@ -3632,6 +3645,13 @@ bool QApplication::notify(QObject *receiver, QEvent *e) #endif // !QT_NO_WHEELEVENT || !QT_NO_TABLETEVENT } + // walk through parents and check for gestures + if (d->gestureManager) { + if (d->gestureManager->filterEvent(receiver, e)) + return true; + } + + // User input and window activation makes tooltips sleep switch (e->type()) { case QEvent::Wheel: @@ -4133,6 +4153,65 @@ bool QApplication::notify(QObject *receiver, QEvent *e) } break; } + case QEvent::Gesture: + case QEvent::GestureOverride: + { + if (receiver->isWidgetType()) { + QWidget *w = static_cast(receiver); + QGestureEvent *gestureEvent = static_cast(e); + QList allGestures = gestureEvent->allGestures(); + + bool eventAccepted = gestureEvent->isAccepted(); + bool wasAccepted = eventAccepted; + while (w) { + // send only gestures the widget expects + QList gestures; + QWidgetPrivate *wd = w->d_func(); + for (int i = 0; i < allGestures.size();) { + QGesture *g = allGestures.at(i); + Qt::GestureType type = g->gestureType(); + if (wd->gestureContext.contains(type)) { + allGestures.removeAt(i); + gestures.append(g); + gestureEvent->setAccepted(g, false); + } else { + ++i; + } + } + if (!gestures.isEmpty()) { + QGestureEvent ge(gestures); + ge.t = gestureEvent->t; + ge.spont = gestureEvent->spont; + ge.m_accept = wasAccepted; + res = d->notify_helper(w, &ge); + gestureEvent->spont = false; + eventAccepted = ge.isAccepted(); + if (res && eventAccepted) + break; + if (!eventAccepted) { + // ### two ways to ignore the event/gesture + + // if the whole event wasn't accepted, put back those + // gestures that were not accepted. + for (int i = 0; i < gestures.size(); ++i) { + QGesture *g = gestures.at(i); + if (!ge.isAccepted(g)) + allGestures.append(g); + } + } + } + if (allGestures.isEmpty()) + break; + if (w->isWindow()) + break; + w = w->parentWidget(); + } + gestureEvent->m_accept = eventAccepted; + } else { + res = d->notify_helper(receiver, e); + } + break; + } default: res = d->notify_helper(receiver, e); break; @@ -5540,6 +5619,16 @@ Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window, QApplicationPrivate::translateRawTouchEvent(window, deviceType, touchPoints); } +Qt::GestureType QApplication::registerGestureRecognizer(QGestureRecognizer *recognizer) +{ + return QGestureManager::instance()->registerGestureRecognizer(recognizer); +} + +void QApplication::unregisterGestureRecognizer(Qt::GestureType type) +{ + QGestureManager::instance()->unregisterGestureRecognizer(type); +} + QT_END_NAMESPACE #include "moc_qapplication.cpp" diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h index 5f21a56..12b398d 100644 --- a/src/gui/kernel/qapplication.h +++ b/src/gui/kernel/qapplication.h @@ -86,6 +86,7 @@ class QDecoration; class QApplication; class QApplicationPrivate; +class QGestureRecognizer; #if defined(qApp) #undef qApp #endif @@ -289,6 +290,9 @@ public: static Qt::NavigationMode navigationMode(); #endif + Qt::GestureType registerGestureRecognizer(QGestureRecognizer *recognizer); + void unregisterGestureRecognizer(Qt::GestureType type); + Q_SIGNALS: void lastWindowClosed(); void focusChanged(QWidget *old, QWidget *now); @@ -400,6 +404,7 @@ private: friend class QDirectPainter; friend class QDirectPainterPrivate; #endif + friend class QGestureManager; #if defined(Q_WS_MAC) || defined(Q_WS_X11) Q_PRIVATE_SLOT(d_func(), void _q_alertTimeOut()) diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h index 95b6d28..2d3d18c 100644 --- a/src/gui/kernel/qapplication_p.h +++ b/src/gui/kernel/qapplication_p.h @@ -83,8 +83,8 @@ class QGraphicsSystem; class QInputContext; class QObject; class QWidget; -class QGestureManager; class QSocketNotifier; +class QGestureManager; extern bool qt_is_gui_used; #ifndef QT_NO_CLIPBOARD @@ -265,20 +265,6 @@ typedef struct tagGESTURECONFIG #endif // Q_WS_WIN -class QPanGesture; -class QPinchGesture; -class QSwipeGesture; - -struct QStandardGestures -{ - QPanGesture *pan; - QPinchGesture *pinch; - QSwipeGesture *swipe; - - QStandardGestures() : pan(0), pinch(0), swipe(0) { } -}; - - class QScopedLoopLevelCounter { QThreadData *threadData; @@ -522,6 +508,8 @@ public: void sendSyntheticEnterLeave(QWidget *widget); #endif + QGestureManager *gestureManager; + QMap widgetForTouchPointId; QMap appCurrentTouchPoints; static void updateTouchPointsForWidget(QWidget *widget, QTouchEvent *touchEvent); @@ -536,9 +524,6 @@ public: QTouchEvent::DeviceType deviceType, const QList &touchPoints); - typedef QMap WidgetStandardGesturesMap; - WidgetStandardGesturesMap widgetGestures; - #if defined(Q_WS_WIN) static PtrRegisterTouchWindow RegisterTouchWindow; static PtrGetTouchInputInfo GetTouchInputInfo; @@ -555,7 +540,6 @@ public: PtrBeginPanningFeedback BeginPanningFeedback; PtrUpdatePanningFeedback UpdatePanningFeedback; PtrEndPanningFeedback EndPanningFeedback; - QWidget *gestureWidget; #endif #ifdef QT_RX71_MULTITOUCH diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 270562f..540f0a2 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -92,8 +92,6 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c #include #include #include "qevent_p.h" -#include "qstandardgestures.h" -#include "qstandardgestures_p.h" //#define ALIEN_DEBUG @@ -854,7 +852,6 @@ void qt_init(QApplicationPrivate *priv, int) (PtrEndPanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"), "EndPanningFeedback"); #endif - priv->gestureWidget = 0; } /***************************************************************************** @@ -2499,24 +2496,24 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam if (qAppPriv->GetGestureInfo) bResult = qAppPriv->GetGestureInfo((HANDLE)msg.lParam, &gi); if (bResult) { - if (gi.dwID == GID_BEGIN) { - // find the alien widget for the gesture position. - // This might not be accurate as the position is the center - // point of two fingers for multi-finger gestures. - QPoint pt(gi.ptsLocation.x, gi.ptsLocation.y); - QWidget *w = widget->childAt(widget->mapFromGlobal(pt)); - qAppPriv->gestureWidget = w ? w : widget; - } - if (qAppPriv->gestureWidget) - static_cast(qAppPriv->gestureWidget)->translateGestureEvent(msg, gi); - if (qAppPriv->CloseGestureInfoHandle) - qAppPriv->CloseGestureInfoHandle((HANDLE)msg.lParam); - if (gi.dwID == GID_END) - qAppPriv->gestureWidget = 0; - } else { - DWORD dwErr = GetLastError(); - if (dwErr > 0) - qWarning() << "translateGestureEvent: error = " << dwErr; +// if (gi.dwID == GID_BEGIN) { +// // find the alien widget for the gesture position. +// // This might not be accurate as the position is the center +// // point of two fingers for multi-finger gestures. +// QPoint pt(gi.ptsLocation.x, gi.ptsLocation.y); +// QWidget *w = widget->childAt(widget->mapFromGlobal(pt)); +// qAppPriv->gestureWidget = w ? w : widget; +// } +// if (qAppPriv->gestureWidget) +// static_cast(qAppPriv->gestureWidget)->translateGestureEvent(msg, gi); +// if (qAppPriv->CloseGestureInfoHandle) +// qAppPriv->CloseGestureInfoHandle((HANDLE)msg.lParam); +// if (gi.dwID == GID_END) +// qAppPriv->gestureWidget = 0; +// } else { +// DWORD dwErr = GetLastError(); +// if (dwErr > 0) +// qWarning() << "translateGestureEvent: error = " << dwErr; } result = true; break; diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 7b9cc9a..4316714 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -49,6 +49,8 @@ #include "qmime.h" #include "qdnd_p.h" #include "qevent_p.h" +#include "qgesture.h" +#include "qgesture_p.h" QT_BEGIN_NAMESPACE @@ -3357,6 +3359,9 @@ QDebug operator<<(QDebug dbg, const QEvent *e) { case QEvent::ChildRemoved: n = n ? n : "ChildRemoved"; dbg.nospace() << "QChildEvent(" << n << ", " << (static_cast(e))->child(); return dbg.space(); + case QEvent::Gesture: + n = "Gesture"; + break; default: dbg.nospace() << "QEvent(" << (const void *)e << ", type = " << e->type() << ')'; return dbg.space(); @@ -4186,4 +4191,73 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T return *this; } +/*! + \class QGestureEvent + \since 4.6 + \ingroup events + + \brief The QGestureEvent class provides the description of triggered + gestures. + + The QGestureEvent class contains a list of gestures that are being executed + right now (\l{QGestureEvent::}{activeGestures()}) and a list of gestures + that are \l{QGestureEvent::canceledGestures}{cancelled} (a gesture might be + cancelled because the window lost focus, or because of timeout, etc). + + \sa QGesture +*/ + +/*! + Creates new QGestureEvent containing a list of \a gestures. +*/ +QGestureEvent::QGestureEvent(const QList &gestures) + : QEvent(QEvent::Gesture), gestures_(gestures) +{ +} + +QList QGestureEvent::allGestures() const +{ + return gestures_; +} + +QGesture* QGestureEvent::gesture(Qt::GestureType type) +{ + for(int i = 0; i < gestures_.size(); ++i) + if (gestures_.at(i)->gestureType() == type) + return gestures_.at(i); + return 0; +} + +QList QGestureEvent::activeGestures() const +{ + return gestures_; +} + +QList QGestureEvent::canceledGestures() const +{ + return gestures_; +} + +void QGestureEvent::setAccepted(QGesture *gesture, bool value) +{ + setAccepted(false); + if (gesture) + gesture->d_func()->accept = value; +} + +void QGestureEvent::accept(QGesture *gesture) +{ + setAccepted(gesture, true); +} + +void QGestureEvent::ignore(QGesture *gesture) +{ + setAccepted(gesture, false); +} + +bool QGestureEvent::isAccepted(QGesture *gesture) const +{ + return gesture ? gesture->d_func()->accept : false; +} + QT_END_NAMESPACE diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index 4396766..224b479 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -819,6 +819,40 @@ protected: friend class QApplicationPrivate; }; +class QGesture; +class Q_GUI_EXPORT QGestureEvent : public QEvent +{ +public: + QGestureEvent(const QList &gestures); + + QList allGestures() const; + QGesture *gesture(Qt::GestureType type); + + QList activeGestures() const; + QList canceledGestures() const; + +#ifdef Q_NO_USING_KEYWORD + inline void setAccepted(bool accepted) { QEvent::setAccepted(accepted); } + inline bool isAccepted() const { return QEvent::isAccepted(); } + + inline void accept() { QEvent::accept(); } + inline void ignore() { QEvent::ignore(); } +#else + using QEvent::setAccepted; + using QEvent::isAccepted; + using QEvent::accept; + using QEvent::ignore; +#endif + + void setAccepted(QGesture *, bool); + void accept(QGesture *); + void ignore(QGesture *); + bool isAccepted(QGesture *) const; + +private: + QList gestures_; +}; + QT_END_NAMESPACE QT_END_HEADER diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index 237ce46..bb74aec 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -40,274 +40,290 @@ ****************************************************************************/ #include "qgesture.h" -#include -#include "qgraphicsitem.h" +#include "private/qgesture_p.h" QT_BEGIN_NAMESPACE + /*! + \class QGesture + \since 4.6 -class QEventFilterProxyGraphicsItem : public QGraphicsItem -{ -public: - QEventFilterProxyGraphicsItem(QGesture *g) - : gesture(g) - { - } - bool sceneEventFilter(QGraphicsItem *, QEvent *event) - { - return gesture ? gesture->filterEvent(event) : false; - } - QRectF boundingRect() const { return QRectF(); } - void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) { } + \brief The QGesture class represents a gesture, containing all + properties that describe a gesture. -private: - QGesture *gesture; -}; + The widget receives a QGestureEvent with a list of QGesture + objects that represent gestures that are occuring on it. The class + has a list of properties that can be queried by the user to get + some gesture-specific arguments (i.e. position of the tap in the + DoubleTap gesture). -/*! - \class QGesture - \since 4.6 - \preliminary - - \brief The QGesture class is the base class for implementing custom - gestures. - - This class represents both an object that recognizes a gesture out of a set - of input events (a gesture recognizer), and a gesture object itself that - can be used to get extended information about the triggered gesture. - - The class has a list of properties that can be queried by the user to get - some gesture-specific parameters (for example, an offset of a Pan gesture). - - Usually gesture recognizer implements a state machine, storing its state - internally in the recognizer object. The recognizer receives input events - through the \l{QGesture::}{filterEvent()} virtual function and decides - whether the event should change the state of the recognizer by emitting an - appropriate signal. - - Input events should be either fed to the recognizer one by one with a - filterEvent() function, or the gesture recognizer should be attached to an - object it filters events for by specifying it as a parent object. The - QGesture object installs itself as an event filter to the parent object - automatically, the unsetObject() function should be used to remove an event - filter from the parent object. To make a - gesture that operates on a QGraphicsItem, both the appropriate QGraphicsView - should be passed as a parent object and setGraphicsItem() functions should - be used to attach a gesture to a graphics item. - - This is a base class, to create a custom gesture type, you should subclass - it and implement its pure virtual functions. - - \sa QPanGesture + When creating custom gesture recognizers, they might add new + properties to the gesture object, or custom gesture developers + might subclass the QGesture objects to provide some extended + information. + + \sa QGestureEvent, QGestureRecognizer */ -/*! \fn bool QGesture::filterEvent(QEvent *event) +QGesture::QGesture(Qt::GestureType type, QObject *parent) + : QObject(*new QGesturePrivate, parent) +{ + d_func()->gestureType = type; +} - Parses input \a event and emits a signal when detects a gesture. +QGesture::QGesture(QObject *parent) + : QObject(*new QGesturePrivate, parent) +{ + d_func()->gestureType = Qt::CustomGesture; +} - In your reimplementation of this function, if you want to filter the \a - event out, i.e. stop it being handled further, return true; otherwise - return false; +QGesture::QGesture(QGesturePrivate &dd, Qt::GestureType type, QObject *parent) + : QObject(dd, parent) +{ + d_func()->gestureType = type; +} - This is a pure virtual function that needs to be implemented in subclasses. -*/ +QGesture::~QGesture() +{ +} -/*! \fn void QGesture::started() +Qt::GestureType QGesture::gestureType() const +{ + return d_func()->gestureType; +} - The signal is emitted when the gesture is started. Extended information - about the gesture is contained in the signal sender object. +Qt::GestureState QGesture::state() const +{ + return d_func()->state; +} - In addition to started(), a triggered() signal should also be emitted. -*/ +QObject* QGesture::targetObject() const +{ + return d_func()->targetObject; +} -/*! \fn void QGesture::triggered() +void QGesture::setTargetObject(QObject *value) +{ + d_func()->targetObject = value; +} - The signal is emitted when the gesture is detected. Extended information - about the gesture is contained in the signal sender object. -*/ +QPointF QGesture::hotSpot() const +{ + return d_func()->hotSpot; +} -/*! \fn void QGesture::finished() +void QGesture::setHotSpot(const QPointF &value) +{ + Q_D(QGesture); + d->hotSpot = value; + d->isHotSpotSet = true; +} - The signal is emitted when the gesture is finished. Extended information - about the gesture is contained in the signal sender object. -*/ +bool QGesture::hasHotSpot() const +{ + return d_func()->isHotSpotSet; +} -/*! \fn void QGesture::canceled() +void QGesture::unsetHotSpot() +{ + d_func()->isHotSpotSet = false; +} - The signal is emitted when the gesture is canceled, for example the - reset() function is called while the gesture was in the process of - emitting a triggered() signal. Extended information about the - gesture is contained in the sender object. -*/ +// QPanGesture -/*! - Creates a new gesture handler object and marks it as a child of \a - parent. \a gestureTarget is the object that the gesture will watch - for events. +QPanGesture::QPanGesture(QObject *parent) + : QGesture(*new QPanGesturePrivate, Qt::PanGesture, parent) +{ - The \a parent object is also the default event source for the - gesture, meaning that the gesture installs itself as an event filter - for the \a parent. +} - \sa setGraphicsItem() -*/ -QGesture::QGesture(QObject *gestureTarget, QObject *parent) - : QObject(*new QGesturePrivate, parent) +QSizeF QPanGesture::totalOffset() const { - setGestureTarget(gestureTarget); + return d_func()->totalOffset; } -/*! \internal - */ -QGesture::QGesture(QGesturePrivate &dd, QObject *gestureTarget, QObject *parent) - : QObject(dd, parent) +QSizeF QPanGesture::lastOffset() const { - setGestureTarget(gestureTarget); + return d_func()->lastOffset; } -/*! - Destroys the gesture object. -*/ -QGesture::~QGesture() +QSizeF QPanGesture::offset() const { + return d_func()->offset; } -/*! - \property QGesture::gestureTarget +qreal QPanGesture::acceleration() const +{ + return d_func()->acceleration; +} - Gesture target is the object that the gesture will watch for events. - Typically this means that the gesture installs an event filter on the - target object. -*/ -void QGesture::setGestureTarget(QObject *object) + +void QPanGesture::setTotalOffset(const QSizeF &value) { - d_func()->setupGestureTarget(object); + d_func()->totalOffset = value; } -QObject* QGesture::gestureTarget() const +void QPanGesture::setLastOffset(const QSizeF &value) { - return d_func()->gestureTarget; + d_func()->lastOffset = value; } -void QGesturePrivate::setupGestureTarget(QObject *object) +void QPanGesture::setOffset(const QSizeF &value) { - Q_Q(QGesture); - if (gestureTarget) - gestureTarget->removeEventFilter(q); - if (object) - object->installEventFilter(q); - gestureTarget = object; + d_func()->offset = value; } -/*! \internal - */ -bool QGesture::eventFilter(QObject *receiver, QEvent *event) +void QPanGesture::setAcceleration(qreal value) { - Q_D(QGesture); - if (d->graphicsItem && receiver == parent()) - return false; - return filterEvent(event); + d_func()->acceleration = value; } -/*! - \property QGesture::state +// QPinchGesture - \brief The current state of the gesture. -*/ +QPinchGesture::QPinchGesture(QObject *parent) + : QGesture(*new QPinchGesturePrivate, Qt::PinchGesture, parent) +{ -/*! - Returns the gesture recognition state. - */ -Qt::GestureState QGesture::state() const +} + +QPinchGesture::WhatChanged QPinchGesture::whatChanged() const { - return d_func()->state; + return d_func()->whatChanged; } -/*! - Sets this gesture's recognition state to \a state and emits appropriate - signals. +void QPinchGesture::setWhatChanged(QPinchGesture::WhatChanged value) +{ + d_func()->whatChanged = value; +} - This functions emits the signals according to the old state and the new - \a state, and it should be called after all the internal properties have been - initialized. - \sa started(), triggered(), finished(), canceled() - */ -void QGesture::updateState(Qt::GestureState state) +QPointF QPinchGesture::startCenterPoint() const { - Q_D(QGesture); - if (d->state == state) { - if (state == Qt::GestureUpdated) - emit triggered(); - return; - } - const Qt::GestureState oldState = d->state; - if (state != Qt::NoGesture && oldState > state) { - // comparing the state as ints: state should only be changed from - // started to (optionally) updated and to finished. - d->state = state; - qWarning("QGesture::updateState: incorrect new state"); - return; - } - if (oldState == Qt::NoGesture) { - d->state = Qt::GestureStarted; - emit started(); - } - d->state = state; - if (state == Qt::GestureUpdated) - emit triggered(); - else if (state == Qt::GestureFinished) - emit finished(); - else if (state == Qt::NoGesture) - emit canceled(); - - if (state == Qt::GestureFinished) { - // gesture is finished, so we reset the internal state. - d->state = Qt::NoGesture; - } -} - -/*! - Sets the \a graphicsItem the gesture is filtering events for. - - The gesture will install an event filter to the \a graphicsItem and - redirect them to the filterEvent() function. - - \sa graphicsItem() -*/ -void QGesture::setGraphicsItem(QGraphicsItem *graphicsItem) + return d_func()->startCenterPoint; +} + +QPointF QPinchGesture::lastCenterPoint() const { - Q_D(QGesture); - if (d->graphicsItem && d->eventFilterProxyGraphicsItem) - d->graphicsItem->removeSceneEventFilter(d->eventFilterProxyGraphicsItem); - d->graphicsItem = graphicsItem; - if (!d->eventFilterProxyGraphicsItem) - d->eventFilterProxyGraphicsItem = new QEventFilterProxyGraphicsItem(this); - if (graphicsItem) - graphicsItem->installSceneEventFilter(d->eventFilterProxyGraphicsItem); + return d_func()->lastCenterPoint; } -/*! - Returns the graphics item the gesture is filtering events for. +QPointF QPinchGesture::centerPoint() const +{ + return d_func()->centerPoint; +} - \sa setGraphicsItem() -*/ -QGraphicsItem* QGesture::graphicsItem() const +void QPinchGesture::setStartCenterPoint(const QPointF &value) { - return d_func()->graphicsItem; + d_func()->startCenterPoint = value; } -/*! \fn void QGesture::reset() +void QPinchGesture::setLastCenterPoint(const QPointF &value) +{ + d_func()->lastCenterPoint = value; +} - Resets the internal state of the gesture. This function might be called by - the filterEvent() implementation in a derived class, or by the user to - cancel a gesture. The base class implementation calls - updateState(Qt::NoGesture) which emits the canceled() - signal if the state() of the gesture indicated it was active. -*/ -void QGesture::reset() +void QPinchGesture::setCenterPoint(const QPointF &value) +{ + d_func()->centerPoint = value; +} + + +qreal QPinchGesture::totalScaleFactor() const +{ + return d_func()->totalScaleFactor; +} + +qreal QPinchGesture::lastScaleFactor() const +{ + return d_func()->lastScaleFactor; +} + +qreal QPinchGesture::scaleFactor() const +{ + return d_func()->scaleFactor; +} + +void QPinchGesture::setTotalScaleFactor(qreal value) +{ + d_func()->totalScaleFactor = value; +} + +void QPinchGesture::setLastScaleFactor(qreal value) +{ + d_func()->lastScaleFactor = value; +} + +void QPinchGesture::setScaleFactor(qreal value) +{ + d_func()->scaleFactor = value; +} + + +qreal QPinchGesture::totalRotationAngle() const +{ + return d_func()->totalRotationAngle; +} + +qreal QPinchGesture::lastRotationAngle() const +{ + return d_func()->lastRotationAngle; +} + +qreal QPinchGesture::rotationAngle() const +{ + return d_func()->rotationAngle; +} + +void QPinchGesture::setTotalRotationAngle(qreal value) +{ + d_func()->totalRotationAngle = value; +} + +void QPinchGesture::setLastRotationAngle(qreal value) +{ + d_func()->lastRotationAngle = value; +} + +void QPinchGesture::setRotationAngle(qreal value) +{ + d_func()->rotationAngle = value; +} + +// QSwipeGesture + +QSwipeGesture::QSwipeGesture(QObject *parent) + : QGesture(*new QSwipeGesturePrivate, Qt::SwipeGesture, parent) +{ +} + +QSwipeGesture::SwipeDirection QSwipeGesture::horizontalDirection() const +{ + return d_func()->horizontalDirection; +} + +QSwipeGesture::SwipeDirection QSwipeGesture::verticalDirection() const +{ + return d_func()->verticalDirection; +} + +void QSwipeGesture::setHorizontalDirection(QSwipeGesture::SwipeDirection value) +{ + d_func()->horizontalDirection = value; +} + +void QSwipeGesture::setVerticalDirection(QSwipeGesture::SwipeDirection value) +{ + d_func()->verticalDirection = value; +} + +qreal QSwipeGesture::swipeAngle() const +{ + return d_func()->swipeAngle; +} + +void QSwipeGesture::setSwipeAngle(qreal value) { - updateState(Qt::NoGesture); + d_func()->swipeAngle = value; } QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h index 440565e..b37120f 100644 --- a/src/gui/kernel/qgesture.h +++ b/src/gui/kernel/qgesture.h @@ -55,7 +55,8 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) -class QGraphicsItem; +Q_DECLARE_METATYPE(Qt::GestureState) + class QGesturePrivate; class Q_GUI_EXPORT QGesture : public QObject { @@ -63,37 +64,149 @@ class Q_GUI_EXPORT QGesture : public QObject Q_DECLARE_PRIVATE(QGesture) Q_PROPERTY(Qt::GestureState state READ state) - Q_PROPERTY(QObject* gestureTarget READ gestureTarget WRITE setGestureTarget) + Q_PROPERTY(Qt::GestureType gestureType READ gestureType) + Q_PROPERTY(QPointF hotSpot READ hotSpot WRITE setHotSpot RESET unsetHotSpot) + Q_PROPERTY(bool hasHotSpot READ hasHotSpot) + Q_PROPERTY(QObject* targetObject READ targetObject WRITE setTargetObject) public: - explicit QGesture(QObject *gestureTarget = 0, QObject *parent = 0); + explicit QGesture(Qt::GestureType type = Qt::CustomGesture, QObject *parent = 0); + explicit QGesture(QObject *parent); ~QGesture(); - virtual bool filterEvent(QEvent *event) = 0; + Qt::GestureType gestureType() const; - void setGestureTarget(QObject *object); - QObject* gestureTarget() const; + Qt::GestureState state() const; - void setGraphicsItem(QGraphicsItem *); - QGraphicsItem *graphicsItem() const; + QObject *targetObject() const; + void setTargetObject(QObject *value); - Qt::GestureState state() const; + QPointF hotSpot() const; + void setHotSpot(const QPointF &value); + bool hasHotSpot() const; + void unsetHotSpot(); protected: - QGesture(QGesturePrivate &dd, QObject *gestureTarget, QObject *parent); - bool eventFilter(QObject*, QEvent*); + QGesture(QGesturePrivate &dd, Qt::GestureType type, QObject *parent); - virtual void reset(); - void updateState(Qt::GestureState state); +private: + friend class QGestureEvent; + friend class QGestureRecognizer; + friend class QGestureManager; +}; -Q_SIGNALS: - void started(); - void triggered(); - void finished(); - void canceled(); +class QPanGesturePrivate; +class Q_GUI_EXPORT QPanGesture : public QGesture +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QPanGesture) -private: - friend class QWidget; + Q_PROPERTY(QSizeF totalOffset READ totalOffset WRITE setTotalOffset) + Q_PROPERTY(QSizeF lastOffset READ lastOffset WRITE setLastOffset) + Q_PROPERTY(QSizeF offset READ offset WRITE setOffset) + Q_PROPERTY(qreal acceleration READ acceleration WRITE setAcceleration) + +public: + QPanGesture(QObject *parent = 0); + + QSizeF totalOffset() const; + QSizeF lastOffset() const; + QSizeF offset() const; + qreal acceleration() const; + + void setTotalOffset(const QSizeF &value); + void setLastOffset(const QSizeF &value); + void setOffset(const QSizeF &value); + void setAcceleration(qreal value); + + friend class QPanGestureRecognizer; + friend class QWinNativePanGestureRecognizer; +}; + +class QPinchGesturePrivate; +class Q_GUI_EXPORT QPinchGesture : public QGesture +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QPinchGesture) + +public: + enum WhatChange { + ScaleFactorChanged = 0x1, + RotationAngleChanged = 0x2, + CenterPointChanged = 0x4 + }; + Q_DECLARE_FLAGS(WhatChanged, WhatChange) + + Q_PROPERTY(WhatChanged whatChanged READ whatChanged WRITE setWhatChanged) + + Q_PROPERTY(qreal totalScaleFactor READ totalScaleFactor WRITE setTotalScaleFactor) + Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor WRITE setLastScaleFactor) + Q_PROPERTY(qreal scaleFactor READ scaleFactor WRITE setScaleFactor) + + Q_PROPERTY(qreal totalRotationAngle READ totalRotationAngle WRITE setTotalRotationAngle) + Q_PROPERTY(qreal lastRotationAngle READ lastRotationAngle WRITE setLastRotationAngle) + Q_PROPERTY(qreal rotationAngle READ rotationAngle WRITE setRotationAngle) + + Q_PROPERTY(QPointF startCenterPoint READ startCenterPoint WRITE setStartCenterPoint) + Q_PROPERTY(QPointF lastCenterPoint READ lastCenterPoint WRITE setLastCenterPoint) + Q_PROPERTY(QPointF centerPoint READ centerPoint WRITE setCenterPoint) + +public: + QPinchGesture(QObject *parent = 0); + + WhatChanged whatChanged() const; + void setWhatChanged(WhatChanged value); + + QPointF startCenterPoint() const; + QPointF lastCenterPoint() const; + QPointF centerPoint() const; + void setStartCenterPoint(const QPointF &value); + void setLastCenterPoint(const QPointF &value); + void setCenterPoint(const QPointF &value); + + qreal totalScaleFactor() const; + qreal lastScaleFactor() const; + qreal scaleFactor() const; + void setTotalScaleFactor(qreal value); + void setLastScaleFactor(qreal value); + void setScaleFactor(qreal value); + + qreal totalRotationAngle() const; + qreal lastRotationAngle() const; + qreal rotationAngle() const; + void setTotalRotationAngle(qreal value); + void setLastRotationAngle(qreal value); + void setRotationAngle(qreal value); + + friend class QPinchGestureRecognizer; +}; + +Q_DECLARE_METATYPE(QPinchGesture::WhatChanged) + +class QSwipeGesturePrivate; +class Q_GUI_EXPORT QSwipeGesture : public QGesture +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QSwipeGesture) + Q_ENUMS(SwipeDirection) + + Q_PROPERTY(SwipeDirection horizontalDirection READ horizontalDirection WRITE setHorizontalDirection) + Q_PROPERTY(SwipeDirection verticalDirection READ verticalDirection WRITE setVerticalDirection) + Q_PROPERTY(qreal swipeAngle READ swipeAngle WRITE setSwipeAngle) + +public: + enum SwipeDirection { NoDirection, Left, Right, Up, Down }; + QSwipeGesture(QObject *parent = 0); + + SwipeDirection horizontalDirection() const; + SwipeDirection verticalDirection() const; + void setHorizontalDirection(SwipeDirection value); + void setVerticalDirection(SwipeDirection value); + + qreal swipeAngle() const; + void setSwipeAngle(qreal value); + + friend class QSwipeGestureRecognizer; }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h index 52e399f..7f69a4e 100644 --- a/src/gui/kernel/qgesture_p.h +++ b/src/gui/kernel/qgesture_p.h @@ -61,29 +61,83 @@ QT_BEGIN_NAMESPACE -class QObject; -class QGraphicsItem; class QGesturePrivate : public QObjectPrivate { Q_DECLARE_PUBLIC(QGesture) public: QGesturePrivate() - : gestureTarget(0), graphicsItem(0), eventFilterProxyGraphicsItem(0), - state(Qt::NoGesture), implicitGesture(false) + : gestureType(Qt::CustomGesture), state(Qt::NoGesture), isHotSpotSet(false), + targetObject(0), accept(true) { } - virtual void setupGestureTarget(QObject *o); + Qt::GestureType gestureType; + Qt::GestureState state; + QPointF hotSpot; + bool isHotSpotSet; + QObject *targetObject; + bool accept; +}; - QPointer gestureTarget; - QGraphicsItem *graphicsItem; - QGraphicsItem *eventFilterProxyGraphicsItem; +class QPanGesturePrivate : public QGesturePrivate +{ + Q_DECLARE_PUBLIC(QPanGesture) - Qt::GestureState state; +public: + QPanGesturePrivate() + : acceleration(0) + { + } + + QSizeF totalOffset; + QSizeF lastOffset; + QSizeF offset; + QPoint lastPosition; + qreal acceleration; +}; + +class QPinchGesturePrivate : public QGesturePrivate +{ + Q_DECLARE_PUBLIC(QPinchGesture) + +public: + QPinchGesturePrivate() + : whatChanged(0), totalScaleFactor(0), lastScaleFactor(0), scaleFactor(0), + totalRotationAngle(0), lastRotationAngle(0), rotationAngle(0) + { + } + + QPinchGesture::WhatChanged whatChanged; + + QPointF startCenterPoint; + QPointF lastCenterPoint; + QPointF centerPoint; + + qreal totalScaleFactor; + qreal lastScaleFactor; + qreal scaleFactor; + + qreal totalRotationAngle; + qreal lastRotationAngle; + qreal rotationAngle; +}; + +class QSwipeGesturePrivate : public QGesturePrivate +{ + Q_DECLARE_PUBLIC(QSwipeGesture) + +public: + QSwipeGesturePrivate() + : horizontalDirection(QSwipeGesture::NoDirection), + verticalDirection(QSwipeGesture::NoDirection), + swipeAngle(0) + { + } - // the flag specifies if the gesture was created implicitely by Qt. - bool implicitGesture; + QSwipeGesture::SwipeDirection horizontalDirection; + QSwipeGesture::SwipeDirection verticalDirection; + qreal swipeAngle; }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp new file mode 100644 index 0000000..000f44f --- /dev/null +++ b/src/gui/kernel/qgesturemanager.cpp @@ -0,0 +1,453 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "private/qgesturemanager_p.h" +#include "private/qstandardgestures_p.h" +#include "private/qwidget_p.h" +#include "private/qgesture_p.h" +#include "private/qgraphicsitem_p.h" +#include "qgesture.h" +#include "qevent.h" +#include "qgraphicsitem.h" + +#include "qdebug.h" + +// #define GESTURE_DEBUG +#ifndef GESTURE_DEBUG +# define DEBUG if (0) qDebug +#else +# define DEBUG qDebug +#endif + +QT_BEGIN_NAMESPACE + +QGestureManager::QGestureManager(QObject *parent) + : QObject(parent), state(NotGesture), lastCustomGestureId(0) +{ + qRegisterMetaType(); + + registerGestureRecognizer(new QPanGestureRecognizer); +} + +QGestureManager::~QGestureManager() +{ + +} + +Qt::GestureType QGestureManager::registerGestureRecognizer(QGestureRecognizer *recognizer) +{ + QGesture *dummy = recognizer->createGesture(0); + if (!dummy) { + qWarning("QGestureManager::registerGestureRecognizer: the recognizer doesn't provide gesture object"); + return Qt::GestureType(0); + } + Qt::GestureType type = dummy->gestureType(); + if (type == Qt::CustomGesture) { + // generate a new custom gesture id + ++lastCustomGestureId; + type = Qt::GestureType(Qt::CustomGesture + lastCustomGestureId); + } + recognizers.insertMulti(type, recognizer); + delete dummy; + return type; +} + +void QGestureManager::unregisterGestureRecognizer(Qt::GestureType) +{ + +} + +QGesture* QGestureManager::getState(QObject *object, Qt::GestureType type) +{ + // if the widget is being deleted we should be carefull and not to + // create a new state, as it will create QWeakPointer which doesnt work + // from the destructor. + if (object->isWidgetType()) { + if (static_cast(object)->d_func()->data.in_destructor) + return 0; + } + + QWeakPointer state = objectGestures.value(QGestureManager::ObjectGesture(object, type)); + if (!state) { + QGestureRecognizer *recognizer = recognizers.value(type); + if (recognizer) { + state = recognizer->createGesture(object); + if (!state) + return 0; + if (state.data()->gestureType() == Qt::CustomGesture) { + // if the recognizer didn't fill in the gesture type, then this + // is a custom gesture with autogenerated it and we fill it. + state.data()->d_func()->gestureType = type; + } + objectGestures.insert(QGestureManager::ObjectGesture(object, type), state); + gestureToRecognizer[state.data()] = recognizer; + } + } + return state.data(); +} + +bool QGestureManager::filterEvent(QObject *receiver, QEvent *event) +{ + QSet triggeredGestures; + QSet finishedGestures; + QSet newMaybeGestures; + QSet canceledGestures; + QSet notGestures; + + QGraphicsObject *graphicsObject = qobject_cast(receiver); + if (receiver->isWidgetType() || graphicsObject) { + QMap contexts; + if (receiver->isWidgetType()) { + QWidget *w = static_cast(receiver); + if (!w->d_func()->gestureContext.isEmpty()) { + typedef QMap::const_iterator ContextIterator; + for(ContextIterator it = w->d_func()->gestureContext.begin(), + e = w->d_func()->gestureContext.end(); it != e; ++it) { + contexts.insertMulti(w, it.key()); + } + } + // find all gesture contexts for the widget tree + w = w->parentWidget(); + while (w) + { + typedef QMap::const_iterator ContextIterator; + for (ContextIterator it = w->d_func()->gestureContext.begin(), + e = w->d_func()->gestureContext.end(); it != e; ++it) { + if (it.value() == Qt::WidgetWithChildrenGesture) + contexts.insertMulti(w, it.key()); + } + w = w->parentWidget(); + } + } else { + QGraphicsObject *item = graphicsObject; + if (!item->QGraphicsItem::d_func()->gestureContext.isEmpty()) { + typedef QMap::const_iterator ContextIterator; + for(ContextIterator it = item->QGraphicsItem::d_func()->gestureContext.begin(), + e = item->QGraphicsItem::d_func()->gestureContext.end(); it != e; ++it) { + contexts.insertMulti(item, it.key()); + } + } + // find all gesture contexts for the widget tree + item = item->parentObject(); + while (item) + { + typedef QMap::const_iterator ContextIterator; + for (ContextIterator it = item->QGraphicsItem::d_func()->gestureContext.begin(), + e = item->QGraphicsItem::d_func()->gestureContext.end(); it != e; ++it) { + if (it.value() == Qt::WidgetWithChildrenGesture) + contexts.insertMulti(item, it.key()); + } + item = item->parentObject(); + } + } + // filter the event through recognizers + typedef QMap::const_iterator ContextIterator; + for (ContextIterator cit = contexts.begin(), ce = contexts.end(); cit != ce; ++cit) { + Qt::GestureType gestureType = cit.value(); + QMap::const_iterator + rit = recognizers.lowerBound(gestureType), + re = recognizers.upperBound(gestureType); + for (; rit != re; ++rit) { + QGestureRecognizer *recognizer = rit.value(); + QObject *target = cit.key(); + QGesture *state = getState(target, gestureType); + if (!state) + continue; + QGestureRecognizer::Result result = recognizer->filterEvent(state, target, event); + QGestureRecognizer::Result type = result & QGestureRecognizer::ResultState_Mask; + if (type == QGestureRecognizer::GestureTriggered) { + DEBUG() << "QGestureManager: gesture triggered: " << state; + triggeredGestures << state; + } else if (type == QGestureRecognizer::GestureFinished) { + DEBUG() << "QGestureManager: gesture finished: " << state; + finishedGestures << state; + } else if (type == QGestureRecognizer::MaybeGesture) { + DEBUG() << "QGestureManager: maybe gesture: " << state; + newMaybeGestures << state; + } else if (type == QGestureRecognizer::NotGesture) { + DEBUG() << "QGestureManager: not gesture: " << state; + notGestures << state; + } else if (type == QGestureRecognizer::Ignore) { + DEBUG() << "QGestureManager: gesture ignored the event: " << state; + } else { + DEBUG() << "QGestureManager: hm, lets assume the recognizer ignored the event: " << state; + } + if (result & QGestureRecognizer::ConsumeEventHint) { + DEBUG() << "QGestureManager: we were asked to consume the event: " << state; + //TODO: consume events if asked + } + } + } + } else if (QGesture *state = qobject_cast(receiver)) { + if (QGestureRecognizer *recognizer = gestureToRecognizer.value(state)) { + QGestureRecognizer::Result result = recognizer->filterEvent(state, state, event); + QGestureRecognizer::Result type = result & QGestureRecognizer::ResultState_Mask; + if (type == QGestureRecognizer::GestureTriggered) { + DEBUG() << "QGestureManager: gesture triggered: " << state; + triggeredGestures << state; + } else if (type == QGestureRecognizer::GestureFinished) { + DEBUG() << "QGestureManager: gesture finished: " << state; + finishedGestures << state; + } else if (type == QGestureRecognizer::MaybeGesture) { + DEBUG() << "QGestureManager: maybe gesture: " << state; + newMaybeGestures << state; + } else if (type == QGestureRecognizer::NotGesture) { + DEBUG() << "QGestureManager: not gesture: " << state; + notGestures << state; + } else if (type == QGestureRecognizer::Ignore) { + DEBUG() << "QGestureManager: gesture ignored the event: " << state; + } else { + DEBUG() << "QGestureManager: hm, lets assume the recognizer ignored the event: " << state; + } + } + } else { + return false; + } + + QSet startedGestures = triggeredGestures - activeGestures; + triggeredGestures &= activeGestures; + + // check if a running gesture switched back to maybe state + QSet activeToMaybeGestures = activeGestures & newMaybeGestures; + + // check if a running gesture switched back to not gesture state, i.e. were canceled + QSet activeToCancelGestures = activeGestures & notGestures; + canceledGestures += activeToCancelGestures; + + // start timers for new gestures in maybe state + foreach (QGesture *state, newMaybeGestures) { + QBasicTimer &timer = maybeGestures[state]; + if (!timer.isActive()) + timer.start(3000, this); + } + // kill timers for gestures that were in maybe state + QSet notMaybeGestures = (startedGestures | triggeredGestures | finishedGestures | canceledGestures | notGestures); + foreach(QGesture *gesture, notMaybeGestures) { + QMap::iterator it = + maybeGestures.find(gesture); + if (it != maybeGestures.end()) { + it.value().stop(); + maybeGestures.erase(it); + } + } + + Q_ASSERT((startedGestures & finishedGestures).isEmpty()); + Q_ASSERT((startedGestures & newMaybeGestures).isEmpty()); + Q_ASSERT((startedGestures & canceledGestures).isEmpty()); + Q_ASSERT((finishedGestures & newMaybeGestures).isEmpty()); + Q_ASSERT((finishedGestures & canceledGestures).isEmpty()); + Q_ASSERT((canceledGestures & newMaybeGestures).isEmpty()); + + QSet notStarted = finishedGestures - activeGestures; + if (!notStarted.isEmpty()) { + // there are some gestures that claim to be finished, but never started. + qWarning("QGestureManager::filterEvent: some gestures were finished even though they've never started"); + finishedGestures -= notStarted; + } + + activeGestures += startedGestures; + // sanity check: all triggered gestures should already be in active gestures list + Q_ASSERT((activeGestures & triggeredGestures).size() == triggeredGestures.size()); + activeGestures -= finishedGestures; + activeGestures -= activeToMaybeGestures; + activeGestures -= canceledGestures; + + // set the proper gesture state on each gesture + foreach (QGesture *gesture, startedGestures) + gesture->d_func()->state = Qt::GestureStarted; + foreach (QGesture *gesture, triggeredGestures) + gesture->d_func()->state = Qt::GestureUpdated; + foreach (QGesture *gesture, finishedGestures) + gesture->d_func()->state = Qt::GestureFinished; + foreach (QGesture *gesture, canceledGestures) + gesture->d_func()->state = Qt::GestureCanceled; + foreach (QGesture *gesture, activeToMaybeGestures) + gesture->d_func()->state = Qt::GestureFinished; + + if (!activeGestures.isEmpty() || !maybeGestures.isEmpty() || + !startedGestures.isEmpty() || !triggeredGestures.isEmpty() || + !finishedGestures.isEmpty() || !canceledGestures.isEmpty()) { + DEBUG() << "QGestureManager::filterEvent:" + << "\n\tactiveGestures:" << activeGestures + << "\n\tmaybeGestures:" << maybeGestures.keys() + << "\n\tstarted:" << startedGestures + << "\n\ttriggered:" << triggeredGestures + << "\n\tfinished:" << finishedGestures + << "\n\tcanceled:" << canceledGestures; + } + + deliverEvents(startedGestures+triggeredGestures+finishedGestures+canceledGestures, receiver); + + // reset gestures that ended + QSet endedGestures = finishedGestures + canceledGestures; + foreach (QGesture *gesture, endedGestures) { + if (QGestureRecognizer *recognizer = gestureToRecognizer.value(gesture, 0)) { + recognizer->reset(gesture); + } + gestureTargets.remove(gesture); + } + return false; +} + +void QGestureManager::deliverEvents(const QSet &gestures, QObject *lastReceiver) +{ + if (gestures.isEmpty()) + return; + + // group gestures by widgets + typedef QMap > GesturesPerReceiver; + GesturesPerReceiver groupedGestures; + // for conflicted gestures the key is always the innermost widget (i.e. the child) + GesturesPerReceiver conflictedGestures; + QMultiHash objectGestures; + + foreach (QGesture *gesture, gestures) { + QObject *target = gestureTargets.value(gesture, 0); + if (!target) { + Q_ASSERT(gesture->state() == Qt::GestureStarted); + if (gesture->hasHotSpot()) { + // guess the target using the hotspot of the gesture + QPoint pt = gesture->hotSpot().toPoint(); + if (!pt.isNull()) { + if (QWidget *w = qApp->topLevelAt(pt)) + target = w->childAt(w->mapFromGlobal(pt)); + } + } + if (!target) { + target = gesture->targetObject(); + if (!target) + target = lastReceiver; + } + } + if (target) { + gestureTargets.insert(gesture, target); + if (target->isWidgetType()) + objectGestures.insert(target, gesture); + groupedGestures[target].append(gesture); + } else { + qWarning() << "QGestureManager::deliverEvent: could not find the target for gesture" + << gesture->gestureType(); + } + } + + typedef QMultiHash::const_iterator ObjectGesturesIterator; + for (ObjectGesturesIterator it = objectGestures.begin(), e = objectGestures.end(); it != e; ++it) { + QObject *object1 = it.key(); + QWidget *widget1 = qobject_cast(object1); + QGraphicsObject *item1 = qobject_cast(object1); + QGesture *gesture1 = it.value(); + ObjectGesturesIterator cit = it; + for (++cit; cit != e; ++cit) { + QObject *object2 = cit.key(); + QWidget *widget2 = qobject_cast(object2); + QGraphicsObject *item2 = qobject_cast(object2); + QGesture *gesture2 = cit.value(); + // TODO: ugly, rewrite this. + if ((widget1 && widget2 && widget2->isAncestorOf(widget1)) || + (item1 && item2 && item2->isAncestorOf(item1))) { + groupedGestures[object2].removeOne(gesture2); + groupedGestures[object1].removeOne(gesture1); + conflictedGestures[object1].append(gesture1); + } else if ((widget1 && widget2 && widget1->isAncestorOf(widget2)) || + (item1 && item2 && item1->isAncestorOf(item2))) { + groupedGestures[object2].removeOne(gesture2); + groupedGestures[object1].removeOne(gesture1); + conflictedGestures[object2].append(gesture2); + } + } + } + + DEBUG() << "deliverEvents: conflicted =" << conflictedGestures.values() + << " grouped =" << groupedGestures.values(); + + // if there are conflicting gestures, send the GestureOverride event + for (GesturesPerReceiver::const_iterator it = conflictedGestures.begin(), + e = conflictedGestures.end(); it != e; ++it) { + DEBUG() << "QGestureManager::deliverEvents: sending GestureOverride to" + << it.key() + << " gestures:" << it.value(); + QGestureEvent event(it.value()); + event.t = QEvent::GestureOverride; + event.ignore(); + QApplication::sendEvent(it.key(), &event); + if (!event.isAccepted()) { + // nobody accepted the GestureOverride, put it back to deliver to + // the closest context (i.e. to the inner-most widget). + DEBUG() <<" override was not accepted"; + groupedGestures[it.key()].append(it.value()); + } + } + + for (GesturesPerReceiver::const_iterator it = groupedGestures.begin(), + e = groupedGestures.end(); it != e; ++it) { + if (!it.value().isEmpty()) { + DEBUG() << "QGestureManager::deliverEvents: sending to" << it.key() + << " gestures:" << it.value(); + QGestureEvent event(it.value()); + QApplication::sendEvent(it.key(), &event); + } + } +} + +void QGestureManager::timerEvent(QTimerEvent *event) +{ + QMap::iterator it = maybeGestures.begin(), + e = maybeGestures.end(); + for (; it != e; ) { + QBasicTimer &timer = it.value(); + Q_ASSERT(timer.isActive()); + if (timer.timerId() == event->timerId()) { + timer.stop(); + QGesture *gesture = it.key(); + it = maybeGestures.erase(it); + DEBUG() << "QGestureManager::timerEvent: gesture stopped due to timeout:" << gesture; + QGestureRecognizer *recognizer = gestureToRecognizer.value(gesture, 0); + if (recognizer) + recognizer->reset(gesture); + } else { + ++it; + } + } +} + +QT_END_NAMESPACE + +#include "moc_qgesturemanager_p.cpp" diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h new file mode 100644 index 0000000..c61819f --- /dev/null +++ b/src/gui/kernel/qgesturemanager_p.h @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGESTUREMANAGER_P_H +#define QGESTUREMANAGER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qobject.h" +#include "qbasictimer.h" +#include "private/qwidget_p.h" +#include "qgesturerecognizer.h" + +QT_BEGIN_NAMESPACE + +class QBasicTimer; +class QGestureManager : public QObject +{ + Q_OBJECT +public: + QGestureManager(QObject *parent); + ~QGestureManager(); + + Qt::GestureType registerGestureRecognizer(QGestureRecognizer *recognizer); + void unregisterGestureRecognizer(Qt::GestureType type); + + bool filterEvent(QObject *receiver, QEvent *event); + + // declared in qapplication.cpp + static QGestureManager* instance(); + +protected: + void timerEvent(QTimerEvent *event); + +private: + QMultiMap recognizers; + + QSet activeGestures; + QMap maybeGestures; + + enum State { + Gesture, + NotGesture, + MaybeGesture // this means timers are up and waiting for some + // more events, and input events are handled by + // gesture recognizer explicitely + } state; + + struct ObjectGesture + { + QWeakPointer object; + Qt::GestureType gesture; + + ObjectGesture(QObject *o, const Qt::GestureType &g) : object(o), gesture(g) { } + inline bool operator<(const ObjectGesture& rhs) const + { + if (object.data() < rhs.object.data()) + return true; + if (object == rhs.object) + return gesture < rhs.gesture; + return false; + } + }; + + QMap > objectGestures; + QMap gestureToRecognizer; + + QHash gestureTargets; + + int lastCustomGestureId; + + QGesture *getState(QObject *widget, Qt::GestureType gesture); + void deliverEvents(const QSet &gestures, QObject *lastReceiver); +}; + +QT_END_NAMESPACE + +#endif // QGESTUREMANAGER_P_H diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp new file mode 100644 index 0000000..590f09e --- /dev/null +++ b/src/gui/kernel/qgesturerecognizer.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qgesturerecognizer.h" + +#include "private/qgesture_p.h" + +QT_BEGIN_NAMESPACE + +QGestureRecognizer::QGestureRecognizer() +{ +} + +QGestureRecognizer::~QGestureRecognizer() +{ +} + +QGesture *QGestureRecognizer::createGesture(QObject *) +{ + return new QGesture; +} + +void QGestureRecognizer::reset(QGesture *state) +{ + if (state) { + QGesturePrivate *d = state->d_func(); + d->state = Qt::NoGesture; + d->hotSpot = QPointF(); + d->targetObject = 0; + } +} + +QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesturerecognizer.h b/src/gui/kernel/qgesturerecognizer.h new file mode 100644 index 0000000..c85afd2 --- /dev/null +++ b/src/gui/kernel/qgesturerecognizer.h @@ -0,0 +1,93 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGESTURERECOGNIZER_H +#define QGESTURERECOGNIZER_H + +#include "qglobal.h" + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +class QObject; +class QEvent; +class QGesture; +class Q_GUI_EXPORT QGestureRecognizer +{ +public: + enum ResultFlags + { + Ignore = 0x0001, + NotGesture = 0x0002, + MaybeGesture = 0x0004, + GestureTriggered = 0x0008, // Gesture started or updated + GestureFinished = 0x0010, + + ResultState_Mask = 0x00ff, + + ConsumeEventHint = 0x0100, + // StoreEventHint = 0x0200, + // ReplayStoredEventsHint = 0x0400, + // DiscardStoredEventsHint = 0x0800, + + ResultHint_Mask = 0xff00 + }; + Q_DECLARE_FLAGS(Result, ResultFlags) + + QGestureRecognizer(); + virtual ~QGestureRecognizer(); + + virtual QGesture *createGesture(QObject *target); + virtual QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event) = 0; + + virtual void reset(QGesture *state); +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS(QGestureRecognizer::Result) + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QGESTURERECOGNIZER_H diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp index 3cfb987..dfc3499 100644 --- a/src/gui/kernel/qstandardgestures.cpp +++ b/src/gui/kernel/qstandardgestures.cpp @@ -39,174 +39,45 @@ ** ****************************************************************************/ -#include "qstandardgestures.h" #include "qstandardgestures_p.h" - -#include -#include -#include -#include -#include -#include +#include "qgesture.h" +#include "qgesture_p.h" +#include "qevent.h" +#include "qwidget.h" QT_BEGIN_NAMESPACE -#ifdef Q_WS_WIN -QWidgetPrivate *qt_widget_private(QWidget *widget); -#endif - -/*! - \class QPanGesture - \preliminary - \since 4.6 - - \brief The QPanGesture class represents a Pan gesture, - providing additional information related to panning. -*/ - -/*! - \enum QSwipeGesture::SwipeDirection - \brief This enum specifies the direction of the swipe gesture. - - \value NoDirection - \value Left - \value Right - \value Up - \value Down -*/ - -/*! - Creates a new pan gesture handler object and marks it as a child of - \a parent. The pan gesture handler watches \a gestureTarget for its - events. - - On some platform like Windows it's necessary to provide a non-null - widget as \a parent to get native gesture support. -*/ -QPanGesture::QPanGesture(QWidget *gestureTarget, QObject *parent) - : QGesture(*new QPanGesturePrivate, gestureTarget, parent) +QPanGestureRecognizer::QPanGestureRecognizer() { - setObjectName(QLatin1String("QPanGesture")); -} - -void QPanGesturePrivate::setupGestureTarget(QObject *newGestureTarget) -{ - Q_Q(QPanGesture); - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - - if (gestureTarget && gestureTarget->isWidgetType()) { - QWidget *w = static_cast(gestureTarget.data()); - if (qAppPriv->widgetGestures[w].pan == q) - qAppPriv->widgetGestures[w].pan = 0; -#if defined(Q_WS_WIN) - qt_widget_private(w)->winSetupGestures(); -#elif defined(Q_WS_MAC) - w->setAttribute(Qt::WA_AcceptTouchEvents, false); - w->setAttribute(Qt::WA_TouchPadAcceptSingleTouchEvents, false); -#endif - } - - if (newGestureTarget && newGestureTarget->isWidgetType()) { - QWidget *w = static_cast(newGestureTarget); - qAppPriv->widgetGestures[w].pan = q; -#if defined(Q_WS_WIN) - qt_widget_private(w)->winSetupGestures(); -#elif defined(Q_WS_MAC) - w->setAttribute(Qt::WA_AcceptTouchEvents); - w->setAttribute(Qt::WA_TouchPadAcceptSingleTouchEvents); -#endif - } - QGesturePrivate::setupGestureTarget(newGestureTarget); -} - -/*! \internal */ -bool QPanGesture::event(QEvent *event) -{ -#if defined(QT_MAC_USE_COCOA) - Q_D(QPanGesture); - if (event->type() == QEvent::Timer) { - const QTimerEvent *te = static_cast(event); - if (te->timerId() == d->singleTouchPanTimer.timerId()) { - d->singleTouchPanTimer.stop(); - updateState(Qt::GestureStarted); - } - } -#endif - - return QObject::event(event); } -bool QPanGesture::eventFilter(QObject *receiver, QEvent *event) +QGesture *QPanGestureRecognizer::createGesture(QObject *target) { - Q_D(QPanGesture); - - if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() && - static_cast(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures)) - return false; - -#ifdef Q_WS_WIN - if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) { - QNativeGestureEvent *ev = static_cast(event); - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - QApplicationPrivate::WidgetStandardGesturesMap::iterator it; - it = qAppPriv->widgetGestures.find(static_cast(receiver)); - if (it == qAppPriv->widgetGestures.end()) - return false; - if (this != it.value().pan) - return false; - Qt::GestureState nextState = Qt::NoGesture; - switch(ev->gestureType) { - case QNativeGestureEvent::GestureBegin: - // next we might receive the first gesture update event, so we - // prepare for it. - d->state = Qt::NoGesture; - return false; - case QNativeGestureEvent::Pan: - nextState = Qt::GestureUpdated; - event->accept(); - break; - case QNativeGestureEvent::GestureEnd: - if (state() == Qt::NoGesture) - return false; // some other gesture has ended - nextState = Qt::GestureFinished; - break; - default: - return false; - } - if (state() == Qt::NoGesture) { - d->lastOffset = d->totalOffset = d->offset = QSize(); - } else { - d->lastOffset = d->offset; - d->offset = QSize(ev->position.x() - d->lastPosition.x(), - ev->position.y() - d->lastPosition.y()); - d->totalOffset += d->offset; - } - d->lastPosition = ev->position; - updateState(nextState); - return true; + if (target && target->isWidgetType()) { + static_cast(target)->setAttribute(Qt::WA_AcceptTouchEvents); } -#endif - return QGesture::eventFilter(receiver, event); + return new QPanGesture; } -/*! \internal */ -bool QPanGesture::filterEvent(QEvent *event) +QGestureRecognizer::Result QPanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) { - Q_D(QPanGesture); + QPanGesture *q = static_cast(state); + QPanGesturePrivate *d = q->d_func(); - if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() && - static_cast(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures)) - return false; - -#if defined(Q_WS_WIN) const QTouchEvent *ev = static_cast(event); - if (event->type() == QEvent::TouchBegin) { + QGestureRecognizer::Result result; + + switch (event->type()) { + case QEvent::TouchBegin: { + result = QGestureRecognizer::MaybeGesture; QTouchEvent::TouchPoint p = ev->touchPoints().at(0); d->lastPosition = p.pos().toPoint(); d->lastOffset = d->totalOffset = d->offset = QSize(); - } else if (event->type() == QEvent::TouchEnd) { - if (state() != Qt::NoGesture) { + break; + } + case QEvent::TouchEnd: { + if (q->state() != Qt::NoGesture) { if (ev->touchPoints().size() == 2) { QTouchEvent::TouchPoint p1 = ev->touchPoints().at(0); QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1); @@ -216,11 +87,14 @@ bool QPanGesture::filterEvent(QEvent *event) p1.pos().y() - p1.lastPos().y() + p2.pos().y() - p2.lastPos().y()) / 2; d->totalOffset += d->offset; } - updateState(Qt::GestureFinished); + result = QGestureRecognizer::GestureFinished; + } else { + result = QGestureRecognizer::NotGesture; } - reset(); - } else if (event->type() == QEvent::TouchUpdate) { - if (ev->touchPoints().size() == 2) { + break; + } + case QEvent::TouchUpdate: { + if (ev->touchPoints().size() >= 2) { QTouchEvent::TouchPoint p1 = ev->touchPoints().at(0); QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1); d->lastOffset = d->offset; @@ -230,10 +104,60 @@ bool QPanGesture::filterEvent(QEvent *event) d->totalOffset += d->offset; if (d->totalOffset.width() > 10 || d->totalOffset.height() > 10 || d->totalOffset.width() < -10 || d->totalOffset.height() < -10) { - updateState(Qt::GestureUpdated); + result = QGestureRecognizer::GestureTriggered; + } else { + result = QGestureRecognizer::MaybeGesture; } } + break; + } + case QEvent::MouseButtonPress: + case QEvent::MouseMove: + case QEvent::MouseButtonRelease: + result = QGestureRecognizer::Ignore; + break; + default: + result = QGestureRecognizer::Ignore; + break; + } + return result; +} + +void QPanGestureRecognizer::reset(QGesture *state) +{ + QPanGesture *pan = static_cast(state); + QPanGesturePrivate *d = pan->d_func(); + + d->totalOffset = d->lastOffset = d->offset = QSizeF(); + d->lastPosition = QPoint(); + d->acceleration = 0; + +//#if defined(QT_MAC_USE_COCOA) +// d->singleTouchPanTimer.stop(); +// d->prevMousePos = QPointF(0, 0); +//#endif + + QGestureRecognizer::reset(state); +} + +/*! \internal */ +/* +bool QPanGestureRecognizer::event(QEvent *event) +{ +#if defined(QT_MAC_USE_COCOA) + Q_D(QPanGesture); + if (event->type() == QEvent::Timer) { + const QTimerEvent *te = static_cast(event); + if (te->timerId() == d->singleTouchPanTimer.timerId()) { + d->singleTouchPanTimer.stop(); + updateState(Qt::GestureStarted); + } } +#endif + + bool consume = false; + +#if defined(Q_WS_WIN) #elif defined(QT_MAC_USE_COCOA) // The following implements single touch // panning on Mac: @@ -244,16 +168,25 @@ bool QPanGesture::filterEvent(QEvent *event) switch (event->type()) { case QEvent::TouchBegin: { if (ev->touchPoints().size() == 1) { + d->delayManager->setEnabled(true); + consume = d->delayManager->append(d->gestureTarget, *event); d->lastPosition = QCursor::pos(); d->singleTouchPanTimer.start(panBeginDelay, this); } break;} case QEvent::TouchEnd: { - if (state() != Qt::NoGesture) + d->delayManager->setEnabled(false); + if (state() != Qt::NoGesture) { updateState(Qt::GestureFinished); + consume = true; + d->delayManager->clear(); + } else { + d->delayManager->replay(); + } reset(); break;} case QEvent::TouchUpdate: { + consume = d->delayManager->append(d->gestureTarget, *event); if (ev->touchPoints().size() == 1) { if (state() == Qt::NoGesture) { // INVARIANT: The singleTouchTimer has still not fired. @@ -261,11 +194,15 @@ bool QPanGesture::filterEvent(QEvent *event) // the starting point that it makes sense to cancel: const QPointF startPos = ev->touchPoints().at(0).startPos().toPoint(); const QPointF p = ev->touchPoints().at(0).pos().toPoint(); - if ((startPos - p).manhattanLength() > panBeginRadius) + if ((startPos - p).manhattanLength() > panBeginRadius) { + d->delayManager->replay(); + consume = false; reset(); - else + } else { d->lastPosition = QCursor::pos(); + } } else { + d->delayManager->clear(); QPointF mousePos = QCursor::pos(); QPointF dist = mousePos - d->lastPosition; d->lastPosition = mousePos; @@ -275,527 +212,25 @@ bool QPanGesture::filterEvent(QEvent *event) updateState(Qt::GestureUpdated); } } else if (state() == Qt::NoGesture) { + d->delayManager->replay(); + consume = false; reset(); } break;} + case QEvent::MouseButtonPress: + case QEvent::MouseMove: + case QEvent::MouseButtonRelease: + if (d->delayManager->isEnabled()) + consume = d->delayManager->append(d->gestureTarget, *event); + break; default: return false; } #else Q_UNUSED(event); #endif - return false; -} - -/*! \internal */ -void QPanGesture::reset() -{ - Q_D(QPanGesture); - d->lastOffset = d->totalOffset = d->offset = QSize(0, 0); - d->lastPosition = QPoint(0, 0); - -#if defined(QT_MAC_USE_COCOA) - d->singleTouchPanTimer.stop(); - d->prevMousePos = QPointF(0, 0); -#endif - - QGesture::reset(); -} - -/*! - \property QPanGesture::totalOffset - - Specifies a total pan offset since the start of the gesture. -*/ -QSizeF QPanGesture::totalOffset() const -{ - Q_D(const QPanGesture); - return d->totalOffset; -} - -/*! - \property QPanGesture::lastOffset - - Specifies a pan offset the last time the gesture was triggered. -*/ -QSizeF QPanGesture::lastOffset() const -{ - Q_D(const QPanGesture); - return d->lastOffset; -} - -/*! - \property QPanGesture::offset - - Specifies the current pan offset since the last time the gesture was - triggered. -*/ -QSizeF QPanGesture::offset() const -{ - Q_D(const QPanGesture); - return d->offset; -} - -////////////////////////////////////////////////////////////////////////////// - -/*! - \class QPinchGesture - \preliminary - \since 4.6 - - \brief The QPinchGesture class represents a Pinch gesture, - providing additional information related to zooming and/or rotation. -*/ - -/*! - Creates a new Pinch gesture handler object and marks it as a child - of \a parent. The pan gesture handler watches \a gestureTarget for its - events. - - On some platform like Windows it's necessary to provide a non-null - widget as \a parent to get native gesture support. -*/ -QPinchGesture::QPinchGesture(QWidget *gestureTarget, QObject *parent) - : QGesture(*new QPinchGesturePrivate, gestureTarget, parent) -{ - setObjectName(QLatin1String("QPinchGesture")); -} - -void QPinchGesturePrivate::setupGestureTarget(QObject *newGestureTarget) -{ - Q_Q(QPinchGesture); - if (gestureTarget && gestureTarget->isWidgetType()) { - QWidget *w = static_cast(gestureTarget.data()); - QApplicationPrivate::instance()->widgetGestures[w].pinch = 0; -#ifdef Q_WS_WIN - qt_widget_private(w)->winSetupGestures(); -#endif - } - - if (newGestureTarget && newGestureTarget->isWidgetType()) { - QWidget *w = static_cast(newGestureTarget); - QApplicationPrivate::instance()->widgetGestures[w].pinch = q; -#ifdef Q_WS_WIN - qt_widget_private(w)->winSetupGestures(); -#endif - } - QGesturePrivate::setupGestureTarget(newGestureTarget); -} - -/*! \internal */ -bool QPinchGesture::event(QEvent *event) -{ - return QObject::event(event); -} - -bool QPinchGesture::eventFilter(QObject *receiver, QEvent *event) -{ - Q_D(QPinchGesture); - - if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() && - static_cast(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures)) - return false; - -#if defined(Q_WS_WIN) || defined(Q_WS_MAC) - if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) { - QNativeGestureEvent *ev = static_cast(event); -#if defined(Q_WS_WIN) - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - QApplicationPrivate::WidgetStandardGesturesMap::iterator it; - it = qAppPriv->widgetGestures.find(static_cast(receiver)); - if (it == qAppPriv->widgetGestures.end()) - return false; - if (this != it.value().pinch) - return false; -#endif - Qt::GestureState nextState = Qt::NoGesture; - - switch(ev->gestureType) { - case QNativeGestureEvent::GestureBegin: - // next we might receive the first gesture update event, so we - // prepare for it. - d->state = Qt::NoGesture; - d->changes = 0; - d->totalScaleFactor = d->scaleFactor = d->lastScaleFactor = 1.; - d->totalRotationAngle = d->rotationAngle = d->lastRotationAngle = 0.; - d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPointF(); -#if defined(Q_WS_WIN) - d->initialDistance = 0; - d->lastSequenceId = ev->sequenceId; -#endif - return false; - case QNativeGestureEvent::Rotate: { - d->lastScaleFactor = d->scaleFactor; - d->lastRotationAngle = d->rotationAngle; -#if defined(Q_WS_MAC) - d->rotationAngle += ev->percentage; - nextState = Qt::GestureUpdated; -#elif defined(Q_WS_WIN) - // This is a workaround for an issue with the native rotation - // gesture on Windows 7. For some reason the rotation angle in the - // first WM_GESTURE message in a sequence contains value that is - // off a little bit and causes the rotating item to "jump", so - // we just ignore the first WM_GESTURE in every sequence. - bool windowsRotateWorkaround = false; - if (!d->lastSequenceId) { - windowsRotateWorkaround = true; - d->lastSequenceId = ev->sequenceId; - } - if (d->lastSequenceId > 0 && d->lastSequenceId != (ulong)-1 && ev->sequenceId != d->lastSequenceId) { - // this is the first WM_GESTURE message in a sequence. - d->totalRotationAngle += d->rotationAngle; - windowsRotateWorkaround = true; - // a magic value to mark that the next WM_GESTURE message is - // the second message in a sequence and we should clear the - // lastRotationAngle - d->lastSequenceId = (ulong)-1; - } - if (!windowsRotateWorkaround) { - d->rotationAngle = -1 * GID_ROTATE_ANGLE_FROM_ARGUMENT(ev->argument) * 180. / M_PI; - if (d->lastSequenceId == (ulong)-1) { - // a special case since we need to set the lastRotationAngle to - // rotationAngle when the first WM_GESTURE is received in each - // sequence. - d->lastRotationAngle = d->rotationAngle; - } - d->lastSequenceId = ev->sequenceId; - } - if (!windowsRotateWorkaround) - nextState = Qt::GestureUpdated; -#endif - d->changes = QPinchGesture::RotationAngleChanged; - event->accept(); - break; - } - case QNativeGestureEvent::Zoom: - d->lastRotationAngle = d->rotationAngle; - d->lastScaleFactor = d->scaleFactor; -#if defined(Q_WS_WIN) - if (d->initialDistance != 0) { - int distance = int(qint64(ev->argument)); - if (d->lastSequenceId && ev->sequenceId != d->lastSequenceId) { - d->totalScaleFactor *= d->scaleFactor; - d->initialDistance = int(qint64(ev->argument)); - d->lastScaleFactor = d->scaleFactor = (qreal) distance / d->initialDistance; - } else { - d->scaleFactor = (qreal) distance / d->initialDistance; - } - d->lastSequenceId = ev->sequenceId; - } else { - d->initialDistance = int(qint64(ev->argument)); - } -#elif defined(Q_WS_MAC) - d->scaleFactor += ev->percentage; -#endif - nextState = Qt::GestureUpdated; - d->changes = QPinchGesture::ScaleFactorChanged; - event->accept(); - break; - case QNativeGestureEvent::GestureEnd: - if (state() == Qt::NoGesture) - return false; // some other gesture has ended - nextState = Qt::GestureFinished; - break; - default: - return false; - } - if (d->startCenterPoint.isNull()) - d->startCenterPoint = d->centerPoint; - d->lastCenterPoint = d->centerPoint; - d->centerPoint = static_cast(receiver)->mapFromGlobal(ev->position); - if (d->lastCenterPoint != d->centerPoint) - d->changes |= QPinchGesture::CenterPointChanged; - updateState(nextState); - return true; - } -#endif - return QGesture::eventFilter(receiver, event); -} - - -/*! \internal */ -bool QPinchGesture::filterEvent(QEvent *event) -{ - Q_D(QPinchGesture); - - if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() && - static_cast(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures)) - return false; - - Q_UNUSED(event); - return false; -} - -/*! \internal */ -void QPinchGesture::reset() -{ - Q_D(QPinchGesture); - d->changes = 0; - d->totalScaleFactor = d->scaleFactor = d->lastScaleFactor = 1.; - d->totalRotationAngle = d->rotationAngle = d->lastRotationAngle = 0.; - d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPointF(); - QGesture::reset(); -} - -/*! \enum QPinchGesture::WhatChange - \value ScaleFactorChanged - \value RotationAngleChanged - \value CenterPointChanged -*/ - -/*! - \property QPinchGesture::whatChanged - - Specifies which values were changed in the gesture. -*/ -QPinchGesture::WhatChanged QPinchGesture::whatChanged() const -{ - return d_func()->changes; -} - -/*! - \property QPinchGesture::totalScaleFactor - - Specifies a total scale factor of the pinch gesture since the gesture - started. -*/ -qreal QPinchGesture::totalScaleFactor() const -{ - Q_D(const QPinchGesture); - return d->totalScaleFactor * d->scaleFactor; -} - -/*! - \property QPinchGesture::scaleFactor - - Specifies a scale factor of the pinch gesture. - - If the gesture consists of several pinch sequences (i.e. zoom and rotate - sequences), then this property specifies the scale factor in the current - sequence. When pinching changes the rotation angle only, the value of this - property is 1. -*/ -qreal QPinchGesture::scaleFactor() const -{ - return d_func()->scaleFactor; -} - -/*! - \property QPinchGesture::lastScaleFactor - - Specifies a previous scale factor of the pinch gesture. -*/ -qreal QPinchGesture::lastScaleFactor() const -{ - return d_func()->lastScaleFactor; -} - -/*! - \property QPinchGesture::totalRotationAngle - - Specifies a total rotation angle of the gesture since the gesture started. - - The angle is specified in degrees. -*/ -qreal QPinchGesture::totalRotationAngle() const -{ - Q_D(const QPinchGesture); - return d->totalRotationAngle + d->rotationAngle; -} - -/*! - \property QPinchGesture::rotationAngle - - Specifies a rotation angle of the gesture. - - If the gesture consists of several pinch sequences (i.e. zoom and rotate - sequences), then this property specifies the rotation angle in the current - sequence. When pinching changes the scale factor only, the value of this - property is 0. - - The angle is specified in degrees. -*/ -qreal QPinchGesture::rotationAngle() const -{ - return d_func()->rotationAngle; -} - -/*! - \property QPinchGesture::lastRotationAngle - - Specifies a previous rotation angle of the gesture. - - The angle is specified in degrees. -*/ -qreal QPinchGesture::lastRotationAngle() const -{ - return d_func()->lastRotationAngle; -} - -/*! - \property QPinchGesture::centerPoint - - Specifies a center point of the gesture. The point can be used as a center - point that the object is rotated around. -*/ -QPointF QPinchGesture::centerPoint() const -{ - return d_func()->centerPoint; -} - -/*! - \property QPinchGesture::lastCenterPoint - - Specifies a previous center point of the gesture. -*/ -QPointF QPinchGesture::lastCenterPoint() const -{ - return d_func()->lastCenterPoint; -} - -/*! - \property QPinchGesture::startCenterPoint - - Specifies an initial center point of the gesture. Difference between the - startCenterPoint and the centerPoint is the distance at which pinching - fingers has shifted. -*/ -QPointF QPinchGesture::startCenterPoint() const -{ - return d_func()->startCenterPoint; -} - -////////////////////////////////////////////////////////////////////////////// - -/*! - \class QSwipeGesture - \preliminary - \since 4.6 - - \brief The QSwipeGesture class represents a swipe gesture, - providing additional information related to swiping. -*/ - -/*! - Creates a new Swipe gesture handler object and marks it as a - child of \a parent. The swipe gesture handler watches \a - gestureTarget for its events. - - On some platform like Windows it's necessary to provide a non-null - widget as \a parent to get native gesture support. -*/ -QSwipeGesture::QSwipeGesture(QWidget *gestureTarget, QObject *parent) - : QGesture(*new QSwipeGesturePrivate, gestureTarget, parent) -{ - setObjectName(QLatin1String("QSwipeGesture")); -} - -void QSwipeGesturePrivate::setupGestureTarget(QObject *newGestureTarget) -{ - Q_Q(QSwipeGesture); - if (gestureTarget && gestureTarget->isWidgetType()) { - QWidget *w = static_cast(gestureTarget.data()); - QApplicationPrivate::instance()->widgetGestures[w].swipe = 0; -#if defined(Q_WS_WIN) - qt_widget_private(w)->winSetupGestures(); -#endif - } - - if (newGestureTarget && newGestureTarget->isWidgetType()) { - QWidget *w = static_cast(newGestureTarget); - QApplicationPrivate::instance()->widgetGestures[w].swipe = q; -#if defined(Q_WS_WIN) - qt_widget_private(w)->winSetupGestures(); -#endif - } - QGesturePrivate::setupGestureTarget(newGestureTarget); -} - -/*! - \property QSwipeGesture::swipeAngle - - Holds the angle of the swipe gesture, 0..360. -*/ -qreal QSwipeGesture::swipeAngle() const -{ - Q_D(const QSwipeGesture); - return d->swipeAngle; -} - -/*! - \property QSwipeGesture::horizontalDirection - - Holds the direction for the horizontal component of the swipe - gesture, SwipeDirection::Left or SwipeDirection::Right. - SwipeDirection::NoDirection if there is no horizontal - component to the swipe gesture. -*/ -QSwipeGesture::SwipeDirection QSwipeGesture::horizontalDirection() const -{ - Q_D(const QSwipeGesture); - if (d->swipeAngle < 0 || d->swipeAngle == 90 || d->swipeAngle == 270) - return QSwipeGesture::NoDirection; - else if (d->swipeAngle < 90 || d->swipeAngle > 270) - return QSwipeGesture::Right; - else - return QSwipeGesture::Left; -} - - -/*! - \property QSwipeGesture::verticalDirection - - Holds the direction for the vertical component of the swipe - gesture, SwipeDirection::Down or SwipeDirection::Up. - SwipeDirection::NoDirection if there is no vertical - component to the swipe gesture. -*/ -QSwipeGesture::SwipeDirection QSwipeGesture::verticalDirection() const -{ - Q_D(const QSwipeGesture); - if (d->swipeAngle <= 0 || d->swipeAngle == 180) - return QSwipeGesture::NoDirection; - else if (d->swipeAngle < 180) - return QSwipeGesture::Up; - else - return QSwipeGesture::Down; -} - -bool QSwipeGesture::eventFilter(QObject *receiver, QEvent *event) -{ - Q_D(QSwipeGesture); - if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) { - QNativeGestureEvent *ev = static_cast(event); - switch (ev->gestureType) { - case QNativeGestureEvent::Swipe: - d->swipeAngle = ev->angle; - updateState(Qt::GestureStarted); - updateState(Qt::GestureUpdated); - updateState(Qt::GestureFinished); - break; - default: - return false; - } - return true; - } - return QGesture::eventFilter(receiver, event); -} - -/*! \internal */ -bool QSwipeGesture::filterEvent(QEvent *) -{ - return false; -} - -/*! \internal */ -void QSwipeGesture::reset() -{ - Q_D(QSwipeGesture); - d->swipeAngle = -1; - QGesture::reset(); + return QGestureRecognizer::Ignore; } + */ QT_END_NAMESPACE - -#include "moc_qstandardgestures.cpp" - diff --git a/src/gui/kernel/qstandardgestures.h b/src/gui/kernel/qstandardgestures.h deleted file mode 100644 index 9e8291b..0000000 --- a/src/gui/kernel/qstandardgestures.h +++ /dev/null @@ -1,174 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSTANDARDGESTURES_H -#define QSTANDARDGESTURES_H - -#include -#include - -#include - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Gui) - -class QPanGesturePrivate; -class Q_GUI_EXPORT QPanGesture : public QGesture -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QPanGesture) - - Q_PROPERTY(QSizeF totalOffset READ totalOffset) - Q_PROPERTY(QSizeF lastOffset READ lastOffset) - Q_PROPERTY(QSizeF offset READ offset) - -public: - QPanGesture(QWidget *gestureTarget, QObject *parent = 0); - - bool filterEvent(QEvent *event); - - QSizeF totalOffset() const; - QSizeF lastOffset() const; - QSizeF offset() const; - -protected: - void reset(); - -private: - bool event(QEvent *event); - bool eventFilter(QObject *receiver, QEvent *event); - - friend class QWidget; - friend class QAbstractScrollAreaPrivate; -}; - -class QPinchGesturePrivate; -class Q_GUI_EXPORT QPinchGesture : public QGesture -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QPinchGesture) - -public: - enum WhatChange { - ScaleFactorChanged = 0x1, - RotationAngleChanged = 0x2, - CenterPointChanged = 0x4 - }; - Q_DECLARE_FLAGS(WhatChanged, WhatChange) - - Q_PROPERTY(WhatChanged whatChanged READ whatChanged) - - Q_PROPERTY(qreal totalScaleFactor READ totalScaleFactor) - Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor) - Q_PROPERTY(qreal scaleFactor READ scaleFactor) - - Q_PROPERTY(qreal totalRotationAngle READ totalRotationAngle) - Q_PROPERTY(qreal lastRotationAngle READ lastRotationAngle) - Q_PROPERTY(qreal rotationAngle READ rotationAngle) - - Q_PROPERTY(QPointF startCenterPoint READ startCenterPoint) - Q_PROPERTY(QPointF lastCenterPoint READ lastCenterPoint) - Q_PROPERTY(QPointF centerPoint READ centerPoint) - -public: - - QPinchGesture(QWidget *gestureTarget, QObject *parent = 0); - - bool filterEvent(QEvent *event); - void reset(); - - WhatChanged whatChanged() const; - - QPointF startCenterPoint() const; - QPointF lastCenterPoint() const; - QPointF centerPoint() const; - - qreal totalScaleFactor() const; - qreal lastScaleFactor() const; - qreal scaleFactor() const; - - qreal totalRotationAngle() const; - qreal lastRotationAngle() const; - qreal rotationAngle() const; - -private: - bool event(QEvent *event); - bool eventFilter(QObject *receiver, QEvent *event); - - friend class QWidget; -}; - -class QSwipeGesturePrivate; -class Q_GUI_EXPORT QSwipeGesture : public QGesture -{ - Q_OBJECT - Q_ENUMS(SwipeDirection) - - Q_PROPERTY(SwipeDirection horizontalDirection READ horizontalDirection) - Q_PROPERTY(SwipeDirection verticalDirection READ verticalDirection) - Q_PROPERTY(qreal swipeAngle READ swipeAngle) - - Q_DECLARE_PRIVATE(QSwipeGesture) - -public: - enum SwipeDirection { NoDirection, Left, Right, Up, Down }; - QSwipeGesture(QWidget *gestureTarget, QObject *parent = 0); - - bool filterEvent(QEvent *event); - void reset(); - - SwipeDirection horizontalDirection() const; - SwipeDirection verticalDirection() const; - qreal swipeAngle() const; - -private: - bool eventFilter(QObject *receiver, QEvent *event); - - friend class QWidget; -}; -QT_END_NAMESPACE - -QT_END_HEADER - -#endif // QSTANDARDGESTURES_H diff --git a/src/gui/kernel/qstandardgestures_p.h b/src/gui/kernel/qstandardgestures_p.h index 79aadfd..fec5c2f 100644 --- a/src/gui/kernel/qstandardgestures_p.h +++ b/src/gui/kernel/qstandardgestures_p.h @@ -53,83 +53,20 @@ // We mean it. // -#include "qevent.h" -#include "qbasictimer.h" -#include "qdebug.h" - -#include "qgesture.h" -#include "qgesture_p.h" - -#include "qstandardgestures.h" -#include "qbasictimer.h" +#include "qgesturerecognizer.h" +#include "private/qgesture_p.h" QT_BEGIN_NAMESPACE -class QPanGesturePrivate : public QGesturePrivate -{ - Q_DECLARE_PUBLIC(QPanGesture) - -public: - void setupGestureTarget(QObject *o); - - QSizeF totalOffset; - QSizeF lastOffset; - QSizeF offset; - QPointF lastPosition; - -#if defined(QT_MAC_USE_COCOA) - QBasicTimer singleTouchPanTimer; - QPointF prevMousePos; -#endif -}; - -class QPinchGesturePrivate : public QGesturePrivate +class QPanGestureRecognizer : public QGestureRecognizer { - Q_DECLARE_PUBLIC(QPinchGesture) - public: - QPinchGesturePrivate() - : changes(0), totalScaleFactor(0.), lastScaleFactor(0.), scaleFactor(0.), - totalRotationAngle(0.), lastRotationAngle(0.), rotationAngle(0.) -#ifdef Q_WS_WIN - ,initialDistance(0), lastSequenceId(0) -#endif - { - } + QPanGestureRecognizer(); - void setupGestureTarget(QObject *o); - - QPinchGesture::WhatChanged changes; - - qreal totalScaleFactor; // total scale factor, excluding the current sequence. - qreal lastScaleFactor; - qreal scaleFactor; // scale factor in the current sequence. - - qreal totalRotationAngle; // total rotation angle, excluding the current sequence. - qreal lastRotationAngle; - qreal rotationAngle; // rotation angle in the current sequence. - - QPointF startCenterPoint; - QPointF lastCenterPoint; - QPointF centerPoint; -#ifdef Q_WS_WIN - int initialDistance; - ulong lastSequenceId; -#endif -}; - -class QSwipeGesturePrivate : public QGesturePrivate -{ - Q_DECLARE_PUBLIC(QSwipeGesture) - -public: - QSwipeGesturePrivate() - : swipeAngle(-1) - { - } + QGesture *createGesture(QObject *target); - void setupGestureTarget(QObject *o); - qreal swipeAngle; + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 56602f7..bce06e0 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -115,6 +115,7 @@ #include "private/qevent_p.h" #include "private/qgraphicssystem_p.h" +#include "private/qgesturemanager_p.h" // widget/widget data creation count //#define QWIDGET_EXTRA_DEBUG @@ -8332,6 +8333,9 @@ bool QWidget::event(QEvent *event) (void) QApplication::sendEvent(this, &mouseEvent); break; } + case QEvent::Gesture: + event->ignore(); + break; #ifndef QT_NO_PROPERTIES case QEvent::DynamicPropertyChange: { const QByteArray &propName = static_cast(event)->propertyName(); @@ -11668,6 +11672,13 @@ QGraphicsProxyWidget *QWidget::graphicsProxyWidget() const Synonym for QList. */ +void QWidget::grabGesture(Qt::GestureType type, Qt::GestureContext context) +{ + Q_D(QWidget); + d->gestureContext.insert(type, context); + (void)QGestureManager::instance(); // create a gesture manager +} + QT_END_NAMESPACE #include "moc_qwidget.cpp" diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h index 76418af..3501c6e 100644 --- a/src/gui/kernel/qwidget.h +++ b/src/gui/kernel/qwidget.h @@ -96,7 +96,6 @@ class QIcon; class QWindowSurface; class QLocale; class QGraphicsProxyWidget; -class QGestureManager; class QGraphicsEffect; #if defined(Q_WS_X11) class QX11Info; @@ -355,6 +354,8 @@ public: QGraphicsEffect *graphicsEffect() const; void setGraphicsEffect(QGraphicsEffect *effect); + void grabGesture(Qt::GestureType type, Qt::GestureContext context = Qt::WidgetWithChildrenGesture); + public Q_SLOTS: void setWindowTitle(const QString &); #ifndef QT_NO_STYLE_STYLESHEET @@ -737,6 +738,8 @@ private: friend class QGraphicsProxyWidgetPrivate; friend class QStyleSheetStyle; friend struct QWidgetExceptionCleaner; + friend class QGestureManager; + friend class QWinNativePanGestureRecognizer; #ifdef Q_WS_MAC friend class QCoreGraphicsPaintEnginePrivate; diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index c06ef73..a549740 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -64,6 +64,8 @@ #include "QtGui/qapplication.h" #include +#include + #ifdef Q_WS_WIN #include "QtCore/qt_windows.h" #include @@ -578,6 +580,7 @@ public: #ifndef QT_NO_ACTION QList actions; #endif + QMap gestureContext; // Bit fields. uint high_attributes[3]; // the low ones are in QWidget::widget_attributes @@ -604,6 +607,7 @@ public: bool isBackgroundInherited() const; #elif defined(Q_WS_WIN) // <--------------------------------------------------------- WIN uint noPaintOnScreen : 1; // see qwidget_win.cpp ::paintEngine() + uint nativeGesturePanEnabled : 1; bool shouldShowMaximizeButton(); void winUpdateIsOpaque(); diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp index a0982f4..2b11bec 100644 --- a/src/gui/kernel/qwidget_win.cpp +++ b/src/gui/kernel/qwidget_win.cpp @@ -2029,11 +2029,6 @@ void QWidgetPrivate::winSetupGestures() if (!q || !q->isVisible()) return; QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - QApplicationPrivate::WidgetStandardGesturesMap::const_iterator it = - qAppPriv->widgetGestures.find(q); - if (it == qAppPriv->widgetGestures.end()) - return; - const QStandardGestures &gestures = it.value(); WId winid = q->effectiveWinId(); bool needh = false; @@ -2052,10 +2047,10 @@ void QWidgetPrivate::winSetupGestures() singleFingerPanEnabled = asa->d_func()->singleFingerPanEnabled; } if (winid && qAppPriv->SetGestureConfig) { - GESTURECONFIG gc[3]; + GESTURECONFIG gc[1]; memset(gc, 0, sizeof(gc)); gc[0].dwID = GID_PAN; - if (gestures.pan) { + if (nativeGesturePanEnabled) { gc[0].dwWant = GC_PAN; if (needv && singleFingerPanEnabled) gc[0].dwWant |= GC_PAN_WITH_SINGLE_FINGER_VERTICALLY; @@ -2069,16 +2064,16 @@ void QWidgetPrivate::winSetupGestures() gc[0].dwBlock = GC_PAN; } - gc[1].dwID = GID_ZOOM; - if (gestures.pinch) - gc[1].dwWant = GC_ZOOM; - else - gc[1].dwBlock = GC_ZOOM; - gc[2].dwID = GID_ROTATE; - if (gestures.pinch) - gc[2].dwWant = GC_ROTATE; - else - gc[2].dwBlock = GC_ROTATE; +// gc[1].dwID = GID_ZOOM; +// if (gestures.pinch) +// gc[1].dwWant = GC_ZOOM; +// else +// gc[1].dwBlock = GC_ZOOM; +// gc[2].dwID = GID_ROTATE; +// if (gestures.pinch) +// gc[2].dwWant = GC_ROTATE; +// else +// gc[2].dwBlock = GC_ROTATE; qAppPriv->SetGestureConfig(winid, 0, sizeof(gc)/sizeof(gc[0]), gc, sizeof(gc[0])); } diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp new file mode 100644 index 0000000..4619594 --- /dev/null +++ b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp @@ -0,0 +1,124 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "private/qwinnativepangesturerecognizer_win_p.h" + +#include "qevent.h" +#include "qgraphicsitem.h" +#include "qgesture.h" + +#include "private/qgesture_p.h" +#include "private/qevent_p.h" +#include "private/qapplication_p.h" +#include "private/qwidget_p.h" + +QT_BEGIN_NAMESPACE + +QWinNativePanGestureRecognizer::QWinNativePanGestureRecognizer() +{ +} + +QGesture* QWinNativePanGestureRecognizer::createGesture(QObject *target) const +{ + if (!target) + return new QPanGesture; // a special case + if (qobject_cast(target)) + return 0; + if (!target->isWidgetType()) + return 0; + + QWidget *q = static_cast(target); + QWidgetPrivate *d = q->d_func(); + d->nativeGesturePanEnabled = true; + d->winSetupGestures(); + + return new QPanGesture; +} + +QGestureRecognizer::Result QWinNativePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) +{ + QPanGesture *q = static_cast(state); + QPanGesturePrivate *d = q->d_func(); + + QGestureRecognizer::Result result = QGestureRecognizer::Ignore; + if (event->type() == QEvent::NativeGesture) { + QNativeGestureEvent *ev = static_cast(event); + switch(ev->gestureType) { + case QNativeGestureEvent::GestureBegin: + break; + case QNativeGestureEvent::Pan: + result = QGestureRecognizer::GestureTriggered; + event->accept(); + break; + case QNativeGestureEvent::GestureEnd: + if (q->state() == Qt::NoGesture) + return QGestureRecognizer::Ignore; // some other gesture has ended + result = QGestureRecognizer::GestureFinished; + break; + default: + return QGestureRecognizer::Ignore; + } + if (q->state() == Qt::NoGesture) { + d->lastOffset = d->totalOffset = d->offset = QSize(); + } else { + d->lastOffset = d->offset; + d->offset = QSize(ev->position.x() - d->lastPosition.x(), + ev->position.y() - d->lastPosition.y()); + d->totalOffset += d->offset; + } + d->lastPosition = ev->position; + } + return result; +} + +void QWinNativePanGestureRecognizer::reset(QGesture *state) +{ + QPanGesture *pan = static_cast(state); + QPanGesturePrivate *d = pan->d_func(); + + d->totalOffset = d->lastOffset = d->offset = QSizeF(); + d->lastPosition = QPoint(); + d->acceleration = 0; + + QGestureRecognizer::reset(state); +} + +QT_END_NAMESPACE diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h new file mode 100644 index 0000000..a1e8511 --- /dev/null +++ b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QWINNATIVEPANGESTURERECOGNIZER_WIN_P_H +#define QWINNATIVEPANGESTURERECOGNIZER_WIN_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +QT_BEGIN_NAMESPACE + +class QWinNativePanGestureRecognizer : public QGestureRecognizer +{ +public: + QWinNativePanGestureRecognizer(); + + QGesture* createGesture(QObject *target) const; + + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +QT_END_NAMESPACE + +#endif // QWINNATIVEPANGESTURERECOGNIZER_WIN_P_H diff --git a/src/gui/widgets/qabstractscrollarea.cpp b/src/gui/widgets/qabstractscrollarea.cpp index d8702cf..0896256 100644 --- a/src/gui/widgets/qabstractscrollarea.cpp +++ b/src/gui/widgets/qabstractscrollarea.cpp @@ -52,11 +52,6 @@ #include "qboxlayout.h" #include "qpainter.h" -#ifdef Q_WS_WIN -#include "qstandardgestures.h" -#include -#endif - #include "qabstractscrollarea_p.h" #include @@ -165,7 +160,7 @@ QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate() viewport(0), cornerWidget(0), left(0), top(0), right(0), bottom(0), xoffset(0), yoffset(0), viewportFilter(0) #ifdef Q_WS_WIN - , panGesture(0), singleFingerPanEnabled(false) + , singleFingerPanEnabled(false) #endif { } @@ -298,14 +293,6 @@ void QAbstractScrollAreaPrivate::init() q->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); layoutChildren(); - -#ifdef Q_WS_WIN - panGesture = new QPanGesture(viewport, q); - panGesture->d_func()->implicitGesture = true; - QObject::connect(panGesture, SIGNAL(started()), q, SLOT(_q_gestureTriggered())); - QObject::connect(panGesture, SIGNAL(triggered()), q, SLOT(_q_gestureTriggered())); - QObject::connect(panGesture, SIGNAL(finished()), q, SLOT(_q_gestureTriggered())); -#endif // Q_WS_WIN } #ifdef Q_WS_WIN @@ -556,9 +543,6 @@ void QAbstractScrollArea::setViewport(QWidget *widget) if (isVisible()) d->viewport->show(); QMetaObject::invokeMethod(this, "setupViewport", Q_ARG(QWidget *, widget)); -#ifdef Q_WS_WIN - d->panGesture->setGestureTarget(widget); -#endif delete oldViewport; } } @@ -1351,26 +1335,24 @@ void QAbstractScrollArea::setupViewport(QWidget *viewport) Q_UNUSED(viewport); } -#ifdef Q_WS_WIN -void QAbstractScrollAreaPrivate::_q_gestureTriggered() -{ - Q_Q(QAbstractScrollArea); - QPanGesture *g = qobject_cast(q->sender()); - if (!g) - return; - QScrollBar *hBar = q->horizontalScrollBar(); - QScrollBar *vBar = q->verticalScrollBar(); - QSizeF delta = g->lastOffset(); - if (!delta.isNull()) { - if (QApplication::isRightToLeft()) - delta.rwidth() *= -1; - int newX = hBar->value() - delta.width(); - int newY = vBar->value() - delta.height(); - hbar->setValue(newX); - vbar->setValue(newY); - } -} -#endif +//void QAbstractScrollAreaPrivate::_q_gestureTriggered() +//{ +// Q_Q(QAbstractScrollArea); +// QPanGesture *g = qobject_cast(q->sender()); +// if (!g) +// return; +// QScrollBar *hBar = q->horizontalScrollBar(); +// QScrollBar *vBar = q->verticalScrollBar(); +// QSizeF delta = g->lastOffset(); +// if (!delta.isNull()) { +// if (QApplication::isRightToLeft()) +// delta.rwidth() *= -1; +// int newX = hBar->value() - delta.width(); +// int newY = vBar->value() - delta.height(); +// hbar->setValue(newX); +// vbar->setValue(newY); +// } +//} QT_END_NAMESPACE diff --git a/src/gui/widgets/qabstractscrollarea.h b/src/gui/widgets/qabstractscrollarea.h index 3773477..b3a1861 100644 --- a/src/gui/widgets/qabstractscrollarea.h +++ b/src/gui/widgets/qabstractscrollarea.h @@ -129,10 +129,6 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_vslide(int)) Q_PRIVATE_SLOT(d_func(), void _q_showOrHideScrollBars()) -#ifdef Q_WS_WIN - Q_PRIVATE_SLOT(d_func(), void _q_gestureTriggered()) -#endif - friend class QStyleSheetStyle; friend class QWidgetPrivate; }; diff --git a/src/gui/widgets/qabstractscrollarea_p.h b/src/gui/widgets/qabstractscrollarea_p.h index 0bb2851..bfb8917 100644 --- a/src/gui/widgets/qabstractscrollarea_p.h +++ b/src/gui/widgets/qabstractscrollarea_p.h @@ -60,7 +60,6 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_SCROLLAREA -class QPanGesture; class QScrollBar; class QAbstractScrollAreaScrollBarContainer; class Q_AUTOTEST_EXPORT QAbstractScrollAreaPrivate: public QFramePrivate @@ -102,8 +101,6 @@ public: QScopedPointer viewportFilter; #ifdef Q_WS_WIN - QPanGesture *panGesture; - virtual void _q_gestureTriggered(); bool singleFingerPanEnabled; void setSingleFingerPanEnabled(bool on = true); #endif diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp index 2ed6cd7..22438bf 100644 --- a/src/gui/widgets/qplaintextedit.cpp +++ b/src/gui/widgets/qplaintextedit.cpp @@ -65,11 +65,6 @@ #include #include #include - -#ifdef Q_WS_WIN -#include -#endif - #include #ifndef QT_NO_TEXTEDIT @@ -2937,33 +2932,29 @@ QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() cons (\a available is true) or unavailable (\a available is false). */ -#ifdef Q_WS_WIN - -void QPlainTextEditPrivate::_q_gestureTriggered() -{ - Q_Q(QPlainTextEdit); - QPanGesture *g = qobject_cast(q->sender()); - if (!g) - return; - QScrollBar *hBar = q->horizontalScrollBar(); - QScrollBar *vBar = q->verticalScrollBar(); - if (g->state() == Qt::GestureStarted) - originalOffsetY = vBar->value(); - QSizeF totalOffset = g->totalOffset(); - if (!totalOffset.isNull()) { - if (QApplication::isRightToLeft()) - totalOffset.rwidth() *= -1; - // QPlainTextEdit scrolls by lines only in vertical direction - QFontMetrics fm(q->document()->defaultFont()); - int lineHeight = fm.height(); - int newX = hBar->value() - g->lastOffset().width(); - int newY = originalOffsetY - totalOffset.height()/lineHeight; - hbar->setValue(newX); - vbar->setValue(newY); - } -} - -#endif +//void QPlainTextEditPrivate::_q_gestureTriggered() +//{ +// Q_Q(QPlainTextEdit); +// QPanGesture *g = qobject_cast(q->sender()); +// if (!g) +// return; +// QScrollBar *hBar = q->horizontalScrollBar(); +// QScrollBar *vBar = q->verticalScrollBar(); +// if (g->state() == Qt::GestureStarted) +// originalOffsetY = vBar->value(); +// QSizeF totalOffset = g->totalOffset(); +// if (!totalOffset.isNull()) { +// if (QApplication::isRightToLeft()) +// totalOffset.rwidth() *= -1; +// // QPlainTextEdit scrolls by lines only in vertical direction +// QFontMetrics fm(q->document()->defaultFont()); +// int lineHeight = fm.height(); +// int newX = hBar->value() - g->lastOffset().width(); +// int newY = originalOffsetY - totalOffset.height()/lineHeight; +// hbar->setValue(newX); +// vbar->setValue(newY); +// } +//} QT_END_NAMESPACE diff --git a/src/gui/widgets/qplaintextedit.h b/src/gui/widgets/qplaintextedit.h index 1d6881b..60aed1d 100644 --- a/src/gui/widgets/qplaintextedit.h +++ b/src/gui/widgets/qplaintextedit.h @@ -270,10 +270,6 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_verticalScrollbarActionTriggered(int)) Q_PRIVATE_SLOT(d_func(), void _q_cursorPositionChanged()) -#ifdef Q_WS_WIN - Q_PRIVATE_SLOT(d_func(), void _q_gestureTriggered()) -#endif - friend class QPlainTextEditControl; }; diff --git a/src/gui/widgets/qplaintextedit_p.h b/src/gui/widgets/qplaintextedit_p.h index 5fe6f4d..7adf403 100644 --- a/src/gui/widgets/qplaintextedit_p.h +++ b/src/gui/widgets/qplaintextedit_p.h @@ -72,7 +72,6 @@ class QMimeData; class QPlainTextEdit; class ExtraArea; -class QPanGesture; class QPlainTextEditControl : public QTextControl { @@ -179,10 +178,6 @@ public: void _q_modificationChanged(bool); int originalOffsetY; - -#ifdef Q_WS_WIN - void _q_gestureTriggered(); -#endif }; QT_END_NAMESPACE diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index f3ecdae..9bc1d5c 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -398,7 +398,8 @@ SUBDIRS += \ selftests \ symbols \ qrand \ - utf8 + utf8 \ + gestures !wince*:SUBDIRS += $$Q3SUBDIRS diff --git a/tests/auto/gestures/gestures.pro b/tests/auto/gestures/gestures.pro new file mode 100644 index 0000000..da5610f --- /dev/null +++ b/tests/auto/gestures/gestures.pro @@ -0,0 +1,5 @@ +load(qttest_p4) +SOURCES += tst_gestures.cpp + + + diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp new file mode 100644 index 0000000..0a6caff --- /dev/null +++ b/tests/auto/gestures/tst_gestures.cpp @@ -0,0 +1,625 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include +#include "../../shared/util.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +//TESTED_CLASS= +//TESTED_FILES= + +class CustomGesture : public QGesture +{ + Q_OBJECT +public: + static Qt::GestureType GestureType; + + CustomGesture(QObject *parent = 0) + : QGesture(parent), target(0), serial(0) + { + } + + QObject *target; + int serial; + + static const int SerialMaybeThreshold; + static const int SerialStartedThreshold; + static const int SerialFinishedThreshold; +}; +Qt::GestureType CustomGesture::GestureType = Qt::CustomGesture; +const int CustomGesture::SerialMaybeThreshold = 1; +const int CustomGesture::SerialStartedThreshold = 3; +const int CustomGesture::SerialFinishedThreshold = 6; + +class CustomEvent : public QEvent +{ +public: + static int EventType; + + CustomEvent(int serial_ = 0) + : QEvent(QEvent::Type(CustomEvent::EventType)), + serial(serial_), targetObject(0) + { + } + + int serial; + QObject *targetObject; + QPoint hotSpot; +}; +int CustomEvent::EventType = 0; + +class CustomGestureRecognizer : public QGestureRecognizer +{ +public: + CustomGestureRecognizer() + { + CustomEvent::EventType = QEvent::registerEventType(); + eventsCounter = 0; + } + + QGesture* createGesture(QObject *) + { + return new CustomGesture; + } + + QGestureRecognizer::Result filterEvent(QGesture *state, QObject*, QEvent *event) + { + if (event->type() == CustomEvent::EventType) { + QGestureRecognizer::Result result = QGestureRecognizer::ConsumeEventHint; + CustomGesture *g = static_cast(state); + CustomEvent *e = static_cast(event); + g->serial = e->serial; + g->setTargetObject(e->targetObject); + g->setHotSpot(e->hotSpot); + ++eventsCounter; + if (g->serial >= CustomGesture::SerialFinishedThreshold) + result |= QGestureRecognizer::GestureFinished; + else if (g->serial >= CustomGesture::SerialStartedThreshold) + result |= QGestureRecognizer::GestureTriggered; + else if (g->serial >= CustomGesture::SerialMaybeThreshold) + result |= QGestureRecognizer::MaybeGesture; + else + result = QGestureRecognizer::NotGesture; + return result; + } + return QGestureRecognizer::Ignore; + } + + void reset(QGesture *state) + { + CustomGesture *g = static_cast(state); + g->serial = 0; + QGestureRecognizer::reset(state); + } + + int eventsCounter; + QString name; +}; + +class GestureWidget : public QWidget +{ + Q_OBJECT +public: + GestureWidget(const char *name = 0) + { + if (name) + setObjectName(QLatin1String(name)); + reset(); + acceptGestureOverride = false; + } + void reset() + { + customEventsReceived = 0; + gestureEventsReceived = 0; + gestureOverrideEventsReceived = 0; + events.clear(); + overrideEvents.clear(); + } + + int customEventsReceived; + int gestureEventsReceived; + int gestureOverrideEventsReceived; + struct Events + { + QList all; + QList started; + QList updated; + QList finished; + QList canceled; + + void clear() + { + all.clear(); + started.clear(); + updated.clear(); + finished.clear(); + canceled.clear(); + } + } events, overrideEvents; + + bool acceptGestureOverride; + +protected: + bool event(QEvent *event) + { + Events *eventsPtr = 0; + if (event->type() == QEvent::Gesture) { + ++gestureEventsReceived; + eventsPtr = &events; + } else if (event->type() == QEvent::GestureOverride) { + ++gestureOverrideEventsReceived; + eventsPtr = &overrideEvents; + if (acceptGestureOverride) + event->accept(); + } + if (eventsPtr) { + QGestureEvent *e = static_cast(event); + QList gestures = e->allGestures(); + foreach(QGesture *g, gestures) { + eventsPtr->all << g->gestureType(); + switch(g->state()) { + case Qt::GestureStarted: + eventsPtr->started << g->gestureType(); + break; + case Qt::GestureUpdated: + eventsPtr->updated << g->gestureType(); + break; + case Qt::GestureFinished: + eventsPtr->finished << g->gestureType(); + break; + case Qt::GestureCanceled: + eventsPtr->canceled << g->gestureType(); + break; + default: + Q_ASSERT(false); + } + } + } else if (event->type() == CustomEvent::EventType) { + ++customEventsReceived; + } else { + return QWidget::event(event); + } + return true; + } +}; + +static void sendCustomGesture(QObject *object) +{ + CustomEvent ev; + ev.targetObject = object; + for (int i = CustomGesture::SerialMaybeThreshold; + i <= CustomGesture::SerialFinishedThreshold; ++i) { + ev.serial = i; + QApplication::sendEvent(object, &ev); + } +} + +class tst_Gestures : public QObject +{ +Q_OBJECT + +public: + tst_Gestures(); + virtual ~tst_Gestures(); + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void customGesture(); + void autoCancelingGestures(); + void gestureOverChild(); + void multipleWidgetOnlyGestureInTree(); + void conflictingGestures(); + void finishedWithoutStarted(); + void unknownGesture(); + void graphicsItemGesture(); +}; + +tst_Gestures::tst_Gestures() +{ +} + +tst_Gestures::~tst_Gestures() +{ +} + +void tst_Gestures::initTestCase() +{ + CustomGesture::GestureType = qApp->registerGestureRecognizer(new CustomGestureRecognizer); + QVERIFY(CustomGesture::GestureType != Qt::GestureType(0)); + QVERIFY(CustomGesture::GestureType != Qt::CustomGesture); +} + +void tst_Gestures::cleanupTestCase() +{ +} + +void tst_Gestures::init() +{ +} + +void tst_Gestures::cleanup() +{ +} + +void tst_Gestures::customGesture() +{ + GestureWidget widget; + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + sendCustomGesture(&widget); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1; + QCOMPARE(widget.customEventsReceived, TotalCustomEventsCount); + QCOMPARE(widget.gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); + QCOMPARE(widget.events.all.size(), TotalGestureEventsCount); + for(int i = 0; i < widget.events.all.size(); ++i) + QCOMPARE(widget.events.all.at(i), CustomGesture::GestureType); + QCOMPARE(widget.events.started.size(), 1); + QCOMPARE(widget.events.updated.size(), TotalGestureEventsCount - 2); + QCOMPARE(widget.events.finished.size(), 1); + QCOMPARE(widget.events.canceled.size(), 0); +} + +void tst_Gestures::autoCancelingGestures() +{ + GestureWidget widget; + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + // send partial gesture. The gesture will be in the "maybe" state, but will + // never get enough events to fire, so Qt will have to kill it. + CustomEvent ev; + for (int i = CustomGesture::SerialMaybeThreshold; + i < CustomGesture::SerialStartedThreshold; ++i) { + ev.serial = i; + QApplication::sendEvent(&widget, &ev); + } + // wait long enough so the gesture manager will cancel the gesture + QTest::qWait(5000); + QCOMPARE(widget.customEventsReceived, CustomGesture::SerialStartedThreshold - CustomGesture::SerialMaybeThreshold); + QCOMPARE(widget.gestureEventsReceived, 0); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); + QCOMPARE(widget.events.all.size(), 0); +} + +void tst_Gestures::gestureOverChild() +{ + GestureWidget widget("widget"); + QVBoxLayout *l = new QVBoxLayout(&widget); + GestureWidget *child = new GestureWidget("child"); + l->addWidget(child); + + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + + sendCustomGesture(child); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1; + + QCOMPARE(child->customEventsReceived, TotalCustomEventsCount); + QCOMPARE(widget.customEventsReceived, 0); + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(child->gestureOverrideEventsReceived, 0); + QCOMPARE(widget.gestureEventsReceived, 0); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); + + // enable gestures over the children + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture); + + widget.reset(); + child->reset(); + + sendCustomGesture(child); + + QCOMPARE(child->customEventsReceived, TotalCustomEventsCount); + QCOMPARE(widget.customEventsReceived, 0); + + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(child->gestureOverrideEventsReceived, 0); + QCOMPARE(widget.gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); + for(int i = 0; i < widget.events.all.size(); ++i) + QCOMPARE(widget.events.all.at(i), CustomGesture::GestureType); + QCOMPARE(widget.events.started.size(), 1); + QCOMPARE(widget.events.updated.size(), TotalGestureEventsCount - 2); + QCOMPARE(widget.events.finished.size(), 1); + QCOMPARE(widget.events.canceled.size(), 0); +} + +void tst_Gestures::multipleWidgetOnlyGestureInTree() +{ + GestureWidget parent("parent"); + QVBoxLayout *l = new QVBoxLayout(&parent); + GestureWidget *child = new GestureWidget("child"); + l->addWidget(child); + + parent.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + child->grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1; + + // sending events to the child and making sure there is no conflict + sendCustomGesture(child); + + QCOMPARE(child->customEventsReceived, TotalCustomEventsCount); + QCOMPARE(parent.customEventsReceived, 0); + QCOMPARE(child->gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(child->gestureOverrideEventsReceived, 0); + QCOMPARE(parent.gestureEventsReceived, 0); + QCOMPARE(parent.gestureOverrideEventsReceived, 0); + + parent.reset(); + child->reset(); + + // same for the parent widget + sendCustomGesture(&parent); + + QCOMPARE(child->customEventsReceived, 0); + QCOMPARE(parent.customEventsReceived, TotalCustomEventsCount); + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(child->gestureOverrideEventsReceived, 0); + QCOMPARE(parent.gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(parent.gestureOverrideEventsReceived, 0); +} + +void tst_Gestures::conflictingGestures() +{ + GestureWidget parent("parent"); + QVBoxLayout *l = new QVBoxLayout(&parent); + GestureWidget *child = new GestureWidget("child"); + l->addWidget(child); + + parent.grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture); + child->grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + + // child accepts the override, parent will not receive anything + parent.acceptGestureOverride = false; + child->acceptGestureOverride = true; + + // sending events to the child and making sure there is no conflict + sendCustomGesture(child); + + QCOMPARE(child->gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(parent.gestureOverrideEventsReceived, 0); + QCOMPARE(parent.gestureEventsReceived, 0); + + parent.reset(); + child->reset(); + + // parent accepts the override + parent.acceptGestureOverride = true; + child->acceptGestureOverride = false; + + // sending events to the child and making sure there is no conflict + sendCustomGesture(child); + + QCOMPARE(child->gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(parent.gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(parent.gestureEventsReceived, 0); + + parent.reset(); + child->reset(); + + // nobody accepts the override, we will send normal events to the closest context (to the child) + parent.acceptGestureOverride = false; + child->acceptGestureOverride = false; + + // sending events to the child and making sure there is no conflict + sendCustomGesture(child); + + QCOMPARE(child->gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(child->gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(parent.gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(parent.gestureEventsReceived, 0); +} + +void tst_Gestures::finishedWithoutStarted() +{ + GestureWidget widget; + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + // the gesture will claim it finished, but it was never started. + CustomEvent ev; + QTest::ignoreMessage(QtWarningMsg, "QGestureManager::filterEvent: some gestures were finished even though they've never started"); + for (int i = CustomGesture::SerialFinishedThreshold; + i < CustomGesture::SerialFinishedThreshold+1; ++i) { + ev.serial = i; + QApplication::sendEvent(&widget, &ev); + } + + QCOMPARE(widget.gestureEventsReceived, 0); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); +} + +void tst_Gestures::unknownGesture() +{ + GestureWidget widget; + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + widget.grabGesture(Qt::CustomGesture, Qt::WidgetGesture); + widget.grabGesture(Qt::GestureType(Qt::PanGesture+512), Qt::WidgetGesture); + + sendCustomGesture(&widget); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + + QCOMPARE(widget.gestureEventsReceived, TotalGestureEventsCount); +} + +class GestureItem : public QGraphicsObject +{ +public: + GestureItem() + { + size = QRectF(0, 0, 100, 100); + customEventsReceived = 0; + gestureEventsReceived = 0; + gestureOverrideEventsReceived = 0; + events.clear(); + overrideEvents.clear(); + acceptGestureOverride = false; + } + + int customEventsReceived; + int gestureEventsReceived; + int gestureOverrideEventsReceived; + struct Events + { + QList all; + QList started; + QList updated; + QList finished; + QList canceled; + + void clear() + { + all.clear(); + started.clear(); + updated.clear(); + finished.clear(); + canceled.clear(); + } + } events, overrideEvents; + + bool acceptGestureOverride; + + QRectF size; + +protected: + QRectF boundingRect() const + { + return size; + } + void paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidget *) + { + p->fillRect(boundingRect(), Qt::blue); + } + + bool event(QEvent *event) + { + Events *eventsPtr = 0; + if (event->type() == QEvent::Gesture) { + ++gestureEventsReceived; + eventsPtr = &events; + } else if (event->type() == QEvent::GestureOverride) { + ++gestureOverrideEventsReceived; + eventsPtr = &overrideEvents; + if (acceptGestureOverride) + event->accept(); + } + if (eventsPtr) { + QGestureEvent *e = static_cast(event); + QList gestures = e->allGestures(); + foreach(QGesture *g, gestures) { + eventsPtr->all << g->gestureType(); + switch(g->state()) { + case Qt::GestureStarted: + eventsPtr->started << g->gestureType(); + break; + case Qt::GestureUpdated: + eventsPtr->updated << g->gestureType(); + break; + case Qt::GestureFinished: + eventsPtr->finished << g->gestureType(); + break; + case Qt::GestureCanceled: + eventsPtr->canceled << g->gestureType(); + break; + default: + Q_ASSERT(false); + } + } + } else if (event->type() == CustomEvent::EventType) { + ++customEventsReceived; + } else { + return QGraphicsObject::event(event); + } + return true; + } +}; + +void tst_Gestures::graphicsItemGesture() +{ + QGraphicsScene scene; + QGraphicsView view(&scene); + + GestureItem *item = new GestureItem; + scene.addItem(item); + item->setPos(100, 100); + + item->grabGesture(CustomGesture::GestureType); + + sendCustomGesture(item); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1; + + QCOMPARE(item->customEventsReceived, TotalCustomEventsCount); + QCOMPARE(item->gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(item->gestureOverrideEventsReceived, 0); + QCOMPARE(item->events.all.size(), TotalGestureEventsCount); + for(int i = 0; i < item->events.all.size(); ++i) + QCOMPARE(item->events.all.at(i), CustomGesture::GestureType); + QCOMPARE(item->events.started.size(), 1); + QCOMPARE(item->events.updated.size(), TotalGestureEventsCount - 2); + QCOMPARE(item->events.finished.size(), 1); + QCOMPARE(item->events.canceled.size(), 0); +} + +QTEST_MAIN(tst_Gestures) +#include "tst_gestures.moc" diff --git a/tests/manual/gestures/graphicsview/gestures.cpp b/tests/manual/gestures/graphicsview/gestures.cpp new file mode 100644 index 0000000..c888aa1 --- /dev/null +++ b/tests/manual/gestures/graphicsview/gestures.cpp @@ -0,0 +1,90 @@ +#include "gestures.h" + +#include + +Qt::GestureType ThreeFingerSlideGesture::Type = Qt::CustomGesture; + +QGesture *ThreeFingerSlideGestureRecognizer::createGesture(QObject *) +{ + return new ThreeFingerSlideGesture; +} + +QGestureRecognizer::Result ThreeFingerSlideGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) +{ + ThreeFingerSlideGesture *d = static_cast(state); + QGestureRecognizer::Result result; + switch (event->type()) { + case QEvent::TouchBegin: + result = QGestureRecognizer::MaybeGesture; + case QEvent::TouchEnd: + if (d->gestureFired) + result = QGestureRecognizer::GestureFinished; + else + result = QGestureRecognizer::NotGesture; + case QEvent::TouchUpdate: + if (d->state() != Qt::NoGesture) { + QTouchEvent *ev = static_cast(event); + if (ev->touchPoints().size() == 3) { + d->gestureFired = true; + result = QGestureRecognizer::GestureTriggered; + } else { + result = QGestureRecognizer::MaybeGesture; + for (int i = 0; i < ev->touchPoints().size(); ++i) { + const QTouchEvent::TouchPoint &pt = ev->touchPoints().at(i); + const int distance = (pt.pos().toPoint() - pt.startPos().toPoint()).manhattanLength(); + if (distance > 20) { + result = QGestureRecognizer::NotGesture; + } + } + } + } else { + result = QGestureRecognizer::NotGesture; + } + + break; + case QEvent::MouseButtonPress: + case QEvent::MouseButtonRelease: + case QEvent::MouseMove: + if (d->state() != Qt::NoGesture) + result = QGestureRecognizer::Ignore; + else + result = QGestureRecognizer::NotGesture; + break; + default: + result = QGestureRecognizer::Ignore; + break; + } + return result; +} + +void ThreeFingerSlideGestureRecognizer::reset(QGesture *state) +{ + static_cast(state)->gestureFired = false; + QGestureRecognizer::reset(state); +} + + +QGesture *RotateGestureRecognizer::createGesture(QObject *) +{ + return new QGesture; +} + +QGestureRecognizer::Result RotateGestureRecognizer::filterEvent(QGesture *, QObject *, QEvent *event) +{ + switch (event->type()) { + case QEvent::TouchBegin: + case QEvent::TouchEnd: + case QEvent::TouchUpdate: + break; + default: + break; + } + return QGestureRecognizer::Ignore; +} + +void RotateGestureRecognizer::reset(QGesture *state) +{ + QGestureRecognizer::reset(state); +} + +#include "moc_gestures.cpp" diff --git a/tests/manual/gestures/graphicsview/gestures.h b/tests/manual/gestures/graphicsview/gestures.h new file mode 100644 index 0000000..630a7ef --- /dev/null +++ b/tests/manual/gestures/graphicsview/gestures.h @@ -0,0 +1,37 @@ +#ifndef GESTURE_H +#define GESTURE_H + +#include +#include + +class ThreeFingerSlideGesture : public QGesture +{ + Q_OBJECT +public: + static Qt::GestureType Type; + + ThreeFingerSlideGesture(QObject *parent = 0) : QGesture(parent) { } + + bool gestureFired; +}; + +class ThreeFingerSlideGestureRecognizer : public QGestureRecognizer +{ +private: + QGesture* createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +class RotateGestureRecognizer : public QGestureRecognizer +{ +public: + RotateGestureRecognizer(); + +private: + QGesture* createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +#endif // GESTURE_H diff --git a/tests/manual/gestures/graphicsview/graphicsview.pro b/tests/manual/gestures/graphicsview/graphicsview.pro new file mode 100644 index 0000000..a40c323 --- /dev/null +++ b/tests/manual/gestures/graphicsview/graphicsview.pro @@ -0,0 +1,17 @@ +# ##################################################################### +# Automatically generated by qmake (2.01a) Mon Sep 7 13:26:43 2009 +# ##################################################################### +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +# Input +SOURCES += main.cpp \ + imageitem.cpp \ + gestures.cpp \ + mousepangesturerecognizer.cpp + +HEADERS += imageitem.h \ + gestures.h \ + mousepangesturerecognizer.h diff --git a/tests/manual/gestures/graphicsview/imageitem.cpp b/tests/manual/gestures/graphicsview/imageitem.cpp new file mode 100644 index 0000000..d6f406c --- /dev/null +++ b/tests/manual/gestures/graphicsview/imageitem.cpp @@ -0,0 +1,52 @@ +#include "imageitem.h" +#include "gestures.h" + +#include +#include + +ImageItem::ImageItem(const QImage &image) +{ + setImage(image); +} + +void ImageItem::setImage(const QImage &image) +{ + image_ = image; + pixmap_ = QPixmap::fromImage(image.scaled(400, 400, Qt::KeepAspectRatio)); + update(); +} + +QImage ImageItem::image() const +{ + return image_; +} + +QRectF ImageItem::boundingRect() const +{ + const QSize size = pixmap_.size(); + return QRectF(0, 0, size.width(), size.height()); +} + +void ImageItem::paint(QPainter *painter, const QStyleOptionGraphicsItem*, QWidget*) +{ + painter->drawPixmap(0, 0, pixmap_); +} + + +GestureImageItem::GestureImageItem(const QImage &image) + : ImageItem(image) +{ + grabGesture(Qt::PanGesture); + grabGesture(ThreeFingerSlideGesture::Type); +} + +bool GestureImageItem::event(QEvent *event) +{ + if (event->type() == QEvent::Gesture) { + qDebug("gestureimageitem: gesture triggered"); + return true; + } + return ImageItem::event(event); +} + +#include "moc_imageitem.cpp" diff --git a/tests/manual/gestures/graphicsview/imageitem.h b/tests/manual/gestures/graphicsview/imageitem.h new file mode 100644 index 0000000..ad0e397 --- /dev/null +++ b/tests/manual/gestures/graphicsview/imageitem.h @@ -0,0 +1,36 @@ +#ifndef IMAGEITEM_H +#define IMAGEITEM_H + +#include +#include +#include +#include + +class ImageItem : public QGraphicsObject +{ + Q_OBJECT +public: + ImageItem(const QImage &image); + void setImage(const QImage &image); + QImage image() const; + QRectF boundingRect() const; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + +private: + QImage image_; + QPixmap pixmap_; + QTransform transform; +}; + +class GestureImageItem : public ImageItem +{ + Q_OBJECT + +public: + GestureImageItem(const QImage &image); + +protected: + bool event(QEvent *event); +}; + +#endif // IMAGEITEM_H diff --git a/tests/manual/gestures/graphicsview/main.cpp b/tests/manual/gestures/graphicsview/main.cpp new file mode 100644 index 0000000..1db5614 --- /dev/null +++ b/tests/manual/gestures/graphicsview/main.cpp @@ -0,0 +1,187 @@ +#include + +#include "imageitem.h" +#include "gestures.h" +#include "mousepangesturerecognizer.h" + +class GraphicsView : public QGraphicsView +{ +public: + GraphicsView(QGraphicsScene *scene, QWidget *parent = 0) + : QGraphicsView(scene, parent) + { + } +protected: + bool viewportEvent(QEvent *event) + { + if (event->type() == QEvent::Gesture) { + QGestureEvent *ge = static_cast(event); + if (QPanGesture *pan = static_cast(ge->gesture(Qt::PanGesture))) { + switch (pan->state()) { + case Qt::GestureStarted: qDebug("view: Pan: started"); break; + case Qt::GestureFinished: qDebug("view: Pan: finished"); break; + case Qt::GestureCanceled: qDebug("view: Pan: canceled"); break; + case Qt::GestureUpdated: break; + default: qDebug("view: Pan: "); break; + } + + const QSizeF offset = pan->offset(); + QScrollBar *vbar = verticalScrollBar(); + QScrollBar *hbar = horizontalScrollBar(); + vbar->setValue(vbar->value() - offset.height()); + hbar->setValue(hbar->value() - offset.width()); + ge->accept(pan); + return true; + } + } + return QGraphicsView::viewportEvent(event); + } +}; + +class StandardGestures : public QWidget +{ +public: + StandardGestures(QWidget *parent = 0) + : QWidget(parent) + { + scene = new QGraphicsScene(this); + scene->setSceneRect(-2000, -2000, 4000, 4000); + view = new QGraphicsView(scene, 0); + QVBoxLayout *l = new QVBoxLayout(this); + l->addWidget(view); + } + + QGraphicsScene *scene; + QGraphicsView *view; +}; + +class GlobalViewGestures : public QWidget +{ + Q_OBJECT +public: + GlobalViewGestures(QWidget *parent = 0) + : QWidget(parent) + { + scene = new QGraphicsScene(this); + scene->setSceneRect(-2000, -2000, 4000, 4000); + view = new GraphicsView(scene, 0); + view->viewport()->grabGesture(Qt::PanGesture); + view->viewport()->grabGesture(ThreeFingerSlideGesture::Type); + QVBoxLayout *l = new QVBoxLayout(this); + l->addWidget(view); + } + + QGraphicsScene *scene; + QGraphicsView *view; +}; + +class GraphicsItemGestures : public QWidget +{ + Q_OBJECT +public: + GraphicsItemGestures(QWidget *parent = 0) + : QWidget(parent) + { + scene = new QGraphicsScene(this); + scene->setSceneRect(-2000, -2000, 4000, 4000); + view = new QGraphicsView(scene, 0); + QVBoxLayout *l = new QVBoxLayout(this); + l->addWidget(view); + } + + QGraphicsScene *scene; + QGraphicsView *view; +}; + +class MainWindow : public QMainWindow +{ +public: + MainWindow(); + + void setDirectory(const QString &path); + +private: + QTabWidget *tabWidget; + StandardGestures *standardGestures; + GlobalViewGestures *globalViewGestures; + GraphicsItemGestures *graphicsItemGestures; +}; + +MainWindow::MainWindow() +{ + (void)qApp->registerGestureRecognizer(new MousePanGestureRecognizer); + ThreeFingerSlideGesture::Type = qApp->registerGestureRecognizer(new ThreeFingerSlideGestureRecognizer); + + tabWidget = new QTabWidget; + + standardGestures = new StandardGestures; + tabWidget->addTab(standardGestures, "Standard gestures"); + + globalViewGestures = new GlobalViewGestures; + tabWidget->addTab(globalViewGestures , "Global gestures"); + + graphicsItemGestures = new GraphicsItemGestures; + tabWidget->addTab(graphicsItemGestures, "Graphics item gestures"); + + setCentralWidget(tabWidget); +} + +void MainWindow::setDirectory(const QString &path) +{ + QDir dir(path); + QStringList files = dir.entryList(QDir::Files | QDir::Readable | QDir::NoDotAndDotDot); + foreach(const QString &file, files) { + QImageReader img(path + QLatin1String("/")+file); + QImage image = img.read(); + if (!image.isNull()) { + { + ImageItem *item = new ImageItem(image); + item->setPos(0, 0); + item->setFlags(QGraphicsItem::ItemIsMovable); + standardGestures->scene->addItem(item); + } + { + ImageItem *item = new ImageItem(image); + item->setPos(0, 0); + item->setFlags(QGraphicsItem::ItemIsMovable); + globalViewGestures->scene->addItem(item); + } + { + GestureImageItem *item = new GestureImageItem(image); + item->setPos(0, 0); + item->setFlags(QGraphicsItem::ItemIsMovable); + graphicsItemGestures->scene->addItem(item); + } + } + } + + { + QList items = standardGestures->scene->items(); + if (!items.isEmpty()) + standardGestures->view->ensureVisible(items.at(0)); + } + { + QList items = globalViewGestures->scene->items(); + if (!items.isEmpty()) + globalViewGestures->view->ensureVisible(items.at(0)); + } + { + QList items = graphicsItemGestures->scene->items(); + if (!items.isEmpty()) + graphicsItemGestures->view->ensureVisible(items.at(0)); + } +} + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + MainWindow window; + if (QApplication::arguments().size() > 1) + window.setDirectory(QApplication::arguments().at(1)); + else + window.setDirectory(QFileDialog::getExistingDirectory(0, "Select image folder")); + window.show(); + return app.exec(); +} + +#include "main.moc" diff --git a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp new file mode 100644 index 0000000..f89f247 --- /dev/null +++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mousepangesturerecognizer.h" + +#include +#include +#include + +MousePanGestureRecognizer::MousePanGestureRecognizer() +{ +} + +QGesture* MousePanGestureRecognizer::createGesture(QObject *) +{ + return new QPanGesture; +} + +QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) +{ + QPanGesture *g = static_cast(state); + QMouseEvent *me = static_cast(event); + if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonDblClick + || event->type() == QEvent::GraphicsSceneMousePress || event->type() == QEvent::GraphicsSceneMouseDoubleClick) { + g->setHotSpot(me->globalPos()); + g->setProperty("lastPos", me->globalPos()); + g->setProperty("pressed", QVariant::fromValue(true)); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } else if (event->type() == QEvent::MouseMove || event->type() == QEvent::GraphicsSceneMouseMove) { + if (g->property("pressed").toBool()) { + QPoint pos = me->globalPos(); + QPoint lastPos = g->property("lastPos").toPoint(); + g->setLastOffset(g->offset()); + lastPos = pos - lastPos; + g->setOffset(QSizeF(lastPos.x(), lastPos.y())); + g->setTotalOffset(g->totalOffset() + QSizeF(lastPos.x(), lastPos.y())); + g->setProperty("lastPos", pos); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } + return QGestureRecognizer::NotGesture; + } else if (event->type() == QEvent::MouseButtonRelease || event->type() == QEvent::GraphicsSceneMouseRelease) { + return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint; + } + return QGestureRecognizer::Ignore; +} + +void MousePanGestureRecognizer::reset(QGesture *state) +{ + QPanGesture *g = static_cast(state); + g->setTotalOffset(QSizeF()); + g->setLastOffset(QSizeF()); + g->setOffset(QSizeF()); + g->setAcceleration(0); + g->setProperty("lastPos", QVariant()); + g->setProperty("pressed", QVariant::fromValue(false)); + QGestureRecognizer::reset(state); +} diff --git a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h new file mode 100644 index 0000000..e31799e --- /dev/null +++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MOUSEPANGESTURERECOGNIZER_H +#define MOUSEPANGESTURERECOGNIZER_H + +#include + +class MousePanGestureRecognizer : public QGestureRecognizer +{ +public: + MousePanGestureRecognizer(); + + QGesture* createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +#endif // MOUSEPANGESTURERECOGNIZER_H diff --git a/tests/manual/gestures/pinch/main.cpp b/tests/manual/gestures/pinch/main.cpp deleted file mode 100644 index 4d9c14c..0000000 --- a/tests/manual/gestures/pinch/main.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include "pinchwidget.h" - -class MainWindow : public QWidget -{ -public: - MainWindow(); -}; - -MainWindow::MainWindow() -{ - QVBoxLayout *l = new QVBoxLayout(this); - QPushButton *btn = new QPushButton(QLatin1String("AcceptTouchEvents")); - l->addWidget(btn); - QImage image(":/images/qt-logo.png"); - PinchWidget *w = new PinchWidget(image); - l->addWidget(w); - connect(btn, SIGNAL(clicked()), w, SLOT(acceptTouchEvents())); -} - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - MainWindow w; - w.show(); - return app.exec(); -} diff --git a/tests/manual/gestures/pinch/pinch.pro b/tests/manual/gestures/pinch/pinch.pro deleted file mode 100644 index d1f28cc..0000000 --- a/tests/manual/gestures/pinch/pinch.pro +++ /dev/null @@ -1,4 +0,0 @@ -SOURCES = main.cpp \ - pinchwidget.cpp -HEADERS += pinchwidget.h -RESOURCES += pinch.qrc diff --git a/tests/manual/gestures/pinch/pinch.qrc b/tests/manual/gestures/pinch/pinch.qrc deleted file mode 100644 index 0be9ba1..0000000 --- a/tests/manual/gestures/pinch/pinch.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - qt-logo.png - - diff --git a/tests/manual/gestures/pinch/pinchwidget.cpp b/tests/manual/gestures/pinch/pinchwidget.cpp deleted file mode 100644 index e93c8b5..0000000 --- a/tests/manual/gestures/pinch/pinchwidget.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "pinchwidget.h" - -#include -#include -#include -#include -#include -#include - -PinchWidget::PinchWidget(const QImage &image, QWidget *parent) - : QWidget(parent) -{ - setMinimumSize(100,100); - this->image = image; - pan = new QPanGesture(this); - connect(pan, SIGNAL(triggered()), this, SLOT(onPanTriggered())); - connect(pan, SIGNAL(finished()), this, SLOT(onPanFinished())); - pinch = new QPinchGesture(this); - connect(pinch, SIGNAL(triggered()), this, SLOT(onPinchTriggered())); - connect(pinch, SIGNAL(finished()), this, SLOT(onPinchFinished())); -} - -QSize PinchWidget::sizeHint() const -{ - return image.size()*1.5; -} - -void PinchWidget::paintEvent(QPaintEvent *) -{ - QPainter p(this); - QTransform t = worldTransform * currentPanTransform * currentPinchTransform; - p.setTransform(t); - QPoint center = QPoint(width()/2, height()/2); - QPoint size = QPoint(image.width()/2, image.height()/2); - p.translate(center - size); - p.drawImage(QPoint(0,0), image); -} - -void PinchWidget::acceptTouchEvents() -{ - setAttribute(Qt::WA_AcceptTouchEvents); - if (QWidget *w = qobject_cast(sender())) - w->setEnabled(false); -} - -void PinchWidget::onPanTriggered() -{ - currentPanTransform = QTransform() - .translate(pan->totalOffset().width(), - pan->totalOffset().height()); - update(); -} - -void PinchWidget::onPanFinished() -{ - worldTransform *= currentPanTransform; - currentPanTransform.reset(); - update(); -} - -void PinchWidget::onPinchTriggered() -{ - QPoint transformCenter = worldTransform.map(QPoint(width()/2, height()/2)); - currentPinchTransform = QTransform() - .translate(transformCenter.x(), transformCenter.y()) - .scale(pinch->totalScaleFactor(), pinch->totalScaleFactor()) - .rotate(pinch->totalRotationAngle()) - .translate(-transformCenter.x(), -transformCenter.y()); - update(); -} - -void PinchWidget::onPinchFinished() -{ - worldTransform *= currentPinchTransform; - currentPinchTransform.reset(); - update(); -} diff --git a/tests/manual/gestures/pinch/pinchwidget.h b/tests/manual/gestures/pinch/pinchwidget.h deleted file mode 100644 index 7628ffc..0000000 --- a/tests/manual/gestures/pinch/pinchwidget.h +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef PINCHWIDGET_H -#define PINCHWIDGET_H - -#include -#include - -class QPanGesture; -class QPinchGesture; - -class PinchWidget : public QWidget -{ - Q_OBJECT -public: - PinchWidget(const QImage &image, QWidget *parent = 0); - -private Q_SLOTS: - void acceptTouchEvents(); - void onPanTriggered(); - void onPanFinished(); - void onPinchTriggered(); - void onPinchFinished(); - -private: - void paintEvent(QPaintEvent *); - QSize sizeHint() const; - - QImage image; - - QPanGesture *pan; - QPinchGesture *pinch; - - QTransform worldTransform; - QTransform currentPanTransform; - QTransform currentPinchTransform; -}; - -#endif // PINCHWIDGET_H diff --git a/tests/manual/gestures/pinch/qt-logo.png b/tests/manual/gestures/pinch/qt-logo.png deleted file mode 100644 index 7d3e97e..0000000 Binary files a/tests/manual/gestures/pinch/qt-logo.png and /dev/null differ diff --git a/tests/manual/gestures/scrollarea/main.cpp b/tests/manual/gestures/scrollarea/main.cpp new file mode 100644 index 0000000..e2fa4d3 --- /dev/null +++ b/tests/manual/gestures/scrollarea/main.cpp @@ -0,0 +1,188 @@ +#include + +#include "mousepangesturerecognizer.h" + +class ScrollArea : public QScrollArea +{ + Q_OBJECT +public: + ScrollArea(QWidget *parent = 0) + : QScrollArea(parent), outside(false) + { + viewport()->grabGesture(Qt::PanGesture); + } + +protected: + bool viewportEvent(QEvent *event) + { + if (event->type() == QEvent::Gesture) { + gestureEvent(static_cast(event)); + return true; + } else if (event->type() == QEvent::GestureOverride) { + QGestureEvent *ge = static_cast(event); + if (QPanGesture *pan = static_cast(ge->gesture(Qt::PanGesture))) + if (pan->state() == Qt::GestureStarted) { + outside = false; + } + } + return QScrollArea::viewportEvent(event); + } + void gestureEvent(QGestureEvent *event) + { + QPanGesture *pan = static_cast(event->gesture(Qt::PanGesture)); + if (pan) { + switch(pan->state()) { + case Qt::GestureStarted: qDebug("area: Pan: started"); break; + case Qt::GestureFinished: qDebug("area: Pan: finished"); break; + case Qt::GestureCanceled: qDebug("area: Pan: canceled"); break; + case Qt::GestureUpdated: break; + default: qDebug("area: Pan: "); break; + } + + if (pan->state() == Qt::GestureStarted) + outside = false; + event->ignore(); + event->ignore(pan); + if (outside) + return; + + const QSizeF offset = pan->offset(); + const QSizeF totalOffset = pan->totalOffset(); + QScrollBar *vbar = verticalScrollBar(); + QScrollBar *hbar = horizontalScrollBar(); + + if ((vbar->value() == vbar->minimum() && totalOffset.height() > 10) || + (vbar->value() == vbar->maximum() && totalOffset.height() < -10)) { + outside = true; + return; + } + if ((hbar->value() == hbar->minimum() && totalOffset.width() > 10) || + (hbar->value() == hbar->maximum() && totalOffset.width() < -10)) { + outside = true; + return; + } + vbar->setValue(vbar->value() - offset.height()); + hbar->setValue(hbar->value() - offset.width()); + event->accept(pan); + } + } + +private: + bool outside; +}; + +class Slider : public QSlider +{ +public: + Slider(Qt::Orientation orientation, QWidget *parent = 0) + : QSlider(orientation, parent) + { + grabGesture(Qt::PanGesture); + } +protected: + bool event(QEvent *event) + { + if (event->type() == QEvent::Gesture) { + gestureEvent(static_cast(event)); + return true; + } + return QSlider::event(event); + } + void gestureEvent(QGestureEvent *event) + { + QPanGesture *pan = static_cast(event->gesture(Qt::PanGesture)); + if (pan) { + switch (pan->state()) { + case Qt::GestureStarted: qDebug("slider: Pan: started"); break; + case Qt::GestureFinished: qDebug("slider: Pan: finished"); break; + case Qt::GestureCanceled: qDebug("slider: Pan: canceled"); break; + case Qt::GestureUpdated: break; + default: qDebug("slider: Pan: "); break; + } + + if (pan->state() == Qt::GestureStarted) + outside = false; + event->ignore(); + event->ignore(pan); + if (outside) + return; + const QSizeF offset = pan->offset(); + const QSizeF totalOffset = pan->totalOffset(); + if (orientation() == Qt::Horizontal) { + if ((value() == minimum() && totalOffset.width() < -10) || + (value() == maximum() && totalOffset.width() > 10)) { + outside = true; + return; + } + if (totalOffset.height() < 40 && totalOffset.height() > -40) { + setValue(value() + offset.width()); + event->accept(pan); + } else { + outside = true; + } + } else if (orientation() == Qt::Vertical) { + if ((value() == maximum() && totalOffset.height() < -10) || + (value() == minimum() && totalOffset.height() > 10)) { + outside = true; + return; + } + if (totalOffset.width() < 40 && totalOffset.width() > -40) { + setValue(value() - offset.height()); + event->accept(pan); + } else { + outside = true; + } + } + } + } +private: + bool outside; +}; + +class MainWindow : public QMainWindow +{ +public: + MainWindow() + { + rootScrollArea = new ScrollArea; + setCentralWidget(rootScrollArea); + + QWidget *root = new QWidget; + root->setFixedSize(3000, 3000); + rootScrollArea->setWidget(root); + + Slider *verticalSlider = new Slider(Qt::Vertical, root); + verticalSlider ->move(650, 1100); + Slider *horizontalSlider = new Slider(Qt::Horizontal, root); + horizontalSlider ->move(600, 1000); + + childScrollArea = new ScrollArea(root); + childScrollArea->move(500, 500); + QWidget *w = new QWidget; + w->setMinimumWidth(400); + QVBoxLayout *l = new QVBoxLayout(w); + l->setMargin(20); + for (int i = 0; i < 100; ++i) { + QWidget *w = new QWidget; + QHBoxLayout *ll = new QHBoxLayout(w); + ll->addWidget(new QLabel(QString("Label %1").arg(i))); + ll->addWidget(new QPushButton(QString("Button %1").arg(i))); + l->addWidget(w); + } + childScrollArea->setWidget(w); + } +private: + ScrollArea *rootScrollArea; + ScrollArea *childScrollArea; +}; + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + app.registerGestureRecognizer(new MousePanGestureRecognizer); + MainWindow w; + w.show(); + return app.exec(); +} + +#include "main.moc" diff --git a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp new file mode 100644 index 0000000..6e2171c --- /dev/null +++ b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mousepangesturerecognizer.h" + +#include +#include +#include + +MousePanGestureRecognizer::MousePanGestureRecognizer() +{ +} + +QGesture* MousePanGestureRecognizer::createGesture(QObject *) const +{ + return new QPanGesture; +} + +QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) +{ + QPanGesture *g = static_cast(state); + QMouseEvent *me = static_cast(event); + if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonDblClick) { + g->setHotSpot(me->globalPos()); + g->setProperty("lastPos", me->globalPos()); + g->setProperty("pressed", QVariant::fromValue(true)); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } else if (event->type() == QEvent::MouseMove) { + if (g->property("pressed").toBool()) { + QPoint pos = me->globalPos(); + QPoint lastPos = g->property("lastPos").toPoint(); + g->setLastOffset(g->offset()); + lastPos = pos - lastPos; + g->setOffset(QSizeF(lastPos.x(), lastPos.y())); + g->setTotalOffset(g->totalOffset() + QSizeF(lastPos.x(), lastPos.y())); + g->setProperty("lastPos", pos); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } + return QGestureRecognizer::NotGesture; + } else if (event->type() == QEvent::MouseButtonRelease) { + return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint; + } + return QGestureRecognizer::Ignore; +} + +void MousePanGestureRecognizer::reset(QGesture *state) +{ + QPanGesture *g = static_cast(state); + g->setTotalOffset(QSizeF()); + g->setLastOffset(QSizeF()); + g->setOffset(QSizeF()); + g->setAcceleration(0); + g->setProperty("lastPos", QVariant()); + g->setProperty("pressed", QVariant::fromValue(false)); + QGestureRecognizer::reset(state); +} diff --git a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h new file mode 100644 index 0000000..f6df289 --- /dev/null +++ b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MOUSEPANGESTURERECOGNIZER_H +#define MOUSEPANGESTURERECOGNIZER_H + +#include + +class MousePanGestureRecognizer : public QGestureRecognizer +{ +public: + MousePanGestureRecognizer(); + + QGesture* createGesture(QObject *target) const; + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +#endif // MOUSEPANGESTURERECOGNIZER_H diff --git a/tests/manual/gestures/scrollarea/scrollarea.pro b/tests/manual/gestures/scrollarea/scrollarea.pro new file mode 100644 index 0000000..554810e --- /dev/null +++ b/tests/manual/gestures/scrollarea/scrollarea.pro @@ -0,0 +1,3 @@ +SOURCES = main.cpp \ + mousepangesturerecognizer.cpp +HEADERS += mousepangesturerecognizer.h diff --git a/tests/manual/gestures/twopanwidgets/main.cpp b/tests/manual/gestures/twopanwidgets/main.cpp deleted file mode 100644 index 20a35fc..0000000 --- a/tests/manual/gestures/twopanwidgets/main.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -static const char text[] = - "Hello world! This is just a lot of text with to make sure scrollbar appear"; - -class TextEdit : public QTextEdit -{ - Q_OBJECT -public Q_SLOTS: - void acceptTouch() - { - viewport()->setAttribute(Qt::WA_AcceptTouchEvents); - if (QWidget *w = qobject_cast(sender())) - w->setEnabled(false); - } -}; - -class PlainTextEdit : public QPlainTextEdit -{ - Q_OBJECT -public Q_SLOTS: - void acceptTouch() - { - viewport()->setAttribute(Qt::WA_AcceptTouchEvents); - if (QWidget *w = qobject_cast(sender())) - w->setEnabled(false); - } -}; - -class MainWindow : public QMainWindow -{ -public: - MainWindow(); -}; - -MainWindow::MainWindow() -{ - QTabWidget *tw = new QTabWidget; - setCentralWidget(tw); - { - QWidget *tab = new QWidget; - QGridLayout *layout = new QGridLayout(tab); - QTextEdit *edit1 = new TextEdit; - QTextEdit *edit2 = new TextEdit; - QString text1 = QString(text).replace(' ', '\n'); - for (int i = 0; i < 5; ++i) text1 += text1; - QString text2 = QString(text); - for (int i = 0; i < 5; ++i) text2 += text2; - edit1->setPlainText(text1); - edit2->setPlainText(text2); - edit2->setWordWrapMode(QTextOption::NoWrap); - QPushButton *btn1 = new QPushButton(QLatin1String("AcceptTouchEvents")); - connect(btn1, SIGNAL(clicked()), edit1, SLOT(acceptTouch())); - QPushButton *btn2 = new QPushButton(QLatin1String("AcceptTouchEvents")); - connect(btn2, SIGNAL(clicked()), edit2, SLOT(acceptTouch())); - layout->addWidget(btn1, 0, 0); - layout->addWidget(btn2, 0, 1); - layout->addWidget(edit1, 1, 0); - layout->addWidget(edit2, 1, 1); - tw->addTab(tab, QLatin1String("QTextEdit")); - } - { - QWidget *tab = new QWidget; - QGridLayout *layout = new QGridLayout(tab); - QPlainTextEdit *edit1 = new PlainTextEdit; - QPlainTextEdit *edit2 = new PlainTextEdit; - QString text1 = QString(text).replace(' ', '\n'); - for (int i = 0; i < 5; ++i) text1 += text1; - QString text2 = QString(text); - for (int i = 0; i < 5; ++i) text2 += text2; - edit1->setPlainText(text1); - edit2->setPlainText(text2); - edit2->setWordWrapMode(QTextOption::NoWrap); - QPushButton *btn1 = new QPushButton(QLatin1String("AcceptTouchEvents")); - connect(btn1, SIGNAL(clicked()), edit1, SLOT(acceptTouch())); - QPushButton *btn2 = new QPushButton(QLatin1String("AcceptTouchEvents")); - connect(btn2, SIGNAL(clicked()), edit2, SLOT(acceptTouch())); - layout->addWidget(btn1, 0, 0); - layout->addWidget(btn2, 0, 1); - layout->addWidget(edit1, 1, 0); - layout->addWidget(edit2, 1, 1); - tw->addTab(tab, QLatin1String("QPlainTextEdit")); - } -} - -int main(int argc, char **argv) -{ - QApplication app(argc, argv); - MainWindow window; - window.show(); - return app.exec(); -} - -#include "main.moc" diff --git a/tests/manual/gestures/twopanwidgets/twopanwidgets.pro b/tests/manual/gestures/twopanwidgets/twopanwidgets.pro deleted file mode 100644 index 5254077..0000000 --- a/tests/manual/gestures/twopanwidgets/twopanwidgets.pro +++ /dev/null @@ -1 +0,0 @@ -SOURCES = main.cpp \ No newline at end of file -- cgit v0.12 From 53c265f7c35c613de71c336ed95b04da30c8b602 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 9 Oct 2009 19:09:09 +0200 Subject: A new implementation of the Gesture API. Implemented gestures using gesture events and separate QGesture/QGestureRecognizer classes. Reviewed-by: trustme --- examples/gestures/imageviewer/imageviewer.pro | 13 +- examples/gestures/imageviewer/imagewidget.cpp | 80 ++- examples/gestures/imageviewer/imagewidget.h | 15 +- .../gestures/imageviewer/tapandholdgesture.cpp | 155 ----- examples/gestures/imageviewer/tapandholdgesture.h | 74 -- src/corelib/global/qnamespace.h | 29 +- src/corelib/global/qnamespace.qdoc | 2 - src/corelib/kernel/qcoreevent.cpp | 2 + src/corelib/kernel/qcoreevent.h | 4 + src/gui/graphicsview/qgraphicsitem.cpp | 9 + src/gui/graphicsview/qgraphicsitem.h | 4 + src/gui/graphicsview/qgraphicsitem_p.h | 1 + src/gui/graphicsview/qgraphicsscene.cpp | 11 +- src/gui/graphicsview/qgraphicsscene.h | 1 + src/gui/kernel/kernel.pri | 15 +- src/gui/kernel/qapplication.cpp | 89 +++ src/gui/kernel/qapplication.h | 5 + src/gui/kernel/qapplication_p.h | 22 +- src/gui/kernel/qapplication_win.cpp | 39 +- src/gui/kernel/qevent.cpp | 74 ++ src/gui/kernel/qevent.h | 34 + src/gui/kernel/qgesture.cpp | 428 ++++++------ src/gui/kernel/qgesture.h | 153 +++- src/gui/kernel/qgesture_p.h | 76 +- src/gui/kernel/qgesturemanager.cpp | 453 ++++++++++++ src/gui/kernel/qgesturemanager_p.h | 125 ++++ src/gui/kernel/qgesturerecognizer.cpp | 71 ++ src/gui/kernel/qgesturerecognizer.h | 93 +++ src/gui/kernel/qstandardgestures.cpp | 775 +++------------------ src/gui/kernel/qstandardgestures.h | 174 ----- src/gui/kernel/qstandardgestures_p.h | 77 +- src/gui/kernel/qwidget.cpp | 11 + src/gui/kernel/qwidget.h | 5 +- src/gui/kernel/qwidget_p.h | 4 + src/gui/kernel/qwidget_win.cpp | 29 +- .../kernel/qwinnativepangesturerecognizer_win.cpp | 124 ++++ .../kernel/qwinnativepangesturerecognizer_win_p.h | 73 ++ src/gui/widgets/qabstractscrollarea.cpp | 56 +- src/gui/widgets/qabstractscrollarea.h | 4 - src/gui/widgets/qabstractscrollarea_p.h | 3 - src/gui/widgets/qplaintextedit.cpp | 55 +- src/gui/widgets/qplaintextedit.h | 4 - src/gui/widgets/qplaintextedit_p.h | 5 - tests/auto/auto.pro | 3 +- tests/auto/gestures/gestures.pro | 5 + tests/auto/gestures/tst_gestures.cpp | 625 +++++++++++++++++ tests/manual/gestures/graphicsview/gestures.cpp | 90 +++ tests/manual/gestures/graphicsview/gestures.h | 37 + .../manual/gestures/graphicsview/graphicsview.pro | 17 + tests/manual/gestures/graphicsview/imageitem.cpp | 52 ++ tests/manual/gestures/graphicsview/imageitem.h | 36 + tests/manual/gestures/graphicsview/main.cpp | 187 +++++ .../graphicsview/mousepangesturerecognizer.cpp | 95 +++ .../graphicsview/mousepangesturerecognizer.h | 57 ++ tests/manual/gestures/pinch/main.cpp | 68 -- tests/manual/gestures/pinch/pinch.pro | 4 - tests/manual/gestures/pinch/pinch.qrc | 5 - tests/manual/gestures/pinch/pinchwidget.cpp | 118 ---- tests/manual/gestures/pinch/pinchwidget.h | 78 --- tests/manual/gestures/pinch/qt-logo.png | Bin 13923 -> 0 bytes tests/manual/gestures/scrollarea/main.cpp | 188 +++++ .../scrollarea/mousepangesturerecognizer.cpp | 94 +++ .../scrollarea/mousepangesturerecognizer.h | 57 ++ tests/manual/gestures/scrollarea/scrollarea.pro | 3 + tests/manual/gestures/twopanwidgets/main.cpp | 135 ---- .../gestures/twopanwidgets/twopanwidgets.pro | 1 - 66 files changed, 3437 insertions(+), 1994 deletions(-) delete mode 100644 examples/gestures/imageviewer/tapandholdgesture.cpp delete mode 100644 examples/gestures/imageviewer/tapandholdgesture.h create mode 100644 src/gui/kernel/qgesturemanager.cpp create mode 100644 src/gui/kernel/qgesturemanager_p.h create mode 100644 src/gui/kernel/qgesturerecognizer.cpp create mode 100644 src/gui/kernel/qgesturerecognizer.h delete mode 100644 src/gui/kernel/qstandardgestures.h create mode 100644 src/gui/kernel/qwinnativepangesturerecognizer_win.cpp create mode 100644 src/gui/kernel/qwinnativepangesturerecognizer_win_p.h create mode 100644 tests/auto/gestures/gestures.pro create mode 100644 tests/auto/gestures/tst_gestures.cpp create mode 100644 tests/manual/gestures/graphicsview/gestures.cpp create mode 100644 tests/manual/gestures/graphicsview/gestures.h create mode 100644 tests/manual/gestures/graphicsview/graphicsview.pro create mode 100644 tests/manual/gestures/graphicsview/imageitem.cpp create mode 100644 tests/manual/gestures/graphicsview/imageitem.h create mode 100644 tests/manual/gestures/graphicsview/main.cpp create mode 100644 tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp create mode 100644 tests/manual/gestures/graphicsview/mousepangesturerecognizer.h delete mode 100644 tests/manual/gestures/pinch/main.cpp delete mode 100644 tests/manual/gestures/pinch/pinch.pro delete mode 100644 tests/manual/gestures/pinch/pinch.qrc delete mode 100644 tests/manual/gestures/pinch/pinchwidget.cpp delete mode 100644 tests/manual/gestures/pinch/pinchwidget.h delete mode 100644 tests/manual/gestures/pinch/qt-logo.png create mode 100644 tests/manual/gestures/scrollarea/main.cpp create mode 100644 tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp create mode 100644 tests/manual/gestures/scrollarea/mousepangesturerecognizer.h create mode 100644 tests/manual/gestures/scrollarea/scrollarea.pro delete mode 100644 tests/manual/gestures/twopanwidgets/main.cpp delete mode 100644 tests/manual/gestures/twopanwidgets/twopanwidgets.pro diff --git a/examples/gestures/imageviewer/imageviewer.pro b/examples/gestures/imageviewer/imageviewer.pro index 124175e..68c1f1c 100644 --- a/examples/gestures/imageviewer/imageviewer.pro +++ b/examples/gestures/imageviewer/imageviewer.pro @@ -1,11 +1,14 @@ -HEADERS += imagewidget.h \ - tapandholdgesture.h +HEADERS += imagewidget.h SOURCES += imagewidget.cpp \ - tapandholdgesture.cpp \ main.cpp # install target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS imageviewer.pro +sources.files = $$SOURCES \ + $$HEADERS \ + $$RESOURCES \ + $$FORMS \ + imageviewer.pro sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer -INSTALLS += target sources +INSTALLS += target \ + sources diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp index 3489b5b..5633942 100644 --- a/examples/gestures/imageviewer/imagewidget.cpp +++ b/examples/gestures/imageviewer/imagewidget.cpp @@ -59,24 +59,16 @@ ImageWidget::ImageWidget(QWidget *parent) setAttribute(Qt::WA_OpaquePaintEvent); setAttribute(Qt::WA_NoSystemBackground); - QGesture *panGesture = new QPanGesture(this); - connect(panGesture, SIGNAL(started()), this, SLOT(panTriggered())); - connect(panGesture, SIGNAL(finished()), this, SLOT(panTriggered())); - connect(panGesture, SIGNAL(canceled()), this, SLOT(panTriggered())); - connect(panGesture, SIGNAL(triggered()), this, SLOT(panTriggered())); - - QGesture *pinchGesture = new QPinchGesture(this); - connect(pinchGesture, SIGNAL(started()), this, SLOT(pinchTriggered())); - connect(pinchGesture, SIGNAL(finished()), this, SLOT(pinchTriggered())); - connect(pinchGesture, SIGNAL(canceled()), this, SLOT(pinchTriggered())); - connect(pinchGesture, SIGNAL(triggered()), this, SLOT(pinchTriggered())); - -//! [construct swipe gesture] - QGesture *swipeGesture = new QSwipeGesture(this); -//! [construct swipe gesture] -//! [connect swipe gesture] - connect(swipeGesture, SIGNAL(triggered()), this, SLOT(swipeTriggered())); -//! [connect swipe gesture] + grabGesture(Qt::PanGesture); + grabGesture(Qt::PinchGesture); + grabGesture(Qt::SwipeGesture); +} + +bool ImageWidget::event(QEvent *event) +{ + if (event->type() == QEvent::Gesture) + return gestureEvent(static_cast(event)); + return QWidget::event(event); } void ImageWidget::paintEvent(QPaintEvent*) @@ -106,11 +98,25 @@ void ImageWidget::mouseDoubleClickEvent(QMouseEvent *) update(); } -void ImageWidget::panTriggered() +bool ImageWidget::gestureEvent(QGestureEvent *event) +{ + if (QGesture *pan = event->gesture(Qt::PanGesture)) { + panTriggered(static_cast(pan)); + return true; + } else if (QGesture *pinch = event->gesture(Qt::PinchGesture)) { + pinchTriggered(static_cast(pan)); + return true; + } else if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) { + swipeTriggered(static_cast(pan)); + return true; + } + return false; +} + +void ImageWidget::panTriggered(QPanGesture *gesture) { - QPanGesture *pg = qobject_cast(sender()); #ifndef QT_NO_CURSOR - switch (pg->state()) { + switch (gesture->state()) { case Qt::GestureStarted: case Qt::GestureUpdated: setCursor(Qt::SizeAllCursor); @@ -119,33 +125,37 @@ void ImageWidget::panTriggered() setCursor(Qt::ArrowCursor); } #endif - horizontalOffset += pg->lastOffset().width(); - verticalOffset += pg->lastOffset().height(); + QSizeF lastOffset = gesture->property("lastOffset").toSizeF(); + horizontalOffset += lastOffset.width(); + verticalOffset += lastOffset.height(); update(); } -void ImageWidget::pinchTriggered() +void ImageWidget::pinchTriggered(QPinchGesture *gesture) { - QPinchGesture *pg = qobject_cast(sender()); - if (pg->whatChanged() & QPinchGesture::RotationAngleChanged) - rotationAngle += pg->rotationAngle() - pg->lastRotationAngle(); - if (pg->whatChanged() & QPinchGesture::ScaleFactorChanged) - scaleFactor += pg->scaleFactor() - pg->lastScaleFactor(); + QPinchGesture::WhatChanged whatChanged = gesture->property("whatChanged").value(); + if (whatChanged & QPinchGesture::RotationAngleChanged) { + qreal value = gesture->property("rotationAngle").toReal(); + qreal lastValue = gesture->property("lastRotationAngle").toReal(); + rotationAngle += value - lastValue; + } + if (whatChanged & QPinchGesture::ScaleFactorChanged) { + qreal value = gesture->property("scaleFactor").toReal(); + qreal lastValue = gesture->property("lastScaleFactor").toReal(); + scaleFactor += value - lastValue; + } update(); } -//! [swipe slot start] -void ImageWidget::swipeTriggered() +void ImageWidget::swipeTriggered(QSwipeGesture *gesture) { - QSwipeGesture *pg = qobject_cast(sender()); - if (pg->horizontalDirection() == QSwipeGesture::Left - || pg->verticalDirection() == QSwipeGesture::Up) + if (gesture->horizontalDirection() == QSwipeGesture::Left + || gesture->verticalDirection() == QSwipeGesture::Up) goPrevImage(); else goNextImage(); update(); } -//! [swipe slot start] void ImageWidget::resizeEvent(QResizeEvent*) { diff --git a/examples/gestures/imageviewer/imagewidget.h b/examples/gestures/imageviewer/imagewidget.h index 2a1bfca..e05a67a 100644 --- a/examples/gestures/imageviewer/imagewidget.h +++ b/examples/gestures/imageviewer/imagewidget.h @@ -46,6 +46,11 @@ #include #include +class QGestureEvent; +class QPanGesture; +class QPinchGesture; +class QSwipeGesture; + class ImageWidget : public QWidget { Q_OBJECT @@ -56,14 +61,16 @@ public: void openDirectory(const QString &path); protected: + bool event(QEvent*); + bool gestureEvent(QGestureEvent*); void paintEvent(QPaintEvent*); void resizeEvent(QResizeEvent*); void mouseDoubleClickEvent(QMouseEvent*); -private slots: - void panTriggered(); - void pinchTriggered(); - void swipeTriggered(); +private: + void panTriggered(QPanGesture*); + void pinchTriggered(QPinchGesture*); + void swipeTriggered(QSwipeGesture*); private: void updateImage(); diff --git a/examples/gestures/imageviewer/tapandholdgesture.cpp b/examples/gestures/imageviewer/tapandholdgesture.cpp deleted file mode 100644 index a10c192..0000000 --- a/examples/gestures/imageviewer/tapandholdgesture.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "tapandholdgesture.h" - -#include - -// #define TAPANDHOLD_USING_MOUSE - -/*! - \class TapAndHoldGesture - \since 4.6 - - \brief The TapAndHoldGesture class represents a Tap-and-Hold gesture, - providing additional information. -*/ - -const int TapAndHoldGesture::iterationCount = 40; -const int TapAndHoldGesture::iterationTimeout = 50; - -/*! - Creates a new Tap and Hold gesture handler object and marks it as a child - of \a parent. - - On some platforms like Windows there is a system-wide tap and hold gesture - that cannot be overriden, hence the gesture might never trigger and default - context menu will be shown instead. -*/ -TapAndHoldGesture::TapAndHoldGesture(QWidget *parent) - : QGesture(parent), iteration(0) -{ -} - -/*! \internal */ -bool TapAndHoldGesture::filterEvent(QEvent *event) -{ - const QTouchEvent *ev = static_cast(event); - switch (event->type()) { - case QEvent::TouchBegin: { - if (timer.isActive()) - timer.stop(); - timer.start(TapAndHoldGesture::iterationTimeout, this); - const QPoint p = ev->touchPoints().at(0).pos().toPoint(); - position = p; - break; - } - case QEvent::TouchUpdate: - if (ev->touchPoints().size() == 1) { - const QPoint startPos = ev->touchPoints().at(0).startPos().toPoint(); - const QPoint pos = ev->touchPoints().at(0).pos().toPoint(); - if ((startPos - pos).manhattanLength() > 15) - reset(); - } else { - reset(); - } - break; - case QEvent::TouchEnd: - reset(); - break; -#ifdef TAPANDHOLD_USING_MOUSE - case QEvent::MouseButtonPress: { - if (timer.isActive()) - timer.stop(); - timer.start(TapAndHoldGesture::iterationTimeout, this); - const QPoint p = static_cast(event)->pos(); - position = startPosition = p; - break; - } - case QEvent::MouseMove: { - const QPoint startPos = startPosition; - const QPoint pos = static_cast(event)->pos(); - if ((startPos - pos).manhattanLength() > 15) - reset(); - break; - } - case QEvent::MouseButtonRelease: - reset(); - break; -#endif // TAPANDHOLD_USING_MOUSE - default: - break; - } - return false; -} - -/*! \internal */ -void TapAndHoldGesture::timerEvent(QTimerEvent *event) -{ - if (event->timerId() != timer.timerId()) - return; - if (iteration == TapAndHoldGesture::iterationCount) { - timer.stop(); - updateState(Qt::GestureFinished); - } else { - updateState(Qt::GestureUpdated); - } - ++iteration; -} - -/*! \internal */ -void TapAndHoldGesture::reset() -{ - timer.stop(); - iteration = 0; - position = startPosition = QPoint(); - updateState(Qt::NoGesture); -} - -/*! - \property TapAndHoldGesture::pos - - \brief The position of the gesture. -*/ -QPoint TapAndHoldGesture::pos() const -{ - return position; -} diff --git a/examples/gestures/imageviewer/tapandholdgesture.h b/examples/gestures/imageviewer/tapandholdgesture.h deleted file mode 100644 index 682342e..0000000 --- a/examples/gestures/imageviewer/tapandholdgesture.h +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef TAPANDHOLDGESTURE_H -#define TAPANDHOLDGESTURE_H - -#include -#include -#include - -class TapAndHoldGesture : public QGesture -{ - Q_OBJECT - Q_PROPERTY(QPoint pos READ pos) - -public: - TapAndHoldGesture(QWidget *parent); - - bool filterEvent(QEvent *event); - void reset(); - - QPoint pos() const; - -protected: - void timerEvent(QTimerEvent *event); - -private: - QBasicTimer timer; - int iteration; - QPoint position; - QPoint startPosition; - static const int iterationCount; - static const int iterationTimeout; -}; - -#endif // TAPANDHOLDGESTURE_H diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 9d76dcc..eea7532 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -501,8 +501,6 @@ public: WA_WState_AcceptedTouchBeginEvent = 122, WA_TouchPadAcceptSingleTouchEvents = 123, - WA_DontUseStandardGestures = 124, - // Add new attributes before this line WA_AttributeCount }; @@ -1615,9 +1613,29 @@ public: enum GestureState { NoGesture, - GestureStarted = 1, - GestureUpdated = 2, - GestureFinished = 3 + GestureStarted = 1, + GestureUpdated = 2, + GestureFinished = 3, + GestureCanceled = 4 + }; + + enum GestureType + { + TapGesture = 1, + TapAndHoldGesture = 2, + PanGesture = 3, + PinchGesture = 4, + SwipeGesture = 5, + + CustomGesture = 0x0100, + + LastGestureType = ~0u + }; + + enum GestureContext + { + WidgetGesture = WidgetShortcut, + WidgetWithChildrenGesture = WidgetWithChildrenShortcut, }; enum NavigationMode @@ -1638,7 +1656,6 @@ public: ; #endif - Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::MouseButtons) Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::Orientations) Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::KeyboardModifiers) diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index b7775bd..ca766db 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -1219,8 +1219,6 @@ \value WA_TouchPadAcceptSingleTouchEvents Allows touchpad single touch events to be sent to the widget. - \value WA_DontUseStandardGestures Disables standard gestures on Qt widgets. - \omitvalue WA_SetLayoutDirection \omitvalue WA_InputMethodTransparent \omitvalue WA_WState_CompressKeys diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp index 744e6a9..5883042 100644 --- a/src/corelib/kernel/qcoreevent.cpp +++ b/src/corelib/kernel/qcoreevent.cpp @@ -228,6 +228,8 @@ QT_BEGIN_NAMESPACE \value TouchBegin Beginning of a sequence of touch-screen and/or track-pad events (QTouchEvent) \value TouchUpdate Touch-screen event (QTouchEvent) \value TouchEnd End of touch-event sequence (QTouchEvent) + \value Gesture A gesture was triggered (QGestureEvent) + \value GestureOverride A gesture override was triggered (QGestureEvent) User events should have values between \c User and \c{MaxUser}: diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h index d66cead..ee1e1b9 100644 --- a/src/corelib/kernel/qcoreevent.h +++ b/src/corelib/kernel/qcoreevent.h @@ -283,6 +283,9 @@ public: UpdateSoftKeys = 201, // Internal for compressing soft key updates + Gesture = 198, + GestureOverride = 202, + // 512 reserved for Qt Jambi's MetaCall event // 513 reserved for Qt Jambi's DeleteOnMainThread event @@ -324,6 +327,7 @@ private: friend class QGraphicsView; friend class QGraphicsViewPrivate; friend class QGraphicsScenePrivate; + friend class QGestureManager; }; class Q_CORE_EXPORT QTimerEvent : public QEvent diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 3069733..81bbb5c 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -663,6 +663,8 @@ #include #endif +#include + #include QT_BEGIN_NAMESPACE @@ -7285,6 +7287,13 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent QGraphicsItem::d_ptr->isObject = true; } +void QGraphicsObject::grabGesture(Qt::GestureType type, Qt::GestureContext context) +{ + QGraphicsItemPrivate * const d = QGraphicsItem::d_func(); + d->gestureContext.insert(type, context); + (void)QGestureManager::instance(); // create a gesture manager +} + /*! \property QGraphicsObject::parent \brief the parent of the item diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h index e6e324a..2665235 100644 --- a/src/gui/graphicsview/qgraphicsitem.h +++ b/src/gui/graphicsview/qgraphicsitem.h @@ -464,6 +464,7 @@ private: friend class QGraphicsSceneBspTree; friend class QGraphicsView; friend class QGraphicsViewPrivate; + friend class QGraphicsObject; friend class QGraphicsWidget; friend class QGraphicsWidgetPrivate; friend class QGraphicsProxyWidgetPrivate; @@ -473,6 +474,7 @@ private: friend class QGraphicsSceneBspTreeIndexPrivate; friend class QGraphicsItemEffectSourcePrivate; friend class QGraphicsTransformPrivate; + friend class QGestureManager; friend class ::tst_QGraphicsItem; friend bool qt_closestLeaf(const QGraphicsItem *, const QGraphicsItem *); friend bool qt_closestItemFirst(const QGraphicsItem *, const QGraphicsItem *); @@ -553,6 +555,8 @@ public: using QObject::children; #endif + void grabGesture(Qt::GestureType type, Qt::GestureContext context = Qt::WidgetWithChildrenGesture); + Q_SIGNALS: void parentChanged(); void opacityChanged(); diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h index 51bfea1..6550362 100644 --- a/src/gui/graphicsview/qgraphicsitem_p.h +++ b/src/gui/graphicsview/qgraphicsitem_p.h @@ -450,6 +450,7 @@ public: QGraphicsItem *focusScopeItem; Qt::InputMethodHints imHints; QGraphicsItem::PanelModality panelModality; + QMap gestureContext; // Packed 32 bits quint32 acceptedMouseButtons : 5; diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 961f44f..0f33a66 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -5475,11 +5475,11 @@ void QGraphicsScenePrivate::touchEventHandler(QTouchEvent *sceneTouchEvent) } if (itemsNeedingEvents.isEmpty()) { - sceneTouchEvent->ignore(); + sceneTouchEvent->accept(); return; } - bool acceptSceneTouchEvent = false; + bool ignoreSceneTouchEvent = true; QHash::ConstIterator it = itemsNeedingEvents.constBegin(); const QHash::ConstIterator end = itemsNeedingEvents.constEnd(); for (; it != end; ++it) { @@ -5522,19 +5522,20 @@ void QGraphicsScenePrivate::touchEventHandler(QTouchEvent *sceneTouchEvent) item->d_ptr->acceptedTouchBeginEvent = true; bool res = sendTouchBeginEvent(item, &touchEvent) && touchEvent.isAccepted(); - acceptSceneTouchEvent = acceptSceneTouchEvent || res; + if (!res) + ignoreSceneTouchEvent = false; break; } default: if (item->d_ptr->acceptedTouchBeginEvent) { updateTouchPointsForItem(item, &touchEvent); (void) sendEvent(item, &touchEvent); - acceptSceneTouchEvent = true; + ignoreSceneTouchEvent = false; } break; } } - sceneTouchEvent->setAccepted(acceptSceneTouchEvent); + sceneTouchEvent->setAccepted(ignoreSceneTouchEvent); } bool QGraphicsScenePrivate::sendTouchBeginEvent(QGraphicsItem *origin, QTouchEvent *touchEvent) diff --git a/src/gui/graphicsview/qgraphicsscene.h b/src/gui/graphicsview/qgraphicsscene.h index ba47530..d6d48d7 100644 --- a/src/gui/graphicsview/qgraphicsscene.h +++ b/src/gui/graphicsview/qgraphicsscene.h @@ -311,6 +311,7 @@ private: friend class QGraphicsSceneBspTreeIndex; friend class QGraphicsSceneBspTreeIndexPrivate; friend class QGraphicsItemEffectSourcePrivate; + friend class QGesture; }; Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsScene::SceneLayers) diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri index 7cde384..31fce6a 100644 --- a/src/gui/kernel/kernel.pri +++ b/src/gui/kernel/kernel.pri @@ -45,8 +45,9 @@ HEADERS += \ kernel/qkeymapper_p.h \ kernel/qgesture.h \ kernel/qgesture_p.h \ - kernel/qstandardgestures.h \ - kernel/qstandardgestures_p.h \ + kernel/qstandardgestures_p.h \ + kernel/qgesturerecognizer.h \ + kernel/qgesturemanager_p.h \ kernel/qsoftkeymanager_p.h SOURCES += \ @@ -78,12 +79,17 @@ SOURCES += \ kernel/qwidgetaction.cpp \ kernel/qkeymapper.cpp \ kernel/qgesture.cpp \ - kernel/qstandardgestures.cpp \ + kernel/qstandardgestures.cpp \ + kernel/qgesturerecognizer.cpp \ + kernel/qgesturemanager.cpp \ kernel/qsoftkeymanager.cpp win32 { DEFINES += QT_NO_DIRECTDRAW + HEADERS += \ + kernel/qwinnativepangesturerecognizer_win_p.h + SOURCES += \ kernel/qapplication_win.cpp \ kernel/qclipboard_win.cpp \ @@ -94,7 +100,8 @@ win32 { kernel/qsound_win.cpp \ kernel/qwidget_win.cpp \ kernel/qole_win.cpp \ - kernel/qkeymapper_win.cpp + kernel/qkeymapper_win.cpp \ + kernel/qwinnativepangesturerecognizer_win.cpp !contains(DEFINES, QT_NO_DIRECTDRAW):LIBS += ddraw.lib } diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index 044fedd..af653bf 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -97,6 +97,9 @@ #include "qapplication.h" +#include "qgesture.h" +#include "private/qgesturemanager_p.h" + #ifndef QT_NO_LIBRARY #include "qlibrary.h" #endif @@ -152,6 +155,14 @@ bool QApplicationPrivate::autoSipEnabled = false; bool QApplicationPrivate::autoSipEnabled = true; #endif +QGestureManager* QGestureManager::instance() +{ + QApplicationPrivate *d = qApp->d_func(); + if (!d->gestureManager) + d->gestureManager = new QGestureManager(qApp); + return d->gestureManager; +} + QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::Type type) : QCoreApplicationPrivate(argc, argv) { @@ -175,6 +186,8 @@ QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::T directPainters = 0; #endif + gestureManager = 0; + if (!self) self = this; } @@ -3658,6 +3671,13 @@ bool QApplication::notify(QObject *receiver, QEvent *e) #endif // !QT_NO_WHEELEVENT || !QT_NO_TABLETEVENT } + // walk through parents and check for gestures + if (d->gestureManager) { + if (d->gestureManager->filterEvent(receiver, e)) + return true; + } + + // User input and window activation makes tooltips sleep switch (e->type()) { case QEvent::Wheel: @@ -4159,6 +4179,65 @@ bool QApplication::notify(QObject *receiver, QEvent *e) } break; } + case QEvent::Gesture: + case QEvent::GestureOverride: + { + if (receiver->isWidgetType()) { + QWidget *w = static_cast(receiver); + QGestureEvent *gestureEvent = static_cast(e); + QList allGestures = gestureEvent->allGestures(); + + bool eventAccepted = gestureEvent->isAccepted(); + bool wasAccepted = eventAccepted; + while (w) { + // send only gestures the widget expects + QList gestures; + QWidgetPrivate *wd = w->d_func(); + for (int i = 0; i < allGestures.size();) { + QGesture *g = allGestures.at(i); + Qt::GestureType type = g->gestureType(); + if (wd->gestureContext.contains(type)) { + allGestures.removeAt(i); + gestures.append(g); + gestureEvent->setAccepted(g, false); + } else { + ++i; + } + } + if (!gestures.isEmpty()) { + QGestureEvent ge(gestures); + ge.t = gestureEvent->t; + ge.spont = gestureEvent->spont; + ge.m_accept = wasAccepted; + res = d->notify_helper(w, &ge); + gestureEvent->spont = false; + eventAccepted = ge.isAccepted(); + if (res && eventAccepted) + break; + if (!eventAccepted) { + // ### two ways to ignore the event/gesture + + // if the whole event wasn't accepted, put back those + // gestures that were not accepted. + for (int i = 0; i < gestures.size(); ++i) { + QGesture *g = gestures.at(i); + if (!ge.isAccepted(g)) + allGestures.append(g); + } + } + } + if (allGestures.isEmpty()) + break; + if (w->isWindow()) + break; + w = w->parentWidget(); + } + gestureEvent->m_accept = eventAccepted; + } else { + res = d->notify_helper(receiver, e); + } + break; + } default: res = d->notify_helper(receiver, e); break; @@ -5566,6 +5645,16 @@ Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window, QApplicationPrivate::translateRawTouchEvent(window, deviceType, touchPoints); } +Qt::GestureType QApplication::registerGestureRecognizer(QGestureRecognizer *recognizer) +{ + return QGestureManager::instance()->registerGestureRecognizer(recognizer); +} + +void QApplication::unregisterGestureRecognizer(Qt::GestureType type) +{ + QGestureManager::instance()->unregisterGestureRecognizer(type); +} + QT_END_NAMESPACE #include "moc_qapplication.cpp" diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h index 5f21a56..12b398d 100644 --- a/src/gui/kernel/qapplication.h +++ b/src/gui/kernel/qapplication.h @@ -86,6 +86,7 @@ class QDecoration; class QApplication; class QApplicationPrivate; +class QGestureRecognizer; #if defined(qApp) #undef qApp #endif @@ -289,6 +290,9 @@ public: static Qt::NavigationMode navigationMode(); #endif + Qt::GestureType registerGestureRecognizer(QGestureRecognizer *recognizer); + void unregisterGestureRecognizer(Qt::GestureType type); + Q_SIGNALS: void lastWindowClosed(); void focusChanged(QWidget *old, QWidget *now); @@ -400,6 +404,7 @@ private: friend class QDirectPainter; friend class QDirectPainterPrivate; #endif + friend class QGestureManager; #if defined(Q_WS_MAC) || defined(Q_WS_X11) Q_PRIVATE_SLOT(d_func(), void _q_alertTimeOut()) diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h index 6036196..79e958f 100644 --- a/src/gui/kernel/qapplication_p.h +++ b/src/gui/kernel/qapplication_p.h @@ -83,8 +83,8 @@ class QGraphicsSystem; class QInputContext; class QObject; class QWidget; -class QGestureManager; class QSocketNotifier; +class QGestureManager; extern bool qt_is_gui_used; #ifndef QT_NO_CLIPBOARD @@ -265,20 +265,6 @@ typedef struct tagGESTURECONFIG #endif // Q_WS_WIN -class QPanGesture; -class QPinchGesture; -class QSwipeGesture; - -struct QStandardGestures -{ - QPanGesture *pan; - QPinchGesture *pinch; - QSwipeGesture *swipe; - - QStandardGestures() : pan(0), pinch(0), swipe(0) { } -}; - - class QScopedLoopLevelCounter { QThreadData *threadData; @@ -523,6 +509,8 @@ public: void sendSyntheticEnterLeave(QWidget *widget); #endif + QGestureManager *gestureManager; + QMap widgetForTouchPointId; QMap appCurrentTouchPoints; static void updateTouchPointsForWidget(QWidget *widget, QTouchEvent *touchEvent); @@ -537,9 +525,6 @@ public: QTouchEvent::DeviceType deviceType, const QList &touchPoints); - typedef QMap WidgetStandardGesturesMap; - WidgetStandardGesturesMap widgetGestures; - #if defined(Q_WS_WIN) static PtrRegisterTouchWindow RegisterTouchWindow; static PtrGetTouchInputInfo GetTouchInputInfo; @@ -556,7 +541,6 @@ public: PtrBeginPanningFeedback BeginPanningFeedback; PtrUpdatePanningFeedback UpdatePanningFeedback; PtrEndPanningFeedback EndPanningFeedback; - QWidget *gestureWidget; #endif #ifdef QT_RX71_MULTITOUCH diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 270562f..540f0a2 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -92,8 +92,6 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c #include #include #include "qevent_p.h" -#include "qstandardgestures.h" -#include "qstandardgestures_p.h" //#define ALIEN_DEBUG @@ -854,7 +852,6 @@ void qt_init(QApplicationPrivate *priv, int) (PtrEndPanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"), "EndPanningFeedback"); #endif - priv->gestureWidget = 0; } /***************************************************************************** @@ -2499,24 +2496,24 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam if (qAppPriv->GetGestureInfo) bResult = qAppPriv->GetGestureInfo((HANDLE)msg.lParam, &gi); if (bResult) { - if (gi.dwID == GID_BEGIN) { - // find the alien widget for the gesture position. - // This might not be accurate as the position is the center - // point of two fingers for multi-finger gestures. - QPoint pt(gi.ptsLocation.x, gi.ptsLocation.y); - QWidget *w = widget->childAt(widget->mapFromGlobal(pt)); - qAppPriv->gestureWidget = w ? w : widget; - } - if (qAppPriv->gestureWidget) - static_cast(qAppPriv->gestureWidget)->translateGestureEvent(msg, gi); - if (qAppPriv->CloseGestureInfoHandle) - qAppPriv->CloseGestureInfoHandle((HANDLE)msg.lParam); - if (gi.dwID == GID_END) - qAppPriv->gestureWidget = 0; - } else { - DWORD dwErr = GetLastError(); - if (dwErr > 0) - qWarning() << "translateGestureEvent: error = " << dwErr; +// if (gi.dwID == GID_BEGIN) { +// // find the alien widget for the gesture position. +// // This might not be accurate as the position is the center +// // point of two fingers for multi-finger gestures. +// QPoint pt(gi.ptsLocation.x, gi.ptsLocation.y); +// QWidget *w = widget->childAt(widget->mapFromGlobal(pt)); +// qAppPriv->gestureWidget = w ? w : widget; +// } +// if (qAppPriv->gestureWidget) +// static_cast(qAppPriv->gestureWidget)->translateGestureEvent(msg, gi); +// if (qAppPriv->CloseGestureInfoHandle) +// qAppPriv->CloseGestureInfoHandle((HANDLE)msg.lParam); +// if (gi.dwID == GID_END) +// qAppPriv->gestureWidget = 0; +// } else { +// DWORD dwErr = GetLastError(); +// if (dwErr > 0) +// qWarning() << "translateGestureEvent: error = " << dwErr; } result = true; break; diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 7b9cc9a..4316714 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -49,6 +49,8 @@ #include "qmime.h" #include "qdnd_p.h" #include "qevent_p.h" +#include "qgesture.h" +#include "qgesture_p.h" QT_BEGIN_NAMESPACE @@ -3357,6 +3359,9 @@ QDebug operator<<(QDebug dbg, const QEvent *e) { case QEvent::ChildRemoved: n = n ? n : "ChildRemoved"; dbg.nospace() << "QChildEvent(" << n << ", " << (static_cast(e))->child(); return dbg.space(); + case QEvent::Gesture: + n = "Gesture"; + break; default: dbg.nospace() << "QEvent(" << (const void *)e << ", type = " << e->type() << ')'; return dbg.space(); @@ -4186,4 +4191,73 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T return *this; } +/*! + \class QGestureEvent + \since 4.6 + \ingroup events + + \brief The QGestureEvent class provides the description of triggered + gestures. + + The QGestureEvent class contains a list of gestures that are being executed + right now (\l{QGestureEvent::}{activeGestures()}) and a list of gestures + that are \l{QGestureEvent::canceledGestures}{cancelled} (a gesture might be + cancelled because the window lost focus, or because of timeout, etc). + + \sa QGesture +*/ + +/*! + Creates new QGestureEvent containing a list of \a gestures. +*/ +QGestureEvent::QGestureEvent(const QList &gestures) + : QEvent(QEvent::Gesture), gestures_(gestures) +{ +} + +QList QGestureEvent::allGestures() const +{ + return gestures_; +} + +QGesture* QGestureEvent::gesture(Qt::GestureType type) +{ + for(int i = 0; i < gestures_.size(); ++i) + if (gestures_.at(i)->gestureType() == type) + return gestures_.at(i); + return 0; +} + +QList QGestureEvent::activeGestures() const +{ + return gestures_; +} + +QList QGestureEvent::canceledGestures() const +{ + return gestures_; +} + +void QGestureEvent::setAccepted(QGesture *gesture, bool value) +{ + setAccepted(false); + if (gesture) + gesture->d_func()->accept = value; +} + +void QGestureEvent::accept(QGesture *gesture) +{ + setAccepted(gesture, true); +} + +void QGestureEvent::ignore(QGesture *gesture) +{ + setAccepted(gesture, false); +} + +bool QGestureEvent::isAccepted(QGesture *gesture) const +{ + return gesture ? gesture->d_func()->accept : false; +} + QT_END_NAMESPACE diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index 4396766..224b479 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -819,6 +819,40 @@ protected: friend class QApplicationPrivate; }; +class QGesture; +class Q_GUI_EXPORT QGestureEvent : public QEvent +{ +public: + QGestureEvent(const QList &gestures); + + QList allGestures() const; + QGesture *gesture(Qt::GestureType type); + + QList activeGestures() const; + QList canceledGestures() const; + +#ifdef Q_NO_USING_KEYWORD + inline void setAccepted(bool accepted) { QEvent::setAccepted(accepted); } + inline bool isAccepted() const { return QEvent::isAccepted(); } + + inline void accept() { QEvent::accept(); } + inline void ignore() { QEvent::ignore(); } +#else + using QEvent::setAccepted; + using QEvent::isAccepted; + using QEvent::accept; + using QEvent::ignore; +#endif + + void setAccepted(QGesture *, bool); + void accept(QGesture *); + void ignore(QGesture *); + bool isAccepted(QGesture *) const; + +private: + QList gestures_; +}; + QT_END_NAMESPACE QT_END_HEADER diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index 237ce46..bb74aec 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -40,274 +40,290 @@ ****************************************************************************/ #include "qgesture.h" -#include -#include "qgraphicsitem.h" +#include "private/qgesture_p.h" QT_BEGIN_NAMESPACE + /*! + \class QGesture + \since 4.6 -class QEventFilterProxyGraphicsItem : public QGraphicsItem -{ -public: - QEventFilterProxyGraphicsItem(QGesture *g) - : gesture(g) - { - } - bool sceneEventFilter(QGraphicsItem *, QEvent *event) - { - return gesture ? gesture->filterEvent(event) : false; - } - QRectF boundingRect() const { return QRectF(); } - void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) { } + \brief The QGesture class represents a gesture, containing all + properties that describe a gesture. -private: - QGesture *gesture; -}; + The widget receives a QGestureEvent with a list of QGesture + objects that represent gestures that are occuring on it. The class + has a list of properties that can be queried by the user to get + some gesture-specific arguments (i.e. position of the tap in the + DoubleTap gesture). -/*! - \class QGesture - \since 4.6 - \preliminary - - \brief The QGesture class is the base class for implementing custom - gestures. - - This class represents both an object that recognizes a gesture out of a set - of input events (a gesture recognizer), and a gesture object itself that - can be used to get extended information about the triggered gesture. - - The class has a list of properties that can be queried by the user to get - some gesture-specific parameters (for example, an offset of a Pan gesture). - - Usually gesture recognizer implements a state machine, storing its state - internally in the recognizer object. The recognizer receives input events - through the \l{QGesture::}{filterEvent()} virtual function and decides - whether the event should change the state of the recognizer by emitting an - appropriate signal. - - Input events should be either fed to the recognizer one by one with a - filterEvent() function, or the gesture recognizer should be attached to an - object it filters events for by specifying it as a parent object. The - QGesture object installs itself as an event filter to the parent object - automatically, the unsetObject() function should be used to remove an event - filter from the parent object. To make a - gesture that operates on a QGraphicsItem, both the appropriate QGraphicsView - should be passed as a parent object and setGraphicsItem() functions should - be used to attach a gesture to a graphics item. - - This is a base class, to create a custom gesture type, you should subclass - it and implement its pure virtual functions. - - \sa QPanGesture + When creating custom gesture recognizers, they might add new + properties to the gesture object, or custom gesture developers + might subclass the QGesture objects to provide some extended + information. + + \sa QGestureEvent, QGestureRecognizer */ -/*! \fn bool QGesture::filterEvent(QEvent *event) +QGesture::QGesture(Qt::GestureType type, QObject *parent) + : QObject(*new QGesturePrivate, parent) +{ + d_func()->gestureType = type; +} - Parses input \a event and emits a signal when detects a gesture. +QGesture::QGesture(QObject *parent) + : QObject(*new QGesturePrivate, parent) +{ + d_func()->gestureType = Qt::CustomGesture; +} - In your reimplementation of this function, if you want to filter the \a - event out, i.e. stop it being handled further, return true; otherwise - return false; +QGesture::QGesture(QGesturePrivate &dd, Qt::GestureType type, QObject *parent) + : QObject(dd, parent) +{ + d_func()->gestureType = type; +} - This is a pure virtual function that needs to be implemented in subclasses. -*/ +QGesture::~QGesture() +{ +} -/*! \fn void QGesture::started() +Qt::GestureType QGesture::gestureType() const +{ + return d_func()->gestureType; +} - The signal is emitted when the gesture is started. Extended information - about the gesture is contained in the signal sender object. +Qt::GestureState QGesture::state() const +{ + return d_func()->state; +} - In addition to started(), a triggered() signal should also be emitted. -*/ +QObject* QGesture::targetObject() const +{ + return d_func()->targetObject; +} -/*! \fn void QGesture::triggered() +void QGesture::setTargetObject(QObject *value) +{ + d_func()->targetObject = value; +} - The signal is emitted when the gesture is detected. Extended information - about the gesture is contained in the signal sender object. -*/ +QPointF QGesture::hotSpot() const +{ + return d_func()->hotSpot; +} -/*! \fn void QGesture::finished() +void QGesture::setHotSpot(const QPointF &value) +{ + Q_D(QGesture); + d->hotSpot = value; + d->isHotSpotSet = true; +} - The signal is emitted when the gesture is finished. Extended information - about the gesture is contained in the signal sender object. -*/ +bool QGesture::hasHotSpot() const +{ + return d_func()->isHotSpotSet; +} -/*! \fn void QGesture::canceled() +void QGesture::unsetHotSpot() +{ + d_func()->isHotSpotSet = false; +} - The signal is emitted when the gesture is canceled, for example the - reset() function is called while the gesture was in the process of - emitting a triggered() signal. Extended information about the - gesture is contained in the sender object. -*/ +// QPanGesture -/*! - Creates a new gesture handler object and marks it as a child of \a - parent. \a gestureTarget is the object that the gesture will watch - for events. +QPanGesture::QPanGesture(QObject *parent) + : QGesture(*new QPanGesturePrivate, Qt::PanGesture, parent) +{ - The \a parent object is also the default event source for the - gesture, meaning that the gesture installs itself as an event filter - for the \a parent. +} - \sa setGraphicsItem() -*/ -QGesture::QGesture(QObject *gestureTarget, QObject *parent) - : QObject(*new QGesturePrivate, parent) +QSizeF QPanGesture::totalOffset() const { - setGestureTarget(gestureTarget); + return d_func()->totalOffset; } -/*! \internal - */ -QGesture::QGesture(QGesturePrivate &dd, QObject *gestureTarget, QObject *parent) - : QObject(dd, parent) +QSizeF QPanGesture::lastOffset() const { - setGestureTarget(gestureTarget); + return d_func()->lastOffset; } -/*! - Destroys the gesture object. -*/ -QGesture::~QGesture() +QSizeF QPanGesture::offset() const { + return d_func()->offset; } -/*! - \property QGesture::gestureTarget +qreal QPanGesture::acceleration() const +{ + return d_func()->acceleration; +} - Gesture target is the object that the gesture will watch for events. - Typically this means that the gesture installs an event filter on the - target object. -*/ -void QGesture::setGestureTarget(QObject *object) + +void QPanGesture::setTotalOffset(const QSizeF &value) { - d_func()->setupGestureTarget(object); + d_func()->totalOffset = value; } -QObject* QGesture::gestureTarget() const +void QPanGesture::setLastOffset(const QSizeF &value) { - return d_func()->gestureTarget; + d_func()->lastOffset = value; } -void QGesturePrivate::setupGestureTarget(QObject *object) +void QPanGesture::setOffset(const QSizeF &value) { - Q_Q(QGesture); - if (gestureTarget) - gestureTarget->removeEventFilter(q); - if (object) - object->installEventFilter(q); - gestureTarget = object; + d_func()->offset = value; } -/*! \internal - */ -bool QGesture::eventFilter(QObject *receiver, QEvent *event) +void QPanGesture::setAcceleration(qreal value) { - Q_D(QGesture); - if (d->graphicsItem && receiver == parent()) - return false; - return filterEvent(event); + d_func()->acceleration = value; } -/*! - \property QGesture::state +// QPinchGesture - \brief The current state of the gesture. -*/ +QPinchGesture::QPinchGesture(QObject *parent) + : QGesture(*new QPinchGesturePrivate, Qt::PinchGesture, parent) +{ -/*! - Returns the gesture recognition state. - */ -Qt::GestureState QGesture::state() const +} + +QPinchGesture::WhatChanged QPinchGesture::whatChanged() const { - return d_func()->state; + return d_func()->whatChanged; } -/*! - Sets this gesture's recognition state to \a state and emits appropriate - signals. +void QPinchGesture::setWhatChanged(QPinchGesture::WhatChanged value) +{ + d_func()->whatChanged = value; +} - This functions emits the signals according to the old state and the new - \a state, and it should be called after all the internal properties have been - initialized. - \sa started(), triggered(), finished(), canceled() - */ -void QGesture::updateState(Qt::GestureState state) +QPointF QPinchGesture::startCenterPoint() const { - Q_D(QGesture); - if (d->state == state) { - if (state == Qt::GestureUpdated) - emit triggered(); - return; - } - const Qt::GestureState oldState = d->state; - if (state != Qt::NoGesture && oldState > state) { - // comparing the state as ints: state should only be changed from - // started to (optionally) updated and to finished. - d->state = state; - qWarning("QGesture::updateState: incorrect new state"); - return; - } - if (oldState == Qt::NoGesture) { - d->state = Qt::GestureStarted; - emit started(); - } - d->state = state; - if (state == Qt::GestureUpdated) - emit triggered(); - else if (state == Qt::GestureFinished) - emit finished(); - else if (state == Qt::NoGesture) - emit canceled(); - - if (state == Qt::GestureFinished) { - // gesture is finished, so we reset the internal state. - d->state = Qt::NoGesture; - } -} - -/*! - Sets the \a graphicsItem the gesture is filtering events for. - - The gesture will install an event filter to the \a graphicsItem and - redirect them to the filterEvent() function. - - \sa graphicsItem() -*/ -void QGesture::setGraphicsItem(QGraphicsItem *graphicsItem) + return d_func()->startCenterPoint; +} + +QPointF QPinchGesture::lastCenterPoint() const { - Q_D(QGesture); - if (d->graphicsItem && d->eventFilterProxyGraphicsItem) - d->graphicsItem->removeSceneEventFilter(d->eventFilterProxyGraphicsItem); - d->graphicsItem = graphicsItem; - if (!d->eventFilterProxyGraphicsItem) - d->eventFilterProxyGraphicsItem = new QEventFilterProxyGraphicsItem(this); - if (graphicsItem) - graphicsItem->installSceneEventFilter(d->eventFilterProxyGraphicsItem); + return d_func()->lastCenterPoint; } -/*! - Returns the graphics item the gesture is filtering events for. +QPointF QPinchGesture::centerPoint() const +{ + return d_func()->centerPoint; +} - \sa setGraphicsItem() -*/ -QGraphicsItem* QGesture::graphicsItem() const +void QPinchGesture::setStartCenterPoint(const QPointF &value) { - return d_func()->graphicsItem; + d_func()->startCenterPoint = value; } -/*! \fn void QGesture::reset() +void QPinchGesture::setLastCenterPoint(const QPointF &value) +{ + d_func()->lastCenterPoint = value; +} - Resets the internal state of the gesture. This function might be called by - the filterEvent() implementation in a derived class, or by the user to - cancel a gesture. The base class implementation calls - updateState(Qt::NoGesture) which emits the canceled() - signal if the state() of the gesture indicated it was active. -*/ -void QGesture::reset() +void QPinchGesture::setCenterPoint(const QPointF &value) +{ + d_func()->centerPoint = value; +} + + +qreal QPinchGesture::totalScaleFactor() const +{ + return d_func()->totalScaleFactor; +} + +qreal QPinchGesture::lastScaleFactor() const +{ + return d_func()->lastScaleFactor; +} + +qreal QPinchGesture::scaleFactor() const +{ + return d_func()->scaleFactor; +} + +void QPinchGesture::setTotalScaleFactor(qreal value) +{ + d_func()->totalScaleFactor = value; +} + +void QPinchGesture::setLastScaleFactor(qreal value) +{ + d_func()->lastScaleFactor = value; +} + +void QPinchGesture::setScaleFactor(qreal value) +{ + d_func()->scaleFactor = value; +} + + +qreal QPinchGesture::totalRotationAngle() const +{ + return d_func()->totalRotationAngle; +} + +qreal QPinchGesture::lastRotationAngle() const +{ + return d_func()->lastRotationAngle; +} + +qreal QPinchGesture::rotationAngle() const +{ + return d_func()->rotationAngle; +} + +void QPinchGesture::setTotalRotationAngle(qreal value) +{ + d_func()->totalRotationAngle = value; +} + +void QPinchGesture::setLastRotationAngle(qreal value) +{ + d_func()->lastRotationAngle = value; +} + +void QPinchGesture::setRotationAngle(qreal value) +{ + d_func()->rotationAngle = value; +} + +// QSwipeGesture + +QSwipeGesture::QSwipeGesture(QObject *parent) + : QGesture(*new QSwipeGesturePrivate, Qt::SwipeGesture, parent) +{ +} + +QSwipeGesture::SwipeDirection QSwipeGesture::horizontalDirection() const +{ + return d_func()->horizontalDirection; +} + +QSwipeGesture::SwipeDirection QSwipeGesture::verticalDirection() const +{ + return d_func()->verticalDirection; +} + +void QSwipeGesture::setHorizontalDirection(QSwipeGesture::SwipeDirection value) +{ + d_func()->horizontalDirection = value; +} + +void QSwipeGesture::setVerticalDirection(QSwipeGesture::SwipeDirection value) +{ + d_func()->verticalDirection = value; +} + +qreal QSwipeGesture::swipeAngle() const +{ + return d_func()->swipeAngle; +} + +void QSwipeGesture::setSwipeAngle(qreal value) { - updateState(Qt::NoGesture); + d_func()->swipeAngle = value; } QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h index 440565e..b37120f 100644 --- a/src/gui/kernel/qgesture.h +++ b/src/gui/kernel/qgesture.h @@ -55,7 +55,8 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) -class QGraphicsItem; +Q_DECLARE_METATYPE(Qt::GestureState) + class QGesturePrivate; class Q_GUI_EXPORT QGesture : public QObject { @@ -63,37 +64,149 @@ class Q_GUI_EXPORT QGesture : public QObject Q_DECLARE_PRIVATE(QGesture) Q_PROPERTY(Qt::GestureState state READ state) - Q_PROPERTY(QObject* gestureTarget READ gestureTarget WRITE setGestureTarget) + Q_PROPERTY(Qt::GestureType gestureType READ gestureType) + Q_PROPERTY(QPointF hotSpot READ hotSpot WRITE setHotSpot RESET unsetHotSpot) + Q_PROPERTY(bool hasHotSpot READ hasHotSpot) + Q_PROPERTY(QObject* targetObject READ targetObject WRITE setTargetObject) public: - explicit QGesture(QObject *gestureTarget = 0, QObject *parent = 0); + explicit QGesture(Qt::GestureType type = Qt::CustomGesture, QObject *parent = 0); + explicit QGesture(QObject *parent); ~QGesture(); - virtual bool filterEvent(QEvent *event) = 0; + Qt::GestureType gestureType() const; - void setGestureTarget(QObject *object); - QObject* gestureTarget() const; + Qt::GestureState state() const; - void setGraphicsItem(QGraphicsItem *); - QGraphicsItem *graphicsItem() const; + QObject *targetObject() const; + void setTargetObject(QObject *value); - Qt::GestureState state() const; + QPointF hotSpot() const; + void setHotSpot(const QPointF &value); + bool hasHotSpot() const; + void unsetHotSpot(); protected: - QGesture(QGesturePrivate &dd, QObject *gestureTarget, QObject *parent); - bool eventFilter(QObject*, QEvent*); + QGesture(QGesturePrivate &dd, Qt::GestureType type, QObject *parent); - virtual void reset(); - void updateState(Qt::GestureState state); +private: + friend class QGestureEvent; + friend class QGestureRecognizer; + friend class QGestureManager; +}; -Q_SIGNALS: - void started(); - void triggered(); - void finished(); - void canceled(); +class QPanGesturePrivate; +class Q_GUI_EXPORT QPanGesture : public QGesture +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QPanGesture) -private: - friend class QWidget; + Q_PROPERTY(QSizeF totalOffset READ totalOffset WRITE setTotalOffset) + Q_PROPERTY(QSizeF lastOffset READ lastOffset WRITE setLastOffset) + Q_PROPERTY(QSizeF offset READ offset WRITE setOffset) + Q_PROPERTY(qreal acceleration READ acceleration WRITE setAcceleration) + +public: + QPanGesture(QObject *parent = 0); + + QSizeF totalOffset() const; + QSizeF lastOffset() const; + QSizeF offset() const; + qreal acceleration() const; + + void setTotalOffset(const QSizeF &value); + void setLastOffset(const QSizeF &value); + void setOffset(const QSizeF &value); + void setAcceleration(qreal value); + + friend class QPanGestureRecognizer; + friend class QWinNativePanGestureRecognizer; +}; + +class QPinchGesturePrivate; +class Q_GUI_EXPORT QPinchGesture : public QGesture +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QPinchGesture) + +public: + enum WhatChange { + ScaleFactorChanged = 0x1, + RotationAngleChanged = 0x2, + CenterPointChanged = 0x4 + }; + Q_DECLARE_FLAGS(WhatChanged, WhatChange) + + Q_PROPERTY(WhatChanged whatChanged READ whatChanged WRITE setWhatChanged) + + Q_PROPERTY(qreal totalScaleFactor READ totalScaleFactor WRITE setTotalScaleFactor) + Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor WRITE setLastScaleFactor) + Q_PROPERTY(qreal scaleFactor READ scaleFactor WRITE setScaleFactor) + + Q_PROPERTY(qreal totalRotationAngle READ totalRotationAngle WRITE setTotalRotationAngle) + Q_PROPERTY(qreal lastRotationAngle READ lastRotationAngle WRITE setLastRotationAngle) + Q_PROPERTY(qreal rotationAngle READ rotationAngle WRITE setRotationAngle) + + Q_PROPERTY(QPointF startCenterPoint READ startCenterPoint WRITE setStartCenterPoint) + Q_PROPERTY(QPointF lastCenterPoint READ lastCenterPoint WRITE setLastCenterPoint) + Q_PROPERTY(QPointF centerPoint READ centerPoint WRITE setCenterPoint) + +public: + QPinchGesture(QObject *parent = 0); + + WhatChanged whatChanged() const; + void setWhatChanged(WhatChanged value); + + QPointF startCenterPoint() const; + QPointF lastCenterPoint() const; + QPointF centerPoint() const; + void setStartCenterPoint(const QPointF &value); + void setLastCenterPoint(const QPointF &value); + void setCenterPoint(const QPointF &value); + + qreal totalScaleFactor() const; + qreal lastScaleFactor() const; + qreal scaleFactor() const; + void setTotalScaleFactor(qreal value); + void setLastScaleFactor(qreal value); + void setScaleFactor(qreal value); + + qreal totalRotationAngle() const; + qreal lastRotationAngle() const; + qreal rotationAngle() const; + void setTotalRotationAngle(qreal value); + void setLastRotationAngle(qreal value); + void setRotationAngle(qreal value); + + friend class QPinchGestureRecognizer; +}; + +Q_DECLARE_METATYPE(QPinchGesture::WhatChanged) + +class QSwipeGesturePrivate; +class Q_GUI_EXPORT QSwipeGesture : public QGesture +{ + Q_OBJECT + Q_DECLARE_PRIVATE(QSwipeGesture) + Q_ENUMS(SwipeDirection) + + Q_PROPERTY(SwipeDirection horizontalDirection READ horizontalDirection WRITE setHorizontalDirection) + Q_PROPERTY(SwipeDirection verticalDirection READ verticalDirection WRITE setVerticalDirection) + Q_PROPERTY(qreal swipeAngle READ swipeAngle WRITE setSwipeAngle) + +public: + enum SwipeDirection { NoDirection, Left, Right, Up, Down }; + QSwipeGesture(QObject *parent = 0); + + SwipeDirection horizontalDirection() const; + SwipeDirection verticalDirection() const; + void setHorizontalDirection(SwipeDirection value); + void setVerticalDirection(SwipeDirection value); + + qreal swipeAngle() const; + void setSwipeAngle(qreal value); + + friend class QSwipeGestureRecognizer; }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h index 52e399f..7f69a4e 100644 --- a/src/gui/kernel/qgesture_p.h +++ b/src/gui/kernel/qgesture_p.h @@ -61,29 +61,83 @@ QT_BEGIN_NAMESPACE -class QObject; -class QGraphicsItem; class QGesturePrivate : public QObjectPrivate { Q_DECLARE_PUBLIC(QGesture) public: QGesturePrivate() - : gestureTarget(0), graphicsItem(0), eventFilterProxyGraphicsItem(0), - state(Qt::NoGesture), implicitGesture(false) + : gestureType(Qt::CustomGesture), state(Qt::NoGesture), isHotSpotSet(false), + targetObject(0), accept(true) { } - virtual void setupGestureTarget(QObject *o); + Qt::GestureType gestureType; + Qt::GestureState state; + QPointF hotSpot; + bool isHotSpotSet; + QObject *targetObject; + bool accept; +}; - QPointer gestureTarget; - QGraphicsItem *graphicsItem; - QGraphicsItem *eventFilterProxyGraphicsItem; +class QPanGesturePrivate : public QGesturePrivate +{ + Q_DECLARE_PUBLIC(QPanGesture) - Qt::GestureState state; +public: + QPanGesturePrivate() + : acceleration(0) + { + } + + QSizeF totalOffset; + QSizeF lastOffset; + QSizeF offset; + QPoint lastPosition; + qreal acceleration; +}; + +class QPinchGesturePrivate : public QGesturePrivate +{ + Q_DECLARE_PUBLIC(QPinchGesture) + +public: + QPinchGesturePrivate() + : whatChanged(0), totalScaleFactor(0), lastScaleFactor(0), scaleFactor(0), + totalRotationAngle(0), lastRotationAngle(0), rotationAngle(0) + { + } + + QPinchGesture::WhatChanged whatChanged; + + QPointF startCenterPoint; + QPointF lastCenterPoint; + QPointF centerPoint; + + qreal totalScaleFactor; + qreal lastScaleFactor; + qreal scaleFactor; + + qreal totalRotationAngle; + qreal lastRotationAngle; + qreal rotationAngle; +}; + +class QSwipeGesturePrivate : public QGesturePrivate +{ + Q_DECLARE_PUBLIC(QSwipeGesture) + +public: + QSwipeGesturePrivate() + : horizontalDirection(QSwipeGesture::NoDirection), + verticalDirection(QSwipeGesture::NoDirection), + swipeAngle(0) + { + } - // the flag specifies if the gesture was created implicitely by Qt. - bool implicitGesture; + QSwipeGesture::SwipeDirection horizontalDirection; + QSwipeGesture::SwipeDirection verticalDirection; + qreal swipeAngle; }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp new file mode 100644 index 0000000..000f44f --- /dev/null +++ b/src/gui/kernel/qgesturemanager.cpp @@ -0,0 +1,453 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "private/qgesturemanager_p.h" +#include "private/qstandardgestures_p.h" +#include "private/qwidget_p.h" +#include "private/qgesture_p.h" +#include "private/qgraphicsitem_p.h" +#include "qgesture.h" +#include "qevent.h" +#include "qgraphicsitem.h" + +#include "qdebug.h" + +// #define GESTURE_DEBUG +#ifndef GESTURE_DEBUG +# define DEBUG if (0) qDebug +#else +# define DEBUG qDebug +#endif + +QT_BEGIN_NAMESPACE + +QGestureManager::QGestureManager(QObject *parent) + : QObject(parent), state(NotGesture), lastCustomGestureId(0) +{ + qRegisterMetaType(); + + registerGestureRecognizer(new QPanGestureRecognizer); +} + +QGestureManager::~QGestureManager() +{ + +} + +Qt::GestureType QGestureManager::registerGestureRecognizer(QGestureRecognizer *recognizer) +{ + QGesture *dummy = recognizer->createGesture(0); + if (!dummy) { + qWarning("QGestureManager::registerGestureRecognizer: the recognizer doesn't provide gesture object"); + return Qt::GestureType(0); + } + Qt::GestureType type = dummy->gestureType(); + if (type == Qt::CustomGesture) { + // generate a new custom gesture id + ++lastCustomGestureId; + type = Qt::GestureType(Qt::CustomGesture + lastCustomGestureId); + } + recognizers.insertMulti(type, recognizer); + delete dummy; + return type; +} + +void QGestureManager::unregisterGestureRecognizer(Qt::GestureType) +{ + +} + +QGesture* QGestureManager::getState(QObject *object, Qt::GestureType type) +{ + // if the widget is being deleted we should be carefull and not to + // create a new state, as it will create QWeakPointer which doesnt work + // from the destructor. + if (object->isWidgetType()) { + if (static_cast(object)->d_func()->data.in_destructor) + return 0; + } + + QWeakPointer state = objectGestures.value(QGestureManager::ObjectGesture(object, type)); + if (!state) { + QGestureRecognizer *recognizer = recognizers.value(type); + if (recognizer) { + state = recognizer->createGesture(object); + if (!state) + return 0; + if (state.data()->gestureType() == Qt::CustomGesture) { + // if the recognizer didn't fill in the gesture type, then this + // is a custom gesture with autogenerated it and we fill it. + state.data()->d_func()->gestureType = type; + } + objectGestures.insert(QGestureManager::ObjectGesture(object, type), state); + gestureToRecognizer[state.data()] = recognizer; + } + } + return state.data(); +} + +bool QGestureManager::filterEvent(QObject *receiver, QEvent *event) +{ + QSet triggeredGestures; + QSet finishedGestures; + QSet newMaybeGestures; + QSet canceledGestures; + QSet notGestures; + + QGraphicsObject *graphicsObject = qobject_cast(receiver); + if (receiver->isWidgetType() || graphicsObject) { + QMap contexts; + if (receiver->isWidgetType()) { + QWidget *w = static_cast(receiver); + if (!w->d_func()->gestureContext.isEmpty()) { + typedef QMap::const_iterator ContextIterator; + for(ContextIterator it = w->d_func()->gestureContext.begin(), + e = w->d_func()->gestureContext.end(); it != e; ++it) { + contexts.insertMulti(w, it.key()); + } + } + // find all gesture contexts for the widget tree + w = w->parentWidget(); + while (w) + { + typedef QMap::const_iterator ContextIterator; + for (ContextIterator it = w->d_func()->gestureContext.begin(), + e = w->d_func()->gestureContext.end(); it != e; ++it) { + if (it.value() == Qt::WidgetWithChildrenGesture) + contexts.insertMulti(w, it.key()); + } + w = w->parentWidget(); + } + } else { + QGraphicsObject *item = graphicsObject; + if (!item->QGraphicsItem::d_func()->gestureContext.isEmpty()) { + typedef QMap::const_iterator ContextIterator; + for(ContextIterator it = item->QGraphicsItem::d_func()->gestureContext.begin(), + e = item->QGraphicsItem::d_func()->gestureContext.end(); it != e; ++it) { + contexts.insertMulti(item, it.key()); + } + } + // find all gesture contexts for the widget tree + item = item->parentObject(); + while (item) + { + typedef QMap::const_iterator ContextIterator; + for (ContextIterator it = item->QGraphicsItem::d_func()->gestureContext.begin(), + e = item->QGraphicsItem::d_func()->gestureContext.end(); it != e; ++it) { + if (it.value() == Qt::WidgetWithChildrenGesture) + contexts.insertMulti(item, it.key()); + } + item = item->parentObject(); + } + } + // filter the event through recognizers + typedef QMap::const_iterator ContextIterator; + for (ContextIterator cit = contexts.begin(), ce = contexts.end(); cit != ce; ++cit) { + Qt::GestureType gestureType = cit.value(); + QMap::const_iterator + rit = recognizers.lowerBound(gestureType), + re = recognizers.upperBound(gestureType); + for (; rit != re; ++rit) { + QGestureRecognizer *recognizer = rit.value(); + QObject *target = cit.key(); + QGesture *state = getState(target, gestureType); + if (!state) + continue; + QGestureRecognizer::Result result = recognizer->filterEvent(state, target, event); + QGestureRecognizer::Result type = result & QGestureRecognizer::ResultState_Mask; + if (type == QGestureRecognizer::GestureTriggered) { + DEBUG() << "QGestureManager: gesture triggered: " << state; + triggeredGestures << state; + } else if (type == QGestureRecognizer::GestureFinished) { + DEBUG() << "QGestureManager: gesture finished: " << state; + finishedGestures << state; + } else if (type == QGestureRecognizer::MaybeGesture) { + DEBUG() << "QGestureManager: maybe gesture: " << state; + newMaybeGestures << state; + } else if (type == QGestureRecognizer::NotGesture) { + DEBUG() << "QGestureManager: not gesture: " << state; + notGestures << state; + } else if (type == QGestureRecognizer::Ignore) { + DEBUG() << "QGestureManager: gesture ignored the event: " << state; + } else { + DEBUG() << "QGestureManager: hm, lets assume the recognizer ignored the event: " << state; + } + if (result & QGestureRecognizer::ConsumeEventHint) { + DEBUG() << "QGestureManager: we were asked to consume the event: " << state; + //TODO: consume events if asked + } + } + } + } else if (QGesture *state = qobject_cast(receiver)) { + if (QGestureRecognizer *recognizer = gestureToRecognizer.value(state)) { + QGestureRecognizer::Result result = recognizer->filterEvent(state, state, event); + QGestureRecognizer::Result type = result & QGestureRecognizer::ResultState_Mask; + if (type == QGestureRecognizer::GestureTriggered) { + DEBUG() << "QGestureManager: gesture triggered: " << state; + triggeredGestures << state; + } else if (type == QGestureRecognizer::GestureFinished) { + DEBUG() << "QGestureManager: gesture finished: " << state; + finishedGestures << state; + } else if (type == QGestureRecognizer::MaybeGesture) { + DEBUG() << "QGestureManager: maybe gesture: " << state; + newMaybeGestures << state; + } else if (type == QGestureRecognizer::NotGesture) { + DEBUG() << "QGestureManager: not gesture: " << state; + notGestures << state; + } else if (type == QGestureRecognizer::Ignore) { + DEBUG() << "QGestureManager: gesture ignored the event: " << state; + } else { + DEBUG() << "QGestureManager: hm, lets assume the recognizer ignored the event: " << state; + } + } + } else { + return false; + } + + QSet startedGestures = triggeredGestures - activeGestures; + triggeredGestures &= activeGestures; + + // check if a running gesture switched back to maybe state + QSet activeToMaybeGestures = activeGestures & newMaybeGestures; + + // check if a running gesture switched back to not gesture state, i.e. were canceled + QSet activeToCancelGestures = activeGestures & notGestures; + canceledGestures += activeToCancelGestures; + + // start timers for new gestures in maybe state + foreach (QGesture *state, newMaybeGestures) { + QBasicTimer &timer = maybeGestures[state]; + if (!timer.isActive()) + timer.start(3000, this); + } + // kill timers for gestures that were in maybe state + QSet notMaybeGestures = (startedGestures | triggeredGestures | finishedGestures | canceledGestures | notGestures); + foreach(QGesture *gesture, notMaybeGestures) { + QMap::iterator it = + maybeGestures.find(gesture); + if (it != maybeGestures.end()) { + it.value().stop(); + maybeGestures.erase(it); + } + } + + Q_ASSERT((startedGestures & finishedGestures).isEmpty()); + Q_ASSERT((startedGestures & newMaybeGestures).isEmpty()); + Q_ASSERT((startedGestures & canceledGestures).isEmpty()); + Q_ASSERT((finishedGestures & newMaybeGestures).isEmpty()); + Q_ASSERT((finishedGestures & canceledGestures).isEmpty()); + Q_ASSERT((canceledGestures & newMaybeGestures).isEmpty()); + + QSet notStarted = finishedGestures - activeGestures; + if (!notStarted.isEmpty()) { + // there are some gestures that claim to be finished, but never started. + qWarning("QGestureManager::filterEvent: some gestures were finished even though they've never started"); + finishedGestures -= notStarted; + } + + activeGestures += startedGestures; + // sanity check: all triggered gestures should already be in active gestures list + Q_ASSERT((activeGestures & triggeredGestures).size() == triggeredGestures.size()); + activeGestures -= finishedGestures; + activeGestures -= activeToMaybeGestures; + activeGestures -= canceledGestures; + + // set the proper gesture state on each gesture + foreach (QGesture *gesture, startedGestures) + gesture->d_func()->state = Qt::GestureStarted; + foreach (QGesture *gesture, triggeredGestures) + gesture->d_func()->state = Qt::GestureUpdated; + foreach (QGesture *gesture, finishedGestures) + gesture->d_func()->state = Qt::GestureFinished; + foreach (QGesture *gesture, canceledGestures) + gesture->d_func()->state = Qt::GestureCanceled; + foreach (QGesture *gesture, activeToMaybeGestures) + gesture->d_func()->state = Qt::GestureFinished; + + if (!activeGestures.isEmpty() || !maybeGestures.isEmpty() || + !startedGestures.isEmpty() || !triggeredGestures.isEmpty() || + !finishedGestures.isEmpty() || !canceledGestures.isEmpty()) { + DEBUG() << "QGestureManager::filterEvent:" + << "\n\tactiveGestures:" << activeGestures + << "\n\tmaybeGestures:" << maybeGestures.keys() + << "\n\tstarted:" << startedGestures + << "\n\ttriggered:" << triggeredGestures + << "\n\tfinished:" << finishedGestures + << "\n\tcanceled:" << canceledGestures; + } + + deliverEvents(startedGestures+triggeredGestures+finishedGestures+canceledGestures, receiver); + + // reset gestures that ended + QSet endedGestures = finishedGestures + canceledGestures; + foreach (QGesture *gesture, endedGestures) { + if (QGestureRecognizer *recognizer = gestureToRecognizer.value(gesture, 0)) { + recognizer->reset(gesture); + } + gestureTargets.remove(gesture); + } + return false; +} + +void QGestureManager::deliverEvents(const QSet &gestures, QObject *lastReceiver) +{ + if (gestures.isEmpty()) + return; + + // group gestures by widgets + typedef QMap > GesturesPerReceiver; + GesturesPerReceiver groupedGestures; + // for conflicted gestures the key is always the innermost widget (i.e. the child) + GesturesPerReceiver conflictedGestures; + QMultiHash objectGestures; + + foreach (QGesture *gesture, gestures) { + QObject *target = gestureTargets.value(gesture, 0); + if (!target) { + Q_ASSERT(gesture->state() == Qt::GestureStarted); + if (gesture->hasHotSpot()) { + // guess the target using the hotspot of the gesture + QPoint pt = gesture->hotSpot().toPoint(); + if (!pt.isNull()) { + if (QWidget *w = qApp->topLevelAt(pt)) + target = w->childAt(w->mapFromGlobal(pt)); + } + } + if (!target) { + target = gesture->targetObject(); + if (!target) + target = lastReceiver; + } + } + if (target) { + gestureTargets.insert(gesture, target); + if (target->isWidgetType()) + objectGestures.insert(target, gesture); + groupedGestures[target].append(gesture); + } else { + qWarning() << "QGestureManager::deliverEvent: could not find the target for gesture" + << gesture->gestureType(); + } + } + + typedef QMultiHash::const_iterator ObjectGesturesIterator; + for (ObjectGesturesIterator it = objectGestures.begin(), e = objectGestures.end(); it != e; ++it) { + QObject *object1 = it.key(); + QWidget *widget1 = qobject_cast(object1); + QGraphicsObject *item1 = qobject_cast(object1); + QGesture *gesture1 = it.value(); + ObjectGesturesIterator cit = it; + for (++cit; cit != e; ++cit) { + QObject *object2 = cit.key(); + QWidget *widget2 = qobject_cast(object2); + QGraphicsObject *item2 = qobject_cast(object2); + QGesture *gesture2 = cit.value(); + // TODO: ugly, rewrite this. + if ((widget1 && widget2 && widget2->isAncestorOf(widget1)) || + (item1 && item2 && item2->isAncestorOf(item1))) { + groupedGestures[object2].removeOne(gesture2); + groupedGestures[object1].removeOne(gesture1); + conflictedGestures[object1].append(gesture1); + } else if ((widget1 && widget2 && widget1->isAncestorOf(widget2)) || + (item1 && item2 && item1->isAncestorOf(item2))) { + groupedGestures[object2].removeOne(gesture2); + groupedGestures[object1].removeOne(gesture1); + conflictedGestures[object2].append(gesture2); + } + } + } + + DEBUG() << "deliverEvents: conflicted =" << conflictedGestures.values() + << " grouped =" << groupedGestures.values(); + + // if there are conflicting gestures, send the GestureOverride event + for (GesturesPerReceiver::const_iterator it = conflictedGestures.begin(), + e = conflictedGestures.end(); it != e; ++it) { + DEBUG() << "QGestureManager::deliverEvents: sending GestureOverride to" + << it.key() + << " gestures:" << it.value(); + QGestureEvent event(it.value()); + event.t = QEvent::GestureOverride; + event.ignore(); + QApplication::sendEvent(it.key(), &event); + if (!event.isAccepted()) { + // nobody accepted the GestureOverride, put it back to deliver to + // the closest context (i.e. to the inner-most widget). + DEBUG() <<" override was not accepted"; + groupedGestures[it.key()].append(it.value()); + } + } + + for (GesturesPerReceiver::const_iterator it = groupedGestures.begin(), + e = groupedGestures.end(); it != e; ++it) { + if (!it.value().isEmpty()) { + DEBUG() << "QGestureManager::deliverEvents: sending to" << it.key() + << " gestures:" << it.value(); + QGestureEvent event(it.value()); + QApplication::sendEvent(it.key(), &event); + } + } +} + +void QGestureManager::timerEvent(QTimerEvent *event) +{ + QMap::iterator it = maybeGestures.begin(), + e = maybeGestures.end(); + for (; it != e; ) { + QBasicTimer &timer = it.value(); + Q_ASSERT(timer.isActive()); + if (timer.timerId() == event->timerId()) { + timer.stop(); + QGesture *gesture = it.key(); + it = maybeGestures.erase(it); + DEBUG() << "QGestureManager::timerEvent: gesture stopped due to timeout:" << gesture; + QGestureRecognizer *recognizer = gestureToRecognizer.value(gesture, 0); + if (recognizer) + recognizer->reset(gesture); + } else { + ++it; + } + } +} + +QT_END_NAMESPACE + +#include "moc_qgesturemanager_p.cpp" diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h new file mode 100644 index 0000000..c61819f --- /dev/null +++ b/src/gui/kernel/qgesturemanager_p.h @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGESTUREMANAGER_P_H +#define QGESTUREMANAGER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qobject.h" +#include "qbasictimer.h" +#include "private/qwidget_p.h" +#include "qgesturerecognizer.h" + +QT_BEGIN_NAMESPACE + +class QBasicTimer; +class QGestureManager : public QObject +{ + Q_OBJECT +public: + QGestureManager(QObject *parent); + ~QGestureManager(); + + Qt::GestureType registerGestureRecognizer(QGestureRecognizer *recognizer); + void unregisterGestureRecognizer(Qt::GestureType type); + + bool filterEvent(QObject *receiver, QEvent *event); + + // declared in qapplication.cpp + static QGestureManager* instance(); + +protected: + void timerEvent(QTimerEvent *event); + +private: + QMultiMap recognizers; + + QSet activeGestures; + QMap maybeGestures; + + enum State { + Gesture, + NotGesture, + MaybeGesture // this means timers are up and waiting for some + // more events, and input events are handled by + // gesture recognizer explicitely + } state; + + struct ObjectGesture + { + QWeakPointer object; + Qt::GestureType gesture; + + ObjectGesture(QObject *o, const Qt::GestureType &g) : object(o), gesture(g) { } + inline bool operator<(const ObjectGesture& rhs) const + { + if (object.data() < rhs.object.data()) + return true; + if (object == rhs.object) + return gesture < rhs.gesture; + return false; + } + }; + + QMap > objectGestures; + QMap gestureToRecognizer; + + QHash gestureTargets; + + int lastCustomGestureId; + + QGesture *getState(QObject *widget, Qt::GestureType gesture); + void deliverEvents(const QSet &gestures, QObject *lastReceiver); +}; + +QT_END_NAMESPACE + +#endif // QGESTUREMANAGER_P_H diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp new file mode 100644 index 0000000..590f09e --- /dev/null +++ b/src/gui/kernel/qgesturerecognizer.cpp @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qgesturerecognizer.h" + +#include "private/qgesture_p.h" + +QT_BEGIN_NAMESPACE + +QGestureRecognizer::QGestureRecognizer() +{ +} + +QGestureRecognizer::~QGestureRecognizer() +{ +} + +QGesture *QGestureRecognizer::createGesture(QObject *) +{ + return new QGesture; +} + +void QGestureRecognizer::reset(QGesture *state) +{ + if (state) { + QGesturePrivate *d = state->d_func(); + d->state = Qt::NoGesture; + d->hotSpot = QPointF(); + d->targetObject = 0; + } +} + +QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesturerecognizer.h b/src/gui/kernel/qgesturerecognizer.h new file mode 100644 index 0000000..c85afd2 --- /dev/null +++ b/src/gui/kernel/qgesturerecognizer.h @@ -0,0 +1,93 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QGESTURERECOGNIZER_H +#define QGESTURERECOGNIZER_H + +#include "qglobal.h" + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Gui) + +class QObject; +class QEvent; +class QGesture; +class Q_GUI_EXPORT QGestureRecognizer +{ +public: + enum ResultFlags + { + Ignore = 0x0001, + NotGesture = 0x0002, + MaybeGesture = 0x0004, + GestureTriggered = 0x0008, // Gesture started or updated + GestureFinished = 0x0010, + + ResultState_Mask = 0x00ff, + + ConsumeEventHint = 0x0100, + // StoreEventHint = 0x0200, + // ReplayStoredEventsHint = 0x0400, + // DiscardStoredEventsHint = 0x0800, + + ResultHint_Mask = 0xff00 + }; + Q_DECLARE_FLAGS(Result, ResultFlags) + + QGestureRecognizer(); + virtual ~QGestureRecognizer(); + + virtual QGesture *createGesture(QObject *target); + virtual QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event) = 0; + + virtual void reset(QGesture *state); +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS(QGestureRecognizer::Result) + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QGESTURERECOGNIZER_H diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp index 3cfb987..dfc3499 100644 --- a/src/gui/kernel/qstandardgestures.cpp +++ b/src/gui/kernel/qstandardgestures.cpp @@ -39,174 +39,45 @@ ** ****************************************************************************/ -#include "qstandardgestures.h" #include "qstandardgestures_p.h" - -#include -#include -#include -#include -#include -#include +#include "qgesture.h" +#include "qgesture_p.h" +#include "qevent.h" +#include "qwidget.h" QT_BEGIN_NAMESPACE -#ifdef Q_WS_WIN -QWidgetPrivate *qt_widget_private(QWidget *widget); -#endif - -/*! - \class QPanGesture - \preliminary - \since 4.6 - - \brief The QPanGesture class represents a Pan gesture, - providing additional information related to panning. -*/ - -/*! - \enum QSwipeGesture::SwipeDirection - \brief This enum specifies the direction of the swipe gesture. - - \value NoDirection - \value Left - \value Right - \value Up - \value Down -*/ - -/*! - Creates a new pan gesture handler object and marks it as a child of - \a parent. The pan gesture handler watches \a gestureTarget for its - events. - - On some platform like Windows it's necessary to provide a non-null - widget as \a parent to get native gesture support. -*/ -QPanGesture::QPanGesture(QWidget *gestureTarget, QObject *parent) - : QGesture(*new QPanGesturePrivate, gestureTarget, parent) +QPanGestureRecognizer::QPanGestureRecognizer() { - setObjectName(QLatin1String("QPanGesture")); -} - -void QPanGesturePrivate::setupGestureTarget(QObject *newGestureTarget) -{ - Q_Q(QPanGesture); - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - - if (gestureTarget && gestureTarget->isWidgetType()) { - QWidget *w = static_cast(gestureTarget.data()); - if (qAppPriv->widgetGestures[w].pan == q) - qAppPriv->widgetGestures[w].pan = 0; -#if defined(Q_WS_WIN) - qt_widget_private(w)->winSetupGestures(); -#elif defined(Q_WS_MAC) - w->setAttribute(Qt::WA_AcceptTouchEvents, false); - w->setAttribute(Qt::WA_TouchPadAcceptSingleTouchEvents, false); -#endif - } - - if (newGestureTarget && newGestureTarget->isWidgetType()) { - QWidget *w = static_cast(newGestureTarget); - qAppPriv->widgetGestures[w].pan = q; -#if defined(Q_WS_WIN) - qt_widget_private(w)->winSetupGestures(); -#elif defined(Q_WS_MAC) - w->setAttribute(Qt::WA_AcceptTouchEvents); - w->setAttribute(Qt::WA_TouchPadAcceptSingleTouchEvents); -#endif - } - QGesturePrivate::setupGestureTarget(newGestureTarget); -} - -/*! \internal */ -bool QPanGesture::event(QEvent *event) -{ -#if defined(QT_MAC_USE_COCOA) - Q_D(QPanGesture); - if (event->type() == QEvent::Timer) { - const QTimerEvent *te = static_cast(event); - if (te->timerId() == d->singleTouchPanTimer.timerId()) { - d->singleTouchPanTimer.stop(); - updateState(Qt::GestureStarted); - } - } -#endif - - return QObject::event(event); } -bool QPanGesture::eventFilter(QObject *receiver, QEvent *event) +QGesture *QPanGestureRecognizer::createGesture(QObject *target) { - Q_D(QPanGesture); - - if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() && - static_cast(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures)) - return false; - -#ifdef Q_WS_WIN - if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) { - QNativeGestureEvent *ev = static_cast(event); - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - QApplicationPrivate::WidgetStandardGesturesMap::iterator it; - it = qAppPriv->widgetGestures.find(static_cast(receiver)); - if (it == qAppPriv->widgetGestures.end()) - return false; - if (this != it.value().pan) - return false; - Qt::GestureState nextState = Qt::NoGesture; - switch(ev->gestureType) { - case QNativeGestureEvent::GestureBegin: - // next we might receive the first gesture update event, so we - // prepare for it. - d->state = Qt::NoGesture; - return false; - case QNativeGestureEvent::Pan: - nextState = Qt::GestureUpdated; - event->accept(); - break; - case QNativeGestureEvent::GestureEnd: - if (state() == Qt::NoGesture) - return false; // some other gesture has ended - nextState = Qt::GestureFinished; - break; - default: - return false; - } - if (state() == Qt::NoGesture) { - d->lastOffset = d->totalOffset = d->offset = QSize(); - } else { - d->lastOffset = d->offset; - d->offset = QSize(ev->position.x() - d->lastPosition.x(), - ev->position.y() - d->lastPosition.y()); - d->totalOffset += d->offset; - } - d->lastPosition = ev->position; - updateState(nextState); - return true; + if (target && target->isWidgetType()) { + static_cast(target)->setAttribute(Qt::WA_AcceptTouchEvents); } -#endif - return QGesture::eventFilter(receiver, event); + return new QPanGesture; } -/*! \internal */ -bool QPanGesture::filterEvent(QEvent *event) +QGestureRecognizer::Result QPanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) { - Q_D(QPanGesture); + QPanGesture *q = static_cast(state); + QPanGesturePrivate *d = q->d_func(); - if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() && - static_cast(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures)) - return false; - -#if defined(Q_WS_WIN) const QTouchEvent *ev = static_cast(event); - if (event->type() == QEvent::TouchBegin) { + QGestureRecognizer::Result result; + + switch (event->type()) { + case QEvent::TouchBegin: { + result = QGestureRecognizer::MaybeGesture; QTouchEvent::TouchPoint p = ev->touchPoints().at(0); d->lastPosition = p.pos().toPoint(); d->lastOffset = d->totalOffset = d->offset = QSize(); - } else if (event->type() == QEvent::TouchEnd) { - if (state() != Qt::NoGesture) { + break; + } + case QEvent::TouchEnd: { + if (q->state() != Qt::NoGesture) { if (ev->touchPoints().size() == 2) { QTouchEvent::TouchPoint p1 = ev->touchPoints().at(0); QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1); @@ -216,11 +87,14 @@ bool QPanGesture::filterEvent(QEvent *event) p1.pos().y() - p1.lastPos().y() + p2.pos().y() - p2.lastPos().y()) / 2; d->totalOffset += d->offset; } - updateState(Qt::GestureFinished); + result = QGestureRecognizer::GestureFinished; + } else { + result = QGestureRecognizer::NotGesture; } - reset(); - } else if (event->type() == QEvent::TouchUpdate) { - if (ev->touchPoints().size() == 2) { + break; + } + case QEvent::TouchUpdate: { + if (ev->touchPoints().size() >= 2) { QTouchEvent::TouchPoint p1 = ev->touchPoints().at(0); QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1); d->lastOffset = d->offset; @@ -230,10 +104,60 @@ bool QPanGesture::filterEvent(QEvent *event) d->totalOffset += d->offset; if (d->totalOffset.width() > 10 || d->totalOffset.height() > 10 || d->totalOffset.width() < -10 || d->totalOffset.height() < -10) { - updateState(Qt::GestureUpdated); + result = QGestureRecognizer::GestureTriggered; + } else { + result = QGestureRecognizer::MaybeGesture; } } + break; + } + case QEvent::MouseButtonPress: + case QEvent::MouseMove: + case QEvent::MouseButtonRelease: + result = QGestureRecognizer::Ignore; + break; + default: + result = QGestureRecognizer::Ignore; + break; + } + return result; +} + +void QPanGestureRecognizer::reset(QGesture *state) +{ + QPanGesture *pan = static_cast(state); + QPanGesturePrivate *d = pan->d_func(); + + d->totalOffset = d->lastOffset = d->offset = QSizeF(); + d->lastPosition = QPoint(); + d->acceleration = 0; + +//#if defined(QT_MAC_USE_COCOA) +// d->singleTouchPanTimer.stop(); +// d->prevMousePos = QPointF(0, 0); +//#endif + + QGestureRecognizer::reset(state); +} + +/*! \internal */ +/* +bool QPanGestureRecognizer::event(QEvent *event) +{ +#if defined(QT_MAC_USE_COCOA) + Q_D(QPanGesture); + if (event->type() == QEvent::Timer) { + const QTimerEvent *te = static_cast(event); + if (te->timerId() == d->singleTouchPanTimer.timerId()) { + d->singleTouchPanTimer.stop(); + updateState(Qt::GestureStarted); + } } +#endif + + bool consume = false; + +#if defined(Q_WS_WIN) #elif defined(QT_MAC_USE_COCOA) // The following implements single touch // panning on Mac: @@ -244,16 +168,25 @@ bool QPanGesture::filterEvent(QEvent *event) switch (event->type()) { case QEvent::TouchBegin: { if (ev->touchPoints().size() == 1) { + d->delayManager->setEnabled(true); + consume = d->delayManager->append(d->gestureTarget, *event); d->lastPosition = QCursor::pos(); d->singleTouchPanTimer.start(panBeginDelay, this); } break;} case QEvent::TouchEnd: { - if (state() != Qt::NoGesture) + d->delayManager->setEnabled(false); + if (state() != Qt::NoGesture) { updateState(Qt::GestureFinished); + consume = true; + d->delayManager->clear(); + } else { + d->delayManager->replay(); + } reset(); break;} case QEvent::TouchUpdate: { + consume = d->delayManager->append(d->gestureTarget, *event); if (ev->touchPoints().size() == 1) { if (state() == Qt::NoGesture) { // INVARIANT: The singleTouchTimer has still not fired. @@ -261,11 +194,15 @@ bool QPanGesture::filterEvent(QEvent *event) // the starting point that it makes sense to cancel: const QPointF startPos = ev->touchPoints().at(0).startPos().toPoint(); const QPointF p = ev->touchPoints().at(0).pos().toPoint(); - if ((startPos - p).manhattanLength() > panBeginRadius) + if ((startPos - p).manhattanLength() > panBeginRadius) { + d->delayManager->replay(); + consume = false; reset(); - else + } else { d->lastPosition = QCursor::pos(); + } } else { + d->delayManager->clear(); QPointF mousePos = QCursor::pos(); QPointF dist = mousePos - d->lastPosition; d->lastPosition = mousePos; @@ -275,527 +212,25 @@ bool QPanGesture::filterEvent(QEvent *event) updateState(Qt::GestureUpdated); } } else if (state() == Qt::NoGesture) { + d->delayManager->replay(); + consume = false; reset(); } break;} + case QEvent::MouseButtonPress: + case QEvent::MouseMove: + case QEvent::MouseButtonRelease: + if (d->delayManager->isEnabled()) + consume = d->delayManager->append(d->gestureTarget, *event); + break; default: return false; } #else Q_UNUSED(event); #endif - return false; -} - -/*! \internal */ -void QPanGesture::reset() -{ - Q_D(QPanGesture); - d->lastOffset = d->totalOffset = d->offset = QSize(0, 0); - d->lastPosition = QPoint(0, 0); - -#if defined(QT_MAC_USE_COCOA) - d->singleTouchPanTimer.stop(); - d->prevMousePos = QPointF(0, 0); -#endif - - QGesture::reset(); -} - -/*! - \property QPanGesture::totalOffset - - Specifies a total pan offset since the start of the gesture. -*/ -QSizeF QPanGesture::totalOffset() const -{ - Q_D(const QPanGesture); - return d->totalOffset; -} - -/*! - \property QPanGesture::lastOffset - - Specifies a pan offset the last time the gesture was triggered. -*/ -QSizeF QPanGesture::lastOffset() const -{ - Q_D(const QPanGesture); - return d->lastOffset; -} - -/*! - \property QPanGesture::offset - - Specifies the current pan offset since the last time the gesture was - triggered. -*/ -QSizeF QPanGesture::offset() const -{ - Q_D(const QPanGesture); - return d->offset; -} - -////////////////////////////////////////////////////////////////////////////// - -/*! - \class QPinchGesture - \preliminary - \since 4.6 - - \brief The QPinchGesture class represents a Pinch gesture, - providing additional information related to zooming and/or rotation. -*/ - -/*! - Creates a new Pinch gesture handler object and marks it as a child - of \a parent. The pan gesture handler watches \a gestureTarget for its - events. - - On some platform like Windows it's necessary to provide a non-null - widget as \a parent to get native gesture support. -*/ -QPinchGesture::QPinchGesture(QWidget *gestureTarget, QObject *parent) - : QGesture(*new QPinchGesturePrivate, gestureTarget, parent) -{ - setObjectName(QLatin1String("QPinchGesture")); -} - -void QPinchGesturePrivate::setupGestureTarget(QObject *newGestureTarget) -{ - Q_Q(QPinchGesture); - if (gestureTarget && gestureTarget->isWidgetType()) { - QWidget *w = static_cast(gestureTarget.data()); - QApplicationPrivate::instance()->widgetGestures[w].pinch = 0; -#ifdef Q_WS_WIN - qt_widget_private(w)->winSetupGestures(); -#endif - } - - if (newGestureTarget && newGestureTarget->isWidgetType()) { - QWidget *w = static_cast(newGestureTarget); - QApplicationPrivate::instance()->widgetGestures[w].pinch = q; -#ifdef Q_WS_WIN - qt_widget_private(w)->winSetupGestures(); -#endif - } - QGesturePrivate::setupGestureTarget(newGestureTarget); -} - -/*! \internal */ -bool QPinchGesture::event(QEvent *event) -{ - return QObject::event(event); -} - -bool QPinchGesture::eventFilter(QObject *receiver, QEvent *event) -{ - Q_D(QPinchGesture); - - if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() && - static_cast(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures)) - return false; - -#if defined(Q_WS_WIN) || defined(Q_WS_MAC) - if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) { - QNativeGestureEvent *ev = static_cast(event); -#if defined(Q_WS_WIN) - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - QApplicationPrivate::WidgetStandardGesturesMap::iterator it; - it = qAppPriv->widgetGestures.find(static_cast(receiver)); - if (it == qAppPriv->widgetGestures.end()) - return false; - if (this != it.value().pinch) - return false; -#endif - Qt::GestureState nextState = Qt::NoGesture; - - switch(ev->gestureType) { - case QNativeGestureEvent::GestureBegin: - // next we might receive the first gesture update event, so we - // prepare for it. - d->state = Qt::NoGesture; - d->changes = 0; - d->totalScaleFactor = d->scaleFactor = d->lastScaleFactor = 1.; - d->totalRotationAngle = d->rotationAngle = d->lastRotationAngle = 0.; - d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPointF(); -#if defined(Q_WS_WIN) - d->initialDistance = 0; - d->lastSequenceId = ev->sequenceId; -#endif - return false; - case QNativeGestureEvent::Rotate: { - d->lastScaleFactor = d->scaleFactor; - d->lastRotationAngle = d->rotationAngle; -#if defined(Q_WS_MAC) - d->rotationAngle += ev->percentage; - nextState = Qt::GestureUpdated; -#elif defined(Q_WS_WIN) - // This is a workaround for an issue with the native rotation - // gesture on Windows 7. For some reason the rotation angle in the - // first WM_GESTURE message in a sequence contains value that is - // off a little bit and causes the rotating item to "jump", so - // we just ignore the first WM_GESTURE in every sequence. - bool windowsRotateWorkaround = false; - if (!d->lastSequenceId) { - windowsRotateWorkaround = true; - d->lastSequenceId = ev->sequenceId; - } - if (d->lastSequenceId > 0 && d->lastSequenceId != (ulong)-1 && ev->sequenceId != d->lastSequenceId) { - // this is the first WM_GESTURE message in a sequence. - d->totalRotationAngle += d->rotationAngle; - windowsRotateWorkaround = true; - // a magic value to mark that the next WM_GESTURE message is - // the second message in a sequence and we should clear the - // lastRotationAngle - d->lastSequenceId = (ulong)-1; - } - if (!windowsRotateWorkaround) { - d->rotationAngle = -1 * GID_ROTATE_ANGLE_FROM_ARGUMENT(ev->argument) * 180. / M_PI; - if (d->lastSequenceId == (ulong)-1) { - // a special case since we need to set the lastRotationAngle to - // rotationAngle when the first WM_GESTURE is received in each - // sequence. - d->lastRotationAngle = d->rotationAngle; - } - d->lastSequenceId = ev->sequenceId; - } - if (!windowsRotateWorkaround) - nextState = Qt::GestureUpdated; -#endif - d->changes = QPinchGesture::RotationAngleChanged; - event->accept(); - break; - } - case QNativeGestureEvent::Zoom: - d->lastRotationAngle = d->rotationAngle; - d->lastScaleFactor = d->scaleFactor; -#if defined(Q_WS_WIN) - if (d->initialDistance != 0) { - int distance = int(qint64(ev->argument)); - if (d->lastSequenceId && ev->sequenceId != d->lastSequenceId) { - d->totalScaleFactor *= d->scaleFactor; - d->initialDistance = int(qint64(ev->argument)); - d->lastScaleFactor = d->scaleFactor = (qreal) distance / d->initialDistance; - } else { - d->scaleFactor = (qreal) distance / d->initialDistance; - } - d->lastSequenceId = ev->sequenceId; - } else { - d->initialDistance = int(qint64(ev->argument)); - } -#elif defined(Q_WS_MAC) - d->scaleFactor += ev->percentage; -#endif - nextState = Qt::GestureUpdated; - d->changes = QPinchGesture::ScaleFactorChanged; - event->accept(); - break; - case QNativeGestureEvent::GestureEnd: - if (state() == Qt::NoGesture) - return false; // some other gesture has ended - nextState = Qt::GestureFinished; - break; - default: - return false; - } - if (d->startCenterPoint.isNull()) - d->startCenterPoint = d->centerPoint; - d->lastCenterPoint = d->centerPoint; - d->centerPoint = static_cast(receiver)->mapFromGlobal(ev->position); - if (d->lastCenterPoint != d->centerPoint) - d->changes |= QPinchGesture::CenterPointChanged; - updateState(nextState); - return true; - } -#endif - return QGesture::eventFilter(receiver, event); -} - - -/*! \internal */ -bool QPinchGesture::filterEvent(QEvent *event) -{ - Q_D(QPinchGesture); - - if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() && - static_cast(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures)) - return false; - - Q_UNUSED(event); - return false; -} - -/*! \internal */ -void QPinchGesture::reset() -{ - Q_D(QPinchGesture); - d->changes = 0; - d->totalScaleFactor = d->scaleFactor = d->lastScaleFactor = 1.; - d->totalRotationAngle = d->rotationAngle = d->lastRotationAngle = 0.; - d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPointF(); - QGesture::reset(); -} - -/*! \enum QPinchGesture::WhatChange - \value ScaleFactorChanged - \value RotationAngleChanged - \value CenterPointChanged -*/ - -/*! - \property QPinchGesture::whatChanged - - Specifies which values were changed in the gesture. -*/ -QPinchGesture::WhatChanged QPinchGesture::whatChanged() const -{ - return d_func()->changes; -} - -/*! - \property QPinchGesture::totalScaleFactor - - Specifies a total scale factor of the pinch gesture since the gesture - started. -*/ -qreal QPinchGesture::totalScaleFactor() const -{ - Q_D(const QPinchGesture); - return d->totalScaleFactor * d->scaleFactor; -} - -/*! - \property QPinchGesture::scaleFactor - - Specifies a scale factor of the pinch gesture. - - If the gesture consists of several pinch sequences (i.e. zoom and rotate - sequences), then this property specifies the scale factor in the current - sequence. When pinching changes the rotation angle only, the value of this - property is 1. -*/ -qreal QPinchGesture::scaleFactor() const -{ - return d_func()->scaleFactor; -} - -/*! - \property QPinchGesture::lastScaleFactor - - Specifies a previous scale factor of the pinch gesture. -*/ -qreal QPinchGesture::lastScaleFactor() const -{ - return d_func()->lastScaleFactor; -} - -/*! - \property QPinchGesture::totalRotationAngle - - Specifies a total rotation angle of the gesture since the gesture started. - - The angle is specified in degrees. -*/ -qreal QPinchGesture::totalRotationAngle() const -{ - Q_D(const QPinchGesture); - return d->totalRotationAngle + d->rotationAngle; -} - -/*! - \property QPinchGesture::rotationAngle - - Specifies a rotation angle of the gesture. - - If the gesture consists of several pinch sequences (i.e. zoom and rotate - sequences), then this property specifies the rotation angle in the current - sequence. When pinching changes the scale factor only, the value of this - property is 0. - - The angle is specified in degrees. -*/ -qreal QPinchGesture::rotationAngle() const -{ - return d_func()->rotationAngle; -} - -/*! - \property QPinchGesture::lastRotationAngle - - Specifies a previous rotation angle of the gesture. - - The angle is specified in degrees. -*/ -qreal QPinchGesture::lastRotationAngle() const -{ - return d_func()->lastRotationAngle; -} - -/*! - \property QPinchGesture::centerPoint - - Specifies a center point of the gesture. The point can be used as a center - point that the object is rotated around. -*/ -QPointF QPinchGesture::centerPoint() const -{ - return d_func()->centerPoint; -} - -/*! - \property QPinchGesture::lastCenterPoint - - Specifies a previous center point of the gesture. -*/ -QPointF QPinchGesture::lastCenterPoint() const -{ - return d_func()->lastCenterPoint; -} - -/*! - \property QPinchGesture::startCenterPoint - - Specifies an initial center point of the gesture. Difference between the - startCenterPoint and the centerPoint is the distance at which pinching - fingers has shifted. -*/ -QPointF QPinchGesture::startCenterPoint() const -{ - return d_func()->startCenterPoint; -} - -////////////////////////////////////////////////////////////////////////////// - -/*! - \class QSwipeGesture - \preliminary - \since 4.6 - - \brief The QSwipeGesture class represents a swipe gesture, - providing additional information related to swiping. -*/ - -/*! - Creates a new Swipe gesture handler object and marks it as a - child of \a parent. The swipe gesture handler watches \a - gestureTarget for its events. - - On some platform like Windows it's necessary to provide a non-null - widget as \a parent to get native gesture support. -*/ -QSwipeGesture::QSwipeGesture(QWidget *gestureTarget, QObject *parent) - : QGesture(*new QSwipeGesturePrivate, gestureTarget, parent) -{ - setObjectName(QLatin1String("QSwipeGesture")); -} - -void QSwipeGesturePrivate::setupGestureTarget(QObject *newGestureTarget) -{ - Q_Q(QSwipeGesture); - if (gestureTarget && gestureTarget->isWidgetType()) { - QWidget *w = static_cast(gestureTarget.data()); - QApplicationPrivate::instance()->widgetGestures[w].swipe = 0; -#if defined(Q_WS_WIN) - qt_widget_private(w)->winSetupGestures(); -#endif - } - - if (newGestureTarget && newGestureTarget->isWidgetType()) { - QWidget *w = static_cast(newGestureTarget); - QApplicationPrivate::instance()->widgetGestures[w].swipe = q; -#if defined(Q_WS_WIN) - qt_widget_private(w)->winSetupGestures(); -#endif - } - QGesturePrivate::setupGestureTarget(newGestureTarget); -} - -/*! - \property QSwipeGesture::swipeAngle - - Holds the angle of the swipe gesture, 0..360. -*/ -qreal QSwipeGesture::swipeAngle() const -{ - Q_D(const QSwipeGesture); - return d->swipeAngle; -} - -/*! - \property QSwipeGesture::horizontalDirection - - Holds the direction for the horizontal component of the swipe - gesture, SwipeDirection::Left or SwipeDirection::Right. - SwipeDirection::NoDirection if there is no horizontal - component to the swipe gesture. -*/ -QSwipeGesture::SwipeDirection QSwipeGesture::horizontalDirection() const -{ - Q_D(const QSwipeGesture); - if (d->swipeAngle < 0 || d->swipeAngle == 90 || d->swipeAngle == 270) - return QSwipeGesture::NoDirection; - else if (d->swipeAngle < 90 || d->swipeAngle > 270) - return QSwipeGesture::Right; - else - return QSwipeGesture::Left; -} - - -/*! - \property QSwipeGesture::verticalDirection - - Holds the direction for the vertical component of the swipe - gesture, SwipeDirection::Down or SwipeDirection::Up. - SwipeDirection::NoDirection if there is no vertical - component to the swipe gesture. -*/ -QSwipeGesture::SwipeDirection QSwipeGesture::verticalDirection() const -{ - Q_D(const QSwipeGesture); - if (d->swipeAngle <= 0 || d->swipeAngle == 180) - return QSwipeGesture::NoDirection; - else if (d->swipeAngle < 180) - return QSwipeGesture::Up; - else - return QSwipeGesture::Down; -} - -bool QSwipeGesture::eventFilter(QObject *receiver, QEvent *event) -{ - Q_D(QSwipeGesture); - if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) { - QNativeGestureEvent *ev = static_cast(event); - switch (ev->gestureType) { - case QNativeGestureEvent::Swipe: - d->swipeAngle = ev->angle; - updateState(Qt::GestureStarted); - updateState(Qt::GestureUpdated); - updateState(Qt::GestureFinished); - break; - default: - return false; - } - return true; - } - return QGesture::eventFilter(receiver, event); -} - -/*! \internal */ -bool QSwipeGesture::filterEvent(QEvent *) -{ - return false; -} - -/*! \internal */ -void QSwipeGesture::reset() -{ - Q_D(QSwipeGesture); - d->swipeAngle = -1; - QGesture::reset(); + return QGestureRecognizer::Ignore; } + */ QT_END_NAMESPACE - -#include "moc_qstandardgestures.cpp" - diff --git a/src/gui/kernel/qstandardgestures.h b/src/gui/kernel/qstandardgestures.h deleted file mode 100644 index 9e8291b..0000000 --- a/src/gui/kernel/qstandardgestures.h +++ /dev/null @@ -1,174 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSTANDARDGESTURES_H -#define QSTANDARDGESTURES_H - -#include -#include - -#include - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Gui) - -class QPanGesturePrivate; -class Q_GUI_EXPORT QPanGesture : public QGesture -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QPanGesture) - - Q_PROPERTY(QSizeF totalOffset READ totalOffset) - Q_PROPERTY(QSizeF lastOffset READ lastOffset) - Q_PROPERTY(QSizeF offset READ offset) - -public: - QPanGesture(QWidget *gestureTarget, QObject *parent = 0); - - bool filterEvent(QEvent *event); - - QSizeF totalOffset() const; - QSizeF lastOffset() const; - QSizeF offset() const; - -protected: - void reset(); - -private: - bool event(QEvent *event); - bool eventFilter(QObject *receiver, QEvent *event); - - friend class QWidget; - friend class QAbstractScrollAreaPrivate; -}; - -class QPinchGesturePrivate; -class Q_GUI_EXPORT QPinchGesture : public QGesture -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QPinchGesture) - -public: - enum WhatChange { - ScaleFactorChanged = 0x1, - RotationAngleChanged = 0x2, - CenterPointChanged = 0x4 - }; - Q_DECLARE_FLAGS(WhatChanged, WhatChange) - - Q_PROPERTY(WhatChanged whatChanged READ whatChanged) - - Q_PROPERTY(qreal totalScaleFactor READ totalScaleFactor) - Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor) - Q_PROPERTY(qreal scaleFactor READ scaleFactor) - - Q_PROPERTY(qreal totalRotationAngle READ totalRotationAngle) - Q_PROPERTY(qreal lastRotationAngle READ lastRotationAngle) - Q_PROPERTY(qreal rotationAngle READ rotationAngle) - - Q_PROPERTY(QPointF startCenterPoint READ startCenterPoint) - Q_PROPERTY(QPointF lastCenterPoint READ lastCenterPoint) - Q_PROPERTY(QPointF centerPoint READ centerPoint) - -public: - - QPinchGesture(QWidget *gestureTarget, QObject *parent = 0); - - bool filterEvent(QEvent *event); - void reset(); - - WhatChanged whatChanged() const; - - QPointF startCenterPoint() const; - QPointF lastCenterPoint() const; - QPointF centerPoint() const; - - qreal totalScaleFactor() const; - qreal lastScaleFactor() const; - qreal scaleFactor() const; - - qreal totalRotationAngle() const; - qreal lastRotationAngle() const; - qreal rotationAngle() const; - -private: - bool event(QEvent *event); - bool eventFilter(QObject *receiver, QEvent *event); - - friend class QWidget; -}; - -class QSwipeGesturePrivate; -class Q_GUI_EXPORT QSwipeGesture : public QGesture -{ - Q_OBJECT - Q_ENUMS(SwipeDirection) - - Q_PROPERTY(SwipeDirection horizontalDirection READ horizontalDirection) - Q_PROPERTY(SwipeDirection verticalDirection READ verticalDirection) - Q_PROPERTY(qreal swipeAngle READ swipeAngle) - - Q_DECLARE_PRIVATE(QSwipeGesture) - -public: - enum SwipeDirection { NoDirection, Left, Right, Up, Down }; - QSwipeGesture(QWidget *gestureTarget, QObject *parent = 0); - - bool filterEvent(QEvent *event); - void reset(); - - SwipeDirection horizontalDirection() const; - SwipeDirection verticalDirection() const; - qreal swipeAngle() const; - -private: - bool eventFilter(QObject *receiver, QEvent *event); - - friend class QWidget; -}; -QT_END_NAMESPACE - -QT_END_HEADER - -#endif // QSTANDARDGESTURES_H diff --git a/src/gui/kernel/qstandardgestures_p.h b/src/gui/kernel/qstandardgestures_p.h index 79aadfd..fec5c2f 100644 --- a/src/gui/kernel/qstandardgestures_p.h +++ b/src/gui/kernel/qstandardgestures_p.h @@ -53,83 +53,20 @@ // We mean it. // -#include "qevent.h" -#include "qbasictimer.h" -#include "qdebug.h" - -#include "qgesture.h" -#include "qgesture_p.h" - -#include "qstandardgestures.h" -#include "qbasictimer.h" +#include "qgesturerecognizer.h" +#include "private/qgesture_p.h" QT_BEGIN_NAMESPACE -class QPanGesturePrivate : public QGesturePrivate -{ - Q_DECLARE_PUBLIC(QPanGesture) - -public: - void setupGestureTarget(QObject *o); - - QSizeF totalOffset; - QSizeF lastOffset; - QSizeF offset; - QPointF lastPosition; - -#if defined(QT_MAC_USE_COCOA) - QBasicTimer singleTouchPanTimer; - QPointF prevMousePos; -#endif -}; - -class QPinchGesturePrivate : public QGesturePrivate +class QPanGestureRecognizer : public QGestureRecognizer { - Q_DECLARE_PUBLIC(QPinchGesture) - public: - QPinchGesturePrivate() - : changes(0), totalScaleFactor(0.), lastScaleFactor(0.), scaleFactor(0.), - totalRotationAngle(0.), lastRotationAngle(0.), rotationAngle(0.) -#ifdef Q_WS_WIN - ,initialDistance(0), lastSequenceId(0) -#endif - { - } + QPanGestureRecognizer(); - void setupGestureTarget(QObject *o); - - QPinchGesture::WhatChanged changes; - - qreal totalScaleFactor; // total scale factor, excluding the current sequence. - qreal lastScaleFactor; - qreal scaleFactor; // scale factor in the current sequence. - - qreal totalRotationAngle; // total rotation angle, excluding the current sequence. - qreal lastRotationAngle; - qreal rotationAngle; // rotation angle in the current sequence. - - QPointF startCenterPoint; - QPointF lastCenterPoint; - QPointF centerPoint; -#ifdef Q_WS_WIN - int initialDistance; - ulong lastSequenceId; -#endif -}; - -class QSwipeGesturePrivate : public QGesturePrivate -{ - Q_DECLARE_PUBLIC(QSwipeGesture) - -public: - QSwipeGesturePrivate() - : swipeAngle(-1) - { - } + QGesture *createGesture(QObject *target); - void setupGestureTarget(QObject *o); - qreal swipeAngle; + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); }; QT_END_NAMESPACE diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 4cbf762..e6fa55a 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -115,6 +115,7 @@ #include "private/qevent_p.h" #include "private/qgraphicssystem_p.h" +#include "private/qgesturemanager_p.h" // widget/widget data creation count //#define QWIDGET_EXTRA_DEBUG @@ -8333,6 +8334,9 @@ bool QWidget::event(QEvent *event) (void) QApplication::sendEvent(this, &mouseEvent); break; } + case QEvent::Gesture: + event->ignore(); + break; #ifndef QT_NO_PROPERTIES case QEvent::DynamicPropertyChange: { const QByteArray &propName = static_cast(event)->propertyName(); @@ -11669,6 +11673,13 @@ QGraphicsProxyWidget *QWidget::graphicsProxyWidget() const Synonym for QList. */ +void QWidget::grabGesture(Qt::GestureType type, Qt::GestureContext context) +{ + Q_D(QWidget); + d->gestureContext.insert(type, context); + (void)QGestureManager::instance(); // create a gesture manager +} + QT_END_NAMESPACE #include "moc_qwidget.cpp" diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h index 76418af..3501c6e 100644 --- a/src/gui/kernel/qwidget.h +++ b/src/gui/kernel/qwidget.h @@ -96,7 +96,6 @@ class QIcon; class QWindowSurface; class QLocale; class QGraphicsProxyWidget; -class QGestureManager; class QGraphicsEffect; #if defined(Q_WS_X11) class QX11Info; @@ -355,6 +354,8 @@ public: QGraphicsEffect *graphicsEffect() const; void setGraphicsEffect(QGraphicsEffect *effect); + void grabGesture(Qt::GestureType type, Qt::GestureContext context = Qt::WidgetWithChildrenGesture); + public Q_SLOTS: void setWindowTitle(const QString &); #ifndef QT_NO_STYLE_STYLESHEET @@ -737,6 +738,8 @@ private: friend class QGraphicsProxyWidgetPrivate; friend class QStyleSheetStyle; friend struct QWidgetExceptionCleaner; + friend class QGestureManager; + friend class QWinNativePanGestureRecognizer; #ifdef Q_WS_MAC friend class QCoreGraphicsPaintEnginePrivate; diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index c06ef73..a549740 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -64,6 +64,8 @@ #include "QtGui/qapplication.h" #include +#include + #ifdef Q_WS_WIN #include "QtCore/qt_windows.h" #include @@ -578,6 +580,7 @@ public: #ifndef QT_NO_ACTION QList actions; #endif + QMap gestureContext; // Bit fields. uint high_attributes[3]; // the low ones are in QWidget::widget_attributes @@ -604,6 +607,7 @@ public: bool isBackgroundInherited() const; #elif defined(Q_WS_WIN) // <--------------------------------------------------------- WIN uint noPaintOnScreen : 1; // see qwidget_win.cpp ::paintEngine() + uint nativeGesturePanEnabled : 1; bool shouldShowMaximizeButton(); void winUpdateIsOpaque(); diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp index a0982f4..2b11bec 100644 --- a/src/gui/kernel/qwidget_win.cpp +++ b/src/gui/kernel/qwidget_win.cpp @@ -2029,11 +2029,6 @@ void QWidgetPrivate::winSetupGestures() if (!q || !q->isVisible()) return; QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - QApplicationPrivate::WidgetStandardGesturesMap::const_iterator it = - qAppPriv->widgetGestures.find(q); - if (it == qAppPriv->widgetGestures.end()) - return; - const QStandardGestures &gestures = it.value(); WId winid = q->effectiveWinId(); bool needh = false; @@ -2052,10 +2047,10 @@ void QWidgetPrivate::winSetupGestures() singleFingerPanEnabled = asa->d_func()->singleFingerPanEnabled; } if (winid && qAppPriv->SetGestureConfig) { - GESTURECONFIG gc[3]; + GESTURECONFIG gc[1]; memset(gc, 0, sizeof(gc)); gc[0].dwID = GID_PAN; - if (gestures.pan) { + if (nativeGesturePanEnabled) { gc[0].dwWant = GC_PAN; if (needv && singleFingerPanEnabled) gc[0].dwWant |= GC_PAN_WITH_SINGLE_FINGER_VERTICALLY; @@ -2069,16 +2064,16 @@ void QWidgetPrivate::winSetupGestures() gc[0].dwBlock = GC_PAN; } - gc[1].dwID = GID_ZOOM; - if (gestures.pinch) - gc[1].dwWant = GC_ZOOM; - else - gc[1].dwBlock = GC_ZOOM; - gc[2].dwID = GID_ROTATE; - if (gestures.pinch) - gc[2].dwWant = GC_ROTATE; - else - gc[2].dwBlock = GC_ROTATE; +// gc[1].dwID = GID_ZOOM; +// if (gestures.pinch) +// gc[1].dwWant = GC_ZOOM; +// else +// gc[1].dwBlock = GC_ZOOM; +// gc[2].dwID = GID_ROTATE; +// if (gestures.pinch) +// gc[2].dwWant = GC_ROTATE; +// else +// gc[2].dwBlock = GC_ROTATE; qAppPriv->SetGestureConfig(winid, 0, sizeof(gc)/sizeof(gc[0]), gc, sizeof(gc[0])); } diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp new file mode 100644 index 0000000..4619594 --- /dev/null +++ b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp @@ -0,0 +1,124 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "private/qwinnativepangesturerecognizer_win_p.h" + +#include "qevent.h" +#include "qgraphicsitem.h" +#include "qgesture.h" + +#include "private/qgesture_p.h" +#include "private/qevent_p.h" +#include "private/qapplication_p.h" +#include "private/qwidget_p.h" + +QT_BEGIN_NAMESPACE + +QWinNativePanGestureRecognizer::QWinNativePanGestureRecognizer() +{ +} + +QGesture* QWinNativePanGestureRecognizer::createGesture(QObject *target) const +{ + if (!target) + return new QPanGesture; // a special case + if (qobject_cast(target)) + return 0; + if (!target->isWidgetType()) + return 0; + + QWidget *q = static_cast(target); + QWidgetPrivate *d = q->d_func(); + d->nativeGesturePanEnabled = true; + d->winSetupGestures(); + + return new QPanGesture; +} + +QGestureRecognizer::Result QWinNativePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) +{ + QPanGesture *q = static_cast(state); + QPanGesturePrivate *d = q->d_func(); + + QGestureRecognizer::Result result = QGestureRecognizer::Ignore; + if (event->type() == QEvent::NativeGesture) { + QNativeGestureEvent *ev = static_cast(event); + switch(ev->gestureType) { + case QNativeGestureEvent::GestureBegin: + break; + case QNativeGestureEvent::Pan: + result = QGestureRecognizer::GestureTriggered; + event->accept(); + break; + case QNativeGestureEvent::GestureEnd: + if (q->state() == Qt::NoGesture) + return QGestureRecognizer::Ignore; // some other gesture has ended + result = QGestureRecognizer::GestureFinished; + break; + default: + return QGestureRecognizer::Ignore; + } + if (q->state() == Qt::NoGesture) { + d->lastOffset = d->totalOffset = d->offset = QSize(); + } else { + d->lastOffset = d->offset; + d->offset = QSize(ev->position.x() - d->lastPosition.x(), + ev->position.y() - d->lastPosition.y()); + d->totalOffset += d->offset; + } + d->lastPosition = ev->position; + } + return result; +} + +void QWinNativePanGestureRecognizer::reset(QGesture *state) +{ + QPanGesture *pan = static_cast(state); + QPanGesturePrivate *d = pan->d_func(); + + d->totalOffset = d->lastOffset = d->offset = QSizeF(); + d->lastPosition = QPoint(); + d->acceleration = 0; + + QGestureRecognizer::reset(state); +} + +QT_END_NAMESPACE diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h new file mode 100644 index 0000000..a1e8511 --- /dev/null +++ b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QWINNATIVEPANGESTURERECOGNIZER_WIN_P_H +#define QWINNATIVEPANGESTURERECOGNIZER_WIN_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +QT_BEGIN_NAMESPACE + +class QWinNativePanGestureRecognizer : public QGestureRecognizer +{ +public: + QWinNativePanGestureRecognizer(); + + QGesture* createGesture(QObject *target) const; + + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +QT_END_NAMESPACE + +#endif // QWINNATIVEPANGESTURERECOGNIZER_WIN_P_H diff --git a/src/gui/widgets/qabstractscrollarea.cpp b/src/gui/widgets/qabstractscrollarea.cpp index d8702cf..0896256 100644 --- a/src/gui/widgets/qabstractscrollarea.cpp +++ b/src/gui/widgets/qabstractscrollarea.cpp @@ -52,11 +52,6 @@ #include "qboxlayout.h" #include "qpainter.h" -#ifdef Q_WS_WIN -#include "qstandardgestures.h" -#include -#endif - #include "qabstractscrollarea_p.h" #include @@ -165,7 +160,7 @@ QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate() viewport(0), cornerWidget(0), left(0), top(0), right(0), bottom(0), xoffset(0), yoffset(0), viewportFilter(0) #ifdef Q_WS_WIN - , panGesture(0), singleFingerPanEnabled(false) + , singleFingerPanEnabled(false) #endif { } @@ -298,14 +293,6 @@ void QAbstractScrollAreaPrivate::init() q->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); layoutChildren(); - -#ifdef Q_WS_WIN - panGesture = new QPanGesture(viewport, q); - panGesture->d_func()->implicitGesture = true; - QObject::connect(panGesture, SIGNAL(started()), q, SLOT(_q_gestureTriggered())); - QObject::connect(panGesture, SIGNAL(triggered()), q, SLOT(_q_gestureTriggered())); - QObject::connect(panGesture, SIGNAL(finished()), q, SLOT(_q_gestureTriggered())); -#endif // Q_WS_WIN } #ifdef Q_WS_WIN @@ -556,9 +543,6 @@ void QAbstractScrollArea::setViewport(QWidget *widget) if (isVisible()) d->viewport->show(); QMetaObject::invokeMethod(this, "setupViewport", Q_ARG(QWidget *, widget)); -#ifdef Q_WS_WIN - d->panGesture->setGestureTarget(widget); -#endif delete oldViewport; } } @@ -1351,26 +1335,24 @@ void QAbstractScrollArea::setupViewport(QWidget *viewport) Q_UNUSED(viewport); } -#ifdef Q_WS_WIN -void QAbstractScrollAreaPrivate::_q_gestureTriggered() -{ - Q_Q(QAbstractScrollArea); - QPanGesture *g = qobject_cast(q->sender()); - if (!g) - return; - QScrollBar *hBar = q->horizontalScrollBar(); - QScrollBar *vBar = q->verticalScrollBar(); - QSizeF delta = g->lastOffset(); - if (!delta.isNull()) { - if (QApplication::isRightToLeft()) - delta.rwidth() *= -1; - int newX = hBar->value() - delta.width(); - int newY = vBar->value() - delta.height(); - hbar->setValue(newX); - vbar->setValue(newY); - } -} -#endif +//void QAbstractScrollAreaPrivate::_q_gestureTriggered() +//{ +// Q_Q(QAbstractScrollArea); +// QPanGesture *g = qobject_cast(q->sender()); +// if (!g) +// return; +// QScrollBar *hBar = q->horizontalScrollBar(); +// QScrollBar *vBar = q->verticalScrollBar(); +// QSizeF delta = g->lastOffset(); +// if (!delta.isNull()) { +// if (QApplication::isRightToLeft()) +// delta.rwidth() *= -1; +// int newX = hBar->value() - delta.width(); +// int newY = vBar->value() - delta.height(); +// hbar->setValue(newX); +// vbar->setValue(newY); +// } +//} QT_END_NAMESPACE diff --git a/src/gui/widgets/qabstractscrollarea.h b/src/gui/widgets/qabstractscrollarea.h index 3773477..b3a1861 100644 --- a/src/gui/widgets/qabstractscrollarea.h +++ b/src/gui/widgets/qabstractscrollarea.h @@ -129,10 +129,6 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_vslide(int)) Q_PRIVATE_SLOT(d_func(), void _q_showOrHideScrollBars()) -#ifdef Q_WS_WIN - Q_PRIVATE_SLOT(d_func(), void _q_gestureTriggered()) -#endif - friend class QStyleSheetStyle; friend class QWidgetPrivate; }; diff --git a/src/gui/widgets/qabstractscrollarea_p.h b/src/gui/widgets/qabstractscrollarea_p.h index 0bb2851..bfb8917 100644 --- a/src/gui/widgets/qabstractscrollarea_p.h +++ b/src/gui/widgets/qabstractscrollarea_p.h @@ -60,7 +60,6 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_SCROLLAREA -class QPanGesture; class QScrollBar; class QAbstractScrollAreaScrollBarContainer; class Q_AUTOTEST_EXPORT QAbstractScrollAreaPrivate: public QFramePrivate @@ -102,8 +101,6 @@ public: QScopedPointer viewportFilter; #ifdef Q_WS_WIN - QPanGesture *panGesture; - virtual void _q_gestureTriggered(); bool singleFingerPanEnabled; void setSingleFingerPanEnabled(bool on = true); #endif diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp index 2ed6cd7..22438bf 100644 --- a/src/gui/widgets/qplaintextedit.cpp +++ b/src/gui/widgets/qplaintextedit.cpp @@ -65,11 +65,6 @@ #include #include #include - -#ifdef Q_WS_WIN -#include -#endif - #include #ifndef QT_NO_TEXTEDIT @@ -2937,33 +2932,29 @@ QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() cons (\a available is true) or unavailable (\a available is false). */ -#ifdef Q_WS_WIN - -void QPlainTextEditPrivate::_q_gestureTriggered() -{ - Q_Q(QPlainTextEdit); - QPanGesture *g = qobject_cast(q->sender()); - if (!g) - return; - QScrollBar *hBar = q->horizontalScrollBar(); - QScrollBar *vBar = q->verticalScrollBar(); - if (g->state() == Qt::GestureStarted) - originalOffsetY = vBar->value(); - QSizeF totalOffset = g->totalOffset(); - if (!totalOffset.isNull()) { - if (QApplication::isRightToLeft()) - totalOffset.rwidth() *= -1; - // QPlainTextEdit scrolls by lines only in vertical direction - QFontMetrics fm(q->document()->defaultFont()); - int lineHeight = fm.height(); - int newX = hBar->value() - g->lastOffset().width(); - int newY = originalOffsetY - totalOffset.height()/lineHeight; - hbar->setValue(newX); - vbar->setValue(newY); - } -} - -#endif +//void QPlainTextEditPrivate::_q_gestureTriggered() +//{ +// Q_Q(QPlainTextEdit); +// QPanGesture *g = qobject_cast(q->sender()); +// if (!g) +// return; +// QScrollBar *hBar = q->horizontalScrollBar(); +// QScrollBar *vBar = q->verticalScrollBar(); +// if (g->state() == Qt::GestureStarted) +// originalOffsetY = vBar->value(); +// QSizeF totalOffset = g->totalOffset(); +// if (!totalOffset.isNull()) { +// if (QApplication::isRightToLeft()) +// totalOffset.rwidth() *= -1; +// // QPlainTextEdit scrolls by lines only in vertical direction +// QFontMetrics fm(q->document()->defaultFont()); +// int lineHeight = fm.height(); +// int newX = hBar->value() - g->lastOffset().width(); +// int newY = originalOffsetY - totalOffset.height()/lineHeight; +// hbar->setValue(newX); +// vbar->setValue(newY); +// } +//} QT_END_NAMESPACE diff --git a/src/gui/widgets/qplaintextedit.h b/src/gui/widgets/qplaintextedit.h index 1d6881b..60aed1d 100644 --- a/src/gui/widgets/qplaintextedit.h +++ b/src/gui/widgets/qplaintextedit.h @@ -270,10 +270,6 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_verticalScrollbarActionTriggered(int)) Q_PRIVATE_SLOT(d_func(), void _q_cursorPositionChanged()) -#ifdef Q_WS_WIN - Q_PRIVATE_SLOT(d_func(), void _q_gestureTriggered()) -#endif - friend class QPlainTextEditControl; }; diff --git a/src/gui/widgets/qplaintextedit_p.h b/src/gui/widgets/qplaintextedit_p.h index 5fe6f4d..7adf403 100644 --- a/src/gui/widgets/qplaintextedit_p.h +++ b/src/gui/widgets/qplaintextedit_p.h @@ -72,7 +72,6 @@ class QMimeData; class QPlainTextEdit; class ExtraArea; -class QPanGesture; class QPlainTextEditControl : public QTextControl { @@ -179,10 +178,6 @@ public: void _q_modificationChanged(bool); int originalOffsetY; - -#ifdef Q_WS_WIN - void _q_gestureTriggered(); -#endif }; QT_END_NAMESPACE diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index f3ecdae..9bc1d5c 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -398,7 +398,8 @@ SUBDIRS += \ selftests \ symbols \ qrand \ - utf8 + utf8 \ + gestures !wince*:SUBDIRS += $$Q3SUBDIRS diff --git a/tests/auto/gestures/gestures.pro b/tests/auto/gestures/gestures.pro new file mode 100644 index 0000000..da5610f --- /dev/null +++ b/tests/auto/gestures/gestures.pro @@ -0,0 +1,5 @@ +load(qttest_p4) +SOURCES += tst_gestures.cpp + + + diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp new file mode 100644 index 0000000..0a6caff --- /dev/null +++ b/tests/auto/gestures/tst_gestures.cpp @@ -0,0 +1,625 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include +#include "../../shared/util.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +//TESTED_CLASS= +//TESTED_FILES= + +class CustomGesture : public QGesture +{ + Q_OBJECT +public: + static Qt::GestureType GestureType; + + CustomGesture(QObject *parent = 0) + : QGesture(parent), target(0), serial(0) + { + } + + QObject *target; + int serial; + + static const int SerialMaybeThreshold; + static const int SerialStartedThreshold; + static const int SerialFinishedThreshold; +}; +Qt::GestureType CustomGesture::GestureType = Qt::CustomGesture; +const int CustomGesture::SerialMaybeThreshold = 1; +const int CustomGesture::SerialStartedThreshold = 3; +const int CustomGesture::SerialFinishedThreshold = 6; + +class CustomEvent : public QEvent +{ +public: + static int EventType; + + CustomEvent(int serial_ = 0) + : QEvent(QEvent::Type(CustomEvent::EventType)), + serial(serial_), targetObject(0) + { + } + + int serial; + QObject *targetObject; + QPoint hotSpot; +}; +int CustomEvent::EventType = 0; + +class CustomGestureRecognizer : public QGestureRecognizer +{ +public: + CustomGestureRecognizer() + { + CustomEvent::EventType = QEvent::registerEventType(); + eventsCounter = 0; + } + + QGesture* createGesture(QObject *) + { + return new CustomGesture; + } + + QGestureRecognizer::Result filterEvent(QGesture *state, QObject*, QEvent *event) + { + if (event->type() == CustomEvent::EventType) { + QGestureRecognizer::Result result = QGestureRecognizer::ConsumeEventHint; + CustomGesture *g = static_cast(state); + CustomEvent *e = static_cast(event); + g->serial = e->serial; + g->setTargetObject(e->targetObject); + g->setHotSpot(e->hotSpot); + ++eventsCounter; + if (g->serial >= CustomGesture::SerialFinishedThreshold) + result |= QGestureRecognizer::GestureFinished; + else if (g->serial >= CustomGesture::SerialStartedThreshold) + result |= QGestureRecognizer::GestureTriggered; + else if (g->serial >= CustomGesture::SerialMaybeThreshold) + result |= QGestureRecognizer::MaybeGesture; + else + result = QGestureRecognizer::NotGesture; + return result; + } + return QGestureRecognizer::Ignore; + } + + void reset(QGesture *state) + { + CustomGesture *g = static_cast(state); + g->serial = 0; + QGestureRecognizer::reset(state); + } + + int eventsCounter; + QString name; +}; + +class GestureWidget : public QWidget +{ + Q_OBJECT +public: + GestureWidget(const char *name = 0) + { + if (name) + setObjectName(QLatin1String(name)); + reset(); + acceptGestureOverride = false; + } + void reset() + { + customEventsReceived = 0; + gestureEventsReceived = 0; + gestureOverrideEventsReceived = 0; + events.clear(); + overrideEvents.clear(); + } + + int customEventsReceived; + int gestureEventsReceived; + int gestureOverrideEventsReceived; + struct Events + { + QList all; + QList started; + QList updated; + QList finished; + QList canceled; + + void clear() + { + all.clear(); + started.clear(); + updated.clear(); + finished.clear(); + canceled.clear(); + } + } events, overrideEvents; + + bool acceptGestureOverride; + +protected: + bool event(QEvent *event) + { + Events *eventsPtr = 0; + if (event->type() == QEvent::Gesture) { + ++gestureEventsReceived; + eventsPtr = &events; + } else if (event->type() == QEvent::GestureOverride) { + ++gestureOverrideEventsReceived; + eventsPtr = &overrideEvents; + if (acceptGestureOverride) + event->accept(); + } + if (eventsPtr) { + QGestureEvent *e = static_cast(event); + QList gestures = e->allGestures(); + foreach(QGesture *g, gestures) { + eventsPtr->all << g->gestureType(); + switch(g->state()) { + case Qt::GestureStarted: + eventsPtr->started << g->gestureType(); + break; + case Qt::GestureUpdated: + eventsPtr->updated << g->gestureType(); + break; + case Qt::GestureFinished: + eventsPtr->finished << g->gestureType(); + break; + case Qt::GestureCanceled: + eventsPtr->canceled << g->gestureType(); + break; + default: + Q_ASSERT(false); + } + } + } else if (event->type() == CustomEvent::EventType) { + ++customEventsReceived; + } else { + return QWidget::event(event); + } + return true; + } +}; + +static void sendCustomGesture(QObject *object) +{ + CustomEvent ev; + ev.targetObject = object; + for (int i = CustomGesture::SerialMaybeThreshold; + i <= CustomGesture::SerialFinishedThreshold; ++i) { + ev.serial = i; + QApplication::sendEvent(object, &ev); + } +} + +class tst_Gestures : public QObject +{ +Q_OBJECT + +public: + tst_Gestures(); + virtual ~tst_Gestures(); + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void customGesture(); + void autoCancelingGestures(); + void gestureOverChild(); + void multipleWidgetOnlyGestureInTree(); + void conflictingGestures(); + void finishedWithoutStarted(); + void unknownGesture(); + void graphicsItemGesture(); +}; + +tst_Gestures::tst_Gestures() +{ +} + +tst_Gestures::~tst_Gestures() +{ +} + +void tst_Gestures::initTestCase() +{ + CustomGesture::GestureType = qApp->registerGestureRecognizer(new CustomGestureRecognizer); + QVERIFY(CustomGesture::GestureType != Qt::GestureType(0)); + QVERIFY(CustomGesture::GestureType != Qt::CustomGesture); +} + +void tst_Gestures::cleanupTestCase() +{ +} + +void tst_Gestures::init() +{ +} + +void tst_Gestures::cleanup() +{ +} + +void tst_Gestures::customGesture() +{ + GestureWidget widget; + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + sendCustomGesture(&widget); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1; + QCOMPARE(widget.customEventsReceived, TotalCustomEventsCount); + QCOMPARE(widget.gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); + QCOMPARE(widget.events.all.size(), TotalGestureEventsCount); + for(int i = 0; i < widget.events.all.size(); ++i) + QCOMPARE(widget.events.all.at(i), CustomGesture::GestureType); + QCOMPARE(widget.events.started.size(), 1); + QCOMPARE(widget.events.updated.size(), TotalGestureEventsCount - 2); + QCOMPARE(widget.events.finished.size(), 1); + QCOMPARE(widget.events.canceled.size(), 0); +} + +void tst_Gestures::autoCancelingGestures() +{ + GestureWidget widget; + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + // send partial gesture. The gesture will be in the "maybe" state, but will + // never get enough events to fire, so Qt will have to kill it. + CustomEvent ev; + for (int i = CustomGesture::SerialMaybeThreshold; + i < CustomGesture::SerialStartedThreshold; ++i) { + ev.serial = i; + QApplication::sendEvent(&widget, &ev); + } + // wait long enough so the gesture manager will cancel the gesture + QTest::qWait(5000); + QCOMPARE(widget.customEventsReceived, CustomGesture::SerialStartedThreshold - CustomGesture::SerialMaybeThreshold); + QCOMPARE(widget.gestureEventsReceived, 0); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); + QCOMPARE(widget.events.all.size(), 0); +} + +void tst_Gestures::gestureOverChild() +{ + GestureWidget widget("widget"); + QVBoxLayout *l = new QVBoxLayout(&widget); + GestureWidget *child = new GestureWidget("child"); + l->addWidget(child); + + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + + sendCustomGesture(child); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1; + + QCOMPARE(child->customEventsReceived, TotalCustomEventsCount); + QCOMPARE(widget.customEventsReceived, 0); + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(child->gestureOverrideEventsReceived, 0); + QCOMPARE(widget.gestureEventsReceived, 0); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); + + // enable gestures over the children + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture); + + widget.reset(); + child->reset(); + + sendCustomGesture(child); + + QCOMPARE(child->customEventsReceived, TotalCustomEventsCount); + QCOMPARE(widget.customEventsReceived, 0); + + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(child->gestureOverrideEventsReceived, 0); + QCOMPARE(widget.gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); + for(int i = 0; i < widget.events.all.size(); ++i) + QCOMPARE(widget.events.all.at(i), CustomGesture::GestureType); + QCOMPARE(widget.events.started.size(), 1); + QCOMPARE(widget.events.updated.size(), TotalGestureEventsCount - 2); + QCOMPARE(widget.events.finished.size(), 1); + QCOMPARE(widget.events.canceled.size(), 0); +} + +void tst_Gestures::multipleWidgetOnlyGestureInTree() +{ + GestureWidget parent("parent"); + QVBoxLayout *l = new QVBoxLayout(&parent); + GestureWidget *child = new GestureWidget("child"); + l->addWidget(child); + + parent.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + child->grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1; + + // sending events to the child and making sure there is no conflict + sendCustomGesture(child); + + QCOMPARE(child->customEventsReceived, TotalCustomEventsCount); + QCOMPARE(parent.customEventsReceived, 0); + QCOMPARE(child->gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(child->gestureOverrideEventsReceived, 0); + QCOMPARE(parent.gestureEventsReceived, 0); + QCOMPARE(parent.gestureOverrideEventsReceived, 0); + + parent.reset(); + child->reset(); + + // same for the parent widget + sendCustomGesture(&parent); + + QCOMPARE(child->customEventsReceived, 0); + QCOMPARE(parent.customEventsReceived, TotalCustomEventsCount); + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(child->gestureOverrideEventsReceived, 0); + QCOMPARE(parent.gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(parent.gestureOverrideEventsReceived, 0); +} + +void tst_Gestures::conflictingGestures() +{ + GestureWidget parent("parent"); + QVBoxLayout *l = new QVBoxLayout(&parent); + GestureWidget *child = new GestureWidget("child"); + l->addWidget(child); + + parent.grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture); + child->grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + + // child accepts the override, parent will not receive anything + parent.acceptGestureOverride = false; + child->acceptGestureOverride = true; + + // sending events to the child and making sure there is no conflict + sendCustomGesture(child); + + QCOMPARE(child->gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(parent.gestureOverrideEventsReceived, 0); + QCOMPARE(parent.gestureEventsReceived, 0); + + parent.reset(); + child->reset(); + + // parent accepts the override + parent.acceptGestureOverride = true; + child->acceptGestureOverride = false; + + // sending events to the child and making sure there is no conflict + sendCustomGesture(child); + + QCOMPARE(child->gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(child->gestureEventsReceived, 0); + QCOMPARE(parent.gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(parent.gestureEventsReceived, 0); + + parent.reset(); + child->reset(); + + // nobody accepts the override, we will send normal events to the closest context (to the child) + parent.acceptGestureOverride = false; + child->acceptGestureOverride = false; + + // sending events to the child and making sure there is no conflict + sendCustomGesture(child); + + QCOMPARE(child->gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(child->gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(parent.gestureOverrideEventsReceived, TotalGestureEventsCount); + QCOMPARE(parent.gestureEventsReceived, 0); +} + +void tst_Gestures::finishedWithoutStarted() +{ + GestureWidget widget; + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + // the gesture will claim it finished, but it was never started. + CustomEvent ev; + QTest::ignoreMessage(QtWarningMsg, "QGestureManager::filterEvent: some gestures were finished even though they've never started"); + for (int i = CustomGesture::SerialFinishedThreshold; + i < CustomGesture::SerialFinishedThreshold+1; ++i) { + ev.serial = i; + QApplication::sendEvent(&widget, &ev); + } + + QCOMPARE(widget.gestureEventsReceived, 0); + QCOMPARE(widget.gestureOverrideEventsReceived, 0); +} + +void tst_Gestures::unknownGesture() +{ + GestureWidget widget; + widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + widget.grabGesture(Qt::CustomGesture, Qt::WidgetGesture); + widget.grabGesture(Qt::GestureType(Qt::PanGesture+512), Qt::WidgetGesture); + + sendCustomGesture(&widget); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + + QCOMPARE(widget.gestureEventsReceived, TotalGestureEventsCount); +} + +class GestureItem : public QGraphicsObject +{ +public: + GestureItem() + { + size = QRectF(0, 0, 100, 100); + customEventsReceived = 0; + gestureEventsReceived = 0; + gestureOverrideEventsReceived = 0; + events.clear(); + overrideEvents.clear(); + acceptGestureOverride = false; + } + + int customEventsReceived; + int gestureEventsReceived; + int gestureOverrideEventsReceived; + struct Events + { + QList all; + QList started; + QList updated; + QList finished; + QList canceled; + + void clear() + { + all.clear(); + started.clear(); + updated.clear(); + finished.clear(); + canceled.clear(); + } + } events, overrideEvents; + + bool acceptGestureOverride; + + QRectF size; + +protected: + QRectF boundingRect() const + { + return size; + } + void paint(QPainter *p, const QStyleOptionGraphicsItem *, QWidget *) + { + p->fillRect(boundingRect(), Qt::blue); + } + + bool event(QEvent *event) + { + Events *eventsPtr = 0; + if (event->type() == QEvent::Gesture) { + ++gestureEventsReceived; + eventsPtr = &events; + } else if (event->type() == QEvent::GestureOverride) { + ++gestureOverrideEventsReceived; + eventsPtr = &overrideEvents; + if (acceptGestureOverride) + event->accept(); + } + if (eventsPtr) { + QGestureEvent *e = static_cast(event); + QList gestures = e->allGestures(); + foreach(QGesture *g, gestures) { + eventsPtr->all << g->gestureType(); + switch(g->state()) { + case Qt::GestureStarted: + eventsPtr->started << g->gestureType(); + break; + case Qt::GestureUpdated: + eventsPtr->updated << g->gestureType(); + break; + case Qt::GestureFinished: + eventsPtr->finished << g->gestureType(); + break; + case Qt::GestureCanceled: + eventsPtr->canceled << g->gestureType(); + break; + default: + Q_ASSERT(false); + } + } + } else if (event->type() == CustomEvent::EventType) { + ++customEventsReceived; + } else { + return QGraphicsObject::event(event); + } + return true; + } +}; + +void tst_Gestures::graphicsItemGesture() +{ + QGraphicsScene scene; + QGraphicsView view(&scene); + + GestureItem *item = new GestureItem; + scene.addItem(item); + item->setPos(100, 100); + + item->grabGesture(CustomGesture::GestureType); + + sendCustomGesture(item); + + static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1; + static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1; + + QCOMPARE(item->customEventsReceived, TotalCustomEventsCount); + QCOMPARE(item->gestureEventsReceived, TotalGestureEventsCount); + QCOMPARE(item->gestureOverrideEventsReceived, 0); + QCOMPARE(item->events.all.size(), TotalGestureEventsCount); + for(int i = 0; i < item->events.all.size(); ++i) + QCOMPARE(item->events.all.at(i), CustomGesture::GestureType); + QCOMPARE(item->events.started.size(), 1); + QCOMPARE(item->events.updated.size(), TotalGestureEventsCount - 2); + QCOMPARE(item->events.finished.size(), 1); + QCOMPARE(item->events.canceled.size(), 0); +} + +QTEST_MAIN(tst_Gestures) +#include "tst_gestures.moc" diff --git a/tests/manual/gestures/graphicsview/gestures.cpp b/tests/manual/gestures/graphicsview/gestures.cpp new file mode 100644 index 0000000..c888aa1 --- /dev/null +++ b/tests/manual/gestures/graphicsview/gestures.cpp @@ -0,0 +1,90 @@ +#include "gestures.h" + +#include + +Qt::GestureType ThreeFingerSlideGesture::Type = Qt::CustomGesture; + +QGesture *ThreeFingerSlideGestureRecognizer::createGesture(QObject *) +{ + return new ThreeFingerSlideGesture; +} + +QGestureRecognizer::Result ThreeFingerSlideGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) +{ + ThreeFingerSlideGesture *d = static_cast(state); + QGestureRecognizer::Result result; + switch (event->type()) { + case QEvent::TouchBegin: + result = QGestureRecognizer::MaybeGesture; + case QEvent::TouchEnd: + if (d->gestureFired) + result = QGestureRecognizer::GestureFinished; + else + result = QGestureRecognizer::NotGesture; + case QEvent::TouchUpdate: + if (d->state() != Qt::NoGesture) { + QTouchEvent *ev = static_cast(event); + if (ev->touchPoints().size() == 3) { + d->gestureFired = true; + result = QGestureRecognizer::GestureTriggered; + } else { + result = QGestureRecognizer::MaybeGesture; + for (int i = 0; i < ev->touchPoints().size(); ++i) { + const QTouchEvent::TouchPoint &pt = ev->touchPoints().at(i); + const int distance = (pt.pos().toPoint() - pt.startPos().toPoint()).manhattanLength(); + if (distance > 20) { + result = QGestureRecognizer::NotGesture; + } + } + } + } else { + result = QGestureRecognizer::NotGesture; + } + + break; + case QEvent::MouseButtonPress: + case QEvent::MouseButtonRelease: + case QEvent::MouseMove: + if (d->state() != Qt::NoGesture) + result = QGestureRecognizer::Ignore; + else + result = QGestureRecognizer::NotGesture; + break; + default: + result = QGestureRecognizer::Ignore; + break; + } + return result; +} + +void ThreeFingerSlideGestureRecognizer::reset(QGesture *state) +{ + static_cast(state)->gestureFired = false; + QGestureRecognizer::reset(state); +} + + +QGesture *RotateGestureRecognizer::createGesture(QObject *) +{ + return new QGesture; +} + +QGestureRecognizer::Result RotateGestureRecognizer::filterEvent(QGesture *, QObject *, QEvent *event) +{ + switch (event->type()) { + case QEvent::TouchBegin: + case QEvent::TouchEnd: + case QEvent::TouchUpdate: + break; + default: + break; + } + return QGestureRecognizer::Ignore; +} + +void RotateGestureRecognizer::reset(QGesture *state) +{ + QGestureRecognizer::reset(state); +} + +#include "moc_gestures.cpp" diff --git a/tests/manual/gestures/graphicsview/gestures.h b/tests/manual/gestures/graphicsview/gestures.h new file mode 100644 index 0000000..630a7ef --- /dev/null +++ b/tests/manual/gestures/graphicsview/gestures.h @@ -0,0 +1,37 @@ +#ifndef GESTURE_H +#define GESTURE_H + +#include +#include + +class ThreeFingerSlideGesture : public QGesture +{ + Q_OBJECT +public: + static Qt::GestureType Type; + + ThreeFingerSlideGesture(QObject *parent = 0) : QGesture(parent) { } + + bool gestureFired; +}; + +class ThreeFingerSlideGestureRecognizer : public QGestureRecognizer +{ +private: + QGesture* createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +class RotateGestureRecognizer : public QGestureRecognizer +{ +public: + RotateGestureRecognizer(); + +private: + QGesture* createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +#endif // GESTURE_H diff --git a/tests/manual/gestures/graphicsview/graphicsview.pro b/tests/manual/gestures/graphicsview/graphicsview.pro new file mode 100644 index 0000000..a40c323 --- /dev/null +++ b/tests/manual/gestures/graphicsview/graphicsview.pro @@ -0,0 +1,17 @@ +# ##################################################################### +# Automatically generated by qmake (2.01a) Mon Sep 7 13:26:43 2009 +# ##################################################################### +TEMPLATE = app +TARGET = +DEPENDPATH += . +INCLUDEPATH += . + +# Input +SOURCES += main.cpp \ + imageitem.cpp \ + gestures.cpp \ + mousepangesturerecognizer.cpp + +HEADERS += imageitem.h \ + gestures.h \ + mousepangesturerecognizer.h diff --git a/tests/manual/gestures/graphicsview/imageitem.cpp b/tests/manual/gestures/graphicsview/imageitem.cpp new file mode 100644 index 0000000..d6f406c --- /dev/null +++ b/tests/manual/gestures/graphicsview/imageitem.cpp @@ -0,0 +1,52 @@ +#include "imageitem.h" +#include "gestures.h" + +#include +#include + +ImageItem::ImageItem(const QImage &image) +{ + setImage(image); +} + +void ImageItem::setImage(const QImage &image) +{ + image_ = image; + pixmap_ = QPixmap::fromImage(image.scaled(400, 400, Qt::KeepAspectRatio)); + update(); +} + +QImage ImageItem::image() const +{ + return image_; +} + +QRectF ImageItem::boundingRect() const +{ + const QSize size = pixmap_.size(); + return QRectF(0, 0, size.width(), size.height()); +} + +void ImageItem::paint(QPainter *painter, const QStyleOptionGraphicsItem*, QWidget*) +{ + painter->drawPixmap(0, 0, pixmap_); +} + + +GestureImageItem::GestureImageItem(const QImage &image) + : ImageItem(image) +{ + grabGesture(Qt::PanGesture); + grabGesture(ThreeFingerSlideGesture::Type); +} + +bool GestureImageItem::event(QEvent *event) +{ + if (event->type() == QEvent::Gesture) { + qDebug("gestureimageitem: gesture triggered"); + return true; + } + return ImageItem::event(event); +} + +#include "moc_imageitem.cpp" diff --git a/tests/manual/gestures/graphicsview/imageitem.h b/tests/manual/gestures/graphicsview/imageitem.h new file mode 100644 index 0000000..ad0e397 --- /dev/null +++ b/tests/manual/gestures/graphicsview/imageitem.h @@ -0,0 +1,36 @@ +#ifndef IMAGEITEM_H +#define IMAGEITEM_H + +#include +#include +#include +#include + +class ImageItem : public QGraphicsObject +{ + Q_OBJECT +public: + ImageItem(const QImage &image); + void setImage(const QImage &image); + QImage image() const; + QRectF boundingRect() const; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + +private: + QImage image_; + QPixmap pixmap_; + QTransform transform; +}; + +class GestureImageItem : public ImageItem +{ + Q_OBJECT + +public: + GestureImageItem(const QImage &image); + +protected: + bool event(QEvent *event); +}; + +#endif // IMAGEITEM_H diff --git a/tests/manual/gestures/graphicsview/main.cpp b/tests/manual/gestures/graphicsview/main.cpp new file mode 100644 index 0000000..1db5614 --- /dev/null +++ b/tests/manual/gestures/graphicsview/main.cpp @@ -0,0 +1,187 @@ +#include + +#include "imageitem.h" +#include "gestures.h" +#include "mousepangesturerecognizer.h" + +class GraphicsView : public QGraphicsView +{ +public: + GraphicsView(QGraphicsScene *scene, QWidget *parent = 0) + : QGraphicsView(scene, parent) + { + } +protected: + bool viewportEvent(QEvent *event) + { + if (event->type() == QEvent::Gesture) { + QGestureEvent *ge = static_cast(event); + if (QPanGesture *pan = static_cast(ge->gesture(Qt::PanGesture))) { + switch (pan->state()) { + case Qt::GestureStarted: qDebug("view: Pan: started"); break; + case Qt::GestureFinished: qDebug("view: Pan: finished"); break; + case Qt::GestureCanceled: qDebug("view: Pan: canceled"); break; + case Qt::GestureUpdated: break; + default: qDebug("view: Pan: "); break; + } + + const QSizeF offset = pan->offset(); + QScrollBar *vbar = verticalScrollBar(); + QScrollBar *hbar = horizontalScrollBar(); + vbar->setValue(vbar->value() - offset.height()); + hbar->setValue(hbar->value() - offset.width()); + ge->accept(pan); + return true; + } + } + return QGraphicsView::viewportEvent(event); + } +}; + +class StandardGestures : public QWidget +{ +public: + StandardGestures(QWidget *parent = 0) + : QWidget(parent) + { + scene = new QGraphicsScene(this); + scene->setSceneRect(-2000, -2000, 4000, 4000); + view = new QGraphicsView(scene, 0); + QVBoxLayout *l = new QVBoxLayout(this); + l->addWidget(view); + } + + QGraphicsScene *scene; + QGraphicsView *view; +}; + +class GlobalViewGestures : public QWidget +{ + Q_OBJECT +public: + GlobalViewGestures(QWidget *parent = 0) + : QWidget(parent) + { + scene = new QGraphicsScene(this); + scene->setSceneRect(-2000, -2000, 4000, 4000); + view = new GraphicsView(scene, 0); + view->viewport()->grabGesture(Qt::PanGesture); + view->viewport()->grabGesture(ThreeFingerSlideGesture::Type); + QVBoxLayout *l = new QVBoxLayout(this); + l->addWidget(view); + } + + QGraphicsScene *scene; + QGraphicsView *view; +}; + +class GraphicsItemGestures : public QWidget +{ + Q_OBJECT +public: + GraphicsItemGestures(QWidget *parent = 0) + : QWidget(parent) + { + scene = new QGraphicsScene(this); + scene->setSceneRect(-2000, -2000, 4000, 4000); + view = new QGraphicsView(scene, 0); + QVBoxLayout *l = new QVBoxLayout(this); + l->addWidget(view); + } + + QGraphicsScene *scene; + QGraphicsView *view; +}; + +class MainWindow : public QMainWindow +{ +public: + MainWindow(); + + void setDirectory(const QString &path); + +private: + QTabWidget *tabWidget; + StandardGestures *standardGestures; + GlobalViewGestures *globalViewGestures; + GraphicsItemGestures *graphicsItemGestures; +}; + +MainWindow::MainWindow() +{ + (void)qApp->registerGestureRecognizer(new MousePanGestureRecognizer); + ThreeFingerSlideGesture::Type = qApp->registerGestureRecognizer(new ThreeFingerSlideGestureRecognizer); + + tabWidget = new QTabWidget; + + standardGestures = new StandardGestures; + tabWidget->addTab(standardGestures, "Standard gestures"); + + globalViewGestures = new GlobalViewGestures; + tabWidget->addTab(globalViewGestures , "Global gestures"); + + graphicsItemGestures = new GraphicsItemGestures; + tabWidget->addTab(graphicsItemGestures, "Graphics item gestures"); + + setCentralWidget(tabWidget); +} + +void MainWindow::setDirectory(const QString &path) +{ + QDir dir(path); + QStringList files = dir.entryList(QDir::Files | QDir::Readable | QDir::NoDotAndDotDot); + foreach(const QString &file, files) { + QImageReader img(path + QLatin1String("/")+file); + QImage image = img.read(); + if (!image.isNull()) { + { + ImageItem *item = new ImageItem(image); + item->setPos(0, 0); + item->setFlags(QGraphicsItem::ItemIsMovable); + standardGestures->scene->addItem(item); + } + { + ImageItem *item = new ImageItem(image); + item->setPos(0, 0); + item->setFlags(QGraphicsItem::ItemIsMovable); + globalViewGestures->scene->addItem(item); + } + { + GestureImageItem *item = new GestureImageItem(image); + item->setPos(0, 0); + item->setFlags(QGraphicsItem::ItemIsMovable); + graphicsItemGestures->scene->addItem(item); + } + } + } + + { + QList items = standardGestures->scene->items(); + if (!items.isEmpty()) + standardGestures->view->ensureVisible(items.at(0)); + } + { + QList items = globalViewGestures->scene->items(); + if (!items.isEmpty()) + globalViewGestures->view->ensureVisible(items.at(0)); + } + { + QList items = graphicsItemGestures->scene->items(); + if (!items.isEmpty()) + graphicsItemGestures->view->ensureVisible(items.at(0)); + } +} + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + MainWindow window; + if (QApplication::arguments().size() > 1) + window.setDirectory(QApplication::arguments().at(1)); + else + window.setDirectory(QFileDialog::getExistingDirectory(0, "Select image folder")); + window.show(); + return app.exec(); +} + +#include "main.moc" diff --git a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp new file mode 100644 index 0000000..f89f247 --- /dev/null +++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mousepangesturerecognizer.h" + +#include +#include +#include + +MousePanGestureRecognizer::MousePanGestureRecognizer() +{ +} + +QGesture* MousePanGestureRecognizer::createGesture(QObject *) +{ + return new QPanGesture; +} + +QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) +{ + QPanGesture *g = static_cast(state); + QMouseEvent *me = static_cast(event); + if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonDblClick + || event->type() == QEvent::GraphicsSceneMousePress || event->type() == QEvent::GraphicsSceneMouseDoubleClick) { + g->setHotSpot(me->globalPos()); + g->setProperty("lastPos", me->globalPos()); + g->setProperty("pressed", QVariant::fromValue(true)); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } else if (event->type() == QEvent::MouseMove || event->type() == QEvent::GraphicsSceneMouseMove) { + if (g->property("pressed").toBool()) { + QPoint pos = me->globalPos(); + QPoint lastPos = g->property("lastPos").toPoint(); + g->setLastOffset(g->offset()); + lastPos = pos - lastPos; + g->setOffset(QSizeF(lastPos.x(), lastPos.y())); + g->setTotalOffset(g->totalOffset() + QSizeF(lastPos.x(), lastPos.y())); + g->setProperty("lastPos", pos); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } + return QGestureRecognizer::NotGesture; + } else if (event->type() == QEvent::MouseButtonRelease || event->type() == QEvent::GraphicsSceneMouseRelease) { + return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint; + } + return QGestureRecognizer::Ignore; +} + +void MousePanGestureRecognizer::reset(QGesture *state) +{ + QPanGesture *g = static_cast(state); + g->setTotalOffset(QSizeF()); + g->setLastOffset(QSizeF()); + g->setOffset(QSizeF()); + g->setAcceleration(0); + g->setProperty("lastPos", QVariant()); + g->setProperty("pressed", QVariant::fromValue(false)); + QGestureRecognizer::reset(state); +} diff --git a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h new file mode 100644 index 0000000..e31799e --- /dev/null +++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MOUSEPANGESTURERECOGNIZER_H +#define MOUSEPANGESTURERECOGNIZER_H + +#include + +class MousePanGestureRecognizer : public QGestureRecognizer +{ +public: + MousePanGestureRecognizer(); + + QGesture* createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +#endif // MOUSEPANGESTURERECOGNIZER_H diff --git a/tests/manual/gestures/pinch/main.cpp b/tests/manual/gestures/pinch/main.cpp deleted file mode 100644 index 4d9c14c..0000000 --- a/tests/manual/gestures/pinch/main.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include "pinchwidget.h" - -class MainWindow : public QWidget -{ -public: - MainWindow(); -}; - -MainWindow::MainWindow() -{ - QVBoxLayout *l = new QVBoxLayout(this); - QPushButton *btn = new QPushButton(QLatin1String("AcceptTouchEvents")); - l->addWidget(btn); - QImage image(":/images/qt-logo.png"); - PinchWidget *w = new PinchWidget(image); - l->addWidget(w); - connect(btn, SIGNAL(clicked()), w, SLOT(acceptTouchEvents())); -} - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - MainWindow w; - w.show(); - return app.exec(); -} diff --git a/tests/manual/gestures/pinch/pinch.pro b/tests/manual/gestures/pinch/pinch.pro deleted file mode 100644 index d1f28cc..0000000 --- a/tests/manual/gestures/pinch/pinch.pro +++ /dev/null @@ -1,4 +0,0 @@ -SOURCES = main.cpp \ - pinchwidget.cpp -HEADERS += pinchwidget.h -RESOURCES += pinch.qrc diff --git a/tests/manual/gestures/pinch/pinch.qrc b/tests/manual/gestures/pinch/pinch.qrc deleted file mode 100644 index 0be9ba1..0000000 --- a/tests/manual/gestures/pinch/pinch.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - qt-logo.png - - diff --git a/tests/manual/gestures/pinch/pinchwidget.cpp b/tests/manual/gestures/pinch/pinchwidget.cpp deleted file mode 100644 index e93c8b5..0000000 --- a/tests/manual/gestures/pinch/pinchwidget.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "pinchwidget.h" - -#include -#include -#include -#include -#include -#include - -PinchWidget::PinchWidget(const QImage &image, QWidget *parent) - : QWidget(parent) -{ - setMinimumSize(100,100); - this->image = image; - pan = new QPanGesture(this); - connect(pan, SIGNAL(triggered()), this, SLOT(onPanTriggered())); - connect(pan, SIGNAL(finished()), this, SLOT(onPanFinished())); - pinch = new QPinchGesture(this); - connect(pinch, SIGNAL(triggered()), this, SLOT(onPinchTriggered())); - connect(pinch, SIGNAL(finished()), this, SLOT(onPinchFinished())); -} - -QSize PinchWidget::sizeHint() const -{ - return image.size()*1.5; -} - -void PinchWidget::paintEvent(QPaintEvent *) -{ - QPainter p(this); - QTransform t = worldTransform * currentPanTransform * currentPinchTransform; - p.setTransform(t); - QPoint center = QPoint(width()/2, height()/2); - QPoint size = QPoint(image.width()/2, image.height()/2); - p.translate(center - size); - p.drawImage(QPoint(0,0), image); -} - -void PinchWidget::acceptTouchEvents() -{ - setAttribute(Qt::WA_AcceptTouchEvents); - if (QWidget *w = qobject_cast(sender())) - w->setEnabled(false); -} - -void PinchWidget::onPanTriggered() -{ - currentPanTransform = QTransform() - .translate(pan->totalOffset().width(), - pan->totalOffset().height()); - update(); -} - -void PinchWidget::onPanFinished() -{ - worldTransform *= currentPanTransform; - currentPanTransform.reset(); - update(); -} - -void PinchWidget::onPinchTriggered() -{ - QPoint transformCenter = worldTransform.map(QPoint(width()/2, height()/2)); - currentPinchTransform = QTransform() - .translate(transformCenter.x(), transformCenter.y()) - .scale(pinch->totalScaleFactor(), pinch->totalScaleFactor()) - .rotate(pinch->totalRotationAngle()) - .translate(-transformCenter.x(), -transformCenter.y()); - update(); -} - -void PinchWidget::onPinchFinished() -{ - worldTransform *= currentPinchTransform; - currentPinchTransform.reset(); - update(); -} diff --git a/tests/manual/gestures/pinch/pinchwidget.h b/tests/manual/gestures/pinch/pinchwidget.h deleted file mode 100644 index 7628ffc..0000000 --- a/tests/manual/gestures/pinch/pinchwidget.h +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef PINCHWIDGET_H -#define PINCHWIDGET_H - -#include -#include - -class QPanGesture; -class QPinchGesture; - -class PinchWidget : public QWidget -{ - Q_OBJECT -public: - PinchWidget(const QImage &image, QWidget *parent = 0); - -private Q_SLOTS: - void acceptTouchEvents(); - void onPanTriggered(); - void onPanFinished(); - void onPinchTriggered(); - void onPinchFinished(); - -private: - void paintEvent(QPaintEvent *); - QSize sizeHint() const; - - QImage image; - - QPanGesture *pan; - QPinchGesture *pinch; - - QTransform worldTransform; - QTransform currentPanTransform; - QTransform currentPinchTransform; -}; - -#endif // PINCHWIDGET_H diff --git a/tests/manual/gestures/pinch/qt-logo.png b/tests/manual/gestures/pinch/qt-logo.png deleted file mode 100644 index 7d3e97e..0000000 Binary files a/tests/manual/gestures/pinch/qt-logo.png and /dev/null differ diff --git a/tests/manual/gestures/scrollarea/main.cpp b/tests/manual/gestures/scrollarea/main.cpp new file mode 100644 index 0000000..e2fa4d3 --- /dev/null +++ b/tests/manual/gestures/scrollarea/main.cpp @@ -0,0 +1,188 @@ +#include + +#include "mousepangesturerecognizer.h" + +class ScrollArea : public QScrollArea +{ + Q_OBJECT +public: + ScrollArea(QWidget *parent = 0) + : QScrollArea(parent), outside(false) + { + viewport()->grabGesture(Qt::PanGesture); + } + +protected: + bool viewportEvent(QEvent *event) + { + if (event->type() == QEvent::Gesture) { + gestureEvent(static_cast(event)); + return true; + } else if (event->type() == QEvent::GestureOverride) { + QGestureEvent *ge = static_cast(event); + if (QPanGesture *pan = static_cast(ge->gesture(Qt::PanGesture))) + if (pan->state() == Qt::GestureStarted) { + outside = false; + } + } + return QScrollArea::viewportEvent(event); + } + void gestureEvent(QGestureEvent *event) + { + QPanGesture *pan = static_cast(event->gesture(Qt::PanGesture)); + if (pan) { + switch(pan->state()) { + case Qt::GestureStarted: qDebug("area: Pan: started"); break; + case Qt::GestureFinished: qDebug("area: Pan: finished"); break; + case Qt::GestureCanceled: qDebug("area: Pan: canceled"); break; + case Qt::GestureUpdated: break; + default: qDebug("area: Pan: "); break; + } + + if (pan->state() == Qt::GestureStarted) + outside = false; + event->ignore(); + event->ignore(pan); + if (outside) + return; + + const QSizeF offset = pan->offset(); + const QSizeF totalOffset = pan->totalOffset(); + QScrollBar *vbar = verticalScrollBar(); + QScrollBar *hbar = horizontalScrollBar(); + + if ((vbar->value() == vbar->minimum() && totalOffset.height() > 10) || + (vbar->value() == vbar->maximum() && totalOffset.height() < -10)) { + outside = true; + return; + } + if ((hbar->value() == hbar->minimum() && totalOffset.width() > 10) || + (hbar->value() == hbar->maximum() && totalOffset.width() < -10)) { + outside = true; + return; + } + vbar->setValue(vbar->value() - offset.height()); + hbar->setValue(hbar->value() - offset.width()); + event->accept(pan); + } + } + +private: + bool outside; +}; + +class Slider : public QSlider +{ +public: + Slider(Qt::Orientation orientation, QWidget *parent = 0) + : QSlider(orientation, parent) + { + grabGesture(Qt::PanGesture); + } +protected: + bool event(QEvent *event) + { + if (event->type() == QEvent::Gesture) { + gestureEvent(static_cast(event)); + return true; + } + return QSlider::event(event); + } + void gestureEvent(QGestureEvent *event) + { + QPanGesture *pan = static_cast(event->gesture(Qt::PanGesture)); + if (pan) { + switch (pan->state()) { + case Qt::GestureStarted: qDebug("slider: Pan: started"); break; + case Qt::GestureFinished: qDebug("slider: Pan: finished"); break; + case Qt::GestureCanceled: qDebug("slider: Pan: canceled"); break; + case Qt::GestureUpdated: break; + default: qDebug("slider: Pan: "); break; + } + + if (pan->state() == Qt::GestureStarted) + outside = false; + event->ignore(); + event->ignore(pan); + if (outside) + return; + const QSizeF offset = pan->offset(); + const QSizeF totalOffset = pan->totalOffset(); + if (orientation() == Qt::Horizontal) { + if ((value() == minimum() && totalOffset.width() < -10) || + (value() == maximum() && totalOffset.width() > 10)) { + outside = true; + return; + } + if (totalOffset.height() < 40 && totalOffset.height() > -40) { + setValue(value() + offset.width()); + event->accept(pan); + } else { + outside = true; + } + } else if (orientation() == Qt::Vertical) { + if ((value() == maximum() && totalOffset.height() < -10) || + (value() == minimum() && totalOffset.height() > 10)) { + outside = true; + return; + } + if (totalOffset.width() < 40 && totalOffset.width() > -40) { + setValue(value() - offset.height()); + event->accept(pan); + } else { + outside = true; + } + } + } + } +private: + bool outside; +}; + +class MainWindow : public QMainWindow +{ +public: + MainWindow() + { + rootScrollArea = new ScrollArea; + setCentralWidget(rootScrollArea); + + QWidget *root = new QWidget; + root->setFixedSize(3000, 3000); + rootScrollArea->setWidget(root); + + Slider *verticalSlider = new Slider(Qt::Vertical, root); + verticalSlider ->move(650, 1100); + Slider *horizontalSlider = new Slider(Qt::Horizontal, root); + horizontalSlider ->move(600, 1000); + + childScrollArea = new ScrollArea(root); + childScrollArea->move(500, 500); + QWidget *w = new QWidget; + w->setMinimumWidth(400); + QVBoxLayout *l = new QVBoxLayout(w); + l->setMargin(20); + for (int i = 0; i < 100; ++i) { + QWidget *w = new QWidget; + QHBoxLayout *ll = new QHBoxLayout(w); + ll->addWidget(new QLabel(QString("Label %1").arg(i))); + ll->addWidget(new QPushButton(QString("Button %1").arg(i))); + l->addWidget(w); + } + childScrollArea->setWidget(w); + } +private: + ScrollArea *rootScrollArea; + ScrollArea *childScrollArea; +}; + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + app.registerGestureRecognizer(new MousePanGestureRecognizer); + MainWindow w; + w.show(); + return app.exec(); +} + +#include "main.moc" diff --git a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp new file mode 100644 index 0000000..6e2171c --- /dev/null +++ b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "mousepangesturerecognizer.h" + +#include +#include +#include + +MousePanGestureRecognizer::MousePanGestureRecognizer() +{ +} + +QGesture* MousePanGestureRecognizer::createGesture(QObject *) const +{ + return new QPanGesture; +} + +QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event) +{ + QPanGesture *g = static_cast(state); + QMouseEvent *me = static_cast(event); + if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonDblClick) { + g->setHotSpot(me->globalPos()); + g->setProperty("lastPos", me->globalPos()); + g->setProperty("pressed", QVariant::fromValue(true)); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } else if (event->type() == QEvent::MouseMove) { + if (g->property("pressed").toBool()) { + QPoint pos = me->globalPos(); + QPoint lastPos = g->property("lastPos").toPoint(); + g->setLastOffset(g->offset()); + lastPos = pos - lastPos; + g->setOffset(QSizeF(lastPos.x(), lastPos.y())); + g->setTotalOffset(g->totalOffset() + QSizeF(lastPos.x(), lastPos.y())); + g->setProperty("lastPos", pos); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } + return QGestureRecognizer::NotGesture; + } else if (event->type() == QEvent::MouseButtonRelease) { + return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint; + } + return QGestureRecognizer::Ignore; +} + +void MousePanGestureRecognizer::reset(QGesture *state) +{ + QPanGesture *g = static_cast(state); + g->setTotalOffset(QSizeF()); + g->setLastOffset(QSizeF()); + g->setOffset(QSizeF()); + g->setAcceleration(0); + g->setProperty("lastPos", QVariant()); + g->setProperty("pressed", QVariant::fromValue(false)); + QGestureRecognizer::reset(state); +} diff --git a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h new file mode 100644 index 0000000..f6df289 --- /dev/null +++ b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MOUSEPANGESTURERECOGNIZER_H +#define MOUSEPANGESTURERECOGNIZER_H + +#include + +class MousePanGestureRecognizer : public QGestureRecognizer +{ +public: + MousePanGestureRecognizer(); + + QGesture* createGesture(QObject *target) const; + QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event); + void reset(QGesture *state); +}; + +#endif // MOUSEPANGESTURERECOGNIZER_H diff --git a/tests/manual/gestures/scrollarea/scrollarea.pro b/tests/manual/gestures/scrollarea/scrollarea.pro new file mode 100644 index 0000000..554810e --- /dev/null +++ b/tests/manual/gestures/scrollarea/scrollarea.pro @@ -0,0 +1,3 @@ +SOURCES = main.cpp \ + mousepangesturerecognizer.cpp +HEADERS += mousepangesturerecognizer.h diff --git a/tests/manual/gestures/twopanwidgets/main.cpp b/tests/manual/gestures/twopanwidgets/main.cpp deleted file mode 100644 index 20a35fc..0000000 --- a/tests/manual/gestures/twopanwidgets/main.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -static const char text[] = - "Hello world! This is just a lot of text with to make sure scrollbar appear"; - -class TextEdit : public QTextEdit -{ - Q_OBJECT -public Q_SLOTS: - void acceptTouch() - { - viewport()->setAttribute(Qt::WA_AcceptTouchEvents); - if (QWidget *w = qobject_cast(sender())) - w->setEnabled(false); - } -}; - -class PlainTextEdit : public QPlainTextEdit -{ - Q_OBJECT -public Q_SLOTS: - void acceptTouch() - { - viewport()->setAttribute(Qt::WA_AcceptTouchEvents); - if (QWidget *w = qobject_cast(sender())) - w->setEnabled(false); - } -}; - -class MainWindow : public QMainWindow -{ -public: - MainWindow(); -}; - -MainWindow::MainWindow() -{ - QTabWidget *tw = new QTabWidget; - setCentralWidget(tw); - { - QWidget *tab = new QWidget; - QGridLayout *layout = new QGridLayout(tab); - QTextEdit *edit1 = new TextEdit; - QTextEdit *edit2 = new TextEdit; - QString text1 = QString(text).replace(' ', '\n'); - for (int i = 0; i < 5; ++i) text1 += text1; - QString text2 = QString(text); - for (int i = 0; i < 5; ++i) text2 += text2; - edit1->setPlainText(text1); - edit2->setPlainText(text2); - edit2->setWordWrapMode(QTextOption::NoWrap); - QPushButton *btn1 = new QPushButton(QLatin1String("AcceptTouchEvents")); - connect(btn1, SIGNAL(clicked()), edit1, SLOT(acceptTouch())); - QPushButton *btn2 = new QPushButton(QLatin1String("AcceptTouchEvents")); - connect(btn2, SIGNAL(clicked()), edit2, SLOT(acceptTouch())); - layout->addWidget(btn1, 0, 0); - layout->addWidget(btn2, 0, 1); - layout->addWidget(edit1, 1, 0); - layout->addWidget(edit2, 1, 1); - tw->addTab(tab, QLatin1String("QTextEdit")); - } - { - QWidget *tab = new QWidget; - QGridLayout *layout = new QGridLayout(tab); - QPlainTextEdit *edit1 = new PlainTextEdit; - QPlainTextEdit *edit2 = new PlainTextEdit; - QString text1 = QString(text).replace(' ', '\n'); - for (int i = 0; i < 5; ++i) text1 += text1; - QString text2 = QString(text); - for (int i = 0; i < 5; ++i) text2 += text2; - edit1->setPlainText(text1); - edit2->setPlainText(text2); - edit2->setWordWrapMode(QTextOption::NoWrap); - QPushButton *btn1 = new QPushButton(QLatin1String("AcceptTouchEvents")); - connect(btn1, SIGNAL(clicked()), edit1, SLOT(acceptTouch())); - QPushButton *btn2 = new QPushButton(QLatin1String("AcceptTouchEvents")); - connect(btn2, SIGNAL(clicked()), edit2, SLOT(acceptTouch())); - layout->addWidget(btn1, 0, 0); - layout->addWidget(btn2, 0, 1); - layout->addWidget(edit1, 1, 0); - layout->addWidget(edit2, 1, 1); - tw->addTab(tab, QLatin1String("QPlainTextEdit")); - } -} - -int main(int argc, char **argv) -{ - QApplication app(argc, argv); - MainWindow window; - window.show(); - return app.exec(); -} - -#include "main.moc" diff --git a/tests/manual/gestures/twopanwidgets/twopanwidgets.pro b/tests/manual/gestures/twopanwidgets/twopanwidgets.pro deleted file mode 100644 index 5254077..0000000 --- a/tests/manual/gestures/twopanwidgets/twopanwidgets.pro +++ /dev/null @@ -1 +0,0 @@ -SOURCES = main.cpp \ No newline at end of file -- cgit v0.12 From 1fb2cc6241d715a641dd6bee48eb9bcafaf558b1 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 9 Oct 2009 18:39:40 +0200 Subject: Workaround for softkeys not working in modal dialogs on S60 5.0 Set the softkey container window to be selectable even when pointer is grabbed (via window server setting) Task-number: QT-2203 Reviewed-by: Espen Riskedal (cherry picked from commit 6ce22194f16ce8e2586e3787560de051064d7787) --- src/gui/kernel/qsoftkeymanager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index 265f971..88cc7ae 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -201,6 +201,7 @@ bool QSoftKeyManager::event(QEvent *e) void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList &softkeys) { CEikButtonGroupContainer* nativeContainer = S60->buttonGroupContainer(); + nativeContainer->DrawableWindow()->SetPointerCapturePriority(1); //keep softkeys available in modal dialog QT_TRAP_THROWING(nativeContainer->SetCommandSetL(R_AVKON_SOFTKEYS_EMPTY_WITH_IDS)); int position = -1; -- cgit v0.12 From 5f4d30b2f0ee2c9e4cd9cb27d26298179d8ee3c9 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 9 Oct 2009 21:05:27 +0200 Subject: Fix compilation with xlC 7: you can't forward-declare enums. "../../include/QtGui/private/../../../src/gui/painting/qpaintengineex_p.h", line 77.10: 1540-0029 (S) The named enumeration is not defined. --- src/gui/painting/qpaintengineex_p.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/gui/painting/qpaintengineex_p.h b/src/gui/painting/qpaintengineex_p.h index 81ed06b..3ec9bd6 100644 --- a/src/gui/painting/qpaintengineex_p.h +++ b/src/gui/painting/qpaintengineex_p.h @@ -54,6 +54,7 @@ // #include +#include #include #include @@ -71,12 +72,6 @@ class QPainterState; class QPaintEngineExPrivate; struct StrokeHandler; -namespace QDrawPixmaps -{ - struct Data; - enum DrawingHint; -} - struct QIntRect { int x1, y1, x2, y2; inline void set(const QRect &r) { -- cgit v0.12 From 98445f62690278cd7343dbbf44d3cf2728a23a93 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 9 Oct 2009 21:06:24 +0200 Subject: Fix compilation with aCC 6: cannot redefine a variable in the same scope "../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp", line 2927: error #2101: "h" has already been declared in the current scope for (TCMalloc_ThreadCache* h = thread_heaps; h != NULL; h = h->next_) { ^ --- src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp index f2148d0..4305c23 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp @@ -2902,7 +2902,7 @@ TCMalloc_ThreadCache* TCMalloc_ThreadCache::CreateCacheIfNecessary() { // Initialize per-thread data if necessary TCMalloc_ThreadCache* heap = NULL; { - SpinLockHolder h(&pageheap_lock); + SpinLockHolder lockholder(&pageheap_lock); #if COMPILER(MSVC) DWORD me; -- cgit v0.12 From a9d73fb85226cc56c8089dfccef52eb22fe15585 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 9 Oct 2009 21:24:32 +0200 Subject: Fix compilation with aCC 6: this compiler has broken for scoping "../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp", line 860: error #2101: "size" has already been declared in the current scope "../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp", line 1560: error #2101: "span" has already been declared in the current scope "../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp", line 1807: error #2101: "s" has already been declared in the current scope --- src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp index 4305c23..f3ded7e 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp @@ -103,6 +103,11 @@ #define USE_BACKGROUND_THREAD_TO_SCAVENGE_MEMORY 1 #endif +#if defined(__HP_aCC) +// HP'a aCC compiler has broken for scoping +# define for if(0){}else for +#endif + #ifndef NDEBUG namespace WTF { -- cgit v0.12 From 995de3e31aef578b87cdb7a1762d6bc465d21651 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 9 Oct 2009 20:49:21 +0200 Subject: Fixed compilation warning by removing unused variables. Reviewed-by: trustme --- src/gui/itemviews/qheaderview.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp index a754579..0045bd5 100644 --- a/src/gui/itemviews/qheaderview.cpp +++ b/src/gui/itemviews/qheaderview.cpp @@ -524,8 +524,6 @@ QSize QHeaderView::sizeHint() const Q_D(const QHeaderView); if (d->cachedSizeHint.isValid()) return d->cachedSizeHint; - int width = 0; - int height = 0; const int sectionCount = count(); d->executePostedLayout(); -- cgit v0.12 From e361321e156bf1123e0d670c052307dc00f6d3f4 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 9 Oct 2009 20:49:56 +0200 Subject: Fixed getting an icon for a file on the filesystem with gnome. According to the documentation gnome_icon_lookup_sync() can return an absolute file path for the icon, so we check if the returned string starts like a path, then we load the icon from the file. This also fixes compilation warnings. Reviewed-by: Olivier Goffart --- src/gui/styles/gtksymbols.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gui/styles/gtksymbols.cpp b/src/gui/styles/gtksymbols.cpp index d62f717..6ec5796 100644 --- a/src/gui/styles/gtksymbols.cpp +++ b/src/gui/styles/gtksymbols.cpp @@ -984,15 +984,18 @@ QIcon QGtk::getFilesystemIcon(const QFileInfo &info) if (QGtk::gnome_vfs_init && QGtk::gnome_icon_lookup_sync) { QGtk::gnome_vfs_init(); GtkIconTheme *theme = QGtk::gtk_icon_theme_get_default(); - QString fileurl = QUrl::fromLocalFile(info.absoluteFilePath()).toEncoded(); + QByteArray fileurl = QUrl::fromLocalFile(info.absoluteFilePath()).toEncoded(); char * icon_name = QGtk::gnome_icon_lookup_sync(theme, NULL, - qPrintable(fileurl), + fileurl.data(), NULL, GNOME_ICON_LOOKUP_FLAGS_NONE, NULL); - return QIcon::fromTheme(icon_name); + QString iconName = QString::fromUtf8(icon_name); g_free(icon_name); + if (iconName.startsWith(QLatin1Char('/'))) + return QIcon(iconName); + return QIcon::fromTheme(iconName); } return icon; } -- cgit v0.12 From 997ca7464c26e4ca20fa6c593e84db86afe660f1 Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Sat, 10 Oct 2009 15:14:56 +0200 Subject: Add license headers - make header-testcase pass. --- tests/manual/gestures/graphicsview/gestures.cpp | 41 ++++++++++++++++++++++ tests/manual/gestures/graphicsview/gestures.h | 41 ++++++++++++++++++++++ tests/manual/gestures/graphicsview/imageitem.cpp | 41 ++++++++++++++++++++++ tests/manual/gestures/graphicsview/imageitem.h | 41 ++++++++++++++++++++++ tests/manual/gestures/graphicsview/main.cpp | 41 ++++++++++++++++++++++ .../graphicsview/mousepangesturerecognizer.cpp | 2 +- .../graphicsview/mousepangesturerecognizer.h | 2 +- tests/manual/gestures/scrollarea/main.cpp | 41 ++++++++++++++++++++++ .../scrollarea/mousepangesturerecognizer.cpp | 2 +- .../scrollarea/mousepangesturerecognizer.h | 2 +- 10 files changed, 250 insertions(+), 4 deletions(-) diff --git a/tests/manual/gestures/graphicsview/gestures.cpp b/tests/manual/gestures/graphicsview/gestures.cpp index c888aa1..5416457 100644 --- a/tests/manual/gestures/graphicsview/gestures.cpp +++ b/tests/manual/gestures/graphicsview/gestures.cpp @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + #include "gestures.h" #include diff --git a/tests/manual/gestures/graphicsview/gestures.h b/tests/manual/gestures/graphicsview/gestures.h index 630a7ef..6140b12 100644 --- a/tests/manual/gestures/graphicsview/gestures.h +++ b/tests/manual/gestures/graphicsview/gestures.h @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + #ifndef GESTURE_H #define GESTURE_H diff --git a/tests/manual/gestures/graphicsview/imageitem.cpp b/tests/manual/gestures/graphicsview/imageitem.cpp index d6f406c..307d7e4 100644 --- a/tests/manual/gestures/graphicsview/imageitem.cpp +++ b/tests/manual/gestures/graphicsview/imageitem.cpp @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + #include "imageitem.h" #include "gestures.h" diff --git a/tests/manual/gestures/graphicsview/imageitem.h b/tests/manual/gestures/graphicsview/imageitem.h index ad0e397..776c8d1 100644 --- a/tests/manual/gestures/graphicsview/imageitem.h +++ b/tests/manual/gestures/graphicsview/imageitem.h @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + #ifndef IMAGEITEM_H #define IMAGEITEM_H diff --git a/tests/manual/gestures/graphicsview/main.cpp b/tests/manual/gestures/graphicsview/main.cpp index 1db5614..263a963 100644 --- a/tests/manual/gestures/graphicsview/main.cpp +++ b/tests/manual/gestures/graphicsview/main.cpp @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + #include #include "imageitem.h" diff --git a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp index f89f247..0e7f538 100644 --- a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp +++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the examples of the Qt Toolkit. +** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h index e31799e..b062fd0 100644 --- a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h +++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the examples of the Qt Toolkit. +** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/tests/manual/gestures/scrollarea/main.cpp b/tests/manual/gestures/scrollarea/main.cpp index e2fa4d3..2796637 100644 --- a/tests/manual/gestures/scrollarea/main.cpp +++ b/tests/manual/gestures/scrollarea/main.cpp @@ -1,3 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + #include #include "mousepangesturerecognizer.h" diff --git a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp index 6e2171c..79b633e 100644 --- a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp +++ b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the examples of the Qt Toolkit. +** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage diff --git a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h index f6df289..c92d477 100644 --- a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h +++ b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h @@ -4,7 +4,7 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the examples of the Qt Toolkit. +** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage -- cgit v0.12 From 3e584d5dfaa778ccaeaeb572aecbc979f5a7ef3e Mon Sep 17 00:00:00 2001 From: Joe Ligman Date: Fri, 9 Oct 2009 17:31:50 +0000 Subject: 2009-10-09 Joe Ligman Reviewed by Simon Hausmann. Sets Qt::WA_InputMethodEnabled and Qt::ImhHiddenText for password fields in EditorClientQt setInputMethodState. This change is needed so widgets such as the s60 software input panel can receive input method events for password fields. It's up to the Qt platform to determine which widget will receive input method events when these flags are set. Also added implementation for setInputMethodEnabled and setInputMethodHint to QGraphicsWebViewPrivate and QWebViewPrivate. This change removes the direct dependency on QWebView and uses QWebPageClient. Added autotest to tst_qwebpage.cpp https://bugs.webkit.org/show_bug.cgi?id=30023 * Api/qgraphicswebview.cpp: (QGraphicsWebViewPrivate::setInputMethodEnabled): (QGraphicsWebViewPrivate::setInputMethodHint): * Api/qwebview.cpp: (QWebViewPrivate::setInputMethodEnabled): (QWebViewPrivate::setInputMethodHint): * WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::setInputMethodState): * tests/qwebpage/tst_qwebpage.cpp: (tst_QWebPage::inputMethods): 2009-10-09 Joe Ligman Reviewed by Simon Hausmann. [Qt] Added pure virtual methods setInputMethodEnabled and setInputMethodHint to QWebPageClient https://bugs.webkit.org/show_bug.cgi?id=30023 * platform/qt/QWebPageClient.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49397 268f45cc-cd09-0410-ab3c-d52691b4dbfc Signed-off-by: Simon Hausmann --- src/3rdparty/webkit/WebCore/ChangeLog | 10 +++++++++ .../webkit/WebCore/platform/qt/QWebPageClient.h | 4 ++++ .../webkit/WebKit/qt/Api/qgraphicswebview.cpp | 19 ++++++++++++++++ src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp | 18 +++++++++++++++ src/3rdparty/webkit/WebKit/qt/ChangeLog | 26 ++++++++++++++++++++++ .../WebKit/qt/WebCoreSupport/EditorClientQt.cpp | 26 ++++++++++++++++++---- .../WebKit/qt/tests/qwebpage/tst_qwebpage.cpp | 18 ++++++++++++++- 7 files changed, 116 insertions(+), 5 deletions(-) diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 4f7dd4f..493a64d 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,13 @@ +2009-10-09 Joe Ligman + + Reviewed by Simon Hausmann. + + [Qt] Added pure virtual methods setInputMethodEnabled and setInputMethodHint to QWebPageClient + + https://bugs.webkit.org/show_bug.cgi?id=30023 + + * platform/qt/QWebPageClient.h: + 2009-10-07 Janne Koskinen Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h index 1fc29a0..37941eb 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h +++ b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h @@ -33,6 +33,10 @@ public: virtual void scroll(int dx, int dy, const QRect&) = 0; virtual void update(const QRect&) = 0; + virtual void setInputMethodEnabled(bool enable) = 0; +#if QT_VERSION >= 0x040600 + virtual void setInputMethodHint(Qt::InputMethodHint hint, bool enable) = 0; +#endif inline void resetCursor() { if (!cursor().bitmap() && cursor().shape() == m_lastCursor.shape()) diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp index 2a0ee20..b11890d 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp @@ -44,6 +44,10 @@ public: virtual void scroll(int dx, int dy, const QRect&); virtual void update(const QRect& dirtyRect); + virtual void setInputMethodEnabled(bool enable); +#if QT_VERSION >= 0x040600 + virtual void setInputMethodHint(Qt::InputMethodHint hint, bool enable); +#endif virtual QCursor cursor() const; virtual void updateCursor(const QCursor& cursor); @@ -95,6 +99,21 @@ void QGraphicsWebViewPrivate::update(const QRect & dirtyRect) q->update(QRectF(dirtyRect)); } +void QGraphicsWebViewPrivate::setInputMethodEnabled(bool enable) +{ + q->setAttribute(Qt::WA_InputMethodEnabled, enable); +} + +#if QT_VERSION >= 0x040600 +void QGraphicsWebViewPrivate::setInputMethodHint(Qt::InputMethodHint hint, bool enable) +{ + if (enable) + q->setInputMethodHints(q->inputMethodHints() | hint); + else + q->setInputMethodHints(q->inputMethodHints() & ~hint); +} +#endif + QCursor QGraphicsWebViewPrivate::cursor() const { return q->cursor(); diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp index 882f3d7..b06b93a 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp @@ -47,6 +47,10 @@ public: virtual void scroll(int dx, int dy, const QRect&); virtual void update(const QRect& dirtyRect); + virtual void setInputMethodEnabled(bool enable); +#if QT_VERSION >= 0x040600 + virtual void setInputMethodHint(Qt::InputMethodHint hint, bool enable); +#endif virtual QCursor cursor() const; virtual void updateCursor(const QCursor& cursor); @@ -72,6 +76,20 @@ void QWebViewPrivate::update(const QRect & dirtyRect) view->update(dirtyRect); } +void QWebViewPrivate::setInputMethodEnabled(bool enable) +{ + view->setAttribute(Qt::WA_InputMethodEnabled, enable); +} +#if QT_VERSION >= 0x040600 +void QWebViewPrivate::setInputMethodHint(Qt::InputMethodHint hint, bool enable) +{ + if (enable) + view->setInputMethodHints(view->inputMethodHints() | hint); + else + view->setInputMethodHints(view->inputMethodHints() & ~hint); +} +#endif + QCursor QWebViewPrivate::cursor() const { return view->cursor(); diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index 99ddaa5..85d0e4f 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,29 @@ +2009-10-09 Joe Ligman + + Reviewed by Simon Hausmann. + + Sets Qt::WA_InputMethodEnabled and Qt::ImhHiddenText for password fields in EditorClientQt + setInputMethodState. This change is needed so widgets such as the s60 software + input panel can receive input method events for password fields. + It's up to the Qt platform to determine which widget will receive input method + events when these flags are set. + Also added implementation for setInputMethodEnabled and setInputMethodHint + to QGraphicsWebViewPrivate and QWebViewPrivate. This change removes the direct + dependency on QWebView and uses QWebPageClient. + Added autotest to tst_qwebpage.cpp + https://bugs.webkit.org/show_bug.cgi?id=30023 + + * Api/qgraphicswebview.cpp: + (QGraphicsWebViewPrivate::setInputMethodEnabled): + (QGraphicsWebViewPrivate::setInputMethodHint): + * Api/qwebview.cpp: + (QWebViewPrivate::setInputMethodEnabled): + (QWebViewPrivate::setInputMethodHint): + * WebCoreSupport/EditorClientQt.cpp: + (WebCore::EditorClientQt::setInputMethodState): + * tests/qwebpage/tst_qwebpage.cpp: + (tst_QWebPage::inputMethods): + 2009-10-06 Janne Koskinen Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp index 5d5df97..34241f0 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp @@ -41,6 +41,7 @@ #include "FocusController.h" #include "Frame.h" #include "HTMLElement.h" +#include "HTMLInputElement.h" #include "HTMLNames.h" #include "KeyboardCodes.h" #include "KeyboardEvent.h" @@ -48,6 +49,7 @@ #include "Page.h" #include "Page.h" #include "PlatformKeyboardEvent.h" +#include "QWebPageClient.h" #include "Range.h" #include @@ -596,10 +598,26 @@ bool EditorClientQt::isEditing() const void EditorClientQt::setInputMethodState(bool active) { - QWidget *view = m_page->view(); - if (view) - view->setAttribute(Qt::WA_InputMethodEnabled, active); - + QWebPageClient* webPageClient = m_page->d->client; + if (webPageClient) { +#if QT_VERSION >= 0x040600 + bool isPasswordField = false; + if (!active) { + // Setting the Qt::WA_InputMethodEnabled attribute true and Qt::ImhHiddenText flag + // for password fields. The Qt platform is responsible for determining which widget + // will receive input method events for password fields. + Frame* frame = m_page->d->page->focusController()->focusedOrMainFrame(); + if (frame && frame->document() && frame->document()->focusedNode()) { + if (frame->document()->focusedNode()->hasTagName(HTMLNames::inputTag)) { + HTMLInputElement* inputElement = static_cast(frame->document()->focusedNode()); + active = isPasswordField = inputElement->isPasswordField(); + } + } + } + webPageClient->setInputMethodHint(Qt::ImhHiddenText, isPasswordField); +#endif + webPageClient->setInputMethodEnabled(active); + } emit m_page->microFocusChanged(); } diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp index 8f9a740..bdcc27f 100644 --- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp +++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp @@ -1208,7 +1208,8 @@ void tst_QWebPage::frameAt() void tst_QWebPage::inputMethods() { m_view->page()->mainFrame()->setHtml("" \ - "" \ + "
      " \ + "" \ ""); m_view->page()->mainFrame()->setFocus(); @@ -1291,6 +1292,21 @@ void tst_QWebPage::inputMethods() value = variant.value(); QCOMPARE(value, QString("QtWebKit")); #endif + + //ImhHiddenText + QMouseEvent evpresPassword(QEvent::MouseButtonPress, inputs.at(1).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); + m_view->page()->event(&evpresPassword); + QMouseEvent evrelPassword(QEvent::MouseButtonRelease, inputs.at(1).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); + m_view->page()->event(&evrelPassword); + + QVERIFY(m_view->testAttribute(Qt::WA_InputMethodEnabled)); +#if QT_VERSION >= 0x040600 + QVERIFY(m_view->inputMethodHints() & Qt::ImhHiddenText); + + m_view->page()->event(&evpres); + m_view->page()->event(&evrel); + QVERIFY(!(m_view->inputMethodHints() & Qt::ImhHiddenText)); +#endif } // import a little DRT helper function to trigger the garbage collector -- cgit v0.12 From 81d0c27d35b62dea9fceae4a4677704f558b5762 Mon Sep 17 00:00:00 2001 From: Julian de Bhal Date: Mon, 12 Oct 2009 10:53:32 +1000 Subject: qlalr Removed the word "troll" from the implementation to match the header. Make qlalr compile. --- util/qlalr/cppgenerator.cpp | 20 ++++++++++---------- util/qlalr/main.cpp | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/util/qlalr/cppgenerator.cpp b/util/qlalr/cppgenerator.cpp index dd5be57..39d94cd 100644 --- a/util/qlalr/cppgenerator.cpp +++ b/util/qlalr/cppgenerator.cpp @@ -46,7 +46,7 @@ #include "lalr.h" #include "recognizer.h" -QString CppGenerator::trollCopyrightHeader() const +QString CppGenerator::copyrightHeader() const { return QLatin1String( "/****************************************************************************\n" @@ -92,7 +92,7 @@ QString CppGenerator::trollCopyrightHeader() const "\n"); } -QString CppGenerator::trollPrivateCopyrightHeader() const +QString CppGenerator::privateCopyrightHeader() const { return QLatin1String( "//\n" @@ -343,10 +343,10 @@ void CppGenerator::operator () () QTextStream out (&f); out << "// This file was generated by qlalr - DO NOT EDIT!\n"; - if (troll_copyright) + if (copyright) { - out << trollCopyrightHeader() - << trollPrivateCopyrightHeader() + out << copyrightHeader() + << privateCopyrightHeader() << endl; } @@ -375,10 +375,10 @@ void CppGenerator::operator () () QString prot = declFileName.toUpper ().replace (QLatin1Char ('.'), QLatin1Char ('_')); - if (troll_copyright) + if (copyright) { - out << trollCopyrightHeader() - << trollPrivateCopyrightHeader() + out << copyrightHeader() + << privateCopyrightHeader() << endl; } @@ -397,8 +397,8 @@ void CppGenerator::operator () () QTextStream out (&f); out << "// This file was generated by qlalr - DO NOT EDIT!\n"; - if (troll_copyright) - out << trollCopyrightHeader(); + if (copyright) + out << copyrightHeader(); out << "#include \"" << declFileName << "\"" << endl << endl; generateImpl(out); diff --git a/util/qlalr/main.cpp b/util/qlalr/main.cpp index 216dd3a..7041e4a 100644 --- a/util/qlalr/main.cpp +++ b/util/qlalr/main.cpp @@ -142,7 +142,7 @@ int main (int argc, char *argv[]) CppGenerator gen (p, grammar, aut, generate_report); gen.setDebugInfo (debug_info); - gen.setTrollCopyright (troll_copyright); + gen.setCopyright (troll_copyright); gen (); if (generate_dot) -- cgit v0.12 From c1f1b004f7af4c9199e73b4b02bdb4b3aaf74ea8 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Mon, 12 Oct 2009 11:00:06 +1000 Subject: Don't delete an fbo's texture if the fbo isn't using a texture Also, unbind the texture after it is initialized. Reviewed-by: Sarah Smith --- src/opengl/qglframebufferobject.cpp | 4 +++- src/opengl/qglframebufferobject_p.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp index 5585208..8fc95cf 100644 --- a/src/opengl/qglframebufferobject.cpp +++ b/src/opengl/qglframebufferobject.cpp @@ -451,6 +451,7 @@ void QGLFramebufferObjectPrivate::init(QGLFramebufferObject *q, const QSize &sz, QT_CHECK_GLERROR(); valid = checkFramebufferStatus(); + glBindTexture(target, 0); color_buffer = 0; } else { @@ -819,7 +820,8 @@ QGLFramebufferObject::~QGLFramebufferObject() if (isValid() && ctx) { QGLShareContextScope scope(ctx); - glDeleteTextures(1, &d->texture); + if (d->texture) + glDeleteTextures(1, &d->texture); if (d->color_buffer) glDeleteRenderbuffers(1, &d->color_buffer); if (d->depth_stencil_buffer) diff --git a/src/opengl/qglframebufferobject_p.h b/src/opengl/qglframebufferobject_p.h index 055a752..9fe80b8 100644 --- a/src/opengl/qglframebufferobject_p.h +++ b/src/opengl/qglframebufferobject_p.h @@ -127,7 +127,7 @@ private: class QGLFramebufferObjectPrivate { public: - QGLFramebufferObjectPrivate() : fbo_guard(0), depth_stencil_buffer(0), valid(false), previous_fbo(0), engine(0) {} + QGLFramebufferObjectPrivate() : fbo_guard(0), texture(0), depth_stencil_buffer(0), color_buffer(0), valid(false), previous_fbo(0), engine(0) {} ~QGLFramebufferObjectPrivate() {} void init(QGLFramebufferObject *q, const QSize& sz, -- cgit v0.12 From 52aef13521af2137db15ee878893f5c5150471e5 Mon Sep 17 00:00:00 2001 From: Julian de Bhal Date: Mon, 12 Oct 2009 14:18:51 +1000 Subject: GL ES 2.0 Shader language compatibility Add precision modifiers to variable declarations in glsl for GL ES 2.0 compatibility. Precision modifiers are optional, so GL 2.0 languages will continue to parse unchanged. rweather --- util/qlalr/examples/glsl/glsl-lex.l | 3 ++ util/qlalr/examples/glsl/glsl.g | 58 ++++++++++++++++++++++--------------- 2 files changed, 37 insertions(+), 24 deletions(-) diff --git a/util/qlalr/examples/glsl/glsl-lex.l b/util/qlalr/examples/glsl/glsl-lex.l index 2a4826d..b50a2e2 100644 --- a/util/qlalr/examples/glsl/glsl-lex.l +++ b/util/qlalr/examples/glsl/glsl-lex.l @@ -150,6 +150,9 @@ icst ({dec}|0{oct}*|0[xX]{hex}+) "while" { return WHILE; } "^=" { return XOR_ASSIGN; } "^" { return XOR_OP; } +"highp" { return HIGH_PRECISION; } +"mediump" { return MEDIUM_PRECISION; } +"lowp" { return LOW_PRECISION; } #[ \t]+[0-9]+.* { char *eptr = 0; diff --git a/util/qlalr/examples/glsl/glsl.g b/util/qlalr/examples/glsl/glsl.g index 44c24d8..3e825bc 100644 --- a/util/qlalr/examples/glsl/glsl.g +++ b/util/qlalr/examples/glsl/glsl.g @@ -132,6 +132,9 @@ %token XOR_ASSIGN %token XOR_OP %token ERROR +%token HIGH_PRECISION +%token MEDIUM_PRECISION +%token LOW_PRECISION %start translation_unit @@ -487,30 +490,37 @@ type_qualifier ::= ATTRIBUTE ; -- Vertex only. type_qualifier ::= VARYING ; type_qualifier ::= UNIFORM ; -type_specifier ::= VOID ; -type_specifier ::= FLOAT ; -type_specifier ::= INT ; -type_specifier ::= BOOL ; -type_specifier ::= VEC2 ; -type_specifier ::= VEC3 ; -type_specifier ::= VEC4 ; -type_specifier ::= BVEC2 ; -type_specifier ::= BVEC3 ; -type_specifier ::= BVEC4 ; -type_specifier ::= IVEC2 ; -type_specifier ::= IVEC3 ; -type_specifier ::= IVEC4 ; -type_specifier ::= MAT2 ; -type_specifier ::= MAT3 ; -type_specifier ::= MAT4 ; -type_specifier ::= SAMPLER1D ; -type_specifier ::= SAMPLER2D ; -type_specifier ::= SAMPLER3D ; -type_specifier ::= SAMPLERCUBE ; -type_specifier ::= SAMPLER1DSHADOW ; -type_specifier ::= SAMPLER2DSHADOW ; -type_specifier ::= struct_specifier ; -type_specifier ::= TYPE_NAME ; +type_specifier ::= type_specifier_no_prec ; +type_specifier ::= precision_qualifier type_specifier_no_prec ; + +type_specifier_no_prec ::= VOID ; +type_specifier_no_prec ::= FLOAT ; +type_specifier_no_prec ::= INT ; +type_specifier_no_prec ::= BOOL ; +type_specifier_no_prec ::= VEC2 ; +type_specifier_no_prec ::= VEC3 ; +type_specifier_no_prec ::= VEC4 ; +type_specifier_no_prec ::= BVEC2 ; +type_specifier_no_prec ::= BVEC3 ; +type_specifier_no_prec ::= BVEC4 ; +type_specifier_no_prec ::= IVEC2 ; +type_specifier_no_prec ::= IVEC3 ; +type_specifier_no_prec ::= IVEC4 ; +type_specifier_no_prec ::= MAT2 ; +type_specifier_no_prec ::= MAT3 ; +type_specifier_no_prec ::= MAT4 ; +type_specifier_no_prec ::= SAMPLER1D ; +type_specifier_no_prec ::= SAMPLER2D ; +type_specifier_no_prec ::= SAMPLER3D ; +type_specifier_no_prec ::= SAMPLERCUBE ; +type_specifier_no_prec ::= SAMPLER1DSHADOW ; +type_specifier_no_prec ::= SAMPLER2DSHADOW ; +type_specifier_no_prec ::= struct_specifier ; +type_specifier_no_prec ::= TYPE_NAME ; + +precision_qualifier ::= HIGH_PRECISION ; +precision_qualifier ::= MEDIUM_PRECISION ; +precision_qualifier ::= LOW_PRECISION ; struct_specifier ::= STRUCT IDENTIFIER LEFT_BRACE struct_declaration_list RIGHT_BRACE ; /. -- cgit v0.12 From 90a082c9076f35dcca092ade019891e92692710e Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Fri, 9 Oct 2009 12:13:47 +0200 Subject: QUuid::createUuid() not unique when using threads on Unix QUuid::createUuid() only seeds the PRNG on the first entry, but since it's using qsrand() and qrand(), all other threads will use the default seed, and thus generate the exact same UUIDs. Fix this by adding an internal function (qsrand() overload with no args) which seeds the PRNG if it hasn't been done already, and use a seed that is based on current time, a stack address and a global serial counter (so that the chances of 2 threads using the same seed are as low as possible). Task-number: QTBUG-3543 Reviewed-by: Marius Storm-Olsen --- src/corelib/global/qglobal.cpp | 28 ++++++++++++++++++++++++++++ src/corelib/plugin/quuid.cpp | 13 +++++++++---- tests/auto/quuid/tst_quuid.cpp | 26 ++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 4 deletions(-) diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index 742f4ec..9fc3c8d 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -46,6 +46,7 @@ #include "qthreadstorage.h" #include "qdir.h" #include "qstringlist.h" +#include "qdatetime.h" #ifndef QT_NO_QOBJECT #include @@ -2523,6 +2524,33 @@ void qsrand(uint seed) #endif } +/*! \internal + \relates + \since 4.6 + + Seed the PRNG, but only if it has not already been seeded. + + The default seed is a combination of current time, a stack address and a + serial counter (since thread stack addresses are re-used). +*/ +void qsrand() +{ +#if defined(Q_OS_UNIX) && !defined(QT_NO_THREAD) && !defined(Q_OS_SYMBIAN) + SeedStorageType *pseed = randTLS()->localData(); + if (pseed) { + // already seeded + return; + } + randTLS()->setLocalData(pseed = new SeedStorageType); + static QBasicAtomicInt serial = Q_BASIC_ATOMIC_INITIALIZER(0); + *pseed = QDateTime::currentDateTime().toTime_t() + + quintptr(&pseed) + + serial.fetchAndAddRelaxed(1); +#else + // On Windows, we assume that rand() already does the right thing +#endif +} + /*! \relates \since 4.2 diff --git a/src/corelib/plugin/quuid.cpp b/src/corelib/plugin/quuid.cpp index 7224ad3..3c79653 100644 --- a/src/corelib/plugin/quuid.cpp +++ b/src/corelib/plugin/quuid.cpp @@ -548,9 +548,11 @@ bool QUuid::operator>(const QUuid &other) const On any platform other than Windows, this function returns a new UUID with variant QUuid::DCE and version QUuid::Random. The random numbers used to construct the UUID are obtained from the local - pseudo-random generator, which is usually not a cryptographic + pseudo-random generator, qrand(), which is usually not a cryptographic quality random number generator. Therefore, a UUID generated by - this function can't be guaranteed to be unique. + this function can't be guaranteed to be unique. If the pseudo-random + number generator for the calling thread has not yet been seeded, this + function will seed the pseudo-random number generator by calling qsrand(). On a Windows platform, a GUID is generated, which almost certainly \e{will} be unique, on this or any other system, networked or not. @@ -578,6 +580,8 @@ QT_BEGIN_INCLUDE_NAMESPACE #include "stdlib.h" // For srand/rand QT_END_INCLUDE_NAMESPACE +extern void qsrand(); // in qglobal.cpp + QUuid QUuid::createUuid() { static const int intbits = sizeof(int)*8; @@ -585,10 +589,11 @@ QUuid QUuid::createUuid() if (!randbits) { int max = RAND_MAX; do { ++randbits; } while ((max=max>>1)); - qsrand((uint)QDateTime::currentDateTime().toTime_t()); - qrand(); // Skip first } + // reseed, but only if not already seeded + qsrand(); + QUuid result; uint *data = &(result.data1); int chunks = 16 / sizeof(uint); diff --git a/tests/auto/quuid/tst_quuid.cpp b/tests/auto/quuid/tst_quuid.cpp index e262be7..d78fda5 100644 --- a/tests/auto/quuid/tst_quuid.cpp +++ b/tests/auto/quuid/tst_quuid.cpp @@ -72,6 +72,8 @@ private slots: void variants(); void versions(); + void threadUniqueness(); + public: // Variables QUuid uuidA; @@ -169,6 +171,30 @@ void tst_QUuid::versions() QVERIFY( NCS.version() == QUuid::VerUnknown ); } +class UuidThread : public QThread +{ +public: + QUuid uuid; + + void run() + { + uuid = QUuid::createUuid(); + } +}; + +void tst_QUuid::threadUniqueness() +{ + QVector threads(qMax(2, QThread::idealThreadCount())); + for (int i = 0; i < threads.count(); ++i) + threads[i] = new UuidThread; + for (int i = 0; i < threads.count(); ++i) + threads[i]->start(); + for (int i = 0; i < threads.count(); ++i) + QVERIFY(threads[i]->wait(1000)); + for (int i = 1; i < threads.count(); ++i) + QVERIFY(threads[0]->uuid != threads[i]->uuid); + qDeleteAll(threads); +} QTEST_MAIN(tst_QUuid) #include "tst_quuid.moc" -- cgit v0.12 From dd24ba2bc9c6c25fe2e7ba3f308253ae7dfc4cb7 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 12 Oct 2009 09:44:51 +0200 Subject: Revert merge commit 3945fd75a93d790434b33c2d23a The resolution of conflicts introduced regressions. And the commit was already in 4.6 --- src/gui/itemviews/qheaderview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp index 0045bd5..fc9820f 100644 --- a/src/gui/itemviews/qheaderview.cpp +++ b/src/gui/itemviews/qheaderview.cpp @@ -524,8 +524,8 @@ QSize QHeaderView::sizeHint() const Q_D(const QHeaderView); if (d->cachedSizeHint.isValid()) return d->cachedSizeHint; + d->cachedSizeHint = QSize(0, 0); //reinitialize the cached size hint const int sectionCount = count(); - d->executePostedLayout(); // get size hint for the first n sections int i = 0; -- cgit v0.12 From a2e061b7aa2fda92d891d9783217a5d87b8df5d0 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 9 Oct 2009 22:38:41 +0200 Subject: Fixed enum values in Qt::GestureContext. The only reason to refer to values from the Qt::ShortcutContext enum is to avoid confusing people since enum value names look similar so we want to avoid weird behaviour when mixing them. But referring to another enum value makes the documentation look weird as it mentions different unrelated enum value in the GestureContext doc. Reviewed-by: trustme --- src/corelib/global/qnamespace.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index c90c096..6d8c4e7 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -1634,8 +1634,8 @@ public: enum GestureContext { - WidgetGesture = WidgetShortcut, - WidgetWithChildrenGesture = WidgetWithChildrenShortcut, + WidgetGesture = 0, + WidgetWithChildrenGesture = 3, }; enum NavigationMode -- cgit v0.12 From acc509a77b6deeed0b3994a933d5cde291e17df6 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 12 Oct 2009 11:31:24 +0200 Subject: Add usefull debug output to the bic test --- tests/auto/bic/tst_bic.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/bic/tst_bic.cpp b/tests/auto/bic/tst_bic.cpp index 82c8dc0..8c6056e 100644 --- a/tests/auto/bic/tst_bic.cpp +++ b/tests/auto/bic/tst_bic.cpp @@ -252,6 +252,7 @@ QBic::Info tst_Bic::getCurrentInfo(const QString &libName) } if (proc.exitCode() != 0) { qWarning() << "gcc returned with" << proc.exitCode(); + qDebug() << proc.readAllStandardError(); return QBic::Info(); } @@ -268,6 +269,7 @@ QBic::Info tst_Bic::getCurrentInfo(const QString &libName) qFatal("Could not locate the GCC output file, update this test"); return QBic::Info(); } else if (files.size() > 1) { + qDebug() << files; qFatal("Located more than one output file, please clean up before running this test"); return QBic::Info(); } -- cgit v0.12 From 681639c326f20b77329539b282b0eb4f173fe961 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Fri, 9 Oct 2009 20:52:29 +0200 Subject: Removed the QGesture contructor that we don't really need. The constructor that accepts a gesture type is not needed because the gesture type id will be generated by Qt and assigned to the QGesture object when a custom gesture recognizer is registered within the framework. Reviewed-by: trustme --- src/gui/kernel/qgesture.cpp | 13 +++++++------ src/gui/kernel/qgesture.h | 5 ++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index bb74aec..cb46695 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -97,7 +97,7 @@ Qt::GestureState QGesture::state() const return d_func()->state; } -QObject* QGesture::targetObject() const +QObject *QGesture::targetObject() const { return d_func()->targetObject; } @@ -132,9 +132,9 @@ void QGesture::unsetHotSpot() // QPanGesture QPanGesture::QPanGesture(QObject *parent) - : QGesture(*new QPanGesturePrivate, Qt::PanGesture, parent) + : QGesture(*new QPanGesturePrivate, parent) { - + d_func()->gestureType = Qt::PanGesture; } QSizeF QPanGesture::totalOffset() const @@ -181,9 +181,9 @@ void QPanGesture::setAcceleration(qreal value) // QPinchGesture QPinchGesture::QPinchGesture(QObject *parent) - : QGesture(*new QPinchGesturePrivate, Qt::PinchGesture, parent) + : QGesture(*new QPinchGesturePrivate, parent) { - + d_func()->gestureType = Qt::PinchGesture; } QPinchGesture::WhatChanged QPinchGesture::whatChanged() const @@ -292,8 +292,9 @@ void QPinchGesture::setRotationAngle(qreal value) // QSwipeGesture QSwipeGesture::QSwipeGesture(QObject *parent) - : QGesture(*new QSwipeGesturePrivate, Qt::SwipeGesture, parent) + : QGesture(*new QSwipeGesturePrivate, parent) { + d_func()->gestureType = Qt::SwipeGesture; } QSwipeGesture::SwipeDirection QSwipeGesture::horizontalDirection() const diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h index b37120f..bf72759 100644 --- a/src/gui/kernel/qgesture.h +++ b/src/gui/kernel/qgesture.h @@ -70,8 +70,7 @@ class Q_GUI_EXPORT QGesture : public QObject Q_PROPERTY(QObject* targetObject READ targetObject WRITE setTargetObject) public: - explicit QGesture(Qt::GestureType type = Qt::CustomGesture, QObject *parent = 0); - explicit QGesture(QObject *parent); + explicit QGesture(QObject *parent = 0); ~QGesture(); Qt::GestureType gestureType() const; @@ -87,7 +86,7 @@ public: void unsetHotSpot(); protected: - QGesture(QGesturePrivate &dd, Qt::GestureType type, QObject *parent); + QGesture(QGesturePrivate &dd, QObject *parent); private: friend class QGestureEvent; -- cgit v0.12 From f93ade8e1976ea605fe78c4c663ff8f8fa41d323 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Mon, 12 Oct 2009 10:46:17 +0200 Subject: Fixed warnings autotest. Reviewed-by: Olivier Goffart --- src/corelib/global/qnamespace.h | 2 +- src/gui/kernel/qgesturerecognizer.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 6d8c4e7..ad4bc55 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -1635,7 +1635,7 @@ public: enum GestureContext { WidgetGesture = 0, - WidgetWithChildrenGesture = 3, + WidgetWithChildrenGesture = 3 }; enum NavigationMode diff --git a/src/gui/kernel/qgesturerecognizer.h b/src/gui/kernel/qgesturerecognizer.h index c85afd2..efd8565 100644 --- a/src/gui/kernel/qgesturerecognizer.h +++ b/src/gui/kernel/qgesturerecognizer.h @@ -42,7 +42,7 @@ #ifndef QGESTURERECOGNIZER_H #define QGESTURERECOGNIZER_H -#include "qglobal.h" +#include QT_BEGIN_HEADER -- cgit v0.12 From 8df79a473e1a7e5c79b9b10827985bf3e9501002 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Mon, 12 Oct 2009 12:15:35 +0200 Subject: Compile fix after the latest change to gesture api. Forgot to remove the declaration from a source file because of a bad merge. Reviewed-by: Bradley T. Hughes --- src/gui/kernel/qgesture.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index cb46695..68cb9cd 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -65,22 +65,15 @@ QT_BEGIN_NAMESPACE \sa QGestureEvent, QGestureRecognizer */ -QGesture::QGesture(Qt::GestureType type, QObject *parent) - : QObject(*new QGesturePrivate, parent) -{ - d_func()->gestureType = type; -} - QGesture::QGesture(QObject *parent) : QObject(*new QGesturePrivate, parent) { d_func()->gestureType = Qt::CustomGesture; } -QGesture::QGesture(QGesturePrivate &dd, Qt::GestureType type, QObject *parent) +QGesture::QGesture(QGesturePrivate &dd, QObject *parent) : QObject(dd, parent) { - d_func()->gestureType = type; } QGesture::~QGesture() -- cgit v0.12 From 50ff2f4dbe0a5af6c7bf18c72dd7cf49eb39ee32 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 12 Oct 2009 13:25:36 +0300 Subject: Fix for qapplication::testDeleteLaterProcessEvents autotest in Symbian. Deleting qt_desktopWidget eventually ends up to QSymbianControl destructor. Calling setFocusSafely from QSymbianControl destructor causes a new events to be posted to event queue. Posting events tries to wakeup event dispatcher, which was deleted in QApplication destructor before calling delete for qt_desktopWidget. This makes application to panic. The fix is to change is_app_closing and is_app_running flags to correct state immediately after event dispatcher is closed down, and check the is_app_closing flag in QSymbianControl destructor. The change fixes panic in qapplication::testDeleteLaterProcessEvents, and otherwise QApplication and QWidget autotest results are same as before change. Reviewed-by: Miikka Heikkinen Reviewed-by: Brad --- src/gui/kernel/qapplication.cpp | 6 +++--- src/gui/kernel/qapplication_s60.cpp | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index afc6f63..bfccd41 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -943,7 +943,7 @@ void QApplicationPrivate::initialize() graphics_system = QGraphicsSystemFactory::create(graphics_system_name); #endif #ifndef QT_NO_WHEELEVENT -#ifdef Q_OS_MAC +#ifdef Q_OS_MAC QApplicationPrivate::wheel_scroll_lines = 1; #else QApplicationPrivate::wheel_scroll_lines = 3; @@ -1034,11 +1034,11 @@ QApplication::~QApplication() d->eventDispatcher->closingDown(); d->eventDispatcher = 0; + QApplicationPrivate::is_app_closing = true; + QApplicationPrivate::is_app_running = false; delete qt_desktopWidget; qt_desktopWidget = 0; - QApplicationPrivate::is_app_closing = true; - QApplicationPrivate::is_app_running = false; #ifndef QT_NO_CLIPBOARD delete qt_clipboard; diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index acd1041..6919292 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -352,7 +352,8 @@ QSymbianControl::~QSymbianControl() { if (S60->curWin == this) S60->curWin = 0; - setFocusSafely(false); + if (!QApplicationPrivate::is_app_closing) + setFocusSafely(false); S60->appUi()->RemoveFromStack(this); delete m_longTapDetector; } -- cgit v0.12 From bc64214610093230fc9946cbdba6a3f7bcc6b13b Mon Sep 17 00:00:00 2001 From: Ritt Konstantin Date: Mon, 12 Oct 2009 12:36:58 +0200 Subject: Update Russian translations for Qt libraries Merge-request: 1761 Reviewed-by: Oswald Buddenhagen --- translations/qt_ru.ts | 6419 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 4268 insertions(+), 2151 deletions(-) diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts index 6c90391..9c4a263 100644 --- a/translations/qt_ru.ts +++ b/translations/qt_ru.ts @@ -2,29 +2,24 @@ - AudioOutput + CloseButton - - <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> - <html>Звуковое устройство <b>%1</b> не работает.<br/>Будет использоваться <b>%2</b>.</html> + + Close Tab + Закрыть вкладку + + + FakeReply - - <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> - <html>Переключение на звуковое устройство <b>%1</b><br/>, которое доступно и имеет высший приоритет.</html> + + Fake error ! + - Revert back to device '%1' - Возвращение к устройству '%1' - - - - CloseButton - - - Close Tab - Закрыть вкладку + Invalid URL + Некорректный URL @@ -61,6 +56,24 @@ + Phonon::AudioOutput + + + <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> + <html>Звуковое устройство <b>%1</b> не работает.<br/>Будет использоваться <b>%2</b>.</html> + + + + <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> + <html>Переключение на звуковое устройство <b>%1</b><br/>, которое доступно и имеет высший приоритет.</html> + + + + Revert back to device '%1' + Возвращение к устройству '%1' + + + Phonon::Gstreamer::Backend @@ -74,7 +87,7 @@ Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Внимание: Похоже, основной модуль GStreamer не установлен. - Поддержка видео и аудио невозможна + Поддержка видео и аудио отключена @@ -96,24 +109,24 @@ have libgstreamer-plugins-base installed. Отсутствует необходимый кодек. Вам нужно установить следующие кодеки для воспроизведения данного содержимого: %0 - + - + - + Could not open media source. Не удалось открыть источник медиа-данных. - + Invalid source type. Неверный тип источника медиа-данных. - + Could not locate media source. Не удалось найти источник медиа-данных. @@ -129,19 +142,86 @@ have libgstreamer-plugins-base installed. + Phonon::MMF + + + Audio Output + Воспроизведение звука + + + + The audio output device + Устройство воспроизведения звука + + + + Phonon::MMF::AudioEqualizer + + + Frequency band, %1 Hz + Полоса частот, %1 Гц + + + + Phonon::MMF::EffectFactory + + + audio equalizer + Аудиоэквалайзер + + + + Bass boost + Усиление басов + + + + Distance Attenuation + Ослабление при отдалении + + + + + Environmental Reverb + Реверберация + + + + Loudness + Громкость + + + + Source Orientation + Ориентация источника + + + + Stereo Widening + Расширение стереобазы + + + Phonon::VolumeSlider + + Volume: %1% Громкость: %1% - + Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% - Используйте ползунок для настройки громкости. Крайняя левая позиция соответствует 0%, самая правая - %1% + Используйте данный ползунок для настройки громкости. Крайнее левое положение соответствует 0%, крайнее правое - %1% + + + + Muted + Без звука @@ -149,7 +229,7 @@ have libgstreamer-plugins-base installed. %1, %2 not defined - %1, %2 не определен + %1, %2 не определён @@ -188,7 +268,7 @@ have libgstreamer-plugins-base installed. Q3FileDialog - + Copy or Move a File Копировать или переместить файл @@ -212,13 +292,13 @@ have libgstreamer-plugins-base installed. - - + + All Files (*) Все файлы (*) - + Name Имя @@ -244,24 +324,24 @@ have libgstreamer-plugins-base installed. - + &OK - &Готово + &ОК - + Look &in: &Папка: - + File &name: &Имя файла: - + File &type: &Тип файла: @@ -273,12 +353,12 @@ have libgstreamer-plugins-base installed. One directory up - На один уровень вверх + Вверх на один уровень Create New Folder - Создать каталог + Создать папку @@ -296,7 +376,7 @@ have libgstreamer-plugins-base installed. Предпросмотр информации о файле - + Preview File Contents Предпросмотр содержимого файла @@ -352,14 +432,14 @@ have libgstreamer-plugins-base installed. - - + + Open Открыть - - + + Save As Сохранить как @@ -419,7 +499,7 @@ have libgstreamer-plugins-base installed. Show &hidden files - Показать скр&ытые файлы + Показать ск&рытые файлы @@ -459,17 +539,17 @@ have libgstreamer-plugins-base installed. New Folder 1 - Новый каталог 1 + Новая папка 1 New Folder - Новый каталог + Новая папка New Folder %1 - Новый каталог %1 + Новая папка %1 @@ -485,16 +565,16 @@ have libgstreamer-plugins-base installed. Directory: - каталог: + Каталог: - + Error Ошибка - + %1 File not found. Check path and filename. @@ -503,17 +583,17 @@ Check path and filename. Проверьте правильность пути и имени файла. - + All Files (*.*) Все файлы (*.*) - + Open Открыть - + Select a Directory Выбрать каталог @@ -586,7 +666,7 @@ to Operation stopped by the user - Операция прервана пользователем + Операция остановлена пользователем @@ -604,7 +684,7 @@ to OK - Готово + ОК @@ -663,7 +743,7 @@ to Select All - Выделить все + Выделить всё @@ -681,7 +761,7 @@ to Minimize - Минимизировать + Свернуть @@ -705,8 +785,8 @@ to - Puts a minimized back to normal - Возвращает минимизированное окно в нормальное состояние + Puts a minimized window back to normal + Возвращает свёрнутое окно в нормальное состояние @@ -749,43 +829,43 @@ to The protocol `%1' is not supported - Протокол `%1' не поддерживается + Протокол '%1' не поддерживается The protocol `%1' does not support listing directories - Протокол `%1' не поддерживает просмотр каталогов + Протокол '%1' не поддерживает просмотр каталогов The protocol `%1' does not support creating new directories - Протокол `%1' не поддерживает создание каталогов + Протокол '%1' не поддерживает создание каталогов The protocol `%1' does not support removing files or directories - Протокол `%1' не поддерживает удаление файлов или каталогов + Протокол '%1' не поддерживает удаление файлов или каталогов The protocol `%1' does not support renaming files or directories - Протокол `%1' не поддерживает переименование файлов или каталогов + Протокол '%1' не поддерживает переименование файлов или каталогов The protocol `%1' does not support getting files - Протокол `%1' не поддерживает доставку файлов + Протокол '%1' не поддерживает доставку файлов The protocol `%1' does not support putting files - Протокол `%1' не поддерживает отправку файлов + Протокол '%1' не поддерживает отправку файлов The protocol `%1' does not support copying or moving files or directories - Протокол `%1' не поддерживает копирование или перемещение файлов или каталогов + Протокол '%1' не поддерживает копирование или перемещение файлов или каталогов @@ -799,7 +879,7 @@ to &Cancel - &Отмена + От&мена @@ -809,12 +889,12 @@ to &Next > - &Вперед > + &Далее > &Finish - &Закончить + &Завершить @@ -825,9 +905,9 @@ to QAbstractSocket - - - + + + Host not found Узел не найден @@ -840,19 +920,19 @@ to Отказано в соединении - + Connection timed out Время на соединение истекло - - + + Operation on socket is not supported Операция с сокетом не поддерживается - + Socket operation timed out Время на операцию с сокетом истекло @@ -870,7 +950,7 @@ to QAbstractSpinBox - + &Step up Шаг вв&ерх @@ -882,7 +962,7 @@ to &Select All - &Выделить все + &Выделить всё @@ -893,7 +973,7 @@ to Активировать - + Executable '%1' requires Qt %2, found Qt %3. Программный модуль '%1' требует Qt %2, найдена версия %3. @@ -903,7 +983,7 @@ to Ошибка совместимости библиотеки Qt - + QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR @@ -919,22 +999,22 @@ to Select ActiveX Control - Выберите компоненту ActiveX + Выбор компоненты ActiveX OK - Готово + Выбрать &Cancel - &Отмена + От&мена COM &Object: - COM &Объект: + &Объект COM: @@ -958,7 +1038,7 @@ to QColorDialog - + Hu&e: &Тон: @@ -995,22 +1075,22 @@ to Select Color - Выберите цвет + Выбор цвета - + &Basic colors &Основные цвета &Custom colors - &Произвольные цвета + &Пользовательские цвета &Add to Custom Colors - &Добавить к произвольным цветам + &Добавить к пользовательским цветам @@ -1057,60 +1137,84 @@ to QSystemSemaphore %1: ошибка ftok + + + %1: already exists + QSystemSemaphore + %1: уже существует + + + + %1: does not exist + QSystemSemaphore + %1: не существует + + + + %1: out of resources + QSystemSemaphore + %1: недостаточно ресурсов + + + + %1: unknown error %2 + QSystemSemaphore + %1: неизвестная ошибка %2 + QDB2Driver - + Unable to connect Невозможно соединиться - + Unable to commit transaction - Невозможно выполнить транзакцию + Невозможно завершить транзакцию Unable to rollback transaction - Невозможно откатить транзакцию + Невозможно отозвать транзакцию Unable to set autocommit - Невозможно установить автовыполнение транзакции + Невозможно установить автозавершение транзакций QDB2Result - - + + Unable to execute statement Невозможно выполнить выражение - + Unable to prepare statement Невозможно подготовить выражение - + Unable to bind variable Невозможно привязать значение - + Unable to fetch record %1 Невозможно получить запись %1 - + Unable to fetch next Невозможно получить следующую строку - + Unable to fetch first Невозможно получить первую строку @@ -1118,24 +1222,24 @@ to QDateTimeEdit - + AM - + AM am - + am PM - + PM pm - + pm @@ -1143,28 +1247,28 @@ to QDial - + QDial SpeedoMeter - + SpeedoMeter SliderHandle - + SliderHandle QDialog - + What's This? Что это? - + Done Готово @@ -1172,16 +1276,16 @@ to QDialogButtonBox - + - + OK - Готово + ОК &OK - &Готово + &ОК @@ -1201,7 +1305,7 @@ to &Cancel - &Отмена + От&мена @@ -1241,12 +1345,12 @@ to Discard - Не применять + Отклонить &Yes - Д&а + &Да @@ -1276,17 +1380,17 @@ to Retry - Попробовать ещё + Повторить Ignore - Игнорировать + Пропустить Restore Defaults - Восстановить значения по умолчанию + Восстановить значения @@ -1297,7 +1401,7 @@ to QDirModel - + Name Имя @@ -1334,12 +1438,12 @@ to Dock - + Прикрепить Float - + Открепить @@ -1358,7 +1462,7 @@ to QErrorMessage - + Debug Message: Отладочное сообщение: @@ -1373,28 +1477,28 @@ to Критическая ошибка: - + &Show this message again &Показывать это сообщение в дальнейшем &OK - &Готово + &Закрыть QFile - - + + Destination file exists Файл существует - + Will not rename sequential file using block copy - Не будет переименовывать последовательный файл, используя копирование блока + Последовательный файл не будет переименован с использованием поблочного копирования @@ -1402,7 +1506,7 @@ to Невозможно удалить исходный файл - + Cannot open %1 for input Невозможно открыть %1 для ввода @@ -1425,37 +1529,36 @@ to QFileDialog - - + + All Files (*) Все файлы (*) - + Directories Каталоги - - + &Open &Открыть - + &Save &Сохранить - + Open Открыть - + %1 already exists. Do you want to replace it? %1 уже существует. @@ -1468,7 +1571,7 @@ File not found. Please verify the correct file name was given. %1 Файл не найден. -Проверьте правильность заданного имени файла. +Проверьте правильность указанного имени файла. @@ -1476,7 +1579,7 @@ Please verify the correct file name was given. Мой компьютер - + &Rename &Переименовать @@ -1488,53 +1591,53 @@ Please verify the correct file name was given. Show &hidden files - Показать скр&ытые файлы + Показать ск&рытые файлы - + Back Назад - + Parent Directory Родительский каталог - + List View Список - + Detail View Подробный вид - + Files of type: Типы файлов: - + Directory: Каталог: - - + + %1 Directory not found. Please verify the correct directory name was given. %1 Каталог не найден. -Проверьте правильность заданного имени каталога. +Проверьте правильность указанного имени каталога. @@ -1546,7 +1649,7 @@ Do you want to delete it anyway? Are sure you want to delete '%1'? - Вы уверены, что хотите удалить '%1'? + Вы действительно хотите удалить '%1'? @@ -1554,22 +1657,22 @@ Do you want to delete it anyway? Не удалось удалить каталог. - + Recent Places Недавние документы - + All Files (*.*) Все файлы (*.*) - + Save As Сохранить как - + Drive Диск @@ -1583,13 +1686,13 @@ Do you want to delete it anyway? File Folder Match Windows Explorer - Каталог с файлами + Папка с файлами Folder All other platforms - Каталог + Папка @@ -1606,7 +1709,7 @@ Do you want to delete it anyway? Unknown - Неизвестно + Неизвестный @@ -1620,48 +1723,48 @@ Do you want to delete it anyway? - + Forward - Вперед + Вперёд - + New Folder - Новый каталог + Новая папка - + &New Folder - &Новый каталог + &Новая папка - + &Choose &Выбрать - + Remove Удалить - - + + File &name: &Имя файла: - + Look in: Перейти к: - + Create New Folder - Создать каталог + Создать папку @@ -1677,7 +1780,7 @@ Do you want to delete it anyway? <b>Имя "%1" не может быть использовано.</b><p>Попробуйте использовать имя меньшей длины и/или без символов пунктуации. - + Name Имя @@ -1704,7 +1807,7 @@ Do you want to delete it anyway? Дата изменения - + My Computer Мой компьютер @@ -1714,8 +1817,8 @@ Do you want to delete it anyway? Компьютер - - + + %1 TB %1 Тб @@ -1747,56 +1850,56 @@ Do you want to delete it anyway? QFontDatabase - - + + Normal Обычный - + - + Bold Жирный - - + + Demi Bold - Срендней жирности + Полужирный - + - + Black Чёрный - + Demi Средний - + Light - Лёгкий + Светлый - - + + Italic Курсив - - + + Oblique Наклонный - + Any Любая @@ -1808,7 +1911,7 @@ Do you want to delete it anyway? Greek - Греческий + Греческая @@ -1818,12 +1921,12 @@ Do you want to delete it anyway? Armenian - + Армянская Hebrew - + Иврит @@ -1833,7 +1936,7 @@ Do you want to delete it anyway? Syriac - + Сирийская @@ -1893,7 +1996,7 @@ Do you want to delete it anyway? Thai - + Тайская @@ -1903,7 +2006,7 @@ Do you want to delete it anyway? Tibetan - + Тибетская @@ -1913,42 +2016,42 @@ Do you want to delete it anyway? Georgian - + Грузинская Khmer - + Кхмерская Simplified Chinese - + Китайская упрощенная Traditional Chinese - + Китайская традиционная Japanese - + Японская Korean - + Корейская Vietnamese - + Вьетнамская Symbol - + Символьная @@ -1958,20 +2061,20 @@ Do you want to delete it anyway? Runic - + Руническая QFontDialog - + &Font &Шрифт Font st&yle - Ст&иль шрифта + &Начертание @@ -1979,12 +2082,12 @@ Do you want to delete it anyway? &Размер - + Effects Эффекты - + Stri&keout Зачёр&кнутый @@ -2004,22 +2107,22 @@ Do you want to delete it anyway? &Система письма - - + + Select Font - Выберите шрифт + Выбор шрифта QFtp - + Not connected Соединение не установлено - + Host %1 not found Узел %1 не найден @@ -2057,7 +2160,7 @@ Do you want to delete it anyway? Неизвестная ошибка - + Connecting to host failed: %1 @@ -2153,7 +2256,7 @@ Do you want to delete it anyway? Connected to host - Соединение с узлом + Соединение с узлом установлено @@ -2167,19 +2270,15 @@ Do you want to delete it anyway? QHostInfoAgent - - - - - - - + + + Host not found Узел не найден - + @@ -2187,19 +2286,29 @@ Do you want to delete it anyway? Неизвестный тип адреса - + Unknown error Неизвестная ошибка + + + No host name given + Имя узла не задано + + + + Invalid hostname + Некорректное имя узла + QHttp - + - + Unknown error Неизвестная ошибка @@ -2239,7 +2348,7 @@ Do you want to delete it anyway? Ошибка записи ответа на устройство - + Connection refused Отказано в соединении @@ -2342,10 +2451,10 @@ Do you want to delete it anyway? SSL handshake failed - + Квитирование SSL не удалось - + HTTPS connection requested but SSL support not compiled in Запрошено соединение по протоколу HTTPS, но поддержка SSL не скомпилирована @@ -2401,9 +2510,9 @@ Do you want to delete it anyway? QIBaseDriver - + Error opening database - Невозможно открыть базу данных + Ошибка открытия базы данных @@ -2413,18 +2522,18 @@ Do you want to delete it anyway? Unable to commit transaction - Невозможно выполнить транзакцию + Невозможно завершить транзакцию Unable to rollback transaction - Невозможно откатить транзакцию + Невозможно отозвать транзакцию QIBaseResult - + Unable to create BLOB Невозможно создать BLOB @@ -2467,7 +2576,7 @@ Do you want to delete it anyway? Unable to commit transaction - Невозможно выполнить транзакцию + Невозможно завершить транзакцию @@ -2506,7 +2615,7 @@ Do you want to delete it anyway? Не удалось получить следующий элемент - + Could not get statement info Не удалось найти информацию о выражении @@ -2514,7 +2623,7 @@ Do you want to delete it anyway? QIODevice - + Permission denied Доступ запрещён @@ -2534,7 +2643,7 @@ Do you want to delete it anyway? Нет свободного места на устройстве - + Unknown error Неизвестная ошибка @@ -2542,24 +2651,34 @@ Do you want to delete it anyway? QInputContext - + XIM - + Метод ввода X-сервера + + + + FEP + Метод ввода S60 FEP XIM input method - + Метод ввода X-сервера Windows input method - + Метод ввода Windows Mac OS X input method - + Метод ввода Mac OS X + + + + S60 FEP input method + Метод ввода S60 FEP @@ -2573,7 +2692,7 @@ Do you want to delete it anyway? QLibrary - + Could not mmap '%1': %2 Не удалось выполнить mmap '%1': %2 @@ -2588,50 +2707,50 @@ Do you want to delete it anyway? Не удалось выполнить unmap '%1': %2 - + The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Модуль '%1' использует несоместимую библиотеку Qt. (%2.%3.%4) [%5] The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" - Плагин '%1' использует несоместимую библиотеку Qt. Ожидается ключ "%2", но получен ключ "%3" + Модуль '%1' использует несоместимую библиотеку Qt. Ожидается ключ "%2", но получен ключ "%3" - + Unknown error Неизвестная ошибка - - + + The shared library was not found. Динамическая библиотека не найдена. The file '%1' is not a valid Qt plugin. - Файл '%1' - не может быть корректным модулем Qt. + Файл '%1' - не является корректным модулем Qt. The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) - Плагин '%1' использует несоместимую библиотеку Qt. (Нельзя совмещать релизные и отладочные библиотеки.) + Модуль '%1' использует несоместимую библиотеку Qt. (Невозможно совместить релизные и отладочные библиотеки.) - - + + Cannot load library %1: %2 Невозможно загрузить библиотеку %1: %2 - - + + Cannot unload library %1: %2 Невозможно выгрузить библиотеку %1: %2 - + Cannot resolve symbol "%1" in %2: %3 Невозможно разрешить символ "%1" в %2: %3 @@ -2640,7 +2759,7 @@ Do you want to delete it anyway? QLineEdit - + &Undo &Отменить действие @@ -2655,12 +2774,12 @@ Do you want to delete it anyway? &Вырезать - + &Copy &Копировать - + &Paste В&ставить @@ -2672,14 +2791,14 @@ Do you want to delete it anyway? Select All - Выделить все + Выделить всё QLocalServer - - + + %1: Name error %1: Некорректное имя @@ -2703,7 +2822,7 @@ Do you want to delete it anyway? QLocalSocket - + %1: Connection refused %1: Отказано в соединении @@ -2711,13 +2830,13 @@ Do you want to delete it anyway? %1: Remote closed - %1: Удалённое закрытие + %1: Закрыто удаленной стороной - + %1: Invalid name %1: Некорректное имя @@ -2748,7 +2867,7 @@ Do you want to delete it anyway? - + %1: Connection error %1: Ошибка соединения @@ -2773,35 +2892,35 @@ Do you want to delete it anyway? QMYSQLDriver - + Unable to open database ' Невозможно открыть базу данных ' - + Unable to connect Невозможно соединиться - + Unable to begin transaction Невозможно начать транзакцию Unable to commit transaction - Невозможно выполнить транзакцию + Невозможно завершить транзакцию Unable to rollback transaction - Невозможно откатить транзакцию + Невозможно отозвать транзакцию QMYSQLResult - + Unable to fetch data Невозможно получить данные @@ -2816,13 +2935,13 @@ Do you want to delete it anyway? Невозможно сохранить результат - + Unable to prepare statement Невозможно подготовить выражение - + Unable to reset statement Невозможно сбросить выражение @@ -2845,10 +2964,10 @@ Do you want to delete it anyway? Unable to store statement results - Невозможно сохранить результат выполнения выражения + Невозможно сохранить результаты выполнения выражения - + Unable to execute next query Невозможно выполнить следующий запрос @@ -2881,7 +3000,7 @@ Do you want to delete it anyway? Minimize - Минимизировать + Свернуть @@ -2906,7 +3025,7 @@ Do you want to delete it anyway? Mi&nimize - &Минимизировать + &Свернуть @@ -2982,9 +3101,17 @@ Do you want to delete it anyway? + QMenuBar + + + Actions + Действия + + + QMessageBox - + Help Справка @@ -2994,24 +3121,15 @@ Do you want to delete it anyway? OK - Готово - - - - <h3>About Qt</h3><p>This program uses Qt version %1.</p><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> - <h3>О Qt</h3><p>Данная программа использует Qt версии %1.</p><p>Qt - это инструмент для разработки крссплатформенных приложений на C++.</p><p>Qt предоставляет переносимость между MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux и всеми популярными вариантами коммерческой Unix. Также Qt доступна для встраиваемых устройств в виде Qt для Embedded Linux и Qt для Windows CE.</p><p>Qt доступна под тремя различными лицензиями, разработанными для удовлетворения требований различных пользователей.</p>Qt, лицензированая нашей коммерческой лицензией, предназначена для развития проприетарного/коммерческого программного обеспечения, когда Вы не желаете предоставлять исходные коды третьим сторонам; коммерческая лицензия не соответствует условиям лицензий GNU LGPL версии 2.1 или GNU GPL версии 3.0.</p><p>Qt под лицензией GNU LGPL версии 2.1 предназначена для разработки программного обеспечения с открытым исходным кодом или коммерческого программного обеспечения при соблюдении сроков и условий лицензии GNU LGPL версии 2.1.</p><p>Qt под лицензией GNU General Public License версии 3.0 предназначена для разработки программных приложений в тех случаях, когда Вы хотели бы использовать такие приложения в сочетании с программным обеспечением на условиях лицензии GNU GPL с версии 3.0 или если Вы готовы соблюдать условия лицензии GNU GPL версии 3.0.</p><p>Обратитесь к <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> для обзора лицензий Qt.</p><p>Copyright (C) 2009 Корпорация Nokia и/или её дочерние подразделения.</p><p>Qt - продукт Nokia. Обратитесь к <a href="http://qt.nokia.com/">qt.nokia.com</a> для получения дополнительной информации.</p> + Закрыть - + About Qt О Qt - <p>This program uses Qt version %1.</p> - <p>Данная программа использует Qt версии %1.</p> - - - + Show Details... Показать подробности... @@ -3021,12 +3139,14 @@ Do you want to delete it anyway? Скрыть подробности... - <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> - <h3>О Qt</h3>%1<p>Qt - это инструмент для разработчки крссплатформенных приложений на C++.</p><p>Qt предоставляет переносимость между MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux и всеми популярными вариантами коммерческой Unix. Также Qt доступна для встраиваемых устройств в виде Qt for Embedded Linux и Qt for Windows CE.</p><p>Qt - продукт Nokia. Обратитесь к <a href="http://qt.nokia.com/">qt.nokia.com</a> для получения дополнительной информации.</p> + + <h3>About Qt</h3><p>This program uses Qt version %1.</p> + <h3>О Qt</h3><p>Данная программа использует Qt версии %1.</p> - <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> for an overview of Qt licensing.</p> - <p>Данная программа использует Qt Open Source Edition версии %1.</p><p>Qt Open Source Edition предназначена для разработки Open Source приложений. Для разработки проприетарных (с закрытым исходным кодом) приложений необходима коммерческая лицензия Qt.</p><p>Обратитесь к официальносй странице <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> для ознакомления с моделями лицензирования Qt.</p> + + <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> + <p>Qt - это инструментарий для разработки кроссплатформенных приложений на C++.</p><p>Qt предоставляет совместимость на уровне исходных текстов между MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux и всеми популярными коммерческими вариантами Unix. Также Qt доступна для встраиваемых устройств в виде Qt для Embedded Linux и Qt для Windows CE.</p><p>Qt доступна под тремя различными лицензиями, разработанными для удовлетворения различных требований.</p><p>Qt под нашей коммерческой лицензией предназначена для развития проприетарного/коммерческого программного обеспечения, когда Вы не желаете предоставлять исходные тексты третьим сторонам, или в случае невозможности принятия условий лицензий GNU LGPL версии 2.1 или GNU GPL версии 3.0.</p><p>Qt под лицензией GNU LGPL версии 2.1 предназначена для разработки программного обеспечения с открытыми исходными текстами или коммерческого программного обеспечения при соблюдении условий лицензии GNU LGPL версии 2.1.</p><p>Qt под лицензией GNU General Public License версии 3.0 предназначена для разработки программных приложений в тех случаях, когда Вы хотели бы использовать такие приложения в сочетании с программным обеспечением на условиях лицензии GNU GPL с версии 3.0 или если Вы готовы соблюдать условия лицензии GNU GPL версии 3.0.</p><p>Обратитесь к <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> для обзора лицензий Qt.</p><p>Copyright (C) 2009 Корпорация Nokia и/или её дочерние подразделения.</p><p>Qt - продукт компании Nokia. Обратитесь к <a href="http://qt.nokia.com/">qt.nokia.com</a> для получения дополнительной информации.</p> @@ -3034,7 +3154,7 @@ Do you want to delete it anyway? Select IM - + Выбор режима ввода @@ -3042,12 +3162,13 @@ Do you want to delete it anyway? Multiple input method switcher - + Переключатель режима множественного ввода Multiple input method switcher that uses the context menu of the text widgets - + текстовых виджетов <-?-> текстовых редакторов + Переключатель режима множественного ввода, используемый в контекстном меню текстовых виджетов @@ -3186,7 +3307,7 @@ Do you want to delete it anyway? QNetworkAccessCacheBackend - + Error opening %1 Ошибка открытия %1 @@ -3194,9 +3315,9 @@ Do you want to delete it anyway? QNetworkAccessDebugPipeBackend - + Write error writing to %1: %2 - Ошибка записи в %1: %2 + Ошибка записи в %1: %2 @@ -3258,7 +3379,7 @@ Do you want to delete it anyway? QNetworkAccessHttpBackend - + No suitable proxy found Подходящий прокси-сервер не найден @@ -3266,12 +3387,12 @@ Do you want to delete it anyway? QNetworkReply - + Error downloading %1 - server replied: %2 Ошибка загрузки %1 - ответ сервера: %2 - + Protocol "%1" is unknown Неизвестный протокол "%1" @@ -3279,8 +3400,8 @@ Do you want to delete it anyway? QNetworkReplyImpl - - + + Operation canceled Операция отменена @@ -3288,7 +3409,7 @@ Do you want to delete it anyway? QOCIDriver - + Unable to logon Невозможно авторизоваться @@ -3306,18 +3427,18 @@ Do you want to delete it anyway? Unable to commit transaction - Невозможно выполнить транзакцию + Невозможно завершить транзакцию Unable to rollback transaction - Невозможно откатить транзакцию + Невозможно отозвать транзакцию QOCIResult - + Unable to bind column for batch execute @@ -3329,7 +3450,7 @@ Do you want to delete it anyway? Невозможно выполнить пакетное выражение - + Unable to goto next Невозможно перейти к следующей строке @@ -3354,10 +3475,6 @@ Do you want to delete it anyway? Невозможно привязать результирующие значения - Unable to execute select statement - Невозможно выполнить утверждение SELECT - - Unable to execute statement Невозможно выполнить выражение @@ -3366,57 +3483,57 @@ Do you want to delete it anyway? QODBCDriver - + Unable to connect Невозможно соединиться - - Unable to connect - Driver doesn't support all needed functionality - Невозможно соединиться - Драйвер не поддерживает требуемый функционал - - - + Unable to disable autocommit - Невозможно отключить автовыполнение транзакции + Невозможно отключить автозавершение транзакций Unable to commit transaction - Невозможно выполнить транзакцию + Невозможно завершить транзакцию Unable to rollback transaction - Невозможно откатить транзакцию + Невозможно отозвать транзакцию Unable to enable autocommit - Невозможно установить автовыполнение транзакции + Невозможно включить автозавершение транзакций + + + + Unable to connect - Driver doesn't support all functionality required + Невозможно соединиться - Драйвер не поддерживает требуемый функционал QODBCResult - - + + QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Невозможно установить 'SQL_CURSOR_STATIC' атрибутом выражение. Проверьте настройки драйвера ODBC - - + + Unable to execute statement Невозможно выполнить выражение - + Unable to fetch next Невозможно получить следующую строку - + Unable to prepare statement Невозможно подготовить выражение @@ -3426,14 +3543,14 @@ Do you want to delete it anyway? Невозможно привязать значение - - - + + + Unable to fetch last Невозможно получить последнюю строку - + Unable to fetch Невозможно получить данные @@ -3451,9 +3568,9 @@ Do you want to delete it anyway? QObject - - Home - + + Invalid hostname + Некорректное имя узла @@ -3461,19 +3578,11 @@ Do you want to delete it anyway? Операция не поддерживается для %1 - + Invalid URI: %1 Некорректный URI: %1 - Write error writing to %1: %2 - Ошибка записи в %1: %2 - - - Read error reading from %1: %2 - Ошибка чтения из %1: %2 - - Socket error on %1: %2 Ошика сокета для %1: %2 @@ -3484,12 +3593,8 @@ Do you want to delete it anyway? Удалённый узел неожиданно прервал соединение для %1 - Protocol error: packet of size 0 received - Ошибка протокола: получен пакет нулевого размера - - - - + + No host name given Имя узла не задано @@ -3497,7 +3602,7 @@ Do you want to delete it anyway? QPPDOptionsModel - + Name Имя @@ -3510,7 +3615,7 @@ Do you want to delete it anyway? QPSQLDriver - + Unable to connect Невозможно соединиться @@ -3522,15 +3627,15 @@ Do you want to delete it anyway? Could not commit transaction - Не удалось выполнить транзакцию + Не удалось завершить транзакцию Could not rollback transaction - Не удалось откатить транзакцию + Не удалось отозвать транзакцию - + Unable to subscribe Невозможно подписаться @@ -3543,12 +3648,12 @@ Do you want to delete it anyway? QPSQLResult - + Unable to create query Невозможно создать запрос - + Unable to prepare statement Невозможно подготовить выражение @@ -3608,7 +3713,7 @@ Do you want to delete it anyway? Orientation - Ориентация страницы + Ориентация @@ -3643,7 +3748,7 @@ Do you want to delete it anyway? left margin - Левое поле + левое поле @@ -3653,7 +3758,7 @@ Do you want to delete it anyway? bottom margin - Нижнее поле + нижнее поле @@ -3664,7 +3769,7 @@ Do you want to delete it anyway? Неизвестная ошибка - + The plugin was not loaded. Модуль не был загружен. @@ -3672,7 +3777,7 @@ Do you want to delete it anyway? QPrintDialog - + locally connected соединено локально @@ -3839,21 +3944,21 @@ Do you want to delete it anyway? Конверт US #10 (105x241 мм) - + OK - Готово + Закрыть - + Print - Печатать + Печать Print To File ... - Печатать в файл ... + Печать в файл ... @@ -3892,7 +3997,7 @@ Do you want to overwrite it? Print selection - Печатать выделенное + Выделенный фрагмент @@ -3904,157 +4009,157 @@ Please choose a different file name. A0 - + A0 A1 - + A1 A2 - + A2 A3 - + A3 A4 - + A4 A5 - + A5 A6 - + A6 A7 - + A7 A8 - + A8 A9 - + A9 B0 - + B0 B1 - + B1 B2 - + B2 B3 - + B3 B4 - + B4 B5 - + B5 B6 - + B6 B7 - + B7 B8 - + B8 B9 - + B9 B10 - + B10 C5E - + C5E DLE - + DLE Executive - + Executive Folio - + Folio Ledger - + Ledger Legal - + Legal Letter - + Letter Tabloid - + Tabloid US Common #10 Envelope - + US Common #10 Envelope Custom - Произвольный + Пользовательский @@ -4065,7 +4170,7 @@ Please choose a different file name. &Print - &Печатать + &Печать @@ -4075,12 +4180,12 @@ Please choose a different file name. Print to File (PDF) - Печатать в файл (PDF) + Печать в файл (PDF) Print to File (Postscript) - Печатать в файл (Postscript) + Печать в файл (Postscript) @@ -4090,7 +4195,7 @@ Please choose a different file name. Write %1 file - Запись %1 файл + Запись %1 файла @@ -4104,7 +4209,7 @@ Please choose a different file name. Page Setup - Свойства страницы + Параметры страницы @@ -4184,16 +4289,12 @@ Please choose a different file name. Print - Печатать + Печать Page setup - Свойства страницы - - - Close - Закрыть + Параметры страницы @@ -4239,12 +4340,12 @@ Please choose a different file name. Print range - Печатать диапазон + Диапазон печати Print all - Печатать все + Все @@ -4259,7 +4360,7 @@ Please choose a different file name. Selection - Выделенные + Выделенный фрагмент @@ -4337,7 +4438,7 @@ Please choose a different file name. &Name: - &Имя: + &Название: @@ -4347,12 +4448,12 @@ Please choose a different file name. Location: - Положение: + Расположение: Preview - Предпросмотр + Просмотр @@ -4362,7 +4463,7 @@ Please choose a different file name. Output &file: - Выходной &файл: + Вывод в &файл: @@ -4373,28 +4474,28 @@ Please choose a different file name. QProcess - - + + Could not open input redirection for reading Не удалось открыть перенаправление ввода для чтения - + Could not open output redirection for writing Не удалось открыть перенаправление вывода для записи Resource error (fork failure): %1 - Ошибка выделения ресурсов (fork не удался): %1 + Ошибка выделения ресурсов (сбой fork): %1 - - + + - - + + @@ -4403,7 +4504,7 @@ Please choose a different file name. Время на операцию с процессом истекло - + @@ -4412,31 +4513,31 @@ Please choose a different file name. - + Error writing to process Ошибка отправки данных процессу - + Process crashed Процесс завершился с ошибкой - + No program defined - Программа не указана + Программа не указана - - Process failed to start - Не удалось запустить процесс + + Process failed to start: %1 + Не удалось запустить процесс: %1 QProgressDialog - + Cancel Отмена @@ -4460,7 +4561,7 @@ Please choose a different file name. QRegExp - + no error occurred ошибки отсутствуют @@ -4504,13 +4605,23 @@ Please choose a different file name. met internal limit достигнуто внутреннее ограничение + + + invalid interval + некорректный интервал + + + + invalid category + некорректная категория + QSQLite2Driver - - Error to open database - Невозможно открыть базу данных + + Error opening database + Ошибка открытия базы данных @@ -4520,23 +4631,23 @@ Please choose a different file name. Unable to commit transaction - Невозможно выполнить транзакцию + Невозможно завершить транзакцию - Unable to rollback Transaction - Невозможно откатить транзакцию + Unable to rollback transaction + Невозможно отозвать транзакцию QSQLite2Result - + Unable to fetch results - Невозможно получить результат + Невозможно получить результаты - + Unable to execute statement Невозможно выполнить выражение @@ -4544,14 +4655,14 @@ Please choose a different file name. QSQLiteDriver - + Error opening database - Невозможно открыть базу данных + Ошибка открытия базы данных Error closing database - Невозможно закрыть базу данных + Ошибка закрытия базы данных @@ -4561,25 +4672,25 @@ Please choose a different file name. Unable to commit transaction - Невозможно выполнить транзакцию + Невозможно завершить транзакцию Unable to rollback transaction - Невозможно откатить транзакцию + Невозможно отозвать транзакцию QSQLiteResult - + Unable to fetch row Невозможно получить строку - + Unable to execute statement Невозможно выполнить выражение @@ -4599,3215 +4710,5221 @@ Please choose a different file name. Количество параметров не совпадает - + No query Отсутствует запрос - QScrollBar + QScriptBreakpointsModel - - Scroll here - Прокрутить сюда + + ID + ID - Left edge - К левой границе + Location + Размещение - - Top - Вверх + + Condition + Условие - - Right edge - К правой границе + + Ignore-count + Пропустить - - Bottom - Вниз + + Single-shot + Один раз - Page left - На страницу влево + Hit-count + Попаданий + + + QScriptBreakpointsWidget - - - Page up - На страницу вверх + + New + Новая - - Page right - На страницу вправо + + Delete + Удалить + + + + QScriptDebugger + + + + Go to Line + Перейти к строке - - - Page down - На страницу вниз + + Line: + Строка: + + + + Interrupt + Прервать - Scroll left - Прокрутить влево + Shift+F5 + Shift+F5 - - Scroll up - Прокрутить вверх + + Continue + Продолжить - - Scroll right - Прокрутить вправо + + F5 + F5 - - Scroll down - Прокрутить вниз + + Step Into + Войти в - - Line up - На строку вверх + + F11 + F11 - - Position - Позиция + + Step Over + Перейти через - - Line down - На строку вниз + + F10 + F10 - - - QSharedMemory - - %1: unable to set key on lock - %1: невозможно установить ключ на блокировку + + Step Out + Выйти из функции - - %1: create size is less then 0 - %1: размер меньше нуля + + Shift+F11 + Shift+F11 - - - %1: unable to lock - %1: невозможно заблокировать + + Run to Cursor + Выполнить до курсора - - %1: unable to unlock - %1: невозможно разблокировать + + Ctrl+F10 + Ctrl+F10 - - - %1: permission denied - %1: доступ запрещён + + Run to New Script + Выполнить до нового сценария - - - %1: already exists - %1: уже существует + + Toggle Breakpoint + Установить/убрать точку останова - - - %1: doesn't exists - %1: не существует + + F9 + F9 - - - %1: out of resources - %1: недостаточно ресурсов + + Clear Debug Output + Очистить отладочный вывод - - - %1: unknown error %2 - %1: неизвестная ошибка %2 + + Clear Error Log + Очистить журнал ошибок - - %1: key is empty - %1: пустой ключ + + Clear Console + Очистить консоль - - %1: unix key file doesn't exists - %1: специфический ключ unix не существует + + &Find in Script... + &Найти в сценарии... - - %1: ftok failed - %1: ошибка ftok + + Ctrl+F + Ctrl+F - - - %1: unable to make key - %1: невозможно создать ключ + + Find &Next + Найти &следующее - - %1: system-imposed size restrictions - %1: системой наложены ограничения на размер + + F3 + F3 - - %1: not attached - %1: не приложенный + + Find &Previous + Найти &предыдущее - - %1: invalid size - %1: некорректный размер + + Shift+F3 + Shift+F3 - - %1: key error - %1: некорректный ключ + + Ctrl+G + Ctrl+G - - %1: size query failed - %1: не удалось запросить размер + + Debug + Отладка - QShortcut + QScriptDebuggerCodeFinderWidget - - Space - Пробел + + Close + Закрыть - - Esc - + + Previous + Предыдущий - - Tab - + + Next + Следующий - - Backtab - + + Case Sensitive + Учитывать регистр - - Backspace - + + Whole words + Слова целиком - - Return - + + <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped + <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Поиск с начала + + + QScriptDebuggerLocalsModel - - Enter - + + Name + Название - - Ins - + + Value + Значение + + + QScriptDebuggerStackModel - - Del - + + Level + Уровень - - Pause - Пауза + + Name + Название - - Print - Печатать + + Location + Размещение + + + QScriptEdit - - SysReq - + + Toggle Breakpoint + Установить/убрать точку останова - - Home - + + Disable Breakpoint + Убрать точку останова - End - + Enable Breakpoint + Установить точку останова - - Left - Влево + + Breakpoint Condition: + Условие точки останова: + + + QScriptEngineDebugger - - Up - Вверх + + Loaded Scripts + Загруженные сценарии - - Right - Вправо + + Breakpoints + Точки останова - - Down - Вниз + + Stack + Стек - - PgUp - + + Locals + Локальные переменные - - PgDown - + + Console + Консоль - - CapsLock - + + Debug Output + Отладочный вывод - - NumLock - + + Error Log + Журнал ошибок - - ScrollLock - + + Search + Поиск - - Menu - Меню + + View + Вид - - Help - Справка + + Qt Script Debugger + Отладчик сценариев Qt + + + QScriptNewBreakpointWidget - - Back - Назад + + Close + Закрыть + + + QScrollBar - - Forward - Вперед + + Scroll here + Прокрутить сюда - - Stop - Остановить + + Left edge + К левой границе - - Refresh - Обновить + + Top + Вверх - Volume Down - + Right edge + К правой границе - - Volume Mute - + + Bottom + Вниз - - Volume Up - + + Page left + На страницу влево - - Bass Boost - + + + Page up + На страницу вверх - Bass Up - + Page right + На страницу вправо - - Bass Down - + + + Page down + На страницу вниз - - Treble Up - + + Scroll left + Прокрутить влево - - Treble Down - + + Scroll up + Прокрутить вверх - Media Play - + Scroll right + Прокрутить вправо - - Media Stop - + + Scroll down + Прокрутить вниз - - Media Previous - + + Line up + На строку вверх - - Media Next - + + Position + Положение - - Media Record - + + Line down + На строку вниз + + + QSharedMemory - - Favorites - + + %1: unable to set key on lock + %1: невозможно установить ключ на блокировку - - Search - Поиск + + %1: create size is less then 0 + %1: размер меньше нуля - - Standby - + + + %1: unable to lock + %1: невозможно заблокировать - - Open URL - + + %1: unable to unlock + %1: невозможно разблокировать - - Launch Mail - + + + + %1: permission denied + %1: доступ запрещён - - Launch Media - + + + + %1: already exists + %1: уже существует - - Launch (0) - + + %1: doesn't exists + %1: не существует - - Launch (1) - + + + + %1: out of resources + %1: недостаточно ресурсов - - Launch (2) - + + + + %1: unknown error %2 + %1: неизвестная ошибка %2 - - Launch (3) - + + %1: key is empty + %1: пустой ключ - - Launch (4) - + + + %1: doesn't exist + %1: не существует - - Launch (5) - + + %1: UNIX key file doesn't exist + %1: специфический ключ UNIX не существует - - Launch (6) - + + %1: ftok failed + %1: ошибка ftok - - Launch (7) - + + + + %1: unable to make key + %1: невозможно создать ключ - - Launch (8) - + + %1: system-imposed size restrictions + %1: системой наложены ограничения на размер - - Launch (9) - + + %1: not attached + %1: не приложенный - - Launch (A) - + + + %1: invalid size + %1: некорректный размер - - Launch (B) + + + %1: key error + %1: некорректный ключ + + + + %1: size query failed + %1: не удалось запросить размер + + + + QShortcut + + + Space - Launch (C) + Esc - Launch (D) + Tab - Launch (E) + Backtab - Launch (F) + Backspace - - Print Screen + + Return - Page Up + Enter - Page Down + Ins - Caps Lock + Del - Num Lock + Pause - Number Lock + Print - Scroll Lock + SysReq - Insert - Вставка + Home + - Delete - Удаление + End + - Escape + Left - System Request + Up - - Select + + Right - Yes - Да + Down + - No - Нет + PgUp + - - Context1 + + PgDown - Context2 + CapsLock - Context3 + NumLock - Context4 + ScrollLock - Call - + Menu + Меню - Hangup - + Help + Справка + + + + Back + Назад - Flip - + Forward + Вперёд - - - Ctrl - + + Stop + Остановить - - - Shift - + + Refresh + Обновить - - - Alt - + + Volume Down + Тише - - - Meta + + Volume Mute + Выключить звук + + + + Volume Up + Громче + + + + Bass Boost - - + + + Bass Up - - F%1 + + Bass Down - - Home Page + + Treble Up - - - QSlider - - Page left - Страница влево + + Treble Down + - - Page up - Страница вверх + + Media Play + Воспроизведение - - Position - Позиция + + Media Stop + Остановить воспроизведение - - Page right - Страница вправо + + Media Previous + Воспроизвести предыдущее - - Page down - Страница вниз + + Media Next + Воспроизвести следующее - - - QSocks5SocketEngine - - Connection to proxy refused - В соединении прокси-сервером отказано + + Media Record + Запись - - Connection to proxy closed prematurely - Соединение с прокси-сервером неожиданно закрыто + + Favorites + Избранное - - Proxy host not found - Прокси-сервер не найден + + Search + Поиск - - Connection to proxy timed out - Время на соединение с прокси-сервером истекло + + Standby + Режим ожидания - - Proxy authentication failed - Не удалось авторизоваться на прокси-сервере + + Open URL + Открыть URL - Proxy authentication failed: %1 - Не удалось авторизоваться на прокси-сервере: %1 + Launch Mail + Почта - - SOCKS version 5 protocol error - Ошибка протокола SOCKSv5 + + Launch Media + Проигрыватель - - General SOCKSv5 server failure - Ошибка сервере SOCKSv5 + + Launch (0) + Запустить (0) - - Connection not allowed by SOCKSv5 server - Соединение не разрешено сервером SOCKSv5 + + Launch (1) + Запустить (1) - - TTL expired - TTL истекло + + Launch (2) + Запустить (2) - - SOCKSv5 command not supported - Команда SOCKSv5 не поддерживается + + Launch (3) + Запустить (3) - - Address type not supported - Тип адреса не поддерживается + + Launch (4) + Запустить (4) - - Unknown SOCKSv5 proxy error code 0x%1 - Неизвестная ошибка SOCKSv5 прокси (код 0x%1) + + Launch (5) + Запустить (5) - - Network operation timed out - Время на сетевую операцию истекло + + Launch (6) + Запустить (6) - - - QSpinBox - - More - Больше + + Launch (7) + Запустить (7) - - Less - Меньше + + Launch (8) + Запустить (8) - - - QSql - - Delete - Удалить + + Launch (9) + Запустить (9) - Delete this record? - Удалить данную запись? + Launch (A) + Запустить (A) - - - Yes - Да + Launch (B) + Запустить (B) - - - - No - Нет + + Launch (C) + Запустить (C) - - Insert - Вставить + + Launch (D) + Запустить (D) - - Update - Обновить + + Launch (E) + Запустить (E) + + + + Launch (F) + Запустить (F) - Save edits? - Сохранить изменения? + Print Screen + - - Cancel - Отмена + + Page Up + - - Confirm - Подтверждение + + Page Down + - Cancel your edits? - Отменить изменения? + Caps Lock + - - - QSslSocket - - Unable to write data: %1 - Невозможно записать данные: %1 + + Num Lock + - - Error while reading: %1 - Ошибка чтения: %1 + + Number Lock + - - Error during SSL handshake: %1 + + Scroll Lock - - Error creating SSL context (%1) + + Insert + Вставить + + + + Delete + Удалить + + + + Escape - - Invalid or empty cipher list (%1) + + System Request - - Error creating SSL session, %1 - Ошибка создания SSL-сессии, %1 + + Select + Выбрать - - Error creating SSL session: %1 - Ошибка создания SSL-сессии: %1 + + Yes + Да - - Cannot provide a certificate with no key, %1 - + + No + Нет - - Error loading local certificate, %1 - Ошибка загрузки локального сертификата, %1 + + Context1 + - - Error loading private key, %1 - Ошибка загрузки приватного ключа, %1 + + Context2 + - - Private key does not certificate public key, %1 + + Context3 - - - QStateMachine - - Missing initial state in compound state '%1' + + Context4 - - Missing default state in history state '%1' + + Call - - No common ancestor for targets and source of transition from state '%1' + + Hangup - - Unknown error - Неизвестная ошибка + + Flip + - - - QSystemSemaphore - - - %1: out of resources - %1: недостаточно ресурсов + + + Ctrl + - - - %1: permission denied - %1: доступ запрещён + + + Shift + - - %1: already exists - %1: уже существует + + + Alt + - - %1: does not exist - %1: не существует + + + Meta + - - - %1: unknown error %2 - %1: неизвестная ошибка %2 + + + + - - - QTDSDriver - - Unable to open connection - Невозможно открыть соединение + + F%1 + - - Unable to use database - Невозможно использовать базу данных + + Home Page + - QTabBar + QSlider - - Scroll Left - Прокрутить влево + + Page left + Страница влево - Scroll Right - Прокрутить вправо + Page up + Страница вверх - - - QTcpServer - - Operation on socket is not supported - Операция с сокетом не поддерживается + + Position + Положение + + + + Page right + Страница вправо + + + + Page down + Страница вниз - QTextControl + QSocks5SocketEngine - - &Undo - &Отменить действие + + Connection to proxy refused + В соединении с прокси-сервером отказано - - &Redo - &Повторить действие + + Connection to proxy closed prematurely + Соединение с прокси-сервером неожиданно закрыто - Cu&t - &Вырезать + Proxy host not found + Прокси-сервер не найден - &Copy - &Копировать + Connection to proxy timed out + Время на соединение с прокси-сервером истекло - - Copy &Link Location - Скопировать &адрес ссылки + + Proxy authentication failed + Не удалось авторизоваться на прокси-сервере - - &Paste - В&ставить + + Proxy authentication failed: %1 + Не удалось авторизоваться на прокси-сервере: %1 - - Delete - Удалить + + SOCKS version 5 protocol error + Ошибка протокола SOCKSv5 - - Select All - Выделить все + + General SOCKSv5 server failure + Ошибка сервере SOCKSv5 - - - QToolButton - - - Press - Нажать + + Connection not allowed by SOCKSv5 server + Соединение не разрешено сервером SOCKSv5 - - - Open - Открыть + + TTL expired + TTL истекло + + + + SOCKSv5 command not supported + Команда SOCKSv5 не поддерживается + + + + Address type not supported + Тип адреса не поддерживается + + + + Unknown SOCKSv5 proxy error code 0x%1 + Неизвестная ошибка SOCKSv5 прокси (код 0x%1) + + + + Network operation timed out + Время на сетевую операцию истекло - QUdpSocket + QSoftKeyManager - - This platform does not support IPv6 - Данная платформа не поддерживает IPv6 + + Ok + ОК + + + + Select + Выбрать + + + + Done + Готово + + + + Options + Параметры + + + + Cancel + Отмена + + + + Exit + Выход - QUndoGroup + QSpinBox - - Undo - Отменить действие + + More + Больше - - Redo - Повторить действие + + Less + Меньше - QUndoModel + QSql - - <empty> - <пусто> + + Delete + Удалить + + + + Delete this record? + Удалить данную запись? + + + + + + Yes + Да + + + + + + No + Нет + + + + Insert + Вставить + + + + Update + Обновить + + + + Save edits? + Сохранить изменения? + + + + Cancel + Отмена + + + + Confirm + Подтверждение + + + + Cancel your edits? + Отменить изменения? - QUndoStack + QSslSocket - - Undo - Отменить действие + + Unable to write data: %1 + Невозможно записать данные: %1 - - Redo - Повторить действие + + Error while reading: %1 + Ошибка чтения: %1 + + + + Error during SSL handshake: %1 + Ошибка квитирования SSL: %1 + + + + Error creating SSL context (%1) + Ошибка создания контекста SSL: (%1) + + + + Invalid or empty cipher list (%1) + Неправильный или пустой список шифров (%1) + + + + Error creating SSL session, %1 + Ошибка создания сессии SSL, %1 + + + + Error creating SSL session: %1 + Ошибка создания сессии SSL: %1 + + + + Cannot provide a certificate with no key, %1 + Невозможно предоставить сертификат без ключа, %1 + + + + Error loading local certificate, %1 + Ошибка загрузки локального сертификата, %1 + + + + Error loading private key, %1 + Ошибка загрузки закрытого ключа, %1 + + + + Private key does not certificate public key, %1 + Закрытый ключ не соответствует открытому ключу, %1 - QUnicodeControlCharacterMenu + QStateMachine - - LRM Left-to-right mark + + Missing initial state in compound state '%1' - - RLM Right-to-left mark + + Missing default state in history state '%1' - - ZWJ Zero width joiner + + No common ancestor for targets and source of transition from state '%1' - - ZWNJ Zero width non-joiner - + + Unknown error + Неизвестная ошибка + + + QSystemSemaphore - - ZWSP Zero width space - + + + %1: out of resources + %1: недостаточно ресурсов - - LRE Start of left-to-right embedding - + + + %1: permission denied + %1: доступ запрещён - - RLE Start of right-to-left embedding - + + %1: already exists + %1: уже существует - - LRO Start of left-to-right override - + + %1: does not exist + %1: не существует - - RLO Start of right-to-left override - + + + %1: unknown error %2 + %1: неизвестная ошибка %2 + + + QTDSDriver - - PDF Pop directional formatting - + + Unable to open connection + Невозможно открыть соединение - - Insert Unicode control character - + + Unable to use database + Невозможно использовать базу данных - QWebFrame + QTabBar - - Request cancelled - Запрос отменён + + Scroll Left + Прокрутить влево - - Request blocked - Запрос блокирован + + Scroll Right + Прокрутить вправо + + + + QTcpServer + + + Operation on socket is not supported + Операция с сокетом не поддерживается + + + + QTextControl + + + &Undo + &Отменить действие + + + + &Redo + &Повторить действие + + + + Cu&t + &Вырезать + + + + &Copy + &Копировать + + + + Copy &Link Location + Скопировать &адрес ссылки + + + + &Paste + В&ставить + + + + Delete + Удалить + + + + Select All + Выделить всё + + + + QToolButton + + + + Press + Нажать + + + + + Open + Открыть + + + + QUdpSocket + + + This platform does not support IPv6 + Данная платформа не поддерживает IPv6 + + + + QUndoGroup + + + Undo + Отменить действие + + + + Redo + Повторить действие + + + + QUndoModel + + + <empty> + <пусто> + + + + QUndoStack + + + Undo + Отменить действие + + + + Redo + Повторить действие + + + + QUnicodeControlCharacterMenu + + + LRM Left-to-right mark + LRM Признак письма слева направо + + + + RLM Right-to-left mark + RLM Признак письма справа налево + + + + ZWJ Zero width joiner + ZWJ Объединяющий символ нулевой ширины + + + + ZWNJ Zero width non-joiner + ZWNJ Не объединяющий символ нулевой ширины + + + + ZWSP Zero width space + ZWSP Пробел нулевой ширины + + + + LRE Start of left-to-right embedding + + + + + RLE Start of right-to-left embedding + + + + + LRO Start of left-to-right override + + + + + RLO Start of right-to-left override + + + + + PDF Pop directional formatting + + + + + Insert Unicode control character + Вставить управляющий символ Unicode + + + + QWebFrame + + + Request cancelled + Запрос отменён + + + + Request blocked + Запрос блокирован + + + + Cannot show URL + Невозможно отобразить URL + + + + Frame load interrupted by policy change + Загрузка фрейма прервана изменением политики + + + + Cannot show mimetype + Невозможно отобразить тип MIME + + + + File does not exist + Файл не существует + + + + QWebPage + + + Bad HTTP request + Некорректный HTTP-запрос + + + + Submit + default label for Submit buttons in forms on web pages + Отправить + + + + Submit + Submit (input element) alt text for <input> elements with no alt, title, or value + Отправить + + + + Reset + default label for Reset buttons in forms on web pages + Сбросить + + + + This is a searchable index. Enter search keywords: + text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' + Индекс поиска. Введите ключевые слова для поиска: + + + + Choose File + title for file button used in HTML forms + Обзор... + + + + No file selected + text to display in file button used in HTML forms when no file is selected + Файл не указан + + + + Open in New Window + Open in New Window context menu item + Открыть в новом окне + + + + Save Link... + Download Linked File context menu item + Сохранить по ссылке как... + + + + Copy Link + Copy Link context menu item + Копировать адрес ссылки + + + + Open Image + Open Image in New Window context menu item + Открыть изображение + + + + Save Image + Download Image context menu item + Сохранить изображение + + + + Copy Image + Copy Link context menu item + Копировать изображение в буффер обмена + + + + Open Frame + Open Frame in New Window context menu item + Открыть фрейм + + + + Copy + Copy context menu item + Копировать + + + + Go Back + Back context menu item + Назад + + + + Go Forward + Forward context menu item + Вперёд + + + + Stop + Stop context menu item + Остановить + + + + Reload + Reload context menu item + Обновить + + + + Cut + Cut context menu item + Вырезать + + + + Paste + Paste context menu item + Вставить + + + + No Guesses Found + No Guesses Found context menu item + Неверное слово + + + + Ignore + Ignore Spelling context menu item + ?Пропускать + Пропустить + + + + Add To Dictionary + Learn Spelling context menu item + Добавить в словарь + + + + Search The Web + Search The Web context menu item + Искать в Интернет + + + + Look Up In Dictionary + Look Up in Dictionary context menu item + Искать в словаре + + + + Open Link + Open Link context menu item + Открыть ссылку + + + + Ignore + Ignore Grammar context menu item + ?Пропускать + Пропустить + + + + Spelling + Spelling and Grammar context sub-menu item + Орфография + + + + Show Spelling and Grammar + menu item title + Показать панель проверки правописания + + + + Hide Spelling and Grammar + menu item title + Скрыть панель проверки правописания + + + + Check Spelling + Check spelling context menu item + Проверка орфографии + + + + Check Spelling While Typing + Check spelling while typing context menu item + Проверять орфографию при наборе текста + + + + Check Grammar With Spelling + Check grammar with spelling context menu item + Проверять грамматику с орфографией + + + + Fonts + Font context sub-menu item + Шрифты + + + + Bold + Bold context menu item + Жирный + + + + Italic + Italic context menu item + Курсив + + + + Underline + Underline context menu item + Подчёркнутый + + + + Outline + Outline context menu item + Перечёркнутый + + + + Direction + Writing direction context sub-menu item + Направление письма + + + + Text Direction + Text direction context sub-menu item + Направление текста + + + + Default + Default writing direction context menu item + По умолчанию + + + + Left to Right + Left to Right context menu item + Слева направо + + + + Right to Left + Right to Left context menu item + Справа налево + + + + Loading... + Media controller status message when the media is loading + Загрузка... + + + + Live Broadcast + Media controller status message when watching a live broadcast + Потоковое вещание + + + + Audio Element + Media controller element + + + + + Video Element + Media controller element + + + + + Mute Button + Media controller element + + + + + Unmute Button + Media controller element + + + + + Play Button + Media controller element + + + + + Pause Button + Media controller element + + + + + Slider + Media controller element + + + + + Slider Thumb + Media controller element + + + + + Rewind Button + Media controller element + + + + + Return to Real-time Button + Media controller element + + + + + Elapsed Time + Media controller element + + + + + Remaining Time + Media controller element + + + + + Status Display + Media controller element + + + + + Fullscreen Button + Media controller element + + + + + Seek Forward Button + Media controller element + + + + + Seek Back Button + Media controller element + + + + + Audio element playback controls and status display + Media controller element + + + + + Video element playback controls and status display + Media controller element + + + + + Mute audio tracks + Media controller element + + + + + Unmute audio tracks + Media controller element + + + + + Begin playback + Media controller element + + + + + Pause playback + Media controller element + + + + + Movie time scrubber + Media controller element + + + + + Movie time scrubber thumb + Media controller element + + + + + Rewind movie + Media controller element + + + + + Return streaming movie to real-time + Media controller element + + + + + Current movie time + Media controller element + + + + + Remaining movie time + Media controller element + + + + + Current movie status + Media controller element + + + + + Play movie in full-screen mode + Media controller element + + + + + Seek quickly back + Media controller element + + + + + Seek quickly forward + Media controller element + + + + + Indefinite time + Media time description + + + + + %1 days %2 hours %3 minutes %4 seconds + Media time description + + + + + %1 hours %2 minutes %3 seconds + Media time description + + + + + %1 minutes %2 seconds + Media time description + + + + + %1 seconds + Media time description + + + + + Inspect + Inspect Element context menu item + Проверить + + + + No recent searches + Label for only item in menu that appears when clicking on the search field image, when no searches have been performed + История поиска пуста + + + + Recent searches + label for first item in the menu that appears when clicking on the search field image, used as embedded menu title + История поиска + + + + Clear recent searches + menu item in Recent Searches menu that empties menu's contents + Очистить историю поиска + + + + Unknown + Unknown filesize FTP directory listing item + Неизвестно + + + + %1 (%2x%3 pixels) + Title string for images + %1 (%2x%3 px) + + + + Web Inspector - %2 + Web-инспектор - %2 + + + + Scroll here + Прокрутить сюда + + + + Left edge + К левой границе + + + + Top + Вверх + + + + Right edge + К правой границе + + + + Bottom + Вниз + + + + Page left + На страницу влево + + + + Page up + На страницу вверх + + + + Page right + На страницу вправо + + + + Page down + На страницу вниз + + + + Scroll left + Прокрутить влево + + + + Scroll up + Прокрутить вверх + + + + Scroll right + Прокрутить вправо + + + + Scroll down + Прокрутить вниз + + + + %n file(s) + number of chosen file + + %n файл(а) + %n файла + %n файлов + + + + + JavaScript Alert - %1 + JavaScript: Предупреждение - %1 + + + + JavaScript Confirm - %1 + JavaScript: Подтверждение - %1 + + + + JavaScript Prompt - %1 + JavaScript: Запрос - %1 + + + + JavaScript Problem - %1 + JavaScript: Проблема - %1 + + + + The script on this page appears to have a problem. Do you want to stop the script? + Сбой выполнения сценария на данной странице. Желаете остановить выполение сценария? + + + + Move the cursor to the next character + Переместить указатель к следующему символу + + + + Move the cursor to the previous character + Переместить указатель к предыдущему символу + + + + Move the cursor to the next word + Переместить указатель к следующему слову + + + + Move the cursor to the previous word + Переместить указатель к предыдущему слову + + + + Move the cursor to the next line + Переместить указатель на следующую строку + + + + Move the cursor to the previous line + Переместить указатель на предыдущую строку + + + + Move the cursor to the start of the line + Переместить указатель в начало строки + + + + Move the cursor to the end of the line + Переместить указатель в конец строки + + + + Move the cursor to the start of the block + Переместить указатель в начало блока + + + + Move the cursor to the end of the block + Переместить указатель в конец блока + + + + Move the cursor to the start of the document + Переместить указатель в начало документа + + + + Move the cursor to the end of the document + Переместить указатель в конец документа + + + + Select all + Выделить всё + + + + Select to the next character + Выделить до следующего символа + + + + Select to the previous character + Выделить до предыдущего символа + + + + Select to the next word + Выделить до следующего слова + + + + Select to the previous word + Выделить до предыдущего слова + + + + Select to the next line + Выделить до следующей строки + + + + Select to the previous line + Выделить до предыдущей строки + + + + Select to the start of the line + Выделить до начала строки + + + + Select to the end of the line + Выделить до конца строки + + + + Select to the start of the block + Выделить до начала блока + + + + Select to the end of the block + Выделить до конца блока + + + + Select to the start of the document + Выделить до начала документа + + + + Select to the end of the document + Выделить до конца документа + + + + Delete to the start of the word + Удалить до начала слова + + + + Delete to the end of the word + Удалить до конца слова + + + + Insert a new paragraph + Вставить новый параграф + + + + Insert a new line + Вставить новую строку + + + + Paste and Match Style + Вставить, сохранив стиль + + + + Remove formatting + Удалить форматирование + + + + Strikethrough + Зачёркнутый + + + + Subscript + Подстрочный + + + + Superscript + Надстрочный + + + + Insert Bulleted List + Вставить маркированный список + + + + Insert Numbered List + Вставить нумерованный список + + + + Indent + Увеличить отступ + + + + Outdent + Уменьшить отступ + + + + Center + По центру + + + + Justify + По ширине + + + + Align Left + По левому краю + + + + Align Right + По правому краю + + + + QWhatsThisAction + + + What's This? + Что это? + + + + QWidget + + + * + * + + + + QWizard + + + Go Back + Назад + + + + Continue + Продолжить + + + + Commit + Передать + + + + Done + Готово + + + + Help + Справка + + + + < &Back + < &Назад + + + + &Finish + &Завершить + + + + Cancel + Отмена + + + + &Help + &Справка + + + + &Next + &Далее + + + + &Next > + &Далее > + + + + QWorkspace + + + &Restore + &Восстановить + + + + &Move + &Переместить + + + + &Size + &Размер + + + + Mi&nimize + &Свернуть + + + + Ma&ximize + Р&аспахнуть + + + + &Close + &Закрыть + + + + Stay on &Top + Оставаться &сверху + + + + + Sh&ade + Св&ернуть в заголовок + + + + + %1 - [%2] + %1 - [%2] + + + + Minimize + Свернуть + + + + Restore Down + Восстановить + + + + Close + Закрыть + + + + &Unshade + В&осстановить из заголовка + + + + QXml + + + no error occurred + ошибки отсутствуют + + + + error triggered by consumer + ошибка вызвана пользователем + + + + unexpected end of file + неожиданный конец файла + + + + more than one document type definition + указано более одного типа документа + + + + error occurred while parsing element + ошибка разбора элемента + + + + tag mismatch + тэг не совпадает + + + + error occurred while parsing content + ошибка разбора документа + + + + unexpected character + неожиданный символ + + + + invalid name for processing instruction + некорректное имя директивы разбора + + + + version expected while reading the XML declaration + в объявлении XML ожидается параметр version + + + + wrong value for standalone declaration + некорректное значение параметра standalone + + + + encoding declaration or standalone declaration expected while reading the XML declaration + в объявлении XML ожидаются параметры encoding или standalone + + + + standalone declaration expected while reading the XML declaration + в объявлении XML ожидается параметр standalone + + + + error occurred while parsing document type definition + ошибка разбора объявления типа документа + + + + letter is expected + ожидалась буква + + + + error occurred while parsing comment + ошибка разбора комментария + + + + error occurred while parsing reference + ошибка разбора ссылки + + + + internal general entity reference not allowed in DTD + внутренняя ссылка на общий объект недопустима в DTD + + + + external parsed general entity reference not allowed in attribute value + внешняя ссылка на общий объект недопустима в значении атрибута + + + + external parsed general entity reference not allowed in DTD + внешняя ссылка на общий объект недопустима в DTD + + + + unparsed entity reference in wrong context + неразобранная ссылка на объект в неверном контексте + + + + recursive entities + рекурсивные объекты + + + + error in the text declaration of an external entity + ошибка в объявлении внешнего объекта + + + + QXmlStream + + + + Extra content at end of document. + Лишние данные в конце документа. + + + + Invalid entity value. + Некорректное значение объекта. + + + + Invalid XML character. + Некорректный символ XML. + + + + Sequence ']]>' not allowed in content. + Последовательность ']]>' недопустима в содержимом. + + + + Namespace prefix '%1' not declared + Префикс пространства имён '%1' не объявлен + + + + Attribute redefined. + Атрибут переопределён. + + + + Unexpected character '%1' in public id literal. + Неожиданный символ '%1' в литерале открытого идентификатора. + + + + Invalid XML version string. + Неверная строка версии XML. + + + + Unsupported XML version. + Неподдерживаемая версия XML. + + + + %1 is an invalid encoding name. + %1 - неверное название кодировки. + + + + Encoding %1 is unsupported + Кодировка %1 не поддерживается + + + + Standalone accepts only yes or no. + Псевдоатрибут 'standalone' может принимать только значения 'yes' или 'no'. + + + + Invalid attribute in XML declaration. + Некорректный атрибут в объявлении XML. + + + + Premature end of document. + Неожиданный конец документа. + + + + Invalid document. + Некорректный документ. + + + + Expected + Ожидалось + + + + , but got ' + , получили ' + + + + Unexpected ' + Неожиданное ' + + + + Expected character data. + Ожидаются символьные данные. + + + + Recursive entity detected. + Обнаружен рекурсивный объект. + + + + Start tag expected. + Ожидается открывающий тэг. + + + + XML declaration not at start of document. + Объявление XML находится не в начале документа. + + + + NDATA in parameter entity declaration. + NDATA в объявлении параметра. + + + + %1 is an invalid processing instruction name. + %1 неверное название обрабатываемой инструкции. + + + + Invalid processing instruction name. + Неверное название обрабатываемой инструкции. + + + + + + + Illegal namespace declaration. + Неверное объявление пространства имён. + + + + Invalid XML name. + Некорректное имя XML. + + + + Opening and ending tag mismatch. + Открывающий тэг не совпадает с закрывающим. + + + + Reference to unparsed entity '%1'. + Ссылка на необработанный объект '%1'. + + + + + + Entity '%1' not declared. + Объект '%1' не объявлен. + + + + Reference to external entity '%1' in attribute value. + Ссылка на внешний объект '%1' в значении атрибута. + + + + Invalid character reference. + Неверная символьная ссылка. + + + + + Encountered incorrectly encoded content. + Обнаружено неверно закодированное содержимое. + + + + The standalone pseudo attribute must appear after the encoding. + Псевдоатрибут 'standalone' должен находиться после указания кодировки. + + + + %1 is an invalid PUBLIC identifier. + %1 - неверный идентификатор PUBLIC. + + + + QtXmlPatterns + + + Network timeout. + Время ожидания сети истекло. + + + + Element %1 can't be serialized because it appears outside the document element. + Элемент %1 не может быть сериализован, так как присутствует вне документа. + + + + Year %1 is invalid because it begins with %2. + Год %1 неверен, так как начинается с %2. + + + + Day %1 is outside the range %2..%3. + День %1 вне диапазона %2..%3. + + + + Month %1 is outside the range %2..%3. + Месяц %1 вне диапазона %2..%3. + + + + Overflow: Can't represent date %1. + Переполнение: Не удается представить дату %1. + + + + Day %1 is invalid for month %2. + День %1 неверен для месяца %2. + + + + Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; + Время 24:%1:%2.%3 неверно. 24 часа, но минуты, секунды и/или миллисекунды отличны от 0; + + + + Time %1:%2:%3.%4 is invalid. + Время %1:%2:%3.%4 неверно. + + + + Overflow: Date can't be represented. + Переполнение: невозможно представить дату. + + + + + At least one component must be present. + Должна присутствовать как минимум одна компонента. + + + + At least one time component must appear after the %1-delimiter. + Как минимум одна компонента времени должна следовать за разделителем '%1'. + + + + %1 is not a valid value of type %2. + %1 не является правильным значением типа %2. + + + + When casting to %1 from %2, the source value cannot be %3. + При преобразовании %2 в %1 исходное значение не может быть %3. + + + + Integer division (%1) by zero (%2) is undefined. + Целочисленное деление (%1) на нуль (%2) не определено. + + + + Division (%1) by zero (%2) is undefined. + Деление (%1) на нуль (%2) не определено. + + + + Modulus division (%1) by zero (%2) is undefined. + Деление по модулю (%1) на нуль (%2) не определено. + + + + + Dividing a value of type %1 by %2 (not-a-number) is not allowed. + Деление числа типа %1 на %2 (не числовое выражение) недопустимо. + + + + Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. + Деление числа типа %1 на %2 или %3 (плюс или минус нуль) недопустимо. + + + + Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. + Умножение числа типа %1 на %2 или %3 (плюс-минус бесконечность) недопустимо. + + + + A value of type %1 cannot have an Effective Boolean Value. + Значение типа %1 не может быть булевым значением. + + + + Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. + Булево значение не может быть вычислено для последовательностей, которые содержат два и более атомарных значения. + + + + Value %1 of type %2 exceeds maximum (%3). + Значение %1 типа %2 больше максимума (%3). + + + + Value %1 of type %2 is below minimum (%3). + Значение %1 типа %2 меньше минимума (%3). + + + + A value of type %1 must contain an even number of digits. The value %2 does not. + Значение типа %1 должно содержать четное количество цифр. Значение %2 этому требованию не удовлетворяет. + + + + %1 is not valid as a value of type %2. + Значение %1 некорректно для типа %2. + + + + Operator %1 cannot be used on type %2. + Оператор %1 не может использоваться для типа %2. + + + + Operator %1 cannot be used on atomic values of type %2 and %3. + Оператор %1 не может использоваться для атомарных значений типов %2 и %3. + + + + The namespace URI in the name for a computed attribute cannot be %1. + URI пространства имён в названии рассчитываемого атрибута не может быть %1. + + + + The name for a computed attribute cannot have the namespace URI %1 with the local name %2. + Название расчитываемого атрибута не может иметь URI пространства имён %1 с локальным именем %2. + + + + Type error in cast, expected %1, received %2. + Ошибка типов в преобразовании, ожидалось %1, получено %2. + + + + When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. + При преобразовании в %1 или производные от него типы исходное значение должно быть того же типа или строковым литералом. Тип %2 недопустим. + + + + A comment cannot contain %1 + Комментарий не может содержать %1 + + + + A comment cannot end with a %1. + Комментарий не может оканчиваться на %1. + + + + An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. + Узел-атрибут не может быть потомком узла-документа. Атрибут %1 неуместен. + + + + A library module cannot be evaluated directly. It must be imported from a main module. + Модуль библиотеки не может использоваться напрямую. Он должен быть импортирован из основного модуля. + + + + No template by name %1 exists. + Шаблон с именем %1 отсутствует. + + + + A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. + Значение типа %1 не может быть условием. Условием могут являться числовой и булевый типы. + + + + A positional predicate must evaluate to a single numeric value. + Позиционный предикат должен вычисляться как числовое выражение. + + + + The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. + Целевое имя в обрабатываемой инструкции не может быть %1 в любой комбинации нижнего и верхнего регистров. Имя %2 некорректно. + + + + %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. + %1 некорректное целевое имя в обрабатываемой инструкции. Имя должно быть значением типа %2, например: %3. + + + + The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. + Последняя часть пути должна содержать узлы или атомарные значения, но не может содержать и то, и другое одновременно. + + + + The data of a processing instruction cannot contain the string %1 + Данные обрабатываемой инструкции не могут содержать строку '%1' + + + + No namespace binding exists for the prefix %1 + Отсутствует привязка к пространству имён для префикса %1 + + + + No namespace binding exists for the prefix %1 in %2 + Отсутствует привязка к пространству имён для префикса %1 в %2 + + + + + %1 is an invalid %2 + %1 некоррекно для %2 + + + + %1 takes at most %n argument(s). %2 is therefore invalid. + + %1 принимает не более %n аргумента. Следовательно, %2 неверно. + %1 принимает не более %n аргументов. Следовательно, %2 неверно. + %1 принимает не более %n аргументов. Следовательно, %2 неверно. + + + + + %1 requires at least %n argument(s). %2 is therefore invalid. + + %1 принимает не менее %n аргумента. Следовательно, %2 неверно. + %1 принимает не менее %n аргументов. Следовательно, %2 неверно. + %1 принимает не менее %n аргументов. Следовательно, %2 неверно. + + + + + The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. + Первый аргумент %1 не может быть типа %2. Он должен быть числового типа, типа xs:yearMonthDuration или типа xs:dayTimeDuration. + + + + The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. + Первый аргумент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5. + + + + The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. + Второй аргумент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5. + + + + %1 is not a valid XML 1.0 character. + Символ %1 недопустим для XML 1.0. + + + + If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. + Если оба значения имеют региональные смещения, смещения должны быть одинаковы. %1 и %2 не одинаковы. + + + + %1 was called. + %1 было вызвано. + + + + %1 must be followed by %2 or %3, not at the end of the replacement string. + '%1' должно сопровождаться '%2' или '%3', но не в конце замещаемой строки. + + + + In the replacement string, %1 must be followed by at least one digit when not escaped. + В замещаемой строке '%1' должно сопровождаться как минимум одной цифрой, если неэкранировано. + + + + In the replacement string, %1 can only be used to escape itself or %2, not %3 + В замещаемой строке символ '%1' может использоваться только для экранирования самого себя или '%2', но не '%3' + + + + %1 matches newline characters + %1 соответствует символам конца строки + + + + %1 and %2 match the start and end of a line. + %1 и %2 соответствуют началу и концу строки. + + + + Matches are case insensitive + Соответствия регистронезависимы + + + + Whitespace characters are removed, except when they appear in character classes + Символы пробелов удалены, за исключением тех, что были в классах символов + + + + %1 is an invalid regular expression pattern: %2 + %1 - неверный шаблон регулярного выражения: %2 + + + + %1 is an invalid flag for regular expressions. Valid flags are: + %1 - неверный флаг для регулярного выражения. Допустимые флаги: + + + + If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. + Префикс не должен быть указан, если первый параметр - пустая последовательность или пустая строка (вне пространства имён). Был указан префикс %1. - - Cannot show URL - Невозможно отобразить URL + + It will not be possible to retrieve %1. + Будет невозможно восстановить %1. - - Frame load interruped by policy change - Загрузка фрэйма прервана изменением политики + + The root node of the second argument to function %1 must be a document node. %2 is not a document node. + Корневой узел второго аргумента функции %1 должен быть документом. %2 не является документом. - - Cannot show mimetype - Невозможно отобразить тип MIME + + The default collection is undefined + Набор по умолчанию не определён - - File does not exist - Файл не существует + + %1 cannot be retrieved + %1 не может быть восстановлен - - - QWebPage - - Bad HTTP request - Некорректный HTTP-запрос + + The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). + Форма нормализации %1 не поддерживается. Поддерживаются только %2, %3, %4, %5 и пустая, т.е. пустая строка (без нормализации). - - Submit - default label for Submit buttons in forms on web pages - Отправить + + A zone offset must be in the range %1..%2 inclusive. %3 is out of range. + Региональное смещение должно быть в переделах от %1 до %2 включительно. %3 выходит за допустимые пределы. - - Submit - Submit (input element) alt text for <input> elements with no alt, title, or value - Отправить + + %1 is not a whole number of minutes. + %1 не является полным количеством минут. - - Reset - default label for Reset buttons in forms on web pages - Сбросить + + Required cardinality is %1; got cardinality %2. + Необходимо %1 элементов, получено %2. - - This is a searchable index. Enter search keywords: - text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' - Индекс поиска. Введите ключевые слова для поиска: + + The item %1 did not match the required type %2. + Элемент %1 не соответствует необходимому типу %2. - - Choose File - title for file button used in HTML forms - Обзор... + + + %1 is an unknown schema type. + %1 является схемой неизвестного типа. - - No file selected - text to display in file button used in HTML forms when no file is selected - Файл не указан + + Only one %1 declaration can occur in the query prolog. + Только одно объявление %1 может присутствовать в прологе запроса. - - Open in New Window - Open in New Window context menu item - Открыть в новом окне + + The initialization of variable %1 depends on itself + Инициализация переменной %1 зависит от себя самой - - Save Link... - Download Linked File context menu item - Сохранить по ссылке как... + + No variable by name %1 exists + Переменная с именем %1 отсутствует - - Copy Link - Copy Link context menu item - Копировать адрес ссылки + + The variable %1 is unused + Переменная %1 не используется - - Open Image - Open Image in New Window context menu item - Открыть изображение + + Version %1 is not supported. The supported XQuery version is 1.0. + Версия %1 не поддерживается. Поддерживается XQuery версии 1.0. - - Save Image - Download Image context menu item - Сохранить изображение + + The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. + Кодировка %1 неверна. Имя кодировки должно содержать только символы латиницы без пробелов и должно удовлетворять регулярному выражению %2. - - Copy Image - Copy Link context menu item - Копировать изображение в буффер обмена + + No function with signature %1 is available + Функция с сигнатурой %1 отсутствует - - Open Frame - Open Frame in New Window context menu item - Открыть фрэйм + + + A default namespace declaration must occur before function, variable, and option declarations. + Объявление пространство имён по умолчанию должно быть до объявления функций, переменных и опций. - - Copy - Copy context menu item - Копировать + + Namespace declarations must occur before function, variable, and option declarations. + Объявление пространства имён должно быть до объявления функций, переменных и опций. - - Go Back - Back context menu item - Назад + + Module imports must occur before function, variable, and option declarations. + Импортируемые модули должны быть указаны до объявления функций, переменных и опций. - - Go Forward - Forward context menu item - Вперед + + It is not possible to redeclare prefix %1. + Невозможно переопределить префикс %1. - - Stop - Stop context menu item - Остановить + + Prefix %1 is already declared in the prolog. + Префикс %1 уже объявлен в прологе. - - Reload - Reload context menu item - Обновить + + The name of an option must have a prefix. There is no default namespace for options. + Название опции должно содержать префикс. Нет пространства имён по умолчанию для опций. - - Cut - Cut context menu item - Вырезать + + The Schema Import feature is not supported, and therefore %1 declarations cannot occur. + Возможность импорта схем не поддерживается, следовательно, объявлений %1 быть не должно. - - Paste - Paste context menu item - Вставить + + The target namespace of a %1 cannot be empty. + Целевое пространство имён %1 не может быть пустым. - - No Guesses Found - No Guesses Found context menu item - + + The module import feature is not supported + Возможность импорта модулей не поддерживается - - Ignore - Ignore Spelling context menu item - Игнорировать + + No value is available for the external variable by name %1. + Отсутствует значение для внешней переменной с именем %1. - - Add To Dictionary - Learn Spelling context menu item - + + A template by name %1 has already been declared. + Шаблон с именем %1 уже был объявлен. - - Search The Web - Search The Web context menu item - + + The keyword %1 cannot occur with any other mode name. + Ключевое слово %1 не может встречаться с любым другим названием режима. - - Look Up In Dictionary - Look Up in Dictionary context menu item - + + The value of attribute %1 must of type %2, which %3 isn't. + Значение атрибута %1 должно быть типа %2, но %3 ему не соответствует. - - Open Link - Open Link context menu item - Открыть ссылку + + The prefix %1 can not be bound. By default, it is already bound to the namespace %2. + Не удается связать префикс %1. По умолчанию префикс связан с пространством имён %2. - - Ignore - Ignore Grammar context menu item - Игнорировать + + A variable by name %1 has already been declared. + Переменная с именем %1 уже объявлена. - - Spelling - Spelling and Grammar context sub-menu item - + + A stylesheet function must have a prefixed name. + Функция стилей должна иметь имя с префиксом. - - Show Spelling and Grammar - menu item title - + + The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) + Пространство имён для пользовательских функций не может быть пустым (попробуйте предопределённый префикс %1, который существует для подобных ситуаций) - - Hide Spelling and Grammar - menu item title - + + The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. + Пространтсво имён %1 зарезервировано, поэтому пользовательские функции не могут его использовать. Попробуйте предопределённый префикс %2, который существует для подобных ситуаций. - - Check Spelling - Check spelling context menu item - + + The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 + Пространство имён пользовательской функции в модуле библиотеки должен соответствовать пространству имён модуля. Другими словами, он должен быть %1 вместо %2 - - Check Spelling While Typing - Check spelling while typing context menu item - + + A function already exists with the signature %1. + Функция с сигнатурой %1 уже существует. - - Check Grammar With Spelling - Check grammar with spelling context menu item - + + No external functions are supported. All supported functions can be used directly, without first declaring them as external + Внешние функции не поддерживаются. Все поддерживаемые функции могут использоваться напрямую без первоначального объявления их в качестве внешних - - Fonts - Font context sub-menu item - Шрифты + + An argument by name %1 has already been declared. Every argument name must be unique. + Аргумент с именем %1 уже объявлен. Имя каждого аргумента должно быть уникальным. - - Bold - Bold context menu item - Жирный + + When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. + Если функция %1 используется для сравнения внутри шаблона, аргумент должен быть ссылкой на переменную или строковым литералом. - - Italic - Italic context menu item - Курсив + + In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. + В шаблоне XSL-T первый аргумент функции %1 должен быть строковым литералом, если функция используется для сравнения. - - Underline - Underline context menu item - Подчёркнутый + + In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. + В шаблоне XSL-T первый аргумент функции %1 должен быть литералом или ссылкой на переменную, если функция используется для сравнения. - - Outline - Outline context menu item - Перечёркнутый + + In an XSL-T pattern, function %1 cannot have a third argument. + В шаблоне XSL-T у функции %1 не должно быть третьего аргумента. - - Direction - Writing direction context sub-menu item - Направление + + In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. + В шаблоне XSL-T только функции %1 и %2 могут использоваться для сравнения, но не %3. - - Text Direction - Text direction context sub-menu item - Направление текста + + In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. + В шаблоне XSL-T не может быть использована ось %1 - только оси %2 или %3. - - Default - Default writing direction context menu item - По умолчанию + + %1 is an invalid template mode name. + %1 является неверным шаблоном имени режима. - - LTR - Left to Right context menu item - Слева направо + + The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. + Имя переменной, связанной с выражением for, должно отличаться от позиционной переменной. Две переменные с именем %1 конфликтуют. - - RTL - Right to Left context menu item - Справа налево + + The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. + Возможность проверки по схеме не поддерживается. Выражения %1 не могут использоваться. - - Inspect - Inspect Element context menu item - Проверить + + None of the pragma expressions are supported. Therefore, a fallback expression must be present + Ни одно из выражений pragma не поддерживается. Должно существовать запасное выражение - - No recent searches - Label for only item in menu that appears when clicking on the search field image, when no searches have been performed - История поиска пуста + + Each name of a template parameter must be unique; %1 is duplicated. + Имя каждого параметра шаблона должно быть уникальным, но %1 повторяется. - - Recent searches - label for first item in the menu that appears when clicking on the search field image, used as embedded menu title - История поиска + + The %1-axis is unsupported in XQuery + Ось %1 не поддерживается в XQuery - - Clear recent searches - menu item in Recent Searches menu that empties menu's contents - Очистить историю поиска + + %1 is not a valid name for a processing-instruction. + %1 является неверным названием для инструкции обработки. - - Unknown - Unknown filesize FTP directory listing item - Неизвестно + + %1 is not a valid numeric literal. + %1 является неверным числовым литералом. - - %1 (%2x%3 pixels) - Title string for images - %1 (%2x%3 px) + + W3C XML Schema identity constraint selector + - - Web Inspector - %2 + + W3C XML Schema identity constraint field - - Scroll here - Прокрутить сюда + + A construct was encountered which is disallowed in the current language(%1). + Встречена конструкция, запрещённая для текущего языка (%1). - - Left edge - К левой границе + + No function by name %1 is available. + Функция с именем %1 отсутствует. - - Top - Вверх + + The namespace URI cannot be the empty string when binding to a prefix, %1. + URI пространства имён не может быть пустой строкой при связывании с префиксом %1. - - Right edge - К правой границе + + %1 is an invalid namespace URI. + %1 - неверный URI пространства имён. - - Bottom - Вниз + + It is not possible to bind to the prefix %1 + Невозможно связать с префиксом %1 - - Page left - На страницу влево + + Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). + Пространство имён %1 может быть связано только с %2 (в данном случае уже предопределено). - - Page up - На страницу вверх + + Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). + Префикс %1 может быть связан только с %2 (в данном случае уже предопределено). - - Page right - На страницу вправо + + Two namespace declaration attributes have the same name: %1. + Два атрибута объявления пространств имён имеют одинаковое имя: %1. - - Page down - На страницу вниз + + The namespace URI must be a constant and cannot use enclosed expressions. + URI пространства имён должно быть константой и не может содержать выражений. - - Scroll left - Прокрутить влево + + An attribute by name %1 has already appeared on this element. + Атрибут с именем %1 уже существует для данного элемента. - - Scroll up - Прокрутить вверх + + A direct element constructor is not well-formed. %1 is ended with %2. + Прямой конструктор элемента составлен некорректно. %1 заканчивается на %2. - - Scroll right - Прокрутить вправо + + The name %1 does not refer to any schema type. + Название %1 не соответствует ни одному типу схемы. - - Scroll down - Прокрутить вниз - - - - %n file(s) - number of chosen file - - %n файл(а) - %n файла - %n файлов - + + %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. + %1 - сложный тип. Преобразование к сложным типам невозможно. Однако, преобразование к атомарным типам как %2 работает. - - JavaScript Alert - %1 - + + %1 is not an atomic type. Casting is only possible to atomic types. + %1 - не атомарный тип. Преобразование возможно только к атомарным типам. - - JavaScript Confirm - %1 - + + + %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. + %1 является объявлением атрибута вне области объявлений. Имейте в виду, возможность импорта схем не поддерживается. - - JavaScript Prompt - %1 - + + The name of an extension expression must be in a namespace. + Название выражения расширения должно быть в пространстве имён. - - Move the cursor to the next character - Переместить указатель к следующему символу + + empty + пусто - - Move the cursor to the previous character - Переместить указатель к предыдущему символу + + zero or one + нуль или один - - Move the cursor to the next word - Переместить указатель к следующему слову + + exactly one + ровно один - - Move the cursor to the previous word - Переместить указатель к предыдущему слову + + one or more + один или более - - Move the cursor to the next line - Переместить указатель на следующую строку + + zero or more + нуль или более - - Move the cursor to the previous line - Переместить указатель на предыдущую строку + + Required type is %1, but %2 was found. + Требуется тип %1, но обнаружен %2. - - Move the cursor to the start of the line - Переместить указатель в начало строки + + Promoting %1 to %2 may cause loss of precision. + Преобразование %1 к %2 может снизить точность. - - Move the cursor to the end of the line - Переместить указатель в конец строки + + The focus is undefined. + Фокус не определён. - - Move the cursor to the start of the block - Переместить указатель в начало блока + + It's not possible to add attributes after any other kind of node. + Невозможно добавлять атрибуты после любого другого вида узла. - - Move the cursor to the end of the block - Переместить указатель в конец блока + + An attribute by name %1 has already been created. + Атрибут с именем %1 уже существует. - - Move the cursor to the start of the document - Переместить указатель в начало документа + + Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. + Поддерживается только Unicode Codepoint Collation (%1). %2 не поддерживается. - - Move the cursor to the end of the document - Переместить указатель в конец документа + + Attribute %1 can't be serialized because it appears at the top level. + Атрибут %1 не может быть сериализован, так как присутствует на верхнем уровне. - - Select all - Выделить всё + + %1 is an unsupported encoding. + Кодировка %1 не поддерживается. - - Select to the next character - Выделить до следующего символа + + %1 contains octets which are disallowed in the requested encoding %2. + %1 содержит октеты, которые недопустимы в требуемой кодировке %2. - - Select to the previous character - Выделить до предыдущего символа + + The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. + Символ с кодом %1, присутствующий в %2 при использовании кодировки %3, не является допустимым символом XML. - - Select to the next word - Выделить до следующего слова + + Ambiguous rule match. + Неоднозначное соответствие правилу. - - Select to the previous word - Выделить до предыдущего слова + + In a namespace constructor, the value for a namespace cannot be an empty string. + В конструкторе пространства имён значение пространства имён не может быть пустой строкой. - - Select to the next line - Выделить до следующей строки + + The prefix must be a valid %1, which %2 is not. + Префикс должен быть корректным %1, но %2 им не является. - - Select to the previous line - Выделить до предыдущей строки + + The prefix %1 cannot be bound. + Префикс%1 не может быть связан. - - Select to the start of the line - Выделить до начала строки + + Only the prefix %1 can be bound to %2 and vice versa. + Только префикс %1 может быть связан с %2 и наоборот. - - Select to the end of the line - Выделить до конца строки + + The parameter %1 is required, but no corresponding %2 is supplied. + Необходим параметр %1 , но соответствующего %2 не передано. - - Select to the start of the block - Выделить до начала блока + + The parameter %1 is passed, but no corresponding %2 exists. + Передан параметр %1 , но соответствующего %2 не существует. - - Select to the end of the block - Выделить до конца блока + + The URI cannot have a fragment + URI не может содержать фрагмент - - Select to the start of the document - Выделить до начала документа + + Element %1 is not allowed at this location. + Элемент %1 недопустим в этом месте. - - Select to the end of the document - Выделить до конца документа + + Text nodes are not allowed at this location. + Текстовые узлы недопустимы в этом месте. - - Delete to the start of the word - Удалить до начала слова + + Parse error: %1 + Ошибка разбора: %1 - - Delete to the end of the word - Удалить до конца слова + + The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. + Значение атрибута версии XSL-T должно быть типа %1, но %2 им не является. - - Insert a new paragraph - Вставить новый параграф + + Running an XSL-T 1.0 stylesheet with a 2.0 processor. + Выполняется таблица стилей XSL-T 1.0 с обработчиком версии 2.0. - - Insert a new line - Вставить новую строку + + Unknown XSL-T attribute %1. + Неизвествный атрибут XSL-T %1. - - - QWhatsThisAction - - What's This? - Что это? + + Attribute %1 and %2 are mutually exclusive. + Атрибуты %1 и %2 взаимоисключающие. - - - QWidget - - * - * + + In a simplified stylesheet module, attribute %1 must be present. + В модуле упрощённой таблицы стилей обязан присутствовать атрибут %1. - - - QWizard - - Go Back - Назад + + If element %1 has no attribute %2, it cannot have attribute %3 or %4. + Если элемент %1 не имеет атрибут %2, у него не может быть атрибутов %3 и %4. - - Continue - Продолжить + + Element %1 must have at least one of the attributes %2 or %3. + Элемент %1 должен иметь как минимум один из атрибутов %2 или %3. - - Commit - Отправить + + At least one mode must be specified in the %1-attribute on element %2. + Как минимум один режим должен быть указан в атрибуте %1 элемента %2. - - Done - Готово + + Element %1 must come last. + Элемент %1 должен идти последним. - - Help - Справка + + At least one %1-element must occur before %2. + Как минимум один элемент %1 должен быть перед %2. - - < &Back - < &Назад + + Only one %1-element can appear. + Должен быть только один элемент %1. - - &Finish - &Закончить + + At least one %1-element must occur inside %2. + Как минимум один элемент %1 должен быть внутри %2. - - Cancel - Отмена + + When attribute %1 is present on %2, a sequence constructor cannot be used. + Если %2 содержит атрибут %1, конструктор последовательности не может быть использован. - - &Help - &Справка + + Element %1 must have either a %2-attribute or a sequence constructor. + Элемент %1 должен иметь атрибут %2 или конструктор последовательности. - - &Next - &Вперед + + When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. + Если параметр необходим, значение по умолчание не может быть передано через атрибут %1 или конструктор последовательности. - - &Next > - &Вперед > + + Element %1 cannot have children. + У элемента %1 не может быть потомков. - - - QWorkspace - - &Restore - &Восстановить + + Element %1 cannot have a sequence constructor. + У элемента %1 не может быть конструктора последовательности. - - &Move - &Переместить + + + The attribute %1 cannot appear on %2, when it is a child of %3. + У %2 не может быть атрибута %1, когда он является потомком %3. - - &Size - &Размер + + A parameter in a function cannot be declared to be a tunnel. + Параметр в функции не может быть объявлен туннелем. - - Mi&nimize - &Минимизировать + + This processor is not Schema-aware and therefore %1 cannot be used. + Данный обработчик не работает со схемами, следовательно, %1 не может использоваться. - - Ma&ximize - Р&аспахнуть + + Top level stylesheet elements must be in a non-null namespace, which %1 isn't. + Элементы верхнего уровня таблицы стилей должны быть в пространстве имен, которым %1 не является. - - &Close - &Закрыть + + The value for attribute %1 on element %2 must either be %3 or %4, not %5. + Значение атрибута %1 элемента %2 должно быть или %3, или %4, но не %5. - - Stay on &Top - Оставаться &сверху + + Attribute %1 cannot have the value %2. + Атрибут %1 не может принимать значение %2. - - - Sh&ade - Св&ернуть в заголовок + + The attribute %1 can only appear on the first %2 element. + Атрибут %1 может быть только у первого элемента %2. - - - %1 - [%2] - %1 - [%2] + + At least one %1 element must appear as child of %2. + Как минимум один элемент %1 должен быть в %2. - - Minimize - Минимизировать + + %1 has inheritance loop in its base type %2. + - - Restore Down - Восстановить + + + Circular inheritance of base type %1. + - - Close - Закрыть + + Circular inheritance of union %1. + - - &Unshade - В&осстановить из заголовка + + %1 is not allowed to derive from %2 by restriction as the latter defines it as final. + - - - QXml - - no error occurred - ошибки отсутствуют + + %1 is not allowed to derive from %2 by extension as the latter defines it as final. + - - error triggered by consumer - ошибка вызвана пользователем + + Base type of simple type %1 cannot be complex type %2. + - - unexpected end of file - неожиданный конец файла + + Simple type %1 cannot have direct base type %2. + - - more than one document type definition - указано более одного типа документа + + + Simple type %1 is not allowed to have base type %2. + - - error occurred while parsing element - ошибка разбора элемента + + Simple type %1 can only have simple atomic type as base type. + - - tag mismatch - тэг не совпадает + + Simple type %1 cannot derive from %2 as the latter defines restriction as final. + - - error occurred while parsing content - ошибка разбора документа + + + Variety of item type of %1 must be either atomic or union. + - - unexpected character - неожиданный символ + + + Variety of member types of %1 must be atomic. + - - invalid name for processing instruction - некорректное имя директивы разбора + + + %1 is not allowed to derive from %2 by list as the latter defines it as final. + - - version expected while reading the XML declaration - в объявлении XML ожидается объявление параметра version + + Simple type %1 is only allowed to have %2 facet. + - - wrong value for standalone declaration - некорректное значение объявления standalone + + Base type of simple type %1 must have variety of type list. + - - encoding declaration or standalone declaration expected while reading the XML declaration - в объявлении XML ожидается объявление параметра encoding или standalone + + Base type of simple type %1 has defined derivation by restriction as final. + - - standalone declaration expected while reading the XML declaration - в объявлении XML ожидается объявление параметра standalone + + Item type of base type does not match item type of %1. + - - error occurred while parsing document type definition - ошибка разбора объявления типа документа + + + Simple type %1 contains not allowed facet type %2. + - - letter is expected - ожидалась буква + + + %1 is not allowed to derive from %2 by union as the latter defines it as final. + - - error occurred while parsing comment - ошибка разбора комментария + + %1 is not allowed to have any facets. + - - error occurred while parsing reference - ошибка разбора ссылки + + Base type %1 of simple type %2 must have variety of union. + - - internal general entity reference not allowed in DTD - внутренняя ссылка на общий объкт недопустима в DTD + + Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute. + - - external parsed general entity reference not allowed in attribute value - внешняя ссылка на общий объект недопустима в значении атрибута + + Member type %1 cannot be derived from member type %2 of %3's base type %4. + - - external parsed general entity reference not allowed in DTD - внешняя ссылка на общий объект недопустима в DTD + + Derivation method of %1 must be extension because the base type %2 is a simple type. + + + + + Complex type %1 has duplicated element %2 in its content model. + - - unparsed entity reference in wrong context - неразобранная ссылка на объект в неправильном контексте + + Complex type %1 has non-deterministic content. + - - recursive entities - рекурсия объектов + + Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3. + - - error in the text declaration of an external entity - ошибка в объявлении внешнего объекта + + Content model of complex type %1 is not a valid extension of content model of %2. + - - - QXmlStream - - - Extra content at end of document. + + Complex type %1 must have simple content. - - Invalid entity value. - Некорректное значение объекта. + + Complex type %1 must have the same simple type as its base class %2. + - - Invalid XML character. - Некорректный символ XML. + + Complex type %1 cannot be derived from base type %2%3. + - - Sequence ']]>' not allowed in content. - Последовательность ']]>' не допускается в содержимом. + + Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3. + - - Namespace prefix '%1' not declared + + Complex type %1 with simple content cannot be derived from complex base type %2. - - Attribute redefined. + + Item type of simple type %1 cannot be a complex type. - - Unexpected character '%1' in public id literal. + + Member type of simple type %1 cannot be a complex type. - - Invalid XML version string. + + %1 is not allowed to have a member type with the same name as itself. - - Unsupported XML version. - Неподдерживаемая версия XML. + + + + %1 facet collides with %2 facet. + - - %1 is an invalid encoding name. + + %1 facet must have the same value as %2 facet of base type. - - Encoding %1 is unsupported + + %1 facet must be equal or greater than %2 facet of base type. - - Standalone accepts only yes or no. - Псевдоатрибут 'standalone' может принимать только значение yes или no. + + + + + + + + + %1 facet must be less than or equal to %2 facet of base type. + - - Invalid attribute in XML declaration. - Некорректный атрибут в объявлении XML. + + %1 facet contains invalid regular expression + - - Premature end of document. - Неожиданный конец документа. + + Unknown notation %1 used in %2 facet. + - - Invalid document. - Некорректный документ. + + %1 facet contains invalid value %2: %3. + - - Expected - Ожидалось + + %1 facet cannot be %2 or %3 if %4 facet of base type is %5. + - , but got ' - , получили ' - - - - Unexpected ' - Неожиданное ' + %1 facet cannot be %2 if %3 facet of base type is %4. + - - Expected character data. + + + + %1 facet must be less than or equal to %2 facet. - - Recursive entity detected. + + + + %1 facet must be less than %2 facet of base type. - - Start tag expected. - Ожидается начало тэга. + + + %1 facet and %2 facet cannot appear together. + - - XML declaration not at start of document. + + + + %1 facet must be greater than %2 facet of base type. - - NDATA in parameter entity declaration. + + + %1 facet must be less than %2 facet. - - %1 is an invalid processing instruction name. + + + %1 facet must be greater than or equal to %2 facet of base type. - - Invalid processing instruction name. + + Simple type contains not allowed facet %1. - - - - Illegal namespace declaration. + %1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. - - Invalid XML name. - Некорректное имя XML. + + Only %1 and %2 facets are allowed when derived by union. + - Opening and ending tag mismatch. - Открывающий тэг не совпадает с закрывающим. + + %1 contains %2 facet with invalid data: %3. + - - Reference to unparsed entity '%1'. + + Attribute group %1 contains attribute %2 twice. - - - - Entity '%1' not declared. + + Attribute group %1 contains two different attributes that both have types derived from %2. - - Reference to external entity '%1' in attribute value. + + Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3. - - Invalid character reference. + + Complex type %1 contains attribute %2 twice. - - - Encountered incorrectly encoded content. + + Complex type %1 contains two different attributes that both have types derived from %2. - - The standalone pseudo attribute must appear after the encoding. - Псевдоатрибут 'standalone' должен находиться после указания кодировки. + + Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. + - - %1 is an invalid PUBLIC identifier. + + Element %1 is not allowed to have a value constraint if its base type is complex. + + + + + Element %1 is not allowed to have a value constraint if its type is derived from %2. - - - QtXmlPatterns - - An %1-attribute with value %2 has already been declared. + + + Value constraint of element %1 is not of elements type: %2. - An %1-attribute must have a valid %2 as value, which %3 isn't. + Element %1 is not allowed to have substitution group affiliation as it is no global element. - - Network timeout. + + Type of element %1 cannot be derived from type of substitution group affiliation. - - Element %1 can't be serialized because it appears outside the document element. + + Value constraint of attribute %1 is not of attributes type: %2. - - Year %1 is invalid because it begins with %2. + + Attribute %1 has value constraint but has type derived from %2. - - Day %1 is outside the range %2..%3. + + %1 attribute in derived complex type must be %2 like in base type. + + + + + Attribute %1 in derived complex type must have %2 value constraint like in base type. + + + + + Attribute %1 in derived complex type must have the same %2 value constraint like in base type. - Month %1 is outside the range %2..%3. + Attribute %1 in derived complex type must have %2 value constraint. - - Overflow: Can't represent date %1. + + processContent of base wildcard must be weaker than derived wildcard. - - Day %1 is invalid for month %2. + + + Element %1 exists twice with different types. - - Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; + + Particle contains non-deterministic wildcards. - - Time %1:%2:%3.%4 is invalid. + + + Base attribute %1 is required but derived attribute is not. - - Overflow: Date can't be represented. + + Type of derived attribute %1 cannot be validly derived from type of base attribute. - - - At least one component must be present. + + Value constraint of derived attribute %1 does not match value constraint of base attribute. - - At least one time component must appear after the %1-delimiter. + + Derived attribute %1 does not exists in the base definition. - - No operand in an integer division, %1, can be %2. + + Derived attribute %1 does not match the wildcard in the base definition. - - The first operand in an integer division, %1, cannot be infinity (%2). + + Base attribute %1 is required but missing in derived definition. - - The second operand in a division, %1, cannot be zero (%2). + + Derived definition contains an %1 element that does not exists in the base definition - - %1 is not a valid value of type %2. + + Derived wildcard is not a subset of the base wildcard. - - When casting to %1 from %2, the source value cannot be %3. + + %1 of derived wildcard is not a valid restriction of %2 of base wildcard - - Integer division (%1) by zero (%2) is undefined. + + Attribute %1 from base type is missing in derived type. - - Division (%1) by zero (%2) is undefined. + + Type of derived attribute %1 differs from type of base attribute. - - Modulus division (%1) by zero (%2) is undefined. + + Base definition contains an %1 element that is missing in the derived definition - - - Dividing a value of type %1 by %2 (not-a-number) is not allowed. + + %1 references unknown %2 or %3 element %4. - - Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. + + %1 references identity constraint %2 that is no %3 or %4 element. - - Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. + + %1 has a different number of fields from the identity constraint %2 that it references. - - A value of type %1 cannot have an Effective Boolean Value. + + Base type %1 of %2 element cannot be resolved. - - Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. + + Item type %1 of %2 element cannot be resolved. - - Value %1 of type %2 exceeds maximum (%3). + + Member type %1 of %2 element cannot be resolved. - - Value %1 of type %2 is below minimum (%3). + + + + Type %1 of %2 element cannot be resolved. - - A value of type %1 must contain an even number of digits. The value %2 does not. + + Base type %1 of complex type cannot be resolved. - - %1 is not valid as a value of type %2. + + %1 cannot have complex base type that has a %2. + + + + + Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type. - - Operator %1 cannot be used on type %2. + + Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model. - - Operator %1 cannot be used on atomic values of type %2 and %3. + + Type of %1 element must be a simple type, %2 is not. - - The namespace URI in the name for a computed attribute cannot be %1. + + Substitution group %1 of %2 element cannot be resolved. - The name for a computed attribute cannot have the namespace URI %1 with the local name %2. + Substitution group %1 has circular definition. - - Type error in cast, expected %1, received %2. + + + Duplicated element names %1 in %2 element. - When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. - - - - - No casting is possible with %1 as the target type. + + + + Reference %1 of %2 element cannot be resolved. - - It is not possible to cast from %1 to %2. + + Circular group reference for %1. - - Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. + + %1 element is not allowed in this scope - - It's not possible to cast the value %1 of type %2 to %3 + + %1 element cannot have %2 attribute with value other than %3. - Failure when casting from %1 to %2: %3 + %1 element cannot have %2 attribute with value other than %3 or %4. - - A comment cannot contain %1 + + %1 or %2 attribute of reference %3 does not match with the attribute declaration %4. - - A comment cannot end with a %1. + + Attribute group %1 has circular reference. - - No comparisons can be done involving the type %1. + + %1 attribute in %2 must have %3 use like in base type %4. - - Operator %1 is not available between atomic values of type %2 and %3. + + Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2. - - An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. + + %1 has attribute wildcard but its base type %2 has not. - - A library module cannot be evaluated directly. It must be imported from a main module. + + Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible. - - No template by name %1 exists. + + Enumeration facet contains invalid content: {%1} is not a value of type %2. - - A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. + + Namespace prefix of qualified name %1 is not defined. - - A positional predicate must evaluate to a single numeric value. + + + %1 element %2 is not a valid restriction of the %3 element it redefines: %4. - - The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. + + Empty particle cannot be derived from non-empty particle. - - %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. + + Derived particle is missing element %1. - - The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. + + Derived element %1 is missing value constraint as defined in base particle. - - The data of a processing instruction cannot contain the string %1 + + Derived element %1 has weaker value constraint than base particle. - - No namespace binding exists for the prefix %1 + + Fixed value constraint of element %1 differs from value constraint in base particle. - - No namespace binding exists for the prefix %1 in %2 + + Derived element %1 cannot be nillable as base element is not nillable. - - - %1 is an invalid %2 + + Block constraints of derived element %1 must not be more weaker than in the base element. - - - %1 takes at most %n argument(s). %2 is therefore invalid. - - - - - - - - - %1 requires at least %n argument(s). %2 is therefore invalid. - - - - - - - - The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. + + Simple type of derived element %1 cannot be validly derived from base element. - - The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. + + Complex type of derived element %1 cannot be validly derived from base element. - - The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. + + Element %1 is missing in derived particle. - - %1 is not a valid XML 1.0 character. + + Element %1 does not match namespace constraint of wildcard in base particle. - - The first argument to %1 cannot be of type %2. + + Wildcard in derived particle is not a valid subset of wildcard in base particle. - - If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. + + processContent of wildcard in derived particle is weaker than wildcard in base particle. - - %1 was called. + + Derived particle allows content that is not allowed in the base particle. - - %1 must be followed by %2 or %3, not at the end of the replacement string. + + Can not process unknown element %1, expected elements are: %2. - - In the replacement string, %1 must be followed by at least one digit when not escaped. + + Element %1 is not allowed in this scope, possible elements are: %2. - - In the replacement string, %1 can only be used to escape itself or %2, not %3 + + Child element is missing in that scope, possible child elements are: %1. - - %1 matches newline characters + + Document is not a XML schema. - - %1 and %2 match the start and end of a line. + + %1 attribute of %2 element contains invalid content: {%3} is not a value of type %4. - Matches are case insensitive + %1 attribute of %2 element contains invalid content: {%3}. - - Whitespace characters are removed, except when they appear in character classes - - - - - %1 is an invalid regular expression pattern: %2 + + Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema. - - %1 is an invalid flag for regular expressions. Valid flags are: + + + Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema. - - If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. + + %1 element is not allowed to have the same %2 attribute value as the target namespace %3. - - It will not be possible to retrieve %1. + + %1 element without %2 attribute is not allowed inside schema without target namespace. - - The root node of the second argument to function %1 must be a document node. %2 is not a document node. + + + %1 element is not allowed inside %2 element if %3 attribute is present. - - The default collection is undefined + + + + %1 element has neither %2 attribute nor %3 child element. - - %1 cannot be retrieved + + + + + + + + + + + + + + + %1 element with %2 child element must not have a %3 attribute. - - The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). + + %1 attribute of %2 element must be %3 or %4. - - A zone offset must be in the range %1..%2 inclusive. %3 is out of range. + + %1 attribute of %2 element must have a value of %3. - - %1 is not a whole number of minutes. + + + %1 attribute of %2 element must have a value of %3 or %4. - - Required cardinality is %1; got cardinality %2. + + + + + + + + + + + + + + + %1 element must not have %2 and %3 attribute together. - - The item %1 did not match the required type %2. + + + Content of %1 attribute of %2 element must not be from namespace %3. - - - %1 is an unknown schema type. + + + %1 attribute of %2 element must not be %3. - - Only one %1 declaration can occur in the query prolog. + + %1 attribute of %2 element must have the value %3 because the %4 attribute is set. - - The initialization of variable %1 depends on itself + + Specifying use='prohibited' inside an attribute group has no effect. - - No variable by name %1 exists + + %1 element must have either %2 or %3 attribute. - - The variable %1 is unused + + %1 element must have either %2 attribute or %3 or %4 as child element. - - Version %1 is not supported. The supported XQuery version is 1.0. + + %1 element requires either %2 or %3 attribute. - - The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. + + Text or entity references not allowed inside %1 element - - No function with signature %1 is available + + + %1 attribute of %2 element must contain %3, %4 or a list of URIs. - - - A default namespace declaration must occur before function, variable, and option declarations. + + %1 element is not allowed in this context. - - Namespace declarations must occur before function, variable, and option declarations. + + %1 attribute of %2 element has larger value than %3 attribute. - - Module imports must occur before function, variable, and option declarations. + + Prefix of qualified name %1 is not defined. - - It is not possible to redeclare prefix %1. + + + %1 attribute of %2 element must either contain %3 or the other values. - - Prefix %1 is already declared in the prolog. + + Component with id %1 has been defined previously. - - The name of an option must have a prefix. There is no default namespace for options. + + Element %1 already defined. - - The Schema Import feature is not supported, and therefore %1 declarations cannot occur. + + Attribute %1 already defined. - - The target namespace of a %1 cannot be empty. + + Type %1 already defined. - - The module import feature is not supported + + Attribute group %1 already defined. - - No value is available for the external variable by name %1. + + Element group %1 already defined. - - A construct was encountered which only is allowed in XQuery. + + Notation %1 already defined. - - A template by name %1 has already been declared. + + Identity constraint %1 already defined. - - The keyword %1 cannot occur with any other mode name. + + Duplicated facets in simple type %1. - - The value of attribute %1 must of type %2, which %3 isn't. + + + + %1 is not valid according to %2. - - The prefix %1 can not be bound. By default, it is already bound to the namespace %2. + + String content does not match the length facet. - - A variable by name %1 has already been declared. + + String content does not match the minLength facet. - - A stylesheet function must have a prefixed name. + + String content does not match the maxLength facet. - - The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) + + String content does not match pattern facet. - - The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. + + String content is not listed in the enumeration facet. - - The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 + + Signed integer content does not match the maxInclusive facet. - - A function already exists with the signature %1. + + Signed integer content does not match the maxExclusive facet. - - No external functions are supported. All supported functions can be used directly, without first declaring them as external + + Signed integer content does not match the minInclusive facet. - - An argument by name %1 has already been declared. Every argument name must be unique. + + Signed integer content does not match the minExclusive facet. - - When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. + + Signed integer content is not listed in the enumeration facet. - - In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. + + Signed integer content does not match pattern facet. - - In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. + + Signed integer content does not match in the totalDigits facet. - - In an XSL-T pattern, function %1 cannot have a third argument. + + Unsigned integer content does not match the maxInclusive facet. - - In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. + + Unsigned integer content does not match the maxExclusive facet. - - In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. + + Unsigned integer content does not match the minInclusive facet. - - %1 is an invalid template mode name. + + Unsigned integer content does not match the minExclusive facet. - - The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. + + Unsigned integer content is not listed in the enumeration facet. - - The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. + + Unsigned integer content does not match pattern facet. - - None of the pragma expressions are supported. Therefore, a fallback expression must be present + + Unsigned integer content does not match in the totalDigits facet. - - Each name of a template parameter must be unique; %1 is duplicated. + + Double content does not match the maxInclusive facet. - - The %1-axis is unsupported in XQuery + + Double content does not match the maxExclusive facet. - - %1 is not a valid name for a processing-instruction. + + Double content does not match the minInclusive facet. - - %1 is not a valid numeric literal. + + Double content does not match the minExclusive facet. - - No function by name %1 is available. + + Double content is not listed in the enumeration facet. - - The namespace URI cannot be the empty string when binding to a prefix, %1. + + Double content does not match pattern facet. - - %1 is an invalid namespace URI. + + Decimal content does not match in the fractionDigits facet. - - It is not possible to bind to the prefix %1 + + Decimal content does not match in the totalDigits facet. - - Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). + + Date time content does not match the maxInclusive facet. - Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). + Date time content does not match the maxExclusive facet. - - Two namespace declaration attributes have the same name: %1. + + Date time content does not match the minInclusive facet. - - The namespace URI must be a constant and cannot use enclosed expressions. + + Date time content does not match the minExclusive facet. - - An attribute by name %1 has already appeared on this element. + + Date time content is not listed in the enumeration facet. - - A direct element constructor is not well-formed. %1 is ended with %2. + + Date time content does not match pattern facet. - - The name %1 does not refer to any schema type. + + Duration content does not match the maxInclusive facet. - - %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. + + Duration content does not match the maxExclusive facet. - %1 is not an atomic type. Casting is only possible to atomic types. + Duration content does not match the minInclusive facet. - - - %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. + + Duration content does not match the minExclusive facet. - - The name of an extension expression must be in a namespace. + + Duration content is not listed in the enumeration facet. - - empty + + Duration content does not match pattern facet. - - zero or one + + Boolean content does not match pattern facet. - - exactly one + + Binary content does not match the length facet. - - one or more + + Binary content does not match the minLength facet. - - zero or more + + Binary content does not match the maxLength facet. - - Required type is %1, but %2 was found. + + Binary content is not listed in the enumeration facet. - - Promoting %1 to %2 may cause loss of precision. + + Invalid QName content: %1. - - The focus is undefined. + + QName content is not listed in the enumeration facet. - - It's not possible to add attributes after any other kind of node. + + QName content does not match pattern facet. - - An attribute by name %1 has already been created. + + Notation content is not listed in the enumeration facet. - - Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. + + List content does not match length facet. - - Attribute %1 can't be serialized because it appears at the top level. + + List content does not match minLength facet. - - %1 is an unsupported encoding. + + List content does not match maxLength facet. - - %1 contains octets which are disallowed in the requested encoding %2. + + List content is not listed in the enumeration facet. - The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. + List content does not match pattern facet. - - Ambiguous rule match. + + Union content is not listed in the enumeration facet. - - In a namespace constructor, the value for a namespace cannot be an empty string. + + Union content does not match pattern facet. - - The prefix must be a valid %1, which %2 is not. + + Data of type %1 are not allowed to be empty. - - The prefix %1 cannot be bound. + + Element %1 is missing child element. - - Only the prefix %1 can be bound to %2 and vice versa. + + There is one IDREF value with no corresponding ID: %1. - - Circularity detected + + Loaded schema file is invalid. - - The parameter %1 is required, but no corresponding %2 is supplied. + + %1 contains invalid data. - - The parameter %1 is passed, but no corresponding %2 exists. + + xsi:schemaLocation namespace %1 has already appeared earlier in the instance document. - - The URI cannot have a fragment + + xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute. - - Element %1 is not allowed at this location. + + No schema defined for validation. - - Text nodes are not allowed at this location. + + No definition for element %1 available. - - Parse error: %1 + + + + Specified type %1 is not known to the schema. - - The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. + + Element %1 is not defined in this scope. - - Running an XSL-T 1.0 stylesheet with a 2.0 processor. + + Declaration for element %1 does not exist. - - Unknown XSL-T attribute %1. + + Element %1 contains invalid content. - - Attribute %1 and %2 are mutually exclusive. + + Element %1 is declared as abstract. - - In a simplified stylesheet module, attribute %1 must be present. + + Element %1 is not nillable. - - If element %1 has no attribute %2, it cannot have attribute %3 or %4. + + Attribute %1 contains invalid data: %2 - - Element %1 must have at least one of the attributes %2 or %3. + + Element contains content although it is nillable. - - At least one mode must be specified in the %1-attribute on element %2. + + Fixed value constrained not allowed if element is nillable. - - Attribute %1 cannot appear on the element %2. Only the standard attributes can appear. + + Specified type %1 is not validly substitutable with element type %2. - - Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. + + Complex type %1 is not allowed to be abstract. - - Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes. + + Element %1 contains not allowed attributes. - - Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. + + + Element %1 contains not allowed child element. - - XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is. + + + Content of element %1 does not match its type definition: %2. - - The attribute %1 must appear on element %2. + + + + Content of element %1 does not match defined value constraint. - - The element with local name %1 does not exist in XSL-T. + + Element %1 contains not allowed child content. - - Element %1 must come last. + + Element %1 contains not allowed text content. - - At least one %1-element must occur before %2. + + Element %1 can not contain other elements, as it has a fixed content. - - Only one %1-element can appear. + + Element %1 is missing required attribute %2. - - At least one %1-element must occur inside %2. + + Attribute %1 does not match the attribute wildcard. - - When attribute %1 is present on %2, a sequence constructor cannot be used. + + Declaration for attribute %1 does not exist. - - Element %1 must have either a %2-attribute or a sequence constructor. + + Element %1 contains two attributes of type %2. - - When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. + + Attribute %1 contains invalid content. - - Element %1 cannot have children. + + Element %1 contains unknown attribute %2. - - Element %1 cannot have a sequence constructor. + + + Content of attribute %1 does not match its type definition: %2. - - - The attribute %1 cannot appear on %2, when it is a child of %3. + + + Content of attribute %1 does not match defined value constraint. - - A parameter in a function cannot be declared to be a tunnel. + + Non-unique value found for constraint %1. - - This processor is not Schema-aware and therefore %1 cannot be used. + + Key constraint %1 contains absent fields. - - Top level stylesheet elements must be in a non-null namespace, which %1 isn't. + + Key constraint %1 contains references nillable element %2. - - The value for attribute %1 on element %2 must either be %3 or %4, not %5. + + No referenced value found for key reference %1. - - Attribute %1 cannot have the value %2. + + More than one value found for field %1. - - The attribute %1 can only appear on the first %2 element. + + Field %1 has no simple type. - - At least one %1 element must appear as child of %2. + + ID value '%1' is not unique. - - - VolumeSlider - - - Muted - Без звука - - - - Volume: %1% - Громкость: %1% + + '%1' attribute contains invalid QName content: %2. + -- cgit v0.12 From 419074ca29ea92d4f938ee4f346eaae0cbcddb53 Mon Sep 17 00:00:00 2001 From: Ritt Konstantin Date: Mon, 12 Oct 2009 12:36:59 +0200 Subject: Update Russian translations for Qt Config and QtVfb tools Merge-request: 1761 Reviewed-by: Oswald Buddenhagen --- translations/qtconfig_ru.ts | 77 ++++++++++++++++++++++++++------------------- translations/qvfb_ru.ts | 58 +++++++++++++++++++++------------- 2 files changed, 82 insertions(+), 53 deletions(-) diff --git a/translations/qtconfig_ru.ts b/translations/qtconfig_ru.ts index bf3d090..033eafc 100644 --- a/translations/qtconfig_ru.ts +++ b/translations/qtconfig_ru.ts @@ -45,7 +45,7 @@ Phonon GStreamer backend not available. - Модуль Phonon поддержки GStreamer не доступен. + Модуль Phonon поддержки GStreamer недоступен. @@ -56,18 +56,18 @@ X11 - + X11 Use X11 Overlays - Использовать оверлеи X11 + Использовать оверлеи X11 OpenGL - + OpenGL @@ -117,11 +117,11 @@ - <h3>%1</h3><br/>Version %2<br/><br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/> - + <h3>%1</h3><br/>Version %2<br/><br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + <h3>%1</h3><br/>Версия %2<br/><br/>Copyright (C) 2009 Корпорация Nokia и/или её дочерние подразделения. - + Qt Configuration @@ -150,7 +150,7 @@ &Cancel - &Отмена + От&мена @@ -183,7 +183,7 @@ &3-D Effects: - Эффекты &3-D: + Эффекты &3D: @@ -238,17 +238,17 @@ &Style: - &Стиль: + &Начертание: &Point Size: - &Размер в точках: + &Размер: F&amily: - Семе&йство: + &Шрифт: @@ -263,12 +263,12 @@ S&elect or Enter a Family: - &Выберите или введите семейство: + &Выберите шрифт для замены: Current Substitutions: - Текущие замены: + Текущие замены: @@ -291,7 +291,7 @@ Select s&ubstitute Family: - Выберите п&одставляемое семейство: + &Заменять на шрифт: @@ -518,7 +518,11 @@ p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://phonon.kde.org"><span style=" text-decoration: underline; color:#0000ff;">http://phonon.kde.org</span></a></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://phonon.kde.org"><span style=" text-decoration: underline; color:#0000ff;">http://phonon.kde.org</span></a></p></body></html> @@ -532,7 +536,11 @@ p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://gstreamer.freedesktop.org/"><span style=" text-decoration: underline; color:#0000ff;">http://gstreamer.freedesktop.org/</span></a></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://gstreamer.freedesktop.org/"><span style=" text-decoration: underline; color:#0000ff;">http://gstreamer.freedesktop.org/</span></a></p></body></html> @@ -556,7 +564,7 @@ p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Note: changes to these settings may prevent applications from starting up correctly.</span></p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> @@ -628,7 +636,7 @@ p, li { white-space: pre-wrap; } <b>Edit Palette</b><p>Change the palette of the current widget or form.</p><p>Use a generated palette or select colors for each color group and each color role.</p><p>The palette can be tested with different widget layouts in the preview section.</p> - <b>Изменение палитры</b><p>Изменение палитры текущего виджета или формы.</p><p>Используйте сформированную палитру или выберите цвета для каждой группы цветов и каждой их роли.</p><p>Палитру можно проверить на виджетах в разных режимах отображения в разделе предпросмотра.</p> + <b>Изменение палитры</b><p>Изменение палитры текущего виджета или формы.</p><p>Используйте сформированную палитру или выберите цвета для каждой группы цветов и каждой их роли.</p><p>Палитру можно проверить на виджетах в разных режимах отображения в разделе предпросмотра.</p> @@ -653,7 +661,7 @@ p, li { white-space: pre-wrap; } Auto - Автоматически + Автоматически @@ -832,7 +840,7 @@ p, li { white-space: pre-wrap; } Desktop settings will only take effect after an application restart. - Настройки рабочего стола применятся после перезапуска приложения. + Настройки рабочего стола применятся после перезапуска приложения. @@ -845,52 +853,52 @@ p, li { white-space: pre-wrap; } ButtonGroup - + ButtonGroup RadioButton1 - + RadioButton1 RadioButton2 - + RadioButton2 RadioButton3 - + RadioButton3 ButtonGroup2 - + ButtonGroup2 CheckBox1 - + CheckBox1 CheckBox2 - + CheckBox2 LineEdit - + LineEdit ComboBox - + ComboBox PushButton - + PushButton @@ -900,7 +908,12 @@ p, li { white-space: pre-wrap; } <p> <a href="http://www.kde.org">http://www.kde.org</a> </p> - + <p> +<a href="http://qtsoftware.com">http://qtsoftware.com</a> +</p> +<p> +<a href="http://www.kde.org">http://www.kde.org</a> +</p> diff --git a/translations/qvfb_ru.ts b/translations/qvfb_ru.ts index b084380..6d8681e 100644 --- a/translations/qvfb_ru.ts +++ b/translations/qvfb_ru.ts @@ -4,7 +4,7 @@ AnimationSaveWidget - + Record Записать @@ -76,47 +76,47 @@ Config - + Configure Настройка - + Size Размер - + 176x220 "SmartPhone" - + 176x220 "SmartPhone" 240x320 "PDA" - + 240x320 "PDA" 320x240 "TV" / "QVGA" - + 320x240 "TV" / "QVGA" 640x480 "VGA" - + 640x480 "VGA" 800x600 - + 800x600 1024x768 - + 1024x768 - + Custom Особый @@ -126,12 +126,17 @@ Глубина - + 1 bit monochrome 1 бит (монохромный) + 2 bit grayscale + 2 бита (градации серого) + + + 4 bit grayscale 4 бита (градации серого) @@ -176,7 +181,17 @@ 32 бита (ARGB) - + + Swap red and blue channels + Поменять синий и красный каналы + + + + BGR format + Формат BGR + + + Skin Обложка @@ -188,6 +203,7 @@ Emulate touch screen (no mouse move) + указателя? Эмулировать тачскрин (без перемещения мыши) @@ -198,7 +214,7 @@ <p>Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth <i>above</i>. You may freely modify the Gamma <i>below</i>. - <p>Имейте в виду, что любая программа будет завершена, если изменится размер или глубина экрана. Параметр Гамма можно менять свободно. + <p>Имейте в виду, что программы, использующие фрэймбуфер, будут завершены, если изменится <i>размер</i> и/или <i>глубина</i> экрана. @@ -206,7 +222,7 @@ Гамма - + Blue Синий @@ -216,7 +232,7 @@ 1.0 - + 1.0 @@ -239,14 +255,14 @@ Выставить все в 1.0 - + &OK - &Готово + &ОК &Cancel - &Отмена + От&мена @@ -310,12 +326,12 @@ QVFb - + Browse... Обзор... - + Load Custom Skin... Загрузить обложку пользователя... -- cgit v0.12 From 3dbf0b6a0f7a94eb4d8851ec01e693137651b2b0 Mon Sep 17 00:00:00 2001 From: Ritt Konstantin Date: Mon, 12 Oct 2009 12:37:00 +0200 Subject: Update Russian translations for Qt Linguist Merge-request: 1761 Reviewed-by: Oswald Buddenhagen --- translations/linguist_ru.ts | 366 +++++++++++++++++++++++--------------------- 1 file changed, 191 insertions(+), 175 deletions(-) diff --git a/translations/linguist_ru.ts b/translations/linguist_ru.ts index 86c7434..eb0ec94 100644 --- a/translations/linguist_ru.ts +++ b/translations/linguist_ru.ts @@ -2,14 +2,6 @@ - - - - (New Entry) - (Новая запись) - - - AboutDialog @@ -40,12 +32,7 @@ Переводить записи, уже имеющие перевод - - Note that the modified entries will be reset to unfinished if 'Set translated entries to finished' above is unchecked. - Имейте в виду, что изменённые записи будут отмечены как незавершённые, если не включён параметр "Помечать переведенные записи как завершённые". - - - + Translate also finished entries Также переводить записи с завершёнными переводами @@ -65,12 +52,7 @@ Опустить - - The batch translator will search through the selected phrase books in the order given above. - Пакетный переводчик будет искать в выбранных разговорниках в указанном выше порядке. - - - + &Run &Выполнить @@ -87,12 +69,12 @@ Searching, please wait... - Идёт поиск, ждите... + Идёт поиск, ожидайте... &Cancel - &Отмена + От&мена @@ -108,6 +90,16 @@ Автоматически переведено %n записей + + + Note that the modified entries will be reset to unfinished if 'Set translated entries to finished' above is unchecked + Имейте в виду, что изменённые записи будут отмечены как незавершённые, если не включен параметр "Помечать переведенные записи как завершённые" + + + + The batch translator will search through the selected phrase books in the order given above + Пакетный переводчик будет искать в выбранных разговорниках в указанном выше порядке + DataModel @@ -287,9 +279,54 @@ Will assume a single universal form. + FormMultiWidget + + + Alt+Delete + translate, but don't change + + + + + Shift+Alt+Insert + translate, but don't change + + + + + Alt+Insert + translate, but don't change + + + + + Confirmation - Qt Linguist + Подтверждение - Qt Linguist + + + + Delete non-empty length variant? + + + + LRelease - + + Dropped %n message(s) which had no ID. + + + + + + + Excess context/disambiguation dropped from %n message(s). + + + + + + Generated %n translation(s) (%1 finished and %2 unfinished) @@ -325,7 +362,7 @@ Will assume a single universal form. - + Source text Исходный текст @@ -337,17 +374,17 @@ Will assume a single universal form. - + Context Контекст - + Items Записи - + This panel lists the source contexts. В данной панели перечислены исходные контексты. @@ -378,7 +415,7 @@ Will assume a single universal form. ИЗМ - + Loading... Загрузка... @@ -432,14 +469,14 @@ Skip loading the first named file? Файл сохранён. - - - + + + Release - Компиляция + Скомпилировать - + Qt message files for released applications (*.qm) All files (*) Скомпилированные файлы перевода для приложений Qt (*.qm) @@ -452,7 +489,7 @@ All files (*) Файл создан. - + Printing... Печать... @@ -503,7 +540,7 @@ All files (*) - + @@ -515,7 +552,7 @@ All files (*) Qt Linguist - + Cannot find the string '%1'. Не удалось найти строку '%1'. @@ -615,12 +652,12 @@ All files (*) Версия %1 - - <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist is a tool for adding translations to Qt applications.</p><p>%2</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p> - + + <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist is a tool for adding translations to Qt applications.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist - инструмент для добавления переводов в приложения на основе Qt.</p><p>Copyright (C) 2009 Корпорация Nokia и/или её дочерние подразделения. - + Do you want to save the modified files? Желаете сохранить изменённые файлы? @@ -702,22 +739,22 @@ All files (*) &Сохранить - - + + Save &As... Сохранить &как... - - - + + + Release As... Скомпилировать как... - + &Close &Закрыть @@ -728,13 +765,13 @@ All files (*) Сохранить все - + &Release All С&компилировать все - + Close All Закрыть все @@ -759,54 +796,54 @@ All files (*) &Найти и перевести в '%1'... - + Translation File &Settings... &Параметры файла перевода... - - + + &Batch Translation... Пак&етный перевод... - + Search And &Translate... &Найти и перевести... - + File Файл - - + + Edit Правка - - + + Translation Перевод - - + + Validation Проверка - - + + Help Справка - + Cannot read from phrase book '%1'. Не удалось прочитать из разговорника '%1'. @@ -836,12 +873,12 @@ All files (*) Желаете сохранить разговорник '%1'? - + All Все - + MainWindow Главное окно @@ -886,7 +923,7 @@ All files (*) Пан&ели инструментов - + &Help &Справка @@ -1103,15 +1140,20 @@ All files (*) &Prev Unfinished - &Пред. незавершённый + &Предыдущий незавершённый - - Previous unfinished item. - Предыдущий незавершённый перевод. + + Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the TS file. + Создание готового файла перевода Qt из текущего файла. Имя файла будет автоматически определено из имени .ts файла. - + + Length Variants + + + + Move to the previous unfinished item. Перейти к предыдущему незавершённому переводу. @@ -1123,15 +1165,10 @@ All files (*) &Next Unfinished - &След. незавершённый + &Следующий незавершённый - - Next unfinished item. - Следующий незавершённый перевод. - - - + Move to the next unfinished item. Перейти к следующему незавершённому переводу. @@ -1146,12 +1183,7 @@ All files (*) Пр&едыдущий - - Move to previous item. - Предыдущий перевод. - - - + Move to the previous item. Перейти к предыдущему переводу. @@ -1166,12 +1198,7 @@ All files (*) С&ледующий - - Next item. - Следующий перевод. - - - + Move to the next item. Перейти к следующему переводу. @@ -1186,12 +1213,7 @@ All files (*) &Готово и далее - - Mark item as done and move to the next unfinished item. - Пометить перевод как завершённый и перейти к следующему незавершённому. - - - + Mark this item as done and move to the next unfinished item. Пометить перевод как завершённый и перейти к следующему незавершённому. @@ -1202,8 +1224,7 @@ All files (*) Скопировать из исходного текста - - + Copies the source text into the translation field. Скопировать исходный текст в поле перевода. @@ -1218,12 +1239,7 @@ All files (*) &Акселераторы - - Toggle the validity check of accelerators. - Переключение проверки акселераторов. - - - + Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window. Переключение проверки акселераторов, т.е. совпадает ли количество амперсандов в исходном и переведённом текстах. Если выявлено несовпадение, будет показано сообщение в окне предупреждений. @@ -1233,12 +1249,7 @@ All files (*) &Знаки препинания - - Toggle the validity check of ending punctuation. - Переключение проверки знаков препинания в конце текста. - - - + Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window. Переключение проверки знаков препинания в конце текста. Если выявлено несовпадение, будет показано сообщение в окне предупреждений. @@ -1248,12 +1259,7 @@ All files (*) Совпадение &фраз - - Toggle checking that phrase suggestions are used. - Переключение проверки использования предложений для фраз. - - - + Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window. Переключение проверки использования предложений для фраз. Если выявлено несовпадение, будет показано сообщение в окне предупреждений. @@ -1263,12 +1269,7 @@ All files (*) Совпадение &маркеров - - Toggle the validity check of place markers. - Переключение проверки маркеров форматирования. - - - + Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window. Переключение проверки маркеров форматирования, т.е. все ли маркеры (%1, %2, ...) исходного текста присутствуют в переведённом. Если выявлено несовпадение, будет показано сообщение в окне предупреждений. @@ -1394,12 +1395,7 @@ All files (*) Перевести все записи в пакетном режиме, используя информацию из разговорника. - - Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the .ts file. - Создание готового файла перевода Qt из текущего файла. Имя файла будет автоматически определено из имени .ts файла. - - - + Open/Refresh Form &Preview Открыть/обновить предпрос&мотр формы @@ -1454,6 +1450,56 @@ All files (*) Ctrl+W + + + Previous unfinished item + Предыдущий незавершённый перевод + + + + Next unfinished item + Следующий незавершённый перевод + + + + Move to previous item + Перейти к предыдущему переводу + + + + Next item + Следующий перевод + + + + Mark item as done and move to the next unfinished item + Пометить перевод как завершённый и перейти к следующему незавершённому + + + + Copies the source text into the translation field + Скопировать исходный текст в поле перевода + + + + Toggle the validity check of accelerators + Переключение проверки акселераторов + + + + Toggle the validity check of ending punctuation + Переключение проверки знаков препинания в конце текста + + + + Toggle checking that phrase suggestions are used + Переключение проверки использования предложений для фраз + + + + Toggle the validity check of place markers + Переключение проверки маркеров форматирования + MessageEditor @@ -1495,7 +1541,7 @@ All files (*) Китайский - + This whole panel allows you to view and edit the translation of some source text. Данная панель позволяет просматривать и редактировать перевод исходного текста. @@ -1510,7 +1556,7 @@ All files (*) В данной области отображается исходный текст. - + Source text (Plural) Исходный текст (множественная форма) @@ -1520,7 +1566,7 @@ All files (*) В данной области отображается исходный текст во множественной форме. - + Developer comments Комментарий разработчика @@ -1535,12 +1581,12 @@ All files (*) Здесь вы можете оставить комментарий для собственного использования. Комментарии не влияют на перевод приложений. - + %1 translation (%2) %1 перевод (%2) - + This is where you can enter or modify the translation of the above source text. Здесь вы можете ввести или изменить перевод текста, представленного выше. @@ -1555,7 +1601,7 @@ All files (*) %1 перевод: комментарий переводчика - + '%1' Line: %2 '%1' @@ -1586,25 +1632,20 @@ Line: %2 - MsgEdit - - - - This is the right panel of the main window. - Правая панель главного окна - - - - PhraseBookBox - + Go to Phrase > Edit Phrase Book... The dialog that pops up is a PhraseBookBox. - + + (New Entry) + (Новая запись) + + + %1[*] - Qt Linguist %1[*] - Qt Linguist @@ -1725,7 +1766,7 @@ Line: %2 PhraseView - + Insert Вставить @@ -1748,7 +1789,7 @@ Line: %2 QObject - + Translation files (%1);; Файлы перевода (%1);; @@ -1769,7 +1810,7 @@ Line: %2 Qt Linguist - + GNU Gettext localization files Файлы локализации GNU Gettext @@ -1779,7 +1820,7 @@ Line: %2 Скомпилированные переводы Qt - + Qt Linguist 'Phrase Book' 'Разговорник' Qt Linguist @@ -1799,35 +1840,10 @@ Line: %2 Исходные файлы перевода Qt (последний формат) - + XLIFF localization files Файлы локализации XLIFF - - - C++ source files - Файлы исходных кодов C++ - - - - Java source files - Файлы исходных кодов Java - - - - Qt Script source files - Файлы исходных кодов Qt Script - - - - Qt Designer form files - Формы Qt Designer - - - - Qt Jambi form files - Формы Qt Jambi - SourceCodeView -- cgit v0.12 From 0a11a32f223cdefdb3a310014fc343f599572210 Mon Sep 17 00:00:00 2001 From: Ritt Konstantin Date: Mon, 12 Oct 2009 12:37:01 +0200 Subject: Update Russian translations for Qt Assistant, Qt Assistant Adp tools and Qt Help library Merge-request: 1761 Reviewed-by: Oswald Buddenhagen --- translations/assistant_adp_ru.ts | 72 +++++++++++++------------- translations/assistant_ru.ts | 108 +++++++++++++++++++++++---------------- translations/qt_help_ru.ts | 36 ++++++++----- 3 files changed, 123 insertions(+), 93 deletions(-) diff --git a/translations/assistant_adp_ru.ts b/translations/assistant_adp_ru.ts index c47798b..db0c9df 100644 --- a/translations/assistant_adp_ru.ts +++ b/translations/assistant_adp_ru.ts @@ -19,12 +19,12 @@ &Family - Се&мейство + &Шрифт &Style - &Стиль + &Начертание @@ -39,7 +39,7 @@ &Point size - &Размер в пикселях + &Размер @@ -116,7 +116,7 @@ <b>Help</b><p>Choose the topic you want help on from the contents list, or search the index for keywords.</p> - <b>Справка</b><p>Выберите раздел справки из содержания или воспользуйтесь поиском по предметному указателю.</p> + <b>Справка</b><p>Выберите раздел справки из оглавления или воспользуйтесь поиском по предметному указателю.</p> @@ -141,7 +141,7 @@ Con&tents - Содер&жание + &Оглавление @@ -154,17 +154,27 @@ Удалить выбранную закладку. - + + Enter searchword(s) + Введите одно или несколько слов для поиска + + + + Display the help page + Показать страницу справки + + + Display the help page for the full text search. Показать справку по полнотекстовому поиску. - - Display the help page. - Показать страницу справки. + + Start searching + Начать поиск - + Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search. Отображает список разделов, распредёленных по категориям, указатель или закладки. Последняя вкладка содержит панель полнотекстового поиска. @@ -200,11 +210,6 @@ Skipping file. Введите ключевое слово - - Enter searchword(s). - Введите одно или несколько слов для поиска. - - Failed to load keyword index file Assistant will not work! @@ -219,7 +224,7 @@ Assistant will not work! Qt Assistant не будет работать! - + Found &Documents: Найденные &документы: @@ -294,11 +299,6 @@ Qt Assistant не будет работать! &Искать: - - Start searching. - Начать поиск. - - The closing quotation mark is missing. Пропущена закрывающая кавычка. @@ -316,7 +316,7 @@ Qt Assistant не будет работать! Предупреждение - + column 1 столбец 1 @@ -407,7 +407,7 @@ Qt Assistant не будет работать! MainWindow - + "What's This?" context sensitive help. Контекстная справка "Что это?". @@ -483,7 +483,7 @@ Qt Assistant не будет работать! &Окно - + ... ... @@ -533,9 +533,9 @@ Qt Assistant не будет работать! Показать дополнительную информацию о Qt Assistant. - + Displays the main page of a specific documentation set. - Открывает стартовую страницу выбранного набора документации. + Открывает стартовую страницу выбранного набора документации. @@ -543,7 +543,7 @@ Qt Assistant не будет работать! В&ыход - + Failed to open about application contents in file: '%1' Не удалось получить информацию о приложении из файла: '%1' @@ -578,12 +578,12 @@ Qt Assistant не будет работать! Переход на следующую страницу. - + Initializing Qt Assistant... Инициализация Qt Assistant... - + Minimize Свернуть @@ -639,7 +639,7 @@ Qt Assistant не будет работать! Выйти из Qt Assistant. - + Save Page Сохранить страницу @@ -652,17 +652,17 @@ Qt Assistant не будет работать! Select the page in contents tab. - Выбрать страницу во вкладке содержания. + Выбрать страницу во вкладке оглавления. - + Sidebar Боковая панель Sync with Table of Contents - Синхронизировать с содержанием + Синхронизировать с оглавлением @@ -670,7 +670,7 @@ Qt Assistant не будет работать! Панель инструментов - + Views Виды @@ -700,12 +700,12 @@ Qt Assistant не будет работать! Уменьшить размер шрифта. - + Ctrl+M - + SHIFT+CTRL+= diff --git a/translations/assistant_ru.ts b/translations/assistant_ru.ts index ecec0f8..992cf18 100644 --- a/translations/assistant_ru.ts +++ b/translations/assistant_ru.ts @@ -151,7 +151,7 @@ CentralWidget - + Add new page Открыть новую страницу @@ -161,7 +161,7 @@ Закрыть текущую страницу - + Print Document Печать документа @@ -172,7 +172,7 @@ безымянная вкладка - + Add New Page Открыть новую страницу @@ -226,7 +226,7 @@ FindWidget - + Previous Предыдущее @@ -266,17 +266,17 @@ &Family - Се&мейство + &Шрифт &Style - &Стиль + &Начертание &Point size - &Размер в точках + &Размер @@ -340,13 +340,13 @@ InstallDialog - + Install Documentation Установка документации - + Downloading documentation info... Загрузка информации о документации... @@ -440,32 +440,32 @@ MainWindow - - + + Index Указатель - - + + Contents Содержание - - + + Bookmarks Закладки - + - + Qt Assistant Qt Assistant - + Unfiltered Без фильтрации @@ -473,7 +473,7 @@ Looking for Qt Documentation... - Поиск документации по Qt... + Поиск документации Qt... @@ -496,7 +496,7 @@ &Печать... - + New &Tab Новая &вкладка @@ -511,12 +511,7 @@ В&ыход - - CTRL+Q - - - - + &Edit &Правка @@ -526,12 +521,12 @@ &Копировать выделенный текст - + &Find in Text... П&оиск в тексте... - + Find &Next Найти &следующее @@ -556,17 +551,17 @@ У&величить - + Zoom &out У&меньшить - + Normal &Size Нормальный р&азмер - + Ctrl+0 @@ -621,12 +616,12 @@ &Вперёд - + Sync with Table of Contents - Синхронизировать с содержанием + Синхронизировать с оглавлением - + Next Page Следующая страница @@ -671,7 +666,7 @@ О программе... - + Navigation Toolbar Панель навигации @@ -726,7 +721,7 @@ Не удалось найти элемент, связанный с содержанием. - + About %1 О %1 @@ -739,7 +734,7 @@ PreferencesDialog - + Add Documentation Добавить документацию @@ -780,7 +775,7 @@ Удалить - + Use custom settings Использовать индивидуальные настройки @@ -864,20 +859,45 @@ Параметры - + Homepage - Домашная страница + Стартовая страница - + Current Page Текущая страница - + Restore to default Страница по умолчанию + + + On help start: + При запуске: + + + + Show my home page + Отобразить стартовую страницу + + + + Show a blank page + Отобразить пустую страницу + + + + Show my tabs from last session + Восстановить предыдущую сессиию + + + + Blank Page + Пустая страница + QObject @@ -944,7 +964,7 @@ Qt Assistant - + Could not register documentation file %1 @@ -993,7 +1013,7 @@ Reason: RemoteControl - + Debugging Remote Control Отладочное удалённое управление diff --git a/translations/qt_help_ru.ts b/translations/qt_help_ru.ts index c2dc041..006a90b 100644 --- a/translations/qt_help_ru.ts +++ b/translations/qt_help_ru.ts @@ -120,7 +120,7 @@ QHelpEngineCore - + The specified namespace does not exist! Указанное пространство имён не существует! @@ -128,7 +128,7 @@ QHelpEngineCorePrivate - + Cannot open documentation file %1: %2! Не удалось открыть файл документации %1: %2! @@ -233,33 +233,43 @@ Insert contents... - Добавление содержания... + Добавление оглавления... Cannot insert contents! - Не удалось добавить содержание! + Не удалось добавить оглавление! Cannot register contents! - Не удалось зарегистрировать содержание! + Не удалось зарегистрировать оглавление! QHelpSearchQueryWidget - + Search for: Искать: + + Previous search + Предыдущий запрос + + + + Next search + Следующий запрос + + Search Поиск - + Advanced search Расширенный поиск @@ -269,22 +279,22 @@ <B>похожие</B> слова: - + <B>without</B> the words: <B>не содержит</B> слов: - + with <B>exact phrase</B>: содержит <B>точную фразу</B>: - + with <B>all</B> of the words: содержит <B>все</B> слова: - + with <B>at least one</B> of the words: содержит <B>хотя бы одно</B> из слов: @@ -313,7 +323,7 @@ Безымянный - + Unknown token. Неизвестный идентификатор. @@ -353,7 +363,7 @@ Отсутствует атрибут у ключевого слова в строке %1. - + The input file %1 could not be opened! Невозможно открыть исходный файл %1! -- cgit v0.12 From 4e44097d77a55b88e2664fc0043203278a9a2d20 Mon Sep 17 00:00:00 2001 From: Ritt Konstantin Date: Mon, 12 Oct 2009 12:37:02 +0200 Subject: Add Russian translations for Qt Designer Merge-request: 1761 Reviewed-by: Oswald Buddenhagen --- translations/designer_ru.ts | 7049 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 7049 insertions(+) create mode 100644 translations/designer_ru.ts diff --git a/translations/designer_ru.ts b/translations/designer_ru.ts new file mode 100644 index 0000000..c2f2128 --- /dev/null +++ b/translations/designer_ru.ts @@ -0,0 +1,7049 @@ + + + + + AbstractFindWidget + + + &Previous + &Предыдущий + + + + &Next + &Следующий + + + + &Case sensitive + &Учитывать регистр + + + + Whole &words + Слова &целиком + + + + <img src=":/trolltech/shared/images/wrap.png">&nbsp;Search wrapped + <img src=":/trolltech/shared/images/wrap.png">&nbsp;Поиск с начала + + + + AddLinkDialog + + + Insert Link + Вставить ссылку + + + + Title: + Заголовок: + + + + URL: + URL: + + + + AppFontDialog + + + Additional Fonts + Дополнительные шрифты + + + + AppFontManager + + + '%1' is not a file. + '%1' не является файлом. + + + + The font file '%1' does not have read permissions. + Файл шрифтов '%1' не доступен для чтения. + + + + The font file '%1' is already loaded. + Файл шрифтов '%1'уже загружен. + + + + The font file '%1' could not be loaded. + Файл шрифтов '%1' не может быть загружен. + + + + '%1' is not a valid font id. + '%1' не является корректным идентификатором шрифта. + + + + There is no loaded font matching the id '%1'. + Нет загруженного шрифта, соответствующего идентификатору '%1'. + + + + The font '%1' (%2) could not be unloaded. + Шрифт '%1' (%2) не может быть выгружен. + + + + AppFontWidget + + + Fonts + Шрифты + + + + Add font files + Добавить файлы шрифтов + + + + Remove current font file + Удалить текущий файл шрифта + + + + Remove all font files + Удалить все файлы шрифтов + + + + Add Font Files + Добавить файлы шрифтов + + + + Font files (*.ttf) + Файлы шрифтов (*.ttf) + + + + Error Adding Fonts + Ошибка добавления шрифтов + + + + Error Removing Fonts + Ошибка удаления шрифтов + + + + Remove Fonts + Удалить шрифты + + + + Would you like to remove all fonts? + Желаете удалить все шрифты? + + + + AppearanceOptionsWidget + + + Form + Форма + + + + User Interface Mode + Режим пользовательского интерфейса + + + + AssistantClient + + + Unable to send request: Assistant is not responding. + Невозможно отправить запрос: Qt Assistant не отвечает. + + + + The binary '%1' does not exist. + Исполняемый файл '%1' не существует. + + + + Unable to launch assistant (%1). + Невозможно запустить Qt Assistant (%1). + + + + BrushPropertyManager + + + No brush + Пустая + + + + Solid + Сплошная + + + + Dense 1 + Плотность 1 + + + + Dense 2 + Плотность 2 + + + + Dense 3 + Плотность 3 + + + + Dense 4 + Плотность 4 + + + + Dense 5 + Плотность 5 + + + + Dense 6 + Плотность 6 + + + + Dense 7 + Плотность 7 + + + + Horizontal + Горизонтальная + + + + Vertical + Вертикальная + + + + Cross + Крестообразная + + + + Backward diagonal + Обратная диагональ + + + + Forward diagonal + Диагональ + + + + Crossing diagonal + Пересекающиеся диагонали + + + + Style + Стиль + + + + Color + Цвет + + + + [%1, %2] + [%1, %2] + + + + Command + + + + Change signal + Сменить сигнал + + + + + Change slot + Сменить слот + + + + Change signal-slot connection + Изменить соединение сигнал-слот + + + + Change sender + Сменить отправителя + + + + Change receiver + Сменить получателя + + + + Create button group + Создать группу кнопок + + + + Break button group + Разбить группу кнопок + + + + Break button group '%1' + Разбить группу кнопок '%1' + + + + Add buttons to group + Добавить кнопки в группу + + + + + Add '%1' to '%2' + Command description for adding buttons to a QButtonGroup + Добавить '%1' в '%2' + + + + Remove buttons from group + Удалить кнопки из группы + + + + Remove '%1' from '%2' + Command description for removing buttons from a QButtonGroup + Удалить '%1' из '%2' + + + + Add connection + Добавить соединение + + + + Adjust connection + Настроить соединение + + + + Delete connections + Удалить соединения + + + + Change source + Сменить источник + + + + Change target + Сменить приёмника + + + + Morph %1/'%2' into %3 + MorphWidgetCommand description + Преобразовать %1/'%2' в %3 + + + + Insert '%1' + Вставить '%1' + + + + Change Z-order of '%1' + Изменить порядок удалённости '%1' + + + + Raise '%1' + Поднять '%1' + + + + Lower '%1' + Опустить '%1' + + + + Delete '%1' + Удалить '%1' + + + + Reparent '%1' + Сменить владельца у '%1' + + + + Promote to custom widget + Преобразовать в пользовательский виджет + + + + Demote from custom widget + Преобразовать из пользовательского виджета + + + + Lay out using grid + Скомпоновать, используя сетку + + + + Lay out vertically + Скомпоновать по вертикали + + + + Lay out horizontally + Скомпоновать по горизонтали + + + + Break layout + Разбить компоновку + + + + Simplify Grid Layout + Упрощённая компоновка по сетке + + + + + + Move Page + Переместить страницу + + + + + + + Delete Page + Удалить страницу + + + + + Page + Страница + + + + page + страница + + + + + + + Insert Page + Вставить страницу + + + + Change Tab order + Изменить последовательность переключений + + + + Create Menu Bar + Создать панель меню + + + + Delete Menu Bar + Удалить панель меню + + + + Create Status Bar + Создать строку состояния + + + + Delete Status Bar + Удалить строку состояния + + + + Add Tool Bar + Добавить панель инструментов + + + + Add Dock Window + Добавить прикрепляемое окно + + + + Adjust Size of '%1' + Подогнать размер '%1' + + + + Change Form Layout Item Geometry + Изменить геометрию элементов компоновки столбцами + + + + Change Layout Item Geometry + Изменить геометрию элементов компоновки + + + + Delete Subwindow + Удалить дочернее окно + + + + Insert Subwindow + Вставить дочернее окно + + + + subwindow + дочернее окно + + + + Subwindow + Дочернее окно + + + + Change Table Contents + Изменить содержимое таблицы + + + + Change Tree Contents + Изменить содержимое дерева + + + + + Add action + Добавить действие + + + + + Remove action + Удалить действие + + + + Add menu + Добавить меню + + + + Remove menu + Удалить меню + + + + Create submenu + Создать дочернее меню + + + + Delete Tool Bar + Удалить панель инструментов + + + + Change layout of '%1' from %2 to %3 + Изменить компоновку '%1' с %2 на %3 + + + + Set action text + Установить текст действия + + + + Insert action + Вставить действие + + + + + Move action + Переместить действие + + + + Change Title + Изменить заголовок + + + + Insert Menu + Вставить меню + + + + Changed '%1' of '%2' + Изменено '%1' у '%2' + + + + Changed '%1' of %n objects + + Изменено '%1' у %n объекта + Изменено '%1' у %n объектов + Изменено '%1' у %n объектов + + + + + Reset '%1' of '%2' + Восстановлено '%1' у '%2' + + + + Reset '%1' of %n objects + + Восстановлено '%1' у %n объекта + Восстановлено '%1' у %n объектов + Восстановлено '%1' у %n объектов + + + + + Add dynamic property '%1' to '%2' + Добавлено динамическое свойство '%1' '%2' + + + + Add dynamic property '%1' to %n objects + + Добавлено динамическое свойство '%1' %n объекту + Добавлено динамическое свойство '%1' %n объектам + Добавлено динамическое свойство '%1' %n объектам + + + + + Remove dynamic property '%1' from '%2' + Удалено динамическое свойство '%1' у '%2' + + + + Remove dynamic property '%1' from %n objects + + Удалено динамическое свойство '%1' у %n объекта + Удалено динамическое свойство '%1' у %n объектов + Удалено динамическое свойство '%1' у %n объектов + + + + + Change script + Изменить сценарий + + + + Change signals/slots + Изменить сигналы/слоты + + + + ConnectDialog + + + Configure Connection + Настройка соединения + + + + + GroupBox + GroupBox + + + + + Edit... + Изменить... + + + + Show signals and slots inherited from QWidget + Показывать сигналы и слоты, унаследованные от QWidget + + + + ConnectionDelegate + + + <object> + <объект> + + + + <signal> + <сигнал> + + + + <slot> + <слот> + + + + DPI_Chooser + + + Standard (96 x 96) + Embedded device standard screen resolution + Стандартное (96 x 96) + + + + Greenphone (179 x 185) + Embedded device screen resolution + Greenphone (179 x 185) + + + + High (192 x 192) + Embedded device high definition screen resolution + Высокое (192 x 192) + + + + Designer + + + Qt Designer + Qt Designer + + + + This file contains top level spacers.<br>They have <b>NOT</b> been saved into the form. + Этот файл содержит верхнеуровневые разделители.<br>Они <b>НЕ</b> были сохранены в форме. + + + + Perhaps you forgot to create a layout? + Возможно, вы забыли создать компоновщик? + + + + Invalid UI file: The root element <ui> is missing. + Некорректный файл UI: Отсутствует корневой элемент <ui>. + + + + An error has occurred while reading the UI file at line %1, column %2: %3 + При чтении файла UI в строке %1 позиции %2 возникла ошибка: %3 + + + + This file cannot be read because it was created using %1. + Не удалось прочитать файл, так как он был создан с использованием %1. + + + + This file was created using Designer from Qt-%1 and cannot be read. + Не удалось прочитать файл, так как он был создан с использованием Designer из Qt-%1. + + + + The converted file could not be read. + Не удалось прочитать преобразованный файл. + + + + This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer. + Этот файл был создан с использованием Designer из Qt-%1 и будет преобразован в новый формат. + + + + The old form has not been touched, but you will have to save the form under a new name. + Старая форма была изменена, но вы можете сохранить форму под новым именем. + + + + This file was created using Designer from Qt-%1 and could not be read: +%2 + Не удалось прочитать файл, так как он был создан с использованием Designer из Qt-%1: +%2 + + + + Please run it through <b>uic3&nbsp;-convert</b> to convert it to Qt-4's ui format. + Пожалуйста, пропустите его через <b>uic3&nbsp;-convert</b> для преобразования в формат ui для Qt-4. + + + + This file cannot be read because the extra info extension failed to load. + Не удалось прочитать файл, так как возникла ошибка при загрузке расширения дополнительной информации. + + + + Custom Widgets + Пользовательские виджеты + + + + Promoted Widgets + Преобразованные виджеты + + + + Unable to launch %1. + Невозможно запустить %1. + + + + %1 timed out. + %1 время ожидания истекло. + + + + DesignerMetaEnum + + + %1 is not a valid enumeration value of '%2'. + %1 не является корректным перечислением типа '%2'. + + + + '%1' could not be converted to an enumeration value of type '%2'. + Не удалось преобразовать '%1' к значению перечисления '%2'. + + + + DesignerMetaFlags + + + '%1' could not be converted to a flag value of type '%2'. + Не удалось преобразовать '%1' к флаговому значению типа '%2'. + + + + DeviceProfile + + + '%1' is not a number. + Reading a number for an embedded device profile + '%1' не является числом. + + + + An invalid tag <%1> was encountered. + Обнаружен некоррекнтый тэг <%1>. + + + + DeviceProfileDialog + + + &Family + &Шрифт + + + + &Point Size + &Размер + + + + Style + Начертание + + + + Device DPI + DPI устройства + + + + Name + Название + + + + DeviceSkin + + + The image file '%1' could not be loaded. + Не удалось загрузить файл изображения '%1'. + + + + The skin directory '%1' does not contain a configuration file. + Каталог '%1' не содержит файла настроек обложки. + + + + The skin configuration file '%1' could not be opened. + Не удалось открыть файл настроек обложки '%1'. + + + + The skin configuration file '%1' could not be read: %2 + Не удалось прочитать файл настроек обложки '%1': %2 + + + + Syntax error: %1 + Синтаксическая ошибка: %1 + + + + The skin "up" image file '%1' does not exist. + Отсутствует файл изображения "up" обложки '%1'. + + + + The skin "down" image file '%1' does not exist. + Отсутствует файл изображения "down" обложки '%1'. + + + + The skin "closed" image file '%1' does not exist. + Отсутствует файл изображения обложки "closed" '%1'. + + + + The skin cursor image file '%1' does not exist. + Отсутствует файл изображения курсора обложки '%1'. + + + + Syntax error in area definition: %1 + Синтаксическая ошибка в определении области: %1 + + + + Mismatch in number of areas, expected %1, got %2. + Несоответствие количества областей: ожидалось %1, найдено %2. + + + + EmbeddedOptionsControl + + + <html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Style</b></td><td>%3</td></tr><tr><td><b>Resolution</b></td><td>%4 x %5</td></tr></table></html> + Format embedded device profile description + <html><table><tr><td><b>Шрифт</b></td><td>%1, %2</td></tr><tr><td><b>Стиль</b></td><td>%3</td></tr><tr><td><b>Разрешение</b></td><td>%4 x %5</td></tr></table></html> + + + + EmbeddedOptionsPage + + + Embedded Design + Tab in preferences dialog + Оформление портативных устройств + + + + Device Profiles + EmbeddedOptionsControl group box" + Профили устройств + + + + FontPanel + + + Font + Шрифт + + + + &Writing system + Система &письма + + + + &Family + &Шрифт + + + + &Style + &Начертание + + + + &Point size + &Размер + + + + FontPropertyManager + + + PreferDefault + По умолчанию + + + + NoAntialias + Без сглаживания + + + + PreferAntialias + Сглаживание, если возможно + + + + Antialiasing + Сглаживание + + + + FormBuilder + + + Invalid stretch value for '%1': '%2' + Parsing layout stretch values + Некорректный коэффициент растяжения для '%1': '%2' + + + + Invalid minimum size for '%1': '%2' + Parsing grid layout minimum size values + Некорректный минимальный размер для '%1': '%2' + + + + FormEditorOptionsPage + + + %1 % + %1 % + + + + Preview Zoom + Масштаб предпросмотра + + + + Default Zoom + Масштаб по умолчанию + + + + Forms + Tab in preferences dialog + Формы + + + + Default Grid + Сетка по умолчанию + + + + FormLayoutRowDialog + + + Add Form Layout Row + нелепица какая-то + Добавление строки компоновки компоновщика формы + + + + &Label text: + Текст &метки: + + + + Field &type: + &Тип поля: + + + + &Field name: + Имя п&оля: + + + + &Buddy: + П&артнёр: + + + + &Row: + &Строка: + + + + Label &name: + Имя м&етки: + + + + FormWindow + + + Unexpected element <%1> + Неожиданный элемент <%1> + + + + Error while pasting clipboard contents at line %1, column %2: %3 + Ошибка вставки содержимого из буфера обмена в строке %1, позиции %2: %3 + + + + FormWindowSettings + + + Form Settings + Настройки формы + + + + Layout &Default + Компоновка по &умолчанию + + + + &Spacing: + &Отступ: + + + + &Margin: + &Границы: + + + + &Layout Function + &Функция компоновки + + + + Ma&rgin: + Г&раницы: + + + + Spa&cing: + О&тступ: + + + + &Author + &Автор + + + + &Include Hints + &Подключить подсказки + + + + &Pixmap Function + &Загрузчик изображений + + + + Grid + Сетка + + + + Embedded Design + Оформление портативных устройств + + + + IconSelector + + + All Pixmaps ( + Растровые изображения ( + + + + ItemPropertyBrowser + + + XX Icon Selected off + Sample string to determinate the width for the first column of the list item property browser + XX Пикт Выделена откл + + + + MainWindowBase + + + Main + Not currently used (main tool bar) + Главное + + + + File + Файл + + + + Edit + Правка + + + + Tools + Инструменты + + + + Form + Форма + + + + Qt Designer + Qt Designer + + + + NewForm + + + C&reate + &Создать + + + + Recent + Последние + + + + &Close + &Закрыть + + + + &Open... + &Открыть... + + + + &Recent Forms + &Последние формы + + + + Read error + Ошибка чтения + + + + New Form + Новая форма + + + + Show this Dialog on Startup + Показывать диалог при старте + + + + A temporary form file could not be created in %1. + Временный файл формы не может быть создан в %1. + + + + The temporary form file %1 could not be written. + Временный файл формы %1 не может быть записан. + + + + ObjectInspectorModel + + + Object + Объект + + + + Class + Класс + + + + separator + разделитель + + + + <noname> + <без имени> + + + + ObjectNameDialog + + + Change Object Name + Изменить имя объекта + + + + Object Name + Имя объекта + + + + PluginDialog + + + Plugin Information + Информация о модуле + + + + 1 + 1 + + + + PreferencesDialog + + + Preferences + Настройки + + + + PreviewConfigurationWidget + + + Form + Форма + + + + Print/Preview Configuration + Настройка печати/предпросмотра + + + + Style + Стиль + + + + Style sheet + Таблица стилей + + + + + + ... + ... + + + + Device skin + Обложка устройства + + + + PromotionModel + + + Not used + Usage of promoted widgets + Не используется + + + + Q3WizardContainer + + + + Page + Страница + + + + QAbstractFormBuilder + + + Unexpected element <%1> + Неожиданный элемент <%1> + + + + An error has occurred while reading the UI file at line %1, column %2: %3 + Возникла ошибка при чтении файла UI в строке %1 позиции %2: %3 + + + + Invalid UI file: The root element <ui> is missing. + Неверный файл UI: Отсутствует корневой элемент <ui>. + + + + The creation of a widget of the class '%1' failed. + Не удалось создание виджета класса '%1'. + + + + Attempt to add child that is not of class QWizardPage to QWizard. + Попытка добавить в QWizard дочерний виджет, который не является классом QWizardPage. + + + + Attempt to add a layout to a widget '%1' (%2) which already has a layout of non-box type %3. +This indicates an inconsistency in the ui-file. + Попытка добавить компоновщик виджету '%1' (%2), у которого уже имеется компоновщик типа %3. +Это указывает на некорректность файла UI. + + + + Empty widget item in %1 '%2'. + Пустой элемент виджета в %1 '%2'. + + + + Flags property are not supported yet. + Флаговые свойства еще не поддерживаются. + + + + While applying tab stops: The widget '%1' could not be found. + При применении позиций табуляции: не удалось найти виджет '%1'. + + + + Invalid QButtonGroup reference '%1' referenced by '%2'. + '%2' содержит некорректную ссылку на QButtonGroup '%1'. + + + + This version of the uitools library is linked without script support. + Данная версия библиотеки uitools собрана без поддержки сценариев. + + + + QAxWidgetPlugin + + + ActiveX control + Элемент управления ActiveX + + + + ActiveX control widget + Виджет элемента управления ActiveX + + + + QAxWidgetTaskMenu + + + Set Control + Установить элемент управления + + + + Reset Control + Удалить элемент управления + + + + Licensed Control + Лицензионный элемент управления + + + + The control requires a design-time license + Компонент требует лицензию периода разработки + + + + QCoreApplication + + + %1 is not a promoted class. + %1 не является преобразованным классом. + + + + The base class %1 is invalid. + Неверный базовый класс %1. + + + + The class %1 already exists. + Класс %1 уже существует. + + + + Promoted Widgets + Преобразованные виджеты + + + + The class %1 cannot be removed + Нельзя удалить класс %1 + + + + The class %1 cannot be removed because it is still referenced. + Нельзя удалить класс %1, так как на него ещё есть ссылки. + + + + The class %1 cannot be renamed + Нельзя переименовать класс %1 + + + + The class %1 cannot be renamed to an empty name. + Нельзя дать классу %1 пустое имя. + + + + There is already a class named %1. + Уже есть класс с именем %1. + + + + Cannot set an empty include file. + перевод близко к тексту - буквальный совсем глаз режет + Пустое имя у подключаемого файла не допустимо. + + + + Exception at line %1: %2 + Исключение в строке %1: %2 + + + + Unknown error + Неизвестная ошибка + + + + An error occurred while running the script for %1: %2 +Script: %3 + При выполнении сценария %1 возникла ошибка: %2 +Сценарий: %3 + + + + QDesigner + + + %1 - warning + %1 - предупреждение + + + + Qt Designer + Qt Designer + + + + This application cannot be used for the Console edition of Qt + Это приложение не может быть использовано для консольной версии Qt + + + + QDesignerActions + + + Saved %1. + Сохранено %1. + + + + Edit Widgets + Изменение виджетов + + + + &Quit + &Выход + + + + &Minimize + &Свернуть + + + + Bring All to Front + Перенести все назад + + + + Preferences... + Настройки... + + + + Clear &Menu + Очистить &меню + + + + CTRL+SHIFT+S + + + + + CTRL+R + + + + + CTRL+M + + + + + Qt Designer &Help + &Справка по Qt Designer + + + + Current Widget Help + Справка по виджету + + + + What's New in Qt Designer? + Что нового в Qt Designer? + + + + About Plugins + О модулях + + + + + About Qt Designer + О Qt Designer + + + + About Qt + О Qt + + + + + Open Form + Открыть форму + + + + + + Designer UI files (*.%1);;All Files (*) + UI файлы Qt Designer (*.%1);;Все файлы (*) + + + + %1 already exists. +Do you want to replace it? + %1 уже существует. +Хотите заменить его? + + + + Additional Fonts... + Дополнительные шрифты... + + + + &Recent Forms + &Последние формы + + + + Designer + Qt Designer + + + + Feature not implemented yet! + Возможность ещё не реализована! + + + + Read error + Ошиька чтения + + + + %1 +Do you want to update the file location or generate a new form? + %1 +Вы хотите обновить расположение файла или генерировать новую форму? + + + + &Update + &Обновить + + + + &New Form + &Новая форма + + + + + Save Form? + Сохранить форму? + + + + Could not open file + Невозможно открыть файл + + + + Select New File + Выбрать новый файл + + + + Could not write file + Невозможно записать файл + + + + &Close Preview + &Закрыть предпросмотр + + + + &New... + &Новый... + + + + &Open... + &Открыть... + + + + &Save + &Сохранить + + + + Save &As... + Сохранить &как... + + + + Save A&ll + Сохранить &все + + + + Save As &Template... + Сохранить как &шаблон... + + + + + &Close + &Закрыть + + + + Save &Image... + Сохранить &Изображение... + + + + &Print... + &Печать... + + + + View &Code... + Показать &код... + + + + ALT+CTRL+S + + + + + + Save Form As + Сохранить форму как + + + + Preview failed + Ошибка предпросмотра + + + + Code generation failed + Ошибка генерации кода + + + + The file %1 could not be opened. +Reason: %2 +Would you like to retry or select a different file? + Файл %1 не может быть открыт. +Причина: %2 +Вы хотите повторить или выбрать другой файл? + + + + It was not possible to write the entire file %1 to disk. +Reason:%2 +Would you like to retry? + Не удалось полностью записать файл %1 на диск. +Причина: %2 +Желаете повторить? + + + + + Assistant + Qt Assistant + + + + + The backup file %1 could not be written. + Не удалось записать файл резервной копии %1. + + + + The backup directory %1 could not be created. + Не удалось создать каталог резервных копий %1. + + + + The temporary backup directory %1 could not be created. + Не удалось создать временный каталог резервных копий %1. + + + + Image files (*.%1) + Файлы изображений (*.%1) + + + + + Save Image + Сохранить изображение + + + + Saved image %1. + Сохранить изображение %1. + + + + The file %1 could not be written. + Файл %1 не может быть записан. + + + + Please close all forms to enable the loading of additional fonts. + Пожалуйста закройте все формы, чтобы разрешить загрузку дополнительных шрифтов. + + + + Printed %1. + Распечатано %1. + + + + QDesignerAppearanceOptionsPage + + + Appearance + Tab in preferences dialog + Оформление + + + + QDesignerAppearanceOptionsWidget + + + Docked Window + Всё в одном окне верхнего уровня + + + + Multiple Top-Level Windows + Множество окон верхнего уровня + + + + Toolwindow Font + Шрифт окна инструментов + + + + QDesignerAxWidget + + + Reset control + Сбросить элемент управления + + + + Set control + Установить элемент управления + + + + Control loaded + Элемент управления загружен + + + + A COM exception occurred when executing a meta call of type %1, index %2 of "%3". + Возникло исключение COM при выполнении мета-вызова типа %1, индекс %2 "%3". + + + + QDesignerFormBuilder + + + Script errors occurred: + Возникла ошибка сценария: + + + + The preview failed to build. + Не удалось создать предпросмотр. + + + + Designer + Qt Designer + + + + QDesignerFormWindow + + + %1 - %2[*] + %1 - %2[*] + + + + Save Form? + Сохранить форму? + + + + Do you want to save the changes to this document before closing? + Документ был изменен, хотите сохранить изменения? + + + + If you don't save, your changes will be lost. + Если вы не сохраните, ваши изменения будут потеряны. + + + + QDesignerMenu + + + Type Here + Пишите здесь + + + + Add Separator + Добавить разделитель + + + + Insert separator + Вставить разделитель + + + + Remove separator + Удалить разделитель + + + + Remove action '%1' + Удалить действие '%1' + + + + + Add separator + Добавить разделитель + + + + Insert action + Вставить действие + + + + QDesignerMenuBar + + + Type Here + Пишите здесь + + + + Remove Menu '%1' + Удалить меню '%1' + + + + Remove Menu Bar + Удалить панель меню + + + + Menu + Меню + + + + QDesignerPluginManager + + + An XML error was encountered when parsing the XML of the custom widget %1: %2 + Обнаружена ошибка XML при разборе XML пользовательского виджета %1: %2 + + + + A required attribute ('%1') is missing. + Отсутствует необходимый атрибут ('%1'). + + + + An invalid property specification ('%1') was encountered. Supported types: %2 + Обнаружена неверная спецификация ('%1') свойства. Поддерживаются типы: %2 + + + + '%1' is not a valid string property specification. + '%1' не является корректной спецификацией строкового свойства. + + + + The XML of the custom widget %1 does not contain any of the elements <widget> or <ui>. + XML пользовательского виджета %1 не содержит элементов <widget> и <ui>. + + + + The class attribute for the class %1 is missing. + Отсутствует атрибут для класса %1. + + + + The class attribute for the class %1 does not match the class name %2. + Атрибут для класса %1 не совпадает с именем класса %2. + + + + QDesignerPropertySheet + + + Dynamic Properties + Динамические свойства + + + + QDesignerResource + + + The layout type '%1' is not supported, defaulting to grid. + Компоновка типа '%1' не поддерживается, заменена на компоновку сеткой. + + + + The container extension of the widget '%1' (%2) returned a widget not managed by Designer '%3' (%4) when queried for page #%5. +Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget. + Контейнерное расширение виджета '%1' (%2) возвратило виджет, который не управляется Qt Designer '%3' (%4), при запросе страницы №%5. +Страницы контейнера должны быть добавлены указанием их в XML, который возвращается методом domXml() пользовательского виджета. + + + + Unexpected element <%1> + Parsing clipboard contents + Неожиданный элемент <%1> + + + + Error while pasting clipboard contents at line %1, column %2: %3 + Parsing clipboard contents + Ошибка вставки содержимого буфера обмена в строку %1, позицию %2: %3 + + + + Error while pasting clipboard contents: The root element <ui> is missing. + Parsing clipboard contents + Ошибка вставки содержимого буфера обмена: отсутствует корневой элемент <ui>. + + + + QDesignerSharedSettings + + + The template path %1 could not be created. + Не удалось создать временный путь %1. + + + + An error has been encountered while parsing device profile XML: %1 + Обнаружена ошибка при разборе XML профиля устройства: %1 + + + + QDesignerToolWindow + + + Property Editor + Редактор свойств + + + + Action Editor + Редактор действий + + + + Object Inspector + Инспектор объектов + + + + Resource Browser + Обозреватель ресурсов + + + + Signal/Slot Editor + Редактор Сигналов/Слотов + + + + Widget Box + Панель виджетов + + + + QDesignerWorkbench + + + &File + &Файл + + + + F&orm + Ф&орма + + + + Preview in + Предпросмотр в + + + + &Window + &Окно + + + + &Help + &Справка + + + + Edit + Правка + + + + Toolbars + Панель инструментов + + + + Save Forms? + Сохранить форму? + + + + There are %n forms with unsaved changes. Do you want to review these changes before quitting? + + Есть %n форма с несохранёнными изменениями. Показать изменения перед выходом? + Есть %n формы с несохранёнными изменениями. Показать изменения перед выходом? + Есть %n форм с несохранёнными изменениями. Показать изменения перед выходом? + + + + + &View + &Вид + + + + &Settings + &Настройки + + + + Widget Box + Панель виджетов + + + + If you do not review your documents, all your changes will be lost. + Если вы не пересмотрите документы, то все ваши изменения будут потеряны. + + + + Discard Changes + Отменить изменения + + + + Review Changes + Показать изменения + + + + Backup Information + Информация о резервировании + + + + The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them? + Последняя сессия Qt Designer не была завершена корректно. Остались резервные копии файлов. Желаете загрузить их? + + + + The file <b>%1</b> could not be opened. + Не удалось открыть файл <b>%1</b>. + + + + The file <b>%1</b> is not a valid Designer UI file. + Файл <b>%1</b> не является корректным UI файлом Qt Designer. + + + + QFormBuilder + + + An empty class name was passed on to %1 (object name: '%2'). + Empty class name passed to widget factory method + Методу %1 (объекта '%2') было передано пустое имя класса. + + + + QFormBuilder was unable to create a custom widget of the class '%1'; defaulting to base class '%2'. + QFormBuilder не смог создать пользовательский виджет класса '%1'; был создан базовый класс '%2'. + + + + QFormBuilder was unable to create a widget of the class '%1'. + QFormBuilder не смог создать пользовательский виджет класса '%1'. + + + + The layout type `%1' is not supported. + Компоновка типа '%1' не поддерживается. + + + + The set-type property %1 could not be read. + Не удалось прочитать свойство %1 множественного типа. + + + + The enumeration-type property %1 could not be read. + Не удалось прочитать свойство %1 перечисляемого типа. + + + + Reading properties of the type %1 is not supported yet. + Чтение свойств типа %1 ещё не поддерживается. + + + + The property %1 could not be written. The type %2 is not supported yet. + Не удалось записать свойство %1. Тип %2 ещё не поддерживается. + + + + QStackedWidgetEventFilter + + + Previous Page + Предыдущая страница + + + + Next Page + Следующая страница + + + + Delete + Удалить + + + + Before Current Page + Перед текущей страницей + + + + After Current Page + После текущей страницы + + + + Change Page Order... + Изменить порядок страниц... + + + + Change Page Order + Изменить порядок страниц + + + + Page %1 of %2 + Страница %1 из %2 + + + + + Insert Page + Вставить страницу + + + + QStackedWidgetPreviewEventFilter + + + Go to previous page of %1 '%2' (%3/%4). + Перейти к предыдущей странице из %1 '%2' (%3/%4). + + + + Go to next page of %1 '%2' (%3/%4). + Перейти к следующей странице из %1 '%2' (%3/%4). + + + + QTabWidgetEventFilter + + + Delete + Удалить + + + + Before Current Page + Перед текущей страницей + + + + After Current Page + После текущей страницы + + + + Page %1 of %2 + Страница %1 из %2 + + + + + Insert Page + Вставить страницу + + + + QToolBoxHelper + + + Delete Page + Удалить страницу + + + + Before Current Page + Перед текущей страницей + + + + After Current Page + После текущей страницы + + + + Change Page Order... + Изменить порядок страниц... + + + + Change Page Order + Изменить порядок страниц + + + + Page %1 of %2 + Страница %1 из %2 + + + + Insert Page + Вставить страницу + + + + QtBoolEdit + + + + + True + Вкл. + + + + + False + Выкл. + + + + QtBoolPropertyManager + + + True + Да + + + + False + Нет + + + + QtCharEdit + + + Clear Char + Стереть символ + + + + QtColorEditWidget + + + ... + ... + + + + QtColorPropertyManager + + + Red + Красный + + + + Green + Зелёный + + + + Blue + Синий + + + + Alpha + Альфа + + + + QtCursorDatabase + + + Arrow + Arrow + + + + Up Arrow + Up Arrow + + + + Cross + Cross + + + + Wait + Wait + + + + IBeam + IBeam + + + + Size Vertical + Size Vertical + + + + Size Horizontal + Size Horizontal + + + + Size Backslash + Size Backslash + + + + Size Slash + Size Slash + + + + Size All + Size All + + + + Blank + Blank + + + + Split Vertical + Split Vertical + + + + Split Horizontal + Split Horizontal + + + + Pointing Hand + Pointing Hand + + + + Forbidden + Forbidden + + + + Open Hand + Open Hand + + + + Closed Hand + Closed Hand + + + + What's This + What's This + + + + Busy + Busy + + + + QtFontEditWidget + + + ... + ... + + + + Select Font + Выбрать шрифт + + + + QtFontPropertyManager + + + Family + Шрифт + + + + Point Size + Размер + + + + Bold + Жирный + + + + Italic + Курсив + + + + Underline + Подчёркнутый + + + + Strikeout + Зачёркнутый + + + + Kerning + Интервал + + + + QtGradientDialog + + + Edit Gradient + Правка градиента + + + + QtGradientEditor + + + Start X + X начала + + + + Start Y + Y начала + + + + Final X + X конца + + + + Final Y + Y конца + + + + + Central X + X центра + + + + + Central Y + Y центра + + + + Focal X + X фокуса + + + + Focal Y + Y фокуса + + + + Radius + Радиус + + + + Angle + Угол + + + + Linear + Линейный + + + + Radial + Радиальный + + + + Conical + Конический + + + + Pad + Равномерная + + + + Repeat + Цикличная + + + + Reflect + Зеркальная + + + + Form + Форма + + + + Gradient Editor + Редактор градиента + + + + This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop. + Эта область отображает предварительный вариант настраиваемого градиента. Также она позволяет менять с помощью перетаскивания характерные для градиента параметры, такие как: начальная и конечная точки, радиус и пр. + + + + 1 + 1 + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + 5 + 5 + + + + Gradient Stops Editor + Редактор опорных точек градиента + + + + This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions. + Эта область позволяет редактировать опорные точки градиента. Двойной щелчок на существующей точке создаст её копию. Двойной клик вне существующей точки создаст новую. Точки можно перемещать путем удерживания левой кнопки. По правой кнопке можно получить контекстное меню дополнительных действий. + + + + Zoom + Масштаб + + + + + Reset Zoom + 100% + + + + Position + Положение + + + + + + Hue + Оттенок + + + + H + H + + + + + Saturation + Насыщенность + + + + S + S + + + + Sat + Насыщение + + + + + Value + Значение + + + + V + V + + + + Val + Значение + + + + + + Alpha + Альфа + + + + A + A + + + + Type + Тип + + + + Spread + Заливка + + + + Color + Цвет + + + + Current stop's color + Цвет текущей точки + + + + Show HSV specification + Настройки в виде HSV + + + + HSV + HSV + + + + Show RGB specification + Настройки в виде RGB + + + + RGB + RGB + + + + Current stop's position + Положение текущей точки + + + + % + % + + + + Zoom In + Увеличить + + + + Zoom Out + Уменьшить + + + + Toggle details extension + Показать/скрыть детальные настройки + + + + > + > + + + + Linear Type + Линейный тип + + + + + + + + + ... + ... + + + + Radial Type + Радиальный тип + + + + Conical Type + Конический тип + + + + Pad Spread + Равномерная заливка + + + + Repeat Spread + Цикличная заливка + + + + Reflect Spread + Зеркальная заливка + + + + QtGradientStopsWidget + + + New Stop + Новая точка + + + + Delete + Удалить + + + + Flip All + Отобразить зеркально + + + + Select All + Выделить все + + + + Zoom In + Увеличить + + + + Zoom Out + Уменьшить + + + + Reset Zoom + Сбросить масштаб + + + + QtGradientView + + + Grad + Градиент + + + + Remove Gradient + Удалить градиент + + + + Are you sure you want to remove the selected gradient? + Вы действительно желаете удалить выбранный градиент? + + + + + New... + Новый... + + + + + Edit... + Правка... + + + + + Rename + Переименовать + + + + + Remove + Удалить + + + + Gradient View + Просмотр градиента + + + + QtGradientViewDialog + + + Select Gradient + Выбрать градиент + + + + QtKeySequenceEdit + + + Clear Shortcut + Удалить комбинацию горячих клавиш + + + + QtLocalePropertyManager + + + %1, %2 + %1, %2 + + + + Language + Язык + + + + Country + Страна + + + + QtPointFPropertyManager + + + (%1, %2) + (%1, %2) + + + + X + X + + + + Y + Y + + + + QtPointPropertyManager + + + (%1, %2) + (%1, %2) + + + + X + X + + + + Y + Y + + + + QtPropertyBrowserUtils + + + [%1, %2, %3] (%4) + [%1, %2, %3] (%4) + + + + [%1, %2] + [%1, %2] + + + + QtRectFPropertyManager + + + [(%1, %2), %3 x %4] + [(%1, %2), %3 x %4] + + + + X + X + + + + Y + Y + + + + Width + Ширина + + + + Height + Высота + + + + QtRectPropertyManager + + + [(%1, %2), %3 x %4] + [(%1, %2), %3 x %4] + + + + X + X + + + + Y + Y + + + + Width + Ширина + + + + Height + Высота + + + + QtResourceEditorDialog + + + %1 already exists. +Do you want to replace it? + %1 уже существует. +Хотите заменить его? + + + + The file does not appear to be a resource file; element '%1' was found where '%2' was expected. + Похоже, файл не является файлом ресурсов, так как вместо элемента '%2' стоит '%1'. + + + + %1 [read-only] + %1 [только для чтения] + + + + + %1 [missing] + %1 [отсутствует] + + + + <no prefix> + <без префикса> + + + + + New Resource File + Новый файл ресурсов + + + + + Resource files (*.qrc) + Файл ресурсов (*.qrc) + + + + Import Resource File + Импортировать файл ресурсов + + + + newPrefix + + + + + <p><b>Warning:</b> The file</p><p>%1</p><p>is outside of the current resource file's parent directory.</p> + <p><b>Предупреждение:</b> Файл</p><p>%1</p><p>находится за пределами каталога текущего файла ресурсов.</p> + + + + <p>To resolve the issue, press:</p><table><tr><th align="left">Copy</th><td>to copy the file to the resource file's parent directory.</td></tr><tr><th align="left">Copy As...</th><td>to copy the file into a subdirectory of the resource file's parent directory.</td></tr><tr><th align="left">Keep</th><td>to use its current location.</td></tr></table> + <p>Для решения нажмите:</p><table><tr><th align="left">Копировать</th><td>, чтобы скопировать в каталог файла ресурсов.</td></tr><tr><th align="left">Копировать как...</th><td>, чтобы скопировать в подкаталог каталога файла ресурсов.</td></tr><tr><th align="left">Оставить</th><td>, чтобы использовать текущее размещение.</td></tr></table> + + + + Add Files + Добавить файлы + + + + Incorrect Path + Неверный путь + + + + + + + Copy + Копировать + + + + Copy As... + Копировать как... + + + + Keep + Оставить + + + + Skip + Пропустить + + + + Clone Prefix + Приставка при клонировании + + + + Enter the suffix which you want to add to the names of the cloned files. +This could for example be a language extension like "_de". + Введите окончание, которое нужно добавлять к именам клонируемых файлов. +Это может быть, например, языковое расширение, вроде "_ru". + + + + + Copy As + Копировать как + + + + <p>The selected file:</p><p>%1</p><p>is outside of the current resource file's directory:</p><p>%2</p><p>Please select another path within this directory.<p> + <p>Выбранный файл:</p><p>%1</p><p>находится вне каталога текущего файла ресурсов:</p><p>%2</p><p>Пожалуйста, выберите путь внутри этого каталога.<p> + + + + Could not overwrite %1. + Не удалось перезаписать %1. + + + + Could not copy +%1 +to +%2 + Не удалось копировать +%1 +в +%2 + + + + A parse error occurred at line %1, column %2 of %3: +%4 + Возникла ошибка разбора в строке %1 позиции %2 из %3: +%4 + + + + Save Resource File + Сохранение файла ресурсов + + + + Could not write %1: %2 + Не удалось записать %1: %2 + + + + Edit Resources + Правка ресурсов + + + + New... + Новый... + + + + Open... + Открыть... + + + + Open Resource File + Открыть файл ресурсов + + + + + Remove + Удалить + + + + + Move Up + Поднять + + + + + Move Down + Опустить + + + + + Add Prefix + Добавить приставку + + + + Add Files... + Добавить файлы... + + + + Change Prefix + Сменить приставку + + + + Change Language + Сменить язык + + + + Change Alias + Сменить псевдоним + + + + Clone Prefix... + Приставка при клонировании... + + + + Prefix / Path + Приставка / Путь + + + + Language / Alias + Язык / Псевдоним + + + + <html><p><b>Warning:</b> There have been problems while reloading the resources:</p><pre>%1</pre></html> + <html><p><b>Предупреждение:</b> Возникли проблемы при перезагрузке ресурсов:</p><pre>%1</pre></html> + + + + Resource Warning + Предупреждение + + + + Dialog + Диалог + + + + New File + Новый файл + + + + + N + N + + + + Remove File + Удалить файл + + + + + R + R + + + + I + I + + + + New Resource + Новый ресурс + + + + A + A + + + + Remove Resource or File + Удалить ресурс или файл + + + + QtResourceView + + + Size: %1 x %2 +%3 + Размер: %1 x %2 +%3 + + + + Edit Resources... + Изменить ресурсы... + + + + Reload + Перезагрузить + + + + Copy Path + Скопировать путь + + + + QtResourceViewDialog + + + Select Resource + Выбрать ресурс + + + + QtSizeFPropertyManager + + + %1 x %2 + %1 x %2 + + + + Width + Ширина + + + + Height + Высота + + + + QtSizePolicyPropertyManager + + + + <Invalid> + <Неверный> + + + + [%1, %2, %3, %4] + [%1, %2, %3, %4] + + + + Horizontal Policy + Горизонтальная политика + + + + Vertical Policy + Вертикальная политика + + + + Horizontal Stretch + Горизонтальное растяжение + + + + Vertical Stretch + Вертикальное растяжение + + + + QtSizePropertyManager + + + %1 x %2 + %1 x %2 + + + + Width + Ширина + + + + Height + Высота + + + + QtToolBarDialog + + + Custom Toolbar + Пользовательская панель инструментов + + + + < S E P A R A T O R > + < Р А З Д Е Л И Т Е Л Ь > + + + + Customize Toolbars + Настройка панелей инструментов + + + + 1 + 1 + + + + Actions + Действия + + + + Toolbars + Панель инструментов + + + + Add new toolbar + Добавить новую панель инструментов + + + + New + Новая + + + + Remove selected toolbar + Удалить выбранную панель инструментов + + + + Remove + Удалить + + + + Rename toolbar + Переименовать панель инструментов + + + + Rename + Переименовать + + + + Move action up + Переместить действие вверх + + + + Up + Вверх + + + + Remove action from toolbar + Удалить действие из панели инструментов + + + + <- + <- + + + + Add action to toolbar + Добавить действие на панель инструментов + + + + -> + -> + + + + Move action down + Переместить действие вниз + + + + Down + Вниз + + + + Current Toolbar Actions + Текущие действия панели инструментов + + + + QtTreePropertyBrowser + + + Property + Свойство + + + + Value + Значение + + + + SaveFormAsTemplate + + + Add path... + Добавить путь... + + + + Template Exists + Шаблон существует + + + + A template with the name %1 already exists. +Do you want overwrite the template? + Шаблон с именем %1 уже существует. +Желаете заменить шаблон? + + + + Overwrite Template + Заменить шаблон + + + + Open Error + Ошибка открытия + + + + There was an error opening template %1 for writing. Reason: %2 + Возникла ошибка открытия шаблона %1 для записи. Причина: %2 + + + + Write Error + Ошибка записи + + + + There was an error writing the template %1 to disk. Reason: %2 + Возникла ошибка записи шаблона %1 на диск. Причина: %2 + + + + Pick a directory to save templates in + Выберите каталог для сохранения шаблонов + + + + Save Form As Template + Сохранить форму как шаблон + + + + &Category: + &Категория: + + + + &Name: + &Имя: + + + + ScriptErrorDialog + + + An error occurred while running the scripts for "%1": + + При выполнения сценариев для "%1" возникла ошибка: + + + + + SelectSignalDialog + + + Go to slot + Переход к слоту + + + + Select signal + Выбор сигнала + + + + signal + сигнал + + + + class + класс + + + + SignalSlotConnection + + + SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4) + ОТПРАВИТЕЛЬ(%1), СИГНАЛ(%2), ПОЛУЧАТЕЛЬ(%3), СЛОТ(%4) + + + + SignalSlotDialogClass + + + Signals and slots + Сигналы и слоты + + + + Slots + Слоты + + + + + Add + Добавить + + + + + + + ... + ... + + + + + Delete + Удалить + + + + Signals + Сигналы + + + + Spacer + + + Horizontal Spacer '%1', %2 x %3 + Горизонтальный разделитель '%1', %2 x %3 + + + + Vertical Spacer '%1', %2 x %3 + Вертикальный разделитель '%1', %2 x %3 + + + + TemplateOptionsPage + + + Template Paths + Tab in preferences dialog + Слово "пути" опустил, т.к. с другими вкладками не перепутать, а длинная вкладка не смотрится. + Шаблоны + + + + ToolBarManager + + + Configure Toolbars... + Настройка панелей инструментов... + + + + Window + Окно + + + + Help + Справка + + + + Style + Стиль + + + + Dock views + Прикрепляемые панели + + + + Toolbars + Панели инструментов + + + + VersionDialog + + + <h3>%1</h3><br/><br/>Version %2 + <h3>%1</h3><br/><br/>Версия %2 + + + + Qt Designer + Qt Designer + + + + <br/>Qt Designer is a graphical user interface designer for Qt applications.<br/> + <br/>Qt Designer - дизайнер графического интерфейса пользователя для Qt-приложений.<br/> + + + + %1<br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + %1<br/>Copyright (C) 2009 Корпорация Nokia и/или её дочерние подразделения. + + + + WidgetDataBase + + + The file contains a custom widget '%1' whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged. + Файл содержит пользовательский виджет '%1', базовый класс (%2) которого отличается от текущей записи в базе виджетов (%3). База виджетов оставлена без изменений. + + + + qdesigner_internal::ActionEditor + + + New... + Новое... + + + + Edit... + Правка... + + + + Go to slot... + Перейти к слоту... + + + + Copy + Копировать + + + + Cut + Вырезать + + + + Paste + Вставить + + + + Select all + Выделить всё + + + + Delete + Удалить + + + + Actions + Действия + + + + Configure Action Editor + Настроить редактор действий + + + + Icon View + Значки + + + + Detailed View + Подробно + + + + New action + Новое действие + + + + Edit action + Правка действия + + + + Remove action '%1' + Удалить действие '%1' + + + + Remove actions + Удаление дествий + + + + Used In + Используется в + + + + qdesigner_internal::ActionModel + + + Name + Имя + + + + Used + Используется + + + + Text + Текст + + + + Shortcut + Горячая клавиша + + + + Checkable + Триггерное + + + + ToolTip + Подсказка + + + + qdesigner_internal::BrushManagerProxy + + + The element '%1' is missing the required attribute '%2'. + У элемента '%1' отсутствует необходимый атрибут '%2'. + + + + Empty brush name encountered. + Обнаружено пустое название кисти. + + + + An unexpected element '%1' was encountered. + Обнаружен неожиданный элемент '%1'. + + + + An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4 + При чтении файла описания кистей '%1' возникла ошибка разбора строки %2 в позиции %3: %4 + + + + An error occurred when reading the resource file '%1' at line %2, column %3: %4 + При чтении файла ресурсов '%1' возникла ошибка разбора строки %2 в позиции %3: %4 + + + + qdesigner_internal::BuddyEditor + + + Add buddy + Добавить партнёра + + + + Remove buddies + Удалить партнёров + + + + Remove %n buddies + + Удалить %n партнёра + Удалить %n партнёров + Удалить %n партнёров + + + + + Add %n buddies + + Добавить %n партнёра + Добавить %n партнёров + Добавить %n партнёров + + + + + Set automatically + Установить автоматически + + + + qdesigner_internal::BuddyEditorPlugin + + + Edit Buddies + Изменение партнёров + + + + qdesigner_internal::BuddyEditorTool + + + Edit Buddies + Изменение партнёров + + + + qdesigner_internal::ButtonGroupMenu + + + Select members + Выбрать элементы + + + + Break + Разделить + + + + qdesigner_internal::ButtonTaskMenu + + + Assign to button group + Назначить группу кнопок + + + + Button group + Группа кнопок + + + + New button group + Новая группа кнопок + + + + Change text... + Изменить текст... + + + + None + Нет + + + + Button group '%1' + Группа кнопок '%1' + + + + qdesigner_internal::CodeDialog + + + Save... + Сохранить... + + + + Copy All + Копировать всё + + + + &Find in Text... + &Найти в тексте... + + + + A temporary form file could not be created in %1. + Не удалось создать временный файл формы в %1. + + + + The temporary form file %1 could not be written. + Не удалось записать временный файл формы %1. + + + + %1 - [Code] + %1 - [код] + + + + Save Code + Сохранить код + + + + Header Files (*.%1) + Заголовочные файлы (*.%1) + + + + The file %1 could not be opened: %2 + Не удалось открыть файл %1: %2 + + + + The file %1 could not be written: %2 + Не удалось записать файл %1: %2 + + + + %1 - Error + %1 - Ошибка + + + + qdesigner_internal::ColorAction + + + Text Color + Цвет текста + + + + qdesigner_internal::ComboBoxTaskMenu + + + Edit Items... + Изменить элементы... + + + + Change Combobox Contents + Изменено содержимое Combobox + + + + qdesigner_internal::CommandLinkButtonTaskMenu + + + Change description... + Изменить описание... + + + + qdesigner_internal::ConnectionEdit + + + Select All + Выделить всё + + + + Deselect All + Снять выделение + + + + Delete + Удалить + + + + qdesigner_internal::ConnectionModel + + + Sender + Отправитель + + + + Signal + Сигнал + + + + Receiver + Получатель + + + + Slot + Слот + + + + <sender> + <отправитель> + + + + <signal> + <сигнал> + + + + <receiver> + <получатель> + + + + <slot> + <слот> + + + + The connection already exists!<br>%1 + Подключение уже существует!<br>%1 + + + + Signal and Slot Editor + Радактор сигналов и слотов + + + + qdesigner_internal::ContainerWidgetTaskMenu + + + Delete + Удалить + + + + Insert + Вставить + + + + Insert Page Before Current Page + Вставить страницу перед текущей + + + + Insert Page After Current Page + Вставить страницу после текущей + + + + Add Subwindow + Добавить дочернее окно + + + + Subwindow + Дочернее окно + + + + Page + Страница + + + + Page %1 of %2 + Страница %1 из %2 + + + + qdesigner_internal::DPI_Chooser + + + System (%1 x %2) + System resolution + Системное (%1 x %2) + + + + User defined + Пользовательское + + + + x + DPI X/Y separator + x + + + + qdesigner_internal::DesignerPropertyManager + + + + AlignLeft + + + + + AlignHCenter + + + + + AlignRight + + + + + AlignJustify + + + + + AlignTop + + + + + + AlignVCenter + + + + + AlignBottom + + + + + %1, %2 + %1, %2 + + + + Customized (%n roles) + + Настроено (%n роль) + Настроено (%n роли) + Настроено (%n ролей) + + + + + Inherited + Унаследованная + + + + Horizontal + Горизонтальное + + + + Vertical + Вертикальное + + + + Normal Off + Нормальный, выкл + + + + Normal On + Нормальный, вкл + + + + Disabled Off + Выключенный, выкл + + + + Disabled On + Выключенный, вкл + + + + Active Off + Активный, выкл + + + + Active On + Активный, вкл + + + + Selected Off + Выбранный, выкл + + + + Selected On + Выбранный, вкл + + + + + translatable + переводимый + + + + + disambiguation + уточнение + + + + + comment + примечание + + + + qdesigner_internal::DeviceProfileDialog + + + Device Profiles (*.%1) + Профили устройства (*.%1) + + + + Default + По умолчанию + + + + Save Profile + Сохранение профиля + + + + Save Profile - Error + Ошибка сохранения профиля + + + + Unable to open the file '%1' for writing: %2 + Не удалось открыть файл '%1' для записи: %2 + + + + Open profile + Открытие профиля + + + + + Open Profile - Error + Ошибка отрытия профиля + + + + Unable to open the file '%1' for reading: %2 + Не удалось открыть файл '%1' для чтения: %2 + + + + '%1' is not a valid profile: %2 + '%1' не является корректным профилем: %2 + + + + qdesigner_internal::Dialog + + + Dialog + Диалог + + + + StringList + Список строк + + + + New String + Новая строка + + + + &New + &Новая + + + + Delete String + Удалить строку + + + + &Delete + &Удалить + + + + &Value: + &Значение: + + + + Move String Up + Переместить строку вверх + + + + Up + Вверх + + + + Move String Down + Переместить строку вниз + + + + Down + Вниз + + + + qdesigner_internal::EmbeddedOptionsControl + + + None + Нет + + + + Add a profile + Добавить профиль + + + + Edit the selected profile + Изменить выбранный профиль + + + + Delete the selected profile + Удалить выбранный профиль + + + + Add Profile + Добавление профиля + + + + New profile + Новый профиль + + + + Edit Profile + Изменение профиля + + + + Delete Profile + Удаление профиля + + + + Would you like to delete the profile '%1'? + Желаете удалить профиль '%1'? + + + + Default + По умолчанию + + + + qdesigner_internal::FilterWidget + + + <Filter> + <Фильтр> + + + + qdesigner_internal::FormEditor + + + Resource File Changed + Файл ресурсов был изменён + + + + The file "%1" has changed outside Designer. Do you want to reload it? + Файл "%1" был изменён вне Qt Designer. Желаете перезагрузить его? + + + + qdesigner_internal::FormLayoutMenu + + + Add form layout row... + Добавить строку компоновщика формы... + + + + qdesigner_internal::FormWindow + + + Edit contents + Изменить содержимое + + + + F2 + + + + + Insert widget '%1' + Вставить виджет '%1' + + + + Resize + Изменение размера + + + + + Key Move + Перемещение клавишей + + + + Paste %n action(s) + + Вставлено %n действие + Вставлено %n действия + Вставлено %n действий + + + + + Paste %n widget(s) + + Вставлен %n виджет + Вставлено %n виджета + Вставлено %n виджета + + + + + Paste (%1 widgets, %2 actions) + Вставлено (%1 виджетов, %2 действий) + + + + Cannot paste widgets. Designer could not find a container without a layout to paste into. + Не удалось вставить виджеты. Qt Designer не смог найти контейнер без компоновщика для вставки виджетов. + + + + Break the layout of the container you want to paste into, select this container and then paste again. + Удалите компоновщик из контейнера, в который желаете вставить виджеты, выберите его и повторите вставку. + + + + Paste error + Ошибка вставки + + + + Raise widgets + Поднятие виджетов + + + + Lower widgets + Опускание виджетов + + + + Select Ancestor + Выбрать предка + + + + Lay out + Компоновка + + + + + Drop widget + Вставка виджета + + + + A QMainWindow-based form does not contain a central widget. + Форма, основанная на QMainWindow, не содержит центрального виджета. + + + + qdesigner_internal::FormWindowBase + + + Delete '%1' + Удалить '%1' + + + + Delete + Удалить + + + + qdesigner_internal::FormWindowManager + + + Cu&t + &Вырезать + + + + Cuts the selected widgets and puts them on the clipboard + Вырезает выбранные виджеты и помещает их в буфер обмена + + + + &Copy + &Копировать + + + + Copies the selected widgets to the clipboard + Копирует выбранные виджеты в буфер обмена + + + + &Paste + В&ставить + + + + Pastes the clipboard's contents + Вставляет содержимое буфера обмена + + + + &Delete + &Удалить + + + + Deletes the selected widgets + Удаляет выбранные виджеты + + + + Select &All + &Выделить все + + + + Selects all widgets + Выделяет все виджеты + + + + Bring to &Front + Переместить &вперед + + + + + Raises the selected widgets + Поднимает выбранные виджеты на передний план + + + + Send to &Back + Переместить &назад + + + + + Lowers the selected widgets + Опускает выбранные виджеты на задний план + + + + Adjust &Size + Подогнать &размер + + + + Adjusts the size of the selected widget + Подгоняет размер выбранного виджета + + + + Lay Out &Horizontally + Скомпоновать по &горизонтальная + + + + Lays out the selected widgets horizontally + Компонует выделенные виджеты по горизонтали (QHBoxLayout) + + + + Lay Out &Vertically + Скомпоновать по &вертикали + + + + Lays out the selected widgets vertically + Компонует выделенные виджеты по вертикали (QVBoxLayout) + + + + Lay Out in a &Form Layout + Скомпоновать в &две колонки + + + + Lays out the selected widgets in a form layout + Компонует выделенные виджеты в две колонки (QFormLayout) + + + + Lay Out in a &Grid + Скомпоновать по &сетке + + + + Lays out the selected widgets in a grid + Компонует выделенные виджеты по сетке (QGridLayout) + + + + Lay Out Horizontally in S&plitter + Скомпоновать по г&оризонтали с разделителем + + + + Lays out the selected widgets horizontally in a splitter + Компонует выделенные виджеты по горизонтали (QSplitter) + + + + Lay Out Vertically in Sp&litter + Скомпоновать по в&ертикали с разделителем + + + + Lays out the selected widgets vertically in a splitter + Компонует выделенные виджеты по вертикали (QSplitter) + + + + &Break Layout + &Удалить компоновщик + + + + Breaks the selected layout + Удаляет выбранный компоновщик + + + + Si&mplify Grid Layout + Упрост&ить компоновку по сетке + + + + Removes empty columns and rows + Удаляет пустые колонки и строки в QGridLayout + + + + &Preview... + &Предпросмотр... + + + + Preview current form + Предпросмотр формы + + + + Form &Settings... + &Настройки формы... + + + + Break Layout + Удалить компоновщик + + + + Adjust Size + Подогнать размер + + + + Could not create form preview + Title of warning message box + Не удалось создать предпросмотр формы + + + + Form Settings - %1 + Настройки формы - %1 + + + + qdesigner_internal::FormWindowSettings + + + None + Нет + + + + Device Profile: %1 + Профиль устройства: %1 + + + + qdesigner_internal::GridPanel + + + Form + Форма + + + + Grid + Сетка + + + + Visible + Видимая + + + + Grid &X + Сетка &X + + + + + Snap + Прилипать + + + + Reset + Сбросить + + + + Grid &Y + Сетка &Y + + + + qdesigner_internal::GroupBoxTaskMenu + + + Change title... + Изменить заголовок... + + + + qdesigner_internal::HtmlTextEdit + + + Insert HTML entity + Вставить элемент HTML + + + + qdesigner_internal::IconSelector + + + The pixmap file '%1' cannot be read. + Невозможно прочитать файл растрового изображения '%1'. + + + + The file '%1' does not appear to be a valid pixmap file: %2 + Файл '%1' не похож на корректный файл растрового изображения: %2 + + + + The file '%1' could not be read: %2 + Не удалось прочитать файл %1: %2 + + + + Choose a Pixmap + Выбор растрового изображения + + + + Pixmap Read Error + Ошибка чтения растрового изображения + + + + ... + ... + + + + Normal Off + Нормальный, выкл + + + + Normal On + Нормальный, вкл + + + + Disabled Off + Выключенный, выкл + + + + Disabled On + Выключенный, вкл + + + + Active Off + Активный, выкл + + + + Active On + Активный, вкл + + + + Selected Off + Выбранный, выкл + + + + Selected On + Выбранный, вкл + + + + Choose Resource... + Выбрать ресурс... + + + + Choose File... + Выбрать файл... + + + + Reset + Сбросить + + + + Reset All + Сбросить всё + + + + qdesigner_internal::ItemListEditor + + + Properties &<< + Свойства &<< + + + + + Properties &>> + Свойства &>> + + + + Items List + Список элементов + + + + New Item + Новый элемент + + + + &New + &Новый + + + + Delete Item + Удалить элемент + + + + &Delete + &Удалить + + + + Move Item Up + Переместить элемент вверх + + + + U + U + + + + Move Item Down + Переместить элемент вниз + + + + D + D + + + + qdesigner_internal::LabelTaskMenu + + + Change rich text... + Изменить форматированный текст... + + + + Change plain text... + Изменить обычный текст... + + + + qdesigner_internal::LanguageResourceDialog + + + Choose Resource + Выбор ресурса + + + + qdesigner_internal::LineEditTaskMenu + + + Change text... + Изменить текст... + + + + qdesigner_internal::ListWidgetEditor + + + New Item + Новый элемент + + + + Edit List Widget + Изменение виджета List + + + + Edit Combobox + Изменение виджета ComboBox + + + + qdesigner_internal::ListWidgetTaskMenu + + + Edit Items... + Изменить элементы... + + + + Change List Contents + Изменение содержимого списка + + + + qdesigner_internal::MdiContainerWidgetTaskMenu + + + Next Subwindow + Следующее дочернее докно + + + + Previous Subwindow + Предыдущее дочернее докно + + + + Tile + Замостить + + + + Cascade + Каскадом + + + + qdesigner_internal::MenuTaskMenu + + + Remove + Удалить + + + + qdesigner_internal::MorphMenu + + + Morph into + Преобразовать в + + + + qdesigner_internal::NewActionDialog + + + New Action... + Новое действие... + + + + &Text: + &Текст: + + + + Object &name: + &Имя объекта: + + + + &Icon: + &Значок: + + + + Shortcut: + Горячая клавиша: + + + + Checkable: + Триггерное: + + + + ToolTip: + Подсказка: + + + + + ... + ... + + + + qdesigner_internal::NewDynamicPropertyDialog + + + Set Property Name + Установка имени свойства + + + + The current object already has a property named '%1'. +Please select another, unique one. + Объект уже содержит свойство с именем '%1'. +Укажите другое имя. + + + + The '_q_' prefix is reserved for the Qt library. +Please select another name. + Приставка '_q_' зарезервирована для целей библиотеки Qt. +Укажите другое имя. + + + + Create Dynamic Property + Создание динамического свойства + + + + Property Name + Имя свойства + + + + horizontalSpacer + + + + + Property Type + Тип свойства + + + + qdesigner_internal::NewFormWidget + + + Default size + Размер по умолчанию + + + + QVGA portrait (240x320) + QVGA книжная (240x320) + + + + QVGA landscape (320x240) + QVGA альбомная (320x240) + + + + VGA portrait (480x640) + VGA книжная (480x640) + + + + VGA landscape (640x480) + VGA альбомная (640x480) + + + + Widgets + New Form Dialog Categories + Виджеты + + + + Custom Widgets + Пользовательские виджеты + + + + None + Нет + + + + Error loading form + Ошибка загрузки формы + + + + Unable to open the form template file '%1': %2 + Невозможно открыть файл шаблона формы '%1': %2 + + + + Internal error: No template selected. + Внутренняя ошибка: Шаблон не выбран. + + + + 0 + 0 + + + + Choose a template for a preview + Выберите шаблон для предпросмотра + + + + Embedded Design + Оформление портативных устройств + + + + Device: + Устройство: + + + + Screen Size: + Размер экрана: + + + + qdesigner_internal::NewPromotedClassPanel + + + Add + Добавить + + + + New Promoted Class + Новый преобразованный класс + + + + Base class name: + Имя базового класса: + + + + Promoted class name: + Имя преобразованного класса: + + + + Header file: + Заголовочный файл: + + + + Global include + Глобальное включение + + + + Reset + Восстановить + + + + qdesigner_internal::ObjectInspector + + + &Find in Text... + &Найти в тексте... + + + + qdesigner_internal::ObjectInspector::ObjectInspectorPrivate + + + Change Current Page + Смена текущей страницы + + + + qdesigner_internal::OrderDialog + + + Index %1 (%2) + Индекс %1 (%2) + + + + %1 %2 + %1 %2 + + + + Change Page Order + Изменение порядка страниц + + + + Page Order + Порядок страниц + + + + Move page up + Переместить страницу выше + + + + Move page down + Переместить страницу ниже + + + + qdesigner_internal::PaletteEditor + + + Edit Palette + Правка палитры + + + + Tune Palette + Настройка палитры + + + + Show Details + Показывать детали + + + + Compute Details + Расчитывать детали + + + + Quick + Быстрый + + + + Preview + Предпросмотр + + + + Disabled + Выключенная + + + + Inactive + Неактивная + + + + Active + Активная + + + + qdesigner_internal::PaletteEditorButton + + + Change Palette + Изменить палитру + + + + qdesigner_internal::PaletteModel + + + Color Role + Роль цвета + + + + Active + Активный + + + + Inactive + Неактивный + + + + Disabled + Выключенный + + + + qdesigner_internal::PixmapEditor + + + Choose Resource... + Выбрать ресурс... + + + + Choose File... + Выбрать файл... + + + + Copy Path + Скопировать путь + + + + Paste Path + Вставить путь + + + + + ... + ... + + + + qdesigner_internal::PlainTextEditorDialog + + + Edit text + Правка текста + + + + qdesigner_internal::PluginDialog + + + Components + Компоненты + + + + Plugin Information + Информация о модуле + + + + Refresh + Обновить + + + + Scan for newly installed custom widget plugins. + Поиск вновь установленных модулей пользовательских виджетов. + + + + Qt Designer couldn't find any plugins + Qt Designer не может найти ни одного модуля + + + + Qt Designer found the following plugins + Qt Designer нашёл следующие модули + + + + New custom widget plugins have been found. + Найдены новые модули пользовательских виджетов. + + + + qdesigner_internal::PreviewActionGroup + + + %1 Style + Стиль %1 + + + + qdesigner_internal::PreviewConfigurationWidget + + + Default + По умолчанию + + + + None + Нет + + + + Browse... + Обзор... + + + + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate + + + Load Custom Device Skin + Загрузить особую обложку устройства + + + + All QVFB Skins (*.%1) + Все обложки QVFB (*.%1) + + + + %1 - Duplicate Skin + %1 - Повторяющаяся обложка + + + + The skin '%1' already exists. + Обложка '%1' уже существует. + + + + %1 - Error + %1 - Ошибка + + + + %1 is not a valid skin directory: +%2 + %1 не является корректным каталогом обложек: +%2 + + + + qdesigner_internal::PreviewDeviceSkin + + + &Portrait + &Книжная + + + + Landscape (&CCW) + Rotate form preview counter-clockwise + Альбомная (&против ЧС) + + + + &Landscape (CW) + Rotate form preview clockwise + &Альбомная (по ЧС) + + + + &Close + &Закрыть + + + + qdesigner_internal::PreviewManager + + + %1 - [Preview] + %1 - [Предпросмотр] + + + + qdesigner_internal::PreviewMdiArea + + + The moose in the noose +ate the goose who was loose. + Palette editor background + + + + + qdesigner_internal::PreviewWidget + + + Preview Window + Окно предпросмотра + + + + LineEdit + LineEdit + + + + ComboBox + ComboBox + + + + PushButton + PushButton + + + + ButtonGroup2 + ButtonGroup2 + + + + CheckBox1 + CheckBox1 + + + + CheckBox2 + CheckBox2 + + + + ButtonGroup + ButtonGroup + + + + RadioButton1 + RadioButton1 + + + + RadioButton2 + RadioButton2 + + + + RadioButton3 + RadioButton3 + + + + qdesigner_internal::PromotionModel + + + Name + Имя + + + + Header file + Заголовочный файл + + + + Global include + Глобальное включение + + + + Usage + Использование + + + + qdesigner_internal::PromotionTaskMenu + + + Promoted widgets... + Преобразованные виджеты... + + + + Promote to ... + Преобразовать в ... + + + + Change signals/slots... + Изменить сигналы/слоты... + + + + Promote to + Преобразовать в + + + + Demote to %1 + Преобразовать в %1 + + + + qdesigner_internal::PropertyEditor + + + Add Dynamic Property... + Добавить динамическое свойство... + + + + Remove Dynamic Property + Удалить динамическое свойство + + + + Sorting + Сортировка + + + + Color Groups + Цветовые группы + + + + Tree View + Древовидный список + + + + Drop Down Button View + Вид выпадающего списка + + + + String... + Строка... + + + + Bool... + Булево... + + + + Other... + Другое... + + + + Configure Property Editor + Настроить радактор свойств + + + + Object: %1 +Class: %2 + Объект: %1 +Класс: %2 + + + + qdesigner_internal::PropertyLineEdit + + + Insert line break + Вставить разрыв строки + + + + qdesigner_internal::QDesignerPromotionDialog + + + Promoted Widgets + Преобразованные виджеты + + + + Promoted Classes + Преобразованные классы + + + + Promote + Преобразовать + + + + Change signals/slots... + Изменить сигналы/слоты... + + + + %1 - Error + %1 - Ошибка + + + + qdesigner_internal::QDesignerResource + + + Loading qrc file + Загрузка файла qrc + + + + The specified qrc file <p><b>%1</b></p><p>could not be found. Do you want to update the file location?</p> + Не удалось найти указанный файл qrc <p><b>%1</b></p><p>Желаете обновить его расположение?</p> + + + + New location for %1 + Новое расположение %1 + + + + Resource files (*.qrc) + Файл ресурсов (*.qrc) + + + + qdesigner_internal::QDesignerTaskMenu + + + Change objectName... + Изменить objectName... + + + + Change toolTip... + Изменить toolTip... + + + + Change whatsThis... + Изменить whatsThis... + + + + Change styleSheet... + Изменить styleSheet... + + + + Create Menu Bar + Создать панель меню + + + + Add Tool Bar + Добавить панель инструментов + + + + Create Status Bar + Создать строку состояния + + + + Remove Status Bar + Удалить строку состояния + + + + Change script... + Изменить сценарий... + + + + Change signals/slots... + Изменить сигналы/слоты... + + + + Go to slot... + Перейти к слоту... + + + + Size Constraints + Ограничения размера + + + + Set Minimum Width + Установить минимальную ширину + + + + Set Minimum Height + Установить минимальную высоту + + + + Set Minimum Size + Установить минимальный размер + + + + Set Maximum Width + Установить максимальную ширину + + + + Set Maximum Height + Установить максимальную высоту + + + + Set Maximum Size + Установить максимальный размер + + + + Edit ToolTip + Правка текста всплывающей подсказки + + + + Edit WhatsThis + Правка текста подсказки режима "Что это?" + + + + no signals available + Нет доступных сигналов + + + + Set size constraint on %n widget(s) + + Установка ограничений размера для %n виджета + Установка ограничений размера для %n виджетов + Установка ограничений размера для %n виджетов + + + + + qdesigner_internal::QDesignerWidgetBox + + + + Unexpected element <%1> + Неожиданный элемент <%1> + + + + A parse error occurred at line %1, column %2 of the XML code specified for the widget %3: %4 +%5 + Возникла ошибка разбора в строке %1 позиции %2 кода XML, определённого для виджета %3: %4 +%5 + + + + The XML code specified for the widget %1 does not contain any widget elements. +%2 + Код XML, определённый для виджета %1, не содержит каких-либо элементов виджетов. +%2 + + + + An error has been encountered at line %1 of %2: %3 + Обнаружена ошибка в строке %1 из %2: %3 + + + + Unexpected element <%1> encountered when parsing for <widget> or <ui> + Обнаружен неожиданный элемент <%1> вместо <widget> или <ui> + + + + Unexpected end of file encountered when parsing widgets. + Файл неожиданно закончился при разборе виджетов. + + + + A widget element could not be found. + Не удалось обнаружить элемент виджета. + + + + qdesigner_internal::QtGradientStopsController + + + H + H + + + + S + S + + + + V + V + + + + + Hue + Оттенок + + + + Sat + Насыщ + + + + Val + Знач + + + + Saturation + Насыщенность + + + + Value + Значение + + + + R + R + + + + G + G + + + + B + B + + + + Red + Красный + + + + Green + Зелёный + + + + Blue + Синий + + + + qdesigner_internal::RichTextEditorDialog + + + Edit text + Правка текста + + + + Rich Text + Форматированный текст + + + + Source + Исходник + + + + &OK + &ОК + + + + &Cancel + От&мена + + + + qdesigner_internal::RichTextEditorToolBar + + + Bold + Жирный + + + + CTRL+B + + + + + Italic + Курсив + + + + CTRL+I + + + + + Underline + Подчёркнутый + + + + CTRL+U + + + + + Left Align + По левому краю + + + + Center + По центру + + + + Right Align + По правому краю + + + + Justify + По ширине + + + + Superscript + Верхний индекс + + + + Subscript + Нижний индекс + + + + Insert &Link + Вставить &ссылку + + + + Insert &Image + Вставить &изображение + + + + qdesigner_internal::ScriptDialog + + + Edit script + Правка сценария + + + + <html>Enter a Qt Script snippet to be executed while loading the form.<br>The widget and its children are accessible via the variables <i>widget</i> and <i>childWidgets</i>, respectively. + <html>Укажите сценарий Qt, который должен выполняться при загрузке формы.<br>Виджет и его дочерние виджеты доступны через переменные <i>widget</i> и <i>childWidgets</i>. + + + + Syntax error + Синтаксическая ошибка + + + + qdesigner_internal::ScriptErrorDialog + + + Script errors + Ошибки сценария + + + + qdesigner_internal::SignalSlotDialog + + + There is already a slot with the signature '%1'. + Уже есть слот с сигнатурой '%1'. + + + + There is already a signal with the signature '%1'. + Уже есть сигнал с сигнатурой '%1'. + + + + %1 - Duplicate Signature + %1 - Повторяющаяся сигнатура + + + + + Signals/Slots of %1 + Сигналы/слоты %1 + + + + qdesigner_internal::SignalSlotEditorPlugin + + + Edit Signals/Slots + Изменение сигналов/слотов + + + + F4 + + + + + qdesigner_internal::SignalSlotEditorTool + + + Edit Signals/Slots + Изменение сигналов/слотов + + + + qdesigner_internal::StatusBarTaskMenu + + + Remove + Удалить + + + + qdesigner_internal::StringListEditorButton + + + Change String List + Изменить список строк + + + + qdesigner_internal::StyleSheetEditorDialog + + + + Valid Style Sheet + Корректная таблица стилей + + + + Add Resource... + Добавить ресурс... + + + + Add Gradient... + Добавить градиент... + + + + Add Color... + Добавить цвет... + + + + Add Font... + Добавить шрифт... + + + + Edit Style Sheet + Правка таблицы стилей + + + + Invalid Style Sheet + Некорректная таблица стилей + + + + qdesigner_internal::TabOrderEditor + + + Start from Here + Начать отсюда + + + + Restart + Перезапустить + + + + Tab Order List... + Список порядка переключений... + + + + Tab Order List + Список порядка переключений + + + + Tab Order + Порядок переключений + + + + qdesigner_internal::TabOrderEditorPlugin + + + Edit Tab Order + Изменение порядка переключений + + + + qdesigner_internal::TabOrderEditorTool + + + Edit Tab Order + Изменить порядок переключений + + + + qdesigner_internal::TableWidgetEditor + + + + Properties &>> + Свойства &>> + + + + Edit Table Widget + Правка табличного виджета + + + + &Items + &Элементы + + + + Table Items + Элементы таблицы + + + + New Column + Новый столбец + + + + New Row + Новая строка + + + + &Columns + С&толбцы + + + + &Rows + &Строки + + + + Properties &<< + Свойства &<< + + + + qdesigner_internal::TableWidgetTaskMenu + + + Edit Items... + Изменить элементы... + + + + qdesigner_internal::TemplateOptionsWidget + + + Pick a directory to save templates in + Выберите каталог для сохранения шаблонов + + + + Form + Форма + + + + Additional Template Paths + Дополнительные пути к шаблонам + + + + + ... + ... + + + + qdesigner_internal::TextEditTaskMenu + + + Edit HTML + Правка HTML + + + + Change HTML... + Изменить HTML... + + + + Edit Text + Правка текста + + + + Change Plain Text... + Правка обычного текста... + + + + qdesigner_internal::TextEditor + + + Choose Resource... + Выбрать ресурс... + + + + Choose File... + Выбрать файл... + + + + ... + ... + + + + Choose a File + Выбор файла + + + + qdesigner_internal::ToolBarEventFilter + + + Insert Separator before '%1' + Вставить разделитель перед '%1' + + + + Append Separator + Добавить разделитель + + + + Remove action '%1' + Удалить действие '%1' + + + + Remove Toolbar '%1' + Удалить панель инструментов '%1' + + + + Insert Separator + Вставить разделитель + + + + qdesigner_internal::TreeWidgetEditor + + + New Column + Новый столбец + + + + &Columns + С&толбцы + + + + Per column properties + Свойства столбца + + + + Common properties + Общие свойства + + + + + New Item + Новый элемент + + + + + New Subitem + Новый дочерний элемент + + + + Properties &<< + Свойства &<< + + + + + Properties &>> + Свойства &>> + + + + Edit Tree Widget + Изменение виджета Tree + + + + &Items + &Элементы + + + + Tree Items + Элементы дерева + + + + 1 + 1 + + + + &New + &Новый + + + + New &Subitem + Новый &дочерний элемент + + + + Delete Item + Удалить элемент + + + + &Delete + &Удалить + + + + Move Item Left (before Parent Item) + Переместить элемент влево (перед родительским) + + + + L + L + + + + Move Item Right (as a First Subitem of the Next Sibling Item) + Переместить элемент вправо (сделать первым дочерним элементом соседнего элемента) + + + + R + + + + + Move Item Up + Переместить элемент вверх + + + + U + U + + + + Move Item Down + Переместить элемент вниз + + + + D + D + + + + qdesigner_internal::TreeWidgetTaskMenu + + + Edit Items... + Изменить элементы... + + + + qdesigner_internal::WidgetBox + + + Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML. + Предупреждение: Не удалось создать виджет. Это могло произойти из-за некорректного XML пользовательского виджета. + + + + qdesigner_internal::WidgetBoxTreeWidget + + + Scratchpad + Блокнот + + + + Custom Widgets + Пользовательские виджеты + + + + Expand all + Развернуть всё + + + + Collapse all + Свернуть всё + + + + List View + Список + + + + Icon View + Значки + + + + Remove + Удалить + + + + Edit name + Изменить имя + + + + qdesigner_internal::WidgetDataBase + + + A custom widget plugin whose class name (%1) matches that of an existing class has been found. + Обнаружен пользовательский модуль виджета, имя класса (%1) которого совпадает с уже имеющимся. + + + + qdesigner_internal::WidgetEditorTool + + + Edit Widgets + Изменение виджетов + + + + qdesigner_internal::WidgetFactory + + + The custom widget factory registered for widgets of class %1 returned 0. + Пользовательская фабрика виджетов, зарегистрированная для класса %1, вернула 0. + + + + A class name mismatch occurred when creating a widget using the custom widget factory registered for widgets of class %1. It returned a widget of class %2. + Обнаружено несоответствие имени класса при создании виджета с использованием пользовательской фабрики виджетов, зарегистрированной для класса %1. Она вернула виджет класса %2. + + + + %1 Widget + Виджет %1 + + + + The current page of the container '%1' (%2) could not be determined while creating a layout.This indicates an inconsistency in the ui-file, probably a layout being constructed on a container widget. + При создании компоновщика не удалось определить текущую страницу контейнера '%1' (%2). Это указывает на некорректность файла ui - возможно, компоновщик был создан для контейнерного виджета. + + + + Attempt to add a layout to a widget '%1' (%2) which already has an unmanaged layout of type %3. +This indicates an inconsistency in the ui-file. + Попытка добавить компоновщик виджету '%1' (%2), у которого уже есть компоновщик типа %3. +Это указывает на некорректность файла ui. + + + + Cannot create style '%1'. + Не удалось создать стиль '%1'. + + + + qdesigner_internal::WizardContainerWidgetTaskMenu + + + Next + Далее + + + + Back + Назад + + + + qdesigner_internal::ZoomMenu + + + %1 % + Zoom factor + %1 % + + + + qdesigner_internal::ZoomablePreviewDeviceSkin + + + &Zoom + Мас&штаб + + + -- cgit v0.12 From 92dab5ea276732944915a9423fc174db6d84e572 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 12 Oct 2009 12:59:16 +0200 Subject: GraphicsView tests on mac When a widget is shown we get two paint avent on Mac --- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 2 +- tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index e4eaf4e..c6ee237 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -6183,7 +6183,7 @@ void tst_QGraphicsItem::opacity2() MyGraphicsView view(&scene); view.show(); QTest::qWaitForWindowShown(&view); - QTRY_COMPARE(view.repaints, 1); + QTRY_VERIFY(view.repaints > 1); #define RESET_REPAINT_COUNTERS \ parent->repaints = 0; \ diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index df3ebef..f7c8d35 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -115,6 +115,7 @@ public: } int count() const { return _count; } + void reset() { _count = 0; } protected: bool eventFilter(QObject *watched, QEvent *event) @@ -2938,10 +2939,11 @@ void tst_QGraphicsView::task239729_noViewUpdate() view->show(); QTest::qWaitForWindowShown(view); - QTRY_COMPARE(spy.count(), 1); + QTRY_VERIFY(spy.count() > 1); + spy.reset(); scene.update(); QApplication::processEvents(); - QTRY_COMPARE(spy.count(), 2); + QTRY_COMPARE(spy.count(), 1); delete view; } -- cgit v0.12 From 106678fe1f27e1df161b2e55ccc88b244fa6d478 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 8 Oct 2009 17:49:50 +0200 Subject: Fix the QWidgetAction test on Carbon --- tests/auto/qwidgetaction/tst_qwidgetaction.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/qwidgetaction/tst_qwidgetaction.cpp b/tests/auto/qwidgetaction/tst_qwidgetaction.cpp index 586a707..50b3337 100644 --- a/tests/auto/qwidgetaction/tst_qwidgetaction.cpp +++ b/tests/auto/qwidgetaction/tst_qwidgetaction.cpp @@ -125,6 +125,7 @@ void tst_QWidgetAction::defaultWidget() tb1.addAction(action); QVERIFY(combo->parent() == &tb1); qApp->processEvents(); + qApp->processEvents(); QVERIFY(combo->isVisible()); // not supported, not supposed to work, hence the parent() check @@ -139,6 +140,7 @@ void tst_QWidgetAction::defaultWidget() tb2.addAction(action); qApp->processEvents(); //the call to hide is delayd by the toolbar layout + qApp->processEvents(); QVERIFY(combo->parent() == &tb2); QVERIFY(combo->isVisible()); -- cgit v0.12 From dc6138cd793bf5b39617cb834ff0ee7c536384b9 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 12 Oct 2009 13:24:01 +0200 Subject: Fix GraphicsView test on mac On mac, we always get full update. --- tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index f7c8d35..926335f 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -84,6 +84,12 @@ Q_DECLARE_METATYPE(QPolygonF) Q_DECLARE_METATYPE(QRectF) Q_DECLARE_METATYPE(Qt::ScrollBarPolicy) +#ifdef Q_WS_MAC +//On mac we get full update. So check that the expected region is contained inside the actual +#define COMPARE_REGIONS(ACTUAL, EXPECTED) QVERIFY((EXPECTED).subtracted(ACTUAL).isEmpty()) +#else +#define COMPARE_REGIONS QCOMPARE +#endif static void sendMousePress(QWidget *widget, const QPoint &point, Qt::MouseButton button = Qt::LeftButton) { @@ -3179,7 +3185,7 @@ void tst_QGraphicsView::moveItemWhileScrolling() int a = adjustForAntialiasing ? 2 : 1; expectedRegion += QRect(40, 50, 10, 10).adjusted(-a, -a, a, a); expectedRegion += QRect(40, 60, 10, 10).adjusted(-a, -a, a, a); - QCOMPARE(view.lastPaintedRegion, expectedRegion); + COMPARE_REGIONS(view.lastPaintedRegion, expectedRegion); } void tst_QGraphicsView::centerOnDirtyItem() -- cgit v0.12 From 857b7443b1bd4311a02753bea7b8c7839f1ad311 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 12 Oct 2009 13:43:11 +0200 Subject: QFileSystemModel autotest: sorting might be delayed --- tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp index 29e4fe6..3b24352 100644 --- a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp +++ b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp @@ -874,7 +874,7 @@ void tst_QFileSystemModel::sort() } else { for(int i = 0; i < myModel->rowCount(parent); ++i) { - QVERIFY(dirPath + QChar('/') + myModel->index(i, 1, parent).data(QFileSystemModel::FileNameRole).toString() == expectedOrder.at(i)); + QTRY_COMPARE(dirPath + QChar('/') + myModel->index(i, 1, parent).data(QFileSystemModel::FileNameRole).toString(), expectedOrder.at(i)); } } -- cgit v0.12 From 0d231c32cc7670d356d486b13648cb5bd471ffef Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Mon, 12 Oct 2009 13:44:14 +0200 Subject: Fix a crash in cocoa when a QMessageBox is destroyed from dropEvent() The gobal variable which stores the current mouse event can be updated before dragImage() call(blocking) is finished. So make a local copy of the information required by the QDragManager::drag(). Task-number: QTBUG-4814 Reviewed-by: MortenS --- src/gui/kernel/qcocoaview_mac.mm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index 9eca29d..286eb31 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -1277,29 +1277,29 @@ Qt::DropAction QDragManager::drag(QDrag *o) // convert the image to NSImage. NSImage *image = (NSImage *)qt_mac_create_nsimage(pix); [image retain]; - DnDParams *dndParams = [QT_MANGLE_NAMESPACE(QCocoaView) currentMouseEvent]; + DnDParams dndParams = *[QT_MANGLE_NAMESPACE(QCocoaView) currentMouseEvent]; // save supported actions - [dndParams->view setSupportedActions: qt_mac_mapDropActions(dragPrivate()->possible_actions)]; - NSPoint imageLoc = {dndParams->localPoint.x - hotspot.x(), - dndParams->localPoint.y + pix.height() - hotspot.y()}; + [dndParams.view setSupportedActions: qt_mac_mapDropActions(dragPrivate()->possible_actions)]; + NSPoint imageLoc = {dndParams.localPoint.x - hotspot.x(), + dndParams.localPoint.y + pix.height() - hotspot.y()}; NSSize mouseOffset = {0.0, 0.0}; NSPasteboard *pboard = [NSPasteboard pasteboardWithName:NSDragPboard]; - NSPoint windowPoint = [dndParams->theEvent locationInWindow]; + NSPoint windowPoint = [dndParams.theEvent locationInWindow]; dragPrivate()->executed_action = Qt::ActionMask; // do the drag - [dndParams->view retain]; - [dndParams->view dragImage:image + [dndParams.view retain]; + [dndParams.view dragImage:image at:imageLoc offset:mouseOffset - event:dndParams->theEvent + event:dndParams.theEvent pasteboard:pboard - source:dndParams->view + source:dndParams.view slideBack:YES]; - [dndParams->view release]; + [dndParams.view release]; [image release]; dragPrivate()->executed_action = Qt::IgnoreAction; object = 0; - Qt::DropAction performedAction(qt_mac_mapNSDragOperation(dndParams->performedAction)); + Qt::DropAction performedAction(qt_mac_mapNSDragOperation(dndParams.performedAction)); // do post drag processing, if required. if(performedAction != Qt::IgnoreAction) { // check if the receiver points us to a file location. -- cgit v0.12 From c214bde28cc346967471023a8046fd3866407277 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Mon, 12 Oct 2009 13:43:12 +0200 Subject: Added support for singleshot gestures. When a gesture recognizer claims to be in Finished state without any Triggered states before, that probably means that was a singleshot gesture that has started and ended right away, so we'll send a fake gesture in the GestureStarted state. Reviewed-by: trustme --- src/gui/kernel/qgesturemanager.cpp | 6 ++++-- tests/auto/gestures/tst_gestures.cpp | 17 ++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp index 000f44f..b0ef703 100644 --- a/src/gui/kernel/qgesturemanager.cpp +++ b/src/gui/kernel/qgesturemanager.cpp @@ -279,8 +279,10 @@ bool QGestureManager::filterEvent(QObject *receiver, QEvent *event) QSet notStarted = finishedGestures - activeGestures; if (!notStarted.isEmpty()) { // there are some gestures that claim to be finished, but never started. - qWarning("QGestureManager::filterEvent: some gestures were finished even though they've never started"); - finishedGestures -= notStarted; + // probably those are "singleshot" gestures so we'll fake the started state. + foreach (QGesture *gesture, notStarted) + gesture->d_func()->state = Qt::GestureStarted; + deliverEvents(notStarted, receiver); } activeGestures += startedGestures; diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp index 0a6caff..46ed45e 100644 --- a/tests/auto/gestures/tst_gestures.cpp +++ b/tests/auto/gestures/tst_gestures.cpp @@ -474,17 +474,20 @@ void tst_Gestures::finishedWithoutStarted() { GestureWidget widget; widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture); + // the gesture will claim it finished, but it was never started. CustomEvent ev; - QTest::ignoreMessage(QtWarningMsg, "QGestureManager::filterEvent: some gestures were finished even though they've never started"); - for (int i = CustomGesture::SerialFinishedThreshold; - i < CustomGesture::SerialFinishedThreshold+1; ++i) { - ev.serial = i; - QApplication::sendEvent(&widget, &ev); - } + ev.serial = CustomGesture::SerialFinishedThreshold; + QApplication::sendEvent(&widget, &ev); - QCOMPARE(widget.gestureEventsReceived, 0); + QCOMPARE(widget.customEventsReceived, 1); + QCOMPARE(widget.gestureEventsReceived, 2); QCOMPARE(widget.gestureOverrideEventsReceived, 0); + QCOMPARE(widget.events.all.size(), 2); + QCOMPARE(widget.events.started.size(), 1); + QCOMPARE(widget.events.updated.size(), 0); + QCOMPARE(widget.events.finished.size(), 1); + QCOMPARE(widget.events.canceled.size(), 0); } void tst_Gestures::unknownGesture() -- cgit v0.12 From df7155db6142e959db76a65cb47cae7f0338d538 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Mon, 12 Oct 2009 12:20:00 +0200 Subject: Added documentation for the Gesture API. Reviewed-by: trustme --- doc/src/qt4-intro.qdoc | 4 +- src/corelib/global/qnamespace.qdoc | 41 +++++++++++++++- src/gui/graphicsview/qgraphicsitem.cpp | 11 ++++- src/gui/kernel/qapplication.cpp | 18 +++++++ src/gui/kernel/qevent.cpp | 70 ++++++++++++++++++++++---- src/gui/kernel/qevent.h | 2 +- src/gui/kernel/qgesture.cpp | 65 +++++++++++++++++++++---- src/gui/kernel/qgesturerecognizer.cpp | 89 ++++++++++++++++++++++++++++++++-- src/gui/kernel/qwidget.cpp | 10 +++- 9 files changed, 280 insertions(+), 30 deletions(-) diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index a946540..00b7709 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -567,8 +567,8 @@ \o Enable extensibility. \endlist - See the QTouchEvent class documentation for more information. The - Gesture framework API is still subject to change. + See the QTouchEvent class documentation for more information on multi-touch + and QGestureEvent for gestures. \section1 DOM access API diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 385edad..5956677 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -2796,15 +2796,54 @@ This enum type describes the state of a gesture. - \value NoGesture Initial state \value GestureStarted A continuous gesture has started. \value GestureUpdated A gesture continues. \value GestureFinished A gesture has finished. + \value GestureCanceled A gesture was canceled. + \omitvalue NoGesture \sa QGesture */ /*! + \enum Qt::GestureType + \since 4.6 + + This enum type describes the standard gestures. + + \value TapGesture A Tap gesture. + \value TapAndHoldGesture A Tap-And-Hold (Long-Tap) gesture. + \value PanGesture A Pan gesture. + \value PinchGesture A Pinch gesture. + \value SwipeGesture A Swipe gesture. + \value CustomGesture User-defined gesture id. + \value LastGestureType Last user gesture id + + User-defined gestures are registered with + QApplication::registerGestureRecognizer which generated a custom gesture id + within range between CustomGesture and LastGestureType. + + \sa QGesture, QWidget::grabGesture() +*/ + +/*! + \enum Qt::GestureContext + \since 4.6 + + This enum type describes the context of a gesture. + + For a QGesture to trigger, the gesture recognizer should filter events for + a widget tree. This enum describes for which widget the gesture recognizer + should filter events: + + \value WidgetGesture Gestures can only start over the widget itself. + \value WidgetWithChildrenGesture Gestures can start on the widget or over + any of its children. + + \sa QWidget::grabGesture() +*/ + +/*! \enum Qt::NavigationMode \since 4.6 diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 81bbb5c..b86f9fe 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -7287,10 +7287,17 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent QGraphicsItem::d_ptr->isObject = true; } -void QGraphicsObject::grabGesture(Qt::GestureType type, Qt::GestureContext context) +/*! + Subscribes the graphics object to a given \a gesture with a \a context. + + \sa QGestureEvent + \since 4.6 +*/ + +void QGraphicsObject::grabGesture(Qt::GestureType gesture, Qt::GestureContext context) { QGraphicsItemPrivate * const d = QGraphicsItem::d_func(); - d->gestureContext.insert(type, context); + d->gestureContext.insert(gesture, context); (void)QGestureManager::instance(); // create a gesture manager } diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index bfccd41..d188468 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -5619,11 +5619,29 @@ Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window, QApplicationPrivate::translateRawTouchEvent(window, deviceType, touchPoints); } +/*! + Registers \a recognizer in the gesture framework and returns a gesture id. + + QApplication takes ownership of \a recognizer and returns the gesture type + id associated with it. For gesture recognizers which handle custom QGesture + objects (i.e. return Qt::CustomGesture in a QGesture::gestureType() + function, the return value is a gesture id between Qt::CustomGesture and + Qt::LastGestureType. + + \sa unregisterGestureRecognizer, QGestureRecognizer::createGesture, QGesture + \since 4.6 +*/ Qt::GestureType QApplication::registerGestureRecognizer(QGestureRecognizer *recognizer) { return QGestureManager::instance()->registerGestureRecognizer(recognizer); } +/*! + Unregisters all gesture recognizers of specified \a type. + + \sa registerGestureRecognizer + \since 4.6 +*/ void QApplication::unregisterGestureRecognizer(Qt::GestureType type) { QGestureManager::instance()->unregisterGestureRecognizer(type); diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 4316714..1834874 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -4200,27 +4200,39 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T gestures. The QGestureEvent class contains a list of gestures that are being executed - right now (\l{QGestureEvent::}{activeGestures()}) and a list of gestures - that are \l{QGestureEvent::canceledGestures}{cancelled} (a gesture might be - cancelled because the window lost focus, or because of timeout, etc). + right now (\l{QGestureEvent::}{activeGestures}) and a list of gestures + that are \l{QGestureEvent::canceledGestures}{canceled} (a gesture might be + canceled if the current window looses focus, or because of a timeout, etc). - \sa QGesture + If the event is not \l{QEvent::accept}{accept}ed, all individual QGesture + object that were not accepted will be propagated up the parent widget chain + until a widget accepts it with \l{QGestureEvent::accept}{accept()}, or an + event filter consumes it. + + \sa QGesture, QGestureRecognizer, + QWidget::grabGesture(), QGraphicsObject::grabGesture() */ /*! Creates new QGestureEvent containing a list of \a gestures. */ -QGestureEvent::QGestureEvent(const QList &gestures) +QGestureEvent::QGestureEvent(const QList &gestures) : QEvent(QEvent::Gesture), gestures_(gestures) { } -QList QGestureEvent::allGestures() const +/*! + Returns all gestures that are delivered in the event. +*/ +QList QGestureEvent::allGestures() const { return gestures_; } -QGesture* QGestureEvent::gesture(Qt::GestureType type) +/*! + Returns a gesture object by \a type. +*/ +QGesture *QGestureEvent::gesture(Qt::GestureType type) const { for(int i = 0; i < gestures_.size(); ++i) if (gestures_.at(i)->gestureType() == type) @@ -4228,16 +4240,34 @@ QGesture* QGestureEvent::gesture(Qt::GestureType type) return 0; } -QList QGestureEvent::activeGestures() const +/*! + Returns a list of active (i.e. not canceled) gestures. +*/ +QList QGestureEvent::activeGestures() const { return gestures_; } -QList QGestureEvent::canceledGestures() const +/*! + Returns a list of canceled gestures. +*/ +QList QGestureEvent::canceledGestures() const { return gestures_; } +/*! + Sets the accept flag of the \a gesture object + + Setting the accept parameter indicates that the event receiver wants the \a + gesture. Unwanted gestures might be propagated to the parent widget. By + default, gestures in events of type QEvent::Gesture are accepted, and + gestures in QEvent::GestureOverride events are ignored by default. + + For convenience, the accept flag can also be set with + \l{QGestureEvent::accept}{accept(gesture)}, and cleared with + \l{QGestureEvent::ignore}{ignore(gesture)}. +*/ void QGestureEvent::setAccepted(QGesture *gesture, bool value) { setAccepted(false); @@ -4245,16 +4275,38 @@ void QGestureEvent::setAccepted(QGesture *gesture, bool value) gesture->d_func()->accept = value; } +/*! + Sets the accept flag of the \a gesture object, the equivalent of calling + \l{QGestureEvent::setAccepted}{setAccepted}(gesture, true). + + Setting the accept parameter indicates that the event receiver wants the + gesture. Unwanted gestures might be propagated to the parent widget. + + \sa QGestureEvent::ignore() +*/ void QGestureEvent::accept(QGesture *gesture) { setAccepted(gesture, true); } +/*! + Clears the accept flag parameter of the \a gesture object, the equivalent + of calling \l{QGestureEvent::setAccepted}{setAccepted}(gesture, false). + + Clearing the accept parameter indicates that the event receiver does not + want the gesture. Unwanted gestures might be propgated to the parent + widget. + + \sa QGestureEvent::accept() +*/ void QGestureEvent::ignore(QGesture *gesture) { setAccepted(gesture, false); } +/*! + Returns true if the \a gesture is accepted. +*/ bool QGestureEvent::isAccepted(QGesture *gesture) const { return gesture ? gesture->d_func()->accept : false; diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index 224b479..3516222 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -826,7 +826,7 @@ public: QGestureEvent(const QList &gestures); QList allGestures() const; - QGesture *gesture(Qt::GestureType type); + QGesture *gesture(Qt::GestureType type) const; QList activeGestures() const; QList canceledGestures() const; diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index 68cb9cd..2bcf98b 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -51,35 +51,82 @@ QT_BEGIN_NAMESPACE \brief The QGesture class represents a gesture, containing all properties that describe a gesture. - The widget receives a QGestureEvent with a list of QGesture - objects that represent gestures that are occuring on it. The class - has a list of properties that can be queried by the user to get - some gesture-specific arguments (i.e. position of the tap in the - DoubleTap gesture). + QGesture objects are delivered to widgets and + \l{QGraphicsObject}{QGraphicsObject}s with a QGestureEvent. - When creating custom gesture recognizers, they might add new - properties to the gesture object, or custom gesture developers - might subclass the QGesture objects to provide some extended - information. + The class has a list of properties that can be queried by the user to get + some gesture-specific arguments (i.e. an scale factor of the Pinch + gesture). + + When creating custom gesture recognizers, they might add new dynamic + properties to the QGesture object, or custom gesture recognizer developers + might subclass the QGesture class (or any of classes that derive from it) + to provide additional information. \sa QGestureEvent, QGestureRecognizer */ +/*! + Constructs a new gesture object with the given \a parent. + + QGesture objects are created by gesture recognizers in the + QGestureRecognizer::createGesture() function. +*/ QGesture::QGesture(QObject *parent) : QObject(*new QGesturePrivate, parent) { d_func()->gestureType = Qt::CustomGesture; } +/*! + \internal +*/ QGesture::QGesture(QGesturePrivate &dd, QObject *parent) : QObject(dd, parent) { } +/*! + Destroys the gesture object. +*/ QGesture::~QGesture() { } +/*! + \property QGesture::state + + The current state of the gesture. +*/ + +/*! + \property QGesture::gestureType + + The type of the gesture. +*/ + +/*! + \property QGesture::hotSpot + + \brief The point that is used to find the receiver for the gesture event. + + If the hotSpot is not set, targetObject is used as the receiver of the + gesture event. +*/ + +/*! + \property QGesture::hasHotSpot + + Whether the hotSpot property is set. +*/ + +/*! + \property QGesture::targetObject + + The target object which will receive the gesture event if the hotSpot is + not set. +*/ + Qt::GestureType QGesture::gestureType() const { return d_func()->gestureType; diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp index 590f09e..e0515c2 100644 --- a/src/gui/kernel/qgesturerecognizer.cpp +++ b/src/gui/kernel/qgesturerecognizer.cpp @@ -45,27 +45,108 @@ QT_BEGIN_NAMESPACE +/*! + \class QGestureRecognizer + \since 4.6 + + \brief The QGestureRecognizer is a base class for implementing custom + gestures. + + \sa QGesture +*/ + +/*! + \enum QGestureRecognizer::ResultFlags + + This enum type describes the result of the current event filtering step in + a gesture recognizer state machine. + + The result consists of a state value (one of Ignore, NotGesture, + MaybeGesture, GestureTriggered, GestureFinished) and an optional hint + (ConsumeEventHint). + + \value Ignore The event doesn't change the state of the recognizer. + + \value NotGesture The event made it clear that it is not a gesture. If the + gesture recognizer was in GestureTriggered state before, then the gesture + is canceled and the appropriate QGesture object will be delivered to the + target as a part of a QGestureEvent. + + \value MaybeGesture The event changed the internal state of the recognizer, + but it isn't clear yet if it is a gesture or not. The recognizer needs to + filter more events to decide. Gesture recognizers in the MaybeGesture state + may be reset automatically if it takes too long to recognizer a gesture. + + \value GestureTriggered The gesture has been triggered and the appropriate + QGesture object will be delivered to the target as a part of a + QGestureEvent. + + \value GestureFinished The gesture has been finished successfully and the + appropriate QGesture object will be delivered to the target as a part of a + QGestureEvent. + + \value ConsumeEventHint The hint specifies if the gesture framework should + consume the filtered event and not deliver it to the receiver. + + \omitvalue ResultState_Mask + \omitvalue ResultHint_Mask + + \sa QGestureRecognizer::filterEvent() +*/ + +/*! + Constructs a new gesture recognizer object. +*/ QGestureRecognizer::QGestureRecognizer() { } +/*! + Destroys the gesture recognizer object. +*/ QGestureRecognizer::~QGestureRecognizer() { } -QGesture *QGestureRecognizer::createGesture(QObject *) +/*! + This function is called by Qt to creates a new QGesture object for the + given \a target (QWidget or QGraphicsObject). + + Reimplement this function to create a custom QGesture-derived gesture + object if necessary. +*/ +QGesture *QGestureRecognizer::createGesture(QObject *target) { + Q_UNUSED(target); return new QGesture; } -void QGestureRecognizer::reset(QGesture *state) +/*! + This function is called by Qt to reset a \a gesture. + + Reimplement this function if a custom QGesture-derived gesture object is + used which requires resetting additional properties. +*/ +void QGestureRecognizer::reset(QGesture *gesture) { - if (state) { - QGesturePrivate *d = state->d_func(); + if (gesture) { + QGesturePrivate *d = gesture->d_func(); d->state = Qt::NoGesture; d->hotSpot = QPointF(); d->targetObject = 0; } } +/*! + \fn QGestureRecognizer::filterEvent(QGesture *gesture, QObject *watched, QEvent *event) + + This function is called by Qt to filter an \a event for a \a watched object + (QWidget or QGraphicsObject). + + Returns the result of the current recognition step. The state of the \a + gesture object is set depending on the result. + + \sa Qt::GestureState +*/ + QT_END_NAMESPACE diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index bce06e0..7dc3ae9 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -11672,10 +11672,16 @@ QGraphicsProxyWidget *QWidget::graphicsProxyWidget() const Synonym for QList. */ -void QWidget::grabGesture(Qt::GestureType type, Qt::GestureContext context) +/*! + Subscribes the widget to a given \a gesture with a \a context. + + \sa QGestureEvent + \since 4.6 +*/ +void QWidget::grabGesture(Qt::GestureType gesture, Qt::GestureContext context) { Q_D(QWidget); - d->gestureContext.insert(type, context); + d->gestureContext.insert(gesture, context); (void)QGestureManager::instance(); // create a gesture manager } -- cgit v0.12 From 9a9f3646a2c7db0bb6d6edfd370175618471ad5a Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Mon, 12 Oct 2009 14:17:28 +0200 Subject: QHttpNetworkConnectionChannel: Limit the socket read buffer Reviewed-by: Peter Hartmann --- src/network/access/qhttpnetworkconnectionchannel.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index beab9af..81fac57 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -69,6 +69,11 @@ void QHttpNetworkConnectionChannel::init() socket = new QTcpSocket; #endif + // limit the socket read buffer size. we will read everything into + // the QHttpNetworkReply anyway, so let's grow only that and not + // here and there. + socket->setReadBufferSize(64*1024); + QObject::connect(socket, SIGNAL(bytesWritten(qint64)), this, SLOT(_q_bytesWritten(qint64)), Qt::DirectConnection); -- cgit v0.12 From c02c25aca8a934d85570a665af4769ed2d851a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Mon, 12 Oct 2009 16:21:44 +0200 Subject: Fixed a bug visible in QPrintPreview with the X11 XLFD font engine. QFontEngineXLFD::boundingBox() function did not take justification into account when calculating the bounding box for a set of glyphs. Reviewed-by: Eskil --- src/gui/text/qfontengine_x11.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/text/qfontengine_x11.cpp b/src/gui/text/qfontengine_x11.cpp index ffc0eb4..ff3f628 100644 --- a/src/gui/text/qfontengine_x11.cpp +++ b/src/gui/text/qfontengine_x11.cpp @@ -491,7 +491,7 @@ glyph_metrics_t QFontEngineXLFD::boundingBox(const QGlyphLayout &glyphs) // XCharStruct::rbearing is defined as distance from left edge to rightmost pixel xmax = qMax(xmax, overall.xoff + glyphs.offsets[i].x + xcs->rbearing); ymax = qMax(ymax, y + xcs->ascent + xcs->descent); - overall.xoff += glyphs.advances_x[i]; + overall.xoff += glyphs.advances_x[i] + QFixed::fromFixed(glyphs.justifications[i].space_18d6); } else { QFixed size = _fs->ascent; overall.x = qMin(overall.x, overall.xoff); -- cgit v0.12 From 8da7252de0badb818302763cbe62c38ad699f1f3 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Mon, 12 Oct 2009 14:28:33 +0200 Subject: Fixed keyboard navigation for QTableView Keyboard navigation didn't work in the following cases: - The last column was disabled and we pressed the tab key when at the 2nd last column. (See ref. task). - Spans with their anchor column or row hidden or disabled. - Navigation would not preserve the original row/column when traversing a span horizontally/vertically. Auto-tests submitted with this commit. Task-number: QTBUG-3878 Reviewed-by: Olivier --- src/gui/itemviews/qabstractitemview.cpp | 3 + src/gui/itemviews/qtableview.cpp | 204 ++++++++++++++++++++----------- src/gui/itemviews/qtableview_p.h | 4 +- tests/auto/qtableview/tst_qtableview.cpp | 166 ++++++++++++++++++++++++- 4 files changed, 304 insertions(+), 73 deletions(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 37f4184..268e78e 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -2185,6 +2185,9 @@ void QAbstractItemView::keyPressEvent(QKeyEvent *event) } else { d->selectionModel->setCurrentIndex(newCurrent, command); d->pressedPosition = visualRect(newCurrent).center() + d->offset(); + // We copy the same behaviour as for mousePressEvent(). + QRect rect(d->pressedPosition - d->offset(), QSize(1, 1)); + setSelection(rect, command); } return; } diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp index 15bd445..2d98258 100644 --- a/src/gui/itemviews/qtableview.cpp +++ b/src/gui/itemviews/qtableview.cpp @@ -779,8 +779,6 @@ void QTableViewPrivate::drawAndClipSpans(const QRegion &area, QPainter *painter, foreach (QSpanCollection::Span *span, visibleSpans) { int row = span->top(); int col = span->left(); - if (isHidden(row, col)) - continue; QModelIndex index = model->index(row, col, root); if (!index.isValid()) continue; @@ -1480,12 +1478,30 @@ QModelIndex QTableView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifi ++column; while (isRowHidden(d->logicalRow(row)) && row < bottom) ++row; + d->visualCursor = QPoint(column, row); return d->model->index(d->logicalRow(row), d->logicalColumn(column), d->root); } - int visualRow = d->visualRow(current.row()); + // Update visual cursor if current index has changed. + QPoint visualCurrent(d->visualColumn(current.column()), d->visualRow(current.row())); + if (visualCurrent != d->visualCursor) { + if (d->hasSpans()) { + QSpanCollection::Span span = d->span(current.row(), current.column()); + if (span.top() > d->visualCursor.y() || d->visualCursor.y() > span.bottom() + || span.left() > d->visualCursor.x() || d->visualCursor.x() > span.right()) + d->visualCursor = visualCurrent; + } else { + d->visualCursor = visualCurrent; + } + } + + int visualRow = d->visualCursor.y(); + if (visualRow > bottom) + visualRow = bottom; Q_ASSERT(visualRow != -1); - int visualColumn = d->visualColumn(current.column()); + int visualColumn = d->visualCursor.x(); + if (visualColumn > right) + visualColumn = right; Q_ASSERT(visualColumn != -1); if (isRightToLeft()) { @@ -1496,22 +1512,33 @@ QModelIndex QTableView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifi } switch (cursorAction) { - case MoveUp: + case MoveUp: { + int originalRow = visualRow; #ifdef QT_KEYPAD_NAVIGATION if (QApplication::keypadNavigationEnabled() && visualRow == 0) visualRow = d->visualRow(model()->rowCount() - 1) + 1; + // FIXME? visualRow = bottom + 1; #endif - --visualRow; - while (visualRow > 0 && d->isVisualRowHiddenOrDisabled(visualRow, visualColumn)) + int r = d->logicalRow(visualRow); + int c = d->logicalColumn(visualColumn); + if (r != -1 && d->hasSpans()) { + QSpanCollection::Span span = d->span(r, c); + if (span.width() > 1 || span.height() > 1) + visualRow = d->visualRow(span.top()); + } + while (visualRow >= 0) { --visualRow; - if (d->hasSpans()) { - int row = d->logicalRow(visualRow); - QSpanCollection::Span span = d->span(row, current.column()); - visualRow = d->visualRow(span.top()); - visualColumn = d->visualColumn(span.left()); + r = d->logicalRow(visualRow); + c = d->logicalColumn(visualColumn); + if (r == -1 || (!isRowHidden(r) && d->isCellEnabled(r, c))) + break; } + if (visualRow < 0) + visualRow = originalRow; break; - case MoveDown: + } + case MoveDown: { + int originalRow = visualRow; if (d->hasSpans()) { QSpanCollection::Span span = d->span(current.row(), current.column()); visualRow = d->visualRow(d->rowSpanEndLogical(span.top(), span.height())); @@ -1520,71 +1547,106 @@ QModelIndex QTableView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifi if (QApplication::keypadNavigationEnabled() && visualRow >= bottom) visualRow = -1; #endif - ++visualRow; - while (visualRow < bottom && d->isVisualRowHiddenOrDisabled(visualRow, visualColumn)) + int r = d->logicalRow(visualRow); + int c = d->logicalColumn(visualColumn); + if (r != -1 && d->hasSpans()) { + QSpanCollection::Span span = d->span(r, c); + if (span.width() > 1 || span.height() > 1) + visualRow = d->visualRow(d->rowSpanEndLogical(span.top(), span.height())); + } + while (visualRow <= bottom) { ++visualRow; - if (d->hasSpans()) { - int row = d->logicalRow(visualRow); - QSpanCollection::Span span = d->span(row, current.column()); - visualColumn = d->visualColumn(span.left()); + r = d->logicalRow(visualRow); + c = d->logicalColumn(visualColumn); + if (r == -1 || (!isRowHidden(r) && d->isCellEnabled(r, c))) + break; } + if (visualRow > bottom) + visualRow = originalRow; break; - case MovePrevious: { - int left = 0; - while (d->isVisualColumnHiddenOrDisabled(visualRow, left) && left < right) - ++left; - if (visualColumn == left) { - visualColumn = right; - int top = 0; - while (top < bottom && d->isVisualRowHiddenOrDisabled(top, visualColumn)) - ++top; - if (visualRow == top) + } + case MovePrevious: + case MoveLeft: { + int originalRow = visualRow; + int originalColumn = visualColumn; + bool firstTime = true; + bool looped = false; + bool wrapped = false; + do { + int r = d->logicalRow(visualRow); + int c = d->logicalColumn(visualColumn); + if (firstTime && c != -1 && d->hasSpans()) { + firstTime = false; + QSpanCollection::Span span = d->span(r, c); + if (span.width() > 1 || span.height() > 1) + visualColumn = d->visualColumn(span.left()); + } + while (visualColumn >= 0) { + --visualColumn; + r = d->logicalRow(visualRow); + c = d->logicalColumn(visualColumn); + if (r == -1 || c == -1 || (!isRowHidden(r) && !isColumnHidden(c) && d->isCellEnabled(r, c))) + break; + if (wrapped && (originalRow < visualRow || (originalRow == visualRow && originalColumn <= visualColumn))) { + looped = true; + break; + } + } + if (cursorAction == MoveLeft || visualColumn >= 0) + break; + visualColumn = right + 1; + if (visualRow == 0) { + wrapped == true; visualRow = bottom; - else - --visualRow; - while (visualRow > 0 && d->isVisualRowHiddenOrDisabled(visualRow, visualColumn)) + } else { --visualRow; - break; - } // else MoveLeft - } - case MoveLeft: - --visualColumn; - while (visualColumn > 0 && d->isVisualColumnHiddenOrDisabled(visualRow, visualColumn)) - --visualColumn; - if (d->hasSpans()) { - int column = d->logicalColumn(visualColumn); - QSpanCollection::Span span = d->span(current.row(), column); - visualRow = d->visualRow(span.top()); - visualColumn = d->visualColumn(span.left()); - } + } + } while (!looped); + if (visualColumn < 0) + visualColumn = originalColumn; break; + } case MoveNext: - if (visualColumn == right) { - visualColumn = 0; - while (visualColumn < right && d->isVisualColumnHiddenOrDisabled(visualRow, visualColumn)) + case MoveRight: { + int originalRow = visualRow; + int originalColumn = visualColumn; + bool firstTime = true; + bool looped = false; + bool wrapped = false; + do { + int r = d->logicalRow(visualRow); + int c = d->logicalColumn(visualColumn); + if (firstTime && c != -1 && d->hasSpans()) { + firstTime = false; + QSpanCollection::Span span = d->span(r, c); + if (span.width() > 1 || span.height() > 1) + visualColumn = d->visualColumn(d->columnSpanEndLogical(span.left(), span.width())); + } + while (visualColumn <= right) { ++visualColumn; - if (visualRow == bottom) + r = d->logicalRow(visualRow); + c = d->logicalColumn(visualColumn); + if (r == -1 || c == -1 || (!isRowHidden(r) && !isColumnHidden(c) && d->isCellEnabled(r, c))) + break; + if (wrapped && (originalRow > visualRow || (originalRow == visualRow && originalColumn >= visualColumn))) { + looped = true; + break; + } + } + if (cursorAction == MoveRight || visualColumn <= right) + break; + visualColumn = -1; + if (visualRow == bottom) { + wrapped = true; visualRow = 0; - else - ++visualRow; - while (visualRow < bottom && d->isVisualRowHiddenOrDisabled(visualRow, visualColumn)) + } else { ++visualRow; - break; - } // else MoveRight - case MoveRight: - if (d->hasSpans()) { - QSpanCollection::Span span = d->span(current.row(), current.column()); - visualColumn = d->visualColumn(d->columnSpanEndLogical(span.left(), span.width())); - } - ++visualColumn; - while (visualColumn < right && d->isVisualColumnHiddenOrDisabled(visualRow, visualColumn)) - ++visualColumn; - if (d->hasSpans()) { - int column = d->logicalColumn(visualColumn); - QSpanCollection::Span span = d->span(current.row(), column); - visualRow = d->visualRow(span.top()); - } + } + } while (!looped); + if (visualColumn > right) + visualColumn = originalColumn; break; + } case MoveHome: visualColumn = 0; while (visualColumn < right && d->isVisualColumnHiddenOrDisabled(visualRow, visualColumn)) @@ -1613,14 +1675,15 @@ QModelIndex QTableView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifi return d->model->index(newRow, current.column(), d->root); }} + d->visualCursor = QPoint(visualColumn, visualRow); int logicalRow = d->logicalRow(visualRow); int logicalColumn = d->logicalColumn(visualColumn); if (!d->model->hasIndex(logicalRow, logicalColumn, d->root)) return QModelIndex(); QModelIndex result = d->model->index(logicalRow, logicalColumn, d->root); - if (!isIndexHidden(result) && d->isIndexEnabled(result)) - return d->model->index(logicalRow, logicalColumn, d->root); + if (!d->isRowHidden(logicalRow) && !d->isColumnHidden(logicalColumn) && d->isIndexEnabled(result)) + return result; return QModelIndex(); } @@ -2375,7 +2438,8 @@ bool QTableView::isCornerButtonEnabled() const QRect QTableView::visualRect(const QModelIndex &index) const { Q_D(const QTableView); - if (!d->isIndexValid(index) || index.parent() != d->root || isIndexHidden(index) ) + if (!d->isIndexValid(index) || index.parent() != d->root + || (!d->hasSpans() && isIndexHidden(index))) return QRect(); d->executePostedLayout(); diff --git a/src/gui/itemviews/qtableview_p.h b/src/gui/itemviews/qtableview_p.h index c785bd7..9fa14c2 100644 --- a/src/gui/itemviews/qtableview_p.h +++ b/src/gui/itemviews/qtableview_p.h @@ -135,7 +135,8 @@ public: rowSectionAnchor(-1), columnSectionAnchor(-1), columnResizeTimerID(0), rowResizeTimerID(0), horizontalHeader(0), verticalHeader(0), - sortingEnabled(false), geometryRecursionBlock(false) + sortingEnabled(false), geometryRecursionBlock(false), + visualCursor(QPoint()) { wrapItemText = true; #ifndef QT_NO_DRAGANDDROP @@ -183,6 +184,7 @@ public: QWidget *cornerWidget; bool sortingEnabled; bool geometryRecursionBlock; + QPoint visualCursor; // (Row,column) cell coordinates to track through span navigation. QSpanCollection spans; diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index bb0e226..4ea1b19 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -100,6 +100,9 @@ private slots: void moveCursor_data(); void moveCursor(); + void moveCursorStrikesBack_data(); + void moveCursorStrikesBack(); + void hideRows_data(); void hideRows(); @@ -252,12 +255,43 @@ public: row_count(rows), column_count(columns), can_fetch_more(false), - fetch_more_count(0) {} + fetch_more_count(0), + disabled_rows(), + disabled_columns() {} int rowCount(const QModelIndex& = QModelIndex()) const { return row_count; } int columnCount(const QModelIndex& = QModelIndex()) const { return column_count; } bool isEditable(const QModelIndex &) const { return true; } + Qt::ItemFlags flags(const QModelIndex &index) const + { + Qt::ItemFlags index_flags = QAbstractTableModel::flags(index); + if (disabled_rows.contains(index.row()) + || disabled_columns.contains(index.column())) + index_flags &= ~Qt::ItemIsEnabled; + return index_flags; + } + + void disableRow(int row) + { + disabled_rows.insert(row); + } + + void enableRow(int row) + { + disabled_rows.remove(row); + } + + void disableColumn(int column) + { + disabled_columns.insert(column); + } + + void enableColumn(int column) + { + disabled_columns.remove(column); + } + QVariant data(const QModelIndex &idx, int role) const { if (!idx.isValid() || idx.row() >= row_count || idx.column() >= column_count) { @@ -363,6 +397,8 @@ public: int column_count; bool can_fetch_more; int fetch_more_count; + QSet disabled_rows; + QSet disabled_columns; }; class QtTestTableView : public QTableView @@ -834,7 +870,7 @@ void tst_QTableView::moveCursor_data() << 4 << 4 << -1 << 2 << 0 << 2 << int(QtTestTableView::MoveNext) << int(Qt::NoModifier) - << 1 << 0 << IntPair(0,0) << IntPair(3,0); + << 1 << 3 << IntPair(0,0) << IntPair(3,0); // MoveLeft QTest::newRow("MoveLeft (0,0)") @@ -1137,6 +1173,132 @@ void tst_QTableView::moveCursor() QCOMPARE(newIndex.column(), expectedColumn); } +void tst_QTableView::moveCursorStrikesBack_data() +{ + QTest::addColumn("hideRow"); + QTest::addColumn("hideColumn"); + QTest::addColumn("disableRows"); + QTest::addColumn("disableColumns"); + QTest::addColumn("span"); + + QTest::addColumn("startRow"); + QTest::addColumn("startColumn"); + QTest::addColumn("cursorMoveActions"); + QTest::addColumn("expectedRow"); + QTest::addColumn("expectedColumn"); + + QTest::newRow("Last column disabled. Task QTBUG-3878") << -1 << -1 + << IntList() + << (IntList() << 6) + << QRect() + << 0 << 5 << (IntList() << int(QtTestTableView::MoveNext)) + << 1 << 0; + + QTest::newRow("Span, anchor column hidden") << -1 << 1 + << IntList() + << IntList() + << QRect(1, 2, 2, 3) + << 2 << 0 << (IntList() << int(QtTestTableView::MoveNext)) + << 2 << 2; + + QTest::newRow("Span, anchor column disabled") << -1 << -1 + << IntList() + << (IntList() << 1) + << QRect(1, 2, 2, 3) + << 2 << 0 << (IntList() << int(QtTestTableView::MoveNext)) + << 2 << 2; + + QTest::newRow("Span, anchor row hidden") << 2 << -1 + << IntList() + << IntList() + << QRect(1, 2, 2, 3) + << 1 << 2 << (IntList() << int(QtTestTableView::MoveDown)) + << 3 << 2; + + QTest::newRow("Span, anchor row disabled") << -1 << -1 + << (IntList() << 2) + << IntList() + << QRect(1, 2, 2, 3) + << 1 << 2 << (IntList() << int(QtTestTableView::MoveDown)) + << 3 << 2; + + QTest::newRow("Move through span right") << -1 << -1 + << IntList() + << IntList() + << QRect(1, 2, 2, 3) + << 3 << 0 << (IntList() << int(QtTestTableView::MoveRight) << int(QtTestTableView::MoveRight)) + << 3 << 3; + + QTest::newRow("Move through span left") << -1 << -1 + << IntList() + << IntList() + << QRect(1, 2, 2, 3) + << 3 << 3 << (IntList() << int(QtTestTableView::MoveLeft) << int(QtTestTableView::MoveLeft)) + << 3 << 0; + + QTest::newRow("Move through span down") << -1 << -1 + << IntList() + << IntList() + << QRect(1, 2, 2, 3) + << 1 << 2 << (IntList() << int(QtTestTableView::MoveDown) << int(QtTestTableView::MoveDown)) + << 5 << 2; + + QTest::newRow("Move through span up") << -1 << -1 + << IntList() + << IntList() + << QRect(1, 2, 2, 3) + << 5 << 2 << (IntList() << int(QtTestTableView::MoveUp) << int(QtTestTableView::MoveUp)) + << 1 << 2; +} + +void tst_QTableView::moveCursorStrikesBack() +{ + QFETCH(int, hideRow); + QFETCH(int, hideColumn); + QFETCH(IntList, disableRows); + QFETCH(IntList, disableColumns); + QFETCH(QRect, span); + + QFETCH(int, startRow); + QFETCH(int, startColumn); + QFETCH(IntList, cursorMoveActions); + QFETCH(int, expectedRow); + QFETCH(int, expectedColumn); + + QtTestTableModel model(7, 7); + QtTestTableView view; + view.setModel(&model); + view.hideRow(hideRow); + view.hideColumn(hideColumn); + + foreach (int row, disableRows) + model.disableRow(row); + foreach (int column, disableColumns) + model.disableColumn(column); + + if (span.height() && span.width()) + view.setSpan(span.top(), span.left(), span.height(), span.width()); + view.show(); + + QModelIndex index = model.index(startRow, startColumn); + view.setCurrentIndex(index); + + int newRow = -1; + int newColumn = -1; + foreach (int cursorMoveAction, cursorMoveActions) { + QModelIndex newIndex = view.moveCursor((QtTestTableView::CursorAction)cursorMoveAction, 0); + view.setCurrentIndex(newIndex); + newRow = newIndex.row(); + newColumn = newIndex.column(); + } + + // expected fails, task 119433 + if(newRow == -1) + return; + QCOMPARE(newRow, expectedRow); + QCOMPARE(newColumn, expectedColumn); +} + void tst_QTableView::hideRows_data() { QTest::addColumn("rowCount"); -- cgit v0.12 From f55d36cea933d801d421562f3d8b6b2ff0fb0fc1 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 12 Oct 2009 18:01:19 +0200 Subject: Fixes tst_QProxyWidget::palettePropagation on Mac QPalette() and QApplication::palette("QLineEdit") are not the same on Mac We really want QPalette() here because the graphics widget is not supposed to inherit from the widget it is proxying. Reviewed-by: Alexis --- tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp index d016461..9db34bb 100644 --- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp +++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp @@ -2795,13 +2795,13 @@ void tst_QGraphicsProxyWidget::palettePropagation() QCOMPARE(proxySpy.counts[QEvent::PaletteChange], 0); QVERIFY(edit->testAttribute(Qt::WA_SetPalette)); QVERIFY(!proxy.testAttribute(Qt::WA_SetPalette)); - QCOMPARE(proxy.palette(), lineEditPalette); + QCOMPARE(proxy.palette(), QPalette()); edit->setPalette(QPalette()); QCOMPARE(editSpy.counts[QEvent::PaletteChange], 2); QCOMPARE(proxySpy.counts[QEvent::PaletteChange], 0); QVERIFY(!edit->testAttribute(Qt::WA_SetPalette)); QVERIFY(!proxy.testAttribute(Qt::WA_SetPalette)); - QCOMPARE(proxy.palette(), lineEditPalette); + QCOMPARE(proxy.palette(), QPalette()); // Proxy to widget proxy.setPalette(palette); -- cgit v0.12 From 7a8a891502c6a063b1b4223bcca714d22052e4aa Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Mon, 12 Oct 2009 16:38:48 +0200 Subject: Make writing out word-spacing use the right property. ODF seems to not specify this property, while xslt (which odf copied for this) does, writing it out will be much more useful than loosing the info silently, though. Reviewed-by: Denis Dzyubenko --- src/gui/text/qtextodfwriter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qtextodfwriter.cpp b/src/gui/text/qtextodfwriter.cpp index 3521ade..9b7e8de 100644 --- a/src/gui/text/qtextodfwriter.cpp +++ b/src/gui/text/qtextodfwriter.cpp @@ -550,9 +550,9 @@ void QTextOdfWriter::writeCharacterFormat(QXmlStreamWriter &writer, QTextCharFor } } if (format.hasProperty(QTextFormat::FontLetterSpacing)) - writer.writeAttribute(foNS, QString::fromLatin1("letter-spacing"), pixelToPoint(format.fontLetterSpacing()) ); + writer.writeAttribute(foNS, QString::fromLatin1("letter-spacing"), pixelToPoint(format.fontLetterSpacing())); if (format.hasProperty(QTextFormat::FontWordSpacing)) - writer.writeAttribute(foNS, QString::fromLatin1("letter-spacing"), pixelToPoint(format.fontWordSpacing()) ); + writer.writeAttribute(foNS, QString::fromLatin1("word-spacing"), pixelToPoint(format.fontWordSpacing())); if (format.hasProperty(QTextFormat::FontUnderline)) writer.writeAttribute(styleNS, QString::fromLatin1("text-underline-type"), format.fontUnderline() ? QString::fromLatin1("single") : QString::fromLatin1("none")); -- cgit v0.12 From 2b031abea42dbb56bff6a4d3db68f7b7c5058c12 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Mon, 12 Oct 2009 15:23:12 +0200 Subject: Enable mouse cursor in drilldown example This example is unusable with keypad navigation, virtual cursor makes it possible to use without touch screen Reviewed-by: TrustMe --- examples/sql/drilldown/main.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/sql/drilldown/main.cpp b/examples/sql/drilldown/main.cpp index 20f4cbf..f0b506e 100644 --- a/examples/sql/drilldown/main.cpp +++ b/examples/sql/drilldown/main.cpp @@ -59,5 +59,8 @@ int main(int argc, char *argv[]) #else view.showFullScreen(); #endif +#ifdef QT_KEYPAD_NAVIGATION + QApplication::setNavigationMode(Qt::NavigationModeCursorAuto); +#endif return app.exec(); } -- cgit v0.12 From 912e8c4ae4f2630a49653c375ac63a71e21e0dd3 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Mon, 12 Oct 2009 15:29:31 +0200 Subject: Fix for poor performance during screen orientation switch Processing the relayout takes longer than 100ms. Setting priority to low makes the app wait until all other apps have been processed before it gets scheduled again (over 3 seconds). By setting priority to background, the app is round-robin scheduled with the other apps (in 20ms timeslices) Task-number: QT-1030 Reviewed-by: axis --- src/corelib/kernel/qeventdispatcher_symbian.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index acbb7e4..02f77a1 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -749,11 +749,11 @@ bool QEventDispatcherSymbian::processEvents ( QEventLoop::ProcessEventsFlags fla block = false; if (timeState == TimeStarted && time.elapsed() > 100) { priority = m_processHandle.Priority(); - m_processHandle.SetPriority(EPriorityLow); + m_processHandle.SetPriority(EPriorityBackground); time.start(); // Slight chance of race condition in the next lines, but nothing fatal // will happen, just wrong priority. - if (m_processHandle.Priority() == EPriorityLow) { + if (m_processHandle.Priority() == EPriorityBackground) { m_processHandle.SetPriority(priority); } } -- cgit v0.12 From 38b95b106cfd3949e6830fd516fbc31333b6ac5f Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Mon, 12 Oct 2009 18:23:31 +0200 Subject: Make QTextControl give the right default action to Drag manager When dragging text from a non editable widget, QTextControlPrivate was passing allowed actions = CopyAction, default action = MoveAction. Default action is always used if you don't press any modifier keys, so text could be moved (cut) out of a non editable widget such as QLabel Task-number: QTBUG-4356 Reviewed-by: Aleksandar Sasha Babic --- src/gui/text/qtextcontrol.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp index db4c07c..ee8b751 100644 --- a/src/gui/text/qtextcontrol.cpp +++ b/src/gui/text/qtextcontrol.cpp @@ -505,9 +505,13 @@ void QTextControlPrivate::startDrag() drag->setMimeData(data); Qt::DropActions actions = Qt::CopyAction; - if (interactionFlags & Qt::TextEditable) + Qt::DropAction action; + if (interactionFlags & Qt::TextEditable) { actions |= Qt::MoveAction; - Qt::DropAction action = drag->exec(actions, Qt::MoveAction); + action = drag->exec(actions, Qt::MoveAction); + } else { + action = drag->exec(actions, Qt::CopyAction); + } if (action == Qt::MoveAction && drag->target() != contextWidget) cursor.removeSelectedText(); -- cgit v0.12 From 2eca30ab9d9bed3afc08d5b300c5820cae3b0083 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Mon, 12 Oct 2009 18:57:53 +0200 Subject: Fix default action in s60 drag'n'drop manager Default action was always MoveAction, which removed the data from the source widget, even if not accepted anywhere. Now uses the default action from the base class manager. Task-number: QT-736 Task-number: QTBUG-4356 Reviewed-by: Aleksandar Sasha Babic --- src/gui/kernel/qdnd_s60.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qdnd_s60.cpp b/src/gui/kernel/qdnd_s60.cpp index 3d6ecd2..a8d3ac5 100644 --- a/src/gui/kernel/qdnd_s60.cpp +++ b/src/gui/kernel/qdnd_s60.cpp @@ -277,7 +277,7 @@ Qt::DropAction QDragManager::drag(QDrag *o) qApp->installEventFilter(this); - global_accepted_action = Qt::MoveAction; + global_accepted_action = defaultAction(dragPrivate()->possible_actions, Qt::NoModifier); qt_symbian_dnd_dragging = true; eventLoop = new QEventLoop; @@ -288,7 +288,7 @@ Qt::DropAction QDragManager::drag(QDrag *o) #ifndef QT_NO_CURSOR qt_symbian_set_cursor_visible(false); - + overrideCursor = QCursor(); //deref the cursor data qt_symbian_dnd_dragging = false; #endif -- cgit v0.12 From 6a1be803bf94b8af4a4766e31df9b441d1c81eed Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 12 Oct 2009 20:00:17 +0200 Subject: QGraphicsView tests on X11 --- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 2 +- tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp | 2 ++ tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index c6ee237..49b76ac 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -6183,7 +6183,7 @@ void tst_QGraphicsItem::opacity2() MyGraphicsView view(&scene); view.show(); QTest::qWaitForWindowShown(&view); - QTRY_VERIFY(view.repaints > 1); + QTRY_VERIFY(view.repaints >= 1); #define RESET_REPAINT_COUNTERS \ parent->repaints = 0; \ diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp index 9db34bb..58d7896 100644 --- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp +++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp @@ -3059,8 +3059,10 @@ void tst_QGraphicsProxyWidget::actionsContextMenu() QGraphicsView view(&scene); view.show(); + QApplication::setActiveWindow(&view); QTest::qWaitForWindowShown(&view); view.setFocus(); + QTRY_VERIFY(view.hasFocus()); if (hasFocus) scene.addWidget(widget)->setFocus(); diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index 926335f..8acaa72 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -2945,7 +2945,7 @@ void tst_QGraphicsView::task239729_noViewUpdate() view->show(); QTest::qWaitForWindowShown(view); - QTRY_VERIFY(spy.count() > 1); + QTRY_VERIFY(spy.count() >= 1); spy.reset(); scene.update(); QApplication::processEvents(); -- cgit v0.12 From b6d4d79b85d84ad95d07139fe055e3a248450952 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 12 Oct 2009 20:31:20 +0200 Subject: Doc: Gesture API documentation review. Reviewed-by: Trust Me --- doc/src/qt4-intro.qdoc | 29 ++++++----- doc/src/snippets/gestures/qgesture.cpp | 32 ++++++------ examples/gestures/imageviewer/imagewidget.cpp | 2 + src/corelib/global/qnamespace.qdoc | 10 ++-- src/gui/graphicsview/qgraphicsitem.cpp | 3 +- src/gui/kernel/qapplication.cpp | 23 +++++---- src/gui/kernel/qevent.cpp | 60 +++++++++++----------- src/gui/kernel/qgesture.cpp | 36 ++++++-------- src/gui/kernel/qgesturerecognizer.cpp | 72 +++++++++++++++++++++------ 9 files changed, 158 insertions(+), 109 deletions(-) diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index 00b7709..e37d327 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -546,29 +546,32 @@ trigger on signals and \l{QEvent}s. By inserting animations into the state machine, it is also easier to use the framework for animating GUIs, for instance. - + See \l{The State Machine Framework} documentation for more infromation. - \section1 Multi-touch & Gestures + \section1 Multi-Touch and Gestures - The new multi-touch and gestures support enables user interaction - with more than one finger, and combines sequential touch inputs to - a 'gesture'. + Support for multi-touch input enables users to interact with many + parts of a user interface at the same time, and provides the basis + for gestures. Additional infrastructure for gesture recognition + allows a sequence of touch inputs to be combined to create gestures + that can be used to activate features and trigger actions in an + application. \image gestures.png - The main benefits of this new functionality are: + This new functionality brings a number of benefits: \list - \o Allow users to interact with applications in better ways. - \o Simplify finger-based interaction with UI components. - \o Allowing common basic gestures and multi-touch - gestures. - \o Enable extensibility. + \o Allows users to interact with applications in more natural ways. + \o Simplifies finger-based interaction with UI components. + \o Combines support for common basic gestures and multi-touch gestures + in a single general framework. + \o Enables extensibility by design. \endlist See the QTouchEvent class documentation for more information on multi-touch - and QGestureEvent for gestures. + input and QGestureEvent for gestures. \section1 DOM access API @@ -628,7 +631,7 @@ through C++ APIs in the Qt application, or using the xmlpatternsvalidator command line utility. The implementation of XML Schema Validation supports the specification version 1.0 in large parts. - + \img xml-schema.png See the \l{XML Processing} and QXmlSchema class documentation for more diff --git a/doc/src/snippets/gestures/qgesture.cpp b/doc/src/snippets/gestures/qgesture.cpp index 65f8b24..77f5cc2 100644 --- a/doc/src/snippets/gestures/qgesture.cpp +++ b/doc/src/snippets/gestures/qgesture.cpp @@ -64,7 +64,7 @@ private: QGesture *gesture; }; -/*! +/* \class QGesture \since 4.6 @@ -100,7 +100,7 @@ private: \sa QPanGesture */ -/*! \fn bool QGesture::filterEvent(QEvent *event) +/* \fn bool QGesture::filterEvent(QEvent *event) Parses input \a event and emits a signal when detects a gesture. @@ -111,7 +111,7 @@ private: This is a pure virtual function that needs to be implemented in subclasses. */ -/*! \fn void QGesture::started() +/* \fn void QGesture::started() The signal is emitted when the gesture is started. Extended information about the gesture is contained in the signal sender object. @@ -119,19 +119,19 @@ private: In addition to started(), a triggered() signal should also be emitted. */ -/*! \fn void QGesture::triggered() +/* \fn void QGesture::triggered() The signal is emitted when the gesture is detected. Extended information about the gesture is contained in the signal sender object. */ -/*! \fn void QGesture::finished() +/* \fn void QGesture::finished() The signal is emitted when the gesture is finished. Extended information about the gesture is contained in the signal sender object. */ -/*! \fn void QGesture::cancelled() +/* \fn void QGesture::cancelled() The signal is emitted when the gesture is cancelled, for example the reset() function is called while the gesture was in the process of emitting a @@ -140,7 +140,7 @@ private: */ -/*! +/* Creates a new gesture handler object and marks it as a child of \a parent. The \a parent object is also the default event source for the gesture, @@ -156,7 +156,7 @@ QGesture::QGesture(QObject *parent) parent->installEventFilter(this); } -/*! \internal +/* \internal */ QGesture::QGesture(QGesturePrivate &dd, QObject *parent) : QObject(dd, parent) @@ -165,14 +165,14 @@ QGesture::QGesture(QGesturePrivate &dd, QObject *parent) parent->installEventFilter(this); } -/*! +/* Destroys the gesture object. */ QGesture::~QGesture() { } -/*! \internal +/* \internal */ bool QGesture::eventFilter(QObject *receiver, QEvent *event) { @@ -182,13 +182,13 @@ bool QGesture::eventFilter(QObject *receiver, QEvent *event) return filterEvent(event); } -/*! +/* \property QGesture::state \brief The current state of the gesture. */ -/*! +/* Returns the gesture recognition state. */ Qt::GestureState QGesture::state() const @@ -196,7 +196,7 @@ Qt::GestureState QGesture::state() const return d_func()->state; } -/*! +/* Sets this gesture's recognition state to \a state and emits appropriate signals. @@ -237,7 +237,7 @@ void QGesture::updateState(Qt::GestureState state) } } -/*! +/* Sets the \a graphicsItem the gesture is filtering events for. The gesture will install an event filter to the \a graphicsItem and @@ -257,7 +257,7 @@ void QGesture::setGraphicsItem(QGraphicsItem *graphicsItem) graphicsItem->installSceneEventFilter(d->eventFilterProxyGraphicsItem); } -/*! +/* Returns the graphics item the gesture is filtering events for. \sa setGraphicsItem() @@ -267,7 +267,7 @@ QGraphicsItem* QGesture::graphicsItem() const return d_func()->graphicsItem; } -/*! \fn void QGesture::reset() +/* \fn void QGesture::reset() Resets the internal state of the gesture. This function might be called by the filterEvent() implementation in a derived class, or by the user to diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp index 5633942..b8bb7b5 100644 --- a/examples/gestures/imageviewer/imagewidget.cpp +++ b/examples/gestures/imageviewer/imagewidget.cpp @@ -147,6 +147,7 @@ void ImageWidget::pinchTriggered(QPinchGesture *gesture) update(); } +//! [swipe slot] void ImageWidget::swipeTriggered(QSwipeGesture *gesture) { if (gesture->horizontalDirection() == QSwipeGesture::Left @@ -156,6 +157,7 @@ void ImageWidget::swipeTriggered(QSwipeGesture *gesture) goNextImage(); update(); } +//! [swipe slot] void ImageWidget::resizeEvent(QResizeEvent*) { diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 5956677..ba05b00 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -2816,12 +2816,12 @@ \value PanGesture A Pan gesture. \value PinchGesture A Pinch gesture. \value SwipeGesture A Swipe gesture. - \value CustomGesture User-defined gesture id. - \value LastGestureType Last user gesture id + \value CustomGesture User-defined gesture ID. + \value LastGestureType Last user gesture ID. - User-defined gestures are registered with - QApplication::registerGestureRecognizer which generated a custom gesture id - within range between CustomGesture and LastGestureType. + User-defined gestures are registered with the + QApplication::registerGestureRecognizer() function which generates a custom gesture ID + in the range of values from CustomGesture to LastGestureType. \sa QGesture, QWidget::grabGesture() */ diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index b86f9fe..45627f6 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -7288,10 +7288,9 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent } /*! - Subscribes the graphics object to a given \a gesture with a \a context. + Subscribes the graphics object to the given \a gesture for the specified \a context. \sa QGestureEvent - \since 4.6 */ void QGraphicsObject::grabGesture(Qt::GestureType gesture, Qt::GestureContext context) diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index d188468..b990fe2 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -5620,16 +5620,18 @@ Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window, } /*! - Registers \a recognizer in the gesture framework and returns a gesture id. + \since 4.6 - QApplication takes ownership of \a recognizer and returns the gesture type - id associated with it. For gesture recognizers which handle custom QGesture - objects (i.e. return Qt::CustomGesture in a QGesture::gestureType() - function, the return value is a gesture id between Qt::CustomGesture and - Qt::LastGestureType. + Registers the given \a recognizer in the gesture framework and returns a gesture ID + for it. - \sa unregisterGestureRecognizer, QGestureRecognizer::createGesture, QGesture - \since 4.6 + The application takes ownership of the \a recognizer and returns the gesture type + ID associated with it. For gesture recognizers which handle custom QGesture + objects (i.e., those which return Qt::CustomGesture in a QGesture::gestureType() + function) the return value is a gesture ID between Qt::CustomGesture and + Qt::LastGestureType, inclusive. + + \sa unregisterGestureRecognizer(), QGestureRecognizer::createGesture(), QGesture */ Qt::GestureType QApplication::registerGestureRecognizer(QGestureRecognizer *recognizer) { @@ -5637,10 +5639,11 @@ Qt::GestureType QApplication::registerGestureRecognizer(QGestureRecognizer *reco } /*! - Unregisters all gesture recognizers of specified \a type. + \since 4.6 + + Unregisters all gesture recognizers of the specified \a type. \sa registerGestureRecognizer - \since 4.6 */ void QApplication::unregisterGestureRecognizer(Qt::GestureType type) { diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 1834874..4826704 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -4196,18 +4196,22 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T \since 4.6 \ingroup events - \brief The QGestureEvent class provides the description of triggered - gestures. + \brief The QGestureEvent class provides the description of triggered gestures. - The QGestureEvent class contains a list of gestures that are being executed - right now (\l{QGestureEvent::}{activeGestures}) and a list of gestures - that are \l{QGestureEvent::canceledGestures}{canceled} (a gesture might be - canceled if the current window looses focus, or because of a timeout, etc). + The QGestureEvent class contains a list of gestures, which can be obtained using the + allGestures() function. - If the event is not \l{QEvent::accept}{accept}ed, all individual QGesture - object that were not accepted will be propagated up the parent widget chain - until a widget accepts it with \l{QGestureEvent::accept}{accept()}, or an - event filter consumes it. + The gestures are either active or canceled. A list of those that are currently being + executed can be obtained using the activeGestures() function. A list of those which + were previously active and have been canceled can be accessed using the + canceledGestures() function. A gesture might be canceled if the current window loses + focus, for example, or because of a timeout, or for other reasons. + + If the event handler does not accept the event by calling the generic + QEvent::accept() function, all individual QGesture object that were not accepted + will be propagated up the parent widget chain until a widget accepts them + individually, by calling QGestureEvent::accept() for each of them, or an event + filter consumes the event. \sa QGesture, QGestureRecognizer, QWidget::grabGesture(), QGraphicsObject::grabGesture() @@ -4241,7 +4245,7 @@ QGesture *QGestureEvent::gesture(Qt::GestureType type) const } /*! - Returns a list of active (i.e. not canceled) gestures. + Returns a list of active (not canceled) gestures. */ QList QGestureEvent::activeGestures() const { @@ -4257,16 +4261,17 @@ QList QGestureEvent::canceledGestures() const } /*! - Sets the accept flag of the \a gesture object + Sets the accept flag of the given \a gesture object to the specified \a value. + + Setting the accept flag indicates that the event receiver wants the \a gesture. + Unwanted gestures may be propagated to the parent widget. - Setting the accept parameter indicates that the event receiver wants the \a - gesture. Unwanted gestures might be propagated to the parent widget. By - default, gestures in events of type QEvent::Gesture are accepted, and - gestures in QEvent::GestureOverride events are ignored by default. + By default, gestures in events of type QEvent::Gesture are accepted, and + gestures in QEvent::GestureOverride events are ignored. For convenience, the accept flag can also be set with - \l{QGestureEvent::accept}{accept(gesture)}, and cleared with - \l{QGestureEvent::ignore}{ignore(gesture)}. + \l{QGestureEvent::accept()}{accept(gesture)}, and cleared with + \l{QGestureEvent::ignore()}{ignore(gesture)}. */ void QGestureEvent::setAccepted(QGesture *gesture, bool value) { @@ -4276,11 +4281,11 @@ void QGestureEvent::setAccepted(QGesture *gesture, bool value) } /*! - Sets the accept flag of the \a gesture object, the equivalent of calling - \l{QGestureEvent::setAccepted}{setAccepted}(gesture, true). + Sets the accept flag of the given \a gesture object, the equivalent of calling + \l{QGestureEvent::setAccepted()}{setAccepted(gesture, true)}. - Setting the accept parameter indicates that the event receiver wants the - gesture. Unwanted gestures might be propagated to the parent widget. + Setting the accept flag indicates that the event receiver wants the + gesture. Unwanted gestures may be propagated to the parent widget. \sa QGestureEvent::ignore() */ @@ -4290,12 +4295,11 @@ void QGestureEvent::accept(QGesture *gesture) } /*! - Clears the accept flag parameter of the \a gesture object, the equivalent - of calling \l{QGestureEvent::setAccepted}{setAccepted}(gesture, false). + Clears the accept flag parameter of the given \a gesture object, the equivalent + of calling \l{QGestureEvent::setAccepted()}{setAccepted(gesture, false)}. - Clearing the accept parameter indicates that the event receiver does not - want the gesture. Unwanted gestures might be propgated to the parent - widget. + Clearing the accept flag indicates that the event receiver does not + want the gesture. Unwanted gestures may be propgated to the parent widget. \sa QGestureEvent::accept() */ @@ -4305,7 +4309,7 @@ void QGestureEvent::ignore(QGesture *gesture) } /*! - Returns true if the \a gesture is accepted. + Returns true if the \a gesture is accepted; otherwise returns false. */ bool QGestureEvent::isAccepted(QGesture *gesture) const { diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index 2bcf98b..7b2cd6d 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -48,20 +48,20 @@ QT_BEGIN_NAMESPACE \class QGesture \since 4.6 - \brief The QGesture class represents a gesture, containing all - properties that describe a gesture. + \brief The QGesture class represents a gesture, containing properties that + describe the corresponding user input. - QGesture objects are delivered to widgets and - \l{QGraphicsObject}{QGraphicsObject}s with a QGestureEvent. + QGesture objects are delivered to widgets and \l{QGraphicsObject}s with + \l{QGestureEvent}s. The class has a list of properties that can be queried by the user to get - some gesture-specific arguments (i.e. an scale factor of the Pinch - gesture). + some gesture-specific arguments. For example, the QPinchGesture gesture has a scale + factor that is exposed as a property. - When creating custom gesture recognizers, they might add new dynamic - properties to the QGesture object, or custom gesture recognizer developers - might subclass the QGesture class (or any of classes that derive from it) - to provide additional information. + Developers of custom gesture recognizers can add additional properties in + order to provide additional information about a gesture. This can be done + by adding new dynamic properties to a QGesture object, or by subclassing + the QGesture class (or one of its subclasses). \sa QGestureEvent, QGestureRecognizer */ @@ -95,14 +95,12 @@ QGesture::~QGesture() /*! \property QGesture::state - - The current state of the gesture. + \brief the current state of the gesture */ /*! \property QGesture::gestureType - - The type of the gesture. + \brief the type of the gesture */ /*! @@ -110,21 +108,19 @@ QGesture::~QGesture() \brief The point that is used to find the receiver for the gesture event. - If the hotSpot is not set, targetObject is used as the receiver of the + If the hot-spot is not set, the targetObject is used as the receiver of the gesture event. */ /*! \property QGesture::hasHotSpot - - Whether the hotSpot property is set. + \brief whether the gesture has a hot-spot */ /*! \property QGesture::targetObject - - The target object which will receive the gesture event if the hotSpot is - not set. + \brief the target object which will receive the gesture event if the hotSpot is + not set */ Qt::GestureType QGesture::gestureType() const diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp index e0515c2..2af087f 100644 --- a/src/gui/kernel/qgesturerecognizer.cpp +++ b/src/gui/kernel/qgesturerecognizer.cpp @@ -48,9 +48,47 @@ QT_BEGIN_NAMESPACE /*! \class QGestureRecognizer \since 4.6 + \brief The QGestureRecognizer class provides the infrastructure for gesture recognition. - \brief The QGestureRecognizer is a base class for implementing custom - gestures. + Gesture recognizers are responsible for creating and managing QGesture objects and + monitoring input events sent to QWidget and QGraphicsObject subclasses. + QGestureRecognizer is the base class for implementing custom gestures. + + Developers that only need to provide gesture recognition for standard gestures do not + need to use this class directly. Instances will be created behind the scenes by the + framework. + + \section1 Recognizing Gestures + + The process of recognizing gestures involves filtering input events sent to specific + objects, and modifying the associated QGesture objects to include relevant information + about the user's input. + + Gestures are created when the framework calls createGesture() to handle user input + for a particular target QWidget or QGraphicsObject instance. Once a QGesture has been + created for one of these objects, the gesture recognizer will receive events for it + in its filterEvent() handler function. + + When a gesture is canceled, the reset() function is called, giving the recognizer the + chance to update the appropriate properties in the corresponding QGesture object. + + \section1 Supporting New Gestures + + To add support for new gestures, you need to derive from QGestureRecognizer to create + a custom recognizer class and register it with the application by calling + QApplication::registerGestureRecognizer(). You can also derive from QGesture to create + a custom gesture class, or rely on dynamic properties to express specific details + of the gesture you want to handle. + + Your custom QGestureRecognizer subclass needs to reimplement the filterEvent() function + to handle and filter the incoming input events for QWidget and QGraphicsObject subclasses. + Although the logic for gesture recognition is implemented in this function, the state of + recognition for each target object can be recorded in the QGesture object supplied. + + If you choose to represent a gesture by a custom QGesture subclass, you will need to + reimplement the createGesture() function to construct instances of your gesture class. + Similarly, you may need to reimplement the reset() function if your custom gesture + objects need to be specially handled when a gesture is canceled. \sa QGesture */ @@ -58,14 +96,14 @@ QT_BEGIN_NAMESPACE /*! \enum QGestureRecognizer::ResultFlags - This enum type describes the result of the current event filtering step in + This enum describes the result of the current event filtering step in a gesture recognizer state machine. The result consists of a state value (one of Ignore, NotGesture, MaybeGesture, GestureTriggered, GestureFinished) and an optional hint (ConsumeEventHint). - \value Ignore The event doesn't change the state of the recognizer. + \value Ignore The event does not change the state of the recognizer. \value NotGesture The event made it clear that it is not a gesture. If the gesture recognizer was in GestureTriggered state before, then the gesture @@ -75,7 +113,7 @@ QT_BEGIN_NAMESPACE \value MaybeGesture The event changed the internal state of the recognizer, but it isn't clear yet if it is a gesture or not. The recognizer needs to filter more events to decide. Gesture recognizers in the MaybeGesture state - may be reset automatically if it takes too long to recognizer a gesture. + may be reset automatically if they take too long to recognize gestures. \value GestureTriggered The gesture has been triggered and the appropriate QGesture object will be delivered to the target as a part of a @@ -85,7 +123,7 @@ QT_BEGIN_NAMESPACE appropriate QGesture object will be delivered to the target as a part of a QGestureEvent. - \value ConsumeEventHint The hint specifies if the gesture framework should + \value ConsumeEventHint This hint specifies that the gesture framework should consume the filtered event and not deliver it to the receiver. \omitvalue ResultState_Mask @@ -102,14 +140,14 @@ QGestureRecognizer::QGestureRecognizer() } /*! - Destroys the gesture recognizer object. + Destroys the gesture recognizer. */ QGestureRecognizer::~QGestureRecognizer() { } /*! - This function is called by Qt to creates a new QGesture object for the + This function is called by Qt to create a new QGesture object for the given \a target (QWidget or QGraphicsObject). Reimplement this function to create a custom QGesture-derived gesture @@ -122,10 +160,11 @@ QGesture *QGestureRecognizer::createGesture(QObject *target) } /*! - This function is called by Qt to reset a \a gesture. + This function is called by the framework to reset a given \a gesture. - Reimplement this function if a custom QGesture-derived gesture object is - used which requires resetting additional properties. + Reimplement this function to implement additional requirements for custom QGesture + objects. This may be necessary if you implement a custom QGesture whose properties + need special handling when the gesture is reset. */ void QGestureRecognizer::reset(QGesture *gesture) { @@ -140,11 +179,14 @@ void QGestureRecognizer::reset(QGesture *gesture) /*! \fn QGestureRecognizer::filterEvent(QGesture *gesture, QObject *watched, QEvent *event) - This function is called by Qt to filter an \a event for a \a watched object - (QWidget or QGraphicsObject). + Handles the given \a event for the \a watched object, updating the state of the \a gesture + object as required, and returns a suitable Result for the current recognition step. + + This function is called by the framework to allow the recognizer to filter input events + dispatched to QWidget or QGraphicsObject instances that it is monitoring. - Returns the result of the current recognition step. The state of the \a - gesture object is set depending on the result. + The result reflects how much of the gesture has been recognized. The state of the + \a gesture object is set depending on the result. \sa Qt::GestureState */ -- cgit v0.12 From 74adaf2b44d7a418a294541e4c6766525a0eea67 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 12 Oct 2009 20:43:50 +0200 Subject: Doc: Minor corrections and additions to i18n documentation. Reviewed-by: Trust Me --- doc/src/internationalization/i18n.qdoc | 3 +++ src/corelib/global/qglobal.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/src/internationalization/i18n.qdoc b/doc/src/internationalization/i18n.qdoc index 121c822..e873f4e 100644 --- a/doc/src/internationalization/i18n.qdoc +++ b/doc/src/internationalization/i18n.qdoc @@ -42,6 +42,9 @@ /*! \group i18n \title Qt Classes for Internationalization + + See \l{Internationalization with Qt} for information on how to use these classes + in your applications. */ /*! diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index 9fc3c8d..5a7b559 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -2673,7 +2673,7 @@ int qrand() \relates Marks the string literal \a sourceText for dynamic translation in - the given \a context, i.e the stored \a sourceText will not be + the given \a context; i.e, the stored \a sourceText will not be altered. The \a context is typically a class and also needs to be specified as string literal. -- cgit v0.12 From 7a1d1dca32c98a9bc3fb518beed70caf8334c7c4 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 12 Oct 2009 20:44:43 +0200 Subject: Doc: Added an example to the list of Graphics View examples to build. Reviewed-by: Trust Me --- examples/graphicsview/graphicsview.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/graphicsview/graphicsview.pro b/examples/graphicsview/graphicsview.pro index 0408111..a919c74 100644 --- a/examples/graphicsview/graphicsview.pro +++ b/examples/graphicsview/graphicsview.pro @@ -8,6 +8,7 @@ SUBDIRS = \ !symbian: SUBDIRS += \ diagramscene \ dragdroprobot \ + flowlayout \ anchorlayout contains(QT_CONFIG, qt3support):SUBDIRS += portedcanvas portedasteroids -- cgit v0.12 From d08d4e1ce4a5fcf5b92465ac2769f2f38b601e9f Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 13 Oct 2009 07:52:30 +1000 Subject: Fix save() and restore() for the OpenGL2 paint engine. Task-number: QTBUG-4822, QTBUG-4824 Reviewed-by: Sarah Smith Reviewed-by: Samuel --- .../gl2paintengineex/qpaintengineex_opengl2.cpp | 25 ++++++++++++---------- .../gl2paintengineex/qpaintengineex_opengl2_p.h | 3 +-- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index ab02c69..8130151 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1625,7 +1625,6 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev) const QSize sz = d->device->size(); d->width = sz.width(); d->height = sz.height(); - d->last_created_state = 0; d->mode = BrushDrawingMode; d->brushTextureDirty = true; d->brushUniformsDirty = true; @@ -2023,27 +2022,32 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) QPaintEngineEx::setState(s); - if (s == d->last_created_state) { - d->last_created_state = 0; + if (s->isNew) { + // Newly created state object. The call to setState() + // will either be followed by a call to begin(), or we are + // setting the state as part of a save(). + s->isNew = false; return; } - if (old_state == s || s->renderHintsChanged) + // Setting the state as part of a restore(). + + if (old_state == s || old_state->renderHintsChanged) renderHintsChanged(); - if (old_state == s || s->matrixChanged) { + if (old_state == s || old_state->matrixChanged) { d->matrixDirty = true; d->simpleShaderMatrixUniformDirty = true; d->shaderMatrixUniformDirty = true; } - if (old_state == s || s->compositionModeChanged) + if (old_state == s || old_state->compositionModeChanged) d->compositionModeDirty = true; - if (old_state == s || s->opacityChanged) + if (old_state == s || old_state->opacityChanged) d->opacityUniformDirty = true; - if (old_state == s || s->clipChanged) { + if (old_state == s || old_state->clipChanged) { if (old_state && old_state != s && old_state->canRestoreClip) { d->updateClipScissorTest(); glDepthFunc(GL_LEQUAL); @@ -2055,8 +2059,6 @@ void QGL2PaintEngineEx::setState(QPainterState *new_state) QPainterState *QGL2PaintEngineEx::createState(QPainterState *orig) const { - Q_D(const QGL2PaintEngineEx); - if (orig) const_cast(this)->ensureActive(); @@ -2072,7 +2074,6 @@ QPainterState *QGL2PaintEngineEx::createState(QPainterState *orig) const s->renderHintsChanged = false; s->clipChanged = false; - d->last_created_state = s; return s; } @@ -2085,6 +2086,7 @@ void QGL2PaintEngineEx::setRenderTextActive(bool active) QOpenGL2PaintEngineState::QOpenGL2PaintEngineState(QOpenGL2PaintEngineState &other) : QPainterState(other) { + isNew = true; needsClipBufferClear = other.needsClipBufferClear; clipTestEnabled = other.clipTestEnabled; currentClip = other.currentClip; @@ -2094,6 +2096,7 @@ QOpenGL2PaintEngineState::QOpenGL2PaintEngineState(QOpenGL2PaintEngineState &oth QOpenGL2PaintEngineState::QOpenGL2PaintEngineState() { + isNew = true; needsClipBufferClear = true; clipTestEnabled = false; canRestoreClip = true; diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h index 46be398..5704a04 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h @@ -82,6 +82,7 @@ public: QOpenGL2PaintEngineState(); ~QOpenGL2PaintEngineState(); + uint isNew : 1; uint needsClipBufferClear : 1; uint clipTestEnabled : 1; uint canRestoreClip : 1; @@ -212,8 +213,6 @@ public: EngineMode mode; QFontEngineGlyphCache::Type glyphCacheType; - mutable QOpenGL2PaintEngineState *last_created_state; - // Dirty flags bool matrixDirty; // Implies matrix uniforms are also dirty bool compositionModeDirty; -- cgit v0.12 From 9d2e3fff793be0bf3e9d39a460a43793403c4149 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 13 Oct 2009 08:10:00 +1000 Subject: Remove the hybrid screen driver. The hybrid screen driver purports to implement OpenGL, but it uses an obsolete method of integration that confuses people who find it in the source tree. The current reference implementation is "powervr". Reviewed-by: trustme --- src/plugins/gfxdrivers/gfxdrivers.pro | 1 - src/plugins/gfxdrivers/hybrid/hybrid.pro | 16 - src/plugins/gfxdrivers/hybrid/hybridplugin.cpp | 75 ----- src/plugins/gfxdrivers/hybrid/hybridscreen.cpp | 382 ------------------------ src/plugins/gfxdrivers/hybrid/hybridscreen.h | 97 ------ src/plugins/gfxdrivers/hybrid/hybridsurface.cpp | 300 ------------------- src/plugins/gfxdrivers/hybrid/hybridsurface.h | 90 ------ 7 files changed, 961 deletions(-) delete mode 100644 src/plugins/gfxdrivers/hybrid/hybrid.pro delete mode 100644 src/plugins/gfxdrivers/hybrid/hybridplugin.cpp delete mode 100644 src/plugins/gfxdrivers/hybrid/hybridscreen.cpp delete mode 100644 src/plugins/gfxdrivers/hybrid/hybridscreen.h delete mode 100644 src/plugins/gfxdrivers/hybrid/hybridsurface.cpp delete mode 100644 src/plugins/gfxdrivers/hybrid/hybridsurface.h diff --git a/src/plugins/gfxdrivers/gfxdrivers.pro b/src/plugins/gfxdrivers/gfxdrivers.pro index 21aaf0f..d1ee3f2 100644 --- a/src/plugins/gfxdrivers/gfxdrivers.pro +++ b/src/plugins/gfxdrivers/gfxdrivers.pro @@ -5,6 +5,5 @@ contains(gfx-plugins, linuxfb) :SUBDIRS += linuxfb contains(gfx-plugins, qvfb) :SUBDIRS += qvfb contains(gfx-plugins, vnc) :SUBDIRS += vnc contains(gfx-plugins, transformed) :SUBDIRS += transformed -contains(gfx-plugins, hybrid) :SUBDIRS += hybrid contains(gfx-plugins, svgalib) :SUBDIRS += svgalib contains(gfx-plugins, powervr) :SUBDIRS += powervr diff --git a/src/plugins/gfxdrivers/hybrid/hybrid.pro b/src/plugins/gfxdrivers/hybrid/hybrid.pro deleted file mode 100644 index 8b8e9ef..0000000 --- a/src/plugins/gfxdrivers/hybrid/hybrid.pro +++ /dev/null @@ -1,16 +0,0 @@ -TEMPLATE = lib -CONFIG += plugin -QT += opengl - -QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/gfxdrivers - -TARGET = hybridscreen -target.path = $$[QT_INSTALL_PLUGINS]/gfxdrivers -INSTALLS += target - -HEADERS = hybridscreen.h \ - hybridsurface.h -SOURCES = hybridscreen.cpp \ - hybridsurface.cpp \ - hybridplugin.cpp - diff --git a/src/plugins/gfxdrivers/hybrid/hybridplugin.cpp b/src/plugins/gfxdrivers/hybrid/hybridplugin.cpp deleted file mode 100644 index 17be760..0000000 --- a/src/plugins/gfxdrivers/hybrid/hybridplugin.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "hybridscreen.h" - -#include -#include - -class HybridPlugin : public QScreenDriverPlugin -{ -public: - HybridPlugin(); - - QStringList keys() const; - QScreen *create(const QString&, int displayId); -}; - -HybridPlugin::HybridPlugin() - : QScreenDriverPlugin() -{ -} - -QStringList HybridPlugin::keys() const -{ - return (QStringList() << "hybrid"); -} - -QScreen* HybridPlugin::create(const QString &driver, int displayId) -{ - if (driver.toLower() != "hybrid") - return 0; - - return new HybridScreen(displayId); -} - -Q_EXPORT_STATIC_PLUGIN(Hybrid) -Q_EXPORT_PLUGIN2(hybridscreendriver, HybridPlugin) diff --git a/src/plugins/gfxdrivers/hybrid/hybridscreen.cpp b/src/plugins/gfxdrivers/hybrid/hybridscreen.cpp deleted file mode 100644 index 4062551..0000000 --- a/src/plugins/gfxdrivers/hybrid/hybridscreen.cpp +++ /dev/null @@ -1,382 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "hybridscreen.h" -#include "hybridsurface.h" - -#include -#include -#include -#include -#include - -#include - -class HybridScreenPrivate -{ -public: - HybridScreenPrivate(HybridScreen *owner); - - bool verbose; - EGLDisplay display; - EGLint majorEGLVersion; - EGLint minorEGLVersion; - - QScreen *screen; - -private: - HybridScreen *q_ptr; -}; - -HybridScreenPrivate::HybridScreenPrivate(HybridScreen *owner) - : display(EGL_NO_DISPLAY), majorEGLVersion(0), minorEGLVersion(0), - screen(0), q_ptr(owner) -{ -} - -HybridScreen::HybridScreen(int displayId) - : QGLScreen(displayId) -{ - d_ptr = new HybridScreenPrivate(this); -} - -HybridScreen::~HybridScreen() -{ - delete d_ptr; -} - -static void error(const char *message) -{ - const EGLint error = eglGetError(); - qWarning("HybridScreen error: %s: 0x%x", message, error); -} - -static int getDisplayId(const QString &spec) -{ - QRegExp regexp(QLatin1String(":(\\d+)\\b")); - if (regexp.lastIndexIn(spec) != -1) { - const QString capture = regexp.cap(1); - return capture.toInt(); - } - return 0; -} - -bool HybridScreen::connect(const QString &displaySpec) -{ - QString dspec = displaySpec; - if (dspec.startsWith(QLatin1String("hybrid:"), Qt::CaseInsensitive)) - dspec = dspec.mid(QString::fromLatin1("hybrid:").size()); - else if (dspec.compare(QLatin1String("hybrid"), Qt::CaseInsensitive) == 0) - dspec = QString(); - - const QString displayIdSpec = QString::fromLatin1(" :%1").arg(displayId); - if (dspec.endsWith(displayIdSpec)) - dspec = dspec.left(dspec.size() - displayIdSpec.size()); - - const QStringList args = dspec.split(QLatin1Char(':'), - QString::SkipEmptyParts); - const int id = getDisplayId(dspec); - d_ptr->screen = qt_get_screen(id, dspec.toLatin1().constData()); - - const QScreen *screen = d_ptr->screen; - d = screen->depth(); - w = screen->width(); - h = screen->height(); - dw = screen->deviceWidth(); - dh = screen->deviceHeight(); - lstep = screen->linestep(); - data = screen->base(); - physWidth = screen->physicalWidth(); - physHeight = screen->physicalHeight(); - setPixelFormat(screen->pixelFormat()); - setOffset(screen->offset()); - - d_ptr->verbose = args.contains(QLatin1String("verbose")); - - d_ptr->display = eglGetDisplay(EGL_DEFAULT_DISPLAY); - if (d_ptr->display == EGL_NO_DISPLAY) { - error("getting display"); - return false; - } - - EGLBoolean status; - status = eglInitialize(d_ptr->display, - &d_ptr->majorEGLVersion, &d_ptr->minorEGLVersion); - if (!status) { - error("eglInitialize"); - return false; - } - if (d_ptr->verbose) { - qDebug("Detected EGL version %d.%d", - d_ptr->majorEGLVersion, d_ptr->minorEGLVersion); - - EGLint numConfigs = 0; - eglGetConfigs(d_ptr->display, 0, 0, &numConfigs); - qDebug("%d available configurations", numConfigs); - } - - // XXX: hw: use eglQueryString to find supported APIs - - qt_screen = this; // XXX - - return true; -} - -bool HybridScreen::initDevice() -{ - if (d_ptr->screen) - return d_ptr->screen->initDevice(); - return false; -} - -void HybridScreen::shutdownDevice() -{ - if (d_ptr->screen) - d_ptr->screen->shutdownDevice(); -} - -void HybridScreen::disconnect() -{ - if (!eglTerminate(d_ptr->display)) - error("disconnecting"); - if (d_ptr->screen) { - d_ptr->screen->disconnect(); - delete d_ptr->screen; - d_ptr->screen = 0; - } - -} - -bool HybridScreen::hasOpenGLOverlays() const -{ - return true; -} - -bool HybridScreen::chooseContext(QGLContext *context, - const QGLContext *shareContext) -{ -#if 0 - // hw: update the glFormat variable. Probably needs a setter in the - // QGLWindowSurface class which can be a friend of whatever it wants. - - GLint res; - eglGetConfigAttrib(d_ptr->display, d_ptr->config, EGL_LEVEL, &res); - d_ptr->glFormat.setPlane(res); - QT_EGL_ERR("eglGetConfigAttrib"); - - /* - if(deviceIsPixmap()) - res = 0; - else - eglDescribePixelFormat(fmt, EGL_DOUBLEBUFFER, &res); - d_ptr->glFormat.setDoubleBuffer(res); - */ - - eglGetConfigAttrib(d_ptr->display, d_ptr->config, EGL_DEPTH_SIZE, &res); - d_ptr->glFormat.setDepth(res); - if (d_ptr->glFormat.depth()) - d_ptr->glFormat.setDepthBufferSize(res); - - //eglGetConfigAttrib(d_ptr->display,d_ptr->config, EGL_RGBA, &res); - //d_ptr->glFormat.setRgba(res); - - eglGetConfigAttrib(d_ptr->display, d_ptr->config, EGL_ALPHA_SIZE, &res); - d_ptr->glFormat.setAlpha(res); - if (d_ptr->glFormat.alpha()) - d_ptr->glFormat.setAlphaBufferSize(res); - - //eglGetConfigAttrib(d_ptr->display,d_ptr->config, EGL_ACCUM_RED_SIZE, &res); - //d_ptr->glFormat.setAccum(res); - //if (d_ptr->glFormat.accum()) - // d_ptr->glFormat.setAccumBufferSize(res); - - eglGetConfigAttrib(d_ptr->display, d_ptr->config, EGL_STENCIL_SIZE, &res); - d_ptr->glFormat.setStencil(res); - if (d_ptr->glFormat.stencil()) - d_ptr->glFormat.setStencilBufferSize(res); - - //eglGetConfigAttrib(d_ptr->display, d_ptr->config, EGL_STEREO, &res); - //d_ptr->glFormat.setStereo(res); - - eglGetConfigAttrib(d_ptr->display, d_ptr->config, EGL_SAMPLE_BUFFERS, &res); - d_ptr->glFormat.setSampleBuffers(res); - - if (d_ptr->glFormat.sampleBuffers()) { - eglGetConfigAttrib(d_ptr->display, d_ptr->config, EGL_SAMPLES, &res); - d_ptr->glFormat.setSamples(res); - } -#endif - - // hw: TODO: implement sharing of contexts - -#if 0 - if(shareContext && - (!shareContext->isValid() || !shareContext->d_func()->cx)) { - qWarning("QGLContext::chooseContext(): Cannot share with invalid context"); - shareContext = 0; - } -#endif - -#if 0 - d_ptr->cx = ctx; - if (shareContext && shareContext->d_func()->cx) { - QGLContext *share = const_cast(shareContext); - d_ptr->sharing = true; - share->d_func()->sharing = true; - } -#endif - -#if 0 - // vblank syncing - GLint interval = d_ptr->reqFormat.swapInterval(); - if (interval != -1) { - if (interval != 0) - eglSwapInterval(d_ptr->display, interval); - } -#endif - - return QGLScreen::chooseContext(context, shareContext); -} - -void HybridScreen::setDirty(const QRect& rect) -{ - d_ptr->screen->setDirty(rect); -} - -void HybridScreen::setMode(int w, int h, int d) -{ - d_ptr->screen->setMode(w, h, d); - setDirty(region().boundingRect()); -} - -bool HybridScreen::supportsDepth(int depth) const -{ - return d_ptr->screen->supportsDepth(depth); -} - -void HybridScreen::save() -{ - d_ptr->screen->save(); -} - -void HybridScreen::restore() -{ - d_ptr->screen->restore(); -} - -void HybridScreen::blank(bool on) -{ - d_ptr->screen->blank(on); -} - -bool HybridScreen::onCard(const unsigned char *ptr) const -{ - return d_ptr->screen->onCard(ptr); -} - -bool HybridScreen::onCard(const unsigned char *ptr, ulong &offset) const -{ - return d_ptr->screen->onCard(ptr, offset); -} - -bool HybridScreen::isInterlaced() const -{ - return d_ptr->screen->isInterlaced(); -} - -int HybridScreen::memoryNeeded(const QString &str) -{ - return d_ptr->screen->memoryNeeded(str); -} - -int HybridScreen::sharedRamSize(void *ptr) -{ - return d_ptr->screen->sharedRamSize(ptr); -} - -void HybridScreen::haltUpdates() -{ - d_ptr->screen->haltUpdates(); -} - -void HybridScreen::resumeUpdates() -{ - d_ptr->screen->resumeUpdates(); -} - -void HybridScreen::exposeRegion(QRegion r, int changing) -{ - d_ptr->screen->exposeRegion(r, changing); -} - -void HybridScreen::blit(const QImage &img, const QPoint &topLeft, const QRegion ®ion) -{ - d_ptr->screen->blit(img, topLeft, region); -} - -void HybridScreen::solidFill(const QColor &color, const QRegion ®ion) -{ - d_ptr->screen->solidFill(color, region); -} - -QWSWindowSurface* HybridScreen::createSurface(QWidget *widget) const -{ - if (qobject_cast(widget)) - return new HybridSurface(widget, d_ptr->display); - return d_ptr->screen->createSurface(widget); -} - -QWSWindowSurface* HybridScreen::createSurface(const QString &key) const -{ - if (key == QLatin1String("hybrid")) - return new HybridSurface; - return d_ptr->screen->createSurface(key); -} - -QList HybridScreen::subScreens() const -{ - return d_ptr->screen->subScreens(); -} - -QRegion HybridScreen::region() const -{ - return d_ptr->screen->region(); -} diff --git a/src/plugins/gfxdrivers/hybrid/hybridscreen.h b/src/plugins/gfxdrivers/hybrid/hybridscreen.h deleted file mode 100644 index b7888d5..0000000 --- a/src/plugins/gfxdrivers/hybrid/hybridscreen.h +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef HYBRIDSCREEN_H -#define HYBRIDSCREEN_H - -#include - -class HybridScreenPrivate; - -class HybridScreen : public QGLScreen -{ -public: - HybridScreen(int displayId); - ~HybridScreen(); - - bool hasOpenGLOverlays() const; - - bool chooseContext(QGLContext *context, const QGLContext *shareContext); - bool hasOpenGL() { return true; } - - bool initDevice(); - bool connect(const QString &displaySpec); - void disconnect(); - void shutdownDevice(); - void setMode(int,int,int); - bool supportsDepth(int) const; - - void save(); - void restore(); - void blank(bool on); - - bool onCard(const unsigned char *) const; - bool onCard(const unsigned char *, ulong& out_offset) const; - - bool isInterlaced() const; - - int memoryNeeded(const QString&); - int sharedRamSize(void *); - - void haltUpdates(); - void resumeUpdates(); - - void exposeRegion(QRegion r, int changing); - - void blit(const QImage &img, const QPoint &topLeft, const QRegion ®ion); - void solidFill(const QColor &color, const QRegion ®ion); - void setDirty(const QRect&); - - QWSWindowSurface* createSurface(QWidget *widget) const; - QWSWindowSurface* createSurface(const QString &key) const; - - QList subScreens() const; - QRegion region() const; -private: - HybridScreenPrivate *d_ptr; -}; - -#endif // HYBRIDSCREEN_H diff --git a/src/plugins/gfxdrivers/hybrid/hybridsurface.cpp b/src/plugins/gfxdrivers/hybrid/hybridsurface.cpp deleted file mode 100644 index df183e2..0000000 --- a/src/plugins/gfxdrivers/hybrid/hybridsurface.cpp +++ /dev/null @@ -1,300 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "hybridsurface.h" - -#include -#include -#include -#include - -static void error(const char *message) -{ - const EGLint error = eglGetError(); - qWarning("HybridSurface error: %s: 0x%x", message, error); -} - -static void imgToVanilla(const QImage *img, VanillaPixmap *pix) -{ - pix->width = img->width(); - pix->height = img->height(); - pix->stride = img->bytesPerLine(); - - if (img->depth() == 32) { - pix->rSize = pix->gSize = pix->bSize = pix->aSize = 8; - pix->lSize = 0; - pix->rOffset = 16; - pix->gOffset = 8; - pix->bOffset = 0; - pix->aOffset = 24; - } else if (img->format() == QImage::Format_RGB16) { - pix->rSize = 5; - pix->gSize = 6; - pix->bSize = 5; - pix->aSize = 0; - pix->lSize = 0; - pix->rOffset = 11; - pix->gOffset = 5; - pix->bOffset = 0; - pix->aOffset = 0; - } - - pix->padding = pix->padding2 = 0; - pix->pixels = const_cast(img->bits()); -} - -HybridSurface::HybridSurface() - : QWSGLWindowSurface(), memlock(0) -{ - setSurfaceFlags(Buffered | Opaque); -} - -HybridSurface::HybridSurface(QWidget *w, EGLDisplay disp) - : QWSGLWindowSurface(w), memlock(0), display(disp), config(0), - surface(EGL_NO_SURFACE), context(EGL_NO_CONTEXT), - pdevice(new QWSGLPaintDevice(w)) -{ - setSurfaceFlags(Buffered | Opaque); - - EGLint configAttribs[] = { - EGL_RED_SIZE, 0, - EGL_GREEN_SIZE, 0, - EGL_BLUE_SIZE, 0, - EGL_ALPHA_SIZE, 0, - EGL_DEPTH_SIZE, 0, - EGL_STENCIL_SIZE, EGL_DONT_CARE, - EGL_SURFACE_TYPE, EGL_WINDOW_BIT, - EGL_NONE, EGL_NONE - }; - - - EGLBoolean status; - EGLint numConfigs; - status = eglChooseConfig(display, configAttribs, 0, 0, &numConfigs); - if (!status) { - error("chooseConfig"); - return; - } - - //If there isn't any configuration good enough - if (numConfigs < 1) { - error("chooseConfig, no matching configurations found"); - return; - } - - QVarLengthArray configs(numConfigs); - - status = eglChooseConfig(display, configAttribs, configs.data(), - numConfigs, &numConfigs); - if (!status) { - error("chooseConfig"); - return; - } - - // hw: if used on an image buffer we need to check whether the resulting - // configuration matches our requirements exactly! - config = configs[0]; - - context = eglCreateContext(display, config, 0, 0); - //(shareContext ? shareContext->d_func()->cx : 0), - //configAttribs); - if (context == EGL_NO_CONTEXT) - error("eglCreateContext"); - -} - -HybridSurface::~HybridSurface() -{ -} - -bool HybridSurface::isValid() const -{ - return true; -} - -void HybridSurface::setGeometry(const QRect &rect, const QRegion &mask) -{ - const QSize size = rect.size(); - if (img.size() != size) { -// QWidget *win = window(); - QImage::Format imageFormat = QImage::Format_ARGB32_Premultiplied; - const int bytesPerPixel = 4; - - const int bpl = (size.width() * bytesPerPixel + 3) & ~3; - const int imagesize = bpl * size.height(); - - if (imagesize == 0) { - eglDestroySurface(display, surface); - mem.detach(); - img = QImage(); - } else { - mem.detach(); - if (!mem.create(imagesize)) { - perror("HybridSurface::setGeometry allocating shared memory"); - qFatal("Error creating shared memory of size %d", imagesize); - } - uchar *base = static_cast(mem.address()); - img = QImage(base, size.width(), size.height(), imageFormat); -// setImageMetrics(img, win); - - imgToVanilla(&img, &vanillaPix); - surface = eglCreatePixmapSurface(display, config, &vanillaPix, 0); - if (surface == EGL_NO_SURFACE) - error("setGeometry:eglCreatePixmapSurface"); - - } - } - QWSWindowSurface::setGeometry(rect, mask); -} - -QByteArray HybridSurface::permanentState() const -{ - QByteArray array; - array.resize(4 * sizeof(int) + sizeof(QImage::Format) + - sizeof(SurfaceFlags)); - - char *ptr = array.data(); - - reinterpret_cast(ptr)[0] = mem.id(); - reinterpret_cast(ptr)[1] = img.width(); - reinterpret_cast(ptr)[2] = img.height(); - reinterpret_cast(ptr)[3] = (memlock ? memlock->id() : -1); - ptr += 4 * sizeof(int); - - *reinterpret_cast(ptr) = img.format(); - ptr += sizeof(QImage::Format); - - *reinterpret_cast(ptr) = surfaceFlags(); - - return array; -} - -void HybridSurface::setPermanentState(const QByteArray &data) -{ - int memId; - int width; - int height; - int lockId; - QImage::Format format; - SurfaceFlags flags; - - const char *ptr = data.constData(); - - memId = reinterpret_cast(ptr)[0]; - width = reinterpret_cast(ptr)[1]; - height = reinterpret_cast(ptr)[2]; - lockId = reinterpret_cast(ptr)[3]; - ptr += 4 * sizeof(int); - - format = *reinterpret_cast(ptr); - ptr += sizeof(QImage::Format); - flags = *reinterpret_cast(ptr); - - setSurfaceFlags(flags); - -// setMemory(memId); - if (mem.id() != memId) { - mem.detach(); - if (!mem.attach(memId)) { - perror("QWSSharedMemSurface: attaching to shared memory"); - qCritical("QWSSharedMemSurface: Error attaching to" - " shared memory 0x%x", memId); - } - } - -// setLock(lockId); - if (!memlock || memlock->id() == lockId) { - delete memlock; - memlock = (lockId == -1 ? 0 : new QWSLock(lockId)); - } - - uchar *base = static_cast(mem.address()); - img = QImage(base, width, height, format); -} - -QImage HybridSurface::image() const -{ - return img; -} - -QPaintDevice* HybridSurface::paintDevice() -{ - return pdevice; -} - -void HybridSurface::beginPaint(const QRegion ®ion) -{ - QWSGLWindowSurface::beginPaint(region); - eglBindAPI(EGL_OPENGL_ES_API); - - EGLBoolean ok = eglMakeCurrent(display, surface, surface, context); - if (!ok) - error("qglMakeCurrent"); -} - -bool HybridSurface::lock(int timeout) -{ - Q_UNUSED(timeout); - if (!memlock) - return true; - return memlock->lock(QWSLock::BackingStore); -} - -void HybridSurface::unlock() -{ - if (memlock) - memlock->unlock(QWSLock::BackingStore); -} - -QPoint HybridSurface::painterOffset() const -{ - const QWidget *w = window(); - if (!w) - return QPoint(); - - if (w->mask().isEmpty()) - return QWSWindowSurface::painterOffset(); - - const QRegion region = w->mask() - & w->frameGeometry().translated(-w->geometry().topLeft()); - return -region.boundingRect().topLeft(); -} - diff --git a/src/plugins/gfxdrivers/hybrid/hybridsurface.h b/src/plugins/gfxdrivers/hybrid/hybridsurface.h deleted file mode 100644 index 1fba95b..0000000 --- a/src/plugins/gfxdrivers/hybrid/hybridsurface.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef HYBRIDSURFACE_H -#define HYBRIDSURFACE_H - -#include -#include -#include -#include -#include - -class HybridPaintDevice; -class HybridSurfacePrivate; -class QWSLock; - -class HybridSurface : public QWSGLWindowSurface -{ -public: - HybridSurface(); - HybridSurface(QWidget *w, EGLDisplay display); - ~HybridSurface(); - - void beginPaint(const QRegion ®ion); - bool lock(int timeout); - void unlock(); - - bool isValid() const; - void setGeometry(const QRect &rect, const QRegion &mask); - QString key() const { return QLatin1String("hybrid"); } - - QByteArray permanentState() const; - void setPermanentState(const QByteArray &state); - - QImage image() const; - QPaintDevice *paintDevice(); - QPoint painterOffset() const; - -private: - QWSSharedMemory mem; - QImage img; - QWSLock *memlock; - EGLDisplay display; - EGLConfig config; - EGLSurface surface; - EGLContext context; - QWSGLPaintDevice *pdevice; - - VanillaPixmap vanillaPix; -}; - -#endif // HYBRIDSURFACE_H -- cgit v0.12 From 4b5d504d9fd4f983044bbe0da58c5c35240f8cf5 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 13 Oct 2009 08:50:46 +1000 Subject: Remove the ahigl example screen driver. This example is very old, doesn't work, and confuses anyone who reads about it into thinking that OpenGL compositing is possible with Qt/Embedded, which is not accurate. Reviewed-by: trustme --- doc/src/examples/ahigl.qdoc | 572 ------------- doc/src/getting-started/examples.qdoc | 1 - doc/src/snippets/code/doc_src_examples_ahigl.qdoc | 49 -- examples/qws/ahigl/ahigl.pro | 16 - examples/qws/ahigl/qscreenahigl_qws.cpp | 963 ---------------------- examples/qws/ahigl/qscreenahigl_qws.h | 91 -- examples/qws/ahigl/qscreenahiglplugin.cpp | 97 --- examples/qws/ahigl/qwindowsurface_ahigl.cpp | 349 -------- examples/qws/ahigl/qwindowsurface_ahigl_p.h | 92 --- 9 files changed, 2230 deletions(-) delete mode 100644 doc/src/examples/ahigl.qdoc delete mode 100644 doc/src/snippets/code/doc_src_examples_ahigl.qdoc delete mode 100644 examples/qws/ahigl/ahigl.pro delete mode 100644 examples/qws/ahigl/qscreenahigl_qws.cpp delete mode 100644 examples/qws/ahigl/qscreenahigl_qws.h delete mode 100644 examples/qws/ahigl/qscreenahiglplugin.cpp delete mode 100644 examples/qws/ahigl/qwindowsurface_ahigl.cpp delete mode 100644 examples/qws/ahigl/qwindowsurface_ahigl_p.h diff --git a/doc/src/examples/ahigl.qdoc b/doc/src/examples/ahigl.qdoc deleted file mode 100644 index c5e2387..0000000 --- a/doc/src/examples/ahigl.qdoc +++ /dev/null @@ -1,572 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \example qws/ahigl - \title OpenGL for Embedded Systems Example - - \section1 Introduction - - This example demonstrates how you can use OpenGL for Embedded - Systems (ES) in your own screen driver and \l{add your graphics - driver to Qt for Embedded Linux}. In \l{Qt for Embedded Linux}, - painting is done in software, normally performed in two steps: - First, each client renders its windows onto its window surface in - memory using a paint engine. Then the server uses the screen - driver to compose the window surface images and copy the - composition to the screen. (See the \l{Qt for Embedded Linux - Architecture} documentation for details.) - - This example is not for the novice. It assumes the reader is - familiar with both OpenGL and the screen driver framework - demonstrated in the \l {Accelerated Graphics Driver Example}. - - An OpenGL screen driver for Qt for Embedded Linux can use OpenGL ES - in three ways. First, the \l{QWSServer}{Qt for Embedded Linux server} - can use the driver to compose multiple window images and then show the - composition on the screen. Second, clients can use the driver to - accelerate OpenGL painting operations using the QOpenGLPaintEngine - class. Finally, clients can use the driver to do OpenGL operations - with instances of the QGLWidget class. This example implements all - three cases. - - The example uses an implementation of OpenGL ES from - \l {http://ati.amd.com}{ATI} for the - \l {http://ati.amd.com/products/imageon238x/}{Imageon 2380}. The - OpenGL include files gl.h and egl.h must be installed to compile - the example, and the OpenGL and EGL libraries must be installed - for linking. If your target device is different, you must install - the include files and libraries for that device, and you also - might need to modify the example source code, if any API signatures - in your EGL library differ from the ones used here. - - After compiling and linking the example source, install the - screen driver plugin with the command \c {make install}. To - start an application that uses the plugin, you can either set the - environment variable \l QWS_DISPLAY and then start the - application, or just start the application with the \c -display - switch, as follows: - - \snippet doc/src/snippets/code/doc_src_examples_ahigl.qdoc 0 - - The example driver also implements an animated transition effect - for use when showing new windows or reshowing windows that have - been minimized. To enable this transition effect, run the - application with \c {-display ahigl:effects}. - - \section1 The Class Definitions - - The example comprises three main classes plus some helper classes. - The three main classes are the plugin (QAhiGLScreenPlugin), which - is defined in qscreenahiglplugin.cpp, the screen driver - (QAhiGLScreen), which is defined in qscreenahigl_qws.h, and the - window surface (QAhiGLWindowSurface), which is defined in - qwindowsurface_ahigl_p.h. The "Ahi" prefix in these class names - stands for \e {ATI Handheld Interface}. The example was written - for the ATI Imageon 2380, but it can also be used as a template - for other ATI handheld devices. - - \section2 The Plugin Class Definition - - The screen driver plugin is class QAhiGLScreenPlugin. - - \snippet examples/qws/ahigl/qscreenahiglplugin.cpp 0 - - QAhiGLScreenPlugin is derived from class QScreenDriverPlugin, - which in turn is derived from QObject. - - \section2 The Screen Driver Class Definitions - - The screen driver classes are the public class QAhiGLScreen and - its private implementation class QAhiGLScreenPrivate. QAhiGLScreen - is derived from QGLScreen, which is derived from QScreen. If your - screen driver will only do window compositions and display them, - then you can derive your screen driver class directly from - QScreen. But if your screen driver will do accelerated graphics - rendering operations with the QOpenGLPaintEngine, or if it will - handle instances of class QGLWidget, then you must derive your - screen driver class from QGLScreen. - - \snippet examples/qws/ahigl/qscreenahigl_qws.h 0 - - All functions in the public API of class QAhiGLScreen are virtual - functions declared in its base classes. hasOpenGL() is declared in - QGLScreen. It simply returns true indicating our example screen - driver does support OpenGL operations. The other functions in the - public API are declared in QScreen. They are called by the - \l{QWSServer}{Qt for Embedded Linux server} at the appropriate times. - - Note that class QScreen is a documented class but class QGLScreen - is not. This is because the design of class QGLScreen is not yet - final. - - The only data member in class QAhiGLScreen is a standard d_ptr, - which points to an instance of the driver's private implementation - class QAhiGLScreenPrivate. The driver's internal state is stored - in the private class. Using the so-called d-pointer pattern allows - you to make changes to the driver's internal design without - breaking binary compatibility. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 0 - - Class QAhiGLScreenPrivate is derived from QObject so that it can - use the Qt signal/slot mechanism. QAhiGLScreen is not a QObject, - so it can't use the signal/slot mechanism. Signals meant for our - screen driver are received by slots in the private implementation - class, in this case, windowEvent() and redrawScreen(). - - \section2 The Window Surface Class Definitions - - The window surface classes are QAhiGLWindowSurface and its private - implementation class QAhiGLWindowSurfacePrivate. We create class - QAhiGLWindowSurface so the screen driver can use the OpenGL paint - engine and the OpenGL widget, classes QOpenGLPaintEngine and - QGLWidget. QAhiGLWindowSurface is derived from the more general - OpenGL window surface class, QWSGLWindowSurface, which is derived - from QWSWindowSurface. - - \snippet examples/qws/ahigl/qwindowsurface_ahigl_p.h 0 - - In addition to implementing the standard functionality required by - any new subclass of QWSWindowSurface, QAhiGLWindowSurface also - contains the textureId() function used by QAhiGLScreen. - - The same d-pointer pattern is used in this window surface class. - The private implementation class is QAhiGLWindowSurfacePrivate. It - allows making changes to the state variables of the window surface - without breaking binary compatibility. - - \snippet examples/qws/ahigl/qwindowsurface_ahigl.cpp 0 - - In this case, our private implementation class has no member - functions except for its constructor. It contains only public data - members which hold state information for the window surface. - - \section2 The Helper Classes - - The example screen driver maintains a static \l {QMap} {map} of - all the \l {QWSWindow} {windows} it is showing on the screen. - Each window is mapped to an instance of struct WindowInfo. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 2 - - As each new window is created, an instance of struct WindowInfo is - allocated and inserted into the window map. WindowInfo uses a - GLuint to identify the OpenGL texture it creates for the window. - Note that the example driver, in addition to drawing windows using - OpenGL, also supports drawing windows in the normal way without - OpenGL, but it uses an OpenGL texture for the rendering operations - in either case. Top-level windows that are drawn without OpenGL - are first rendered in the normal way into a shared memory segment, - which is then converted to a OpenGL texture and drawn to the - screen. - - To animate the window transition effect, WindowInfo uses an - instance of the helper class ShowAnimation. The animation is - created by the windowEvent() slot in QAhiGLScreenPrivate, whenever - a \l {QWSServer::WindowEvent} {Show} window event is emitted by - the \l {QWSServer} {window server}. The server emits this signal - when a window is shown the first time and again later, when the - window is reshown after having been minimized. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 1 - - Class ShowAnimation is derived from the QTimeLine class, which is - used for controlling animations. QTimeLine is a QObject, so - ShowAnimation can use the Qt signal/slot mechanism. We will see - how the timeline's \l {QTimeLine::valueChanged()} {valueChanged()} - and \l {QTimeLine::finished()} {finished()} signals are used to - control the animation and then destroy the instance of - ShowAnimation, when the animation ends. The ShowAnimation - constructor needs the pointer to the screen driver's private - implementation class so it can set up these signal/slot - connections. - - \section1 The Class Implementations - - \section2 The Plugin Class Implementation - - QAhiGLScreenPlugin is a straightforward derivation of - QScreenDriverPlugin. It reimplements \l{QScreenDriverPlugin::}{keys()} - and \l{QScreenDriverPlugin::}{create()}. They are - called as needed by the \l{QWSServer}{Qt for Embedded Linux server.} - Recall that the server detects that the ahigl screen driver has - been requested, either by including "ahigl" in the value for the - environment variable QWS_DISPLAY, or by running your application - with a command line like the following. - - \snippet doc/src/snippets/code/doc_src_examples_ahigl.qdoc 1 - - The server calls \l {QScreenDriverPlugin::} {keys()}, which - returns a \l {QStringList} containing the singleton "ahigl" - matching the requested screen driver and telling the server that - it can use our example screen driver. The server then calls \l - {QScreenDriverPlugin::} {create()}, which creates the instance of - QAhiGLScreen. - - \snippet examples/qws/ahigl/qscreenahiglplugin.cpp 1 - - In the code snippet above, the macro Q_EXPORT_PLUGIN2 is used to export - the plugin class, QAhiGLScreen, for the qahiglscreen plugin. - Further information regarding plugins and how to create them - can be found at \l{How to Create Qt Plugins}. - - \section2 The Screen Driver Class Implementations - - The plugin creates the singleton instance of QAhiGLScreen. The - constructor is passed a \c displayId, which is used in the base - class QGLScreen to identify the server that the screen driver is - connected to. The constructor also creates its instance of - QAhiGLScreenPrivate, which instantiates a QTimer. The timeout() - signal of this timer is connected to the redrawScreen() slot so - the timer can be used to limit the frequency of actual drawing - operations in the hardware. - - The public API of class QAhiGLScreen consists of implementations - of virtual functions declared in its base classes. The function - hasOpenGL() is declared in base class QGLScreen. The others are - declared in base class QScreen. - - The \l {QScreen::}{connect()} function is the first one called by - the server after the screen driver is constructed. It initializes - the QScreen data members to hardcoded values that describe the ATI - screen. A better implementation would query the hardware for the - corresponding values in its current state and use those. It asks - whether the screen driver was started with the \c effects option - and sets the \c doEffects flag accordingly. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 7 - - The \l {QScreen::}{initDevice()} function is called by the server - after \l {QScreen::}{connect()}. It uses EGL library functions to - initialize the ATI hardware. Note that some data structures used - in this example are specific to the EGL implementation used, e.g., - the DummyScreen structure. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 8 - - Note the signal/slot connection at the bottom of initDevice(). We - connect the server's QWSServer::windowEvent() signal to the - windowEvent() slot in the screen driver's private implementation - class. The windowEvent() slot handles three window events, - QWSServer::Create, QWSServer::Destroy, and QWSServer::Show. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 5 - - The function manages instances of the helper classes associated - with each window. When a QWSServer::Create event occurs, it means - a new top-level \l {QWSWindow} {window} has been created. In this - case, an instance of helper class WindowInfo is created and - inserted into the window map with the pointer to the new \l - {QWSWindow} {window} as its key. When a QWSServer::Destroy event - occurs, a window is being destroyed, and its mapping is removed - from the window map. These two events are straightforward. The - tricky bits happen when a QWSServer::Show event occurs. This case - occurs when a window is shown for the first time and when it is - reshown after having been minimized. If the window transition - effect has been enabled, a new instance of the helper class - ShowAnimation is created and stored in a QPointer in the window's - instance of WindowInfo. The constructor of ShowAnimation - automatically \l {QTimeLine::start()} {starts} the animation of - the transition effect. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 3 - - To ensure that a ShowAnimation is not deleted until its animation - ends, the \l {QTimeLine::finished()} {finished()} signal is - connected to the \l {QObject::deleteLater()} {deleteLater()} slot. - When the animation ends, the finished() signal is emitted and the - deleteLater() slot deletes the ShowAnimation. The key here is that - the pointer to the ShowAnimation is stored in a QPointer in the - WindowInfo class. This QPointer will also be notified when the - ShowAnimation is deleted, so the QPointer in WindowInfo can null - itself out, if and only if it is still pointing to the instance - of ShowAnimation being deleted. - - The \l {QTimeLine::valueForTime()} {valueForTime()} function in - QTimeLine is reimplemented in ShowAnimation to return time values - that represent a curved path for the window transition effect. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 4 - - valueForTime() is called internally, when the time interval it - computed during the previous call has elapsed. If it computes a - next time value that is different from the one computed - previously, the \l {QTimeLine::valueChanged()} {valueChanged()} - signal is emitted. The ShowAnimation constructor shown above - connects this signal to the redrawScreen() slot in the screen - driver's private implementation class. This is how the animation - actually happens. - - The screen driver's implementation of \l {QScreen::} - {exposeRegion()} is where the main work of the screen driver is - meant to be done, i.e., updating the screen. It is called by the - \l {QWSServer} {window system} to update a particular window's - region of the screen. But note that it doesn't actually update the - screen, i.e., it doesn't actually call redrawScreen() directly, - but starts the updateTimer, which causes redrawScreen() to be - called once for each updateTimer interval. This means that all - calls to exposeRegion() during an updateTimer interval are handled - by a single call to redrawScreen(). Thus updateTimer can be used - to limit the frequency of screen updates. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 13 - - The call to the private function invalidateTexture() destroys - the window's existing texture (image). This ensures that a new - texture will be created for the window, when redrawScreen() is - eventually called. - - But there is a caveat to using updateTimer to limit the frequency - of screen updates. When the driver's animated transition effect - for new windows is enabled and a new window is being shown for the - first time or reshown after having been minimized, an instance of - ShowAnimation is created to run the animation. The valueChanged() - signal of this ShowAnimation is also connected to the - redrawScreen() slot, and QTimeLine, the base class of our - ShowAnimation, uses its own, internal timer to limit the speed of - the animation. This means that in the driver as currently written, - if the window transition effect is enabled (i.e. if the plugin is - started, with \c {-display ahigl:effects}), then redrawScreen() - can be called both when the update timer times out and when the - ShowAnimation timer times out, so the screen might get updated - more often than the frequency established by the update timer. - This may or may not be a bug, depending on your own hardware, if - you use this example as a template for your own OpenGL driver. - - The screen driver's private function redrawScreen() constructs - the window compositions. It is called only by the function of the - same name in the screen driver's private implementation class. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 6 - - Recall that this redrawScreen() in the private implementation - class is a slot function connected to two signals, the \c - timeout() signal of the updateTimer in the private implementation - class, and the valueChanged() signal of the helper class - ShowAnimation. Thus, the screen is only ever updated when a - timeout of one of the two timers occurs. This is important for two - reasons. First, the screen is meant to be updated no more than - once per updateTimer interval. Second, however, if the animated - window transition effect is requested, the screen might be updated - more often than that, and this might be a bug if the hardware - can't handle more frequent updates. - - The redrawScreen() in QAhiGLScreen begins by using standard - OpenGL to fill the screen with the background color. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 10 - - Next it iterates over the list of all \l {QWSWindow} {client - windows} obtained from the \l {QWSServer} {server}, extracting - from each window its instance of QWSWIndowSurface, then using that - window surface to create an OpenGL texture, and finally calling - the helper function drawWindow() to draw the texture on the - screen. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 11 - - Note the call to glBindTexture() immediately before the call to - drawWindow(). This call binds the identifer \c GL_TEXTURE_2D to - the texture we have just created. This makes our texture - accessible to functions in the OpenGL libraries. If you miss that - point, digging into the internals of drawWindow() won't make much - sense. - - Finally, the cursor is added to the window composition, and in the - last statement, the whole thing is displayed on the screen. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 12 - - The call to \c drawWindow(win,progress), in addition to passing a - pointer to the window to be redrawn, also passes the \c progress - parameter obtained by calling \l {QTimeLine::currentValue()} on - the window's instance of ShowAnimation. Recall that the current - value of the timeline is updated internally by a timer local to - the timeline, and the redrawScreen() slot is called whenever the - current value changes. The progress value will only be used if - the animated transition effect has been enabled. These extra calls - of redrawScreen() may cause the screen to be updated more often - than the rate determined by updateTimer. This must be taken - into account, if you set your updateTimer to timeout at the - maximum screen update frequency your hardware can handle. - - The drawWindow() function is not shown here and not explained - further, but the call to drawWindow() is the entry point to a - hierarchy of private helper functions that execute sequences of - OpenGL and EGL library calls. The reader is assumed to be familiar - enough with the OpenGL and EGL APIs to understand the code in - these helper functions on his own. Besides drawWindow(), the list - of these helper functions includes drawQuad(), drawQuadWavyFlag(), - the two overloadings of drawQuad_helper() (used by drawQuad() and - drawQuadWacyFlag()), and setRectCoords(). - - Note the two different ways the window's texture can be created in - redrawScreen(). If the window surface is an OpenGL window surface - (QAhiGLWindowSurface described below), the texture is obtained - from the window surface directly by calling its textureId() - function. But when the window surface is not an OpenGL one, the - static function createTexture() is called with the window - surface's \l {QImage} {image} to copy that image into an OpenGL - texture. This is done with the EGL functions glTexImage2D() and - glTexSubImage2D(). createTexture() is another function that - should be understandable for exsperienced OpenGL users, so it is - not shown or explained further here. - - The two implementations of \l {QScreen::}{createSurface()} are for - instantiating new window surfaces. The overloading with the widget - parameter is called in the client. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 14 - - If the parameter is an \l {QGLWidget} {OpenGL widget}, or, when it - isn't an OpenGL widget but its size is no bigger than 256 x 256, - we instantiate our subclass QAhiGLWindowSurface. Otherwise, we - instantiate a QWSWindowSurface. The size contraint is a - limitation of the OpenGL ES libraries we are using for our ATI - device. - - Note the test at the top of the function asking if our application - process is the \l {QApplication::GuiServer} {server}. We only - create instances of QAhiGLWindowSurface if our client is in the - server process. This is because of an implementation restriction - required by the OpenGL library used in the example. They only - support use of OpenGL in the server process. Hence a client can - use the QAhiGLWindowSurface if the client is in the server - process. - - The other overloading of createSurface() is called by the - server to create a window surface that will hold a copy of a - client side window surface. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 15 - - This overloading accepts a QString parameter identifying the type - of window surface to instantiate. QAhiGLWindowSurface is - instantiated if the parameter is \c ahigl. Otherwise, a normal - QWSWindowSurface is instantiated. The client's window surface - communicates its image data to the server's window surface through - shared memory. - - The implementation of \l {QScreen::}{setMode()}, is a stub in this - example. It would normally reset the frame buffer's resolution. - Its parameters are the \e width, \e height, and the bit \e depth - for the frame buffer's new resolution. If you implement setMode() - in your screen driver, remember that it must emit a signal to warn - other applications to redraw their frame buffers with the new - resolution. There is no significance to setMode() not being - implemented in this example. It simply wasn't implemented. - However, the stub had to be included because QScreen declares - setMode() to be pure virtual. - - Before the application exits, the server will call \l {QScreen::} - {shutdownDevice()} to release the hardware resources. This is also - done using EGL library functions. - - \snippet examples/qws/ahigl/qscreenahigl_qws.cpp 9 - - The server will also call \l {QScreen::}{disconnect()}, but this - function is only a stub in this example. - - \section2 The window Surface Class Implementations - - QAhiGLScreen creates instances of QAhiGLWindowSurface in its two - createSurface() functions, and there are two constructors for - QAhiGLWindowSurface that correspond to these two versions of - createSurface(). The constructor accepting a \l {QWidget} {widget} - parameter is called by the client side version of createSurface(), - and the constructor without the \l {QWidget} {widget} parameter is - called by the server side version. There will be a window surface - constructed on the server side for each one constructed on the - client side. - - \snippet examples/qws/ahigl/qwindowsurface_ahigl.cpp 1 - \codeline - \snippet examples/qws/ahigl/qwindowsurface_ahigl.cpp 2 - - The constructors create an instance of QAhiGLWindowSurfacePrivate, - the private implementation class, which contains all the state - variables for QAhiGLWindowSurface. The client side constructor - also creates an instance of QWSGLPaintDevice, the OpenGL paint - device, for return by \l {QWSWindowSurface::} {paintDevice()}. - This ensures that all \l {QPainter}s used on this surface will use - an OpenGL enabled QPaintEngine. It is a bit of jiggery pokery, - which is required because \l {QWSWindowSurface::} {paintDevice()} - is declared pure virtual. Normally, the client side constructor - will be called with an \l {QGLWidget}{OpenGL widget}, which has - its own \l {QWidget::} {paintEngine()} function that returns the - global static OpenGL paint engine, but because the constructor - also accepts a normal \l {QWidget}{widget}, it must be able to - find the OpenGL paint engine in that case as well, so since \l - {QWSWindowSurface::} {paintDevice()} must be implemented anyway, - the constructor creates an instance of QWSGLPaintDevice, which can - always return the global static pointer to QOpenGLPaintEngine. - - The OpenGL library implementation used for this example only - supports one OpenGL context. This context is therefore shared - among the single instance of QAhiGLScreen and all instances of - QAhiGLWindowSurface. It is passed to both constructors. - - This example uses the OpenGL frame buffer object extension, which - allows for accelerating OpenGL painting operations. Using this - OpenGL extension, painting operations are performed in a frame - buffer object, which QAhiGLScreen later uses to construct window - compositions on the screen. Allocation of the frame buffer object - is performed in \l {QWindowSurface::} {setGeometry()}. A safer way - to use this extension would be to first test to see if the - extension is supported by your OpenGL library, and use a different - approach if it is not. - - \snippet examples/qws/ahigl/qwindowsurface_ahigl.cpp 3 - - Since there can be several instances of the QAhiGLWindowSurface, we need - to make sure that the correct framebuffer object is active before painting. - This is done by reimplementing \l QWindowSurface::beginPaint(): - - \snippet examples/qws/ahigl/qwindowsurface_ahigl.cpp 4 - - Finally we need to make sure that whenever a widget grows beyond the size - supported by this driver (256 x 256), the surface is deleted and a new - standard surface is created instead. This is handled by reimplementing - \l QWSWindowSurface::isValid(): - - \snippet examples/qws/ahigl/qwindowsurface_ahigl.cpp 5 -*/ diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc index 2ad730a7..d72f816 100644 --- a/doc/src/getting-started/examples.qdoc +++ b/doc/src/getting-started/examples.qdoc @@ -1121,7 +1121,6 @@ \o \l{qws/svgalib}{Accelerated Graphics Driver}\raisedaster \o \l{qws/dbscreen}{Double Buffered Graphics Driver}\raisedaster \o \l{qws/mousecalibration}{Mouse Calibration}\raisedaster - \o \l{qws/ahigl}{OpenGL for Embedded Systems}\raisedaster \o \l{qws/simpledecoration}{Simple Decoration}\raisedaster \endlist */ diff --git a/doc/src/snippets/code/doc_src_examples_ahigl.qdoc b/doc/src/snippets/code/doc_src_examples_ahigl.qdoc deleted file mode 100644 index ccdce8b..0000000 --- a/doc/src/snippets/code/doc_src_examples_ahigl.qdoc +++ /dev/null @@ -1,49 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -//! [0] -myApplication -qws -display ahigl -//! [0] - - -//! [1] -myApplication -qws -display ahigl -//! [1] diff --git a/examples/qws/ahigl/ahigl.pro b/examples/qws/ahigl/ahigl.pro deleted file mode 100644 index 1ee8e6e..0000000 --- a/examples/qws/ahigl/ahigl.pro +++ /dev/null @@ -1,16 +0,0 @@ -TEMPLATE = lib -QT += opengl -CONFIG += plugin - -TARGET = qahiglscreen - -target.path = $$[QT_INSTALL_PLUGINS]/gfxdrivers -INSTALLS += target - -HEADERS = qwindowsurface_ahigl_p.h \ - qscreenahigl_qws.h - -SOURCES = qwindowsurface_ahigl.cpp \ - qscreenahigl_qws.cpp \ - qscreenahiglplugin.cpp - diff --git a/examples/qws/ahigl/qscreenahigl_qws.cpp b/examples/qws/ahigl/qscreenahigl_qws.cpp deleted file mode 100644 index 491d70f..0000000 --- a/examples/qws/ahigl/qscreenahigl_qws.cpp +++ /dev/null @@ -1,963 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qscreenahigl_qws.h" -#include "qwindowsurface_ahigl_p.h" - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -const int animationLength = 1500; -const int frameSpan = 20; - -static GLuint createTexture(const QImage &img); - -class QAhiGLCursor : public QScreenCursor -{ -public: - QAhiGLCursor() : texture(0) {} - ~QAhiGLCursor(); - - void set(const QImage &image, int hotx, int hoty); - - GLuint texture; -}; - -QAhiGLCursor::~QAhiGLCursor() -{ - if (texture) - glDeleteTextures(1, &texture); -} - -void QAhiGLCursor::set(const QImage &image, int hotx, int hoty) -{ - if (texture) - glDeleteTextures(1, &texture); - - if (image.isNull()) - texture = 0; - else - texture = createTexture(image.convertToFormat(QImage::Format_ARGB32)); - - QScreenCursor::set(image, hotx, hoty); -} - - -/*! - \class QAhiGLScreenPrivate - The QAhiGLScreenPrivate class contains state information for class QAhiGLScreen. - - An instance of this class points to the owning instance of - class QAhiGLScreen. This class uses a QTimer to limit the - update frequency. - */ -//! [0] -class QAhiGLScreenPrivate : public QObject -{ - Q_OBJECT - -public: - QAhiGLScreenPrivate(QAhiGLScreen *s); - -public slots: - void windowEvent(QWSWindow *w, QWSServer::WindowEvent e); - void redrawScreen(); - -public: - QAhiGLScreen *screen; - QAhiGLCursor *cursor; - - EGLContext eglContext; - EGLDisplay eglDisplay; - EGLSurface eglSurface; - - QTimer updateTimer; - bool doEffects; -}; -//! [0] - -//! [1] -class ShowAnimation : public QTimeLine -{ -public: - ShowAnimation(QAhiGLScreenPrivate *screen); - qreal valueForTime(int msec); -}; -//! [1] - -//! [2] -struct WindowInfo -{ - WindowInfo() : texture(0), animation(0) {} - - GLuint texture; - QPointer animation; -}; - -static QMap windowMap; -//! [2] - -/*! - Constructs the animation for the transition effect used - when the window associated with \a screen is displayed. - */ -//! [3] -ShowAnimation::ShowAnimation(QAhiGLScreenPrivate *screen) - : QTimeLine(animationLength) -{ - setUpdateInterval(frameSpan); - connect(this, SIGNAL(valueChanged(qreal)), screen, SLOT(redrawScreen())); - connect(this, SIGNAL(finished()), this, SLOT(deleteLater())); - start(); -} -//! [3] - -//! [4] -qreal ShowAnimation::valueForTime(int msec) -{ - const qreal t = msec / qreal(duration()); - return 3*t*t - 2*t*t*t; -} -//! [4] - -QAhiGLScreenPrivate::QAhiGLScreenPrivate(QAhiGLScreen *s) - : screen(s), cursor(0), doEffects(false) -{ - connect(&updateTimer, SIGNAL(timeout()), this, SLOT(redrawScreen())); -} - -/*! - This slot handles the \a event when the \l {QWSServer} - {window server} emits a window event for the specified - \a window. - - The \l {QWSServer::WindowEvent} {window events} handled - are \c Create, \c Destroy, and \c Show. The \c Create - event creates a new instance of \l {WindowInfo} and stores - it in a window map to mark the creation of a new window. - The \c Destroy event causes the \l {WindoInfo} instance - to be removed from the map and destroyed. - - The \c Show event is the most interesting. If the user - has started the application with -display ahigl:effects, - then the \c Show event is handled by creating a small - \l {ShowAnimation} {animation} for use when the window - is first shown. - */ -//! [5] -void QAhiGLScreenPrivate::windowEvent(QWSWindow *window, - QWSServer::WindowEvent event) -{ - switch (event) { - case QWSServer::Create: - windowMap[window] = new WindowInfo; - break; - case QWSServer::Show: - if (doEffects) - windowMap[window]->animation = new ShowAnimation(this); - break; - case QWSServer::Destroy: - delete windowMap[window]; - windowMap.remove(window); - break; - default: - break; - } -} -//! [5] - -/*! - This function assumes the updateTimer is still counting down and stops it - and then calls redrawScreen() in the public screen driver class QAhiGLScreen. - */ -//! [6] -void QAhiGLScreenPrivate::redrawScreen() -{ - updateTimer.stop(); - screen->redrawScreen(); -} -//! [6] - -/*! - \class QAhiGLScreen - - \brief The QAhiGLScreen class is the screen driver for the ATI handheld device interface. - - QAhiGLScreen is implemented with the d-pointer pattern. That is, - the only data member the class contains is a pointer called d_ptr, - which means data pointer. It points to an instance of a private - class called QAhiGLScreenPrivate, where all the screen driver's - context data members are defined. The d-pointer pattern is used - so that changes can be made to the screen driver's context data - members without destroying the binary compatibility of the public - screen driver class. - - The pure virtual functions found in the base class QScreen are - listed below. All must have implementations in any screen driver - class derived from QScreen. All are impemented in this example, - except for setMode(), which has only been given a stub - implementation to satisfy the compiler. - - bool connect(const QString & displaySpec); - void disconnect(); - bool initDevice(); - void setMode(int width, int height, int depth); - - The stub implementation of setMode() is not meant to indicate - setMode() can be ignored in your own screen driver class. It was - simply decided not to provide a fully implemented screen driver - class for the example, which would normally be tailored to your - device's specific requirements. - - The base class QGLScreen has only one pure virtual function, - hasOpenGL(), which must return true if your screen driver class - supports OpenGL. - - QWSWindowSurface * createSurface(const QString & key) const - QWSWindowSurface * createSurface(QWidget * widget) const - void exposeRegion(QRegion region, int windowIndex) - - */ - -/*! - Constructs a new, ATI handheld device screen driver. - - The displayId identifies the QWS server to connect to. - */ -QAhiGLScreen::QAhiGLScreen(int displayId) : QGLScreen(displayId) -{ - d_ptr = new QAhiGLScreenPrivate(this); - d_ptr->eglDisplay = EGL_NO_DISPLAY; - d_ptr->eglSurface = EGL_NO_SURFACE; -} - -/*! - Destroys this ATI handheld device screen driver. - */ -QAhiGLScreen::~QAhiGLScreen() -{ - delete d_ptr; -} - -/*! - \reimp - */ -//! [7] -bool QAhiGLScreen::connect(const QString &displaySpec) -{ - // Hardcoded values for this device - w = 480; - h = 640; - dw = w; - dh = h; - d = 16; - - const int dpi = 120; - physWidth = qRound(dw * 25.4 / dpi); - physHeight = qRound(dh * 25.4 / dpi); - - if (displaySpec.section(':', 1, 1).contains("effects")) - d_ptr->doEffects = true; - - return true; -} -//! [7] - -/*! - \reimp - */ -//! [8] -bool QAhiGLScreen::initDevice() -{ - EGLint version, subversion; - EGLint attrs[] = { EGL_SURFACE_TYPE, EGL_WINDOW_BIT, - EGL_STENCIL_SIZE, 8, EGL_DEPTH_SIZE, 16, - EGL_NONE }; - EGLint numConfig; - EGLConfig eglConfig; - - d_ptr->eglDisplay = eglGetDisplay(0); - if (d_ptr->eglDisplay == EGL_NO_DISPLAY) { - qCritical("QAhiGLScreen::initDevice(): eglGetDisplay failed: 0x%x", - eglGetError()); - return false; - } - - if (!eglInitialize(d_ptr->eglDisplay, &version, &subversion)) { - qCritical("QAhiGLScreen::initDevice(): eglInitialize failed: 0x%x", - eglGetError()); - return false; - } - - if (!eglChooseConfig(d_ptr->eglDisplay, attrs, &eglConfig, 1, &numConfig)) { - qCritical("QAhiGLScreen::initDevice(): eglChooseConfig failed: 0x%x", - eglGetError()); - return false; - } - - static DummyScreen win = { w, h }; - d_ptr->eglSurface = eglCreateWindowSurface(d_ptr->eglDisplay, eglConfig, - &win, 0); - if (d_ptr->eglSurface == EGL_NO_SURFACE) { - qCritical("QAhiGLScreen::initDevice(): eglCreateWindowSurface failed: 0x%x", - eglGetError()); - return false; - } - - d_ptr->eglContext = eglCreateContext(d_ptr->eglDisplay, eglConfig, - EGL_NO_CONTEXT, 0); - if (d_ptr->eglContext == EGL_NO_CONTEXT) { - qCritical("QAhiGLScreen::initDevice(): eglCreateContext failed: 0x%x", - eglGetError()); - return false; - } - - if (!eglMakeCurrent(d_ptr->eglDisplay, d_ptr->eglSurface, d_ptr->eglSurface, d_ptr->eglContext)) { - qCritical("QAhiGLScreen::initDevice(): eglMakeCurrent failed: 0x%x", - eglGetError()); - return false; - } - - d_ptr->connect(QWSServer::instance(), - SIGNAL(windowEvent(QWSWindow*, QWSServer::WindowEvent)), - SLOT(windowEvent(QWSWindow*, QWSServer::WindowEvent))); - - d_ptr->cursor = new QAhiGLCursor; - qt_screencursor = d_ptr->cursor; - - return true; -} -//! [8] - -/*! - \reimp - */ -//! [9] -void QAhiGLScreen::shutdownDevice() -{ - delete d_ptr->cursor; - d_ptr->cursor = 0; - qt_screencursor = 0; - - eglMakeCurrent(EGL_NO_DISPLAY, EGL_NO_SURFACE, - EGL_NO_SURFACE, EGL_NO_CONTEXT); - eglDestroyContext(d_ptr->eglDisplay, d_ptr->eglContext); - eglDestroySurface(d_ptr->eglDisplay, d_ptr->eglSurface); - eglTerminate(d_ptr->eglDisplay); -} -//! [9] - -/*! - \reimp - - In this case, the reimplimentation does nothing. It is - required because the function is declared as pure virtual - in the base class QScreen. - */ -void QAhiGLScreen::disconnect() -{ -} - -/* - This internal function rounds up to the next power of - two. If v is already a power of two, that same value is - returned. - */ -inline static uint nextPowerOfTwo(uint v) -{ - v--; - v |= v >> 1; - v |= v >> 2; - v |= v >> 4; - v |= v >> 8; - v |= v >> 16; - ++v; - return v; -} - -/* - This internal function creates a texture from the image img - and returns its texture identifier. - - The term "texture" is a graphics technology term that refers - to a pixmap constructed from an image by adding extra points - of contrast to the otherwise plain color image. The texture - has a, well, texture, that the original image doesn't have. - */ -static GLuint createTexture(const QImage &img) -{ - if (img.isNull()) - return 0; - - int width = img.width(); - int height = img.height(); - int textureWidth; - int textureHeight; - GLuint texture; - - glGenTextures(1, &texture); - textureWidth = nextPowerOfTwo(width); - textureHeight = nextPowerOfTwo(height); - glBindTexture(GL_TEXTURE_2D, texture); - glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - - switch (img.format()) { - case QImage::Format_RGB16: - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, - textureWidth, - textureHeight, 0, - GL_RGB, GL_UNSIGNED_SHORT_5_6_5, 0); - - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, - GL_RGB, GL_UNSIGNED_SHORT_5_6_5, img.bits()); - break; - - case QImage::Format_ARGB32_Premultiplied: - case QImage::Format_ARGB32: - case QImage::Format_RGB32: - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, - textureWidth, - textureHeight, 0, - GL_RGBA, GL_UNSIGNED_BYTE, 0); - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, - GL_RGBA, GL_UNSIGNED_BYTE, img.bits()); - break; - - default: - break; - } - - return texture; -} - -/* - A helper function used by QAhiGLScreen::drawQuad(). - */ -static void drawQuad_helper(GLshort *coords, GLfloat *texCoords) -{ - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - glTexCoordPointer(2, GL_FLOAT, 0, texCoords); - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(2, GL_SHORT, 0, coords); - glEnable(GL_TEXTURE_2D); - glDrawArrays(GL_TRIANGLE_FAN, 0, 4); - glDisable(GL_TEXTURE_2D); - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); -} - -/* - A helper function used by QAhiGLScreen::drawQuadWavyFlag(). - */ -static void drawQuad_helper(GLshort *coords, GLfloat *texCoords, - int arraySize, int numArrays) -{ - glEnable(GL_TEXTURE_2D); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - glTexCoordPointer(2, GL_FLOAT, 0, texCoords); - glEnableClientState(GL_VERTEX_ARRAY); - glVertexPointer(2, GL_SHORT, 0, coords); - - for (int i = 0; i < numArrays-1; ++i) - glDrawArrays(GL_TRIANGLE_STRIP, i*arraySize, arraySize); - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - glDisable(GL_TEXTURE_2D); -} - -/* - A convenience function used by QAhiGLScreen::drawQuad(). - */ -static void setRectCoords(GLshort *coords, QRect rect) -{ - coords[0] = GLshort(rect.left()); - coords[1] = GLshort(rect.top()); - - coords[2] = GLshort(rect.right()); - coords[3] = GLshort(rect.top()); - - coords[4] = GLshort(rect.right()); - coords[5] = GLshort(rect.bottom()); - - coords[6] = GLshort(rect.left()); - coords[7] = GLshort(rect.bottom()); -} - -/*! - A helper function used by QAhiGLScreen::drawWindow() and - QAhiGLScreen::redrawScreen(). - */ -void QAhiGLScreen::drawQuad(const QRect &textureGeometry, - const QRect &subGeometry, - const QRect &screenGeometry) -{ - qreal textureWidth = qreal(nextPowerOfTwo(textureGeometry.width())); - qreal textureHeight = qreal(nextPowerOfTwo(textureGeometry.height())); - - GLshort coords[8]; - setRectCoords(coords, screenGeometry); - - GLfloat texcoords[8]; - texcoords[0] = (subGeometry.left() - textureGeometry.left()) / textureWidth; - texcoords[1] = (subGeometry.top() - textureGeometry.top()) / textureHeight; - - texcoords[2] = (subGeometry.right() - textureGeometry.left()) / textureWidth; - texcoords[3] = (subGeometry.top() - textureGeometry.top()) / textureHeight; - - texcoords[4] = (subGeometry.right() - textureGeometry.left()) / textureWidth; - texcoords[5] = (subGeometry.bottom() - textureGeometry.top()) / textureHeight; - - texcoords[6] = (subGeometry.left() - textureGeometry.left()) / textureWidth; - texcoords[7] = (subGeometry.bottom() - textureGeometry.top()) / textureHeight; - - drawQuad_helper(coords, texcoords); -} - -/* - My own sine function. - */ -static qreal mySin(QFixed radians) -{ - const QFixed twoPI = QFixed::fromReal(2*M_PI); - - const int tableSize = 40; - static int *table = 0; - - if (!table) { - table = new int[tableSize]; - for (int i = 0; i < tableSize; ++i) { - table[i] = qRound(sin(M_PI*(i*360.0/40.0)/180.0) * 16776960.0); - } - } - - QFixed tableLookup = radians*tableSize/twoPI; - return table[tableLookup.truncate()%tableSize]/16776960.0; -} - -/* - My own cosine function. - */ -static qreal myCos(QFixed radians) -{ - const int twoPI = qRound(2*M_PI); - - const int tableSize = 40; - static int *table = 0; - - if (!table) { - table = new int[tableSize]; - for (int i = 0; i < tableSize; ++i) { - table[i] = int(cos(M_PI*(i*360.0/40.0)/180.0) * 16776960.0); - } - } - - QFixed tableLookup = radians*tableSize/twoPI; - return table[tableLookup.truncate()%tableSize]/16776960.0; -} - -// number of grid cells in wavy flag tesselation in x- and y-direction -const int subdivisions = 10; - -/* - A helper function used by drawQuadWavyFlag(). It computes - coordinates for grid cells for a wavy flag tesselation and - stores them in the array called coords. - */ -static void setFlagCoords(GLshort *coords, - QRectF screenGeometry, - int frameNum, - qreal progress) -{ - int coordIndex = 0; - qreal waveHeight = 30.0*(1.0-progress); - for (int j = 0; j < subdivisions-1; ++j) { - for (int i = 0; i < subdivisions; ++i) { - qreal c; - c = screenGeometry.left() - + (i * screenGeometry.width() / (subdivisions - 1)) - + waveHeight * qRound(mySin(QFixed::fromReal(M_PI * 20 * (frameNum + i) / 180.0))) - + waveHeight * qRound(myCos(QFixed::fromReal(M_PI * 20 * (frameNum + j) / 180.0))); - coords[coordIndex++] = qRound(c); - c = screenGeometry.top() - + (j * screenGeometry.height() / (subdivisions - 1)) - + waveHeight * mySin(QFixed::fromReal(M_PI * 20 * (frameNum + i) / 180.0)) - + waveHeight * myCos(QFixed::fromReal(M_PI * 20 * (frameNum + j) / 180.0)); - coords[coordIndex++] = qRound(c); - c = screenGeometry.left() + (i * screenGeometry.width() / (subdivisions - 1)) - + waveHeight * mySin(QFixed::fromReal(M_PI * 20 * (frameNum + i) / 180.0)) - + waveHeight * myCos(QFixed::fromReal(M_PI * 20 * (frameNum + (j+1)) / 180.0)); - coords[coordIndex++] = qRound(c); - - c = screenGeometry.top() - + ((j + 1) * screenGeometry.height() / (subdivisions - 1)) - + waveHeight * mySin(QFixed::fromReal(M_PI * 20 * (frameNum + i) / 180.0)) - + waveHeight * myCos(QFixed::fromReal(M_PI * 20 * (frameNum + (j + 1)) / 180.0)); - coords[coordIndex++] = qRound(c); - } - } -} - -static void setFlagTexCoords(GLfloat *texcoords, - const QRectF &subTexGeometry, - const QRectF &textureGeometry, - int textureWidth, int textureHeight) -{ - qreal topLeftX = (subTexGeometry.left() - textureGeometry.left())/textureWidth; - qreal topLeftY = (textureGeometry.height() - (subTexGeometry.top() - textureGeometry.top()))/textureHeight; - - qreal width = (subTexGeometry.right() - textureGeometry.left())/textureWidth - topLeftX; - qreal height = (textureGeometry.height() - (subTexGeometry.bottom() - textureGeometry.top()))/textureHeight - topLeftY; - - int coordIndex = 0; - qreal spacing = subdivisions - 1; - for (int j = 0; j < subdivisions-1; ++j) { - for (int i = 0; i < subdivisions; ++i) { - texcoords[coordIndex++] = topLeftX + (i*width) / spacing; - texcoords[coordIndex++] = topLeftY + (j*height) / spacing; - texcoords[coordIndex++] = topLeftX + (i*width) / spacing; - texcoords[coordIndex++] = topLeftY + ((j+1)*height) / spacing; - } - } -} - -void QAhiGLScreen::drawQuadWavyFlag(const QRect &textureGeometry, - const QRect &subTexGeometry, - const QRect &screenGeometry, - qreal progress) -{ - const int textureWidth = nextPowerOfTwo(textureGeometry.width()); - const int textureHeight = nextPowerOfTwo(textureGeometry.height()); - - static int frameNum = 0; - - GLshort coords[subdivisions*subdivisions*2*2]; - setFlagCoords(coords, screenGeometry, frameNum++, progress); - - GLfloat texcoords[subdivisions*subdivisions*2*2]; - setFlagTexCoords(texcoords, subTexGeometry, textureGeometry, - textureWidth, textureHeight); - - drawQuad_helper(coords, texcoords, subdivisions*2, subdivisions); -} - -void QAhiGLScreen::invalidateTexture(int windowIndex) -{ - if (windowIndex < 0) - return; - - QList windows = QWSServer::instance()->clientWindows(); - if (windowIndex > windows.size() - 1) - return; - - QWSWindow *win = windows.at(windowIndex); - if (!win) - return; - - WindowInfo *info = windowMap[win]; - if (info->texture) { - glDeleteTextures(1, &info->texture); - info->texture = 0; - } -} - -void QAhiGLScreen::drawWindow(QWSWindow *win, qreal progress) -{ - const QRect screenRect = win->allocatedRegion().boundingRect(); - QRect drawRect = screenRect; - - glColor4f(1.0, 1.0, 1.0, progress); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glEnable(GL_BLEND); - - QWSWindowSurface *surface = win->windowSurface(); - if (!surface) - return; - - if (progress >= 1.0) { - if (surface->key() == QLatin1String("ahigl")) { - drawRect.setCoords(drawRect.left(), drawRect.bottom(), - drawRect.right(), drawRect.top()); - } - drawQuad(win->requestedRegion().boundingRect(), screenRect, drawRect); - return; - } - - const int dx = qRound((1 - progress) * drawRect.width() / 2); - const int dy = qRound((1 - progress) * drawRect.height() / 2); - - drawRect.adjust(dx, dy, -dx, -dy); - - if (surface->key() != QLatin1String("ahigl")) { - drawRect.setCoords(drawRect.left(), drawRect.bottom(), - drawRect.right(), drawRect.top()); - } - - drawQuadWavyFlag(win->requestedRegion().boundingRect(), screenRect, - drawRect, progress); -} - -/*! - The window compositions are constructed here. - */ -//! [10] -void QAhiGLScreen::redrawScreen() -{ - glBindFramebufferOES(GL_FRAMEBUFFER_EXT, 0); - glMatrixMode(GL_PROJECTION); - glPushMatrix(); - glMatrixMode(GL_MODELVIEW); - glPushMatrix(); - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); - glOrthof(0, w, h, 0, -999999, 999999); - glViewport(0, 0, w, h); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - - // Fill background color - - QColor bgColor = QWSServer::instance()->backgroundBrush().color(); - glClearColor(bgColor.redF(), bgColor.greenF(), - bgColor.blueF(), bgColor.alphaF()); - glClear(GL_COLOR_BUFFER_BIT); -//! [10] - - // Draw all windows - - glDisable(GL_CULL_FACE); - glDisable(GL_DEPTH_TEST); - glDisable(GL_STENCIL_TEST); - glEnable(GL_BLEND); - glBlendFunc(GL_ONE, GL_ZERO); - glDisable(GL_ALPHA_TEST); - glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); - -//! [11] - QList windows = QWSServer::instance()->clientWindows(); - for (int i = windows.size() - 1; i >= 0; --i) { - QWSWindow *win = windows.at(i); - QWSWindowSurface *surface = win->windowSurface(); - if (!surface) - continue; - - WindowInfo *info = windowMap[win]; - - if (!info->texture) { - if (surface->key() == QLatin1String("ahigl")) - info->texture = static_cast(surface)->textureId(); - else - info->texture = createTexture(surface->image()); - } - qreal progress; - if (info->animation) - progress = info->animation->currentValue(); - else - progress = 1.0; - - glBindTexture(GL_TEXTURE_2D, info->texture); - drawWindow(win, progress); - } // for i -//! [11] //! [12] - - // Draw cursor - - const QAhiGLCursor *cursor = d_ptr->cursor; - if (cursor->texture) { - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glBindTexture(GL_TEXTURE_2D, d_ptr->cursor->texture); - drawQuad(cursor->boundingRect(), cursor->boundingRect(), - cursor->boundingRect()); - } - - glPopMatrix(); - glMatrixMode(GL_PROJECTION); - glPopMatrix(); - glMatrixMode(GL_MODELVIEW); - - eglSwapBuffers(d_ptr->eglDisplay, d_ptr->eglSurface); -} -//! [12] - -/*! - \reimp - - */ -//! [13] -void QAhiGLScreen::exposeRegion(QRegion r, int windowIndex) -{ - if ((r & region()).isEmpty()) - return; - - invalidateTexture(windowIndex); - - if (!d_ptr->updateTimer.isActive()) - d_ptr->updateTimer.start(frameSpan); -} -//! [13] - -/*! - \reimp - - This overloading of createSurface() is called on the client side to - create a window surface for a new window. If the \a widget is a - QGLWidget, or if the widget's width and height are both less than or - equal to 256, it creates an instance of QAhiGLWindowSurface. - Otherwise, it calls QScreen::createSurface() to create a non-OpenGL - window surface. The pointer to the new window surface is returned. - - Note that this function first asks whether this application is the - server, and it only creates an instance of QAhiGLWindowSurface if - the answer is yes. What this means is we only let the server have - access to the OpenGL hardware, because of an implementation - restyriction in the OpenGL libraries we are using. Thus only clients - that are in the server process get to create OpenGL window surfaces. - */ -//! [14] -QWSWindowSurface* QAhiGLScreen::createSurface(QWidget *widget) const -{ - if (QApplication::type() == QApplication::GuiServer) { - if (qobject_cast(widget)) { - return new QAhiGLWindowSurface(widget, - d_ptr->eglDisplay, - d_ptr->eglSurface, - d_ptr->eglContext); - } - - const QRect rect = widget->frameGeometry(); - if (rect.width() <= 256 && rect.height() <= 256) { - return new QAhiGLWindowSurface(widget, - d_ptr->eglDisplay, - d_ptr->eglSurface, - d_ptr->eglContext); - } - } - - return QScreen::createSurface(widget); -} -//! [14] - -/*! - \reimp - - This overloading of createSurface() is called on the server side - to manage a window surface corresponding to a window surface - already created on the client side. - - If the \a key is "ahigl", create an instance of QAhiGLWindowSurface - and return it. Otherwise, call QScreen::createSurface() and return - the window surface it creates. - - See QScreen::createSurface(). - */ -//! [15] -QWSWindowSurface* QAhiGLScreen::createSurface(const QString &key) const -{ - if (key == QLatin1String("ahigl")) { - return new QAhiGLWindowSurface(d_ptr->eglDisplay, - d_ptr->eglSurface, - d_ptr->eglContext); - } - - return QScreen::createSurface(key); -} -//! [15] - -/*! - This function would normally reset the frame buffer resolution - according to \a width, \a height, and the bit \a depth. It would - then notify other applications that their frame buffer size had - changed so they could redraw. The function is a no-op in this - example, which means the example screen driver can't change its - frame buffer resolution. There is no significance to that in the - example. You would normally implement setMode() in an OpenGL - screen driver. This no-op reimplementation is required here - because setMode() in QScreen is a pure virtual function. - - See QScreen::setMode() - */ -void QAhiGLScreen::setMode(int width, int height, int depth) -{ - Q_UNUSED(width); - Q_UNUSED(height); - Q_UNUSED(depth); -} - -/*! - This function would normally be reimplemented to prevent the - screen driver from updating the screen if \a on is true. It is a - no-op in this example, which means the screen driver can always - update the screen. - - See QScreen::blank(). - */ -void QAhiGLScreen::blank(bool on) -{ - Q_UNUSED(on); -} - -/*! - This function always returns true, since the purpose of - this screen driver class is to implement an OpenGL ES - screen driver. In some other class designed to handle both - OpenGL and non-OpenGL graphics, it might test the system to - determine whether OpenGL graphics are supported and return - true or false accordingly. - */ -bool QAhiGLScreen::hasOpenGL() -{ - return true; -} - -#include "qscreenahigl_qws.moc" diff --git a/examples/qws/ahigl/qscreenahigl_qws.h b/examples/qws/ahigl/qscreenahigl_qws.h deleted file mode 100644 index 2dc3dae..0000000 --- a/examples/qws/ahigl/qscreenahigl_qws.h +++ /dev/null @@ -1,91 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QAHIGLSCREEN_H -#define QAHIGLSCREEN_H - -#include -#include - -QT_BEGIN_NAMESPACE -class QAhiGLScreenPrivate; -QT_END_NAMESPACE - -//! [0] -class QAhiGLScreen : public QGLScreen -{ -public: - QAhiGLScreen(int displayId); - virtual ~QAhiGLScreen(); - - bool initDevice(); - bool connect(const QString &displaySpec); - void disconnect(); - void shutdownDevice(); - - void setMode(int width, int height, int depth); - void blank(bool on); - - void exposeRegion(QRegion r, int changing); - - QWSWindowSurface* createSurface(QWidget *widget) const; - QWSWindowSurface* createSurface(const QString &key) const; - - bool hasOpenGL(); - -private: - void invalidateTexture(int windowIndex); - void redrawScreen(); - void drawWindow(QWSWindow *win, qreal progress); - void drawQuad(const QRect &textureGeometry, - const QRect &subGeometry, - const QRect &screenGeometry); - void drawQuadWavyFlag(const QRect &textureGeometry, - const QRect &subTexGeometry, - const QRect &screenGeometry, - float progress); - - QAhiGLScreenPrivate *d_ptr; - friend class QAhiGLScreenPrivate; -}; -//! [0] - -#endif // QAHIGLSCREEN_H diff --git a/examples/qws/ahigl/qscreenahiglplugin.cpp b/examples/qws/ahigl/qscreenahiglplugin.cpp deleted file mode 100644 index 4fd1241..0000000 --- a/examples/qws/ahigl/qscreenahiglplugin.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qscreenahigl_qws.h" - -#include -#include - -//! [0] -class QAhiGLScreenPlugin : public QScreenDriverPlugin -{ -public: - QAhiGLScreenPlugin(); - - QStringList keys() const; - QScreen *create(const QString&, int displayId); -}; -//! [0] - -/*! - \class QAhiGLScreenPlugin - \brief The QAhiGLScreenPlugin class is the plugin for the ATI handheld device graphics driver. - - QAhiGLScreenPlugin inherits QScreenDriverPlugin. See - \l{How to Create Qt Plugins} for details. - */ - -/*! - This is the default constructor. - */ -QAhiGLScreenPlugin::QAhiGLScreenPlugin() - : QScreenDriverPlugin() -{ -} - -/*! - Returns a string list containing the string "ahigl" which - is the only screen driver supported by this plugin. - */ -QStringList QAhiGLScreenPlugin::keys() const -{ - return (QStringList() << "ahigl"); -} - -/*! - Creates a screen driver of the kind specified by \a driver. - The \a displayId identifies the Qt for Embedded Linux server to connect to. - */ -QScreen* QAhiGLScreenPlugin::create(const QString& driver, int displayId) -{ - if (driver.toLower() != "ahigl") - return 0; - - return new QAhiGLScreen(displayId); -} - -//! [1] -Q_EXPORT_PLUGIN2(qahiglscreen, QAhiGLScreenPlugin) -//! [1] diff --git a/examples/qws/ahigl/qwindowsurface_ahigl.cpp b/examples/qws/ahigl/qwindowsurface_ahigl.cpp deleted file mode 100644 index 3466a27..0000000 --- a/examples/qws/ahigl/qwindowsurface_ahigl.cpp +++ /dev/null @@ -1,349 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qwindowsurface_ahigl_p.h" -#include "qscreenahigl_qws.h" - -#include -#include -#include -#include -#include -#include - -/*! - \class QAhiGLWindowSurfacePrivate - \internal - - \brief The QAhiGLWindowSurfacePrivate class is the private implementation - class for class QAhiGLWindowSurface. - - This class contains only state variables. - */ -//! [0] -class QAhiGLWindowSurfacePrivate -{ -public: - QAhiGLWindowSurfacePrivate(EGLDisplay eglDisplay, - EGLSurface eglSurface, - EGLContext eglContext); - - QPaintDevice *device; - - int textureWidth; - int textureHeight; - - GLuint texture; - GLuint frameBufferObject; - GLuint depthbuf; - - EGLDisplay display; - EGLSurface surface; - EGLContext context; -}; -//! [0] - -/*! - The construct just sets statwe variables using the ones - provided. - */ -QAhiGLWindowSurfacePrivate::QAhiGLWindowSurfacePrivate(EGLDisplay eglDisplay, - EGLSurface eglSurface, - EGLContext eglContext) - : texture(0), frameBufferObject(0), depthbuf(0), display(eglDisplay), - surface(eglSurface), context(eglContext) -{ -} - -inline static int nextPowerOfTwo(uint v) -{ - v--; - v |= v >> 1; - v |= v >> 2; - v |= v >> 4; - v |= v >> 8; - v |= v >> 16; - ++v; - return v; -} - -/*! - \class QAhiGLWindowSurface - \preliminary - \internal - - \brief The QAhiGLWindowSurface class provides the drawing area - for top-level windows using OpenGL for drawing on an ATI handheld - device. - - In \l{Qt for Embedded Linux}, the default behavior for each client is to - render widgets into an area of memory. The server then displays - the contents of that memory on the screen. For ATI handheld - devices using OpenGL, QAhiGLWindowSurface is the window surface - class that allocates and manages the memory areas in the clients - and the server. - - When a screen update is required, the server runs through all the - top-level windows that intersect with the region being updated, - ensuring that the clients have updated their window surfaces. Then - the server uses the screen driver to copy the contents of the - affected window surfaces into its composition and then display the - composition on the screen. - - \tableofcontents - - \section1 Pure Virtual Functions - - There are two window surface instances for each top-level window. - One is used by the application when drawing a window, and the - other is used by the server application to make its copy for - building a window composition to send to the screen. - - The key() function is implemented to uniquely identify this window - surface class as "ahigl", and the isValid() function is - implemented to determine whether the associated window is still - acceptable for representation by this window surface class. It - must either be a window using an \l {QGLWidget} {OpenGL widget}, - or it must be a window whose frame is no bigger than 256 x 256. - - The setGeometry() function is implemented to change the geometry - of the frame buffer whenever the geometry of the associated - top-level window changes. The image() function is called by the - window system when building window compositions to return an image - of the top-level window. - - The paintDevice() function is implemented to return the appropriate - paint device. - - \section1 Virtual Functions - - When painting onto the surface, the window system will always call - the beginPaint() function before any painting operations are - performed. It ensures that the correct frame buffer will be used - by the OpenGL library for painting operations. Likewise, the - endPaint() function is automatically called when the painting is - done, but it isn't implemented for this example. -*/ - -/*! - This is the client side constructor. - */ -//! [1] -QAhiGLWindowSurface::QAhiGLWindowSurface(QWidget *widget, - EGLDisplay eglDisplay, - EGLSurface eglSurface, - EGLContext eglContext) - : QWSGLWindowSurface(widget) -{ - d_ptr = new QAhiGLWindowSurfacePrivate(eglDisplay, eglSurface, eglContext); - d_ptr->device = new QWSGLPaintDevice(widget); - - setSurfaceFlags(QWSWindowSurface::Buffered); -} -//! [1] - -/*! - This is the server side constructor. - */ -//! [2] -QAhiGLWindowSurface::QAhiGLWindowSurface(EGLDisplay eglDisplay, - EGLSurface eglSurface, - EGLContext eglContext) -{ - d_ptr = new QAhiGLWindowSurfacePrivate(eglDisplay, eglSurface, eglContext); - setSurfaceFlags(QWSWindowSurface::Buffered); -} -//! [2] - -/*! - The destructor deletes the OpenGL structures held by the - private implementation class, and then it deletes the - private implementation class. - */ -QAhiGLWindowSurface::~QAhiGLWindowSurface() -{ - if (d_ptr->texture) - glDeleteTextures(1, &d_ptr->texture); - if (d_ptr->depthbuf) - glDeleteRenderbuffersOES(1, &d_ptr->depthbuf); - if (d_ptr->frameBufferObject) - glDeleteFramebuffersOES(1, &d_ptr->frameBufferObject); - - delete d_ptr; -} - -/*! - This function changes the geometry of the frame buffer - to the geometry in \a rect. It is called whenever the - geometry of the associated top-level window changes. It - also rebuilds the window surface's texture and binds - the OpenGL identifier to the texture for use by the - OpenGL library. - */ -//! [3] -void QAhiGLWindowSurface::setGeometry(const QRect &rect) -{ - QSize size = rect.size(); - - const QWidget *w = window(); - if (w && !w->mask().isEmpty()) { - const QRegion region = w->mask() - & rect.translated(-w->geometry().topLeft()); - size = region.boundingRect().size(); - } - - if (geometry().size() != size) { - - // Driver specific limitations: - // FBO maximimum size of 256x256 - // Depth buffer required - - d_ptr->textureWidth = qMin(256, nextPowerOfTwo(size.width())); - d_ptr->textureHeight = qMin(256, nextPowerOfTwo(size.height())); - - glGenTextures(1, &d_ptr->texture); - glBindTexture(GL_TEXTURE_2D, d_ptr->texture); - - glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - - const int bufSize = d_ptr->textureWidth * d_ptr->textureHeight * 2; - GLshort buf[bufSize]; - memset(buf, 0, sizeof(GLshort) * bufSize); - - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, d_ptr->textureWidth, - d_ptr->textureHeight, 0, - GL_RGBA, GL_UNSIGNED_BYTE, buf); - - glGenRenderbuffersOES(1, &d_ptr->depthbuf); - glBindRenderbufferOES(GL_RENDERBUFFER_EXT, d_ptr->depthbuf); - glRenderbufferStorageOES(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT16, - d_ptr->textureWidth, d_ptr->textureHeight); - - glGenFramebuffersOES(1, &d_ptr->frameBufferObject); - glBindFramebufferOES(GL_FRAMEBUFFER_EXT, d_ptr->frameBufferObject); - - glFramebufferTexture2DOES(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, - GL_TEXTURE_2D, d_ptr->texture, 0); - glFramebufferRenderbufferOES(GL_FRAMEBUFFER_EXT, - GL_DEPTH_ATTACHMENT_EXT, - GL_RENDERBUFFER_EXT, d_ptr->depthbuf); - glBindFramebufferOES(GL_FRAMEBUFFER_EXT, 0); - } - - QWSGLWindowSurface::setGeometry(rect); -} -//! [3] - -/*! - Returns the window surface's texture as a QByteArray. - */ -QByteArray QAhiGLWindowSurface::permanentState() const -{ - QByteArray array; - array.resize(sizeof(GLuint)); - - char *ptr = array.data(); - reinterpret_cast(ptr)[0] = textureId(); - return array; -} - -/*! - Sets the window surface's texture to \a data. - */ -void QAhiGLWindowSurface::setPermanentState(const QByteArray &data) -{ - const char *ptr = data.constData(); - d_ptr->texture = reinterpret_cast(ptr)[0]; -} - -/*! - Returns the paint device being used for this window surface. - */ -QPaintDevice *QAhiGLWindowSurface::paintDevice() -{ - return d_ptr->device; -} - -/*! - Returns the window surface's texture. - */ -GLuint QAhiGLWindowSurface::textureId() const -{ - return d_ptr->texture; -} - -/*! - The \l {QWSServer} {window system} always calls this function - before any painting operations begin for this window surface. - It ensures that the correct frame buffer will be used by the - OpenGL library for painting operations. - */ -//! [4] -void QAhiGLWindowSurface::beginPaint(const QRegion ®ion) -{ - QWSGLWindowSurface::beginPaint(region); - - if (d_ptr->frameBufferObject) - glBindFramebufferOES(GL_FRAMEBUFFER_EXT, d_ptr->frameBufferObject); -} -//! [4] - -/*! - This function returns true if the window associated with - this window surface can still rendered using this window - surface class. Either the window's top-level widget must - be an \l {QGLWidget} {OpenGL widget}, or the window's - frame must be no bigger than 256 x 256. - */ -//! [5] -bool QAhiGLWindowSurface::isValid() const -{ - if (!qobject_cast(window())) { - const QRect r = window()->frameGeometry(); - if (r.width() > 256 || r.height() > 256) - return false; - } - return true; -} -//! [5] diff --git a/examples/qws/ahigl/qwindowsurface_ahigl_p.h b/examples/qws/ahigl/qwindowsurface_ahigl_p.h deleted file mode 100644 index bcb0509..0000000 --- a/examples/qws/ahigl/qwindowsurface_ahigl_p.h +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QWINDOWSURFACE_AHIGL_P_H -#define QWINDOWSURFACE_AHIGL_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of the QAhiGLWindowSurface class. This header file may change from -// version to version without notice, or even be removed. -// -// We mean it. -// - -#include -#include -#include - -QT_BEGIN_NAMESPACE -class QAhiGLWindowSurfacePrivate; -QT_END_NAMESPACE - -//! [0] -class QAhiGLWindowSurface : public QWSGLWindowSurface -{ -public: - QAhiGLWindowSurface(QWidget *widget, EGLDisplay eglDisplay, - EGLSurface eglSurface, EGLContext eglContext); - QAhiGLWindowSurface(EGLDisplay eglDisplay, EGLSurface eglSurface, - EGLContext eglContext); - ~QAhiGLWindowSurface(); - - QString key() const { return QLatin1String("ahigl"); } - void setGeometry(const QRect &rect); - QPaintDevice *paintDevice(); - void beginPaint(const QRegion ®ion); - bool isValid() const; - - QByteArray permanentState() const; - void setPermanentState(const QByteArray &); - - QImage image() const { return QImage(); } - - GLuint textureId() const; - -private: - QAhiGLWindowSurfacePrivate *d_ptr; -}; -//! [0] - -#endif // QWINDOWSURFACE_AHIGL_P_H -- cgit v0.12 From 08d863c79371725b5f7f4e3097e26cfa1afafa11 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 13 Oct 2009 10:22:27 +1000 Subject: Update the OpenGL for Qt/Embedded documentation Reviewed-by: trustme --- doc/src/platforms/emb-opengl.qdoc | 247 +++++++++++---------- .../powervr/pvreglscreen/pvreglscreen.cpp | 6 + 2 files changed, 131 insertions(+), 122 deletions(-) diff --git a/doc/src/platforms/emb-opengl.qdoc b/doc/src/platforms/emb-opengl.qdoc index fea09bb..2ed5d04 100644 --- a/doc/src/platforms/emb-opengl.qdoc +++ b/doc/src/platforms/emb-opengl.qdoc @@ -57,20 +57,20 @@ of the \l {http://www.opengl.org}{OpenGL} standard. Because it is meant for use in embedded systems, it has a smaller, more constrained API. -For reference, Nokia provides a plugin which integrates \l -{http://www.khronos.org/opengles}{OpenGL ES} with Qt for Embedded Linux, -but Qt for Embedded Linux can be adapted to a wide range of OpenGL -versions. +For reference, Nokia provides support for integrating \l +{http://www.khronos.org/opengles}{OpenGL ES} with Qt for Embedded Linux +for drawing into a QGLWidget. -There are three ways to use OpenGL with Qt for Embedded Linux: -\list - \o Perform OpenGL 3D graphics operations in applications; - \o Accelerate normal 2D painting operations; - \o Implement window compositing and special effects. -\endlist +The current implementation supports OpenGL and 2D painting within a +QGLWidget. Using OpenGL to accelerate regular widgets and compositing +top-level windows with OpenGL are not currently supported. These issues +will be addressed in future versions of Qt. -Qt for Embedded Linux is shipped with a reference integration example -that demonstrates all three uses. +It is recommended that Qt for Embedded Linux is configured with the +\c{-DQT_QWS_CLIENTBLIT} and \c{-DQT_NO_QWS_CURSOR} options for optimum +performance. OpenGL is rendered direct to the screen and these options +prevent Qt for Embedded Linux from trying to do its own non-OpenGL +compositing on the QGLWidget contents. \section2 Using OpenGL 3D Graphics in Applications @@ -82,146 +82,149 @@ To use OpenGL-enabled widgets in a Qt for Embedded Linux application, all that is required is to subclass the QGLWidget and draw into instances of the subclass with standard OpenGL functions. +Note that on most embedded hardware, the OpenGL implementation is +actually \l{http://www.khronos.org/opengles/1_X/}{OpenGL/ES 1.1} or +\l{http://www.khronos.org/opengles/2_X/}{OpenGL/ES 2.0}. When painting +within a QGLWidget::paintGL() override, it is necessary to limit the +application to only the features that are present in the OpenGL/ES +implementation. + \section2 Using OpenGL to Accelerate Normal 2D Painting -Qt provides QOpenGLPaintEngine, a subclass of QPaintEngine that -translates QPainter operations into OpenGL calls. This specialized -paint engine can be used to improve 2D rendering performance on -appropriate hardware. It can also overlay controls and decorations -onto 3D scenes drawn using OpenGL. +Qt provides a subclass of QPaintEngine that translates QPainter operations +into OpenGL calls (there are actually two subclasses, one for OpenGL/ES 1.1 +and another for OpenGL/ES 2.0). This specialized paint engine can be used +to improve 2D rendering performance on appropriate hardware. It can also +overlay controls and decorations onto 3D scenes drawn using OpenGL. + +As mentioned above, the OpenGL paint engine is not currently supported +in regular widgets. However, any application that uses QGraphicsView +can set a QGLWidget as the viewport and obtain access to the +OpenGL paint engine that way: + +\code +QGraphicsView view(&scene); +view.setViewport(new QGLWidget); +view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate); +view.showFullScreen(); +\endcode + +It is recommended that the QGraphicsView::FullViewportUpdate flag +be set because the default double-buffered behavior of QGLWidget +does not support partial updates. It is also recommended that the +window be shown full-screen because that usually has the best +performance on current OpenGL/ES implementations. + +Once a QGraphicsView has been initialized as above, regular widgets +can be added to the canvas using QGraphicsProxyWidget if the +application requires them. \section2 Using OpenGL to Implement Window Compositing and Effects -Qt for Embedded Linux includes a complete windowing system, which implements -real transparency. The windowing system can be accelerated using -OpenGL to implement top level window compositing. This makes it easy -to add 3D effects to applications, for instance when windows are -minimized or maximized. - -\section1 Acceleration Architecture - -The diagram below shows the Qt for Embedded Linux painting architecture. - -\image qt-embedded-opengl3.png - -A client process widget uses a paint engine to draw into a window -surface. The server then combines the window surfaces and displays the -composition on the screen. This architecture lets you -control the steps of the painting process by subclassing. - -Subclassing QPaintEngine allows you to implement the QPainter API -using accelerated hardware. Subclassing QWindowSurface lets you -decide the properties of the space your widgets will draw themselves -into, as well as which paint engine they should use to draw themselves -into that space. Subclassing QScreen lets you control the creation of -window surfaces and lets you decide how to implement window -compositing. Using subclassing, your implementation work is minimized -since you can reuse base class functionality you don't need to change. +Compositing effects can be simulated by adjusting the opacity and +other parameters of the items within a QGraphicsView canvas on a +QGLWidget viewport. -The elements of an accelerated Qt for Embedded Linux system are shown in the -diagram below. +While Qt for Embedded Linux does include a complete windowing system, +using OpenGL to composite regular window surfaces can be quite difficult. +Most of Qt for Embedded Linux assumes that the window surface is a plain +raster memory buffer, with QGLWidget being the sole exception. +The need to constantly re-upload the raster memory buffers into OpenGL +textures for compositing can have a significant impact on performance, +which is why we do not recommend implementing that form of compositing. +We intend to address this problem in future versions of Qt. -\image qt-embedded-opengl1.png +\section1 Integrating OpenGL/ES into Qt for Embedded Linux -The applications, using the Qt API, do not depend on the presence of -the acceleration plugin. The plugin uses the graphics hardware to -accelerate painting primitives. Any operations not accelerated by the -plugin are done in software by the software paint engine. +\section2 Reference Integration -To integrate an OpenGL implementation into Qt for Embedded Linux for a -particular platform, you use the same mechanisms you would use for -writing any other accelerated driver. Base classes, e.g., QGLScreen -and QWSGLWindowSurface, are provided to minimize the need for -reimplementing common functionality. +The reference integration for OpenGL into Qt for Embedded Linux +is for the PowerVR chipset from \l{http://www.imgtec.com/}{Imagination +Technologies}. It consists of two components: \c{pvreglscreen} which +provides the Qt for Embedded Linux screen driver, and \c{QWSWSEGL} +which implements a plug-in to the PowerVR EGL implementation to +implement low-level OpenGL drawing surfaces. -\section1 The Reference Integration +\section2 Integrating Other Chipsets -The \l{OpenGL for Embedded Systems Example} is the reference implementation -for integrating OpenGL ES and \l{http://www.khronos.org/egl/}{EGL} with -the graphics acceleration architecture of Qt for Embedded Linux. -(\l{http://www.khronos.org/egl/}{EGL} is a library that binds OpenGL ES to -native windowing systems.) +In this section we discuss the essential features of the reference +integration that need to be provided for any other chipset integration. -The diagram below shows how OpenGL ES is used within the acceleration architecture: +The QtOpenGL module assumes that a QGLWidget can be represented +by a \c EGLNativeWindowType value in some underlying window system +implementation, and that \c{eglSwapBuffers()} is sufficient to copy +the contents of the native window to the screen when requested. -\image qt-embedded-opengl2.png +However, many EGL implementations do not have a pre-existing window system. +Usually only a single full-screen window is provided, and everything else +must be simulated some other way. This can be a problem because +of QtOpenGL's assumptions. We intend to address these assumptions in a +future version of Qt, but for now it is the responsibility of the integrator +to provide a rudimentary window system within the EGL implementation. +This is the purpose of \c{QWSWSEGL} in the reference integration. -The example implements a screen driver plugin that demonstrates all -three uses of OpenGL in Qt for Embedded Linux: 2D graphics acceleration, 3D -graphics operations using the \l {QtOpenGL module}, and top-level -window compositing and special effects. The applications still do -not talk directly to the accelerated plugin. +If it isn't possible for the EGL implementation to provide a rudimentary +window system, then full-screen windows using QGLWidget can be supported, +but very little else. -For 2D graphics, applications use the normal Qt painting API. The example accelerates 2D -painting by using the QOpenGLPaintEngine, which is included in the \l {QtOpenGL module}. +The screen driver needs to inherit from QGLScreen and perform the +following operations in its constructor: -For 3D graphics applications use the OpenGL API directly, together with the functionality -in the Qt OpenGL support classes. The example supports this by creating a -QWSGLWindowSurface whenever a QGLWidget is instantiated. +\snippet src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp 0 -All access to the display is done through OpenGL. The example subclasses -QWSGLWindowSurface implementation and uses the \l -{http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_object.txt} -{OpenGL Framebuffer Object extension} to draw windows into an offscreen buffer. This -lets the example use OpenGL to implement top level window compositing of opaque and -semi-transparent windows, and to provide a 3D animated transition effect as each new -window is shown. +The \c{setSurfaceFunctions()} call supplies an object that takes care +of converting Qt paint devices such as widgets and pixmaps into +\c EGLNativeWindowType and \c EGLNativePixmapType values. Here we +only support native windows. Because OpenGL rendering is direct to +the screen, we also indicate that client blit is supported. -The specific OpenGL library being used by the example restricts all -OpenGL operations to occur in a single process. Hence the example -creates instances of QWSGLWindowSurface only in the server process. -Other processes then perform 2D graphics by creating instances -of the standard QWindowSurface classes for client processes. The -standard window surface performs software-based rendering into a -shared memory segment. The server then transfers the contents of this -shared memory into an OpenGL texture before they are drawn onto the -screen during window compositing. +Next, we override the \c{createSurface()} functions in QGLScreen: -\omit +\snippet src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp 1 -\section1 Future Directions +Even if Qt for Embedded Linux is used in single-process mode, it is +necessary to create both client-side and server-side versions of the +window surface. In our case, the server-side is just a stub because +the client side directly renders to the screen. -\section2 API Improvements +Note that we only create a \c{PvrEglWindowSurface} if the widget is a +QGLWidget. All other widgets use the normal raster processing. +It can be tempting to make \c{createSurface()} create an OpenGL +window surface for other widget types as well. This has not been +extensively tested and we do not recommend its use at this time. -Nokia is now working on enhancing the API for integrating OpenGL -with Qt for Embedded Linux. The current design plan includes the following -features: +The other main piece is the creation of the \c EGLNativeWindowType +value for the widget. This is done in the \c{createNativeWindow()} +override: -\list +\snippet src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp 2 - \o Provide convenience classes, e.g., QEGLScreen and - QWSEGLWindowSurface, which implement common uses of the EGL - API. These classes will simplify implementing an OpenGL ES - integration. +The details of what needs to be placed in this function will vary +from chipset to chipset. The simplest is to return the native window +handle corresponding to the "root" full-screen window: - \o Extend the screen driver API to provide more control over window - properties and animations, and provide a software-based integration - to enable testing on the desktop. +\code +*native = rootWindowHandle; +return true; +\endcode - \o Improve performance as opportunities arise. +The most common value for \c rootWindowHandle is zero, but this may +not always be the case. Consult the chipset documentation for the +actual value to use. The important thing is that whatever value is +returned must be suitable for passing to the \c{eglCreateWindowSurface()} +function of the chipset's EGL implementation. -\endlist +In the case of PowerVR, the rudimentary window system in \c{QWSWSEGL} +provides a \c PvrQwsDrawable object to represent the \c EGLNativeWindowType +value for the widget. -\section2 OpenVG Support +\section1 OpenVG Support \l {http://www.khronos.org/openvg} {OpenVG} is a dedicated API for 2D graphics on mobile devices. It is therefore more likely to be a better -alternative for 2D acceleration than OpenGL. Until recently, no -OpenVG-capable hardware has been available, so Nokia has not yet -included an OpenVG solution in Qt for Embedded Linux. - -However, Nokia has done a feasibility study, implementing an -OpenVG paint engine on top of a software OpenVG implementation. -Assuming availability of the appropriate hardware, this OpenVG paint -engine can easily be completed and integrated using the existing -acceleration architecture. Since OpenVG shares the same EGL layer as -OpenGL ES, the work already done on the OpenGL integration can be -reused. - -Related technologies included in the \l -{http://www.khronos.org/openkode} {OpenKODE} API set will also be -considered. - -\endomit +alternative for 2D acceleration than OpenGL/ES. Acceleration of +regular widgets is supported with OpenVG, unlike with OpenGL/ES. +See \l{OpenVG Rendering in Qt} for more information on the +OpenVG support in Qt. */ diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp index cb453d7..bfcce67 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp @@ -50,12 +50,14 @@ #include #include +//![0] PvrEglScreen::PvrEglScreen(int displayId) : QGLScreen(displayId) { setOptions(NativeWindows); setSupportsBlitInClients(true); setSurfaceFunctions(new PvrEglScreenSurfaceFunctions(this, displayId)); +//![0] fd = -1; ttyfd = -1; doGraphicsMode = true; @@ -183,6 +185,7 @@ bool PvrEglScreen::hasOpenGL() return true; } +//![1] QWSWindowSurface* PvrEglScreen::createSurface(QWidget *widget) const { if (qobject_cast(widget)) @@ -198,6 +201,7 @@ QWSWindowSurface* PvrEglScreen::createSurface(const QString &key) const return QScreen::createSurface(key); } +//![1] void PvrEglScreen::sync() { @@ -253,8 +257,10 @@ void PvrEglScreen::closeTty() ttyfd = -1; } +//![2] bool PvrEglScreenSurfaceFunctions::createNativeWindow(QWidget *widget, EGLNativeWindowType *native) { +//![2] QWSWindowSurface *surface = static_cast(widget->windowSurface()); if (!surface) { -- cgit v0.12 From f613b0170d0fe806378779472315d0bbdc1aada9 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 13 Oct 2009 12:40:38 +1000 Subject: Remove the surface holder from the PowerVR screen driver The PvrEglSurfaceHolder is a hold-over from Qtopia that isn't needed any more and was never very stable anyway. Reviewed-by: trustme --- .../powervr/pvreglscreen/pvreglscreen.cpp | 128 ++------------------- .../gfxdrivers/powervr/pvreglscreen/pvreglscreen.h | 19 --- .../powervr/pvreglscreen/pvreglwindowsurface.cpp | 8 +- .../powervr/pvreglscreen/pvreglwindowsurface.h | 4 +- 4 files changed, 11 insertions(+), 148 deletions(-) diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp index bfcce67..61f2225 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp @@ -62,17 +62,20 @@ PvrEglScreen::PvrEglScreen(int displayId) ttyfd = -1; doGraphicsMode = true; oldKdMode = KD_TEXT; - if (QWSServer::instance()) - holder = new PvrEglSurfaceHolder(); - else - holder = 0; + + // Make sure that the EGL layer is initialized and the drivers loaded. + EGLDisplay dpy = eglGetDisplay((EGLNativeDisplayType)EGL_DEFAULT_DISPLAY); + if (!eglInitialize(dpy, 0, 0)) + qWarning("Could not initialize EGL display - are the drivers loaded?"); + + // Make sure that screen 0 is initialized. + pvrQwsScreenWindow(0); } PvrEglScreen::~PvrEglScreen() { if (fd >= 0) ::close(fd); - delete holder; } bool PvrEglScreen::initDevice() @@ -197,7 +200,7 @@ QWSWindowSurface* PvrEglScreen::createSurface(QWidget *widget) const QWSWindowSurface* PvrEglScreen::createSurface(const QString &key) const { if (key == QLatin1String("PvrEgl")) - return new PvrEglWindowSurface(holder); + return new PvrEglWindowSurface(); return QScreen::createSurface(key); } @@ -281,116 +284,3 @@ bool PvrEglScreenSurfaceFunctions::createNativeWindow(QWidget *widget, EGLNative *native = (EGLNativeWindowType)(nsurface->nativeDrawable()); return true; } - -// The PowerVR engine on the device needs to allocate about 2Mb of -// contiguous physical memory to manage drawing into a surface. -// -// The problem is that once Qtopia begins its startup sequence, -// it allocates enough memory to severely fragment the physical -// address space on the device. This leaves the PowerVR engine -// unable to allocate the necessary contiguous physical memory -// when an EGL surface is created. -// -// A solution to this is to pre-allocate a dummy surface early -// in the startup sequence before memory becomes fragmented, -// reserving it for any future EGL applications to use. -// -// However, the PowerVR engine has problems managing multiple -// surfaces concurrently, and so real EGL applications end up -// with unacceptably slow frame rates unless the dummy surface -// is destroyed while the real EGL applications are running. -// -// In summary, we need to try to ensure that there is always at -// least one EGL surface active at any given time to reserve the -// memory but destroy the temporary surface when a real surface -// is using the device. That is the purpose of PvrEglSurfaceHolder. - -PvrEglSurfaceHolder::PvrEglSurfaceHolder(QObject *parent) - : QObject(parent) -{ - numRealSurfaces = 0; - - PvrQwsRect rect; - rect.x = 0; - rect.y = 0; - rect.width = 16; - rect.height = 16; - tempSurface = pvrQwsCreateWindow(0, -1, &rect); - - dpy = EGL_NO_DISPLAY; - config = 0; - surface = EGL_NO_SURFACE; - - dpy = eglGetDisplay((EGLNativeDisplayType)EGL_DEFAULT_DISPLAY); - if (!eglInitialize(dpy, 0, 0)) { - qWarning("Could not initialize EGL display - are the drivers loaded?"); - dpy = EGL_NO_DISPLAY; - return; - } - - EGLint attribList[16]; - int temp = 0; - attribList[temp++] = EGL_LEVEL; // Framebuffer level 0 - attribList[temp++] = 0; - attribList[temp++] = EGL_SURFACE_TYPE; - attribList[temp++] = EGL_WINDOW_BIT; - attribList[temp++] = EGL_NONE; - - EGLint numConfigs = 0; - if (!eglChooseConfig(dpy, attribList, &config, 1, &numConfigs) || numConfigs != 1) { - qWarning("Could not find a matching a EGL configuration"); - eglTerminate(dpy); - dpy = EGL_NO_DISPLAY; - return; - } - - surface = eglCreateWindowSurface - (dpy, config, (EGLNativeWindowType)(-1), NULL); - if (surface == EGL_NO_SURFACE) - qWarning("Could not create the temporary EGL surface"); -} - -PvrEglSurfaceHolder::~PvrEglSurfaceHolder() -{ - if (surface != EGL_NO_SURFACE) - eglDestroySurface(dpy, surface); - if (dpy != EGL_NO_DISPLAY) - eglTerminate(dpy); - if (tempSurface) - pvrQwsDestroyDrawable(tempSurface); -} - -// Add a real EGL surface to the system. -void PvrEglSurfaceHolder::addSurface() -{ - ++numRealSurfaces; - if (numRealSurfaces == 1) { - // Destroy the temporary surface while some other application - // is making use of the EGL sub-system for 3D rendering. - if (surface != EGL_NO_SURFACE) { - eglDestroySurface(dpy, surface); - surface = EGL_NO_SURFACE; - } - } -} - -// Remove an actual EGL surface from the system. -void PvrEglSurfaceHolder::removeSurface() -{ - if (numRealSurfaces > 0) { - --numRealSurfaces; - if (numRealSurfaces == 0) { - // The last real EGL surface has been destroyed, so re-create - // the temporary surface. There is a race condition here in - // that Qtopia could allocate a lot of memory just after - // the real EGL surface is destroyed but before we could - // create the temporary surface again. - if (surface == EGL_NO_SURFACE && dpy != EGL_NO_DISPLAY) { - surface = eglCreateWindowSurface - (dpy, config, (EGLNativeWindowType)(-1), NULL); - if (surface == EGL_NO_SURFACE) - qWarning("Could not re-create the temporary EGL surface"); - } - } - } -} diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h index 1c79f8e..8bf42c7 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h @@ -59,24 +59,6 @@ private: int displayId; }; -class PvrEglSurfaceHolder : public QObject -{ - Q_OBJECT -public: - PvrEglSurfaceHolder(QObject *parent=0); - ~PvrEglSurfaceHolder(); - - void addSurface(); - void removeSurface(); - -private: - int numRealSurfaces; - PvrQwsDrawable *tempSurface; - EGLDisplay dpy; - EGLConfig config; - EGLSurface surface; -}; - class PvrEglScreen : public QGLScreen { public: @@ -105,7 +87,6 @@ private: int fd; int ttyfd, oldKdMode; - PvrEglSurfaceHolder *holder; QString ttyDevice; bool doGraphicsMode; }; diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp index 09c0ace..2c5ac21 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp @@ -53,7 +53,6 @@ PvrEglWindowSurface::PvrEglWindowSurface this->widget = widget; this->screen = screen; - this->holder = 0; this->pdevice = 0; QPoint pos = offset(widget); @@ -78,7 +77,7 @@ PvrEglWindowSurface::PvrEglWindowSurface drawable = pvrQwsCreateWindow(screenNum, (long)widget, &pvrRect); } -PvrEglWindowSurface::PvrEglWindowSurface(PvrEglSurfaceHolder *holder) +PvrEglWindowSurface::PvrEglWindowSurface() : QWSGLWindowSurface() { setSurfaceFlags(QWSWindowSurface::Opaque); @@ -86,9 +85,6 @@ PvrEglWindowSurface::PvrEglWindowSurface(PvrEglSurfaceHolder *holder) widget = 0; screen = 0; pdevice = 0; - - this->holder = holder; - holder->addSurface(); } PvrEglWindowSurface::~PvrEglWindowSurface() @@ -100,8 +96,6 @@ PvrEglWindowSurface::~PvrEglWindowSurface() if (drawable && pvrQwsReleaseWindow(drawable)) pvrQwsDestroyDrawable(drawable); - if (holder) - holder->removeSurface(); delete pdevice; } diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h index 0da3653..58a5fb2 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h @@ -46,13 +46,12 @@ #include "pvrqwsdrawable.h" class QScreen; -class PvrEglSurfaceHolder; class PvrEglWindowSurface : public QWSGLWindowSurface { public: PvrEglWindowSurface(QWidget *widget, QScreen *screen, int screenNum); - PvrEglWindowSurface(PvrEglSurfaceHolder *holder); + PvrEglWindowSurface(); ~PvrEglWindowSurface(); QString key() const { return QLatin1String("PvrEgl"); } @@ -78,7 +77,6 @@ private: QWidget *widget; PvrQwsDrawable *drawable; QScreen *screen; - PvrEglSurfaceHolder *holder; QPaintDevice *pdevice; }; -- cgit v0.12 From bee70a74465ef837b446ef2d2309a002da5bfe30 Mon Sep 17 00:00:00 2001 From: Bill King Date: Tue, 13 Oct 2009 11:57:05 +1000 Subject: Fixes issue with multiple lookups to same table/field Previously the renaming scheme created a new table_field alias name. If multiple references referred to the same table/field lookup, then multiples of the same alias would be generated in the query, leading the query to fail. Reviewed-by: Justin McPherson --- src/sql/models/qsqlrelationaltablemodel.cpp | 3 ++- .../qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/sql/models/qsqlrelationaltablemodel.cpp b/src/sql/models/qsqlrelationaltablemodel.cpp index aebecf1..5f0a35d 100644 --- a/src/sql/models/qsqlrelationaltablemodel.cpp +++ b/src/sql/models/qsqlrelationaltablemodel.cpp @@ -569,7 +569,8 @@ QString QSqlRelationalTableModel::selectStatement() const QString displayColumn = relation.displayColumn(); if (d->db.driver()->isIdentifierEscaped(displayColumn, QSqlDriver::FieldName)) displayColumn = d->db.driver()->stripDelimiters(displayColumn, QSqlDriver::FieldName); - fList.append(QString::fromLatin1(" AS %1_%2").arg(relTableName).arg(displayColumn)); + fList.append(QString::fromLatin1(" AS %1_%2_%3").arg(relTableName).arg(displayColumn).arg(fieldNames.value(fieldList[i]))); + fieldNames.insert(fieldList[i], fieldNames.value(fieldList[i])-1); } // this needs fixing!! the below if is borken. diff --git a/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp index 05d546e..cb24a9f 100644 --- a/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp +++ b/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp @@ -837,10 +837,10 @@ void tst_QSqlRelationalTableModel::insertRecordDuplicateFieldNames() QVERIFY_SQL(model, select()); if (db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) { - QCOMPARE(model.record(1).value(qTableName("reltest4").append(QLatin1String("_name")).toUpper()).toString(), + QCOMPARE(model.record(1).value(qTableName("reltest4").append(QLatin1String("_name_2")).toUpper()).toString(), QString("Trondheim")); } else { - QCOMPARE(model.record(1).value(qTableName("reltest4").append(QLatin1String("_name"))).toString(), + QCOMPARE(model.record(1).value(qTableName("reltest4").append(QLatin1String("_name_2"))).toString(), QString("Trondheim")); } @@ -859,9 +859,9 @@ void tst_QSqlRelationalTableModel::insertRecordDuplicateFieldNames() // The duplicate field names is aliased because it's comes from the relation's display column. if(db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2")) - QCOMPARE(rec.fieldName(2), (qTableName("reltest4").append(QLatin1String("_name"))).toUpper()); + QCOMPARE(rec.fieldName(2), (qTableName("reltest4").append(QLatin1String("_name_2"))).toUpper()); else - QCOMPARE(rec.fieldName(2), qTableName("reltest4").append(QLatin1String("_name"))); + QCOMPARE(rec.fieldName(2), qTableName("reltest4").append(QLatin1String("_name_2"))); QVERIFY(model.insertRecord(-1, rec)); QCOMPARE(model.data(model.index(2, 2)).toString(), QString("Oslo")); -- cgit v0.12 From 99e7dcf532b1c84aa64a7ab9af9a5fd14fd64033 Mon Sep 17 00:00:00 2001 From: Bill King Date: Tue, 13 Oct 2009 12:00:42 +1000 Subject: Fixes autotests now for MS Access via ODBC. --- .../q3sqlselectcursor/tst_q3sqlselectcursor.cpp | 8 ++++++-- tests/auto/qsqldatabase/tst_databases.h | 1 + tests/auto/qsqldatabase/tst_qsqldatabase.cpp | 21 +++++++++++++++------ tests/auto/qsqldriver/tst_qsqldriver.cpp | 12 ++++++++++-- tests/auto/qsqlthread/tst_qsqlthread.cpp | 2 ++ 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp b/tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp index 5893687..237f29d 100644 --- a/tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp +++ b/tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp @@ -108,8 +108,12 @@ void tst_Q3SqlSelectCursor::createTestTables( QSqlDatabase db ) return; QSqlQuery q( db ); // please never ever change this table; otherwise fix all tests ;) - QVERIFY_SQL(q, exec( "create table " + qTableName( "qtest" ) + " ( id int not null, t_varchar varchar(40) not null," - "t_char char(40), t_numeric numeric(6, 3), primary key (id, t_varchar) )" )); + if (tst_Databases::isMSAccess(db)) + QVERIFY_SQL(q, exec( "create table " + qTableName( "qtest" ) + " ( id int not null, t_varchar varchar(40) not null," + "t_char char(40), t_numeric number, primary key (id, t_varchar) )" )); + else + QVERIFY_SQL(q, exec( "create table " + qTableName( "qtest" ) + " ( id int not null, t_varchar varchar(40) not null," + "t_char char(40), t_numeric numeric(6, 3), primary key (id, t_varchar) )" )); } void tst_Q3SqlSelectCursor::dropTestTables( QSqlDatabase db ) diff --git a/tests/auto/qsqldatabase/tst_databases.h b/tests/auto/qsqldatabase/tst_databases.h index c5c3663..25b1e2f 100644 --- a/tests/auto/qsqldatabase/tst_databases.h +++ b/tests/auto/qsqldatabase/tst_databases.h @@ -258,6 +258,7 @@ public: // addDb( "QTDS7", "testdb", "testuser", "Ee4Gabf6_", "bq-winserv2008" ); // addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=bq-winserv2003-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433", "testuser", "Ee4Gabf6_", "" ); // addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=bq-winserv2008-x86-01.apac.nokia.com;DATABASE=testdb;PORT=1433", "testuser", "Ee4Gabf6_", "" ); +// addDb( "QODBC", "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\dbs\\access\\testdb.mdb", "", "", "" ); } void open() diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp index c9c8f5e..ed13340 100644 --- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp @@ -792,8 +792,8 @@ void tst_QSqlDatabase::checkValues(const FieldDef fieldDefs[], QSqlDatabase db) if (val1.type() == QVariant::DateTime || val1.type() == QVariant::Time) qDebug("Received Time: " + val1.toTime().toString("hh:mm:ss.zzz")); QFAIL(QString(" Expected: '%1' Received: '%2' for field %3 (etype %4 rtype %5) in checkValues").arg( - val2.toString()).arg( - val1.toString()).arg( + val2.type() == QVariant::ByteArray ? val2.toByteArray().toHex() : val2.toString()).arg( + val1.type() == QVariant::ByteArray ? val1.toByteArray().toHex() : val1.toString()).arg( fieldDefs[ i ].fieldName()).arg( val2.typeName()).arg( val1.typeName()) @@ -1292,9 +1292,9 @@ void tst_QSqlDatabase::recordAccess() FieldDef("varchar(20)", QVariant::String, QString("Blah1")), FieldDef("single", QVariant::Double, 1.12345), FieldDef("double", QVariant::Double, 1.123456), - FieldDef("byte", QVariant::Int, 255), + FieldDef("byte", QVariant::UInt, 255), #ifdef QT3_SUPPORT - FieldDef("binary", QVariant::ByteArray, Q3CString("Blah2")), + FieldDef("binary(5)", QVariant::ByteArray, Q3CString("Blah2")), #endif FieldDef("long", QVariant::Int, 2147483647), FieldDef("memo", QVariant::String, memo), @@ -1643,7 +1643,10 @@ void tst_QSqlDatabase::precisionPolicy() QSKIP("Driver or database doesn't support setting precision policy", SkipSingle); // Create a test table with some data - QVERIFY_SQL(q, exec(QString("CREATE TABLE %1 (id smallint, num numeric(18,5))").arg(tableName))); + if(tst_Databases::isMSAccess(db)) + QVERIFY_SQL(q, exec(QString("CREATE TABLE %1 (id smallint, num number)").arg(tableName))); + else + QVERIFY_SQL(q, exec(QString("CREATE TABLE %1 (id smallint, num numeric(18,5))").arg(tableName))); QVERIFY_SQL(q, prepare(QString("INSERT INTO %1 VALUES (?, ?)").arg(tableName))); q.bindValue(0, 1); q.bindValue(1, 123); @@ -2007,6 +2010,7 @@ void tst_QSqlDatabase::odbc_bindBoolean() QSKIP("MySql has inconsistent behaviour of bit field type across versions.", SkipSingle); return; } + QSqlQuery q(db); QVERIFY_SQL(q, exec("CREATE TABLE " + qTableName("qtestBindBool") + "(id int, boolvalue bit)")); @@ -2038,6 +2042,8 @@ void tst_QSqlDatabase::odbc_testqGetString() QSqlQuery q(db); if (tst_Databases::isSqlServer(db)) QVERIFY_SQL(q, exec("CREATE TABLE " + qTableName("testqGetString") + "(id int, vcvalue varchar(MAX))")); + else if(tst_Databases::isMSAccess(db)) + QVERIFY_SQL(q, exec("CREATE TABLE " + qTableName("testqGetString") + "(id int, vcvalue memo)")); else QVERIFY_SQL(q, exec("CREATE TABLE " + qTableName("testqGetString") + "(id int, vcvalue varchar(65538))")); @@ -2264,7 +2270,10 @@ void tst_QSqlDatabase::odbc_uintfield() unsigned int val = 4294967295U; QSqlQuery q(db); - q.exec(QString("CREATE TABLE %1(num numeric(10))").arg(tableName)); + if ( tst_Databases::isMSAccess( db ) ) + QVERIFY_SQL(q, exec(QString("CREATE TABLE %1(num number)").arg(tableName))); + else + QVERIFY_SQL(q, exec(QString("CREATE TABLE %1(num numeric(10))").arg(tableName))); q.prepare(QString("INSERT INTO %1 VALUES(?)").arg(tableName)); q.addBindValue(val); QVERIFY_SQL(q, exec()); diff --git a/tests/auto/qsqldriver/tst_qsqldriver.cpp b/tests/auto/qsqldriver/tst_qsqldriver.cpp index f463c9e..8fc38a7 100644 --- a/tests/auto/qsqldriver/tst_qsqldriver.cpp +++ b/tests/auto/qsqldriver/tst_qsqldriver.cpp @@ -160,7 +160,11 @@ void tst_QSqlDriver::record() //check that we can't get records using incorrect tablename casing that's been quoted rec = db.driver()->record(db.driver()->escapeIdentifier(tablename,QSqlDriver::TableName)); - if (tst_Databases::isMySQL(db) || db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QTDS") || tst_Databases::isSqlServer(db)) + if (tst_Databases::isMySQL(db) + || db.driverName().startsWith("QSQLITE") + || db.driverName().startsWith("QTDS") + || tst_Databases::isSqlServer(db) + || tst_Databases::isMSAccess(db)) QCOMPARE(rec.count(), 4); //mysql, sqlite and tds will match else QCOMPARE(rec.count(), 0); @@ -208,7 +212,11 @@ void tst_QSqlDriver::primaryIndex() tablename = tablename.toUpper(); index = db.driver()->primaryIndex(db.driver()->escapeIdentifier(tablename, QSqlDriver::TableName)); - if (tst_Databases::isMySQL(db) || db.driverName().startsWith("QSQLITE") || db.driverName().startsWith("QTDS") || tst_Databases::isSqlServer(db)) + if (tst_Databases::isMySQL(db) + || db.driverName().startsWith("QSQLITE") + || db.driverName().startsWith("QTDS") + || tst_Databases::isSqlServer(db) + || tst_Databases::isMSAccess(db)) QCOMPARE(index.count(), 1); //mysql will always find the table name regardless of casing else QCOMPARE(index.count(), 0); diff --git a/tests/auto/qsqlthread/tst_qsqlthread.cpp b/tests/auto/qsqlthread/tst_qsqlthread.cpp index c088a47..be66e9e 100644 --- a/tests/auto/qsqlthread/tst_qsqlthread.cpp +++ b/tests/auto/qsqlthread/tst_qsqlthread.cpp @@ -404,6 +404,8 @@ void tst_QSqlThread::readWriteThreading() if (db.databaseName() == ":memory:") QSKIP("does not work with in-memory databases", SkipSingle); + else if (tst_Databases::isMSAccess(db)) + QSKIP("does not work with MS Access databases", SkipSingle); SqlProducer producer(db); SqlConsumer consumer(db); -- cgit v0.12 From 276309001a6a5c2c1a62e8d0336cae9ebf65e213 Mon Sep 17 00:00:00 2001 From: Bill King Date: Tue, 13 Oct 2009 12:01:39 +1000 Subject: This autotest doesn't make sense for in-memory databases. --- tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp b/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp index 49e087f..5405cb6 100644 --- a/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp +++ b/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp @@ -897,6 +897,8 @@ void tst_QSqlTableModel::sqlite_attachedDatabase() QFETCH(QString, dbName); QSqlDatabase db = QSqlDatabase::database(dbName); CHECK_DATABASE(db); + if(db.databaseName() == ":memory:") + QSKIP(":memory: database, skipping test", SkipSingle); QSqlDatabase attachedDb = QSqlDatabase::cloneDatabase(db, db.driverName() + QLatin1String("attached")); attachedDb.setDatabaseName(db.databaseName()+QLatin1String("attached.dat")); -- cgit v0.12 From de164c161c3ade4b5b5f4164495dd35578d31b1d Mon Sep 17 00:00:00 2001 From: Bill King Date: Tue, 13 Oct 2009 13:55:09 +1000 Subject: Fixes autotest: Savepoints are actually supported from 4.1 onwards. --- tests/auto/qsqldatabase/tst_qsqldatabase.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp index ed13340..7149fab 100644 --- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp @@ -2449,8 +2449,8 @@ void tst_QSqlDatabase::mysql_savepointtest() QFETCH(QString, dbName); QSqlDatabase db = QSqlDatabase::database(dbName); CHECK_DATABASE(db); - if ( db.driverName().startsWith( "QMYSQL" ) && tst_Databases::getMySqlVersion( db ).section( QChar('.'), 0, 0 ).toInt()<5 ) - QSKIP( "Test requires MySQL >= 5.0", SkipSingle ); + if ( db.driverName().startsWith( "QMYSQL" ) && tst_Databases::getMySqlVersion( db ).section( QChar('.'), 0, 1 ).toInt()<4.1 ) + QSKIP( "Test requires MySQL >= 4.1", SkipSingle ); QSqlQuery q(db); QVERIFY_SQL(q, exec("begin")); -- cgit v0.12 From 0ce1c5b4e27b85a122a02e8cc9c3eb49c9bc806f Mon Sep 17 00:00:00 2001 From: Stian Sandvik Thomassen Date: Tue, 13 Oct 2009 14:53:10 +1000 Subject: Doc: clarified what addDatabase() returns if the driver cannot be loaded If the driver cannot be loaded, isValid() returns false. Reviewed-by: Bill King --- src/sql/kernel/qsqldatabase.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp index 821760f..193aa7c 100644 --- a/src/sql/kernel/qsqldatabase.cpp +++ b/src/sql/kernel/qsqldatabase.cpp @@ -455,6 +455,8 @@ void QSqlDatabasePrivate::disable() The database connection is referred to by \a connectionName. The newly added database connection is returned. + If \a type is not available or could not be loaded, isValid() returns false. + If \a connectionName is not specified, the new connection becomes the default connection for the application, and subsequent calls to database() without the connection name argument will return the -- cgit v0.12 From 8f3c8e8585db2a621badbf7059076f513421bf8a Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 13 Oct 2009 16:00:22 +1000 Subject: Implement qDrawPixmaps for the OpenVG paint engine. Best performance will be acheived with OpaqueHint and drawing the full pixmap rather than sub-regions. Reviewed-by: trustme --- src/openvg/qpaintengine_vg.cpp | 115 +++++++++++++++++++++++++++++++++++++++++ src/openvg/qpaintengine_vg_p.h | 2 + 2 files changed, 117 insertions(+) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index b129164..2a506bb 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -2949,6 +2949,121 @@ void QVGPaintEngine::drawTiledPixmap fillRect(r, brush); } +// Best performance will be achieved with QDrawPixmaps::OpaqueHint +// (i.e. no opacity), no rotation or scaling, and drawing the full +// pixmap rather than parts of the pixmap. Even having just one of +// these conditions will improve performance. +void QVGPaintEngine::drawPixmaps + (const QDrawPixmaps::Data *drawingData, int dataCount, + const QPixmap &pixmap, QFlags hints) +{ +#if !defined(QT_SHIVAVG) + Q_D(QVGPaintEngine); + + // If the pixmap is not VG, or the transformation is projective, + // then fall back to the default implementation. + QPixmapData *pd = pixmap.pixmapData(); + if (pd->classId() != QPixmapData::OpenVGClass || !d->simpleTransform) { + QPaintEngineEx::drawPixmaps(drawingData, dataCount, pixmap, hints); + return; + } + + // Bail out if nothing to do. + if (dataCount <= 0) + return; + + // Bail out if we don't have a usable VGImage for the pixmap. + QVGPixmapData *vgpd = static_cast(pd); + if (!vgpd->isValid()) + return; + VGImage vgImg = vgpd->toVGImage(); + if (vgImg == VG_INVALID_HANDLE) + return; + + // We cache the results of any vgChildImage() calls because the + // same child is very likely to be used over and over in particle + // systems. However, performance is even better if vgChildImage() + // isn't needed at all, so use full source rects where possible. + QVarLengthArray cachedImages; + QVarLengthArray cachedSources; + + // Select the opacity paint object. + if ((hints & QDrawPixmaps::OpaqueHint) != 0 && d->opacity == 1.0f) { + d->setImageMode(VG_DRAW_IMAGE_NORMAL); + } else { + hints = 0; + if (d->fillPaint != d->opacityPaint) { + vgSetPaint(d->opacityPaint, VG_FILL_PATH); + d->fillPaint = d->opacityPaint; + } + } + + for (int i = 0; i < dataCount; ++i) { + QTransform transform(d->imageTransform); + transform.translate(drawingData[i].point.x(), drawingData[i].point.y()); + transform.rotate(drawingData[i].rotation); + + VGImage child; + QSize imageSize = vgpd->size(); + QRectF sr = drawingData[i].source; + if (sr.topLeft().isNull() && sr.size() == imageSize) { + child = vgImg; + } else { + // Look for a previous child with the same source rectangle + // to avoid constantly calling vgChildImage()/vgDestroyImage(). + QRect src = sr.toRect(); + int j; + for (j = 0; j < cachedSources.size(); ++j) { + if (cachedSources[j] == src) + break; + } + if (j < cachedSources.size()) { + child = cachedImages[j]; + } else { + child = vgChildImage + (vgImg, src.x(), src.y(), src.width(), src.height()); + cachedImages.append(child); + cachedSources.append(src); + } + } + + VGfloat scaleX = drawingData[i].scaleX; + VGfloat scaleY = drawingData[i].scaleY; + transform.translate(-0.5 * scaleX * sr.width(), + -0.5 * scaleY * sr.height()); + transform.scale(scaleX, scaleY); + d->setTransform(VG_MATRIX_IMAGE_USER_TO_SURFACE, transform); + + if ((hints & QDrawPixmaps::OpaqueHint) == 0) { + qreal opacity = d->opacity * drawingData[i].opacity; + if (opacity != 1.0f) { + if (d->paintOpacity != opacity) { + VGfloat values[4]; + values[0] = 1.0f; + values[1] = 1.0f; + values[2] = 1.0f; + values[3] = opacity; + d->paintOpacity = opacity; + vgSetParameterfv + (d->opacityPaint, VG_PAINT_COLOR, 4, values); + } + d->setImageMode(VG_DRAW_IMAGE_MULTIPLY); + } else { + d->setImageMode(VG_DRAW_IMAGE_NORMAL); + } + } + + vgDrawImage(child); + } + + // Destroy the cached child sub-images. + for (int i = 0; i < cachedImages.size(); ++i) + vgDestroyImage(cachedImages[i]); +#else + QPaintEngineEx::drawPixmaps(drawingData, dataCount, pixmap, hints); +#endif +} + QVGFontEngineCleaner::QVGFontEngineCleaner(QVGPaintEnginePrivate *d) : QObject(), d_ptr(d) { diff --git a/src/openvg/qpaintengine_vg_p.h b/src/openvg/qpaintengine_vg_p.h index a3487dc..1202b55 100644 --- a/src/openvg/qpaintengine_vg_p.h +++ b/src/openvg/qpaintengine_vg_p.h @@ -136,6 +136,8 @@ public: void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s); + void drawPixmaps(const QDrawPixmaps::Data *drawingData, int dataCount, const QPixmap &pixmap, QFlags hints); + void drawTextItem(const QPointF &p, const QTextItem &textItem); void setState(QPainterState *s); -- cgit v0.12 From 9c6e466dc09813dd4a641b2cf385f35ac99346f5 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Tue, 13 Oct 2009 10:48:17 +0300 Subject: Fixed a few compiler warnings from QtGui for Symbian. Reviewed-by: TrustMe --- src/gui/image/qpixmap_s60.cpp | 2 ++ src/gui/kernel/qapplication_s60.cpp | 10 ++++++---- src/gui/kernel/qt_s60_p.h | 4 ++-- src/gui/kernel/qwidget_s60.cpp | 2 +- src/gui/painting/qpaintengine_s60.cpp | 2 +- src/gui/text/qfontdatabase.cpp | 1 + src/gui/widgets/qmainwindow.cpp | 6 +++--- 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp index 554c0f3..9ae8d72 100644 --- a/src/gui/image/qpixmap_s60.cpp +++ b/src/gui/image/qpixmap_s60.cpp @@ -716,6 +716,8 @@ void QS60PixmapData::beginDataAccess() void QS60PixmapData::endDataAccess(bool readOnly) const { + Q_UNUSED(readOnly); + if(!cfbsBitmap) return; diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 6919292..f1bbcae 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -929,7 +929,7 @@ TTypeUid::Ptr QSymbianControl::MopSupplyObject(TTypeUid id) return CCoeControl::MopSupplyObject(id); } -void QSymbianControl::setFocusSafely(bool focus) +void QSymbianControl::setFocusSafely(bool focus, bool resetLastFocused) { // The stack hack in here is very unfortunate, but it is the only way to ensure proper // focus in Symbian. If this is not executed, the control which happens to be on @@ -939,17 +939,19 @@ void QSymbianControl::setFocusSafely(bool focus) S60->appUi()->RemoveFromStack(this); // Symbian doesn't automatically remove focus from the last focused control, so we need to // remember it and clear focus ourselves. - if (lastFocusedControl && lastFocusedControl != this) + if (resetLastFocused && lastFocusedControl && lastFocusedControl != this) lastFocusedControl->SetFocus(false); QT_TRAP_THROWING(S60->appUi()->AddToStackL(this, ECoeStackPriorityDefault + 1, ECoeStackFlagStandard)); // Note the + 1 - lastFocusedControl = this; + if (resetLastFocused) + lastFocusedControl = this; this->SetFocus(true); } else { S60->appUi()->RemoveFromStack(this); QT_TRAP_THROWING(S60->appUi()->AddToStackL(this, ECoeStackPriorityDefault, ECoeStackFlagStandard)); - lastFocusedControl = 0; + if (resetLastFocused) + lastFocusedControl = 0; this->SetFocus(false); } } diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index d33791b..3186221 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -157,7 +157,7 @@ public: void setIgnoreFocusChanged(bool enabled) { m_ignoreFocusChanged = enabled; } void CancelLongTapTimer(); - void setFocusSafely(bool focus); + void setFocusSafely(bool focus, bool resetLastFocused = true); protected: void Draw(const TRect& aRect) const; @@ -199,7 +199,7 @@ inline void QS60Data::updateScreenSize() S60->screenHeightInPixels = params.iPixelSize.iHeight; S60->screenWidthInTwips = params.iTwipsSize.iWidth; S60->screenHeightInTwips = params.iTwipsSize.iHeight; - + S60->virtualMouseMaxAccel = qMax(S60->screenHeightInPixels, S60->screenWidthInPixels) / 20; TReal inches = S60->screenHeightInTwips / (TReal)KTwipsPerInch; diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index b0d405a..07308d2 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -370,7 +370,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de control->MakeVisible(false); QT_TRAP_THROWING(control->ControlEnv()->AppUi()->AddToStackL(control, ECoeStackPriorityDefault, stackingFlags)); // Avoid keyboard focus to a hidden window. - control->setFocusSafely(false); + control->setFocusSafely(false, false); RDrawableWindow *const drawableWindow = control->DrawableWindow(); // Request mouse move events. diff --git a/src/gui/painting/qpaintengine_s60.cpp b/src/gui/painting/qpaintengine_s60.cpp index e17dba1..6f4f398 100644 --- a/src/gui/painting/qpaintengine_s60.cpp +++ b/src/gui/painting/qpaintengine_s60.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE class QS60PaintEnginePrivate : public QRasterPaintEnginePrivate { public: - QS60PaintEnginePrivate(QS60PaintEngine *engine) { } + QS60PaintEnginePrivate(QS60PaintEngine *engine) { Q_UNUSED(engine); } }; QS60PaintEngine::QS60PaintEngine(QPaintDevice *device, QS60PixmapData *data) diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index e8f6d39..738e36a 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -1354,6 +1354,7 @@ static void match(int script, const QFontDef &request, #ifdef Q_WS_X11 load(family_name, script, forceXLFD); #else + Q_UNUSED(forceXLFD); load(family_name, script); #endif diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp index 0947e1b..501e62f 100644 --- a/src/gui/widgets/qmainwindow.cpp +++ b/src/gui/widgets/qmainwindow.cpp @@ -119,7 +119,7 @@ void QMainWindowPrivate::init() q->setAttribute(Qt::WA_Hover); #ifdef QT_SOFTKEYS_ENABLED menuBarAction = QSoftKeyManager::createAction(QSoftKeyManager::MenuSoftKey, q); - menuBarAction->setObjectName("_q_menuSoftKeyAction"); + menuBarAction->setObjectName(QLatin1String("_q_menuSoftKeyAction")); #endif } @@ -933,7 +933,7 @@ static bool checkDockWidgetArea(Qt::DockWidgetArea area, const char *where) } #ifndef QT_NO_TABBAR -/*! +/*! \property QMainWindow::documentMode \brief whether the tab bar for tabbed dockwidgets is set to document mode. \since 4.5 @@ -954,7 +954,7 @@ void QMainWindow::setDocumentMode(bool enabled) #endif // QT_NO_TABBAR #ifndef QT_NO_TABWIDGET -/*! +/*! \property QMainWindow::tabShape \brief the tab shape used for tabbed dock widgets. \since 4.5 -- cgit v0.12 From 6201e4adda316e5a582af687cdd2f1bcd19be31d Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Mon, 12 Oct 2009 21:12:39 +0200 Subject: Itemview: fix regression concerning Ctrl+rubber band selections When making a rubber band selection while Control is pressed in an itemview with extended selection, make sure that the selection state of the items inside the rubber band is toggled. This ammend commit 0644e3dce532b1df00a77d3a30c61d6b75d3ff30 Merge-request: 1759 Reviewed-by: Olivier Goffart Reviewed-by: Gabriel Task-number: QTBUG-1435 Task-number: 191545 --- src/gui/itemviews/qabstractitemview.cpp | 2 +- .../qabstractitemview/tst_qabstractitemview.cpp | 45 ++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 268e78e..13a1662 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -1697,7 +1697,7 @@ void QAbstractItemView::mouseMoveEvent(QMouseEvent *event) if ((event->buttons() & Qt::LeftButton) && d->selectionAllowed(index) && d->selectionModel) { setState(DragSelectingState); QItemSelectionModel::SelectionFlags command = selectionCommand(index, event); - if (command.testFlag(QItemSelectionModel::Toggle)) { + if (d->ctrlDragSelectionFlag != QItemSelectionModel::NoUpdate && command.testFlag(QItemSelectionModel::Toggle)) { command &= ~QItemSelectionModel::Toggle; command |= d->ctrlDragSelectionFlag; } diff --git a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp index d6911d2..db840f4 100644 --- a/tests/auto/qabstractitemview/tst_qabstractitemview.cpp +++ b/tests/auto/qabstractitemview/tst_qabstractitemview.cpp @@ -223,6 +223,7 @@ private slots: void task257481_emptyEditor(); void shiftArrowSelectionAfterScrolling(); void shiftSelectionAfterRubberbandSelection(); + void ctrlRubberbandSelection(); }; class MyAbstractItemDelegate : public QAbstractItemDelegate @@ -1388,5 +1389,49 @@ void tst_QAbstractItemView::shiftSelectionAfterRubberbandSelection() QVERIFY(selected.contains(index2)); } +void tst_QAbstractItemView::ctrlRubberbandSelection() +{ + QStandardItemModel model; + for (int i=0; i<3; ++i) { + QStandardItem *item = new QStandardItem(QString("%1").arg(i)); + model.setItem(i, 0, item); + } + + QListView view; + view.setFixedSize(150, 450); + view.setFlow(QListView::LeftToRight); + view.setGridSize(QSize(100, 100)); + view.setSelectionMode(QListView::ExtendedSelection); + view.setViewMode(QListView::IconMode); + view.setModel(&model); + view.show(); + QTest::qWait(30); + + QModelIndex index1 = model.index(1, 0); + QModelIndex index2 = model.index(2, 0); + + // Select item 1 + view.setCurrentIndex(index1); + QModelIndexList selected = view.selectionModel()->selectedIndexes(); + QCOMPARE(selected.count(), 1); + QVERIFY(selected.contains(index1)); + + // Now press control and draw a rubberband around items 1 and 2. + // The mouse move event has to be created manually because the QTest framework does not + // contain a function for mouse moves with buttons pressed. + QPoint pressPos = view.visualRect(index1).topLeft() - QPoint(1, 1); + QPoint releasePos = view.visualRect(index2).bottomRight() + QPoint(1, 1); + QTest::mousePress(view.viewport(), Qt::LeftButton, Qt::ControlModifier, pressPos); + QMouseEvent moveEvent(QEvent::MouseMove, releasePos, Qt::NoButton, Qt::LeftButton, Qt::ControlModifier); + bool moveEventReceived = qApp->notify(view.viewport(), &moveEvent); + QVERIFY(moveEventReceived); + QTest::mouseRelease(view.viewport(), Qt::LeftButton, Qt::ControlModifier, releasePos); + + // Verify that item 2 is selected now + selected = view.selectionModel()->selectedIndexes(); + QCOMPARE(selected.count(), 1); + QVERIFY(selected.contains(index2)); +} + QTEST_MAIN(tst_QAbstractItemView) #include "tst_qabstractitemview.moc" -- cgit v0.12 From 2d2e422107a93a2a84ba74399678496619329e58 Mon Sep 17 00:00:00 2001 From: Florian Vichot Date: Fri, 9 Oct 2009 16:53:50 +0200 Subject: QMetaObject::activate: reordered mutex locks/unlocks around spy Always call the callbacks unlocked to avoid deadlocks. (The others call to the callback ar unlocked) Reviewed-by: Olivier Goffart Merge-request: 1744 --- src/corelib/kernel/qobject.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index a8120cf..7be19b3 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3332,6 +3332,7 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign QObjectConnectionListVector *connectionLists = sender->d_func()->connectionLists; if (!connectionLists) { + locker.unlock(); if (qt_signal_spy_callback_set.signal_end_callback != 0) qt_signal_spy_callback_set.signal_end_callback(sender, signal_absolute_index); return; @@ -3401,11 +3402,11 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign } #endif - locker.relock(); - if (qt_signal_spy_callback_set.slot_end_callback != 0) qt_signal_spy_callback_set.slot_end_callback(receiver, method); + locker.relock(); + QObjectPrivate::resetCurrentSender(receiver, ¤tSender, previousSender); if (connectionLists->orphaned) -- cgit v0.12 From fc5e8bb849232cce27d5f53491cd01628abad760 Mon Sep 17 00:00:00 2001 From: David Faure Date: Mon, 12 Oct 2009 23:22:54 +0200 Subject: Fix QUrl regression with setHost("::ffff:129.144.52.38") toEncoded was returning an empty host instead of [::ffff:129.144.52.38] Merge-request: 1735 Reviewed-by: Olivier Goffart --- src/corelib/io/qurl.cpp | 9 +++++++-- tests/auto/qurl/tst_qurl.cpp | 8 ++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index 22d0019..6001d9d 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -3874,10 +3874,15 @@ QByteArray QUrlPrivate::toEncoded(QUrl::FormattingOptions options) const } } - if (host.startsWith(QLatin1Char('['))) + if (host.startsWith(QLatin1Char('['))) { url += host.toLatin1(); - else + } else if (host.contains(QLatin1Char(':'))) { + url += '['; + url += host.toLatin1(); + url += ']'; + } else { url += QUrl::toAce(host); + } if (!(options & QUrl::RemovePort) && port != -1) { url += ':'; url += QString::number(port).toAscii(); diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp index 026c30e..72c13bf 100644 --- a/tests/auto/qurl/tst_qurl.cpp +++ b/tests/auto/qurl/tst_qurl.cpp @@ -137,6 +137,7 @@ private slots: void ipv6(); void ipv6_2_data(); void ipv6_2(); + void moreIpv6(); void toPercentEncoding_data(); void toPercentEncoding(); void isRelative_data(); @@ -2276,6 +2277,13 @@ void tst_QUrl::ipv6_2() QCOMPARE(url.toString(), output); } +void tst_QUrl::moreIpv6() +{ + QUrl waba1("http://www.kde.org/cgi/test.cgi"); + waba1.setHost("::ffff:129.144.52.38"); + QCOMPARE(QString::fromLatin1(waba1.toEncoded()), QString::fromLatin1("http://[::ffff:129.144.52.38]/cgi/test.cgi")); +} + void tst_QUrl::punycode_data() { QTest::addColumn("original"); -- cgit v0.12 From 0baa15e68c7b2e009c1f81f81148939725c216c8 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 13 Oct 2009 10:08:27 +0200 Subject: Fix regression while updating items in itemview. geometry() is in parent coordinate. We want the coordinate in viewport coordinate. There is an offset (the header geometry) between the two. So the first item was not refreshed. (Regression because of e5b32fbe0efc8 and a54c18e27bbb) Reviewed-by: Gabriel Reviewed-by: Alexis Task-number: QTBUG-4849 --- src/gui/itemviews/qabstractitemview.cpp | 2 +- tests/auto/qtreewidget/tst_qtreewidget.cpp | 39 ++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 6722e3a..a8c7f8b 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -2913,7 +2913,7 @@ void QAbstractItemView::update(const QModelIndex &index) //this test is important for peformance reason //For example in dataChanged we simply update all the cells without checking //it can be a major bottleneck to update rects that aren't even part of the viewport - if (d->viewport->geometry().intersects(rect)) + if (d->viewport->rect().intersects(rect)) d->viewport->update(rect); } } diff --git a/tests/auto/qtreewidget/tst_qtreewidget.cpp b/tests/auto/qtreewidget/tst_qtreewidget.cpp index d4fd1e3..3fcbdd6 100644 --- a/tests/auto/qtreewidget/tst_qtreewidget.cpp +++ b/tests/auto/qtreewidget/tst_qtreewidget.cpp @@ -49,6 +49,9 @@ #include #include #include +#include + +#include "../../shared/util.h" //TESTED_CLASS= @@ -160,6 +163,7 @@ private slots: void task217309(); void setCurrentItemExpandsParent(); void task239150_editorWidth(); + void setTextUpdate(); public slots: void itemSelectionChanged(); @@ -3023,6 +3027,41 @@ void tst_QTreeWidget::task239150_editorWidth() +void tst_QTreeWidget::setTextUpdate() +{ + QTreeWidget treeWidget; + treeWidget.setColumnCount(2); + + class MyItemDelegate : public QStyledItemDelegate + { + public: + MyItemDelegate() : numPaints(0) { } + void paint(QPainter *painter, + const QStyleOptionViewItem &option, const QModelIndex &index) const + { + numPaints++; + QStyledItemDelegate::paint(painter, option, index); + } + + mutable int numPaints; + } delegate; + + treeWidget.setItemDelegate(&delegate); + treeWidget.show(); + QStringList strList; + strList << "variable1" << "0"; + QTreeWidgetItem *item = new QTreeWidgetItem(strList); + treeWidget.insertTopLevelItem(0, item); + QTest::qWait(50); + QTRY_VERIFY(delegate.numPaints > 0); + delegate.numPaints = 0; + + item->setText(1, "42"); + QApplication::processEvents(); + QTRY_VERIFY(delegate.numPaints > 0); +} + + QTEST_MAIN(tst_QTreeWidget) #include "tst_qtreewidget.moc" -- cgit v0.12 From dba0b68b219548aa5439910476b9809a6fb43a84 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Tue, 13 Oct 2009 11:06:12 +0200 Subject: Remove heuristic mask from S60 cursor to match other platforms S60 port was supporting QCursor(QPixmap) where the pixmap didn't have any mask or alpha channel, and generating a mask using QPixmap::heuristicMask. Now changed to draw the cursor opaque in this case, which matches the behaviour on other platforms. Also it failed horribly with shaded backgrounds e.g. draggable icons demo Task-number: QTBUG-4761 Reviewed-by: axis --- src/gui/kernel/qcursor_s60.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/gui/kernel/qcursor_s60.cpp b/src/gui/kernel/qcursor_s60.cpp index 0d8283d..7f5c32a 100644 --- a/src/gui/kernel/qcursor_s60.cpp +++ b/src/gui/kernel/qcursor_s60.cpp @@ -110,7 +110,7 @@ void qt_symbian_set_cursor_visible(bool visible) { else cursorSpriteVisible--; Q_ASSERT(cursorSpriteVisible >=0); - + if (cursorSpriteVisible && !S60->mouseInteractionEnabled) { #ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS if (S60->brokenPointerCursors) @@ -119,7 +119,7 @@ void qt_symbian_set_cursor_visible(bool visible) { #endif S60->wsSession().SetPointerCursorMode(EPointerCursorNormal); } else if (!cursorSpriteVisible && S60->mouseInteractionEnabled) { -#ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS +#ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS if (S60->brokenPointerCursors) qt_symbian_hide_pointer_sprite(); else @@ -188,7 +188,7 @@ Qt::HANDLE QCursor::handle() const return reinterpret_cast (&(d->pcurs)); #ifdef Q_SYMBIAN_HAS_SYSTEM_CURSORS - // don't construct shape cursors, QApplication_s60 will use the system cursor instead + // don't construct shape cursors, QApplication_s60 will use the system cursor instead if (!(d->bm)) return 0; #endif @@ -228,12 +228,12 @@ void QCursorData::loadShapeFromResource(RWsSpriteBase& target, QString resource, /* * Constructs the native cursor from resources compiled into QtGui * This is needed only when the platform doesn't have system cursors. - * + * * System cursors are higher performance, since they are constructed once * and shared by all applications by specifying the shape number. * Due to symbian platform security considerations, and the fact most * existing phones have a broken RWsPointerCursor, system cursors are not - * being used. + * being used. */ void QCursorData::constructShapeSprite(RWsSpriteBase& target) { @@ -346,7 +346,7 @@ void QCursorData::constructCursorSprite(RWsSpriteBase& target) member->iMaskBitmap = pixmap.mask().toSymbianCFbsBitmap(); } else { - member->iMaskBitmap = pixmap.createHeuristicMask().toSymbianCFbsBitmap(); + member->iMaskBitmap = 0; //opaque rectangle cursor (due to EDrawModePEN) } } @@ -371,11 +371,11 @@ void qt_symbian_show_pointer_sprite() } else { cursorSprite = QCursor(Qt::ArrowCursor); } - + cursorSprite.d->scurs = RWsSprite(S60->wsSession()); QPoint pos = QCursor::pos(); cursorSprite.d->scurs.Construct(S60->windowGroup(), TPoint(pos.x(), pos.y()), ESpriteNoChildClip | ESpriteNoShadows); - + cursorSprite.d->constructCursorSprite(cursorSprite.d->scurs); cursorSprite.d->scurs.Activate(); } @@ -409,7 +409,7 @@ void qt_symbian_set_pointer_sprite(const QCursor& cursor) * RWsPointerCursor, this function is called in response to pointer events * and when QCursor::setPos() is called. * Performance is worse than a real pointer cursor, due to extra context - * switches vs. the window server moving the cursor by itself. + * switches vs. the window server moving the cursor by itself. */ void qt_symbian_move_cursor_sprite() { @@ -421,7 +421,7 @@ void qt_symbian_move_cursor_sprite() /* * Translate from Qt::CursorShape to OS system pointer cursor list index. * Currently we control the implementation of the system pointer cursor list, - * so this function is trivial. That may not always be the case. + * so this function is trivial. That may not always be the case. */ TInt qt_symbian_translate_cursor_shape(Qt::CursorShape shape) { @@ -462,7 +462,7 @@ void qt_symbian_set_cursor(QWidget *w, bool force) /* * Makes the specified cursor appear above a specific native window group * Called from QSymbianControl and QApplication::restoreOverrideCursor - * + * * Window server is needed for this, so there is no equivalent when using * the sprite workaround. */ @@ -486,7 +486,7 @@ void qt_symbian_setWindowGroupCursor(const QCursor &cursor, RWindowTreeNode &nod /* * Makes the specified cursor appear above a specific native window * Called from QSymbianControl and QApplication::restoreOverrideCursor - * + * * Window server is needed for this, so there is no equivalent when using * the sprite workaround. */ -- cgit v0.12 From 6b8ac349b9a477863a8c8388dcc0658f3284bc54 Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Tue, 13 Oct 2009 11:34:27 +0200 Subject: Re-applying commit ee0a43fee20cc398b505eb65218ebed56dfc8f39 by Simon Hausmann Fix crash of QtScript on Mac OS X When compiling on 10.4 but running on 10.5 the flags passed to vm_map cause it to crash. For now fall back to the use of mmap() as allocator instead. Reviewed-by: Kent Hansen --- src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp index 474d7bf..01e36c4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp @@ -240,7 +240,9 @@ void Heap::destroy() template NEVER_INLINE CollectorBlock* Heap::allocateBlock() { -#if PLATFORM(DARWIN) + // Disable the use of vm_map for the Qt build on Darwin, because when compiled on 10.4 + // it crashes on 10.5 +#if PLATFORM(DARWIN) && !PLATFORM(QT) vm_address_t address = 0; // FIXME: tag the region as a JavaScriptCore heap when we get a registered VM tag: . vm_map(current_task(), &address, BLOCK_SIZE, BLOCK_OFFSET_MASK, VM_FLAGS_ANYWHERE | VM_TAG_FOR_COLLECTOR_MEMORY, MEMORY_OBJECT_NULL, 0, FALSE, VM_PROT_DEFAULT, VM_PROT_DEFAULT, VM_INHERIT_DEFAULT); @@ -332,7 +334,9 @@ NEVER_INLINE void Heap::freeBlock(size_t block) NEVER_INLINE void Heap::freeBlock(CollectorBlock* block) { -#if PLATFORM(DARWIN) + // Disable the use of vm_deallocate for the Qt build on Darwin, because when compiled on 10.4 + // it crashes on 10.5 +#if PLATFORM(DARWIN) && !PLATFORM(QT) vm_deallocate(current_task(), reinterpret_cast(block), BLOCK_SIZE); #elif PLATFORM(SYMBIAN) userChunk->Free(reinterpret_cast(block)); -- cgit v0.12 From 022fbe63eff2b6ddfba289b92bc52337defcb82f Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Tue, 13 Oct 2009 13:12:03 +0300 Subject: Revert "Fixed a few compiler warnings from QtGui for Symbian." Accidentally used git commit -a when should have used only git commit :( This reverts commit 9c6e466dc09813dd4a641b2cf385f35ac99346f5. --- src/gui/image/qpixmap_s60.cpp | 2 -- src/gui/kernel/qapplication_s60.cpp | 10 ++++------ src/gui/kernel/qt_s60_p.h | 4 ++-- src/gui/kernel/qwidget_s60.cpp | 2 +- src/gui/painting/qpaintengine_s60.cpp | 2 +- src/gui/text/qfontdatabase.cpp | 1 - src/gui/widgets/qmainwindow.cpp | 6 +++--- 7 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp index 9ae8d72..554c0f3 100644 --- a/src/gui/image/qpixmap_s60.cpp +++ b/src/gui/image/qpixmap_s60.cpp @@ -716,8 +716,6 @@ void QS60PixmapData::beginDataAccess() void QS60PixmapData::endDataAccess(bool readOnly) const { - Q_UNUSED(readOnly); - if(!cfbsBitmap) return; diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index f1bbcae..6919292 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -929,7 +929,7 @@ TTypeUid::Ptr QSymbianControl::MopSupplyObject(TTypeUid id) return CCoeControl::MopSupplyObject(id); } -void QSymbianControl::setFocusSafely(bool focus, bool resetLastFocused) +void QSymbianControl::setFocusSafely(bool focus) { // The stack hack in here is very unfortunate, but it is the only way to ensure proper // focus in Symbian. If this is not executed, the control which happens to be on @@ -939,19 +939,17 @@ void QSymbianControl::setFocusSafely(bool focus, bool resetLastFocused) S60->appUi()->RemoveFromStack(this); // Symbian doesn't automatically remove focus from the last focused control, so we need to // remember it and clear focus ourselves. - if (resetLastFocused && lastFocusedControl && lastFocusedControl != this) + if (lastFocusedControl && lastFocusedControl != this) lastFocusedControl->SetFocus(false); QT_TRAP_THROWING(S60->appUi()->AddToStackL(this, ECoeStackPriorityDefault + 1, ECoeStackFlagStandard)); // Note the + 1 - if (resetLastFocused) - lastFocusedControl = this; + lastFocusedControl = this; this->SetFocus(true); } else { S60->appUi()->RemoveFromStack(this); QT_TRAP_THROWING(S60->appUi()->AddToStackL(this, ECoeStackPriorityDefault, ECoeStackFlagStandard)); - if (resetLastFocused) - lastFocusedControl = 0; + lastFocusedControl = 0; this->SetFocus(false); } } diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index 3186221..d33791b 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -157,7 +157,7 @@ public: void setIgnoreFocusChanged(bool enabled) { m_ignoreFocusChanged = enabled; } void CancelLongTapTimer(); - void setFocusSafely(bool focus, bool resetLastFocused = true); + void setFocusSafely(bool focus); protected: void Draw(const TRect& aRect) const; @@ -199,7 +199,7 @@ inline void QS60Data::updateScreenSize() S60->screenHeightInPixels = params.iPixelSize.iHeight; S60->screenWidthInTwips = params.iTwipsSize.iWidth; S60->screenHeightInTwips = params.iTwipsSize.iHeight; - + S60->virtualMouseMaxAccel = qMax(S60->screenHeightInPixels, S60->screenWidthInPixels) / 20; TReal inches = S60->screenHeightInTwips / (TReal)KTwipsPerInch; diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 07308d2..b0d405a 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -370,7 +370,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de control->MakeVisible(false); QT_TRAP_THROWING(control->ControlEnv()->AppUi()->AddToStackL(control, ECoeStackPriorityDefault, stackingFlags)); // Avoid keyboard focus to a hidden window. - control->setFocusSafely(false, false); + control->setFocusSafely(false); RDrawableWindow *const drawableWindow = control->DrawableWindow(); // Request mouse move events. diff --git a/src/gui/painting/qpaintengine_s60.cpp b/src/gui/painting/qpaintengine_s60.cpp index 6f4f398..e17dba1 100644 --- a/src/gui/painting/qpaintengine_s60.cpp +++ b/src/gui/painting/qpaintengine_s60.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE class QS60PaintEnginePrivate : public QRasterPaintEnginePrivate { public: - QS60PaintEnginePrivate(QS60PaintEngine *engine) { Q_UNUSED(engine); } + QS60PaintEnginePrivate(QS60PaintEngine *engine) { } }; QS60PaintEngine::QS60PaintEngine(QPaintDevice *device, QS60PixmapData *data) diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index 738e36a..e8f6d39 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -1354,7 +1354,6 @@ static void match(int script, const QFontDef &request, #ifdef Q_WS_X11 load(family_name, script, forceXLFD); #else - Q_UNUSED(forceXLFD); load(family_name, script); #endif diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp index 501e62f..0947e1b 100644 --- a/src/gui/widgets/qmainwindow.cpp +++ b/src/gui/widgets/qmainwindow.cpp @@ -119,7 +119,7 @@ void QMainWindowPrivate::init() q->setAttribute(Qt::WA_Hover); #ifdef QT_SOFTKEYS_ENABLED menuBarAction = QSoftKeyManager::createAction(QSoftKeyManager::MenuSoftKey, q); - menuBarAction->setObjectName(QLatin1String("_q_menuSoftKeyAction")); + menuBarAction->setObjectName("_q_menuSoftKeyAction"); #endif } @@ -933,7 +933,7 @@ static bool checkDockWidgetArea(Qt::DockWidgetArea area, const char *where) } #ifndef QT_NO_TABBAR -/*! +/*! \property QMainWindow::documentMode \brief whether the tab bar for tabbed dockwidgets is set to document mode. \since 4.5 @@ -954,7 +954,7 @@ void QMainWindow::setDocumentMode(bool enabled) #endif // QT_NO_TABBAR #ifndef QT_NO_TABWIDGET -/*! +/*! \property QMainWindow::tabShape \brief the tab shape used for tabbed dock widgets. \since 4.5 -- cgit v0.12 From 5271d92d814e849c83d11069c322824e16db9943 Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Tue, 13 Oct 2009 13:17:10 +0300 Subject: Second attempt: Fixed a few compiler warnings from QtGui for Symbian. The previous commit 9c6e466dc09813dd4a641b2cf385f35ac99346f5 included some changes which were not meant to be pushed. Reviewed-by: TrustMe --- src/gui/image/qpixmap_s60.cpp | 2 ++ src/gui/painting/qpaintengine_s60.cpp | 2 +- src/gui/text/qfontdatabase.cpp | 1 + src/gui/widgets/qmainwindow.cpp | 6 +++--- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp index 554c0f3..9ae8d72 100644 --- a/src/gui/image/qpixmap_s60.cpp +++ b/src/gui/image/qpixmap_s60.cpp @@ -716,6 +716,8 @@ void QS60PixmapData::beginDataAccess() void QS60PixmapData::endDataAccess(bool readOnly) const { + Q_UNUSED(readOnly); + if(!cfbsBitmap) return; diff --git a/src/gui/painting/qpaintengine_s60.cpp b/src/gui/painting/qpaintengine_s60.cpp index e17dba1..6f4f398 100644 --- a/src/gui/painting/qpaintengine_s60.cpp +++ b/src/gui/painting/qpaintengine_s60.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE class QS60PaintEnginePrivate : public QRasterPaintEnginePrivate { public: - QS60PaintEnginePrivate(QS60PaintEngine *engine) { } + QS60PaintEnginePrivate(QS60PaintEngine *engine) { Q_UNUSED(engine); } }; QS60PaintEngine::QS60PaintEngine(QPaintDevice *device, QS60PixmapData *data) diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index e8f6d39..738e36a 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -1354,6 +1354,7 @@ static void match(int script, const QFontDef &request, #ifdef Q_WS_X11 load(family_name, script, forceXLFD); #else + Q_UNUSED(forceXLFD); load(family_name, script); #endif diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp index 0947e1b..501e62f 100644 --- a/src/gui/widgets/qmainwindow.cpp +++ b/src/gui/widgets/qmainwindow.cpp @@ -119,7 +119,7 @@ void QMainWindowPrivate::init() q->setAttribute(Qt::WA_Hover); #ifdef QT_SOFTKEYS_ENABLED menuBarAction = QSoftKeyManager::createAction(QSoftKeyManager::MenuSoftKey, q); - menuBarAction->setObjectName("_q_menuSoftKeyAction"); + menuBarAction->setObjectName(QLatin1String("_q_menuSoftKeyAction")); #endif } @@ -933,7 +933,7 @@ static bool checkDockWidgetArea(Qt::DockWidgetArea area, const char *where) } #ifndef QT_NO_TABBAR -/*! +/*! \property QMainWindow::documentMode \brief whether the tab bar for tabbed dockwidgets is set to document mode. \since 4.5 @@ -954,7 +954,7 @@ void QMainWindow::setDocumentMode(bool enabled) #endif // QT_NO_TABBAR #ifndef QT_NO_TABWIDGET -/*! +/*! \property QMainWindow::tabShape \brief the tab shape used for tabbed dock widgets. \since 4.5 -- cgit v0.12 From 1f8fae877a8f4fcaec77c7d2dc1376b7ade61aee Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 13 Oct 2009 12:50:42 +0200 Subject: Fixes tst_QGraphicsProxyWidget::setWidget_simple on Mac the palettePropagation test tests that the palette does not propagate from the widget to the proxy. And on Mac, the default palette for the line edit is not the same as the default palette Reviewed-by: Alexis --- tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp index 58d7896..013a028 100644 --- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp +++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp @@ -1532,7 +1532,7 @@ void tst_QGraphicsProxyWidget::setWidget_simple() // Properties // QCOMPARE(proxy.focusPolicy(), lineEdit->focusPolicy()); - QCOMPARE(proxy.palette(), lineEdit->palette()); + // QCOMPARE(proxy.palette(), lineEdit->palette()); #ifndef QT_NO_CURSOR QCOMPARE(proxy.cursor().shape(), lineEdit->cursor().shape()); #endif -- cgit v0.12 From d9d76d0f56b0e2b0ce09abf39c710a1e666fa09f Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 13 Oct 2009 13:55:44 +0200 Subject: Fix graphicsview test on Cocoa. Cocoa doesn't support regions update and always update the bounding rect (see comment in QWidgetPrivate::update_sys in qwidget_mac.cpp) Change tests that checked that we get the exact regions. Reviewed-by: MortenS --- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 20 ++++++++++++++------ tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 6 +++++- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 49b76ac..0a6f60e 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -82,6 +82,14 @@ Q_DECLARE_METATYPE(QRectF) #define Q_CHECK_PAINTEVENTS #endif +#if defined(Q_WS_MAC) && defined(QT_MAC_USE_COCOA) +// On mac (cocoa) we always get full update. +// So check that the expected region is contained inside the actual +#define COMPARE_REGIONS(ACTUAL, EXPECTED) QVERIFY((EXPECTED).subtracted(ACTUAL).isEmpty()) +#else +#define COMPARE_REGIONS QTRY_COMPARE +#endif + static void sendMousePress(QGraphicsScene *scene, const QPointF &point, Qt::MouseButton button = Qt::LeftButton) { QGraphicsSceneMouseEvent event(QEvent::GraphicsSceneMousePress); @@ -6290,7 +6298,7 @@ void tst_QGraphicsItem::opacityZeroUpdates() QRegion expectedRegion = parentDeviceBoundingRect.adjusted(-2, -2, 2, 2); expectedRegion += childDeviceBoundingRect.adjusted(-2, -2, 2, 2); - QTRY_COMPARE(view.paintedRegion, expectedRegion); + COMPARE_REGIONS(view.paintedRegion, expectedRegion); } class StacksBehindParentHelper : public QGraphicsRectItem @@ -7117,7 +7125,7 @@ void tst_QGraphicsItem::update() qApp->processEvents(); QCOMPARE(item->repaints, 1); QCOMPARE(view.repaints, 1); - QCOMPARE(view.paintedRegion, expectedRegion + expectedRegion.translated(50, 50)); + COMPARE_REGIONS(view.paintedRegion, expectedRegion + expectedRegion.translated(50, 50)); // Make sure moving a parent item triggers an update on the children // (even though the parent itself is outside the viewport). @@ -7392,7 +7400,7 @@ void tst_QGraphicsItem::moveItem() QRegion expectedParentRegion = parentDeviceBoundingRect; // old position parentDeviceBoundingRect.translate(20, 20); expectedParentRegion += parentDeviceBoundingRect; // new position - QCOMPARE(view.paintedRegion, expectedParentRegion); + COMPARE_REGIONS(view.paintedRegion, expectedParentRegion); RESET_COUNTERS @@ -7402,7 +7410,7 @@ void tst_QGraphicsItem::moveItem() QCOMPARE(child->repaints, 1); QCOMPARE(view.repaints, 1); const QRegion expectedChildRegion = expectedParentRegion.translated(20, 20); - QCOMPARE(view.paintedRegion, expectedChildRegion); + COMPARE_REGIONS(view.paintedRegion, expectedChildRegion); RESET_COUNTERS @@ -7413,7 +7421,7 @@ void tst_QGraphicsItem::moveItem() QCOMPARE(grandChild->repaints, 1); QCOMPARE(view.repaints, 1); const QRegion expectedGrandChildRegion = expectedParentRegion.translated(40, 40); - QCOMPARE(view.paintedRegion, expectedGrandChildRegion); + COMPARE_REGIONS(view.paintedRegion, expectedGrandChildRegion); RESET_COUNTERS @@ -7426,7 +7434,7 @@ void tst_QGraphicsItem::moveItem() expectedParentRegion.translate(20, 20); expectedParentRegion += expectedChildRegion.translated(20, 20); expectedParentRegion += expectedGrandChildRegion.translated(20, 20); - QCOMPARE(view.paintedRegion, expectedParentRegion); + COMPARE_REGIONS(view.paintedRegion, expectedParentRegion); } void tst_QGraphicsItem::sorting_data() diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index 8acaa72..389200b 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -2210,9 +2210,11 @@ void tst_QGraphicsView::viewportUpdateMode() // The view gets two updates for the update scene updates. QTRY_VERIFY(!view.lastUpdateRegions.isEmpty()); +#ifndef QT_MAC_USE_COCOA //cocoa doesn't support drawing regions QCOMPARE(view.lastUpdateRegions.last().rects().size(), 2); QCOMPARE(view.lastUpdateRegions.last().rects().at(0).size(), QSize(15, 15)); QCOMPARE(view.lastUpdateRegions.last().rects().at(1).size(), QSize(15, 15)); +#endif // Set full update mode. view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate); @@ -3431,10 +3433,12 @@ void tst_QGraphicsView::exposeRegion() // Make sure it triggers correct repaint on the view. QTRY_COMPARE(view.lastUpdateRegions.size(), 1); - QTRY_COMPARE(view.lastUpdateRegions.at(0), expectedExposeRegion); + COMPARE_REGIONS(view.lastUpdateRegions.at(0), expectedExposeRegion); // Make sure the item didn't get any repaints. +#ifndef QT_MAC_USE_COCOA QCOMPARE(item->paints, 0); +#endif } void tst_QGraphicsView::update_data() -- cgit v0.12 From 87a065002f9bc78b58c6f699ef52dda08045ad7c Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Fri, 9 Oct 2009 14:38:59 +0200 Subject: Carbon: QApplication auto test shows bug in event dispatcher The reason for the bug is that we call _quit_ on the eventloop just _after_ posting the deffered delete event (from inside deleteLater function, ref the test where it fails, tst_qapplication.cpp:1242). And the point is, even if the loop level tells us that we _can_ delete the object in this case, the 'quit' tells us that we should not process _any_ events (until we get a call to processEvents again). So this patch makes sure that we don't call sendPostedEvents from the eventDispatcher if it is interruped. Rev-By: brad --- src/gui/kernel/qeventdispatcher_mac.mm | 2 +- tests/auto/qapplication/tst_qapplication.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qeventdispatcher_mac.mm b/src/gui/kernel/qeventdispatcher_mac.mm index 7152705..49c851b 100644 --- a/src/gui/kernel/qeventdispatcher_mac.mm +++ b/src/gui/kernel/qeventdispatcher_mac.mm @@ -942,7 +942,7 @@ Boolean QEventDispatcherMacPrivate::postedEventSourceEqualCallback(const void *i inline static void processPostedEvents(QEventDispatcherMacPrivate *const d, const bool blockSendPostedEvents) { - if (blockSendPostedEvents) { + if (blockSendPostedEvents || d->interrupt) { CFRunLoopSourceSignal(d->postedEventsSource); } else { if (!d->threadData->canWait || (d->serialNumber != d->lastSerial)) { diff --git a/tests/auto/qapplication/tst_qapplication.cpp b/tests/auto/qapplication/tst_qapplication.cpp index abcacef..97aa092 100644 --- a/tests/auto/qapplication/tst_qapplication.cpp +++ b/tests/auto/qapplication/tst_qapplication.cpp @@ -1242,6 +1242,10 @@ public slots: } void deleteLaterAndExitLoop() { + // Check that 'p' is not deleted before exec returns, since the call + // to QEventLoop::quit() should stop 'eventLoop' from processing + // any more events (that is, delete later) until we return to the + // _current_ event loop: QEventLoop eventLoop; QPointer p(this); QMetaObject::invokeMethod(this, "deleteLater", Qt::QueuedConnection); -- cgit v0.12 From 8d9acba3ecac466fa86201e4eb760af1ccea68e3 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Tue, 13 Oct 2009 13:00:55 +0200 Subject: stabilize QSslSocket autotest there was a race condition which on Windows often made the test fail Reviewed-by: Markus Goetz --- tests/auto/qsslsocket/tst_qsslsocket.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/auto/qsslsocket/tst_qsslsocket.cpp b/tests/auto/qsslsocket/tst_qsslsocket.cpp index 77e3763..6efe440 100644 --- a/tests/auto/qsslsocket/tst_qsslsocket.cpp +++ b/tests/auto/qsslsocket/tst_qsslsocket.cpp @@ -1377,6 +1377,7 @@ void tst_QSslSocket::waitForMinusOne() // connect to the server QSslSocket socket; + QTest::qSleep(100); socket.connectToHost("127.0.0.1", server.serverPort); QVERIFY(socket.waitForConnected(-1)); socket.ignoreSslErrors(); -- cgit v0.12 From b6b6da647132f7fdf78d0601cbf7b411fda474f0 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Mon, 12 Oct 2009 14:11:44 +0200 Subject: Mac: implement gestures conforming to the new API --- examples/gestures/imageviewer/imagewidget.cpp | 8 +- src/gui/kernel/kernel.pri | 4 +- src/gui/kernel/qgesture.cpp | 26 +-- src/gui/kernel/qgesture.h | 6 +- src/gui/kernel/qgesturemanager.cpp | 12 ++ src/gui/kernel/qmacgesturerecognizer_mac.mm | 258 ++++++++++++++++++++++++++ src/gui/kernel/qmacgesturerecognizer_mac_p.h | 103 ++++++++++ 7 files changed, 396 insertions(+), 21 deletions(-) create mode 100644 src/gui/kernel/qmacgesturerecognizer_mac.mm create mode 100644 src/gui/kernel/qmacgesturerecognizer_mac_p.h diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp index b8bb7b5..f3fd8e4 100644 --- a/examples/gestures/imageviewer/imagewidget.cpp +++ b/examples/gestures/imageviewer/imagewidget.cpp @@ -104,10 +104,10 @@ bool ImageWidget::gestureEvent(QGestureEvent *event) panTriggered(static_cast(pan)); return true; } else if (QGesture *pinch = event->gesture(Qt::PinchGesture)) { - pinchTriggered(static_cast(pan)); + pinchTriggered(static_cast(pinch)); return true; } else if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) { - swipeTriggered(static_cast(pan)); + swipeTriggered(static_cast(swipe)); return true; } return false; @@ -125,7 +125,7 @@ void ImageWidget::panTriggered(QPanGesture *gesture) setCursor(Qt::ArrowCursor); } #endif - QSizeF lastOffset = gesture->property("lastOffset").toSizeF(); + QSizeF lastOffset = gesture->offset(); horizontalOffset += lastOffset.width(); verticalOffset += lastOffset.height(); update(); @@ -133,7 +133,7 @@ void ImageWidget::panTriggered(QPanGesture *gesture) void ImageWidget::pinchTriggered(QPinchGesture *gesture) { - QPinchGesture::WhatChanged whatChanged = gesture->property("whatChanged").value(); + QPinchGesture::WhatChanged whatChanged = gesture->whatChanged(); if (whatChanged & QPinchGesture::RotationAngleChanged) { qreal value = gesture->property("rotationAngle").toReal(); qreal lastValue = gesture->property("lastRotationAngle").toReal(); diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri index 88c1f73..53c2611 100644 --- a/src/gui/kernel/kernel.pri +++ b/src/gui/kernel/kernel.pri @@ -205,6 +205,7 @@ embedded { qcocoaview_mac_p.h \ qcocoaapplication_mac_p.h \ qcocoaapplicationdelegate_mac_p.h \ + qmacgesturerecognizer_mac_p.h \ qmultitouch_mac_p.h OBJECTIVE_SOURCES += \ @@ -224,7 +225,8 @@ embedded { kernel/qdesktopwidget_mac.mm \ kernel/qeventdispatcher_mac.mm \ kernel/qcocoawindowcustomthemeframe_mac.mm \ - kernel/qmultitouch_mac.mm \ + kernel/qmacgesturerecognizer_mac.mm \ + kernel/qmultitouch_mac.mm HEADERS += \ kernel/qt_cocoa_helpers_mac_p.h \ diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index 7b2cd6d..3639a45 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -335,22 +335,24 @@ QSwipeGesture::QSwipeGesture(QObject *parent) QSwipeGesture::SwipeDirection QSwipeGesture::horizontalDirection() const { - return d_func()->horizontalDirection; + Q_D(const QSwipeGesture); + if (d->swipeAngle < 0 || d->swipeAngle == 90 || d->swipeAngle == 270) + return QSwipeGesture::NoDirection; + else if (d->swipeAngle < 90 || d->swipeAngle > 270) + return QSwipeGesture::Right; + else + return QSwipeGesture::Left; } QSwipeGesture::SwipeDirection QSwipeGesture::verticalDirection() const { - return d_func()->verticalDirection; -} - -void QSwipeGesture::setHorizontalDirection(QSwipeGesture::SwipeDirection value) -{ - d_func()->horizontalDirection = value; -} - -void QSwipeGesture::setVerticalDirection(QSwipeGesture::SwipeDirection value) -{ - d_func()->verticalDirection = value; + Q_D(const QSwipeGesture); + if (d->swipeAngle <= 0 || d->swipeAngle == 180) + return QSwipeGesture::NoDirection; + else if (d->swipeAngle < 180) + return QSwipeGesture::Up; + else + return QSwipeGesture::Down; } qreal QSwipeGesture::swipeAngle() const diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h index bf72759..0034819 100644 --- a/src/gui/kernel/qgesture.h +++ b/src/gui/kernel/qgesture.h @@ -189,8 +189,8 @@ class Q_GUI_EXPORT QSwipeGesture : public QGesture Q_DECLARE_PRIVATE(QSwipeGesture) Q_ENUMS(SwipeDirection) - Q_PROPERTY(SwipeDirection horizontalDirection READ horizontalDirection WRITE setHorizontalDirection) - Q_PROPERTY(SwipeDirection verticalDirection READ verticalDirection WRITE setVerticalDirection) + Q_PROPERTY(SwipeDirection horizontalDirection READ horizontalDirection STORED false) + Q_PROPERTY(SwipeDirection verticalDirection READ verticalDirection STORED false) Q_PROPERTY(qreal swipeAngle READ swipeAngle WRITE setSwipeAngle) public: @@ -199,8 +199,6 @@ public: SwipeDirection horizontalDirection() const; SwipeDirection verticalDirection() const; - void setHorizontalDirection(SwipeDirection value); - void setVerticalDirection(SwipeDirection value); qreal swipeAngle() const; void setSwipeAngle(qreal value); diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp index b0ef703..0f0aef2 100644 --- a/src/gui/kernel/qgesturemanager.cpp +++ b/src/gui/kernel/qgesturemanager.cpp @@ -48,6 +48,10 @@ #include "qevent.h" #include "qgraphicsitem.h" +#ifdef Q_WS_MAC +#include "qmacgesturerecognizer_mac_p.h" +#endif + #include "qdebug.h" // #define GESTURE_DEBUG @@ -64,7 +68,15 @@ QGestureManager::QGestureManager(QObject *parent) { qRegisterMetaType(); +#if defined(Q_WS_MAC) + registerGestureRecognizer(new QMacSwipeGestureRecognizer); + registerGestureRecognizer(new QMacPinchGestureRecognizer); + #if defined(QT_MAC_USE_COCOA) + registerGestureRecognizer(new QMacPanGestureRecognizer); + #endif +#else registerGestureRecognizer(new QPanGestureRecognizer); +#endif } QGestureManager::~QGestureManager() diff --git a/src/gui/kernel/qmacgesturerecognizer_mac.mm b/src/gui/kernel/qmacgesturerecognizer_mac.mm new file mode 100644 index 0000000..583fc93 --- /dev/null +++ b/src/gui/kernel/qmacgesturerecognizer_mac.mm @@ -0,0 +1,258 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qmacgesturerecognizer_mac_p.h" +#include "qgesture.h" +#include "qgesture_p.h" +#include "qevent.h" +#include "qevent_p.h" +#include "qwidget.h" +#include "qdebug.h" + +QT_BEGIN_NAMESPACE + +QMacSwipeGestureRecognizer::QMacSwipeGestureRecognizer() +{ +} + +QGesture *QMacSwipeGestureRecognizer::createGesture(QObject * /*target*/) +{ + return new QSwipeGesture; +} + +QGestureRecognizer::Result +QMacSwipeGestureRecognizer::filterEvent(QGesture *gesture, QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::NativeGesture && obj->isWidgetType()) { + QNativeGestureEvent *ev = static_cast(event); + switch (ev->gestureType) { + case QNativeGestureEvent::Swipe: { + QSwipeGesture *g = static_cast(gesture); + g->setSwipeAngle(ev->angle); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + break; } + default: + break; + } + } + + return QGestureRecognizer::Ignore; +} + +void QMacSwipeGestureRecognizer::reset(QGesture *gesture) +{ + QSwipeGesture *g = static_cast(gesture); + g->setSwipeAngle(0); + QGestureRecognizer::reset(gesture); +} + +//////////////////////////////////////////////////////////////////////// + +QMacPinchGestureRecognizer::QMacPinchGestureRecognizer() +{ +} + +QGesture *QMacPinchGestureRecognizer::createGesture(QObject * /*target*/) +{ + return new QPinchGesture; +} + +QGestureRecognizer::Result +QMacPinchGestureRecognizer::filterEvent(QGesture *gesture, QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::NativeGesture && obj->isWidgetType()) { + QPinchGesture *g = static_cast(gesture); + QNativeGestureEvent *ev = static_cast(event); + switch(ev->gestureType) { + case QNativeGestureEvent::GestureBegin: + reset(gesture); + g->setStartCenterPoint(static_cast(obj)->mapFromGlobal(ev->position)); + g->setCenterPoint(g->startCenterPoint()); + g->setWhatChanged(QPinchGesture::CenterPointChanged); + return QGestureRecognizer::MaybeGesture | QGestureRecognizer::ConsumeEventHint; + case QNativeGestureEvent::Rotate: { + g->setLastScaleFactor(g->scaleFactor()); + g->setLastRotationAngle(g->rotationAngle()); + g->setRotationAngle(g->rotationAngle() + ev->percentage); + g->setWhatChanged(QPinchGesture::RotationAngleChanged); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + break; + } + case QNativeGestureEvent::Zoom: + g->setLastScaleFactor(g->scaleFactor()); + g->setLastRotationAngle(g->rotationAngle()); + g->setScaleFactor(g->scaleFactor() + ev->percentage); + g->setWhatChanged(QPinchGesture::ScaleFactorChanged); + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + break; + case QNativeGestureEvent::GestureEnd: + return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint; + break; + default: + break; + } + } + + return QGestureRecognizer::Ignore; +} + +void QMacPinchGestureRecognizer::reset(QGesture *gesture) +{ + QPinchGesture *g = static_cast(gesture); + g->setWhatChanged(0); + g->setScaleFactor(1.0f); + g->setTotalScaleFactor(1.0f); + g->setLastScaleFactor(1.0f); + g->setRotationAngle(0.0f); + g->setTotalRotationAngle(0.0f); + g->setLastRotationAngle(0.0f); + g->setCenterPoint(QPointF()); + g->setStartCenterPoint(QPointF()); + g->setLastCenterPoint(QPointF()); + QGestureRecognizer::reset(gesture); +} + +//////////////////////////////////////////////////////////////////////// + +#if defined(QT_MAC_USE_COCOA) + +QMacPanGestureRecognizer::QMacPanGestureRecognizer() : _panCanceled(true) +{ +} + +QGesture *QMacPanGestureRecognizer::createGesture(QObject *target) +{ + if (!target) + return new QPanGesture; + + if (QWidget *w = qobject_cast(target)) { + w->setAttribute(Qt::WA_AcceptTouchEvents); + w->setAttribute(Qt::WA_TouchPadAcceptSingleTouchEvents); + return new QPanGesture; + } + return 0; +} + +QGestureRecognizer::Result +QMacPanGestureRecognizer::filterEvent(QGesture *gesture, QObject *target, QEvent *event) +{ + const int panBeginDelay = 300; + const int panBeginRadius = 3; + + QPanGesture *g = static_cast(gesture); + + switch (event->type()) { + case QEvent::TouchBegin: { + const QTouchEvent *ev = static_cast(event); + if (ev->touchPoints().size() == 1) { + reset(gesture); + _startPos = QCursor::pos(); + _lastPos = _startPos; + _panTimer.start(panBeginDelay, target); + _panCanceled = false; + return QGestureRecognizer::MaybeGesture; + } + break;} + case QEvent::TouchEnd: { + const QTouchEvent *ev = static_cast(event); + if (!_panCanceled && ev->touchPoints().size() == 1) + return QGestureRecognizer::GestureFinished; + break;} + case QEvent::TouchUpdate: { + if (_panCanceled) + break; + + const QTouchEvent *ev = static_cast(event); + if (ev->touchPoints().size() == 1) { + if (_panTimer.isActive()) { + // INVARIANT: Still in maybeGesture. Check if the user + // moved his finger so much that it makes sense to cancel the pan: + const QPointF p = QCursor::pos(); + if ((p - _startPos).manhattanLength() > panBeginRadius) { + _panCanceled = true; + _panTimer.stop(); + return QGestureRecognizer::NotGesture; + } + } else { + const QPointF p = QCursor::pos(); + const QPointF posOffset = p - _lastPos; + g->setLastOffset(g->offset()); + g->setOffset(QSizeF(posOffset.x(), posOffset.y())); + g->setTotalOffset(g->lastOffset() + g->offset()); + _lastPos = p; + return QGestureRecognizer::GestureTriggered; + } + } + break;} + case QEvent::Timer: { + QTimerEvent *ev = static_cast(event); + if (ev->timerId() == _panTimer.timerId()) { + _panTimer.stop(); + if (_panCanceled) + break; + // Begin new pan session! + _startPos = QCursor::pos(); + _lastPos = _startPos; + return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint; + } + break; } + default: + break; + } + + return QGestureRecognizer::Ignore; +} + +void QMacPanGestureRecognizer::reset(QGesture *gesture) +{ + QPanGesture *g = static_cast(gesture); + _startPos = QPointF(); + _lastPos = QPointF(); + _panCanceled = true; + g->setOffset(QSizeF(0, 0)); + g->setLastOffset(QSizeF(0, 0)); + g->setTotalOffset(QSizeF(0, 0)); + g->setAcceleration(qreal(1)); + QGestureRecognizer::reset(gesture); +} +#endif // QT_MAC_USE_COCOA + +QT_END_NAMESPACE diff --git a/src/gui/kernel/qmacgesturerecognizer_mac_p.h b/src/gui/kernel/qmacgesturerecognizer_mac_p.h new file mode 100644 index 0000000..bdc2e08 --- /dev/null +++ b/src/gui/kernel/qmacgesturerecognizer_mac_p.h @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QMACSWIPEGESTURERECOGNIZER_MAC_P_H +#define QMACSWIPEGESTURERECOGNIZER_MAC_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qtimer.h" +#include "qpoint.h" +#include "qgesturerecognizer.h" + +QT_BEGIN_NAMESPACE + +class QMacSwipeGestureRecognizer : public QGestureRecognizer +{ +public: + QMacSwipeGestureRecognizer(); + + QGesture *createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *gesture, QObject *watched, QEvent *event); + void reset(QGesture *gesture); +}; + +class QMacPinchGestureRecognizer : public QGestureRecognizer +{ +public: + QMacPinchGestureRecognizer(); + + QGesture *createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *gesture, QObject *watched, QEvent *event); + void reset(QGesture *gesture); +}; + +#if defined(QT_MAC_USE_COCOA) + +class QMacPanGestureRecognizer : public QObject, public QGestureRecognizer +{ +public: + QMacPanGestureRecognizer(); + + QGesture *createGesture(QObject *target); + QGestureRecognizer::Result filterEvent(QGesture *gesture, QObject *watched, QEvent *event); + void reset(QGesture *gesture); +private: + QPointF _startPos; + QPointF _lastPos; + QBasicTimer _panTimer; + bool _panCanceled; +}; + +#endif + +QT_END_NAMESPACE + +#endif // QMACSWIPEGESTURERECOGNIZER_MAC_P_H -- cgit v0.12 From f40135a580c298fa01ac78fb3da121f13f75cdfb Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Tue, 13 Oct 2009 14:26:45 +0200 Subject: Mac: small code fix-up for the gesture commit 5 min ago. Rev-By: trust me --- src/gui/kernel/qmacgesturerecognizer_mac.mm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qmacgesturerecognizer_mac.mm b/src/gui/kernel/qmacgesturerecognizer_mac.mm index 583fc93..210d00b 100644 --- a/src/gui/kernel/qmacgesturerecognizer_mac.mm +++ b/src/gui/kernel/qmacgesturerecognizer_mac.mm @@ -192,9 +192,12 @@ QMacPanGestureRecognizer::filterEvent(QGesture *gesture, QObject *target, QEvent } break;} case QEvent::TouchEnd: { + if (_panCanceled) + break; + const QTouchEvent *ev = static_cast(event); - if (!_panCanceled && ev->touchPoints().size() == 1) - return QGestureRecognizer::GestureFinished; + if (ev->touchPoints().size() == 1) + return QGestureRecognizer::GestureFinished; break;} case QEvent::TouchUpdate: { if (_panCanceled) -- cgit v0.12 From 0d2fd0077258ca125ee6f4e00cefd3f5ed1fff15 Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 13 Oct 2009 11:52:31 +0200 Subject: Fixed the QKeyEvent::nativeModifiers() call. Earlier we returned a copy of the Qt modifiers. This patch fixes the call to return the real native Symbian one. RevBy: Sami Merila --- src/gui/kernel/qapplication_s60.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 6919292..115e135 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -689,7 +689,7 @@ TKeyResponse QSymbianControl::OfferKeyEvent(const TKeyEvent& keyEvent, TEventCod Qt::KeyboardModifiers mods = mapToQtModifiers(keyEvent.iModifiers); QKeyEventEx qKeyEvent(type == EEventKeyUp ? QEvent::KeyRelease : QEvent::KeyPress, keyCode, mods, qt_keymapper_private()->translateKeyEvent(keyCode, mods), - false, 1, keyEvent.iScanCode, s60Keysym, mods); + false, 1, keyEvent.iScanCode, s60Keysym, keyEvent.iModifiers); // WId wid = reinterpret_cast(keyEvent.Handle())->Child(); // if (!wid) // Could happen if window isn't shown yet. -- cgit v0.12 From be3d1e0a4fc2c39ba87f4f065942bd3418fb351e Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Tue, 13 Oct 2009 14:54:39 +0200 Subject: Mac: small bugfix to the mac gesture implementation Make sure that we cancel the pan gesture if the user starts to press several fingers on the trackpad, and the gesture has not yet got a chance to start Rev-By: trustme --- src/gui/kernel/qmacgesturerecognizer_mac.mm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/kernel/qmacgesturerecognizer_mac.mm b/src/gui/kernel/qmacgesturerecognizer_mac.mm index 210d00b..7b19a54 100644 --- a/src/gui/kernel/qmacgesturerecognizer_mac.mm +++ b/src/gui/kernel/qmacgesturerecognizer_mac.mm @@ -223,6 +223,12 @@ QMacPanGestureRecognizer::filterEvent(QGesture *gesture, QObject *target, QEvent _lastPos = p; return QGestureRecognizer::GestureTriggered; } + } else if (_panTimer.isActive()) { + // I only want to cancel the pan if the user is pressing + // more than one finger, and the pan hasn't started yet: + _panCanceled = true; + _panTimer.stop(); + return QGestureRecognizer::NotGesture; } break;} case QEvent::Timer: { -- cgit v0.12 From 9c04890642f9836fe25289d91a470cdd2de4e183 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 13 Oct 2009 15:02:40 +0200 Subject: Fix some of the QWidget test on Cocoa --- tests/auto/qwidget/tst_qwidget.cpp | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index f8341c3..c000a12 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -4524,9 +4524,6 @@ void tst_QWidget::update() QCOMPARE(child.paintedRegion, child.visibleRegion()); QCOMPARE(w.numPaintEvents, 1); QCOMPARE(w.visibleRegion(), QRegion(w.rect())); -#ifdef QT_MAC_USE_COCOA - QEXPECT_FAIL(0, "Cocoa compositor paints the content view", Continue); -#endif QCOMPARE(w.paintedRegion, child.visibleRegion().translated(childOffset)); w.reset(); @@ -5136,15 +5133,6 @@ void tst_QWidget::windowMoveResize() // now hide widget.hide(); QTest::qWait(10); -#if defined (Q_WS_MAC) && defined(QT_MAC_USE_COCOA) - QEXPECT_FAIL("130,100 0x200, flags 800", - "Cocoa's Delegate sends a spurios move event when the window has a width of zero and non-zero height", - Abort); - - QEXPECT_FAIL("130,100 0x200, flags 0", - "Cocoa's Delegate sends a spurios move event when the window has a width of zero and non-zero height", - Abort); -#endif QTRY_COMPARE(widget.pos(), rect.topLeft()); QTRY_COMPARE(widget.size(), rect.size()); @@ -7466,8 +7454,8 @@ void tst_QWidget::updateWhileMinimized() UpdateWidget widget; // Filter out activation change and focus events to avoid update() calls in QWidget. widget.updateOnActivationChangeAndFocusIn = false; - widget.show(); widget.reset(); + widget.show(); QTest::qWaitForWindowShown(&widget); QApplication::processEvents(); QTRY_VERIFY(widget.numPaintEvents > 0); @@ -9267,7 +9255,8 @@ void tst_QWidget::rectOutsideCoordinatesLimit_task144779() QPixmap correct(main.size()); correct.fill(Qt::green); - QTRY_COMPARE(QPixmap::grabWindow(main.winId()).toImage(), correct.toImage()); + QTRY_COMPARE(QPixmap::grabWindow(main.winId()).toImage().convertToFormat(QImage::Format_RGB32), + correct.toImage().convertToFormat(QImage::Format_RGB32)); QApplication::restoreOverrideCursor(); } -- cgit v0.12 From 8e0fbc2caa3edefb78d6667721235b783bc1a850 Mon Sep 17 00:00:00 2001 From: Iain Date: Fri, 9 Oct 2009 19:21:15 +0100 Subject: Temporary workaround to get WebKit to pick up DEF file from std location Tweak WebCore .pro file to get its DEF file from the same location as all the other DEF files come from Reviewed-by: TrustMe --- src/3rdparty/webkit/WebCore/WebCore.pro | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index 1c39bb8..a0a072d 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -87,6 +87,19 @@ win32-g++ { QMAKE_LIBDIR_POST += $$split(TMPPATH,";") } +# Temporary workaround to pick up the DEF file from the same place as all the others +symbian { + shared { + MMP_RULES -= defBlock + + MMP_RULES += "$${LITERAL_HASH}ifdef WINSCW" \ + "DEFFILE ../../../s60installs/bwins/$${TARGET}.def" \ + "$${LITERAL_HASH}elif defined EABI" \ + "DEFFILE ../../../s60installs/eabi/$${TARGET}.def" \ + "$${LITERAL_HASH}endif" + } +} + # Assume that symbian OS always comes with sqlite symbian:!CONFIG(QTDIR_build): CONFIG += system-sqlite -- cgit v0.12 From 5b28eb78f6580ab942d3005992843ea1e7a0504d Mon Sep 17 00:00:00 2001 From: Iain Date: Mon, 12 Oct 2009 18:49:56 +0100 Subject: *Completely new* EABI DEF files for Symbian OS Notes: - refrozen from scratch without any of the autotest exports (To spell it out: there is no BC between anything built against these DEF files, and anything built with previous versions of the DEF files) - no autotest exports in this set, so no good for autotests - it is very likely that the DEF files will be reworked again before release, meaning that anything built against these ones won't be BC with the 4.6.0 final release (so don't expect your apps built against the beta to work against the final release) - finally added a DEF file for WebKit Reviewed-by: TrustMe Conflicts: src/s60installs/eabi/QtGuiu.def src/s60installs/eabi/QtScriptu.def src/s60installs/eabi/phononu.def --- src/s60installs/eabi/QtCoreu.def | 7379 +++++---- src/s60installs/eabi/QtGuiu.def | 24647 +++++++++++++++---------------- src/s60installs/eabi/QtMultimediau.def | 569 +- src/s60installs/eabi/QtNetworku.def | 2345 ++- src/s60installs/eabi/QtScriptu.def | 908 +- src/s60installs/eabi/QtSqlu.def | 930 +- src/s60installs/eabi/QtSvgu.def | 323 +- src/s60installs/eabi/QtTestu.def | 166 +- src/s60installs/eabi/QtWebKitu.def | 652 + src/s60installs/eabi/QtXmlu.def | 530 +- src/s60installs/eabi/phononu.def | 1086 +- 11 files changed, 18739 insertions(+), 20796 deletions(-) create mode 100644 src/s60installs/eabi/QtWebKitu.def diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def index dda89fd..2ecc48f 100644 --- a/src/s60installs/eabi/QtCoreu.def +++ b/src/s60installs/eabi/QtCoreu.def @@ -11,3827 +11,3570 @@ EXPORTS _Z11qUncompressPKhi @ 10 NONAME _Z11qt_assert_xPKcS0_S0_i @ 11 NONAME _Z11qt_int_sqrtj @ 12 NONAME - _Z11qt_nameprepRK7QString @ 13 NONAME ABSENT - _Z12noforcepointR11QTextStream @ 14 NONAME - _Z12qSharedBuildv @ 15 NONAME - _Z12q_atomic_swpPVcc @ 16 NONAME + _Z12noforcepointR11QTextStream @ 13 NONAME + _Z12qSharedBuildv @ 14 NONAME + _Z12q_atomic_swpPVcc @ 15 NONAME + _Z12qt_s60GetRFsv @ 16 NONAME _Z13lowercasebaseR11QTextStream @ 17 NONAME _Z13qErrnoWarningPKcz @ 18 NONAME _Z13qErrnoWarningiPKcz @ 19 NONAME _Z13qFlagLocationPKc @ 20 NONAME _Z13uppercasebaseR11QTextStream @ 21 NONAME - _Z15lowercasedigitsR11QTextStream @ 22 NONAME - _Z15qAddPostRoutinePFvvE @ 23 NONAME - _Z15qInitResourceIOv @ 24 NONAME - _Z15qt_atomic_yieldPi @ 25 NONAME - _Z15qt_error_stringi @ 26 NONAME - _Z15uppercasedigitsR11QTextStream @ 27 NONAME - _Z16qt_QString2HBufCRK7QString @ 28 NONAME - _Z16qt_check_pointerPKci @ 29 NONAME - _Z17qt_TDesC2QStringLRK7TDesC16 @ 30 NONAME ABSENT - _Z17qt_message_output9QtMsgTypePKc @ 31 NONAME - _Z18qGetCharAttributesPKtjPK13HB_ScriptItemjP17HB_CharAttributes @ 32 NONAME - _Z18qInstallMsgHandlerPFv9QtMsgTypePKcE @ 33 NONAME - _Z18qRemovePostRoutinePFvvE @ 34 NONAME - _Z19qcoreVariantHandlerv @ 35 NONAME - _Z20qt_qFindChild_helperPK7QObjectRK7QStringRK11QMetaObject @ 36 NONAME - _Z21qDeleteInEventHandlerP7QObject @ 37 NONAME - _Z21qRegisterResourceDataiPKhS0_S0_ @ 38 NONAME - _Z21qt_call_post_routinesv @ 39 NONAME - _Z23qUnregisterResourceDataiPKhS0_S0_ @ 40 NONAME - _Z23qt_qFindChildren_helperPK7QObjectRK7QStringPK7QRegExpRK11QMetaObjectP5QListIPvE @ 41 NONAME - _Z23qt_resolveS60PluginFunci @ 42 NONAME - _Z24qGlobalPostedEventsCountv @ 43 NONAME - _Z2wsR11QTextStream @ 44 NONAME - _Z32qt_register_signal_spy_callbacksRK21QSignalSpyCallbackSet @ 45 NONAME - _Z33QBasicAtomicInt_testAndSetOrderedPViii @ 46 NONAME - _Z34QBasicAtomicInt_fetchAndAddOrderedPVii @ 47 NONAME - _Z35qt_translateExceptionToSymbianErrorRKSt9exception @ 48 NONAME ABSENT - _Z35qt_translateSymbianErrorToExceptioni @ 49 NONAME ABSENT - _Z36QBasicAtomicInt_fetchAndStoreOrderedPVii @ 50 NONAME - _Z36qt_translateExceptionToSymbianErrorLRKSt9exception @ 51 NONAME ABSENT - _Z37QBasicAtomicPointer_testAndSetOrderedPVPvS_S_ @ 52 NONAME - _Z37qRegisterStaticPluginInstanceFunctionPFP7QObjectvE @ 53 NONAME - _Z38QBasicAtomicPointer_fetchAndAddOrderedPVPvi @ 54 NONAME - _Z3binR11QTextStream @ 55 NONAME - _Z3bomR11QTextStream @ 56 NONAME - _Z3decR11QTextStream @ 57 NONAME - _Z3hexR11QTextStream @ 58 NONAME - _Z3octR11QTextStream @ 59 NONAME - _Z40QBasicAtomicPointer_fetchAndStoreOrderedPVPvS_ @ 60 NONAME - _Z4endlR11QTextStream @ 61 NONAME - _Z4leftR11QTextStream @ 62 NONAME - _Z4qInfv @ 63 NONAME - _Z5fixedR11QTextStream @ 64 NONAME - _Z5flushR11QTextStream @ 65 NONAME - _Z5qFreePv @ 66 NONAME - _Z5qHashRK10QByteArray @ 67 NONAME - _Z5qHashRK10QStringRef @ 68 NONAME - _Z5qHashRK7QString @ 69 NONAME - _Z5qHashRK9QBitArray @ 70 NONAME - _Z5qQNaNv @ 71 NONAME - _Z5qSNaNv @ 72 NONAME - _Z5qdtoadiiPiS_PPcS1_ @ 73 NONAME - _Z5qrandv @ 74 NONAME - _Z5resetR11QTextStream @ 75 NONAME - _Z5rightR11QTextStream @ 76 NONAME - _Z6centerR11QTextStream @ 77 NONAME - _Z6qDebugPKcz @ 78 NONAME - _Z6qFatalPKcz @ 79 NONAME - _Z6qIsInfd @ 80 NONAME - _Z6qIsInff @ 81 NONAME - _Z6qIsNaNd @ 82 NONAME - _Z6qIsNaNf @ 83 NONAME - _Z6qsrandj @ 84 NONAME - _Z7qMallocj @ 85 NONAME - _Z7qMemSetPvij @ 86 NONAME - _Z7qgetenvPKc @ 87 NONAME - _Z7qputenvPKcRK10QByteArray @ 88 NONAME - _Z7qstrcmpPKcS0_ @ 89 NONAME - _Z7qstrcmpRK10QByteArrayPKc @ 90 NONAME - _Z7qstrcmpRK10QByteArrayS1_ @ 91 NONAME - _Z7qstrcpyPcPKc @ 92 NONAME - _Z7qstrdupPKc @ 93 NONAME - _Z7qstrtodPKcPS0_Pb @ 94 NONAME - _Z8qAppNamev @ 95 NONAME - _Z8qMemCopyPvPKvj @ 96 NONAME - _Z8qReallocPvj @ 97 NONAME - _Z8qVersionv @ 98 NONAME - _Z8qWarningPKcz @ 99 NONAME - _Z8qstricmpPKcS0_ @ 100 NONAME - _Z8qstrncpyPcPKcj @ 101 NONAME - _Z8qstrtollPKcPS0_iPb @ 102 NONAME ABSENT - _Z8showbaseR11QTextStream @ 103 NONAME - _Z9forcesignR11QTextStream @ 104 NONAME - _Z9qBadAllocv @ 105 NONAME - _Z9qChecksumPKcj @ 106 NONAME - _Z9qCompressPKhii @ 107 NONAME - _Z9qCriticalPKcz @ 108 NONAME - _Z9qIsFinited @ 109 NONAME - _Z9qIsFinitef @ 110 NONAME - _Z9qsnprintfPcjPKcz @ 111 NONAME - _Z9qstrnicmpPKcS0_j @ 112 NONAME - _Z9qt_assertPKcS0_i @ 113 NONAME - _ZN10QByteArray10fromBase64ERKS_ @ 114 NONAME - _ZN10QByteArray11fromRawDataEPKci @ 115 NONAME - _ZN10QByteArray11shared_nullE @ 116 NONAME DATA 20 - _ZN10QByteArray12shared_emptyE @ 117 NONAME DATA 20 - _ZN10QByteArray19fromPercentEncodingERKS_c @ 118 NONAME - _ZN10QByteArray4chopEi @ 119 NONAME - _ZN10QByteArray4fillEci @ 120 NONAME - _ZN10QByteArray5clearEv @ 121 NONAME - _ZN10QByteArray6appendEPKc @ 122 NONAME - _ZN10QByteArray6appendEPKci @ 123 NONAME - _ZN10QByteArray6appendERKS_ @ 124 NONAME - _ZN10QByteArray6appendEc @ 125 NONAME - _ZN10QByteArray6expandEi @ 126 NONAME - _ZN10QByteArray6insertEiPKc @ 127 NONAME - _ZN10QByteArray6insertEiRKS_ @ 128 NONAME - _ZN10QByteArray6insertEic @ 129 NONAME - _ZN10QByteArray6numberEdci @ 130 NONAME - _ZN10QByteArray6numberEii @ 131 NONAME - _ZN10QByteArray6numberEji @ 132 NONAME - _ZN10QByteArray6numberExi @ 133 NONAME - _ZN10QByteArray6numberEyi @ 134 NONAME - _ZN10QByteArray6removeEii @ 135 NONAME - _ZN10QByteArray6resizeEi @ 136 NONAME - _ZN10QByteArray6setNumEdci @ 137 NONAME - _ZN10QByteArray6setNumExi @ 138 NONAME - _ZN10QByteArray6setNumEyi @ 139 NONAME - _ZN10QByteArray7fromHexERKS_ @ 140 NONAME - _ZN10QByteArray7prependEPKc @ 141 NONAME - _ZN10QByteArray7prependERKS_ @ 142 NONAME - _ZN10QByteArray7prependEc @ 143 NONAME - _ZN10QByteArray7reallocEi @ 144 NONAME - _ZN10QByteArray7replaceEPKcRKS_ @ 145 NONAME - _ZN10QByteArray7replaceEPKciS1_i @ 146 NONAME - _ZN10QByteArray7replaceERKS_S1_ @ 147 NONAME - _ZN10QByteArray7replaceEcRKS_ @ 148 NONAME - _ZN10QByteArray7replaceEcc @ 149 NONAME - _ZN10QByteArray7replaceEiiPKc @ 150 NONAME - _ZN10QByteArray7replaceEiiRKS_ @ 151 NONAME - _ZN10QByteArray8truncateEi @ 152 NONAME - _ZN10QByteArrayC1EPKc @ 153 NONAME - _ZN10QByteArrayC1EPKci @ 154 NONAME - _ZN10QByteArrayC1Eic @ 155 NONAME - _ZN10QByteArrayC2EPKc @ 156 NONAME - _ZN10QByteArrayC2EPKci @ 157 NONAME - _ZN10QByteArrayC2Eic @ 158 NONAME - _ZN10QByteArrayaSEPKc @ 159 NONAME - _ZN10QByteArrayaSERKS_ @ 160 NONAME - _ZN10QEventLoop11qt_metacallEN11QMetaObject4CallEiPPv @ 161 NONAME - _ZN10QEventLoop11qt_metacastEPKc @ 162 NONAME - _ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE @ 163 NONAME - _ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEEi @ 164 NONAME - _ZN10QEventLoop16staticMetaObjectE @ 165 NONAME DATA 16 - _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE @ 166 NONAME - _ZN10QEventLoop4exitEi @ 167 NONAME - _ZN10QEventLoop4quitEv @ 168 NONAME - _ZN10QEventLoop6wakeUpEv @ 169 NONAME - _ZN10QEventLoopC1EP7QObject @ 170 NONAME - _ZN10QEventLoopC2EP7QObject @ 171 NONAME - _ZN10QEventLoopD0Ev @ 172 NONAME - _ZN10QEventLoopD1Ev @ 173 NONAME - _ZN10QEventLoopD2Ev @ 174 NONAME - _ZN10QMutexPool17globalInstanceGetEPKv @ 175 NONAME - _ZN10QMutexPool3getEPKv @ 176 NONAME - _ZN10QMutexPool8instanceEv @ 177 NONAME - _ZN10QMutexPoolC1Ebi @ 178 NONAME ABSENT - _ZN10QMutexPoolC2Ebi @ 179 NONAME ABSENT - _ZN10QMutexPoolD1Ev @ 180 NONAME - _ZN10QMutexPoolD2Ev @ 181 NONAME - _ZN10QSemaphore10tryAcquireEi @ 182 NONAME - _ZN10QSemaphore10tryAcquireEii @ 183 NONAME - _ZN10QSemaphore7acquireEi @ 184 NONAME - _ZN10QSemaphore7releaseEi @ 185 NONAME - _ZN10QSemaphoreC1Ei @ 186 NONAME - _ZN10QSemaphoreC2Ei @ 187 NONAME - _ZN10QSemaphoreD1Ev @ 188 NONAME - _ZN10QSemaphoreD2Ev @ 189 NONAME - _ZN10QTextCodec11codecForMibEi @ 190 NONAME - _ZN10QTextCodec12codecForHtmlERK10QByteArray @ 191 NONAME - _ZN10QTextCodec12codecForHtmlERK10QByteArrayPS_ @ 192 NONAME - _ZN10QTextCodec12codecForNameERK10QByteArray @ 193 NONAME - _ZN10QTextCodec13availableMibsEv @ 194 NONAME - _ZN10QTextCodec14ConverterStateD1Ev @ 195 NONAME - _ZN10QTextCodec14ConverterStateD2Ev @ 196 NONAME - _ZN10QTextCodec14codecForLocaleEv @ 197 NONAME - _ZN10QTextCodec15availableCodecsEv @ 198 NONAME - _ZN10QTextCodec17setCodecForLocaleEPS_ @ 199 NONAME - _ZN10QTextCodec4cftrE @ 200 NONAME DATA 4 - _ZN10QTextCodecC2Ev @ 201 NONAME - _ZN10QTextCodecD0Ev @ 202 NONAME - _ZN10QTextCodecD1Ev @ 203 NONAME - _ZN10QTextCodecD2Ev @ 204 NONAME - _ZN11QBasicTimer4stopEv @ 205 NONAME - _ZN11QBasicTimer5startEiP7QObject @ 206 NONAME - _ZN11QChildEventC1EN6QEvent4TypeEP7QObject @ 207 NONAME - _ZN11QChildEventC2EN6QEvent4TypeEP7QObject @ 208 NONAME - _ZN11QChildEventD0Ev @ 209 NONAME - _ZN11QChildEventD1Ev @ 210 NONAME - _ZN11QChildEventD2Ev @ 211 NONAME - _ZN11QDataStream10writeBytesEPKcj @ 212 NONAME - _ZN11QDataStream11readRawDataEPci @ 213 NONAME - _ZN11QDataStream11resetStatusEv @ 214 NONAME - _ZN11QDataStream11skipRawDataEi @ 215 NONAME - _ZN11QDataStream11unsetDeviceEv @ 216 NONAME - _ZN11QDataStream12setByteOrderENS_9ByteOrderE @ 217 NONAME - _ZN11QDataStream12writeRawDataEPKci @ 218 NONAME - _ZN11QDataStream9readBytesERPcRj @ 219 NONAME - _ZN11QDataStream9setDeviceEP9QIODevice @ 220 NONAME - _ZN11QDataStream9setStatusENS_6StatusE @ 221 NONAME - _ZN11QDataStreamC1EP10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 222 NONAME - _ZN11QDataStreamC1EP9QIODevice @ 223 NONAME - _ZN11QDataStreamC1ERK10QByteArray @ 224 NONAME - _ZN11QDataStreamC1Ev @ 225 NONAME - _ZN11QDataStreamC2EP10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 226 NONAME - _ZN11QDataStreamC2EP9QIODevice @ 227 NONAME - _ZN11QDataStreamC2ERK10QByteArray @ 228 NONAME - _ZN11QDataStreamC2Ev @ 229 NONAME - _ZN11QDataStreamD0Ev @ 230 NONAME - _ZN11QDataStreamD1Ev @ 231 NONAME - _ZN11QDataStreamD2Ev @ 232 NONAME - _ZN11QDataStreamlsEPKc @ 233 NONAME - _ZN11QDataStreamlsEa @ 234 NONAME - _ZN11QDataStreamlsEb @ 235 NONAME - _ZN11QDataStreamlsEd @ 236 NONAME - _ZN11QDataStreamlsEf @ 237 NONAME - _ZN11QDataStreamlsEi @ 238 NONAME - _ZN11QDataStreamlsEs @ 239 NONAME - _ZN11QDataStreamlsEx @ 240 NONAME - _ZN11QDataStreamrsERPc @ 241 NONAME - _ZN11QDataStreamrsERa @ 242 NONAME - _ZN11QDataStreamrsERb @ 243 NONAME - _ZN11QDataStreamrsERd @ 244 NONAME - _ZN11QDataStreamrsERf @ 245 NONAME - _ZN11QDataStreamrsERi @ 246 NONAME - _ZN11QDataStreamrsERs @ 247 NONAME - _ZN11QDataStreamrsERx @ 248 NONAME - _ZN11QMetaObject10disconnectEPK7QObjectiS2_i @ 249 NONAME - _ZN11QMetaObject11changeGuardEPP7QObjectS1_ @ 250 NONAME - _ZN11QMetaObject11removeGuardEPP7QObject @ 251 NONAME - _ZN11QMetaObject12invokeMethodEP7QObjectPKcN2Qt14ConnectionTypeE22QGenericReturnArgument16QGenericArgumentS7_S7_S7_S7_S7_S7_S7_S7_S7_ @ 252 NONAME - _ZN11QMetaObject14normalizedTypeEPKc @ 253 NONAME - _ZN11QMetaObject16checkConnectArgsEPKcS1_ @ 254 NONAME - _ZN11QMetaObject18connectSlotsByNameEP7QObject @ 255 NONAME - _ZN11QMetaObject19normalizedSignatureEPKc @ 256 NONAME - _ZN11QMetaObject7connectEPK7QObjectiS2_iiPi @ 257 NONAME - _ZN11QMetaObject8activateEP7QObjectPKS_iPPv @ 258 NONAME - _ZN11QMetaObject8activateEP7QObjectPKS_iiPPv @ 259 NONAME - _ZN11QMetaObject8activateEP7QObjectiPPv @ 260 NONAME - _ZN11QMetaObject8activateEP7QObjectiiPPv @ 261 NONAME - _ZN11QMetaObject8addGuardEPP7QObject @ 262 NONAME - _ZN11QTextStream10setPadCharE5QChar @ 263 NONAME - _ZN11QTextStream11resetStatusEv @ 264 NONAME - _ZN11QTextStream13setFieldWidthEi @ 265 NONAME - _ZN11QTextStream14setIntegerBaseEi @ 266 NONAME - _ZN11QTextStream14setNumberFlagsE6QFlagsINS_10NumberFlagEE @ 267 NONAME - _ZN11QTextStream14skipWhiteSpaceEv @ 268 NONAME - _ZN11QTextStream17setFieldAlignmentENS_14FieldAlignmentE @ 269 NONAME - _ZN11QTextStream20setAutoDetectUnicodeEb @ 270 NONAME - _ZN11QTextStream21setRealNumberNotationENS_18RealNumberNotationE @ 271 NONAME - _ZN11QTextStream22setRealNumberPrecisionEi @ 272 NONAME - _ZN11QTextStream24setGenerateByteOrderMarkEb @ 273 NONAME - _ZN11QTextStream4readEx @ 274 NONAME - _ZN11QTextStream4seekEx @ 275 NONAME - _ZN11QTextStream5flushEv @ 276 NONAME - _ZN11QTextStream5resetEv @ 277 NONAME - _ZN11QTextStream7readAllEv @ 278 NONAME - _ZN11QTextStream8readLineEx @ 279 NONAME - _ZN11QTextStream8setCodecEP10QTextCodec @ 280 NONAME - _ZN11QTextStream8setCodecEPKc @ 281 NONAME - _ZN11QTextStream9setDeviceEP9QIODevice @ 282 NONAME - _ZN11QTextStream9setLocaleERK7QLocale @ 283 NONAME - _ZN11QTextStream9setStatusENS_6StatusE @ 284 NONAME - _ZN11QTextStream9setStringEP7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 285 NONAME - _ZN11QTextStreamC1EP10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 286 NONAME - _ZN11QTextStreamC1EP7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 287 NONAME - _ZN11QTextStreamC1EP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEE @ 288 NONAME - _ZN11QTextStreamC1EP9QIODevice @ 289 NONAME - _ZN11QTextStreamC1ERK10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 290 NONAME - _ZN11QTextStreamC1Ev @ 291 NONAME - _ZN11QTextStreamC2EP10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 292 NONAME - _ZN11QTextStreamC2EP7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 293 NONAME - _ZN11QTextStreamC2EP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEE @ 294 NONAME - _ZN11QTextStreamC2EP9QIODevice @ 295 NONAME - _ZN11QTextStreamC2ERK10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 296 NONAME - _ZN11QTextStreamC2Ev @ 297 NONAME - _ZN11QTextStreamD0Ev @ 298 NONAME - _ZN11QTextStreamD1Ev @ 299 NONAME - _ZN11QTextStreamD2Ev @ 300 NONAME - _ZN11QTextStreamlsE5QBool @ 301 NONAME - _ZN11QTextStreamlsE5QChar @ 302 NONAME - _ZN11QTextStreamlsEPKc @ 303 NONAME - _ZN11QTextStreamlsEPKv @ 304 NONAME - _ZN11QTextStreamlsERK10QByteArray @ 305 NONAME - _ZN11QTextStreamlsERK7QString @ 306 NONAME - _ZN11QTextStreamlsEc @ 307 NONAME - _ZN11QTextStreamlsEd @ 308 NONAME - _ZN11QTextStreamlsEf @ 309 NONAME - _ZN11QTextStreamlsEi @ 310 NONAME - _ZN11QTextStreamlsEj @ 311 NONAME - _ZN11QTextStreamlsEl @ 312 NONAME - _ZN11QTextStreamlsEm @ 313 NONAME - _ZN11QTextStreamlsEs @ 314 NONAME - _ZN11QTextStreamlsEt @ 315 NONAME - _ZN11QTextStreamlsEx @ 316 NONAME - _ZN11QTextStreamlsEy @ 317 NONAME - _ZN11QTextStreamrsEPc @ 318 NONAME - _ZN11QTextStreamrsER10QByteArray @ 319 NONAME - _ZN11QTextStreamrsER5QChar @ 320 NONAME - _ZN11QTextStreamrsER7QString @ 321 NONAME - _ZN11QTextStreamrsERc @ 322 NONAME - _ZN11QTextStreamrsERd @ 323 NONAME - _ZN11QTextStreamrsERf @ 324 NONAME - _ZN11QTextStreamrsERi @ 325 NONAME - _ZN11QTextStreamrsERj @ 326 NONAME - _ZN11QTextStreamrsERl @ 327 NONAME - _ZN11QTextStreamrsERm @ 328 NONAME - _ZN11QTextStreamrsERs @ 329 NONAME - _ZN11QTextStreamrsERt @ 330 NONAME - _ZN11QTextStreamrsERx @ 331 NONAME - _ZN11QTextStreamrsERy @ 332 NONAME - _ZN11QThreadData3refEv @ 333 NONAME ABSENT - _ZN11QThreadData4get2EP7QThread @ 334 NONAME ABSENT - _ZN11QThreadData5derefEv @ 335 NONAME ABSENT - _ZN11QThreadData7currentEv @ 336 NONAME ABSENT - _ZN11QThreadDataC1Ei @ 337 NONAME ABSENT - _ZN11QThreadDataC2Ei @ 338 NONAME ABSENT - _ZN11QThreadDataD1Ev @ 339 NONAME ABSENT - _ZN11QThreadDataD2Ev @ 340 NONAME ABSENT - _ZN11QThreadPool11qt_metacallEN11QMetaObject4CallEiPPv @ 341 NONAME - _ZN11QThreadPool11qt_metacastEPKc @ 342 NONAME - _ZN11QThreadPool11waitForDoneEv @ 343 NONAME - _ZN11QThreadPool13releaseThreadEv @ 344 NONAME - _ZN11QThreadPool13reserveThreadEv @ 345 NONAME - _ZN11QThreadPool14globalInstanceEv @ 346 NONAME - _ZN11QThreadPool16setExpiryTimeoutEi @ 347 NONAME - _ZN11QThreadPool16staticMetaObjectE @ 348 NONAME DATA 16 - _ZN11QThreadPool17setMaxThreadCountEi @ 349 NONAME - _ZN11QThreadPool5startEP9QRunnablei @ 350 NONAME - _ZN11QThreadPool8tryStartEP9QRunnable @ 351 NONAME - _ZN11QThreadPoolC1EP7QObject @ 352 NONAME - _ZN11QThreadPoolC2EP7QObject @ 353 NONAME - _ZN11QThreadPoolD0Ev @ 354 NONAME - _ZN11QThreadPoolD1Ev @ 355 NONAME - _ZN11QThreadPoolD2Ev @ 356 NONAME - _ZN11QTimerEventC1Ei @ 357 NONAME - _ZN11QTimerEventC2Ei @ 358 NONAME - _ZN11QTimerEventD0Ev @ 359 NONAME - _ZN11QTimerEventD1Ev @ 360 NONAME - _ZN11QTimerEventD2Ev @ 361 NONAME - _ZN11QTranslator11qt_metacallEN11QMetaObject4CallEiPPv @ 362 NONAME - _ZN11QTranslator11qt_metacastEPKc @ 363 NONAME - _ZN11QTranslator16staticMetaObjectE @ 364 NONAME DATA 16 - _ZN11QTranslator4loadEPKhi @ 365 NONAME - _ZN11QTranslator4loadERK7QStringS2_S2_S2_ @ 366 NONAME - _ZN11QTranslatorC1EP7QObject @ 367 NONAME - _ZN11QTranslatorC2EP7QObject @ 368 NONAME - _ZN11QTranslatorD0Ev @ 369 NONAME - _ZN11QTranslatorD1Ev @ 370 NONAME - _ZN11QTranslatorD2Ev @ 371 NONAME - _ZN11QTsciiCodecD0Ev @ 372 NONAME ABSENT - _ZN11QTsciiCodecD1Ev @ 373 NONAME ABSENT - _ZN11QTsciiCodecD2Ev @ 374 NONAME ABSENT - _ZN11QVectorData11shared_nullE @ 375 NONAME DATA 16 - _ZN11QVectorData4growEiiib @ 376 NONAME - _ZN11QVectorData6mallocEiiiPS_ @ 377 NONAME - _ZN12QDirIterator4nextEv @ 378 NONAME - _ZN12QDirIteratorC1ERK4QDir6QFlagsINS_12IteratorFlagEE @ 379 NONAME - _ZN12QDirIteratorC1ERK7QString6QFlagsIN4QDir6FilterEES3_INS_12IteratorFlagEE @ 380 NONAME - _ZN12QDirIteratorC1ERK7QString6QFlagsINS_12IteratorFlagEE @ 381 NONAME - _ZN12QDirIteratorC1ERK7QStringRK11QStringList6QFlagsIN4QDir6FilterEES6_INS_12IteratorFlagEE @ 382 NONAME - _ZN12QDirIteratorC2ERK4QDir6QFlagsINS_12IteratorFlagEE @ 383 NONAME - _ZN12QDirIteratorC2ERK7QString6QFlagsIN4QDir6FilterEES3_INS_12IteratorFlagEE @ 384 NONAME - _ZN12QDirIteratorC2ERK7QString6QFlagsINS_12IteratorFlagEE @ 385 NONAME - _ZN12QDirIteratorC2ERK7QStringRK11QStringList6QFlagsIN4QDir6FilterEES6_INS_12IteratorFlagEE @ 386 NONAME - _ZN12QDirIteratorD0Ev @ 387 NONAME - _ZN12QDirIteratorD1Ev @ 388 NONAME - _ZN12QDirIteratorD2Ev @ 389 NONAME - _ZN12QLibraryInfo16licensedProductsEv @ 390 NONAME - _ZN12QLibraryInfo8buildKeyEv @ 391 NONAME - _ZN12QLibraryInfo8licenseeEv @ 392 NONAME - _ZN12QLibraryInfo8locationENS_15LibraryLocationE @ 393 NONAME - _ZN12QLibraryInfoC1Ev @ 394 NONAME - _ZN12QLibraryInfoC2Ev @ 395 NONAME - _ZN12QTextDecoder9toUnicodeEP7QStringPKci @ 396 NONAME - _ZN12QTextDecoder9toUnicodeEPKci @ 397 NONAME - _ZN12QTextDecoder9toUnicodeERK10QByteArray @ 398 NONAME - _ZN12QTextDecoderD1Ev @ 399 NONAME - _ZN12QTextDecoderD2Ev @ 400 NONAME - _ZN12QTextEncoder11fromUnicodeEPK5QChari @ 401 NONAME - _ZN12QTextEncoder11fromUnicodeERK7QString @ 402 NONAME - _ZN12QTextEncoderD1Ev @ 403 NONAME - _ZN12QTextEncoderD2Ev @ 404 NONAME - _ZN13QFSFileEngine11currentPathERK7QString @ 405 NONAME - _ZN13QFSFileEngine11setFileNameERK7QString @ 406 NONAME - _ZN13QFSFileEngine12endEntryListEv @ 407 NONAME - _ZN13QFSFileEngine14beginEntryListE6QFlagsIN4QDir6FilterEERK11QStringList @ 408 NONAME - _ZN13QFSFileEngine14setCurrentPathERK7QString @ 409 NONAME - _ZN13QFSFileEngine14setPermissionsEj @ 410 NONAME - _ZN13QFSFileEngine4copyERK7QString @ 411 NONAME - _ZN13QFSFileEngine4linkERK7QString @ 412 NONAME - _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 413 NONAME - _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEEP7__sFILE @ 414 NONAME - _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEEi @ 415 NONAME - _ZN13QFSFileEngine4readEPcx @ 416 NONAME - _ZN13QFSFileEngine4seekEx @ 417 NONAME - _ZN13QFSFileEngine5closeEv @ 418 NONAME - _ZN13QFSFileEngine5flushEv @ 419 NONAME - _ZN13QFSFileEngine5writeEPKcx @ 420 NONAME - _ZN13QFSFileEngine6drivesEv @ 421 NONAME - _ZN13QFSFileEngine6removeEv @ 422 NONAME - _ZN13QFSFileEngine6renameERK7QString @ 423 NONAME - _ZN13QFSFileEngine7setSizeEx @ 424 NONAME - _ZN13QFSFileEngine8homePathEv @ 425 NONAME - _ZN13QFSFileEngine8readLineEPcx @ 426 NONAME - _ZN13QFSFileEngine8rootPathEv @ 427 NONAME - _ZN13QFSFileEngine8tempPathEv @ 428 NONAME - _ZN13QFSFileEngine9extensionEN19QAbstractFileEngine9ExtensionEPKNS0_15ExtensionOptionEPNS0_15ExtensionReturnE @ 429 NONAME - _ZN13QFSFileEngineC1ER20QFSFileEnginePrivate @ 430 NONAME - _ZN13QFSFileEngineC1ERK7QString @ 431 NONAME - _ZN13QFSFileEngineC1Ev @ 432 NONAME - _ZN13QFSFileEngineC2ER20QFSFileEnginePrivate @ 433 NONAME - _ZN13QFSFileEngineC2ERK7QString @ 434 NONAME - _ZN13QFSFileEngineC2Ev @ 435 NONAME - _ZN13QFSFileEngineD0Ev @ 436 NONAME - _ZN13QFSFileEngineD1Ev @ 437 NONAME - _ZN13QFSFileEngineD2Ev @ 438 NONAME - _ZN13QFontLaoCodecD0Ev @ 439 NONAME - _ZN13QFontLaoCodecD1Ev @ 440 NONAME - _ZN13QFontLaoCodecD2Ev @ 441 NONAME - _ZN13QMetaPropertyC1Ev @ 442 NONAME - _ZN13QMetaPropertyC2Ev @ 443 NONAME - _ZN13QPluginLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 444 NONAME - _ZN13QPluginLoader11qt_metacastEPKc @ 445 NONAME - _ZN13QPluginLoader11setFileNameERK7QString @ 446 NONAME - _ZN13QPluginLoader12setLoadHintsE6QFlagsIN8QLibrary8LoadHintEE @ 447 NONAME - _ZN13QPluginLoader15staticInstancesEv @ 448 NONAME - _ZN13QPluginLoader16staticMetaObjectE @ 449 NONAME DATA 16 - _ZN13QPluginLoader4loadEv @ 450 NONAME - _ZN13QPluginLoader6unloadEv @ 451 NONAME - _ZN13QPluginLoader8instanceEv @ 452 NONAME - _ZN13QPluginLoaderC1EP7QObject @ 453 NONAME - _ZN13QPluginLoaderC1ERK7QStringP7QObject @ 454 NONAME - _ZN13QPluginLoaderC2EP7QObject @ 455 NONAME - _ZN13QPluginLoaderC2ERK7QStringP7QObject @ 456 NONAME - _ZN13QPluginLoaderD0Ev @ 457 NONAME - _ZN13QPluginLoaderD1Ev @ 458 NONAME - _ZN13QPluginLoaderD2Ev @ 459 NONAME - _ZN13QSharedMemory11qt_metacallEN11QMetaObject4CallEiPPv @ 460 NONAME - _ZN13QSharedMemory11qt_metacastEPKc @ 461 NONAME - _ZN13QSharedMemory16staticMetaObjectE @ 462 NONAME DATA 16 - _ZN13QSharedMemory4dataEv @ 463 NONAME - _ZN13QSharedMemory4lockEv @ 464 NONAME - _ZN13QSharedMemory6attachENS_10AccessModeE @ 465 NONAME - _ZN13QSharedMemory6createEiNS_10AccessModeE @ 466 NONAME - _ZN13QSharedMemory6detachEv @ 467 NONAME - _ZN13QSharedMemory6setKeyERK7QString @ 468 NONAME - _ZN13QSharedMemory6unlockEv @ 469 NONAME - _ZN13QSharedMemoryC1EP7QObject @ 470 NONAME - _ZN13QSharedMemoryC1ERK7QStringP7QObject @ 471 NONAME - _ZN13QSharedMemoryC2EP7QObject @ 472 NONAME - _ZN13QSharedMemoryC2ERK7QStringP7QObject @ 473 NONAME - _ZN13QSharedMemoryD0Ev @ 474 NONAME - _ZN13QSharedMemoryD1Ev @ 475 NONAME - _ZN13QSharedMemoryD2Ev @ 476 NONAME - _ZN13QSignalMapper10setMappingEP7QObjectP7QWidget @ 477 NONAME - _ZN13QSignalMapper10setMappingEP7QObjectRK7QString @ 478 NONAME - _ZN13QSignalMapper10setMappingEP7QObjectS1_ @ 479 NONAME - _ZN13QSignalMapper10setMappingEP7QObjecti @ 480 NONAME - _ZN13QSignalMapper11qt_metacallEN11QMetaObject4CallEiPPv @ 481 NONAME - _ZN13QSignalMapper11qt_metacastEPKc @ 482 NONAME - _ZN13QSignalMapper14removeMappingsEP7QObject @ 483 NONAME - _ZN13QSignalMapper16staticMetaObjectE @ 484 NONAME DATA 16 - _ZN13QSignalMapper3mapEP7QObject @ 485 NONAME - _ZN13QSignalMapper3mapEv @ 486 NONAME - _ZN13QSignalMapper6mappedEP7QObject @ 487 NONAME - _ZN13QSignalMapper6mappedEP7QWidget @ 488 NONAME - _ZN13QSignalMapper6mappedERK7QString @ 489 NONAME - _ZN13QSignalMapper6mappedEi @ 490 NONAME - _ZN13QSignalMapperC1EP7QObject @ 491 NONAME - _ZN13QSignalMapperC2EP7QObject @ 492 NONAME - _ZN13QSignalMapperD0Ev @ 493 NONAME - _ZN13QSignalMapperD1Ev @ 494 NONAME - _ZN13QSignalMapperD2Ev @ 495 NONAME - _ZN13QSystemLocaleC1Eb @ 496 NONAME - _ZN13QSystemLocaleC1Ev @ 497 NONAME - _ZN13QSystemLocaleC2Eb @ 498 NONAME - _ZN13QSystemLocaleC2Ev @ 499 NONAME - _ZN13QSystemLocaleD0Ev @ 500 NONAME - _ZN13QSystemLocaleD1Ev @ 501 NONAME - _ZN13QSystemLocaleD2Ev @ 502 NONAME - _ZN14QFactoryLoader10refreshAllEv @ 503 NONAME - _ZN14QFactoryLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 504 NONAME - _ZN14QFactoryLoader11qt_metacastEPKc @ 505 NONAME - _ZN14QFactoryLoader16staticMetaObjectE @ 506 NONAME DATA 16 - _ZN14QFactoryLoader6updateEv @ 507 NONAME - _ZN14QFactoryLoaderC1EPKcRK7QStringN2Qt15CaseSensitivityE @ 508 NONAME - _ZN14QFactoryLoaderC2EPKcRK7QStringN2Qt15CaseSensitivityE @ 509 NONAME - _ZN14QFactoryLoaderD0Ev @ 510 NONAME - _ZN14QFactoryLoaderD1Ev @ 511 NONAME - _ZN14QFactoryLoaderD2Ev @ 512 NONAME - _ZN14QLocalePrivate17bytearrayToDoubleEPKcPbS2_ @ 513 NONAME - _ZN14QLocalePrivate19bytearrayToLongLongEPKciPbS2_ @ 514 NONAME - _ZN14QLocalePrivate19updateSystemPrivateEv @ 515 NONAME - _ZN14QLocalePrivate22bytearrayToUnsLongLongEPKciPb @ 516 NONAME - _ZN14QMetaCallEvent13placeMetaCallEP7QObject @ 517 NONAME - _ZN14QMetaCallEventC1EiPK7QObjectiiPiPPvP10QSemaphore @ 518 NONAME - _ZN14QMetaCallEventC2EiPK7QObjectiiPiPPvP10QSemaphore @ 519 NONAME - _ZN14QMetaCallEventD0Ev @ 520 NONAME - _ZN14QMetaCallEventD1Ev @ 521 NONAME - _ZN14QMetaCallEventD2Ev @ 522 NONAME - _ZN14QObjectPrivate11clearGuardsEP7QObject @ 523 NONAME - _ZN14QObjectPrivate11derefSenderEP7QObjecti @ 524 NONAME ABSENT - _ZN14QObjectPrivate13addConnectionEiPNS_10ConnectionE @ 525 NONAME - _ZN14QObjectPrivate14deleteChildrenEv @ 526 NONAME - _ZN14QObjectPrivate14removeReceiverEiP7QObject @ 527 NONAME ABSENT - _ZN14QObjectPrivate14setDeleteWatchEPS_Pi @ 528 NONAME - _ZN14QObjectPrivate16resetDeleteWatchEPS_Pii @ 529 NONAME - _ZN14QObjectPrivate16setCurrentSenderEP7QObjectPNS_6SenderE @ 530 NONAME - _ZN14QObjectPrivate16setParent_helperEP7QObject @ 531 NONAME - _ZN14QObjectPrivate18resetCurrentSenderEP7QObjectPNS_6SenderES3_ @ 532 NONAME - _ZN14QObjectPrivate19_q_reregisterTimersEPv @ 533 NONAME - _ZN14QObjectPrivate19moveToThread_helperEv @ 534 NONAME - _ZN14QObjectPrivate20cleanConnectionListsEv @ 535 NONAME - _ZN14QObjectPrivate20setThreadData_helperEP11QThreadDataS1_ @ 536 NONAME - _ZN14QObjectPrivate9refSenderEP7QObjecti @ 537 NONAME ABSENT - _ZN14QObjectPrivateC1Ei @ 538 NONAME - _ZN14QObjectPrivateC2Ei @ 539 NONAME - _ZN14QObjectPrivateD0Ev @ 540 NONAME - _ZN14QObjectPrivateD1Ev @ 541 NONAME - _ZN14QObjectPrivateD2Ev @ 542 NONAME - _ZN14QReadWriteLock11lockForReadEv @ 543 NONAME - _ZN14QReadWriteLock12lockForWriteEv @ 544 NONAME - _ZN14QReadWriteLock14tryLockForReadEi @ 545 NONAME - _ZN14QReadWriteLock14tryLockForReadEv @ 546 NONAME - _ZN14QReadWriteLock15tryLockForWriteEi @ 547 NONAME - _ZN14QReadWriteLock15tryLockForWriteEv @ 548 NONAME - _ZN14QReadWriteLock6unlockEv @ 549 NONAME - _ZN14QReadWriteLockC1ENS_13RecursionModeE @ 550 NONAME - _ZN14QReadWriteLockC1Ev @ 551 NONAME - _ZN14QReadWriteLockC2ENS_13RecursionModeE @ 552 NONAME - _ZN14QReadWriteLockC2Ev @ 553 NONAME - _ZN14QReadWriteLockD1Ev @ 554 NONAME - _ZN14QReadWriteLockD2Ev @ 555 NONAME - _ZN14QStringMatcher10setPatternERK7QString @ 556 NONAME - _ZN14QStringMatcher18setCaseSensitivityEN2Qt15CaseSensitivityE @ 557 NONAME - _ZN14QStringMatcherC1EPK5QChariN2Qt15CaseSensitivityE @ 558 NONAME - _ZN14QStringMatcherC1ERK7QStringN2Qt15CaseSensitivityE @ 559 NONAME - _ZN14QStringMatcherC1ERKS_ @ 560 NONAME - _ZN14QStringMatcherC1Ev @ 561 NONAME - _ZN14QStringMatcherC2EPK5QChariN2Qt15CaseSensitivityE @ 562 NONAME - _ZN14QStringMatcherC2ERK7QStringN2Qt15CaseSensitivityE @ 563 NONAME - _ZN14QStringMatcherC2ERKS_ @ 564 NONAME - _ZN14QStringMatcherC2Ev @ 565 NONAME - _ZN14QStringMatcherD1Ev @ 566 NONAME - _ZN14QStringMatcherD2Ev @ 567 NONAME - _ZN14QStringMatcheraSERKS_ @ 568 NONAME - _ZN14QTemporaryFile11qt_metacallEN11QMetaObject4CallEiPPv @ 569 NONAME - _ZN14QTemporaryFile11qt_metacastEPKc @ 570 NONAME - _ZN14QTemporaryFile13setAutoRemoveEb @ 571 NONAME - _ZN14QTemporaryFile15createLocalFileER5QFile @ 572 NONAME - _ZN14QTemporaryFile15setFileTemplateERK7QString @ 573 NONAME - _ZN14QTemporaryFile16staticMetaObjectE @ 574 NONAME DATA 16 - _ZN14QTemporaryFile4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 575 NONAME - _ZN14QTemporaryFileC1EP7QObject @ 576 NONAME - _ZN14QTemporaryFileC1ERK7QString @ 577 NONAME - _ZN14QTemporaryFileC1ERK7QStringP7QObject @ 578 NONAME - _ZN14QTemporaryFileC1Ev @ 579 NONAME - _ZN14QTemporaryFileC2EP7QObject @ 580 NONAME - _ZN14QTemporaryFileC2ERK7QString @ 581 NONAME - _ZN14QTemporaryFileC2ERK7QStringP7QObject @ 582 NONAME - _ZN14QTemporaryFileC2Ev @ 583 NONAME - _ZN14QTemporaryFileD0Ev @ 584 NONAME - _ZN14QTemporaryFileD1Ev @ 585 NONAME - _ZN14QTemporaryFileD2Ev @ 586 NONAME - _ZN14QUnicodeTables10propertiesEj @ 587 NONAME - _ZN14QUnicodeTables10propertiesEt @ 588 NONAME - _ZN14QUnicodeTables14lineBreakClassEj @ 589 NONAME - _ZN14QUnicodeTables6scriptEj @ 590 NONAME - _ZN14QWaitCondition4waitEP14QReadWriteLockm @ 591 NONAME - _ZN14QWaitCondition4waitEP6QMutexm @ 592 NONAME - _ZN14QWaitCondition7wakeAllEv @ 593 NONAME - _ZN14QWaitCondition7wakeOneEv @ 594 NONAME - _ZN14QWaitConditionC1Ev @ 595 NONAME - _ZN14QWaitConditionC2Ev @ 596 NONAME - _ZN14QWaitConditionD1Ev @ 597 NONAME - _ZN14QWaitConditionD2Ev @ 598 NONAME - _ZN15QBasicAtomicInt20fetchAndStoreOrderedEi @ 599 NONAME - _ZN15QDateTimeParser11parseFormatERK7QString @ 600 NONAME - _ZN15QLinkedListData11shared_nullE @ 601 NONAME DATA 20 - _ZN15QObjectUserDataD0Ev @ 602 NONAME - _ZN15QObjectUserDataD1Ev @ 603 NONAME - _ZN15QObjectUserDataD2Ev @ 604 NONAME - _ZN15QSocketNotifier10setEnabledEb @ 605 NONAME - _ZN15QSocketNotifier11qt_metacallEN11QMetaObject4CallEiPPv @ 606 NONAME - _ZN15QSocketNotifier11qt_metacastEPKc @ 607 NONAME - _ZN15QSocketNotifier16staticMetaObjectE @ 608 NONAME DATA 16 - _ZN15QSocketNotifier5eventEP6QEvent @ 609 NONAME - _ZN15QSocketNotifier9activatedEi @ 610 NONAME - _ZN15QSocketNotifierC1EiNS_4TypeEP7QObject @ 611 NONAME - _ZN15QSocketNotifierC2EiNS_4TypeEP7QObject @ 612 NONAME - _ZN15QSocketNotifierD0Ev @ 613 NONAME - _ZN15QSocketNotifierD1Ev @ 614 NONAME - _ZN15QSocketNotifierD2Ev @ 615 NONAME - _ZN15QtSharedPointer22internalSafetyCheckAddEPVKv @ 616 NONAME - _ZN15QtSharedPointer25internalSafetyCheckRemoveEPVKv @ 617 NONAME - _ZN16QCoreApplication10startingUpEv @ 618 NONAME - _ZN16QCoreApplication10unixSignalEi @ 619 NONAME - _ZN16QCoreApplication11aboutToQuitEv @ 620 NONAME - _ZN16QCoreApplication11closingDownEv @ 621 NONAME - _ZN16QCoreApplication11filterEventEPvPl @ 622 NONAME - _ZN16QCoreApplication11qt_metacallEN11QMetaObject4CallEiPPv @ 623 NONAME - _ZN16QCoreApplication11qt_metacastEPKc @ 624 NONAME - _ZN16QCoreApplication12libraryPathsEv @ 625 NONAME - _ZN16QCoreApplication12setAttributeEN2Qt20ApplicationAttributeEb @ 626 NONAME - _ZN16QCoreApplication13compressEventEP6QEventP7QObjectP14QPostEventList @ 627 NONAME - _ZN16QCoreApplication13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE @ 628 NONAME - _ZN16QCoreApplication13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEEi @ 629 NONAME - _ZN16QCoreApplication13testAttributeEN2Qt20ApplicationAttributeE @ 630 NONAME - _ZN16QCoreApplication14addLibraryPathERK7QString @ 631 NONAME - _ZN16QCoreApplication14applicationPidEv @ 632 NONAME - _ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent @ 633 NONAME - _ZN16QCoreApplication14setEventFilterEPFbPvPlE @ 634 NONAME - _ZN16QCoreApplication15applicationNameEv @ 635 NONAME - _ZN16QCoreApplication15setLibraryPathsERK11QStringList @ 636 NONAME - _ZN16QCoreApplication16hasPendingEventsEv @ 637 NONAME - _ZN16QCoreApplication16organizationNameEv @ 638 NONAME - _ZN16QCoreApplication16removeTranslatorEP11QTranslator @ 639 NONAME - _ZN16QCoreApplication16sendPostedEventsEP7QObjecti @ 640 NONAME - _ZN16QCoreApplication16staticMetaObjectE @ 641 NONAME DATA 16 - _ZN16QCoreApplication17installTranslatorEP11QTranslator @ 642 NONAME - _ZN16QCoreApplication17removeLibraryPathERK7QString @ 643 NONAME - _ZN16QCoreApplication18applicationDirPathEv @ 644 NONAME - _ZN16QCoreApplication18applicationVersionEv @ 645 NONAME - _ZN16QCoreApplication18organizationDomainEv @ 646 NONAME - _ZN16QCoreApplication18removePostedEventsEP7QObject @ 647 NONAME - _ZN16QCoreApplication18removePostedEventsEP7QObjecti @ 648 NONAME - _ZN16QCoreApplication18setApplicationNameERK7QString @ 649 NONAME - _ZN16QCoreApplication19applicationFilePathEv @ 650 NONAME - _ZN16QCoreApplication19setOrganizationNameERK7QString @ 651 NONAME - _ZN16QCoreApplication21setApplicationVersionERK7QString @ 652 NONAME - _ZN16QCoreApplication21setOrganizationDomainERK7QString @ 653 NONAME - _ZN16QCoreApplication4argcEv @ 654 NONAME - _ZN16QCoreApplication4argvEv @ 655 NONAME - _ZN16QCoreApplication4execEv @ 656 NONAME - _ZN16QCoreApplication4exitEi @ 657 NONAME - _ZN16QCoreApplication4initEv @ 658 NONAME - _ZN16QCoreApplication4quitEv @ 659 NONAME - _ZN16QCoreApplication4selfE @ 660 NONAME DATA 4 - _ZN16QCoreApplication5eventEP6QEvent @ 661 NONAME - _ZN16QCoreApplication5flushEv @ 662 NONAME - _ZN16QCoreApplication6notifyEP7QObjectP6QEvent @ 663 NONAME - _ZN16QCoreApplication9argumentsEv @ 664 NONAME - _ZN16QCoreApplication9postEventEP7QObjectP6QEvent @ 665 NONAME - _ZN16QCoreApplication9postEventEP7QObjectP6QEventi @ 666 NONAME - _ZN16QCoreApplication9translateEPKcS1_S1_NS_8EncodingE @ 667 NONAME - _ZN16QCoreApplication9translateEPKcS1_S1_NS_8EncodingEi @ 668 NONAME - _ZN16QCoreApplicationC1ER23QCoreApplicationPrivate @ 669 NONAME - _ZN16QCoreApplicationC1ERiPPc @ 670 NONAME - _ZN16QCoreApplicationC2ER23QCoreApplicationPrivate @ 671 NONAME - _ZN16QCoreApplicationC2ERiPPc @ 672 NONAME - _ZN16QCoreApplicationD0Ev @ 673 NONAME - _ZN16QCoreApplicationD1Ev @ 674 NONAME - _ZN16QCoreApplicationD2Ev @ 675 NONAME - _ZN16QIODevicePrivate13putCharHelperEc @ 676 NONAME - _ZN16QIODevicePrivateC1Ev @ 677 NONAME - _ZN16QIODevicePrivateC2Ev @ 678 NONAME - _ZN16QIODevicePrivateD0Ev @ 679 NONAME - _ZN16QIODevicePrivateD1Ev @ 680 NONAME - _ZN16QIODevicePrivateD2Ev @ 681 NONAME - _ZN16QSettingsPrivate12processChildE7QStringNS_9ChildSpecER4QMapIS0_S0_E @ 682 NONAME - _ZN16QSettingsPrivate13iniEscapedKeyERK7QStringR10QByteArray @ 683 NONAME - _ZN16QSettingsPrivate13normalizedKeyERK7QString @ 684 NONAME - _ZN16QSettingsPrivate13requestUpdateEv @ 685 NONAME - _ZN16QSettingsPrivate15iniUnescapedKeyERK10QByteArrayiiR7QString @ 686 NONAME - _ZN16QSettingsPrivate15stringToVariantERK7QString @ 687 NONAME - _ZN16QSettingsPrivate15variantToStringERK8QVariant @ 688 NONAME - _ZN16QSettingsPrivate16iniEscapedStringERK7QStringR10QByteArrayP10QTextCodec @ 689 NONAME - _ZN16QSettingsPrivate17beginGroupOrArrayERK14QSettingsGroup @ 690 NONAME - _ZN16QSettingsPrivate20iniEscapedStringListERK11QStringListR10QByteArrayP10QTextCodec @ 691 NONAME - _ZN16QSettingsPrivate22iniUnescapedStringListERK10QByteArrayiiR7QStringR11QStringListP10QTextCodec @ 692 NONAME - _ZN16QSettingsPrivate23stringListToVariantListERK11QStringList @ 693 NONAME - _ZN16QSettingsPrivate23variantListToStringListERK5QListI8QVariantE @ 694 NONAME - _ZN16QSettingsPrivate6createEN9QSettings6FormatENS0_5ScopeERK7QStringS5_ @ 695 NONAME - _ZN16QSettingsPrivate6createERK7QStringN9QSettings6FormatE @ 696 NONAME - _ZN16QSettingsPrivate6updateEv @ 697 NONAME - _ZN16QSettingsPrivate9splitArgsERK7QStringi @ 698 NONAME - _ZN16QSettingsPrivateC2EN9QSettings6FormatE @ 699 NONAME - _ZN16QSettingsPrivateC2EN9QSettings6FormatENS0_5ScopeERK7QStringS5_ @ 700 NONAME - _ZN16QSettingsPrivateD0Ev @ 701 NONAME - _ZN16QSettingsPrivateD1Ev @ 702 NONAME - _ZN16QSettingsPrivateD2Ev @ 703 NONAME - _ZN16QSystemSemaphore6setKeyERK7QStringiNS_10AccessModeE @ 704 NONAME - _ZN16QSystemSemaphore7acquireEv @ 705 NONAME - _ZN16QSystemSemaphore7releaseEi @ 706 NONAME - _ZN16QSystemSemaphoreC1ERK7QStringiNS_10AccessModeE @ 707 NONAME - _ZN16QSystemSemaphoreC2ERK7QStringiNS_10AccessModeE @ 708 NONAME - _ZN16QSystemSemaphoreD1Ev @ 709 NONAME - _ZN16QSystemSemaphoreD2Ev @ 710 NONAME - _ZN16QTextCodecPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 711 NONAME - _ZN16QTextCodecPlugin11qt_metacastEPKc @ 712 NONAME - _ZN16QTextCodecPlugin16staticMetaObjectE @ 713 NONAME DATA 16 - _ZN16QTextCodecPlugin6createERK7QString @ 714 NONAME - _ZN16QTextCodecPluginC2EP7QObject @ 715 NONAME - _ZN16QTextCodecPluginD0Ev @ 716 NONAME - _ZN16QTextCodecPluginD1Ev @ 717 NONAME - _ZN16QTextCodecPluginD2Ev @ 718 NONAME - _ZN16QXmlStreamReader10raiseErrorERK7QString @ 719 NONAME - _ZN16QXmlStreamReader15readElementTextEv @ 720 NONAME - _ZN16QXmlStreamReader17setEntityResolverEP24QXmlStreamEntityResolver @ 721 NONAME - _ZN16QXmlStreamReader22setNamespaceProcessingEb @ 722 NONAME - _ZN16QXmlStreamReader28addExtraNamespaceDeclarationERK30QXmlStreamNamespaceDeclaration @ 723 NONAME - _ZN16QXmlStreamReader29addExtraNamespaceDeclarationsERK7QVectorI30QXmlStreamNamespaceDeclarationE @ 724 NONAME - _ZN16QXmlStreamReader5clearEv @ 725 NONAME - _ZN16QXmlStreamReader7addDataEPKc @ 726 NONAME - _ZN16QXmlStreamReader7addDataERK10QByteArray @ 727 NONAME - _ZN16QXmlStreamReader7addDataERK7QString @ 728 NONAME - _ZN16QXmlStreamReader8readNextEv @ 729 NONAME - _ZN16QXmlStreamReader9setDeviceEP9QIODevice @ 730 NONAME - _ZN16QXmlStreamReaderC1EP9QIODevice @ 731 NONAME - _ZN16QXmlStreamReaderC1EPKc @ 732 NONAME - _ZN16QXmlStreamReaderC1ERK10QByteArray @ 733 NONAME - _ZN16QXmlStreamReaderC1ERK7QString @ 734 NONAME - _ZN16QXmlStreamReaderC1Ev @ 735 NONAME - _ZN16QXmlStreamReaderC2EP9QIODevice @ 736 NONAME - _ZN16QXmlStreamReaderC2EPKc @ 737 NONAME - _ZN16QXmlStreamReaderC2ERK10QByteArray @ 738 NONAME - _ZN16QXmlStreamReaderC2ERK7QString @ 739 NONAME - _ZN16QXmlStreamReaderC2Ev @ 740 NONAME - _ZN16QXmlStreamReaderD1Ev @ 741 NONAME - _ZN16QXmlStreamReaderD2Ev @ 742 NONAME - _ZN16QXmlStreamWriter10writeCDATAERK7QString @ 743 NONAME - _ZN16QXmlStreamWriter12writeCommentERK7QString @ 744 NONAME - _ZN16QXmlStreamWriter14writeAttributeERK19QXmlStreamAttribute @ 745 NONAME - _ZN16QXmlStreamWriter14writeAttributeERK7QStringS2_ @ 746 NONAME - _ZN16QXmlStreamWriter14writeAttributeERK7QStringS2_S2_ @ 747 NONAME - _ZN16QXmlStreamWriter14writeNamespaceERK7QStringS2_ @ 748 NONAME - _ZN16QXmlStreamWriter15writeAttributesERK20QXmlStreamAttributes @ 749 NONAME - _ZN16QXmlStreamWriter15writeCharactersERK7QString @ 750 NONAME - _ZN16QXmlStreamWriter15writeEndElementEv @ 751 NONAME - _ZN16QXmlStreamWriter16writeEndDocumentEv @ 752 NONAME - _ZN16QXmlStreamWriter16writeTextElementERK7QStringS2_ @ 753 NONAME - _ZN16QXmlStreamWriter16writeTextElementERK7QStringS2_S2_ @ 754 NONAME - _ZN16QXmlStreamWriter17setAutoFormattingEb @ 755 NONAME - _ZN16QXmlStreamWriter17writeCurrentTokenERK16QXmlStreamReader @ 756 NONAME - _ZN16QXmlStreamWriter17writeEmptyElementERK7QString @ 757 NONAME - _ZN16QXmlStreamWriter17writeEmptyElementERK7QStringS2_ @ 758 NONAME - _ZN16QXmlStreamWriter17writeStartElementERK7QString @ 759 NONAME - _ZN16QXmlStreamWriter17writeStartElementERK7QStringS2_ @ 760 NONAME - _ZN16QXmlStreamWriter18writeStartDocumentERK7QString @ 761 NONAME - _ZN16QXmlStreamWriter18writeStartDocumentERK7QStringb @ 762 NONAME - _ZN16QXmlStreamWriter18writeStartDocumentEv @ 763 NONAME - _ZN16QXmlStreamWriter20writeEntityReferenceERK7QString @ 764 NONAME - _ZN16QXmlStreamWriter21writeDefaultNamespaceERK7QString @ 765 NONAME - _ZN16QXmlStreamWriter23setAutoFormattingIndentEi @ 766 NONAME - _ZN16QXmlStreamWriter26writeProcessingInstructionERK7QStringS2_ @ 767 NONAME - _ZN16QXmlStreamWriter8setCodecEP10QTextCodec @ 768 NONAME - _ZN16QXmlStreamWriter8setCodecEPKc @ 769 NONAME - _ZN16QXmlStreamWriter8writeDTDERK7QString @ 770 NONAME - _ZN16QXmlStreamWriter9setDeviceEP9QIODevice @ 771 NONAME - _ZN16QXmlStreamWriterC1EP10QByteArray @ 772 NONAME - _ZN16QXmlStreamWriterC1EP7QString @ 773 NONAME - _ZN16QXmlStreamWriterC1EP9QIODevice @ 774 NONAME - _ZN16QXmlStreamWriterC1Ev @ 775 NONAME - _ZN16QXmlStreamWriterC2EP10QByteArray @ 776 NONAME - _ZN16QXmlStreamWriterC2EP7QString @ 777 NONAME - _ZN16QXmlStreamWriterC2EP9QIODevice @ 778 NONAME - _ZN16QXmlStreamWriterC2Ev @ 779 NONAME - _ZN16QXmlStreamWriterD1Ev @ 780 NONAME - _ZN16QXmlStreamWriterD2Ev @ 781 NONAME - _ZN17QByteArrayMatcher10setPatternERK10QByteArray @ 782 NONAME - _ZN17QByteArrayMatcherC1EPKci @ 783 NONAME - _ZN17QByteArrayMatcherC1ERK10QByteArray @ 784 NONAME - _ZN17QByteArrayMatcherC1ERKS_ @ 785 NONAME - _ZN17QByteArrayMatcherC1Ev @ 786 NONAME - _ZN17QByteArrayMatcherC2EPKci @ 787 NONAME - _ZN17QByteArrayMatcherC2ERK10QByteArray @ 788 NONAME - _ZN17QByteArrayMatcherC2ERKS_ @ 789 NONAME - _ZN17QByteArrayMatcherC2Ev @ 790 NONAME - _ZN17QByteArrayMatcherD1Ev @ 791 NONAME - _ZN17QByteArrayMatcherD2Ev @ 792 NONAME - _ZN17QByteArrayMatcheraSERKS_ @ 793 NONAME - _ZN18QAbstractItemModel10decodeDataEiiRK11QModelIndexR11QDataStream @ 794 NONAME - _ZN18QAbstractItemModel10insertRowsEiiRK11QModelIndex @ 795 NONAME - _ZN18QAbstractItemModel10modelResetEv @ 796 NONAME - _ZN18QAbstractItemModel10removeRowsEiiRK11QModelIndex @ 797 NONAME - _ZN18QAbstractItemModel11dataChangedERK11QModelIndexS2_ @ 798 NONAME - _ZN18QAbstractItemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 799 NONAME - _ZN18QAbstractItemModel11qt_metacastEPKc @ 800 NONAME - _ZN18QAbstractItemModel11rowsRemovedERK11QModelIndexii @ 801 NONAME - _ZN18QAbstractItemModel11setItemDataERK11QModelIndexRK4QMapIi8QVariantE @ 802 NONAME - _ZN18QAbstractItemModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 803 NONAME - _ZN18QAbstractItemModel12rowsInsertedERK11QModelIndexii @ 804 NONAME - _ZN18QAbstractItemModel13endInsertRowsEv @ 805 NONAME - _ZN18QAbstractItemModel13endRemoveRowsEv @ 806 NONAME - _ZN18QAbstractItemModel13insertColumnsEiiRK11QModelIndex @ 807 NONAME - _ZN18QAbstractItemModel13layoutChangedEv @ 808 NONAME - _ZN18QAbstractItemModel13removeColumnsEiiRK11QModelIndex @ 809 NONAME - _ZN18QAbstractItemModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 810 NONAME - _ZN18QAbstractItemModel14columnsRemovedERK11QModelIndexii @ 811 NONAME - _ZN18QAbstractItemModel15beginInsertRowsERK11QModelIndexii @ 812 NONAME - _ZN18QAbstractItemModel15beginRemoveRowsERK11QModelIndexii @ 813 NONAME - _ZN18QAbstractItemModel15columnsInsertedERK11QModelIndexii @ 814 NONAME - _ZN18QAbstractItemModel16endInsertColumnsEv @ 815 NONAME - _ZN18QAbstractItemModel16endRemoveColumnsEv @ 816 NONAME - _ZN18QAbstractItemModel16staticMetaObjectE @ 817 NONAME DATA 16 - _ZN18QAbstractItemModel17headerDataChangedEN2Qt11OrientationEii @ 818 NONAME - _ZN18QAbstractItemModel18beginInsertColumnsERK11QModelIndexii @ 819 NONAME - _ZN18QAbstractItemModel18beginRemoveColumnsERK11QModelIndexii @ 820 NONAME - _ZN18QAbstractItemModel19modelAboutToBeResetEv @ 821 NONAME - _ZN18QAbstractItemModel20rowsAboutToBeRemovedERK11QModelIndexii @ 822 NONAME - _ZN18QAbstractItemModel21changePersistentIndexERK11QModelIndexS2_ @ 823 NONAME - _ZN18QAbstractItemModel21rowsAboutToBeInsertedERK11QModelIndexii @ 824 NONAME - _ZN18QAbstractItemModel22layoutAboutToBeChangedEv @ 825 NONAME - _ZN18QAbstractItemModel23columnsAboutToBeRemovedERK11QModelIndexii @ 826 NONAME - _ZN18QAbstractItemModel23setSupportedDragActionsE6QFlagsIN2Qt10DropActionEE @ 827 NONAME - _ZN18QAbstractItemModel24columnsAboutToBeInsertedERK11QModelIndexii @ 828 NONAME - _ZN18QAbstractItemModel25changePersistentIndexListERK5QListI11QModelIndexES4_ @ 829 NONAME - _ZN18QAbstractItemModel4sortEiN2Qt9SortOrderE @ 830 NONAME - _ZN18QAbstractItemModel5resetEv @ 831 NONAME - _ZN18QAbstractItemModel6revertEv @ 832 NONAME - _ZN18QAbstractItemModel6submitEv @ 833 NONAME - _ZN18QAbstractItemModel7setDataERK11QModelIndexRK8QVarianti @ 834 NONAME - _ZN18QAbstractItemModel9fetchMoreERK11QModelIndex @ 835 NONAME - _ZN18QAbstractItemModelC2EP7QObject @ 836 NONAME - _ZN18QAbstractItemModelC2ER25QAbstractItemModelPrivateP7QObject @ 837 NONAME - _ZN18QAbstractItemModelD0Ev @ 838 NONAME - _ZN18QAbstractItemModelD1Ev @ 839 NONAME - _ZN18QAbstractItemModelD2Ev @ 840 NONAME - _ZN18QAbstractListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 841 NONAME - _ZN18QAbstractListModel11qt_metacastEPKc @ 842 NONAME - _ZN18QAbstractListModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 843 NONAME - _ZN18QAbstractListModel16staticMetaObjectE @ 844 NONAME DATA 16 - _ZN18QAbstractListModelC2EP7QObject @ 845 NONAME - _ZN18QAbstractListModelC2ER25QAbstractItemModelPrivateP7QObject @ 846 NONAME - _ZN18QAbstractListModelD0Ev @ 847 NONAME - _ZN18QAbstractListModelD1Ev @ 848 NONAME - _ZN18QAbstractListModelD2Ev @ 849 NONAME - _ZN18QCryptographicHash4hashERK10QByteArrayNS_9AlgorithmE @ 850 NONAME - _ZN18QCryptographicHash5resetEv @ 851 NONAME - _ZN18QCryptographicHash7addDataEPKci @ 852 NONAME - _ZN18QCryptographicHash7addDataERK10QByteArray @ 853 NONAME - _ZN18QCryptographicHashC1ENS_9AlgorithmE @ 854 NONAME - _ZN18QCryptographicHashC2ENS_9AlgorithmE @ 855 NONAME - _ZN18QCryptographicHashD1Ev @ 856 NONAME - _ZN18QCryptographicHashD2Ev @ 857 NONAME - _ZN18QFileSystemWatcher10removePathERK7QString @ 858 NONAME - _ZN18QFileSystemWatcher11fileChangedERK7QString @ 859 NONAME - _ZN18QFileSystemWatcher11qt_metacallEN11QMetaObject4CallEiPPv @ 860 NONAME - _ZN18QFileSystemWatcher11qt_metacastEPKc @ 861 NONAME - _ZN18QFileSystemWatcher11removePathsERK11QStringList @ 862 NONAME - _ZN18QFileSystemWatcher16directoryChangedERK7QString @ 863 NONAME - _ZN18QFileSystemWatcher16staticMetaObjectE @ 864 NONAME DATA 16 - _ZN18QFileSystemWatcher7addPathERK7QString @ 865 NONAME - _ZN18QFileSystemWatcher8addPathsERK11QStringList @ 866 NONAME - _ZN18QFileSystemWatcherC1EP7QObject @ 867 NONAME - _ZN18QFileSystemWatcherC1ERK11QStringListP7QObject @ 868 NONAME - _ZN18QFileSystemWatcherC2EP7QObject @ 869 NONAME - _ZN18QFileSystemWatcherC2ERK11QStringListP7QObject @ 870 NONAME - _ZN18QFileSystemWatcherD0Ev @ 871 NONAME - _ZN18QFileSystemWatcherD1Ev @ 872 NONAME - _ZN18QFileSystemWatcherD2Ev @ 873 NONAME - _ZN18QThreadStorageData3setEPv @ 874 NONAME - _ZN18QThreadStorageData6finishEPPv @ 875 NONAME - _ZN18QThreadStorageDataC1EPFvPvE @ 876 NONAME - _ZN18QThreadStorageDataC2EPFvPvE @ 877 NONAME - _ZN18QThreadStorageDataD1Ev @ 878 NONAME - _ZN18QThreadStorageDataD2Ev @ 879 NONAME - _ZN19QAbstractFileEngine11setFileNameERK7QString @ 880 NONAME - _ZN19QAbstractFileEngine12endEntryListEv @ 881 NONAME - _ZN19QAbstractFileEngine14beginEntryListE6QFlagsIN4QDir6FilterEERK11QStringList @ 882 NONAME - _ZN19QAbstractFileEngine14setPermissionsEj @ 883 NONAME - _ZN19QAbstractFileEngine3mapExxN5QFile14MemoryMapFlagsE @ 884 NONAME - _ZN19QAbstractFileEngine4copyERK7QString @ 885 NONAME - _ZN19QAbstractFileEngine4linkERK7QString @ 886 NONAME - _ZN19QAbstractFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 887 NONAME - _ZN19QAbstractFileEngine4readEPcx @ 888 NONAME - _ZN19QAbstractFileEngine4seekEx @ 889 NONAME - _ZN19QAbstractFileEngine5closeEv @ 890 NONAME - _ZN19QAbstractFileEngine5flushEv @ 891 NONAME - _ZN19QAbstractFileEngine5unmapEPh @ 892 NONAME - _ZN19QAbstractFileEngine5writeEPKcx @ 893 NONAME - _ZN19QAbstractFileEngine6createERK7QString @ 894 NONAME - _ZN19QAbstractFileEngine6removeEv @ 895 NONAME - _ZN19QAbstractFileEngine6renameERK7QString @ 896 NONAME - _ZN19QAbstractFileEngine7setSizeEx @ 897 NONAME - _ZN19QAbstractFileEngine8readLineEPcx @ 898 NONAME - _ZN19QAbstractFileEngine8setErrorEN5QFile9FileErrorERK7QString @ 899 NONAME - _ZN19QAbstractFileEngine9extensionENS_9ExtensionEPKNS_15ExtensionOptionEPNS_15ExtensionReturnE @ 900 NONAME - _ZN19QAbstractFileEngineC1ER26QAbstractFileEnginePrivate @ 901 NONAME - _ZN19QAbstractFileEngineC1Ev @ 902 NONAME - _ZN19QAbstractFileEngineC2ER26QAbstractFileEnginePrivate @ 903 NONAME - _ZN19QAbstractFileEngineC2Ev @ 904 NONAME - _ZN19QAbstractFileEngineD0Ev @ 905 NONAME - _ZN19QAbstractFileEngineD1Ev @ 906 NONAME - _ZN19QAbstractFileEngineD2Ev @ 907 NONAME - _ZN19QAbstractTableModel11qt_metacallEN11QMetaObject4CallEiPPv @ 908 NONAME - _ZN19QAbstractTableModel11qt_metacastEPKc @ 909 NONAME - _ZN19QAbstractTableModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 910 NONAME - _ZN19QAbstractTableModel16staticMetaObjectE @ 911 NONAME DATA 16 - _ZN19QAbstractTableModelC2EP7QObject @ 912 NONAME - _ZN19QAbstractTableModelC2ER25QAbstractItemModelPrivateP7QObject @ 913 NONAME - _ZN19QAbstractTableModelD0Ev @ 914 NONAME - _ZN19QAbstractTableModelD1Ev @ 915 NONAME - _ZN19QAbstractTableModelD2Ev @ 916 NONAME - _ZN19QTextBoundaryFinder11setPositionEi @ 917 NONAME - _ZN19QTextBoundaryFinder14toNextBoundaryEv @ 918 NONAME - _ZN19QTextBoundaryFinder18toPreviousBoundaryEv @ 919 NONAME - _ZN19QTextBoundaryFinder5toEndEv @ 920 NONAME - _ZN19QTextBoundaryFinder7toStartEv @ 921 NONAME - _ZN19QTextBoundaryFinderC1ENS_12BoundaryTypeEPK5QChariPhi @ 922 NONAME - _ZN19QTextBoundaryFinderC1ENS_12BoundaryTypeERK7QString @ 923 NONAME - _ZN19QTextBoundaryFinderC1ERKS_ @ 924 NONAME - _ZN19QTextBoundaryFinderC1Ev @ 925 NONAME - _ZN19QTextBoundaryFinderC2ENS_12BoundaryTypeEPK5QChariPhi @ 926 NONAME - _ZN19QTextBoundaryFinderC2ENS_12BoundaryTypeERK7QString @ 927 NONAME - _ZN19QTextBoundaryFinderC2ERKS_ @ 928 NONAME - _ZN19QTextBoundaryFinderC2Ev @ 929 NONAME - _ZN19QTextBoundaryFinderD1Ev @ 930 NONAME - _ZN19QTextBoundaryFinderD2Ev @ 931 NONAME - _ZN19QTextBoundaryFinderaSERKS_ @ 932 NONAME - _ZN19QXmlStreamAttributeC1ERK7QStringS2_ @ 933 NONAME - _ZN19QXmlStreamAttributeC1ERK7QStringS2_S2_ @ 934 NONAME - _ZN19QXmlStreamAttributeC1ERKS_ @ 935 NONAME - _ZN19QXmlStreamAttributeC1Ev @ 936 NONAME - _ZN19QXmlStreamAttributeC2ERK7QStringS2_ @ 937 NONAME - _ZN19QXmlStreamAttributeC2ERK7QStringS2_S2_ @ 938 NONAME - _ZN19QXmlStreamAttributeC2ERKS_ @ 939 NONAME - _ZN19QXmlStreamAttributeC2Ev @ 940 NONAME - _ZN19QXmlStreamAttributeD1Ev @ 941 NONAME - _ZN19QXmlStreamAttributeD2Ev @ 942 NONAME - _ZN19QXmlStreamAttributeaSERKS_ @ 943 NONAME - _ZN20QSharedMemoryPrivate11cleanHandleEv @ 944 NONAME - _ZN20QSharedMemoryPrivate14setErrorStringERK7QStringi @ 945 NONAME - _ZN20QSharedMemoryPrivate19makePlatformSafeKeyERK7QStringS2_ @ 946 NONAME - _ZN20QSharedMemoryPrivate6attachEN13QSharedMemory10AccessModeE @ 947 NONAME - _ZN20QSharedMemoryPrivate6createEi @ 948 NONAME - _ZN20QSharedMemoryPrivate6detachEv @ 949 NONAME - _ZN20QSharedMemoryPrivate6handleEv @ 950 NONAME - _ZN20QSharedMemoryPrivate7initKeyEv @ 951 NONAME - _ZN20QSharedMemoryPrivateC1Ev @ 952 NONAME - _ZN20QSharedMemoryPrivateC2Ev @ 953 NONAME - _ZN20QXmlStreamAttributes6appendERK7QStringS2_ @ 954 NONAME - _ZN20QXmlStreamAttributes6appendERK7QStringS2_S2_ @ 955 NONAME - _ZN21QObjectCleanupHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 956 NONAME - _ZN21QObjectCleanupHandler11qt_metacastEPKc @ 957 NONAME - _ZN21QObjectCleanupHandler15objectDestroyedEP7QObject @ 958 NONAME - _ZN21QObjectCleanupHandler16staticMetaObjectE @ 959 NONAME DATA 16 - _ZN21QObjectCleanupHandler3addEP7QObject @ 960 NONAME - _ZN21QObjectCleanupHandler5clearEv @ 961 NONAME - _ZN21QObjectCleanupHandler6removeEP7QObject @ 962 NONAME - _ZN21QObjectCleanupHandlerC1Ev @ 963 NONAME - _ZN21QObjectCleanupHandlerC2Ev @ 964 NONAME - _ZN21QObjectCleanupHandlerD0Ev @ 965 NONAME - _ZN21QObjectCleanupHandlerD1Ev @ 966 NONAME - _ZN21QObjectCleanupHandlerD2Ev @ 967 NONAME - _ZN21QPersistentModelIndexC1ERK11QModelIndex @ 968 NONAME - _ZN21QPersistentModelIndexC1ERKS_ @ 969 NONAME - _ZN21QPersistentModelIndexC1Ev @ 970 NONAME - _ZN21QPersistentModelIndexC2ERK11QModelIndex @ 971 NONAME - _ZN21QPersistentModelIndexC2ERKS_ @ 972 NONAME - _ZN21QPersistentModelIndexC2Ev @ 973 NONAME - _ZN21QPersistentModelIndexD1Ev @ 974 NONAME - _ZN21QPersistentModelIndexD2Ev @ 975 NONAME - _ZN21QPersistentModelIndexaSERK11QModelIndex @ 976 NONAME - _ZN21QPersistentModelIndexaSERKS_ @ 977 NONAME - _ZN23QCoreApplicationPrivate10mainThreadEv @ 978 NONAME - _ZN23QCoreApplicationPrivate13checkInstanceEPKc @ 979 NONAME - _ZN23QCoreApplicationPrivate13notify_helperEP7QObjectP6QEvent @ 980 NONAME - _ZN23QCoreApplicationPrivate13theMainThreadE @ 981 NONAME DATA 4 - _ZN23QCoreApplicationPrivate14is_app_closingE @ 982 NONAME DATA 1 - _ZN23QCoreApplicationPrivate14is_app_runningE @ 983 NONAME DATA 1 - _ZN23QCoreApplicationPrivate15eventDispatcherE @ 984 NONAME DATA 4 - _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData @ 985 NONAME - _ZN23QCoreApplicationPrivate17removePostedEventEP6QEvent @ 986 NONAME - _ZN23QCoreApplicationPrivate19checkReceiverThreadEP7QObject @ 987 NONAME - _ZN23QCoreApplicationPrivate21createEventDispatcherEv @ 988 NONAME - _ZN23QCoreApplicationPrivate21isTranslatorInstalledEP11QTranslator @ 989 NONAME - _ZN23QCoreApplicationPrivate27removePostedEvents_unlockedEP7QObjectiP11QThreadData @ 990 NONAME ABSENT - _ZN23QCoreApplicationPrivate29sendThroughObjectEventFiltersEP7QObjectP6QEvent @ 991 NONAME - _ZN23QCoreApplicationPrivate34sendThroughApplicationEventFiltersEP7QObjectP6QEvent @ 992 NONAME - _ZN23QCoreApplicationPrivate35appendApplicationPathToLibraryPathsEv @ 993 NONAME - _ZN23QCoreApplicationPrivate7attribsE @ 994 NONAME DATA 4 - _ZN23QCoreApplicationPrivateC1ERiPPc @ 995 NONAME - _ZN23QCoreApplicationPrivateC2ERiPPc @ 996 NONAME - _ZN23QCoreApplicationPrivateD0Ev @ 997 NONAME - _ZN23QCoreApplicationPrivateD1Ev @ 998 NONAME - _ZN23QCoreApplicationPrivateD2Ev @ 999 NONAME - _ZN23QEventDispatcherSymbian10startingUpEv @ 1000 NONAME - _ZN23QEventDispatcherSymbian10timerFiredEi @ 1001 NONAME - _ZN23QEventDispatcherSymbian11closingDownEv @ 1002 NONAME - _ZN23QEventDispatcherSymbian11socketFiredEP19QSocketActiveObject @ 1003 NONAME - _ZN23QEventDispatcherSymbian13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE @ 1004 NONAME - _ZN23QEventDispatcherSymbian13registerTimerEiiP7QObject @ 1005 NONAME - _ZN23QEventDispatcherSymbian15unregisterTimerEi @ 1006 NONAME - _ZN23QEventDispatcherSymbian15wakeUpWasCalledEv @ 1007 NONAME - _ZN23QEventDispatcherSymbian16hasPendingEventsEv @ 1008 NONAME - _ZN23QEventDispatcherSymbian16sendPostedEventsEv @ 1009 NONAME - _ZN23QEventDispatcherSymbian16unregisterTimersEP7QObject @ 1010 NONAME - _ZN23QEventDispatcherSymbian22registerSocketNotifierEP15QSocketNotifier @ 1011 NONAME - _ZN23QEventDispatcherSymbian24reactivateSocketNotifierEP15QSocketNotifier @ 1012 NONAME - _ZN23QEventDispatcherSymbian24sendDeferredSocketEventsEv @ 1013 NONAME - _ZN23QEventDispatcherSymbian24unregisterSocketNotifierEP15QSocketNotifier @ 1014 NONAME - _ZN23QEventDispatcherSymbian31reactivateDeferredActiveObjectsEv @ 1015 NONAME - _ZN23QEventDispatcherSymbian5flushEv @ 1016 NONAME - _ZN23QEventDispatcherSymbian6wakeUpEv @ 1017 NONAME - _ZN23QEventDispatcherSymbian9interruptEv @ 1018 NONAME - _ZN23QEventDispatcherSymbianC1EP7QObject @ 1019 NONAME - _ZN23QEventDispatcherSymbianC2EP7QObject @ 1020 NONAME - _ZN23QEventDispatcherSymbianD0Ev @ 1021 NONAME - _ZN23QEventDispatcherSymbianD1Ev @ 1022 NONAME - _ZN23QEventDispatcherSymbianD2Ev @ 1023 NONAME - _ZN24QAbstractEventDispatcher10startingUpEv @ 1024 NONAME - _ZN24QAbstractEventDispatcher11closingDownEv @ 1025 NONAME - _ZN24QAbstractEventDispatcher11filterEventEPv @ 1026 NONAME - _ZN24QAbstractEventDispatcher11qt_metacallEN11QMetaObject4CallEiPPv @ 1027 NONAME - _ZN24QAbstractEventDispatcher11qt_metacastEPKc @ 1028 NONAME - _ZN24QAbstractEventDispatcher12aboutToBlockEv @ 1029 NONAME - _ZN24QAbstractEventDispatcher13registerTimerEiP7QObject @ 1030 NONAME - _ZN24QAbstractEventDispatcher14setEventFilterEPFbPvE @ 1031 NONAME - _ZN24QAbstractEventDispatcher16staticMetaObjectE @ 1032 NONAME DATA 16 - _ZN24QAbstractEventDispatcher5awakeEv @ 1033 NONAME - _ZN24QAbstractEventDispatcher8instanceEP7QThread @ 1034 NONAME - _ZN24QAbstractEventDispatcherC2EP7QObject @ 1035 NONAME - _ZN24QAbstractEventDispatcherC2ER31QAbstractEventDispatcherPrivateP7QObject @ 1036 NONAME - _ZN24QAbstractEventDispatcherD0Ev @ 1037 NONAME - _ZN24QAbstractEventDispatcherD1Ev @ 1038 NONAME - _ZN24QAbstractEventDispatcherD2Ev @ 1039 NONAME - _ZN24QXmlStreamEntityResolver13resolveEntityERK7QStringS2_ @ 1040 NONAME - _ZN24QXmlStreamEntityResolver23resolveUndeclaredEntityERK7QString @ 1041 NONAME - _ZN24QXmlStreamEntityResolverD0Ev @ 1042 NONAME - _ZN24QXmlStreamEntityResolverD1Ev @ 1043 NONAME - _ZN24QXmlStreamEntityResolverD2Ev @ 1044 NONAME - _ZN25QAbstractItemModelPrivate11rowsRemovedERK11QModelIndexii @ 1045 NONAME - _ZN25QAbstractItemModelPrivate12rowsInsertedERK11QModelIndexii @ 1046 NONAME - _ZN25QAbstractItemModelPrivate14columnsRemovedERK11QModelIndexii @ 1047 NONAME - _ZN25QAbstractItemModelPrivate15columnsInsertedERK11QModelIndexii @ 1048 NONAME - _ZN25QAbstractItemModelPrivate16staticEmptyModelEv @ 1049 NONAME - _ZN25QAbstractItemModelPrivate20rowsAboutToBeRemovedERK11QModelIndexii @ 1050 NONAME - _ZN25QAbstractItemModelPrivate21rowsAboutToBeInsertedERK11QModelIndexii @ 1051 NONAME - _ZN25QAbstractItemModelPrivate23columnsAboutToBeRemovedERK11QModelIndexii @ 1052 NONAME - _ZN25QAbstractItemModelPrivate24columnsAboutToBeInsertedERK11QModelIndexii @ 1053 NONAME - _ZN25QAbstractItemModelPrivate25removePersistentIndexDataEP25QPersistentModelIndexData @ 1054 NONAME - _ZN25QPersistentModelIndexData6createERK11QModelIndex @ 1055 NONAME ABSENT - _ZN25QPersistentModelIndexData7destroyEPS_ @ 1056 NONAME ABSENT - _ZN26QAbstractFileEngineHandlerC2Ev @ 1057 NONAME - _ZN26QAbstractFileEngineHandlerD0Ev @ 1058 NONAME - _ZN26QAbstractFileEngineHandlerD1Ev @ 1059 NONAME - _ZN26QAbstractFileEngineHandlerD2Ev @ 1060 NONAME - _ZN27QAbstractFileEngineIterator7setPathERK7QString @ 1061 NONAME - _ZN27QAbstractFileEngineIteratorC2E6QFlagsIN4QDir6FilterEERK11QStringList @ 1062 NONAME - _ZN27QAbstractFileEngineIteratorD0Ev @ 1063 NONAME - _ZN27QAbstractFileEngineIteratorD1Ev @ 1064 NONAME - _ZN27QAbstractFileEngineIteratorD2Ev @ 1065 NONAME - _ZN27QDynamicPropertyChangeEventC1ERK10QByteArray @ 1066 NONAME - _ZN27QDynamicPropertyChangeEventC2ERK10QByteArray @ 1067 NONAME - _ZN27QDynamicPropertyChangeEventD0Ev @ 1068 NONAME - _ZN27QDynamicPropertyChangeEventD1Ev @ 1069 NONAME - _ZN27QDynamicPropertyChangeEventD2Ev @ 1070 NONAME - _ZN27QXmlStreamEntityDeclarationC1ERKS_ @ 1071 NONAME - _ZN27QXmlStreamEntityDeclarationC1Ev @ 1072 NONAME - _ZN27QXmlStreamEntityDeclarationC2ERKS_ @ 1073 NONAME - _ZN27QXmlStreamEntityDeclarationC2Ev @ 1074 NONAME - _ZN27QXmlStreamEntityDeclarationD1Ev @ 1075 NONAME - _ZN27QXmlStreamEntityDeclarationD2Ev @ 1076 NONAME - _ZN27QXmlStreamEntityDeclarationaSERKS_ @ 1077 NONAME - _ZN29QXmlStreamNotationDeclarationC1ERKS_ @ 1078 NONAME - _ZN29QXmlStreamNotationDeclarationC1Ev @ 1079 NONAME - _ZN29QXmlStreamNotationDeclarationC2ERKS_ @ 1080 NONAME - _ZN29QXmlStreamNotationDeclarationC2Ev @ 1081 NONAME - _ZN29QXmlStreamNotationDeclarationD1Ev @ 1082 NONAME - _ZN29QXmlStreamNotationDeclarationD2Ev @ 1083 NONAME - _ZN29QXmlStreamNotationDeclarationaSERKS_ @ 1084 NONAME - _ZN30QXmlStreamNamespaceDeclarationC1ERK7QStringS2_ @ 1085 NONAME - _ZN30QXmlStreamNamespaceDeclarationC1ERKS_ @ 1086 NONAME - _ZN30QXmlStreamNamespaceDeclarationC1Ev @ 1087 NONAME - _ZN30QXmlStreamNamespaceDeclarationC2ERK7QStringS2_ @ 1088 NONAME - _ZN30QXmlStreamNamespaceDeclarationC2ERKS_ @ 1089 NONAME - _ZN30QXmlStreamNamespaceDeclarationC2Ev @ 1090 NONAME - _ZN30QXmlStreamNamespaceDeclarationD1Ev @ 1091 NONAME - _ZN30QXmlStreamNamespaceDeclarationD2Ev @ 1092 NONAME - _ZN30QXmlStreamNamespaceDeclarationaSERKS_ @ 1093 NONAME - _ZN31QAbstractEventDispatcherPrivate14releaseTimerIdEi @ 1094 NONAME - _ZN31QAbstractEventDispatcherPrivate15allocateTimerIdEv @ 1095 NONAME - _ZN31QAbstractEventDispatcherPrivate4initEv @ 1096 NONAME - _ZN4QDir10setCurrentERK7QString @ 1097 NONAME - _ZN4QDir10setSortingE6QFlagsINS_8SortFlagEE @ 1098 NONAME - _ZN4QDir11currentPathEv @ 1099 NONAME - _ZN4QDir11searchPathsERK7QString @ 1100 NONAME - _ZN4QDir12makeAbsoluteEv @ 1101 NONAME - _ZN4QDir13addSearchPathERK7QStringS2_ @ 1102 NONAME - _ZN4QDir14isRelativePathERK7QString @ 1103 NONAME - _ZN4QDir14setNameFiltersERK11QStringList @ 1104 NONAME - _ZN4QDir14setSearchPathsERK7QStringRK11QStringList @ 1105 NONAME - _ZN4QDir17convertSeparatorsERK7QString @ 1106 NONAME - _ZN4QDir18toNativeSeparatorsERK7QString @ 1107 NONAME - _ZN4QDir20fromNativeSeparatorsERK7QString @ 1108 NONAME - _ZN4QDir21addResourceSearchPathERK7QString @ 1109 NONAME - _ZN4QDir21nameFiltersFromStringERK7QString @ 1110 NONAME - _ZN4QDir2cdERK7QString @ 1111 NONAME - _ZN4QDir4cdUpEv @ 1112 NONAME - _ZN4QDir5matchERK11QStringListRK7QString @ 1113 NONAME - _ZN4QDir5matchERK7QStringS2_ @ 1114 NONAME - _ZN4QDir6drivesEv @ 1115 NONAME - _ZN4QDir6removeERK7QString @ 1116 NONAME - _ZN4QDir6renameERK7QStringS2_ @ 1117 NONAME - _ZN4QDir7setPathERK7QString @ 1118 NONAME - _ZN4QDir8homePathEv @ 1119 NONAME - _ZN4QDir8rootPathEv @ 1120 NONAME - _ZN4QDir8tempPathEv @ 1121 NONAME - _ZN4QDir9cleanPathERK7QString @ 1122 NONAME - _ZN4QDir9separatorEv @ 1123 NONAME - _ZN4QDir9setFilterE6QFlagsINS_6FilterEE @ 1124 NONAME - _ZN4QDirC1ERK7QString @ 1125 NONAME - _ZN4QDirC1ERK7QStringS2_6QFlagsINS_8SortFlagEES3_INS_6FilterEE @ 1126 NONAME - _ZN4QDirC1ERKS_ @ 1127 NONAME - _ZN4QDirC2ERK7QString @ 1128 NONAME - _ZN4QDirC2ERK7QStringS2_6QFlagsINS_8SortFlagEES3_INS_6FilterEE @ 1129 NONAME - _ZN4QDirC2ERKS_ @ 1130 NONAME - _ZN4QDirD1Ev @ 1131 NONAME - _ZN4QDirD2Ev @ 1132 NONAME - _ZN4QDiraSERK7QString @ 1133 NONAME - _ZN4QDiraSERKS_ @ 1134 NONAME - _ZN4QUrl10toPunycodeERK7QString @ 1135 NONAME - _ZN4QUrl11fromEncodedERK10QByteArray @ 1136 NONAME - _ZN4QUrl11fromEncodedERK10QByteArrayNS_11ParsingModeE @ 1137 NONAME - _ZN4QUrl11setFragmentERK7QString @ 1138 NONAME - _ZN4QUrl11setPasswordERK7QString @ 1139 NONAME - _ZN4QUrl11setUserInfoERK7QString @ 1140 NONAME - _ZN4QUrl11setUserNameERK7QString @ 1141 NONAME - _ZN4QUrl12addQueryItemERK7QStringS2_ @ 1142 NONAME - _ZN4QUrl12fromPunycodeERK10QByteArray @ 1143 NONAME - _ZN4QUrl12idnWhitelistEv @ 1144 NONAME - _ZN4QUrl12setAuthorityERK7QString @ 1145 NONAME - _ZN4QUrl13fromLocalFileERK7QString @ 1146 NONAME - _ZN4QUrl13setEncodedUrlERK10QByteArray @ 1147 NONAME - _ZN4QUrl13setEncodedUrlERK10QByteArrayNS_11ParsingModeE @ 1148 NONAME - _ZN4QUrl13setQueryItemsERK5QListI5QPairI7QStringS2_EE @ 1149 NONAME - _ZN4QUrl14setEncodedHostERK10QByteArray @ 1150 NONAME - _ZN4QUrl14setEncodedPathERK10QByteArray @ 1151 NONAME - _ZN4QUrl15removeQueryItemERK7QString @ 1152 NONAME - _ZN4QUrl15setEncodedQueryERK10QByteArray @ 1153 NONAME - _ZN4QUrl15setIdnWhitelistERK11QStringList @ 1154 NONAME - _ZN4QUrl17toPercentEncodingERK7QStringRK10QByteArrayS5_ @ 1155 NONAME - _ZN4QUrl18setEncodedFragmentERK10QByteArray @ 1156 NONAME - _ZN4QUrl18setEncodedPasswordERK10QByteArray @ 1157 NONAME - _ZN4QUrl18setEncodedUserNameERK10QByteArray @ 1158 NONAME - _ZN4QUrl18setQueryDelimitersEcc @ 1159 NONAME - _ZN4QUrl19addEncodedQueryItemERK10QByteArrayS2_ @ 1160 NONAME - _ZN4QUrl19fromPercentEncodingERK10QByteArray @ 1161 NONAME - _ZN4QUrl19removeAllQueryItemsERK7QString @ 1162 NONAME - _ZN4QUrl20setEncodedQueryItemsERK5QListI5QPairI10QByteArrayS2_EE @ 1163 NONAME - _ZN4QUrl22removeEncodedQueryItemERK10QByteArray @ 1164 NONAME - _ZN4QUrl26removeAllEncodedQueryItemsERK10QByteArray @ 1165 NONAME - _ZN4QUrl5clearEv @ 1166 NONAME - _ZN4QUrl5toAceERK7QString @ 1167 NONAME - _ZN4QUrl6detachEv @ 1168 NONAME - _ZN4QUrl6setUrlERK7QString @ 1169 NONAME - _ZN4QUrl6setUrlERK7QStringNS_11ParsingModeE @ 1170 NONAME - _ZN4QUrl7fromAceERK10QByteArray @ 1171 NONAME - _ZN4QUrl7setHostERK7QString @ 1172 NONAME - _ZN4QUrl7setPathERK7QString @ 1173 NONAME - _ZN4QUrl7setPortEi @ 1174 NONAME - _ZN4QUrl9setSchemeERK7QString @ 1175 NONAME - _ZN4QUrlC1ERK7QString @ 1176 NONAME - _ZN4QUrlC1ERK7QStringNS_11ParsingModeE @ 1177 NONAME - _ZN4QUrlC1ERKS_ @ 1178 NONAME - _ZN4QUrlC1Ev @ 1179 NONAME - _ZN4QUrlC2ERK7QString @ 1180 NONAME - _ZN4QUrlC2ERK7QStringNS_11ParsingModeE @ 1181 NONAME - _ZN4QUrlC2ERKS_ @ 1182 NONAME - _ZN4QUrlC2Ev @ 1183 NONAME - _ZN4QUrlD1Ev @ 1184 NONAME - _ZN4QUrlD2Ev @ 1185 NONAME - _ZN4QUrlaSERK7QString @ 1186 NONAME - _ZN4QUrlaSERKS_ @ 1187 NONAME - _ZN5QChar10digitValueEj @ 1188 NONAME - _ZN5QChar10digitValueEt @ 1189 NONAME - _ZN5QChar11toTitleCaseEj @ 1190 NONAME - _ZN5QChar11toTitleCaseEt @ 1191 NONAME - _ZN5QChar12mirroredCharEj @ 1192 NONAME - _ZN5QChar12mirroredCharEt @ 1193 NONAME - _ZN5QChar12toCaseFoldedEj @ 1194 NONAME - _ZN5QChar12toCaseFoldedEt @ 1195 NONAME - _ZN5QChar13decompositionEj @ 1196 NONAME - _ZN5QChar14combiningClassEj @ 1197 NONAME - _ZN5QChar14combiningClassEt @ 1198 NONAME - _ZN5QChar14unicodeVersionEj @ 1199 NONAME - _ZN5QChar14unicodeVersionEt @ 1200 NONAME - _ZN5QChar16decompositionTagEj @ 1201 NONAME - _ZN5QChar7joiningEj @ 1202 NONAME - _ZN5QChar7joiningEt @ 1203 NONAME - _ZN5QChar7toLowerEj @ 1204 NONAME - _ZN5QChar7toLowerEt @ 1205 NONAME - _ZN5QChar7toUpperEj @ 1206 NONAME - _ZN5QChar7toUpperEt @ 1207 NONAME - _ZN5QChar8categoryEj @ 1208 NONAME - _ZN5QChar8categoryEt @ 1209 NONAME - _ZN5QChar9directionEj @ 1210 NONAME - _ZN5QChar9directionEt @ 1211 NONAME - _ZN5QChar9fromAsciiEc @ 1212 NONAME - _ZN5QCharC1Ec @ 1213 NONAME - _ZN5QCharC1Eh @ 1214 NONAME - _ZN5QCharC2Ec @ 1215 NONAME - _ZN5QCharC2Eh @ 1216 NONAME - _ZN5QDate10fromStringERK7QStringN2Qt10DateFormatE @ 1217 NONAME - _ZN5QDate10fromStringERK7QStringS2_ @ 1218 NONAME - _ZN5QDate10isLeapYearEi @ 1219 NONAME - _ZN5QDate11currentDateEv @ 1220 NONAME - _ZN5QDate11longDayNameEi @ 1221 NONAME - _ZN5QDate11longDayNameEiNS_13MonthNameTypeE @ 1222 NONAME - _ZN5QDate12shortDayNameEi @ 1223 NONAME - _ZN5QDate12shortDayNameEiNS_13MonthNameTypeE @ 1224 NONAME - _ZN5QDate13longMonthNameEi @ 1225 NONAME - _ZN5QDate13longMonthNameEiNS_13MonthNameTypeE @ 1226 NONAME - _ZN5QDate14shortMonthNameEi @ 1227 NONAME - _ZN5QDate14shortMonthNameEiNS_13MonthNameTypeE @ 1228 NONAME - _ZN5QDate17gregorianToJulianEiii @ 1229 NONAME - _ZN5QDate17julianToGregorianEjRiS0_S0_ @ 1230 NONAME - _ZN5QDate6setYMDEiii @ 1231 NONAME - _ZN5QDate7getDateEPiS0_S0_ @ 1232 NONAME - _ZN5QDate7isValidEiii @ 1233 NONAME - _ZN5QDate7setDateEiii @ 1234 NONAME - _ZN5QDateC1Eiii @ 1235 NONAME - _ZN5QDateC2Eiii @ 1236 NONAME - _ZN5QFile10decodeNameERK10QByteArray @ 1237 NONAME - _ZN5QFile10encodeNameERK7QString @ 1238 NONAME - _ZN5QFile10unsetErrorEv @ 1239 NONAME - _ZN5QFile11permissionsERK7QString @ 1240 NONAME - _ZN5QFile11qt_metacallEN11QMetaObject4CallEiPPv @ 1241 NONAME - _ZN5QFile11qt_metacastEPKc @ 1242 NONAME - _ZN5QFile11setFileNameERK7QString @ 1243 NONAME - _ZN5QFile12readLineDataEPcx @ 1244 NONAME - _ZN5QFile14setPermissionsE6QFlagsINS_10PermissionEE @ 1245 NONAME - _ZN5QFile14setPermissionsERK7QString6QFlagsINS_10PermissionEE @ 1246 NONAME - _ZN5QFile16staticMetaObjectE @ 1247 NONAME DATA 16 - _ZN5QFile19setDecodingFunctionEPF7QStringRK10QByteArrayE @ 1248 NONAME - _ZN5QFile19setEncodingFunctionEPF10QByteArrayRK7QStringE @ 1249 NONAME - _ZN5QFile3mapExxNS_14MemoryMapFlagsE @ 1250 NONAME - _ZN5QFile4copyERK7QString @ 1251 NONAME - _ZN5QFile4copyERK7QStringS2_ @ 1252 NONAME - _ZN5QFile4linkERK7QString @ 1253 NONAME - _ZN5QFile4linkERK7QStringS2_ @ 1254 NONAME - _ZN5QFile4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 1255 NONAME - _ZN5QFile4openEP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEE @ 1256 NONAME - _ZN5QFile4openEi6QFlagsIN9QIODevice12OpenModeFlagEE @ 1257 NONAME - _ZN5QFile4seekEx @ 1258 NONAME - _ZN5QFile5closeEv @ 1259 NONAME - _ZN5QFile5flushEv @ 1260 NONAME - _ZN5QFile5unmapEPh @ 1261 NONAME - _ZN5QFile6existsERK7QString @ 1262 NONAME - _ZN5QFile6removeERK7QString @ 1263 NONAME - _ZN5QFile6removeEv @ 1264 NONAME - _ZN5QFile6renameERK7QString @ 1265 NONAME - _ZN5QFile6renameERK7QStringS2_ @ 1266 NONAME - _ZN5QFile6resizeERK7QStringx @ 1267 NONAME - _ZN5QFile6resizeEx @ 1268 NONAME - _ZN5QFile8readDataEPcx @ 1269 NONAME - _ZN5QFile8readLinkERK7QString @ 1270 NONAME - _ZN5QFile9writeDataEPKcx @ 1271 NONAME - _ZN5QFileC1EP7QObject @ 1272 NONAME - _ZN5QFileC1ER12QFilePrivateP7QObject @ 1273 NONAME - _ZN5QFileC1ERK7QString @ 1274 NONAME - _ZN5QFileC1ERK7QStringP7QObject @ 1275 NONAME - _ZN5QFileC1Ev @ 1276 NONAME - _ZN5QFileC2EP7QObject @ 1277 NONAME - _ZN5QFileC2ER12QFilePrivateP7QObject @ 1278 NONAME - _ZN5QFileC2ERK7QString @ 1279 NONAME - _ZN5QFileC2ERK7QStringP7QObject @ 1280 NONAME - _ZN5QFileC2Ev @ 1281 NONAME - _ZN5QFileD0Ev @ 1282 NONAME - _ZN5QFileD1Ev @ 1283 NONAME - _ZN5QFileD2Ev @ 1284 NONAME - _ZN5QRect10moveCenterERK6QPoint @ 1285 NONAME - _ZN5QSize5scaleERKS_N2Qt15AspectRatioModeE @ 1286 NONAME - _ZN5QSize9transposeEv @ 1287 NONAME - _ZN5QTime10fromStringERK7QStringN2Qt10DateFormatE @ 1288 NONAME - _ZN5QTime10fromStringERK7QStringS2_ @ 1289 NONAME - _ZN5QTime11currentTimeEv @ 1290 NONAME - _ZN5QTime5startEv @ 1291 NONAME - _ZN5QTime6setHMSEiiii @ 1292 NONAME - _ZN5QTime7isValidEiiii @ 1293 NONAME - _ZN5QTime7restartEv @ 1294 NONAME - _ZN5QTimeC1Eiiii @ 1295 NONAME - _ZN5QTimeC2Eiiii @ 1296 NONAME - _ZN5QUuid10createUuidEv @ 1297 NONAME - _ZN5QUuidC1EPKc @ 1298 NONAME - _ZN5QUuidC1ERK7QString @ 1299 NONAME - _ZN5QUuidC2EPKc @ 1300 NONAME - _ZN5QUuidC2ERK7QString @ 1301 NONAME - _ZN6QEvent17registerEventTypeEi @ 1302 NONAME - _ZN6QEventC1ENS_4TypeE @ 1303 NONAME - _ZN6QEventC2ENS_4TypeE @ 1304 NONAME - _ZN6QEventD0Ev @ 1305 NONAME - _ZN6QEventD1Ev @ 1306 NONAME - _ZN6QEventD2Ev @ 1307 NONAME - _ZN6QHBufCC1EP7HBufC16 @ 1308 NONAME - _ZN6QHBufCC1ERK7QString @ 1309 NONAME - _ZN6QHBufCC1ERKS_ @ 1310 NONAME - _ZN6QHBufCC1Ev @ 1311 NONAME - _ZN6QHBufCC2EP7HBufC16 @ 1312 NONAME - _ZN6QHBufCC2ERK7QString @ 1313 NONAME - _ZN6QHBufCC2ERKS_ @ 1314 NONAME - _ZN6QHBufCC2Ev @ 1315 NONAME - _ZN6QHBufCD1Ev @ 1316 NONAME - _ZN6QHBufCD2Ev @ 1317 NONAME - _ZN6QLineF8setAngleEf @ 1318 NONAME - _ZN6QLineF9fromPolarEff @ 1319 NONAME - _ZN6QMutex4lockEv @ 1320 NONAME - _ZN6QMutex6unlockEv @ 1321 NONAME - _ZN6QMutex7tryLockEi @ 1322 NONAME - _ZN6QMutex7tryLockEv @ 1323 NONAME - _ZN6QMutexC1ENS_13RecursionModeE @ 1324 NONAME - _ZN6QMutexC2ENS_13RecursionModeE @ 1325 NONAME - _ZN6QMutexD1Ev @ 1326 NONAME - _ZN6QMutexD2Ev @ 1327 NONAME - _ZN6QSizeF5scaleERKS_N2Qt15AspectRatioModeE @ 1328 NONAME - _ZN6QSizeF9transposeEv @ 1329 NONAME - _ZN6QTimer10singleShotEiP7QObjectPKc @ 1330 NONAME - _ZN6QTimer10timerEventEP11QTimerEvent @ 1331 NONAME - _ZN6QTimer11qt_metacallEN11QMetaObject4CallEiPPv @ 1332 NONAME - _ZN6QTimer11qt_metacastEPKc @ 1333 NONAME - _ZN6QTimer11setIntervalEi @ 1334 NONAME - _ZN6QTimer16staticMetaObjectE @ 1335 NONAME DATA 16 - _ZN6QTimer4stopEv @ 1336 NONAME - _ZN6QTimer5startEi @ 1337 NONAME - _ZN6QTimer5startEv @ 1338 NONAME - _ZN6QTimer7timeoutEv @ 1339 NONAME - _ZN6QTimerC1EP7QObject @ 1340 NONAME - _ZN6QTimerC2EP7QObject @ 1341 NONAME - _ZN6QTimerD0Ev @ 1342 NONAME - _ZN6QTimerD1Ev @ 1343 NONAME - _ZN6QTimerD2Ev @ 1344 NONAME - _ZN7QBuffer11qt_metacallEN11QMetaObject4CallEiPPv @ 1345 NONAME - _ZN7QBuffer11qt_metacastEPKc @ 1346 NONAME - _ZN7QBuffer13connectNotifyEPKc @ 1347 NONAME - _ZN7QBuffer16disconnectNotifyEPKc @ 1348 NONAME - _ZN7QBuffer16staticMetaObjectE @ 1349 NONAME DATA 16 - _ZN7QBuffer4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 1350 NONAME - _ZN7QBuffer4seekEx @ 1351 NONAME - _ZN7QBuffer5closeEv @ 1352 NONAME - _ZN7QBuffer6bufferEv @ 1353 NONAME - _ZN7QBuffer7setDataERK10QByteArray @ 1354 NONAME - _ZN7QBuffer8readDataEPcx @ 1355 NONAME - _ZN7QBuffer9setBufferEP10QByteArray @ 1356 NONAME - _ZN7QBuffer9writeDataEPKcx @ 1357 NONAME - _ZN7QBufferC1EP10QByteArrayP7QObject @ 1358 NONAME - _ZN7QBufferC1EP7QObject @ 1359 NONAME - _ZN7QBufferC2EP10QByteArrayP7QObject @ 1360 NONAME - _ZN7QBufferC2EP7QObject @ 1361 NONAME - _ZN7QBufferD0Ev @ 1362 NONAME - _ZN7QBufferD1Ev @ 1363 NONAME - _ZN7QBufferD2Ev @ 1364 NONAME - _ZN7QLocale10setDefaultERKS_ @ 1365 NONAME - _ZN7QLocale15countryToStringENS_7CountryE @ 1366 NONAME - _ZN7QLocale16languageToStringENS_8LanguageE @ 1367 NONAME - _ZN7QLocale16setNumberOptionsE6QFlagsINS_12NumberOptionEE @ 1368 NONAME - _ZN7QLocale16staticMetaObjectE @ 1369 NONAME DATA 16 - _ZN7QLocale20countriesForLanguageENS_8LanguageE @ 1370 NONAME - _ZN7QLocale6systemEv @ 1371 NONAME - _ZN7QLocaleC1ENS_8LanguageENS_7CountryE @ 1372 NONAME - _ZN7QLocaleC1ERK7QString @ 1373 NONAME - _ZN7QLocaleC1ERKS_ @ 1374 NONAME - _ZN7QLocaleC1Ev @ 1375 NONAME - _ZN7QLocaleC2ENS_8LanguageENS_7CountryE @ 1376 NONAME - _ZN7QLocaleC2ERK7QString @ 1377 NONAME - _ZN7QLocaleC2ERKS_ @ 1378 NONAME - _ZN7QLocaleC2Ev @ 1379 NONAME - _ZN7QLocaleaSERKS_ @ 1380 NONAME - _ZN7QObject10childEventEP11QChildEvent @ 1381 NONAME - _ZN7QObject10disconnectEPKS_PKcS1_S3_ @ 1382 NONAME - _ZN7QObject10startTimerEi @ 1383 NONAME - _ZN7QObject10timerEventEP11QTimerEvent @ 1384 NONAME - _ZN7QObject11customEventEP6QEvent @ 1385 NONAME - _ZN7QObject11deleteLaterEv @ 1386 NONAME - _ZN7QObject11eventFilterEPS_P6QEvent @ 1387 NONAME - _ZN7QObject11qt_metacallEN11QMetaObject4CallEiPPv @ 1388 NONAME - _ZN7QObject11qt_metacastEPKc @ 1389 NONAME - _ZN7QObject11setPropertyEPKcRK8QVariant @ 1390 NONAME - _ZN7QObject11setUserDataEjP15QObjectUserData @ 1391 NONAME - _ZN7QObject12blockSignalsEb @ 1392 NONAME - _ZN7QObject12moveToThreadEP7QThread @ 1393 NONAME - _ZN7QObject13connectNotifyEPKc @ 1394 NONAME - _ZN7QObject13setObjectNameERK7QString @ 1395 NONAME - _ZN7QObject14dumpObjectInfoEv @ 1396 NONAME - _ZN7QObject14dumpObjectTreeEv @ 1397 NONAME - _ZN7QObject16disconnectNotifyEPKc @ 1398 NONAME - _ZN7QObject16registerUserDataEv @ 1399 NONAME - _ZN7QObject16staticMetaObjectE @ 1400 NONAME DATA 16 - _ZN7QObject17removeEventFilterEPS_ @ 1401 NONAME - _ZN7QObject18installEventFilterEPS_ @ 1402 NONAME - _ZN7QObject18staticQtMetaObjectE @ 1403 NONAME DATA 16 - _ZN7QObject5eventEP6QEvent @ 1404 NONAME - _ZN7QObject7connectEPKS_PKcS1_S3_N2Qt14ConnectionTypeE @ 1405 NONAME - _ZN7QObject9destroyedEPS_ @ 1406 NONAME - _ZN7QObject9killTimerEi @ 1407 NONAME - _ZN7QObject9setParentEPS_ @ 1408 NONAME - _ZN7QObjectC1EPS_ @ 1409 NONAME - _ZN7QObjectC1ER14QObjectPrivatePS_ @ 1410 NONAME - _ZN7QObjectC2EPS_ @ 1411 NONAME - _ZN7QObjectC2ER14QObjectPrivatePS_ @ 1412 NONAME - _ZN7QObjectD0Ev @ 1413 NONAME - _ZN7QObjectD1Ev @ 1414 NONAME - _ZN7QObjectD2Ev @ 1415 NONAME - _ZN7QRegExp10setMinimalEb @ 1416 NONAME - _ZN7QRegExp10setPatternERK7QString @ 1417 NONAME - _ZN7QRegExp11errorStringEv @ 1418 NONAME - _ZN7QRegExp13capturedTextsEv @ 1419 NONAME - _ZN7QRegExp16setPatternSyntaxENS_13PatternSyntaxE @ 1420 NONAME - _ZN7QRegExp18setCaseSensitivityEN2Qt15CaseSensitivityE @ 1421 NONAME - _ZN7QRegExp3capEi @ 1422 NONAME - _ZN7QRegExp3posEi @ 1423 NONAME - _ZN7QRegExp6escapeERK7QString @ 1424 NONAME - _ZN7QRegExpC1ERK7QStringN2Qt15CaseSensitivityENS_13PatternSyntaxE @ 1425 NONAME - _ZN7QRegExpC1ERKS_ @ 1426 NONAME - _ZN7QRegExpC1Ev @ 1427 NONAME - _ZN7QRegExpC2ERK7QStringN2Qt15CaseSensitivityENS_13PatternSyntaxE @ 1428 NONAME - _ZN7QRegExpC2ERKS_ @ 1429 NONAME - _ZN7QRegExpC2Ev @ 1430 NONAME - _ZN7QRegExpD1Ev @ 1431 NONAME - _ZN7QRegExpD2Ev @ 1432 NONAME - _ZN7QRegExpaSERKS_ @ 1433 NONAME - _ZN7QString10fromLatin1EPKci @ 1434 NONAME - _ZN7QString10setUnicodeEPK5QChari @ 1435 NONAME - _ZN7QString11fromRawDataEPK5QChari @ 1436 NONAME - _ZN7QString11shared_nullE @ 1437 NONAME DATA 20 - _ZN7QString12shared_emptyE @ 1438 NONAME DATA 20 - _ZN7QString13fromLocal8BitEPKci @ 1439 NONAME - _ZN7QString14compare_helperEPK5QChari13QLatin1StringN2Qt15CaseSensitivityE @ 1440 NONAME - _ZN7QString14compare_helperEPK5QChariS2_iN2Qt15CaseSensitivityE @ 1441 NONAME - _ZN7QString14fromWCharArrayEPKwi @ 1442 NONAME - _ZN7QString14replace_helperEPjiiPK5QChari @ 1443 NONAME - _ZN7QString16codecForCStringsE @ 1444 NONAME DATA 4 - _ZN7QString16fromAscii_helperEPKci @ 1445 NONAME - _ZN7QString17fromLatin1_helperEPKci @ 1446 NONAME - _ZN7QString25localeAwareCompare_helperEPK5QChariS2_i @ 1447 NONAME - _ZN7QString4chopEi @ 1448 NONAME - _ZN7QString4fillE5QChari @ 1449 NONAME - _ZN7QString4freeEPNS_4DataE @ 1450 NONAME - _ZN7QString4growEi @ 1451 NONAME - _ZN7QString4nullE @ 1452 NONAME DATA 1 - _ZN7QString6appendE5QChar @ 1453 NONAME - _ZN7QString6appendERK10QStringRef @ 1454 NONAME - _ZN7QString6appendERK13QLatin1String @ 1455 NONAME - _ZN7QString6appendERKS_ @ 1456 NONAME - _ZN7QString6expandEi @ 1457 NONAME - _ZN7QString6insertEi5QChar @ 1458 NONAME - _ZN7QString6insertEiPK5QChari @ 1459 NONAME - _ZN7QString6insertEiRK13QLatin1String @ 1460 NONAME - _ZN7QString6numberEdci @ 1461 NONAME - _ZN7QString6numberEii @ 1462 NONAME - _ZN7QString6numberEji @ 1463 NONAME - _ZN7QString6numberEli @ 1464 NONAME - _ZN7QString6numberEmi @ 1465 NONAME - _ZN7QString6numberExi @ 1466 NONAME - _ZN7QString6numberEyi @ 1467 NONAME - _ZN7QString6removeE5QCharN2Qt15CaseSensitivityE @ 1468 NONAME - _ZN7QString6removeERKS_N2Qt15CaseSensitivityE @ 1469 NONAME - _ZN7QString6removeEii @ 1470 NONAME - _ZN7QString6resizeEi @ 1471 NONAME - _ZN7QString6setNumEdci @ 1472 NONAME - _ZN7QString6setNumExi @ 1473 NONAME - _ZN7QString6setNumEyi @ 1474 NONAME - _ZN7QString7reallocEi @ 1475 NONAME - _ZN7QString7reallocEv @ 1476 NONAME - _ZN7QString7replaceE5QCharRK13QLatin1StringN2Qt15CaseSensitivityE @ 1477 NONAME - _ZN7QString7replaceE5QCharRKS_N2Qt15CaseSensitivityE @ 1478 NONAME - _ZN7QString7replaceE5QCharS0_N2Qt15CaseSensitivityE @ 1479 NONAME - _ZN7QString7replaceEPK5QChariS2_iN2Qt15CaseSensitivityE @ 1480 NONAME - _ZN7QString7replaceERK13QLatin1StringRKS_N2Qt15CaseSensitivityE @ 1481 NONAME - _ZN7QString7replaceERK13QLatin1StringS2_N2Qt15CaseSensitivityE @ 1482 NONAME - _ZN7QString7replaceERK7QRegExpRKS_ @ 1483 NONAME - _ZN7QString7replaceERKS_RK13QLatin1StringN2Qt15CaseSensitivityE @ 1484 NONAME - _ZN7QString7replaceERKS_S1_N2Qt15CaseSensitivityE @ 1485 NONAME - _ZN7QString7replaceEii5QChar @ 1486 NONAME - _ZN7QString7replaceEiiPK5QChari @ 1487 NONAME - _ZN7QString7replaceEiiRKS_ @ 1488 NONAME - _ZN7QString7sprintfEPKcz @ 1489 NONAME - _ZN7QString8fromUcs4EPKji @ 1490 NONAME - _ZN7QString8fromUtf8EPKci @ 1491 NONAME - _ZN7QString8truncateEi @ 1492 NONAME - _ZN7QString8vsprintfEPKcSt9__va_list @ 1493 NONAME - _ZN7QString9fromAsciiEPKci @ 1494 NONAME - _ZN7QString9fromUtf16EPKti @ 1495 NONAME - _ZN7QStringC1E5QChar @ 1496 NONAME - _ZN7QStringC1EPK5QChari @ 1497 NONAME - _ZN7QStringC1Ei5QChar @ 1498 NONAME - _ZN7QStringC2E5QChar @ 1499 NONAME - _ZN7QStringC2EPK5QChari @ 1500 NONAME - _ZN7QStringC2Ei5QChar @ 1501 NONAME - _ZN7QStringaSE5QChar @ 1502 NONAME - _ZN7QStringaSERKS_ @ 1503 NONAME - _ZN7QThread10initializeEv @ 1504 NONAME - _ZN7QThread10terminatedEv @ 1505 NONAME - _ZN7QThread11qt_metacallEN11QMetaObject4CallEiPPv @ 1506 NONAME - _ZN7QThread11qt_metacastEPKc @ 1507 NONAME - _ZN7QThread11setPriorityENS_8PriorityE @ 1508 NONAME - _ZN7QThread12setStackSizeEj @ 1509 NONAME - _ZN7QThread13currentThreadEv @ 1510 NONAME - _ZN7QThread15currentThreadIdEv @ 1511 NONAME - _ZN7QThread16idealThreadCountEv @ 1512 NONAME - _ZN7QThread16staticMetaObjectE @ 1513 NONAME DATA 16 - _ZN7QThread18yieldCurrentThreadEv @ 1514 NONAME - _ZN7QThread21setTerminationEnabledEb @ 1515 NONAME - _ZN7QThread3runEv @ 1516 NONAME - _ZN7QThread4execEv @ 1517 NONAME - _ZN7QThread4exitEi @ 1518 NONAME - _ZN7QThread4quitEv @ 1519 NONAME - _ZN7QThread4waitEm @ 1520 NONAME - _ZN7QThread5sleepEm @ 1521 NONAME - _ZN7QThread5startENS_8PriorityE @ 1522 NONAME - _ZN7QThread6msleepEm @ 1523 NONAME - _ZN7QThread6usleepEm @ 1524 NONAME - _ZN7QThread7cleanupEv @ 1525 NONAME - _ZN7QThread7startedEv @ 1526 NONAME - _ZN7QThread8finishedEv @ 1527 NONAME - _ZN7QThread9terminateEv @ 1528 NONAME - _ZN7QThreadC1EP7QObject @ 1529 NONAME - _ZN7QThreadC1ER14QThreadPrivateP7QObject @ 1530 NONAME - _ZN7QThreadC2EP7QObject @ 1531 NONAME - _ZN7QThreadC2ER14QThreadPrivateP7QObject @ 1532 NONAME - _ZN7QThreadD0Ev @ 1533 NONAME - _ZN7QThreadD1Ev @ 1534 NONAME - _ZN7QThreadD2Ev @ 1535 NONAME - _ZN8QLibrary11qt_metacallEN11QMetaObject4CallEiPPv @ 1536 NONAME - _ZN8QLibrary11qt_metacastEPKc @ 1537 NONAME - _ZN8QLibrary11setFileNameERK7QString @ 1538 NONAME - _ZN8QLibrary12setLoadHintsE6QFlagsINS_8LoadHintEE @ 1539 NONAME - _ZN8QLibrary16staticMetaObjectE @ 1540 NONAME DATA 16 - _ZN8QLibrary21setFileNameAndVersionERK7QStringS2_ @ 1541 NONAME - _ZN8QLibrary21setFileNameAndVersionERK7QStringi @ 1542 NONAME - _ZN8QLibrary4loadEv @ 1543 NONAME - _ZN8QLibrary6unloadEv @ 1544 NONAME - _ZN8QLibrary7resolveEPKc @ 1545 NONAME - _ZN8QLibrary7resolveERK7QStringPKc @ 1546 NONAME - _ZN8QLibrary7resolveERK7QStringS2_PKc @ 1547 NONAME - _ZN8QLibrary7resolveERK7QStringiPKc @ 1548 NONAME - _ZN8QLibrary9isLibraryERK7QString @ 1549 NONAME - _ZN8QLibraryC1EP7QObject @ 1550 NONAME - _ZN8QLibraryC1ERK7QStringP7QObject @ 1551 NONAME - _ZN8QLibraryC1ERK7QStringS2_P7QObject @ 1552 NONAME - _ZN8QLibraryC1ERK7QStringiP7QObject @ 1553 NONAME - _ZN8QLibraryC2EP7QObject @ 1554 NONAME - _ZN8QLibraryC2ERK7QStringP7QObject @ 1555 NONAME - _ZN8QLibraryC2ERK7QStringS2_P7QObject @ 1556 NONAME - _ZN8QLibraryC2ERK7QStringiP7QObject @ 1557 NONAME - _ZN8QLibraryD0Ev @ 1558 NONAME - _ZN8QLibraryD1Ev @ 1559 NONAME - _ZN8QLibraryD2Ev @ 1560 NONAME - _ZN8QMapData10createDataEv @ 1561 NONAME - _ZN8QMapData11node_createEPPNS_4NodeEi @ 1562 NONAME - _ZN8QMapData11node_deleteEPPNS_4NodeEiS1_ @ 1563 NONAME - _ZN8QMapData11shared_nullE @ 1564 NONAME DATA 72 - _ZN8QMapData16continueFreeDataEi @ 1565 NONAME - _ZN8QProcess11qt_metacallEN11QMetaObject4CallEiPPv @ 1566 NONAME - _ZN8QProcess11qt_metacastEPKc @ 1567 NONAME - _ZN8QProcess12stateChangedENS_12ProcessStateE @ 1568 NONAME - _ZN8QProcess13startDetachedERK7QString @ 1569 NONAME - _ZN8QProcess13startDetachedERK7QStringRK11QStringList @ 1570 NONAME - _ZN8QProcess13startDetachedERK7QStringRK11QStringListS2_Px @ 1571 NONAME - _ZN8QProcess14setEnvironmentERK11QStringList @ 1572 NONAME - _ZN8QProcess14setReadChannelENS_14ProcessChannelE @ 1573 NONAME - _ZN8QProcess14waitForStartedEi @ 1574 NONAME - _ZN8QProcess15setProcessStateENS_12ProcessStateE @ 1575 NONAME - _ZN8QProcess15waitForFinishedEi @ 1576 NONAME - _ZN8QProcess16closeReadChannelENS_14ProcessChannelE @ 1577 NONAME - _ZN8QProcess16staticMetaObjectE @ 1578 NONAME DATA 16 - _ZN8QProcess16waitForReadyReadEi @ 1579 NONAME - _ZN8QProcess17closeWriteChannelEv @ 1580 NONAME - _ZN8QProcess17setupChildProcessEv @ 1581 NONAME - _ZN8QProcess17systemEnvironmentEv @ 1582 NONAME - _ZN8QProcess18setReadChannelModeENS_18ProcessChannelModeE @ 1583 NONAME - _ZN8QProcess19setWorkingDirectoryERK7QString @ 1584 NONAME - _ZN8QProcess19waitForBytesWrittenEi @ 1585 NONAME - _ZN8QProcess20readAllStandardErrorEv @ 1586 NONAME - _ZN8QProcess20setStandardErrorFileERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 1587 NONAME - _ZN8QProcess20setStandardInputFileERK7QString @ 1588 NONAME - _ZN8QProcess21readAllStandardOutputEv @ 1589 NONAME - _ZN8QProcess21setProcessChannelModeENS_18ProcessChannelModeE @ 1590 NONAME - _ZN8QProcess21setStandardOutputFileERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 1591 NONAME - _ZN8QProcess22readyReadStandardErrorEv @ 1592 NONAME - _ZN8QProcess23readyReadStandardOutputEv @ 1593 NONAME - _ZN8QProcess24setStandardOutputProcessEPS_ @ 1594 NONAME - _ZN8QProcess4killEv @ 1595 NONAME - _ZN8QProcess5closeEv @ 1596 NONAME - _ZN8QProcess5errorENS_12ProcessErrorE @ 1597 NONAME - _ZN8QProcess5startERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 1598 NONAME - _ZN8QProcess5startERK7QStringRK11QStringList6QFlagsIN9QIODevice12OpenModeFlagEE @ 1599 NONAME - _ZN8QProcess7executeERK7QString @ 1600 NONAME - _ZN8QProcess7executeERK7QStringRK11QStringList @ 1601 NONAME - _ZN8QProcess7startedEv @ 1602 NONAME - _ZN8QProcess8finishedEi @ 1603 NONAME - _ZN8QProcess8finishedEiNS_10ExitStatusE @ 1604 NONAME - _ZN8QProcess8readDataEPcx @ 1605 NONAME - _ZN8QProcess9terminateEv @ 1606 NONAME - _ZN8QProcess9writeDataEPKcx @ 1607 NONAME - _ZN8QProcessC1EP7QObject @ 1608 NONAME - _ZN8QProcessC2EP7QObject @ 1609 NONAME - _ZN8QProcessD0Ev @ 1610 NONAME - _ZN8QProcessD1Ev @ 1611 NONAME - _ZN8QProcessD2Ev @ 1612 NONAME - _ZN8QSysInfo10s60VersionEv @ 1613 NONAME - _ZN8QSysInfo14symbianVersionEv @ 1614 NONAME - _ZN8QVariant10nameToTypeEPKc @ 1615 NONAME - _ZN8QVariant10typeToNameENS_4TypeE @ 1616 NONAME - _ZN8QVariant4dataEv @ 1617 NONAME - _ZN8QVariant4loadER11QDataStream @ 1618 NONAME - _ZN8QVariant5clearEv @ 1619 NONAME - _ZN8QVariant6createEiPKv @ 1620 NONAME - _ZN8QVariant6detachEv @ 1621 NONAME - _ZN8QVariant7convertENS_4TypeE @ 1622 NONAME - _ZN8QVariant7handlerE @ 1623 NONAME DATA 4 - _ZN8QVariantC1EN2Qt11GlobalColorE @ 1624 NONAME - _ZN8QVariantC1ENS_4TypeE @ 1625 NONAME - _ZN8QVariantC1EPKc @ 1626 NONAME - _ZN8QVariantC1ER11QDataStream @ 1627 NONAME - _ZN8QVariantC1ERK10QByteArray @ 1628 NONAME - _ZN8QVariantC1ERK11QStringList @ 1629 NONAME - _ZN8QVariantC1ERK13QLatin1String @ 1630 NONAME - _ZN8QVariantC1ERK4QMapI7QStringS_E @ 1631 NONAME - _ZN8QVariantC1ERK4QUrl @ 1632 NONAME - _ZN8QVariantC1ERK5QChar @ 1633 NONAME - _ZN8QVariantC1ERK5QDate @ 1634 NONAME - _ZN8QVariantC1ERK5QHashI7QStringS_E @ 1635 NONAME - _ZN8QVariantC1ERK5QLine @ 1636 NONAME - _ZN8QVariantC1ERK5QListIS_E @ 1637 NONAME - _ZN8QVariantC1ERK5QRect @ 1638 NONAME - _ZN8QVariantC1ERK5QSize @ 1639 NONAME - _ZN8QVariantC1ERK5QTime @ 1640 NONAME - _ZN8QVariantC1ERK6QLineF @ 1641 NONAME - _ZN8QVariantC1ERK6QPoint @ 1642 NONAME - _ZN8QVariantC1ERK6QRectF @ 1643 NONAME - _ZN8QVariantC1ERK6QSizeF @ 1644 NONAME - _ZN8QVariantC1ERK7QLocale @ 1645 NONAME - _ZN8QVariantC1ERK7QPointF @ 1646 NONAME - _ZN8QVariantC1ERK7QRegExp @ 1647 NONAME - _ZN8QVariantC1ERK7QString @ 1648 NONAME - _ZN8QVariantC1ERK9QBitArray @ 1649 NONAME - _ZN8QVariantC1ERK9QDateTime @ 1650 NONAME - _ZN8QVariantC1ERKS_ @ 1651 NONAME - _ZN8QVariantC1Eb @ 1652 NONAME - _ZN8QVariantC1Ed @ 1653 NONAME - _ZN8QVariantC1Ei @ 1654 NONAME - _ZN8QVariantC1EiPKv @ 1655 NONAME - _ZN8QVariantC1Ej @ 1656 NONAME - _ZN8QVariantC1Ex @ 1657 NONAME - _ZN8QVariantC1Ey @ 1658 NONAME - _ZN8QVariantC2EN2Qt11GlobalColorE @ 1659 NONAME - _ZN8QVariantC2ENS_4TypeE @ 1660 NONAME - _ZN8QVariantC2EPKc @ 1661 NONAME - _ZN8QVariantC2ER11QDataStream @ 1662 NONAME - _ZN8QVariantC2ERK10QByteArray @ 1663 NONAME - _ZN8QVariantC2ERK11QStringList @ 1664 NONAME - _ZN8QVariantC2ERK13QLatin1String @ 1665 NONAME - _ZN8QVariantC2ERK4QMapI7QStringS_E @ 1666 NONAME - _ZN8QVariantC2ERK4QUrl @ 1667 NONAME - _ZN8QVariantC2ERK5QChar @ 1668 NONAME - _ZN8QVariantC2ERK5QDate @ 1669 NONAME - _ZN8QVariantC2ERK5QHashI7QStringS_E @ 1670 NONAME - _ZN8QVariantC2ERK5QLine @ 1671 NONAME - _ZN8QVariantC2ERK5QListIS_E @ 1672 NONAME - _ZN8QVariantC2ERK5QRect @ 1673 NONAME - _ZN8QVariantC2ERK5QSize @ 1674 NONAME - _ZN8QVariantC2ERK5QTime @ 1675 NONAME - _ZN8QVariantC2ERK6QLineF @ 1676 NONAME - _ZN8QVariantC2ERK6QPoint @ 1677 NONAME - _ZN8QVariantC2ERK6QRectF @ 1678 NONAME - _ZN8QVariantC2ERK6QSizeF @ 1679 NONAME - _ZN8QVariantC2ERK7QLocale @ 1680 NONAME - _ZN8QVariantC2ERK7QPointF @ 1681 NONAME - _ZN8QVariantC2ERK7QRegExp @ 1682 NONAME - _ZN8QVariantC2ERK7QString @ 1683 NONAME - _ZN8QVariantC2ERK9QBitArray @ 1684 NONAME - _ZN8QVariantC2ERK9QDateTime @ 1685 NONAME - _ZN8QVariantC2ERKS_ @ 1686 NONAME - _ZN8QVariantC2Eb @ 1687 NONAME - _ZN8QVariantC2Ed @ 1688 NONAME - _ZN8QVariantC2Ei @ 1689 NONAME - _ZN8QVariantC2EiPKv @ 1690 NONAME - _ZN8QVariantC2Ej @ 1691 NONAME - _ZN8QVariantC2Ex @ 1692 NONAME - _ZN8QVariantC2Ey @ 1693 NONAME - _ZN8QVariantD1Ev @ 1694 NONAME - _ZN8QVariantD2Ev @ 1695 NONAME - _ZN8QVariantaSERKS_ @ 1696 NONAME - _ZN9QBitArray4fillEbii @ 1697 NONAME - _ZN9QBitArray6resizeEi @ 1698 NONAME - _ZN9QBitArrayC1Eib @ 1699 NONAME - _ZN9QBitArrayC2Eib @ 1700 NONAME - _ZN9QBitArrayaNERKS_ @ 1701 NONAME - _ZN9QBitArrayeOERKS_ @ 1702 NONAME - _ZN9QBitArrayoRERKS_ @ 1703 NONAME - _ZN9QConfFile10clearCacheEv @ 1704 NONAME - _ZN9QConfFile8fromNameERK7QStringb @ 1705 NONAME - _ZN9QConfFileC1ERK7QStringb @ 1706 NONAME - _ZN9QConfFileC2ERK7QStringb @ 1707 NONAME - _ZN9QDateTime10fromStringERK7QStringN2Qt10DateFormatE @ 1708 NONAME - _ZN9QDateTime10fromStringERK7QStringS2_ @ 1709 NONAME - _ZN9QDateTime10fromTime_tEj @ 1710 NONAME - _ZN9QDateTime11setTimeSpecEN2Qt8TimeSpecE @ 1711 NONAME - _ZN9QDateTime12setUtcOffsetEi @ 1712 NONAME - _ZN9QDateTime15currentDateTimeEv @ 1713 NONAME - _ZN9QDateTime6detachEv @ 1714 NONAME - _ZN9QDateTime7setDateERK5QDate @ 1715 NONAME - _ZN9QDateTime7setTimeERK5QTime @ 1716 NONAME - _ZN9QDateTime9setTime_tEj @ 1717 NONAME - _ZN9QDateTimeC1ERK5QDate @ 1718 NONAME - _ZN9QDateTimeC1ERK5QDateRK5QTimeN2Qt8TimeSpecE @ 1719 NONAME - _ZN9QDateTimeC1ERKS_ @ 1720 NONAME - _ZN9QDateTimeC1Ev @ 1721 NONAME - _ZN9QDateTimeC2ERK5QDate @ 1722 NONAME - _ZN9QDateTimeC2ERK5QDateRK5QTimeN2Qt8TimeSpecE @ 1723 NONAME - _ZN9QDateTimeC2ERKS_ @ 1724 NONAME - _ZN9QDateTimeC2Ev @ 1725 NONAME - _ZN9QDateTimeD1Ev @ 1726 NONAME - _ZN9QDateTimeD2Ev @ 1727 NONAME - _ZN9QDateTimeaSERKS_ @ 1728 NONAME - _ZN9QFileInfo10setCachingEb @ 1729 NONAME - _ZN9QFileInfo12makeAbsoluteEv @ 1730 NONAME - _ZN9QFileInfo6detachEv @ 1731 NONAME - _ZN9QFileInfo7refreshEv @ 1732 NONAME - _ZN9QFileInfo7setFileERK4QDirRK7QString @ 1733 NONAME - _ZN9QFileInfo7setFileERK5QFile @ 1734 NONAME - _ZN9QFileInfo7setFileERK7QString @ 1735 NONAME - _ZN9QFileInfoC1ERK4QDirRK7QString @ 1736 NONAME - _ZN9QFileInfoC1ERK5QFile @ 1737 NONAME - _ZN9QFileInfoC1ERK7QString @ 1738 NONAME - _ZN9QFileInfoC1ERKS_ @ 1739 NONAME - _ZN9QFileInfoC1Ev @ 1740 NONAME - _ZN9QFileInfoC2ERK4QDirRK7QString @ 1741 NONAME - _ZN9QFileInfoC2ERK5QFile @ 1742 NONAME - _ZN9QFileInfoC2ERK7QString @ 1743 NONAME - _ZN9QFileInfoC2ERKS_ @ 1744 NONAME - _ZN9QFileInfoC2Ev @ 1745 NONAME - _ZN9QFileInfoD1Ev @ 1746 NONAME - _ZN9QFileInfoD2Ev @ 1747 NONAME - _ZN9QFileInfoaSERKS_ @ 1748 NONAME - _ZN9QFileInfoeqERKS_ @ 1749 NONAME - _ZN9QHashData11free_helperEPFvPNS_4NodeEE @ 1750 NONAME - _ZN9QHashData11shared_nullE @ 1751 NONAME DATA 32 - _ZN9QHashData12allocateNodeEv @ 1752 NONAME - _ZN9QHashData12previousNodeEPNS_4NodeE @ 1753 NONAME - _ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEPFvS1_Ei @ 1754 NONAME - _ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEi @ 1755 NONAME - _ZN9QHashData14destroyAndFreeEv @ 1756 NONAME - _ZN9QHashData6rehashEi @ 1757 NONAME - _ZN9QHashData8freeNodeEPv @ 1758 NONAME - _ZN9QHashData8nextNodeEPNS_4NodeE @ 1759 NONAME - _ZN9QIODevice11qt_metacallEN11QMetaObject4CallEiPPv @ 1760 NONAME - _ZN9QIODevice11qt_metacastEPKc @ 1761 NONAME - _ZN9QIODevice11setOpenModeE6QFlagsINS_12OpenModeFlagEE @ 1762 NONAME - _ZN9QIODevice12aboutToCloseEv @ 1763 NONAME - _ZN9QIODevice12bytesWrittenEx @ 1764 NONAME - _ZN9QIODevice12readLineDataEPcx @ 1765 NONAME - _ZN9QIODevice14setErrorStringERK7QString @ 1766 NONAME - _ZN9QIODevice16staticMetaObjectE @ 1767 NONAME DATA 16 - _ZN9QIODevice16waitForReadyReadEi @ 1768 NONAME - _ZN9QIODevice18setTextModeEnabledEb @ 1769 NONAME - _ZN9QIODevice19readChannelFinishedEv @ 1770 NONAME - _ZN9QIODevice19waitForBytesWrittenEi @ 1771 NONAME - _ZN9QIODevice4openE6QFlagsINS_12OpenModeFlagEE @ 1772 NONAME - _ZN9QIODevice4peekEPcx @ 1773 NONAME - _ZN9QIODevice4peekEx @ 1774 NONAME - _ZN9QIODevice4readEPcx @ 1775 NONAME - _ZN9QIODevice4readEx @ 1776 NONAME - _ZN9QIODevice4seekEx @ 1777 NONAME - _ZN9QIODevice5closeEv @ 1778 NONAME - _ZN9QIODevice5resetEv @ 1779 NONAME - _ZN9QIODevice5writeEPKc @ 1780 NONAME - _ZN9QIODevice5writeEPKcx @ 1781 NONAME - _ZN9QIODevice7getCharEPc @ 1782 NONAME - _ZN9QIODevice7putCharEc @ 1783 NONAME - _ZN9QIODevice7readAllEv @ 1784 NONAME - _ZN9QIODevice8readLineEPcx @ 1785 NONAME - _ZN9QIODevice8readLineEx @ 1786 NONAME - _ZN9QIODevice9readyReadEv @ 1787 NONAME - _ZN9QIODevice9ungetCharEc @ 1788 NONAME - _ZN9QIODeviceC2EP7QObject @ 1789 NONAME - _ZN9QIODeviceC2ER16QIODevicePrivateP7QObject @ 1790 NONAME - _ZN9QIODeviceC2Ev @ 1791 NONAME - _ZN9QIODeviceD0Ev @ 1792 NONAME - _ZN9QIODeviceD1Ev @ 1793 NONAME - _ZN9QIODeviceD2Ev @ 1794 NONAME - _ZN9QInternal12callFunctionENS_16InternalFunctionEPPv @ 1795 NONAME - _ZN9QInternal16registerCallbackENS_8CallbackEPFbPPvE @ 1796 NONAME - _ZN9QInternal17activateCallbacksENS_8CallbackEPPv @ 1797 NONAME - _ZN9QInternal18unregisterCallbackENS_8CallbackEPFbPPvE @ 1798 NONAME - _ZN9QListData11shared_nullE @ 1799 NONAME DATA 24 - _ZN9QListData4moveEii @ 1800 NONAME - _ZN9QListData5eraseEPPv @ 1801 NONAME - _ZN9QListData6appendERKS_ @ 1802 NONAME - _ZN9QListData6appendEv @ 1803 NONAME - _ZN9QListData6detachEv @ 1804 NONAME - _ZN9QListData6insertEi @ 1805 NONAME - _ZN9QListData6removeEi @ 1806 NONAME - _ZN9QListData6removeEii @ 1807 NONAME - _ZN9QListData7detach2Ev @ 1808 NONAME - _ZN9QListData7prependEv @ 1809 NONAME - _ZN9QListData7reallocEi @ 1810 NONAME - _ZN9QMetaType12isRegisteredEi @ 1811 NONAME - _ZN9QMetaType12registerTypeEPKcPFvPvEPFS2_PKvE @ 1812 NONAME - _ZN9QMetaType14unregisterTypeEPKc @ 1813 NONAME - _ZN9QMetaType23registerStreamOperatorsEPKcPFvR11QDataStreamPKvEPFvS3_PvE @ 1814 NONAME - _ZN9QMetaType4loadER11QDataStreamiPv @ 1815 NONAME - _ZN9QMetaType4saveER11QDataStreamiPKv @ 1816 NONAME - _ZN9QMetaType4typeEPKc @ 1817 NONAME - _ZN9QMetaType7destroyEiPv @ 1818 NONAME - _ZN9QMetaType8typeNameEi @ 1819 NONAME - _ZN9QMetaType9constructEiPKv @ 1820 NONAME - _ZN9QMimeData11qt_metacallEN11QMetaObject4CallEiPPv @ 1821 NONAME - _ZN9QMimeData11qt_metacastEPKc @ 1822 NONAME - _ZN9QMimeData12removeFormatERK7QString @ 1823 NONAME - _ZN9QMimeData12setColorDataERK8QVariant @ 1824 NONAME - _ZN9QMimeData12setImageDataERK8QVariant @ 1825 NONAME - _ZN9QMimeData16staticMetaObjectE @ 1826 NONAME DATA 16 - _ZN9QMimeData5clearEv @ 1827 NONAME - _ZN9QMimeData7setDataERK7QStringRK10QByteArray @ 1828 NONAME - _ZN9QMimeData7setHtmlERK7QString @ 1829 NONAME - _ZN9QMimeData7setTextERK7QString @ 1830 NONAME - _ZN9QMimeData7setUrlsERK5QListI4QUrlE @ 1831 NONAME - _ZN9QMimeDataC1Ev @ 1832 NONAME - _ZN9QMimeDataC2Ev @ 1833 NONAME - _ZN9QMimeDataD0Ev @ 1834 NONAME - _ZN9QMimeDataD1Ev @ 1835 NONAME - _ZN9QMimeDataD2Ev @ 1836 NONAME - _ZN9QResource11searchPathsEv @ 1837 NONAME - _ZN9QResource11setFileNameERK7QString @ 1838 NONAME - _ZN9QResource13addSearchPathERK7QString @ 1839 NONAME - _ZN9QResource16registerResourceEPKhRK7QString @ 1840 NONAME - _ZN9QResource16registerResourceERK7QStringS2_ @ 1841 NONAME - _ZN9QResource18unregisterResourceEPKhRK7QString @ 1842 NONAME - _ZN9QResource18unregisterResourceERK7QStringS2_ @ 1843 NONAME - _ZN9QResource9setLocaleERK7QLocale @ 1844 NONAME - _ZN9QResourceC1ERK7QStringRK7QLocale @ 1845 NONAME - _ZN9QResourceC2ERK7QStringRK7QLocale @ 1846 NONAME - _ZN9QResourceD1Ev @ 1847 NONAME - _ZN9QResourceD2Ev @ 1848 NONAME - _ZN9QSettings10beginGroupERK7QString @ 1849 NONAME - _ZN9QSettings11qt_metacallEN11QMetaObject4CallEiPPv @ 1850 NONAME - _ZN9QSettings11qt_metacastEPKc @ 1851 NONAME - _ZN9QSettings11setIniCodecEP10QTextCodec @ 1852 NONAME - _ZN9QSettings11setIniCodecEPKc @ 1853 NONAME - _ZN9QSettings13defaultFormatEv @ 1854 NONAME - _ZN9QSettings13setArrayIndexEi @ 1855 NONAME - _ZN9QSettings14beginReadArrayERK7QString @ 1856 NONAME - _ZN9QSettings14registerFormatERK7QStringPFbR9QIODeviceR4QMapIS0_8QVariantEEPFbS4_RKS7_EN2Qt15CaseSensitivityE @ 1857 NONAME - _ZN9QSettings14setUserIniPathERK7QString @ 1858 NONAME - _ZN9QSettings15beginWriteArrayERK7QStringi @ 1859 NONAME - _ZN9QSettings16setDefaultFormatENS_6FormatE @ 1860 NONAME - _ZN9QSettings16setSystemIniPathERK7QString @ 1861 NONAME - _ZN9QSettings16staticMetaObjectE @ 1862 NONAME DATA 16 - _ZN9QSettings19setFallbacksEnabledEb @ 1863 NONAME - _ZN9QSettings4syncEv @ 1864 NONAME - _ZN9QSettings5clearEv @ 1865 NONAME - _ZN9QSettings5eventEP6QEvent @ 1866 NONAME - _ZN9QSettings6removeERK7QString @ 1867 NONAME - _ZN9QSettings7setPathENS_6FormatENS_5ScopeERK7QString @ 1868 NONAME - _ZN9QSettings8endArrayEv @ 1869 NONAME - _ZN9QSettings8endGroupEv @ 1870 NONAME - _ZN9QSettings8setValueERK7QStringRK8QVariant @ 1871 NONAME - _ZN9QSettingsC1ENS_5ScopeERK7QStringS3_P7QObject @ 1872 NONAME - _ZN9QSettingsC1ENS_6FormatENS_5ScopeERK7QStringS4_P7QObject @ 1873 NONAME - _ZN9QSettingsC1EP7QObject @ 1874 NONAME - _ZN9QSettingsC1ERK7QStringNS_6FormatEP7QObject @ 1875 NONAME - _ZN9QSettingsC1ERK7QStringS2_P7QObject @ 1876 NONAME - _ZN9QSettingsC2ENS_5ScopeERK7QStringS3_P7QObject @ 1877 NONAME - _ZN9QSettingsC2ENS_6FormatENS_5ScopeERK7QStringS4_P7QObject @ 1878 NONAME - _ZN9QSettingsC2EP7QObject @ 1879 NONAME - _ZN9QSettingsC2ERK7QStringNS_6FormatEP7QObject @ 1880 NONAME - _ZN9QSettingsC2ERK7QStringS2_P7QObject @ 1881 NONAME - _ZN9QSettingsD0Ev @ 1882 NONAME - _ZN9QSettingsD1Ev @ 1883 NONAME - _ZN9QSettingsD2Ev @ 1884 NONAME - _ZN9QTimeLine10timerEventEP11QTimerEvent @ 1885 NONAME - _ZN9QTimeLine11qt_metacallEN11QMetaObject4CallEiPPv @ 1886 NONAME - _ZN9QTimeLine11qt_metacastEPKc @ 1887 NONAME - _ZN9QTimeLine11setDurationEi @ 1888 NONAME - _ZN9QTimeLine11setEndFrameEi @ 1889 NONAME - _ZN9QTimeLine12frameChangedEi @ 1890 NONAME - _ZN9QTimeLine12setDirectionENS_9DirectionE @ 1891 NONAME - _ZN9QTimeLine12setLoopCountEi @ 1892 NONAME - _ZN9QTimeLine12stateChangedENS_5StateE @ 1893 NONAME - _ZN9QTimeLine12valueChangedEf @ 1894 NONAME - _ZN9QTimeLine13setCurveShapeENS_10CurveShapeE @ 1895 NONAME - _ZN9QTimeLine13setFrameRangeEii @ 1896 NONAME - _ZN9QTimeLine13setStartFrameEi @ 1897 NONAME - _ZN9QTimeLine14setCurrentTimeEi @ 1898 NONAME - _ZN9QTimeLine15toggleDirectionEv @ 1899 NONAME - _ZN9QTimeLine16staticMetaObjectE @ 1900 NONAME DATA 16 - _ZN9QTimeLine17setUpdateIntervalEi @ 1901 NONAME - _ZN9QTimeLine4stopEv @ 1902 NONAME - _ZN9QTimeLine5startEv @ 1903 NONAME - _ZN9QTimeLine6resumeEv @ 1904 NONAME - _ZN9QTimeLine8finishedEv @ 1905 NONAME - _ZN9QTimeLine9setPausedEb @ 1906 NONAME - _ZN9QTimeLineC1EiP7QObject @ 1907 NONAME - _ZN9QTimeLineC2EiP7QObject @ 1908 NONAME - _ZN9QTimeLineD0Ev @ 1909 NONAME - _ZN9QTimeLineD1Ev @ 1910 NONAME - _ZN9QTimeLineD2Ev @ 1911 NONAME - _ZN9QXmlUtils10isBaseCharE5QChar @ 1912 NONAME - _ZN9QXmlUtils10isExtenderE5QChar @ 1913 NONAME - _ZN9QXmlUtils10isNameCharE5QChar @ 1914 NONAME - _ZN9QXmlUtils10isPublicIDERK7QString @ 1915 NONAME - _ZN9QXmlUtils13isIdeographicE5QChar @ 1916 NONAME - _ZN9QXmlUtils13rangeContainsEPK13QXmlCharRangeS2_5QChar @ 1917 NONAME - _ZN9QXmlUtils15isCombiningCharE5QChar @ 1918 NONAME - _ZN9QXmlUtils6isCharE5QChar @ 1919 NONAME - _ZN9QXmlUtils7isDigitE5QChar @ 1920 NONAME - _ZN9QXmlUtils8isLetterE5QChar @ 1921 NONAME - _ZN9QXmlUtils8isNCNameERK10QStringRef @ 1922 NONAME - _ZN9QXmlUtils9isEncNameERK7QString @ 1923 NONAME - _ZN9QtPrivate16QStringList_joinEPK11QStringListRK7QString @ 1924 NONAME - _ZN9QtPrivate16QStringList_sortEP11QStringList @ 1925 NONAME - _ZN9QtPrivate18QStringList_filterEPK11QStringListRK7QRegExp @ 1926 NONAME - _ZN9QtPrivate18QStringList_filterEPK11QStringListRK7QStringN2Qt15CaseSensitivityE @ 1927 NONAME - _ZN9QtPrivate19QStringList_indexOfEPK11QStringListR7QRegExpi @ 1928 NONAME - _ZN9QtPrivate19QStringList_indexOfEPK11QStringListRK7QRegExpi @ 1929 NONAME - _ZN9QtPrivate20QStringList_containsEPK11QStringListRK7QStringN2Qt15CaseSensitivityE @ 1930 NONAME - _ZN9QtPrivate23QStringList_lastIndexOfEPK11QStringListR7QRegExpi @ 1931 NONAME - _ZN9QtPrivate23QStringList_lastIndexOfEPK11QStringListRK7QRegExpi @ 1932 NONAME - _ZN9QtPrivate28QStringList_removeDuplicatesEP11QStringList @ 1933 NONAME - _ZN9QtPrivate28QStringList_replaceInStringsEP11QStringListRK7QRegExpRK7QString @ 1934 NONAME - _ZN9QtPrivate28QStringList_replaceInStringsEP11QStringListRK7QStringS4_N2Qt15CaseSensitivityE @ 1935 NONAME - _ZNK10QByteArray10simplifiedEv @ 1936 NONAME - _ZNK10QByteArray10startsWithEPKc @ 1937 NONAME - _ZNK10QByteArray10startsWithERKS_ @ 1938 NONAME - _ZNK10QByteArray10startsWithEc @ 1939 NONAME - _ZNK10QByteArray10toLongLongEPbi @ 1940 NONAME - _ZNK10QByteArray11lastIndexOfEPKci @ 1941 NONAME - _ZNK10QByteArray11lastIndexOfERKS_i @ 1942 NONAME - _ZNK10QByteArray11lastIndexOfEci @ 1943 NONAME - _ZNK10QByteArray11toULongLongEPbi @ 1944 NONAME - _ZNK10QByteArray13leftJustifiedEicb @ 1945 NONAME - _ZNK10QByteArray13nulTerminatedEv @ 1946 NONAME - _ZNK10QByteArray14rightJustifiedEicb @ 1947 NONAME - _ZNK10QByteArray17toPercentEncodingERKS_S1_c @ 1948 NONAME - _ZNK10QByteArray3midEii @ 1949 NONAME - _ZNK10QByteArray4leftEi @ 1950 NONAME - _ZNK10QByteArray5countEPKc @ 1951 NONAME - _ZNK10QByteArray5countERKS_ @ 1952 NONAME - _ZNK10QByteArray5countEc @ 1953 NONAME - _ZNK10QByteArray5rightEi @ 1954 NONAME - _ZNK10QByteArray5splitEc @ 1955 NONAME - _ZNK10QByteArray5toHexEv @ 1956 NONAME - _ZNK10QByteArray5toIntEPbi @ 1957 NONAME - _ZNK10QByteArray6isNullEv @ 1958 NONAME - _ZNK10QByteArray6toLongEPbi @ 1959 NONAME - _ZNK10QByteArray6toUIntEPbi @ 1960 NONAME - _ZNK10QByteArray7indexOfEPKci @ 1961 NONAME - _ZNK10QByteArray7indexOfERKS_i @ 1962 NONAME - _ZNK10QByteArray7indexOfEci @ 1963 NONAME - _ZNK10QByteArray7toFloatEPb @ 1964 NONAME - _ZNK10QByteArray7toLowerEv @ 1965 NONAME - _ZNK10QByteArray7toShortEPbi @ 1966 NONAME - _ZNK10QByteArray7toULongEPbi @ 1967 NONAME - _ZNK10QByteArray7toUpperEv @ 1968 NONAME - _ZNK10QByteArray7trimmedEv @ 1969 NONAME - _ZNK10QByteArray8endsWithEPKc @ 1970 NONAME - _ZNK10QByteArray8endsWithERKS_ @ 1971 NONAME - _ZNK10QByteArray8endsWithEc @ 1972 NONAME - _ZNK10QByteArray8repeatedEi @ 1973 NONAME - _ZNK10QByteArray8toBase64Ev @ 1974 NONAME - _ZNK10QByteArray8toDoubleEPb @ 1975 NONAME - _ZNK10QByteArray8toUShortEPbi @ 1976 NONAME - _ZNK10QEventLoop10metaObjectEv @ 1977 NONAME - _ZNK10QEventLoop9isRunningEv @ 1978 NONAME - _ZNK10QSemaphore9availableEv @ 1979 NONAME - _ZNK10QStringRef8appendToEP7QString @ 1980 NONAME - _ZNK10QStringRef8toStringEv @ 1981 NONAME - _ZNK10QTextCodec11fromUnicodeERK7QString @ 1982 NONAME - _ZNK10QTextCodec11makeDecoderEv @ 1983 NONAME - _ZNK10QTextCodec11makeEncoderEv @ 1984 NONAME - _ZNK10QTextCodec7aliasesEv @ 1985 NONAME - _ZNK10QTextCodec9canEncodeE5QChar @ 1986 NONAME - _ZNK10QTextCodec9canEncodeERK7QString @ 1987 NONAME - _ZNK10QTextCodec9toUnicodeEPKc @ 1988 NONAME - _ZNK10QTextCodec9toUnicodeERK10QByteArray @ 1989 NONAME - _ZNK11QDataStream5atEndEv @ 1990 NONAME - _ZNK11QDataStream6statusEv @ 1991 NONAME - _ZNK11QMetaMethod10attributesEv @ 1992 NONAME - _ZNK11QMetaMethod10methodTypeEv @ 1993 NONAME - _ZNK11QMetaMethod14parameterNamesEv @ 1994 NONAME - _ZNK11QMetaMethod14parameterTypesEv @ 1995 NONAME - _ZNK11QMetaMethod3tagEv @ 1996 NONAME - _ZNK11QMetaMethod6accessEv @ 1997 NONAME - _ZNK11QMetaMethod6invokeEP7QObjectN2Qt14ConnectionTypeE22QGenericReturnArgument16QGenericArgumentS5_S5_S5_S5_S5_S5_S5_S5_S5_ @ 1998 NONAME - _ZNK11QMetaMethod8typeNameEv @ 1999 NONAME - _ZNK11QMetaMethod9signatureEv @ 2000 NONAME - _ZNK11QMetaObject10enumeratorEi @ 2001 NONAME - _ZNK11QMetaObject11constructorEi @ 2002 NONAME - _ZNK11QMetaObject11indexOfSlotEPKc @ 2003 NONAME - _ZNK11QMetaObject11methodCountEv @ 2004 NONAME - _ZNK11QMetaObject11newInstanceE16QGenericArgumentS0_S0_S0_S0_S0_S0_S0_S0_S0_ @ 2005 NONAME - _ZNK11QMetaObject12methodOffsetEv @ 2006 NONAME - _ZNK11QMetaObject12userPropertyEv @ 2007 NONAME - _ZNK11QMetaObject13indexOfMethodEPKc @ 2008 NONAME - _ZNK11QMetaObject13indexOfSignalEPKc @ 2009 NONAME - _ZNK11QMetaObject13propertyCountEv @ 2010 NONAME - _ZNK11QMetaObject14classInfoCountEv @ 2011 NONAME - _ZNK11QMetaObject14propertyOffsetEv @ 2012 NONAME - _ZNK11QMetaObject15classInfoOffsetEv @ 2013 NONAME - _ZNK11QMetaObject15enumeratorCountEv @ 2014 NONAME - _ZNK11QMetaObject15indexOfPropertyEPKc @ 2015 NONAME - _ZNK11QMetaObject15static_metacallENS_4CallEiPPv @ 2016 NONAME - _ZNK11QMetaObject16constructorCountEv @ 2017 NONAME - _ZNK11QMetaObject16enumeratorOffsetEv @ 2018 NONAME - _ZNK11QMetaObject16indexOfClassInfoEPKc @ 2019 NONAME - _ZNK11QMetaObject17indexOfEnumeratorEPKc @ 2020 NONAME - _ZNK11QMetaObject18indexOfConstructorEPKc @ 2021 NONAME - _ZNK11QMetaObject2trEPKcS1_ @ 2022 NONAME - _ZNK11QMetaObject2trEPKcS1_i @ 2023 NONAME - _ZNK11QMetaObject4castEP7QObject @ 2024 NONAME - _ZNK11QMetaObject6methodEi @ 2025 NONAME - _ZNK11QMetaObject6trUtf8EPKcS1_ @ 2026 NONAME - _ZNK11QMetaObject6trUtf8EPKcS1_i @ 2027 NONAME - _ZNK11QMetaObject8propertyEi @ 2028 NONAME - _ZNK11QMetaObject9classInfoEi @ 2029 NONAME - _ZNK11QTextStream10fieldWidthEv @ 2030 NONAME - _ZNK11QTextStream11integerBaseEv @ 2031 NONAME - _ZNK11QTextStream11numberFlagsEv @ 2032 NONAME - _ZNK11QTextStream14fieldAlignmentEv @ 2033 NONAME - _ZNK11QTextStream17autoDetectUnicodeEv @ 2034 NONAME - _ZNK11QTextStream18realNumberNotationEv @ 2035 NONAME - _ZNK11QTextStream19realNumberPrecisionEv @ 2036 NONAME - _ZNK11QTextStream21generateByteOrderMarkEv @ 2037 NONAME - _ZNK11QTextStream3posEv @ 2038 NONAME - _ZNK11QTextStream5atEndEv @ 2039 NONAME - _ZNK11QTextStream5codecEv @ 2040 NONAME - _ZNK11QTextStream6deviceEv @ 2041 NONAME - _ZNK11QTextStream6localeEv @ 2042 NONAME - _ZNK11QTextStream6statusEv @ 2043 NONAME - _ZNK11QTextStream6stringEv @ 2044 NONAME - _ZNK11QTextStream7padCharEv @ 2045 NONAME - _ZNK11QThreadPool10metaObjectEv @ 2046 NONAME - _ZNK11QThreadPool13expiryTimeoutEv @ 2047 NONAME - _ZNK11QThreadPool14maxThreadCountEv @ 2048 NONAME - _ZNK11QThreadPool17activeThreadCountEv @ 2049 NONAME - _ZNK11QTranslator10metaObjectEv @ 2050 NONAME - _ZNK11QTranslator7isEmptyEv @ 2051 NONAME - _ZNK11QTranslator9translateEPKcS1_S1_ @ 2052 NONAME - _ZNK11QTranslator9translateEPKcS1_S1_i @ 2053 NONAME - _ZNK11QTsciiCodec16convertToUnicodeEPKciPN10QTextCodec14ConverterStateE @ 2054 NONAME ABSENT - _ZNK11QTsciiCodec18convertFromUnicodeEPK5QChariPN10QTextCodec14ConverterStateE @ 2055 NONAME ABSENT - _ZNK11QTsciiCodec4nameEv @ 2056 NONAME ABSENT - _ZNK11QTsciiCodec7mibEnumEv @ 2057 NONAME ABSENT - _ZNK12QDirIterator4pathEv @ 2058 NONAME - _ZNK12QDirIterator7hasNextEv @ 2059 NONAME - _ZNK12QDirIterator8fileInfoEv @ 2060 NONAME - _ZNK12QDirIterator8fileNameEv @ 2061 NONAME - _ZNK12QDirIterator8filePathEv @ 2062 NONAME - _ZNK12QTextDecoder10hasFailureEv @ 2063 NONAME - _ZNK12QTextEncoder10hasFailureEv @ 2064 NONAME - _ZNK13QFSFileEngine12isSequentialEv @ 2065 NONAME - _ZNK13QFSFileEngine13caseSensitiveEv @ 2066 NONAME - _ZNK13QFSFileEngine14isRelativePathEv @ 2067 NONAME - _ZNK13QFSFileEngine15fileNameSymbianEN19QAbstractFileEngine8FileNameE @ 2068 NONAME ABSENT - _ZNK13QFSFileEngine17supportsExtensionEN19QAbstractFileEngine9ExtensionE @ 2069 NONAME - _ZNK13QFSFileEngine3posEv @ 2070 NONAME - _ZNK13QFSFileEngine4sizeEv @ 2071 NONAME - _ZNK13QFSFileEngine5mkdirERK7QStringb @ 2072 NONAME - _ZNK13QFSFileEngine5ownerEN19QAbstractFileEngine9FileOwnerE @ 2073 NONAME - _ZNK13QFSFileEngine5rmdirERK7QStringb @ 2074 NONAME - _ZNK13QFSFileEngine6handleEv @ 2075 NONAME - _ZNK13QFSFileEngine7ownerIdEN19QAbstractFileEngine9FileOwnerE @ 2076 NONAME - _ZNK13QFSFileEngine8fileNameEN19QAbstractFileEngine8FileNameE @ 2077 NONAME - _ZNK13QFSFileEngine8fileTimeEN19QAbstractFileEngine8FileTimeE @ 2078 NONAME - _ZNK13QFSFileEngine9entryListE6QFlagsIN4QDir6FilterEERK11QStringList @ 2079 NONAME - _ZNK13QFSFileEngine9fileFlagsE6QFlagsIN19QAbstractFileEngine8FileFlagEE @ 2080 NONAME - _ZNK13QFontLaoCodec16convertToUnicodeEPKciPN10QTextCodec14ConverterStateE @ 2081 NONAME - _ZNK13QFontLaoCodec18convertFromUnicodeEPK5QChariPN10QTextCodec14ConverterStateE @ 2082 NONAME - _ZNK13QFontLaoCodec4nameEv @ 2083 NONAME - _ZNK13QFontLaoCodec7mibEnumEv @ 2084 NONAME - _ZNK13QMetaProperty10enumeratorEv @ 2085 NONAME - _ZNK13QMetaProperty10isEditableEPK7QObject @ 2086 NONAME - _ZNK13QMetaProperty10isEnumTypeEv @ 2087 NONAME - _ZNK13QMetaProperty10isFlagTypeEv @ 2088 NONAME - _ZNK13QMetaProperty10isReadableEv @ 2089 NONAME - _ZNK13QMetaProperty10isWritableEv @ 2090 NONAME - _ZNK13QMetaProperty12hasStdCppSetEv @ 2091 NONAME - _ZNK13QMetaProperty12isDesignableEPK7QObject @ 2092 NONAME - _ZNK13QMetaProperty12isResettableEv @ 2093 NONAME - _ZNK13QMetaProperty12isScriptableEPK7QObject @ 2094 NONAME - _ZNK13QMetaProperty12notifySignalEv @ 2095 NONAME - _ZNK13QMetaProperty15hasNotifySignalEv @ 2096 NONAME - _ZNK13QMetaProperty17notifySignalIndexEv @ 2097 NONAME - _ZNK13QMetaProperty4nameEv @ 2098 NONAME - _ZNK13QMetaProperty4readEPK7QObject @ 2099 NONAME - _ZNK13QMetaProperty4typeEv @ 2100 NONAME - _ZNK13QMetaProperty5resetEP7QObject @ 2101 NONAME - _ZNK13QMetaProperty5writeEP7QObjectRK8QVariant @ 2102 NONAME - _ZNK13QMetaProperty6isUserEPK7QObject @ 2103 NONAME - _ZNK13QMetaProperty8isStoredEPK7QObject @ 2104 NONAME - _ZNK13QMetaProperty8typeNameEv @ 2105 NONAME - _ZNK13QMetaProperty8userTypeEv @ 2106 NONAME - _ZNK13QPluginLoader10metaObjectEv @ 2107 NONAME - _ZNK13QPluginLoader11errorStringEv @ 2108 NONAME - _ZNK13QPluginLoader8fileNameEv @ 2109 NONAME - _ZNK13QPluginLoader8isLoadedEv @ 2110 NONAME - _ZNK13QPluginLoader9loadHintsEv @ 2111 NONAME - _ZNK13QSharedMemory10isAttachedEv @ 2112 NONAME - _ZNK13QSharedMemory10metaObjectEv @ 2113 NONAME - _ZNK13QSharedMemory11errorStringEv @ 2114 NONAME - _ZNK13QSharedMemory3keyEv @ 2115 NONAME - _ZNK13QSharedMemory4dataEv @ 2116 NONAME - _ZNK13QSharedMemory4sizeEv @ 2117 NONAME - _ZNK13QSharedMemory5errorEv @ 2118 NONAME - _ZNK13QSharedMemory9constDataEv @ 2119 NONAME - _ZNK13QSignalMapper10metaObjectEv @ 2120 NONAME - _ZNK13QSignalMapper7mappingEP7QObject @ 2121 NONAME - _ZNK13QSignalMapper7mappingEP7QWidget @ 2122 NONAME - _ZNK13QSignalMapper7mappingERK7QString @ 2123 NONAME - _ZNK13QSignalMapper7mappingEi @ 2124 NONAME - _ZNK13QSystemLocale14fallbackLocaleEv @ 2125 NONAME - _ZNK13QSystemLocale5queryENS_9QueryTypeE8QVariant @ 2126 NONAME - _ZNK14QFactoryLoader10metaObjectEv @ 2127 NONAME - _ZNK14QFactoryLoader4keysEv @ 2128 NONAME - _ZNK14QFactoryLoader8instanceERK7QString @ 2129 NONAME - _ZNK14QLocalePrivate13validateCharsERK7QStringNS_10NumberModeEP10QByteArrayi @ 2130 NONAME - _ZNK14QLocalePrivate14doubleToStringEdiNS_10DoubleFormEij @ 2131 NONAME - _ZNK14QLocalePrivate14stringToDoubleERK7QStringPbNS_18GroupSeparatorModeE @ 2132 NONAME - _ZNK14QLocalePrivate15numberToCLocaleERK7QStringNS_18GroupSeparatorModeEP15QVarLengthArrayIcLi256EE @ 2133 NONAME - _ZNK14QLocalePrivate16dateTimeToStringERK7QStringPK5QDatePK5QTimePK7QLocale @ 2134 NONAME - _ZNK14QLocalePrivate16longLongToStringExiiij @ 2135 NONAME - _ZNK14QLocalePrivate16stringToLongLongERK7QStringiPbNS_18GroupSeparatorModeE @ 2136 NONAME - _ZNK14QLocalePrivate17measurementSystemEv @ 2137 NONAME - _ZNK14QLocalePrivate19stringToUnsLongLongERK7QStringiPbNS_18GroupSeparatorModeE @ 2138 NONAME - _ZNK14QLocalePrivate19unsLongLongToStringEyiiij @ 2139 NONAME - _ZNK14QMetaClassInfo4nameEv @ 2140 NONAME - _ZNK14QMetaClassInfo5valueEv @ 2141 NONAME - _ZNK14QObjectPrivate10senderListEv @ 2142 NONAME - _ZNK14QObjectPrivate12receiverListEPKc @ 2143 NONAME - _ZNK14QObjectPrivate8isSenderEPK7QObjectPKc @ 2144 NONAME - _ZNK14QStringMatcher7indexInEPK5QCharii @ 2145 NONAME - _ZNK14QStringMatcher7indexInERK7QStringi @ 2146 NONAME - _ZNK14QStringMatcher7patternEv @ 2147 NONAME - _ZNK14QTemporaryFile10autoRemoveEv @ 2148 NONAME - _ZNK14QTemporaryFile10fileEngineEv @ 2149 NONAME - _ZNK14QTemporaryFile10metaObjectEv @ 2150 NONAME - _ZNK14QTemporaryFile12fileTemplateEv @ 2151 NONAME - _ZNK14QTemporaryFile8fileNameEv @ 2152 NONAME - _ZNK15QDateTimeParser10fromStringERK7QStringP5QDateP5QTime @ 2153 NONAME - _ZNK15QDateTimeParser10getMaximumEv @ 2154 NONAME - _ZNK15QDateTimeParser10getMinimumEv @ 2155 NONAME - _ZNK15QDateTimeParser10sectionPosERKNS_11SectionNodeE @ 2156 NONAME - _ZNK15QDateTimeParser10sectionPosEi @ 2157 NONAME - _ZNK15QDateTimeParser11absoluteMaxEiRK9QDateTime @ 2158 NONAME - _ZNK15QDateTimeParser11absoluteMinEi @ 2159 NONAME - _ZNK15QDateTimeParser11getAmPmTextENS_4AmPmENS_4CaseE @ 2160 NONAME - _ZNK15QDateTimeParser11sectionNameEi @ 2161 NONAME - _ZNK15QDateTimeParser11sectionNodeEi @ 2162 NONAME - _ZNK15QDateTimeParser11sectionSizeEi @ 2163 NONAME - _ZNK15QDateTimeParser11sectionTextERK7QStringii @ 2164 NONAME - _ZNK15QDateTimeParser11sectionTextEi @ 2165 NONAME - _ZNK15QDateTimeParser11sectionTypeEi @ 2166 NONAME - _ZNK15QDateTimeParser12parseSectionERK9QDateTimeiR7QStringRiiRNS_5StateEPi @ 2167 NONAME - _ZNK15QDateTimeParser13sectionFormatENS_7SectionEi @ 2168 NONAME - _ZNK15QDateTimeParser13sectionFormatEi @ 2169 NONAME - _ZNK15QDateTimeParser14potentialValueERK7QStringiiiRK9QDateTimei @ 2170 NONAME - _ZNK15QDateTimeParser14sectionMaxSizeENS_7SectionEi @ 2171 NONAME - _ZNK15QDateTimeParser14sectionMaxSizeEi @ 2172 NONAME - _ZNK15QDateTimeParser17skipToNextSectionEiRK9QDateTimeRK7QString @ 2173 NONAME - _ZNK15QDateTimeParser5parseER7QStringRiRK9QDateTimeb @ 2174 NONAME - _ZNK15QDateTimeParser7findDayERK7QStringiiPS0_Pi @ 2175 NONAME - _ZNK15QDateTimeParser8findAmPmER7QStringiPi @ 2176 NONAME - _ZNK15QDateTimeParser8getDigitERK9QDateTimei @ 2177 NONAME - _ZNK15QDateTimeParser8setDigitER9QDateTimeii @ 2178 NONAME - _ZNK15QDateTimeParser9fieldInfoEi @ 2179 NONAME - _ZNK15QDateTimeParser9findMonthERK7QStringiiPS0_Pi @ 2180 NONAME - _ZNK15QDateTimeParser9maxChangeEi @ 2181 NONAME - _ZNK15QDateTimeParser9stateNameEi @ 2182 NONAME - _ZNK15QSocketNotifier10metaObjectEv @ 2183 NONAME - _ZNK16QCoreApplication10metaObjectEv @ 2184 NONAME - _ZNK16QSettingsPrivate9actualKeyERK7QString @ 2185 NONAME - _ZNK16QSettingsPrivate9setStatusEN9QSettings6StatusE @ 2186 NONAME - _ZNK16QSystemSemaphore11errorStringEv @ 2187 NONAME - _ZNK16QSystemSemaphore3keyEv @ 2188 NONAME - _ZNK16QSystemSemaphore5errorEv @ 2189 NONAME - _ZNK16QTextCodecPlugin10metaObjectEv @ 2190 NONAME - _ZNK16QTextCodecPlugin4keysEv @ 2191 NONAME - _ZNK16QXmlStreamReader10attributesEv @ 2192 NONAME - _ZNK16QXmlStreamReader10lineNumberEv @ 2193 NONAME - _ZNK16QXmlStreamReader11dtdPublicIdEv @ 2194 NONAME - _ZNK16QXmlStreamReader11dtdSystemIdEv @ 2195 NONAME - _ZNK16QXmlStreamReader11errorStringEv @ 2196 NONAME - _ZNK16QXmlStreamReader11tokenStringEv @ 2197 NONAME - _ZNK16QXmlStreamReader12columnNumberEv @ 2198 NONAME - _ZNK16QXmlStreamReader12isWhitespaceEv @ 2199 NONAME - _ZNK16QXmlStreamReader12namespaceUriEv @ 2200 NONAME - _ZNK16QXmlStreamReader13qualifiedNameEv @ 2201 NONAME - _ZNK16QXmlStreamReader14entityResolverEv @ 2202 NONAME - _ZNK16QXmlStreamReader15characterOffsetEv @ 2203 NONAME - _ZNK16QXmlStreamReader15documentVersionEv @ 2204 NONAME - _ZNK16QXmlStreamReader16documentEncodingEv @ 2205 NONAME - _ZNK16QXmlStreamReader18entityDeclarationsEv @ 2206 NONAME - _ZNK16QXmlStreamReader19namespaceProcessingEv @ 2207 NONAME - _ZNK16QXmlStreamReader20isStandaloneDocumentEv @ 2208 NONAME - _ZNK16QXmlStreamReader20notationDeclarationsEv @ 2209 NONAME - _ZNK16QXmlStreamReader21namespaceDeclarationsEv @ 2210 NONAME - _ZNK16QXmlStreamReader25processingInstructionDataEv @ 2211 NONAME - _ZNK16QXmlStreamReader27processingInstructionTargetEv @ 2212 NONAME - _ZNK16QXmlStreamReader4nameEv @ 2213 NONAME - _ZNK16QXmlStreamReader4textEv @ 2214 NONAME - _ZNK16QXmlStreamReader5atEndEv @ 2215 NONAME - _ZNK16QXmlStreamReader5errorEv @ 2216 NONAME - _ZNK16QXmlStreamReader6deviceEv @ 2217 NONAME - _ZNK16QXmlStreamReader6prefixEv @ 2218 NONAME - _ZNK16QXmlStreamReader7dtdNameEv @ 2219 NONAME - _ZNK16QXmlStreamReader7isCDATAEv @ 2220 NONAME - _ZNK16QXmlStreamReader9tokenTypeEv @ 2221 NONAME - _ZNK16QXmlStreamWriter14autoFormattingEv @ 2222 NONAME - _ZNK16QXmlStreamWriter20autoFormattingIndentEv @ 2223 NONAME - _ZNK16QXmlStreamWriter5codecEv @ 2224 NONAME - _ZNK16QXmlStreamWriter6deviceEv @ 2225 NONAME - _ZNK17QByteArrayMatcher7indexInEPKcii @ 2226 NONAME - _ZNK17QByteArrayMatcher7indexInERK10QByteArrayi @ 2227 NONAME - _ZNK18CQtActiveScheduler5ErrorEi @ 2228 NONAME - _ZNK18QAbstractItemModel10encodeDataERK5QListI11QModelIndexER11QDataStream @ 2229 NONAME - _ZNK18QAbstractItemModel10headerDataEiN2Qt11OrientationEi @ 2230 NONAME - _ZNK18QAbstractItemModel10metaObjectEv @ 2231 NONAME - _ZNK18QAbstractItemModel11hasChildrenERK11QModelIndex @ 2232 NONAME - _ZNK18QAbstractItemModel12canFetchMoreERK11QModelIndex @ 2233 NONAME - _ZNK18QAbstractItemModel19persistentIndexListEv @ 2234 NONAME - _ZNK18QAbstractItemModel20supportedDragActionsEv @ 2235 NONAME - _ZNK18QAbstractItemModel20supportedDropActionsEv @ 2236 NONAME - _ZNK18QAbstractItemModel4spanERK11QModelIndex @ 2237 NONAME - _ZNK18QAbstractItemModel5buddyERK11QModelIndex @ 2238 NONAME - _ZNK18QAbstractItemModel5flagsERK11QModelIndex @ 2239 NONAME - _ZNK18QAbstractItemModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 2240 NONAME - _ZNK18QAbstractItemModel8hasIndexEiiRK11QModelIndex @ 2241 NONAME - _ZNK18QAbstractItemModel8itemDataERK11QModelIndex @ 2242 NONAME - _ZNK18QAbstractItemModel8mimeDataERK5QListI11QModelIndexE @ 2243 NONAME - _ZNK18QAbstractItemModel9mimeTypesEv @ 2244 NONAME - _ZNK18QAbstractListModel10metaObjectEv @ 2245 NONAME - _ZNK18QAbstractListModel11columnCountERK11QModelIndex @ 2246 NONAME - _ZNK18QAbstractListModel11hasChildrenERK11QModelIndex @ 2247 NONAME - _ZNK18QAbstractListModel5indexEiiRK11QModelIndex @ 2248 NONAME - _ZNK18QAbstractListModel6parentERK11QModelIndex @ 2249 NONAME - _ZNK18QCryptographicHash6resultEv @ 2250 NONAME - _ZNK18QFileSystemWatcher10metaObjectEv @ 2251 NONAME - _ZNK18QFileSystemWatcher11directoriesEv @ 2252 NONAME - _ZNK18QFileSystemWatcher5filesEv @ 2253 NONAME - _ZNK18QThreadStorageData3getEv @ 2254 NONAME - _ZNK19QAbstractFileEngine11errorStringEv @ 2255 NONAME - _ZNK19QAbstractFileEngine12isSequentialEv @ 2256 NONAME - _ZNK19QAbstractFileEngine13caseSensitiveEv @ 2257 NONAME - _ZNK19QAbstractFileEngine14isRelativePathEv @ 2258 NONAME - _ZNK19QAbstractFileEngine17supportsExtensionENS_9ExtensionE @ 2259 NONAME - _ZNK19QAbstractFileEngine3posEv @ 2260 NONAME - _ZNK19QAbstractFileEngine4sizeEv @ 2261 NONAME - _ZNK19QAbstractFileEngine5atEndEv @ 2262 NONAME - _ZNK19QAbstractFileEngine5errorEv @ 2263 NONAME - _ZNK19QAbstractFileEngine5mkdirERK7QStringb @ 2264 NONAME - _ZNK19QAbstractFileEngine5ownerENS_9FileOwnerE @ 2265 NONAME - _ZNK19QAbstractFileEngine5rmdirERK7QStringb @ 2266 NONAME - _ZNK19QAbstractFileEngine6handleEv @ 2267 NONAME - _ZNK19QAbstractFileEngine7ownerIdENS_9FileOwnerE @ 2268 NONAME - _ZNK19QAbstractFileEngine8fileNameENS_8FileNameE @ 2269 NONAME - _ZNK19QAbstractFileEngine8fileTimeENS_8FileTimeE @ 2270 NONAME - _ZNK19QAbstractFileEngine9entryListE6QFlagsIN4QDir6FilterEERK11QStringList @ 2271 NONAME - _ZNK19QAbstractFileEngine9fileFlagsE6QFlagsINS_8FileFlagEE @ 2272 NONAME - _ZNK19QAbstractTableModel10metaObjectEv @ 2273 NONAME - _ZNK19QAbstractTableModel11hasChildrenERK11QModelIndex @ 2274 NONAME - _ZNK19QAbstractTableModel5indexEiiRK11QModelIndex @ 2275 NONAME - _ZNK19QAbstractTableModel6parentERK11QModelIndex @ 2276 NONAME - _ZNK19QTextBoundaryFinder12isAtBoundaryEv @ 2277 NONAME - _ZNK19QTextBoundaryFinder15boundaryReasonsEv @ 2278 NONAME - _ZNK19QTextBoundaryFinder6stringEv @ 2279 NONAME - _ZNK19QTextBoundaryFinder8positionEv @ 2280 NONAME - _ZNK20QXmlStreamAttributes5valueERK13QLatin1String @ 2281 NONAME - _ZNK20QXmlStreamAttributes5valueERK13QLatin1StringS2_ @ 2282 NONAME - _ZNK20QXmlStreamAttributes5valueERK7QString @ 2283 NONAME - _ZNK20QXmlStreamAttributes5valueERK7QStringRK13QLatin1String @ 2284 NONAME - _ZNK20QXmlStreamAttributes5valueERK7QStringS2_ @ 2285 NONAME - _ZNK21QObjectCleanupHandler10metaObjectEv @ 2286 NONAME - _ZNK21QObjectCleanupHandler7isEmptyEv @ 2287 NONAME - _ZNK21QPersistentModelIndex10internalIdEv @ 2288 NONAME - _ZNK21QPersistentModelIndex15internalPointerEv @ 2289 NONAME - _ZNK21QPersistentModelIndex3rowEv @ 2290 NONAME - _ZNK21QPersistentModelIndex4dataEi @ 2291 NONAME - _ZNK21QPersistentModelIndex5childEii @ 2292 NONAME - _ZNK21QPersistentModelIndex5flagsEv @ 2293 NONAME - _ZNK21QPersistentModelIndex5modelEv @ 2294 NONAME - _ZNK21QPersistentModelIndex6columnEv @ 2295 NONAME - _ZNK21QPersistentModelIndex6parentEv @ 2296 NONAME - _ZNK21QPersistentModelIndex7isValidEv @ 2297 NONAME - _ZNK21QPersistentModelIndex7siblingEii @ 2298 NONAME - _ZNK21QPersistentModelIndexcvRK11QModelIndexEv @ 2299 NONAME - _ZNK21QPersistentModelIndexeqERK11QModelIndex @ 2300 NONAME - _ZNK21QPersistentModelIndexeqERKS_ @ 2301 NONAME - _ZNK21QPersistentModelIndexltERKS_ @ 2302 NONAME - _ZNK21QPersistentModelIndexneERK11QModelIndex @ 2303 NONAME - _ZNK23QCoreApplicationPrivate7appNameEv @ 2304 NONAME - _ZNK23QEventDispatcherSymbian16registeredTimersEP7QObject @ 2305 NONAME - _ZNK24QAbstractEventDispatcher10metaObjectEv @ 2306 NONAME - _ZNK27QAbstractFileEngineIterator11nameFiltersEv @ 2307 NONAME - _ZNK27QAbstractFileEngineIterator15currentFileInfoEv @ 2308 NONAME - _ZNK27QAbstractFileEngineIterator15currentFilePathEv @ 2309 NONAME - _ZNK27QAbstractFileEngineIterator4pathEv @ 2310 NONAME - _ZNK27QAbstractFileEngineIterator7filtersEv @ 2311 NONAME - _ZNK27QAbstractFileEngineIterator9entryInfoENS_13EntryInfoTypeE @ 2312 NONAME - _ZNK4QDir10isReadableEv @ 2313 NONAME - _ZNK4QDir10isRelativeEv @ 2314 NONAME - _ZNK4QDir11nameFiltersEv @ 2315 NONAME - _ZNK4QDir12absolutePathEv @ 2316 NONAME - _ZNK4QDir13canonicalPathEv @ 2317 NONAME - _ZNK4QDir13entryInfoListE6QFlagsINS_6FilterEES0_INS_8SortFlagEE @ 2318 NONAME - _ZNK4QDir13entryInfoListERK11QStringList6QFlagsINS_6FilterEES3_INS_8SortFlagEE @ 2319 NONAME - _ZNK4QDir16absoluteFilePathERK7QString @ 2320 NONAME - _ZNK4QDir16relativeFilePathERK7QString @ 2321 NONAME - _ZNK4QDir4pathEv @ 2322 NONAME - _ZNK4QDir5countEv @ 2323 NONAME - _ZNK4QDir5mkdirERK7QString @ 2324 NONAME - _ZNK4QDir5rmdirERK7QString @ 2325 NONAME - _ZNK4QDir6existsERK7QString @ 2326 NONAME - _ZNK4QDir6existsEv @ 2327 NONAME - _ZNK4QDir6filterEv @ 2328 NONAME - _ZNK4QDir6isRootEv @ 2329 NONAME - _ZNK4QDir6mkpathERK7QString @ 2330 NONAME - _ZNK4QDir6rmpathERK7QString @ 2331 NONAME - _ZNK4QDir7dirNameEv @ 2332 NONAME - _ZNK4QDir7refreshEv @ 2333 NONAME - _ZNK4QDir7sortingEv @ 2334 NONAME - _ZNK4QDir8filePathERK7QString @ 2335 NONAME - _ZNK4QDir9entryListE6QFlagsINS_6FilterEES0_INS_8SortFlagEE @ 2336 NONAME - _ZNK4QDir9entryListERK11QStringList6QFlagsINS_6FilterEES3_INS_8SortFlagEE @ 2337 NONAME - _ZNK4QDireqERKS_ @ 2338 NONAME - _ZNK4QDirixEi @ 2339 NONAME - _ZNK4QUrl10isDetachedEv @ 2340 NONAME - _ZNK4QUrl10isParentOfERKS_ @ 2341 NONAME - _ZNK4QUrl10isRelativeEv @ 2342 NONAME - _ZNK4QUrl10queryItemsEv @ 2343 NONAME - _ZNK4QUrl11encodedHostEv @ 2344 NONAME - _ZNK4QUrl11encodedPathEv @ 2345 NONAME - _ZNK4QUrl11errorStringEv @ 2346 NONAME - _ZNK4QUrl11hasFragmentEv @ 2347 NONAME - _ZNK4QUrl11toLocalFileEv @ 2348 NONAME - _ZNK4QUrl12encodedQueryEv @ 2349 NONAME - _ZNK4QUrl12hasQueryItemERK7QString @ 2350 NONAME - _ZNK4QUrl14queryItemValueERK7QString @ 2351 NONAME - _ZNK4QUrl15encodedFragmentEv @ 2352 NONAME - _ZNK4QUrl15encodedPasswordEv @ 2353 NONAME - _ZNK4QUrl15encodedUserNameEv @ 2354 NONAME - _ZNK4QUrl17encodedQueryItemsEv @ 2355 NONAME - _ZNK4QUrl18allQueryItemValuesERK7QString @ 2356 NONAME - _ZNK4QUrl18queryPairDelimiterEv @ 2357 NONAME - _ZNK4QUrl19hasEncodedQueryItemERK10QByteArray @ 2358 NONAME - _ZNK4QUrl19queryValueDelimiterEv @ 2359 NONAME - _ZNK4QUrl21encodedQueryItemValueERK10QByteArray @ 2360 NONAME - _ZNK4QUrl25allEncodedQueryItemValuesERK10QByteArray @ 2361 NONAME - _ZNK4QUrl4hostEv @ 2362 NONAME - _ZNK4QUrl4pathEv @ 2363 NONAME - _ZNK4QUrl4portEi @ 2364 NONAME - _ZNK4QUrl4portEv @ 2365 NONAME - _ZNK4QUrl6schemeEv @ 2366 NONAME - _ZNK4QUrl7isEmptyEv @ 2367 NONAME - _ZNK4QUrl7isValidEv @ 2368 NONAME - _ZNK4QUrl8fragmentEv @ 2369 NONAME - _ZNK4QUrl8hasQueryEv @ 2370 NONAME - _ZNK4QUrl8passwordEv @ 2371 NONAME - _ZNK4QUrl8resolvedERKS_ @ 2372 NONAME - _ZNK4QUrl8toStringE6QFlagsINS_16FormattingOptionEE @ 2373 NONAME - _ZNK4QUrl8userInfoEv @ 2374 NONAME - _ZNK4QUrl8userNameEv @ 2375 NONAME - _ZNK4QUrl9authorityEv @ 2376 NONAME - _ZNK4QUrl9toEncodedE6QFlagsINS_16FormattingOptionEE @ 2377 NONAME - _ZNK4QUrleqERKS_ @ 2378 NONAME - _ZNK4QUrlltERKS_ @ 2379 NONAME - _ZNK4QUrlneERKS_ @ 2380 NONAME - _ZNK5QChar10digitValueEv @ 2381 NONAME - _ZNK5QChar11hasMirroredEv @ 2382 NONAME - _ZNK5QChar11toTitleCaseEv @ 2383 NONAME - _ZNK5QChar12mirroredCharEv @ 2384 NONAME - _ZNK5QChar12toCaseFoldedEv @ 2385 NONAME - _ZNK5QChar13decompositionEv @ 2386 NONAME - _ZNK5QChar14combiningClassEv @ 2387 NONAME - _ZNK5QChar14unicodeVersionEv @ 2388 NONAME - _ZNK5QChar16decompositionTagEv @ 2389 NONAME - _ZNK5QChar16isLetterOrNumberEv @ 2390 NONAME - _ZNK5QChar6isMarkEv @ 2391 NONAME - _ZNK5QChar7isDigitEv @ 2392 NONAME - _ZNK5QChar7isPrintEv @ 2393 NONAME - _ZNK5QChar7isPunctEv @ 2394 NONAME - _ZNK5QChar7isSpaceEv @ 2395 NONAME - _ZNK5QChar7joiningEv @ 2396 NONAME - _ZNK5QChar7toAsciiEv @ 2397 NONAME - _ZNK5QChar7toLowerEv @ 2398 NONAME - _ZNK5QChar7toUpperEv @ 2399 NONAME - _ZNK5QChar8categoryEv @ 2400 NONAME - _ZNK5QChar8isLetterEv @ 2401 NONAME - _ZNK5QChar8isNumberEv @ 2402 NONAME - _ZNK5QChar8isSymbolEv @ 2403 NONAME - _ZNK5QChar9directionEv @ 2404 NONAME - _ZNK5QDate10daysInYearEv @ 2405 NONAME - _ZNK5QDate10weekNumberEPi @ 2406 NONAME - _ZNK5QDate11daysInMonthEv @ 2407 NONAME - _ZNK5QDate3dayEv @ 2408 NONAME - _ZNK5QDate4yearEv @ 2409 NONAME - _ZNK5QDate5monthEv @ 2410 NONAME - _ZNK5QDate6daysToERKS_ @ 2411 NONAME - _ZNK5QDate7addDaysEi @ 2412 NONAME - _ZNK5QDate7isValidEv @ 2413 NONAME - _ZNK5QDate8addYearsEi @ 2414 NONAME - _ZNK5QDate8toStringEN2Qt10DateFormatE @ 2415 NONAME - _ZNK5QDate8toStringERK7QString @ 2416 NONAME - _ZNK5QDate9addMonthsEi @ 2417 NONAME - _ZNK5QDate9dayOfWeekEv @ 2418 NONAME - _ZNK5QDate9dayOfYearEv @ 2419 NONAME - _ZNK5QFile10fileEngineEv @ 2420 NONAME - _ZNK5QFile10metaObjectEv @ 2421 NONAME - _ZNK5QFile11permissionsEv @ 2422 NONAME - _ZNK5QFile12isSequentialEv @ 2423 NONAME - _ZNK5QFile3posEv @ 2424 NONAME - _ZNK5QFile4sizeEv @ 2425 NONAME - _ZNK5QFile5atEndEv @ 2426 NONAME - _ZNK5QFile5errorEv @ 2427 NONAME - _ZNK5QFile6existsEv @ 2428 NONAME - _ZNK5QFile6handleEv @ 2429 NONAME - _ZNK5QFile8fileNameEv @ 2430 NONAME - _ZNK5QFile8readLinkEv @ 2431 NONAME - _ZNK5QRect10intersectsERKS_ @ 2432 NONAME - _ZNK5QRect10normalizedEv @ 2433 NONAME - _ZNK5QRect8containsERK6QPointb @ 2434 NONAME - _ZNK5QRect8containsERKS_b @ 2435 NONAME - _ZNK5QRectanERKS_ @ 2436 NONAME - _ZNK5QRectorERKS_ @ 2437 NONAME - _ZNK5QTime4hourEv @ 2438 NONAME - _ZNK5QTime4msecEv @ 2439 NONAME - _ZNK5QTime6minuteEv @ 2440 NONAME - _ZNK5QTime6secondEv @ 2441 NONAME - _ZNK5QTime6secsToERKS_ @ 2442 NONAME - _ZNK5QTime7addSecsEi @ 2443 NONAME - _ZNK5QTime7elapsedEv @ 2444 NONAME - _ZNK5QTime7isValidEv @ 2445 NONAME - _ZNK5QTime7msecsToERKS_ @ 2446 NONAME - _ZNK5QTime8addMSecsEi @ 2447 NONAME - _ZNK5QTime8toStringEN2Qt10DateFormatE @ 2448 NONAME - _ZNK5QTime8toStringERK7QString @ 2449 NONAME - _ZNK5QUuid6isNullEv @ 2450 NONAME - _ZNK5QUuid7variantEv @ 2451 NONAME - _ZNK5QUuid7versionEv @ 2452 NONAME - _ZNK5QUuid8toStringEv @ 2453 NONAME - _ZNK5QUuidgtERKS_ @ 2454 NONAME - _ZNK5QUuidltERKS_ @ 2455 NONAME - _ZNK6QLineF10unitVectorEv @ 2456 NONAME - _ZNK6QLineF5angleERKS_ @ 2457 NONAME - _ZNK6QLineF5angleEv @ 2458 NONAME - _ZNK6QLineF6isNullEv @ 2459 NONAME - _ZNK6QLineF6lengthEv @ 2460 NONAME - _ZNK6QLineF7angleToERKS_ @ 2461 NONAME - _ZNK6QLineF9intersectERKS_P7QPointF @ 2462 NONAME - _ZNK6QPoint15manhattanLengthEv @ 2463 NONAME - _ZNK6QRectF10intersectsERKS_ @ 2464 NONAME - _ZNK6QRectF10normalizedEv @ 2465 NONAME - _ZNK6QRectF13toAlignedRectEv @ 2466 NONAME - _ZNK6QRectF8containsERK7QPointF @ 2467 NONAME - _ZNK6QRectF8containsERKS_ @ 2468 NONAME - _ZNK6QRectFanERKS_ @ 2469 NONAME - _ZNK6QRectForERKS_ @ 2470 NONAME - _ZNK6QTimer10metaObjectEv @ 2471 NONAME - _ZNK7QBuffer10metaObjectEv @ 2472 NONAME - _ZNK7QBuffer11canReadLineEv @ 2473 NONAME - _ZNK7QBuffer3posEv @ 2474 NONAME - _ZNK7QBuffer4dataEv @ 2475 NONAME - _ZNK7QBuffer4sizeEv @ 2476 NONAME - _ZNK7QBuffer5atEndEv @ 2477 NONAME - _ZNK7QBuffer6bufferEv @ 2478 NONAME - _ZNK7QLocale10dateFormatENS_10FormatTypeE @ 2479 NONAME - _ZNK7QLocale10timeFormatENS_10FormatTypeE @ 2480 NONAME - _ZNK7QLocale10toDateTimeERK7QStringNS_10FormatTypeE @ 2481 NONAME - _ZNK7QLocale10toDateTimeERK7QStringS2_ @ 2482 NONAME - _ZNK7QLocale10toLongLongERK7QStringPbi @ 2483 NONAME - _ZNK7QLocale11exponentialEv @ 2484 NONAME - _ZNK7QLocale11toULongLongERK7QStringPbi @ 2485 NONAME - _ZNK7QLocale12decimalPointEv @ 2486 NONAME - _ZNK7QLocale12negativeSignEv @ 2487 NONAME - _ZNK7QLocale12positiveSignEv @ 2488 NONAME - _ZNK7QLocale13numberOptionsEv @ 2489 NONAME - _ZNK7QLocale14dateTimeFormatENS_10FormatTypeE @ 2490 NONAME - _ZNK7QLocale14groupSeparatorEv @ 2491 NONAME - _ZNK7QLocale17measurementSystemEv @ 2492 NONAME - _ZNK7QLocale17standaloneDayNameEiNS_10FormatTypeE @ 2493 NONAME - _ZNK7QLocale19standaloneMonthNameEiNS_10FormatTypeE @ 2494 NONAME - _ZNK7QLocale1dEv @ 2495 NONAME - _ZNK7QLocale4nameEv @ 2496 NONAME - _ZNK7QLocale5toIntERK7QStringPbi @ 2497 NONAME - _ZNK7QLocale6amTextEv @ 2498 NONAME - _ZNK7QLocale6pmTextEv @ 2499 NONAME - _ZNK7QLocale6toDateERK7QStringNS_10FormatTypeE @ 2500 NONAME - _ZNK7QLocale6toDateERK7QStringS2_ @ 2501 NONAME - _ZNK7QLocale6toTimeERK7QStringNS_10FormatTypeE @ 2502 NONAME - _ZNK7QLocale6toTimeERK7QStringS2_ @ 2503 NONAME - _ZNK7QLocale6toUIntERK7QStringPbi @ 2504 NONAME - _ZNK7QLocale7countryEv @ 2505 NONAME - _ZNK7QLocale7dayNameEiNS_10FormatTypeE @ 2506 NONAME - _ZNK7QLocale7percentEv @ 2507 NONAME - _ZNK7QLocale7toFloatERK7QStringPb @ 2508 NONAME - _ZNK7QLocale7toShortERK7QStringPbi @ 2509 NONAME - _ZNK7QLocale8languageEv @ 2510 NONAME - _ZNK7QLocale8toDoubleERK7QStringPb @ 2511 NONAME - _ZNK7QLocale8toStringERK5QDateNS_10FormatTypeE @ 2512 NONAME - _ZNK7QLocale8toStringERK5QDateRK7QString @ 2513 NONAME - _ZNK7QLocale8toStringERK5QTimeNS_10FormatTypeE @ 2514 NONAME - _ZNK7QLocale8toStringERK5QTimeRK7QString @ 2515 NONAME - _ZNK7QLocale8toStringERK9QDateTimeNS_10FormatTypeE @ 2516 NONAME - _ZNK7QLocale8toStringERK9QDateTimeRK7QString @ 2517 NONAME - _ZNK7QLocale8toStringEdci @ 2518 NONAME - _ZNK7QLocale8toStringEx @ 2519 NONAME - _ZNK7QLocale8toStringEy @ 2520 NONAME - _ZNK7QLocale8toUShortERK7QStringPbi @ 2521 NONAME - _ZNK7QLocale9monthNameEiNS_10FormatTypeE @ 2522 NONAME - _ZNK7QLocale9zeroDigitEv @ 2523 NONAME - _ZNK7QObject10metaObjectEv @ 2524 NONAME - _ZNK7QObject10objectNameEv @ 2525 NONAME - _ZNK7QObject20dynamicPropertyNamesEv @ 2526 NONAME - _ZNK7QObject6senderEv @ 2527 NONAME - _ZNK7QObject6threadEv @ 2528 NONAME - _ZNK7QObject8propertyEPKc @ 2529 NONAME - _ZNK7QObject8userDataEj @ 2530 NONAME - _ZNK7QObject9receiversEPKc @ 2531 NONAME - _ZNK7QRegExp10exactMatchERK7QString @ 2532 NONAME - _ZNK7QRegExp11errorStringEv @ 2533 NONAME - _ZNK7QRegExp11lastIndexInERK7QStringiNS_9CaretModeE @ 2534 NONAME - _ZNK7QRegExp11numCapturesEv @ 2535 NONAME - _ZNK7QRegExp13capturedTextsEv @ 2536 NONAME - _ZNK7QRegExp13matchedLengthEv @ 2537 NONAME - _ZNK7QRegExp13patternSyntaxEv @ 2538 NONAME - _ZNK7QRegExp15caseSensitivityEv @ 2539 NONAME - _ZNK7QRegExp3capEi @ 2540 NONAME - _ZNK7QRegExp3posEi @ 2541 NONAME - _ZNK7QRegExp7indexInERK7QStringiNS_9CaretModeE @ 2542 NONAME - _ZNK7QRegExp7isEmptyEv @ 2543 NONAME - _ZNK7QRegExp7isValidEv @ 2544 NONAME - _ZNK7QRegExp7patternEv @ 2545 NONAME - _ZNK7QRegExp9isMinimalEv @ 2546 NONAME - _ZNK7QRegExpeqERKS_ @ 2547 NONAME - _ZNK7QString10normalizedENS_17NormalizationFormE @ 2548 NONAME - _ZNK7QString10normalizedENS_17NormalizationFormEN5QChar14UnicodeVersionE @ 2549 NONAME - _ZNK7QString10simplifiedEv @ 2550 NONAME - _ZNK7QString10startsWithERK13QLatin1StringN2Qt15CaseSensitivityE @ 2551 NONAME - _ZNK7QString10startsWithERK5QCharN2Qt15CaseSensitivityE @ 2552 NONAME - _ZNK7QString10startsWithERKS_N2Qt15CaseSensitivityE @ 2553 NONAME - _ZNK7QString10toLongLongEPbi @ 2554 NONAME - _ZNK7QString11lastIndexOfE5QChariN2Qt15CaseSensitivityE @ 2555 NONAME - _ZNK7QString11lastIndexOfER7QRegExpi @ 2556 NONAME - _ZNK7QString11lastIndexOfERK13QLatin1StringiN2Qt15CaseSensitivityE @ 2557 NONAME - _ZNK7QString11lastIndexOfERK7QRegExpi @ 2558 NONAME - _ZNK7QString11lastIndexOfERKS_iN2Qt15CaseSensitivityE @ 2559 NONAME - _ZNK7QString11toLocal8BitEv @ 2560 NONAME - _ZNK7QString11toULongLongEPbi @ 2561 NONAME - _ZNK7QString12toCaseFoldedEv @ 2562 NONAME - _ZNK7QString12toWCharArrayEPw @ 2563 NONAME - _ZNK7QString13leftJustifiedEi5QCharb @ 2564 NONAME - _ZNK7QString14rightJustifiedEi5QCharb @ 2565 NONAME - _ZNK7QString16updatePropertiesEv @ 2566 NONAME - _ZNK7QString18localeAwareCompareERKS_ @ 2567 NONAME - _ZNK7QString3argE5QChariRKS0_ @ 2568 NONAME - _ZNK7QString3argERKS_iRK5QChar @ 2569 NONAME - _ZNK7QString3argEciRK5QChar @ 2570 NONAME - _ZNK7QString3argEdiciRK5QChar @ 2571 NONAME - _ZNK7QString3argExiiRK5QChar @ 2572 NONAME - _ZNK7QString3argEyiiRK5QChar @ 2573 NONAME - _ZNK7QString3midEii @ 2574 NONAME - _ZNK7QString4leftEi @ 2575 NONAME - _ZNK7QString5countE5QCharN2Qt15CaseSensitivityE @ 2576 NONAME - _ZNK7QString5countERK7QRegExp @ 2577 NONAME - _ZNK7QString5countERKS_N2Qt15CaseSensitivityE @ 2578 NONAME - _ZNK7QString5rightEi @ 2579 NONAME - _ZNK7QString5splitERK5QCharNS_13SplitBehaviorEN2Qt15CaseSensitivityE @ 2580 NONAME - _ZNK7QString5splitERK7QRegExpNS_13SplitBehaviorE @ 2581 NONAME - _ZNK7QString5splitERKS_NS_13SplitBehaviorEN2Qt15CaseSensitivityE @ 2582 NONAME - _ZNK7QString5toIntEPbi @ 2583 NONAME - _ZNK7QString5utf16Ev @ 2584 NONAME - _ZNK7QString6midRefEii @ 2585 NONAME - _ZNK7QString6toLongEPbi @ 2586 NONAME - _ZNK7QString6toUIntEPbi @ 2587 NONAME - _ZNK7QString6toUcs4Ev @ 2588 NONAME - _ZNK7QString6toUtf8Ev @ 2589 NONAME - _ZNK7QString7compareERK13QLatin1StringN2Qt15CaseSensitivityE @ 2590 NONAME - _ZNK7QString7compareERKS_ @ 2591 NONAME - _ZNK7QString7compareERKS_N2Qt15CaseSensitivityE @ 2592 NONAME - _ZNK7QString7indexOfE5QChariN2Qt15CaseSensitivityE @ 2593 NONAME - _ZNK7QString7indexOfER7QRegExpi @ 2594 NONAME - _ZNK7QString7indexOfERK13QLatin1StringiN2Qt15CaseSensitivityE @ 2595 NONAME - _ZNK7QString7indexOfERK7QRegExpi @ 2596 NONAME - _ZNK7QString7indexOfERKS_iN2Qt15CaseSensitivityE @ 2597 NONAME - _ZNK7QString7leftRefEi @ 2598 NONAME - _ZNK7QString7sectionERK7QRegExpii6QFlagsINS_11SectionFlagEE @ 2599 NONAME - _ZNK7QString7sectionERKS_ii6QFlagsINS_11SectionFlagEE @ 2600 NONAME - _ZNK7QString7toAsciiEv @ 2601 NONAME - _ZNK7QString7toFloatEPb @ 2602 NONAME - _ZNK7QString7toLowerEv @ 2603 NONAME - _ZNK7QString7toShortEPbi @ 2604 NONAME - _ZNK7QString7toULongEPbi @ 2605 NONAME - _ZNK7QString7toUpperEv @ 2606 NONAME - _ZNK7QString7trimmedEv @ 2607 NONAME - _ZNK7QString8endsWithERK13QLatin1StringN2Qt15CaseSensitivityE @ 2608 NONAME - _ZNK7QString8endsWithERK5QCharN2Qt15CaseSensitivityE @ 2609 NONAME - _ZNK7QString8endsWithERKS_N2Qt15CaseSensitivityE @ 2610 NONAME - _ZNK7QString8multiArgEiPPKS_ @ 2611 NONAME - _ZNK7QString8repeatedEi @ 2612 NONAME - _ZNK7QString8rightRefEi @ 2613 NONAME - _ZNK7QString8toDoubleEPb @ 2614 NONAME - _ZNK7QString8toLatin1Ev @ 2615 NONAME - _ZNK7QString8toUShortEPbi @ 2616 NONAME - _ZNK7QStringeqERK13QLatin1String @ 2617 NONAME - _ZNK7QStringeqERKS_ @ 2618 NONAME - _ZNK7QStringgtERK13QLatin1String @ 2619 NONAME - _ZNK7QStringltERK13QLatin1String @ 2620 NONAME - _ZNK7QStringltERKS_ @ 2621 NONAME - _ZNK7QThread10isFinishedEv @ 2622 NONAME - _ZNK7QThread10metaObjectEv @ 2623 NONAME - _ZNK7QThread8priorityEv @ 2624 NONAME - _ZNK7QThread9isRunningEv @ 2625 NONAME - _ZNK7QThread9stackSizeEv @ 2626 NONAME - _ZNK8QLibrary10metaObjectEv @ 2627 NONAME - _ZNK8QLibrary11errorStringEv @ 2628 NONAME - _ZNK8QLibrary8fileNameEv @ 2629 NONAME - _ZNK8QLibrary8isLoadedEv @ 2630 NONAME - _ZNK8QLibrary9loadHintsEv @ 2631 NONAME - _ZNK8QProcess10exitStatusEv @ 2632 NONAME - _ZNK8QProcess10metaObjectEv @ 2633 NONAME - _ZNK8QProcess11canReadLineEv @ 2634 NONAME - _ZNK8QProcess11environmentEv @ 2635 NONAME - _ZNK8QProcess11readChannelEv @ 2636 NONAME - _ZNK8QProcess12bytesToWriteEv @ 2637 NONAME - _ZNK8QProcess12isSequentialEv @ 2638 NONAME - _ZNK8QProcess14bytesAvailableEv @ 2639 NONAME - _ZNK8QProcess15readChannelModeEv @ 2640 NONAME - _ZNK8QProcess16workingDirectoryEv @ 2641 NONAME - _ZNK8QProcess18processChannelModeEv @ 2642 NONAME - _ZNK8QProcess3pidEv @ 2643 NONAME - _ZNK8QProcess5atEndEv @ 2644 NONAME - _ZNK8QProcess5errorEv @ 2645 NONAME - _ZNK8QProcess5stateEv @ 2646 NONAME - _ZNK8QProcess8exitCodeEv @ 2647 NONAME - _ZNK8QVariant10canConvertENS_4TypeE @ 2648 NONAME - _ZNK8QVariant10toBitArrayEv @ 2649 NONAME - _ZNK8QVariant10toDateTimeEv @ 2650 NONAME - _ZNK8QVariant10toLongLongEPb @ 2651 NONAME - _ZNK8QVariant11toByteArrayEv @ 2652 NONAME - _ZNK8QVariant11toULongLongEPb @ 2653 NONAME - _ZNK8QVariant12toStringListEv @ 2654 NONAME - _ZNK8QVariant3cmpERKS_ @ 2655 NONAME - _ZNK8QVariant4saveER11QDataStream @ 2656 NONAME - _ZNK8QVariant4typeEv @ 2657 NONAME - _ZNK8QVariant5toIntEPb @ 2658 NONAME - _ZNK8QVariant5toMapEv @ 2659 NONAME - _ZNK8QVariant5toUrlEv @ 2660 NONAME - _ZNK8QVariant6isNullEv @ 2661 NONAME - _ZNK8QVariant6toBoolEv @ 2662 NONAME - _ZNK8QVariant6toCharEv @ 2663 NONAME - _ZNK8QVariant6toDateEv @ 2664 NONAME - _ZNK8QVariant6toHashEv @ 2665 NONAME - _ZNK8QVariant6toLineEv @ 2666 NONAME - _ZNK8QVariant6toListEv @ 2667 NONAME - _ZNK8QVariant6toRectEv @ 2668 NONAME - _ZNK8QVariant6toSizeEv @ 2669 NONAME - _ZNK8QVariant6toTimeEv @ 2670 NONAME - _ZNK8QVariant6toUIntEPb @ 2671 NONAME - _ZNK8QVariant7toLineFEv @ 2672 NONAME - _ZNK8QVariant7toPointEv @ 2673 NONAME - _ZNK8QVariant7toRectFEv @ 2674 NONAME - _ZNK8QVariant7toSizeFEv @ 2675 NONAME - _ZNK8QVariant8toDoubleEPb @ 2676 NONAME - _ZNK8QVariant8toLocaleEv @ 2677 NONAME - _ZNK8QVariant8toPointFEv @ 2678 NONAME - _ZNK8QVariant8toRegExpEv @ 2679 NONAME - _ZNK8QVariant8toStringEv @ 2680 NONAME - _ZNK8QVariant8typeNameEv @ 2681 NONAME - _ZNK8QVariant8userTypeEv @ 2682 NONAME - _ZNK8QVariant9constDataEv @ 2683 NONAME - _ZNK9QBitArray5countEb @ 2684 NONAME - _ZNK9QBitArraycoEv @ 2685 NONAME - _ZNK9QConfFile10isWritableEv @ 2686 NONAME - _ZNK9QConfFile12mergedKeyMapEv @ 2687 NONAME - _ZNK9QDateTime10toTimeSpecEN2Qt8TimeSpecE @ 2688 NONAME - _ZNK9QDateTime4dateEv @ 2689 NONAME - _ZNK9QDateTime4timeEv @ 2690 NONAME - _ZNK9QDateTime6daysToERKS_ @ 2691 NONAME - _ZNK9QDateTime6isNullEv @ 2692 NONAME - _ZNK9QDateTime6secsToERKS_ @ 2693 NONAME - _ZNK9QDateTime7addDaysEi @ 2694 NONAME - _ZNK9QDateTime7addSecsEi @ 2695 NONAME - _ZNK9QDateTime7isValidEv @ 2696 NONAME - _ZNK9QDateTime8addMSecsEx @ 2697 NONAME - _ZNK9QDateTime8addYearsEi @ 2698 NONAME - _ZNK9QDateTime8timeSpecEv @ 2699 NONAME - _ZNK9QDateTime8toStringEN2Qt10DateFormatE @ 2700 NONAME - _ZNK9QDateTime8toStringERK7QString @ 2701 NONAME - _ZNK9QDateTime8toTime_tEv @ 2702 NONAME - _ZNK9QDateTime9addMonthsEi @ 2703 NONAME - _ZNK9QDateTime9utcOffsetEv @ 2704 NONAME - _ZNK9QDateTimeeqERKS_ @ 2705 NONAME - _ZNK9QDateTimeltERKS_ @ 2706 NONAME - _ZNK9QFileInfo10bundleNameEv @ 2707 NONAME - _ZNK9QFileInfo10isReadableEv @ 2708 NONAME - _ZNK9QFileInfo10isRelativeEv @ 2709 NONAME - _ZNK9QFileInfo10isWritableEv @ 2710 NONAME - _ZNK9QFileInfo10permissionE6QFlagsIN5QFile10PermissionEE @ 2711 NONAME - _ZNK9QFileInfo11absoluteDirEv @ 2712 NONAME - _ZNK9QFileInfo11permissionsEv @ 2713 NONAME - _ZNK9QFileInfo12absolutePathEv @ 2714 NONAME - _ZNK9QFileInfo12isExecutableEv @ 2715 NONAME - _ZNK9QFileInfo12lastModifiedEv @ 2716 NONAME - _ZNK9QFileInfo13canonicalPathEv @ 2717 NONAME - _ZNK9QFileInfo14completeSuffixEv @ 2718 NONAME - _ZNK9QFileInfo16absoluteFilePathEv @ 2719 NONAME - _ZNK9QFileInfo16completeBaseNameEv @ 2720 NONAME - _ZNK9QFileInfo17canonicalFilePathEv @ 2721 NONAME - _ZNK9QFileInfo3dirEv @ 2722 NONAME - _ZNK9QFileInfo4pathEv @ 2723 NONAME - _ZNK9QFileInfo4sizeEv @ 2724 NONAME - _ZNK9QFileInfo5groupEv @ 2725 NONAME - _ZNK9QFileInfo5isDirEv @ 2726 NONAME - _ZNK9QFileInfo5ownerEv @ 2727 NONAME - _ZNK9QFileInfo6existsEv @ 2728 NONAME - _ZNK9QFileInfo6isFileEv @ 2729 NONAME - _ZNK9QFileInfo6isRootEv @ 2730 NONAME - _ZNK9QFileInfo6suffixEv @ 2731 NONAME - _ZNK9QFileInfo7cachingEv @ 2732 NONAME - _ZNK9QFileInfo7createdEv @ 2733 NONAME - _ZNK9QFileInfo7groupIdEv @ 2734 NONAME - _ZNK9QFileInfo7ownerIdEv @ 2735 NONAME - _ZNK9QFileInfo8baseNameEv @ 2736 NONAME - _ZNK9QFileInfo8fileNameEv @ 2737 NONAME - _ZNK9QFileInfo8filePathEv @ 2738 NONAME - _ZNK9QFileInfo8isBundleEv @ 2739 NONAME - _ZNK9QFileInfo8isHiddenEv @ 2740 NONAME - _ZNK9QFileInfo8lastReadEv @ 2741 NONAME - _ZNK9QFileInfo8readLinkEv @ 2742 NONAME - _ZNK9QFileInfo9isSymLinkEv @ 2743 NONAME - _ZNK9QFileInfoeqERKS_ @ 2744 NONAME - _ZNK9QIODevice10isReadableEv @ 2745 NONAME - _ZNK9QIODevice10isWritableEv @ 2746 NONAME - _ZNK9QIODevice10metaObjectEv @ 2747 NONAME - _ZNK9QIODevice11canReadLineEv @ 2748 NONAME - _ZNK9QIODevice11errorStringEv @ 2749 NONAME - _ZNK9QIODevice12bytesToWriteEv @ 2750 NONAME - _ZNK9QIODevice12isSequentialEv @ 2751 NONAME - _ZNK9QIODevice14bytesAvailableEv @ 2752 NONAME - _ZNK9QIODevice17isTextModeEnabledEv @ 2753 NONAME - _ZNK9QIODevice3posEv @ 2754 NONAME - _ZNK9QIODevice4sizeEv @ 2755 NONAME - _ZNK9QIODevice5atEndEv @ 2756 NONAME - _ZNK9QIODevice6isOpenEv @ 2757 NONAME - _ZNK9QIODevice8openModeEv @ 2758 NONAME - _ZNK9QMetaEnum10keyToValueEPKc @ 2759 NONAME - _ZNK9QMetaEnum10valueToKeyEi @ 2760 NONAME - _ZNK9QMetaEnum11keysToValueEPKc @ 2761 NONAME - _ZNK9QMetaEnum11valueToKeysEi @ 2762 NONAME - _ZNK9QMetaEnum3keyEi @ 2763 NONAME - _ZNK9QMetaEnum4nameEv @ 2764 NONAME - _ZNK9QMetaEnum5scopeEv @ 2765 NONAME - _ZNK9QMetaEnum5valueEi @ 2766 NONAME - _ZNK9QMetaEnum6isFlagEv @ 2767 NONAME - _ZNK9QMetaEnum8keyCountEv @ 2768 NONAME - _ZNK9QMimeData10metaObjectEv @ 2769 NONAME - _ZNK9QMimeData12retrieveDataERK7QStringN8QVariant4TypeE @ 2770 NONAME - _ZNK9QMimeData4dataERK7QString @ 2771 NONAME - _ZNK9QMimeData4htmlEv @ 2772 NONAME - _ZNK9QMimeData4textEv @ 2773 NONAME - _ZNK9QMimeData4urlsEv @ 2774 NONAME - _ZNK9QMimeData7formatsEv @ 2775 NONAME - _ZNK9QMimeData7hasHtmlEv @ 2776 NONAME - _ZNK9QMimeData7hasTextEv @ 2777 NONAME - _ZNK9QMimeData7hasUrlsEv @ 2778 NONAME - _ZNK9QMimeData8hasColorEv @ 2779 NONAME - _ZNK9QMimeData8hasImageEv @ 2780 NONAME - _ZNK9QMimeData9colorDataEv @ 2781 NONAME - _ZNK9QMimeData9hasFormatERK7QString @ 2782 NONAME - _ZNK9QMimeData9imageDataEv @ 2783 NONAME - _ZNK9QResource12isCompressedEv @ 2784 NONAME - _ZNK9QResource16absoluteFilePathEv @ 2785 NONAME - _ZNK9QResource4dataEv @ 2786 NONAME - _ZNK9QResource4sizeEv @ 2787 NONAME - _ZNK9QResource5isDirEv @ 2788 NONAME - _ZNK9QResource6localeEv @ 2789 NONAME - _ZNK9QResource7isValidEv @ 2790 NONAME - _ZNK9QResource8childrenEv @ 2791 NONAME - _ZNK9QResource8fileNameEv @ 2792 NONAME - _ZNK9QSettings10isWritableEv @ 2793 NONAME - _ZNK9QSettings10metaObjectEv @ 2794 NONAME - _ZNK9QSettings11childGroupsEv @ 2795 NONAME - _ZNK9QSettings15applicationNameEv @ 2796 NONAME - _ZNK9QSettings16fallbacksEnabledEv @ 2797 NONAME - _ZNK9QSettings16organizationNameEv @ 2798 NONAME - _ZNK9QSettings5groupEv @ 2799 NONAME - _ZNK9QSettings5scopeEv @ 2800 NONAME - _ZNK9QSettings5valueERK7QStringRK8QVariant @ 2801 NONAME - _ZNK9QSettings6formatEv @ 2802 NONAME - _ZNK9QSettings6statusEv @ 2803 NONAME - _ZNK9QSettings7allKeysEv @ 2804 NONAME - _ZNK9QSettings8containsERK7QString @ 2805 NONAME - _ZNK9QSettings8fileNameEv @ 2806 NONAME - _ZNK9QSettings8iniCodecEv @ 2807 NONAME - _ZNK9QSettings9childKeysEv @ 2808 NONAME - _ZNK9QTimeLine10curveShapeEv @ 2809 NONAME - _ZNK9QTimeLine10metaObjectEv @ 2810 NONAME - _ZNK9QTimeLine10startFrameEv @ 2811 NONAME - _ZNK9QTimeLine11currentTimeEv @ 2812 NONAME - _ZNK9QTimeLine12currentFrameEv @ 2813 NONAME - _ZNK9QTimeLine12currentValueEv @ 2814 NONAME - _ZNK9QTimeLine12frameForTimeEi @ 2815 NONAME - _ZNK9QTimeLine12valueForTimeEi @ 2816 NONAME - _ZNK9QTimeLine14updateIntervalEv @ 2817 NONAME - _ZNK9QTimeLine5stateEv @ 2818 NONAME - _ZNK9QTimeLine8durationEv @ 2819 NONAME - _ZNK9QTimeLine8endFrameEv @ 2820 NONAME - _ZNK9QTimeLine9directionEv @ 2821 NONAME - _ZNK9QTimeLine9loopCountEv @ 2822 NONAME - _ZTI10QBig5Codec @ 2823 NONAME ABSENT - _ZTI10QEventLoop @ 2824 NONAME - _ZTI10QSjisCodec @ 2825 NONAME ABSENT - _ZTI10QTextCodec @ 2826 NONAME - _ZTI10QUtf8Codec @ 2827 NONAME ABSENT - _ZTI11QCP949Codec @ 2828 NONAME ABSENT - _ZTI11QChildEvent @ 2829 NONAME - _ZTI11QDataStream @ 2830 NONAME - _ZTI11QEucJpCodec @ 2831 NONAME ABSENT - _ZTI11QEucKrCodec @ 2832 NONAME ABSENT - _ZTI11QIsciiCodec @ 2833 NONAME ABSENT - _ZTI11QTextStream @ 2834 NONAME - _ZTI11QThreadPool @ 2835 NONAME - _ZTI11QTimerEvent @ 2836 NONAME - _ZTI11QTranslator @ 2837 NONAME - _ZTI11QTsciiCodec @ 2838 NONAME ABSENT - _ZTI11QUtf16Codec @ 2839 NONAME ABSENT - _ZTI11QUtf32Codec @ 2840 NONAME ABSENT - _ZTI12QDirIterator @ 2841 NONAME - _ZTI12QFilePrivate @ 2842 NONAME ABSENT - _ZTI12QGb2312Codec @ 2843 NONAME ABSENT - _ZTI12QLatin1Codec @ 2844 NONAME ABSENT - _ZTI13QActiveObject @ 2845 NONAME ABSENT - _ZTI13QFSFileEngine @ 2846 NONAME - _ZTI13QFontLaoCodec @ 2847 NONAME - _ZTI13QGb18030Codec @ 2848 NONAME ABSENT - _ZTI13QLatin15Codec @ 2849 NONAME ABSENT - _ZTI13QPluginLoader @ 2850 NONAME - _ZTI13QSelectThread @ 2851 NONAME ABSENT - _ZTI13QSharedMemory @ 2852 NONAME - _ZTI13QSignalMapper @ 2853 NONAME - _ZTI13QSystemLocale @ 2854 NONAME - _ZTI13QUtf16BECodec @ 2855 NONAME ABSENT - _ZTI13QUtf16LECodec @ 2856 NONAME ABSENT - _ZTI13QUtf32BECodec @ 2857 NONAME ABSENT - _ZTI13QUtf32LECodec @ 2858 NONAME ABSENT - _ZTI14CProcessActive @ 2859 NONAME ABSENT - _ZTI14QAdoptedThread @ 2860 NONAME ABSENT - _ZTI14QFactoryLoader @ 2861 NONAME - _ZTI14QJpUnicodeConv @ 2862 NONAME ABSENT - _ZTI14QMetaCallEvent @ 2863 NONAME - _ZTI14QObjectPrivate @ 2864 NONAME - _ZTI14QTemporaryFile @ 2865 NONAME - _ZTI14QThreadPrivate @ 2866 NONAME ABSENT - _ZTI15QBig5hkscsCodec @ 2867 NONAME ABSENT - _ZTI15QDateTimeParser @ 2868 NONAME - _ZTI15QObjectUserData @ 2869 NONAME - _ZTI15QProcessPrivate @ 2870 NONAME ABSENT - _ZTI15QSocketNotifier @ 2871 NONAME - _ZTI16QCoreApplication @ 2872 NONAME - _ZTI16QIODevicePrivate @ 2873 NONAME - _ZTI16QSettingsPrivate @ 2874 NONAME - _ZTI16QSimpleTextCodec @ 2875 NONAME ABSENT - _ZTI16QSingleShotTimer @ 2876 NONAME ABSENT - _ZTI16QTextCodecPlugin @ 2877 NONAME - _ZTI17QFactoryInterface @ 2878 NONAME - _ZTI17QThreadPoolThread @ 2879 NONAME ABSENT - _ZTI18CNotifyChangeEvent @ 2880 NONAME ABSENT - _ZTI18CQtActiveScheduler @ 2881 NONAME - _ZTI18QAbstractItemModel @ 2882 NONAME - _ZTI18QAbstractListModel @ 2883 NONAME - _ZTI18QFileSystemWatcher @ 2884 NONAME - _ZTI18QJpUnicodeConv_Sun @ 2885 NONAME ABSENT - _ZTI18QTimerActiveObject @ 2886 NONAME ABSENT - _ZTI19QAbstractFileEngine @ 2887 NONAME - _ZTI19QAbstractTableModel @ 2888 NONAME - _ZTI19QResourceFileEngine @ 2889 NONAME ABSENT - _ZTI19QSocketActiveObject @ 2890 NONAME ABSENT - _ZTI19QWakeUpActiveObject @ 2891 NONAME ABSENT - _ZTI20QCompleteDeferredAOs @ 2892 NONAME ABSENT - _ZTI20QSharedMemoryPrivate @ 2893 NONAME - _ZTI20QTemporaryFileEngine @ 2894 NONAME ABSENT - _ZTI21QDeviceClosedNotifier @ 2895 NONAME ABSENT - _ZTI21QFSFileEngineIterator @ 2896 NONAME ABSENT - _ZTI21QObjectCleanupHandler @ 2897 NONAME - _ZTI21QTemporaryFilePrivate @ 2898 NONAME ABSENT - _ZTI23CProcessManagerMediator @ 2899 NONAME ABSENT - _ZTI23QCoreApplicationPrivate @ 2900 NONAME - _ZTI23QEventDispatcherSymbian @ 2901 NONAME - _ZTI24QAbstractEventDispatcher @ 2902 NONAME - _ZTI24QConfFileSettingsPrivate @ 2903 NONAME ABSENT - _ZTI24QFileSystemWatcherEngine @ 2904 NONAME ABSENT - _ZTI24QJpUnicodeConv_Microsoft @ 2905 NONAME ABSENT - _ZTI24QXmlStreamEntityResolver @ 2906 NONAME - _ZTI25QAbstractItemModelPrivate @ 2907 NONAME - _ZTI26QAbstractFileEngineHandler @ 2908 NONAME - _ZTI26QResourceFileEngineHandler @ 2909 NONAME ABSENT - _ZTI26QTextCodecFactoryInterface @ 2910 NONAME - _ZTI27QAbstractFileEngineIterator @ 2911 NONAME - _ZTI27QDynamicPropertyChangeEvent @ 2912 NONAME - _ZTI27QResourceFileEngineIterator @ 2913 NONAME ABSENT - _ZTI28QJpUnicodeConv_Unicode_ASCII @ 2914 NONAME ABSENT - _ZTI29QJpUnicodeConv_JISX0221_ASCII @ 2915 NONAME ABSENT - _ZTI31QAbstractEventDispatcherPrivate @ 2916 NONAME - _ZTI31QPollingFileSystemWatcherEngine @ 2917 NONAME ABSENT - _ZTI31QSymbianFileSystemWatcherEngine @ 2918 NONAME ABSENT - _ZTI32QJpUnicodeConv_JISX0221_JISX0201 @ 2919 NONAME ABSENT - _ZTI5QFile @ 2920 NONAME - _ZTI6QEvent @ 2921 NONAME - _ZTI6QTimer @ 2922 NONAME - _ZTI7QBuffer @ 2923 NONAME - _ZTI7QObject @ 2924 NONAME - _ZTI7QThread @ 2925 NONAME - _ZTI8QLibrary @ 2926 NONAME - _ZTI8QProcess @ 2927 NONAME - _ZTI9QGbkCodec @ 2928 NONAME ABSENT - _ZTI9QIODevice @ 2929 NONAME - _ZTI9QJisCodec @ 2930 NONAME ABSENT - _ZTI9QMimeData @ 2931 NONAME - _ZTI9QSettings @ 2932 NONAME - _ZTI9QTimeLine @ 2933 NONAME - _ZTV10QBig5Codec @ 2934 NONAME ABSENT - _ZTV10QEventLoop @ 2935 NONAME - _ZTV10QSjisCodec @ 2936 NONAME ABSENT - _ZTV10QTextCodec @ 2937 NONAME - _ZTV10QUtf8Codec @ 2938 NONAME ABSENT - _ZTV11QCP949Codec @ 2939 NONAME ABSENT - _ZTV11QChildEvent @ 2940 NONAME - _ZTV11QDataStream @ 2941 NONAME - _ZTV11QEucJpCodec @ 2942 NONAME ABSENT - _ZTV11QEucKrCodec @ 2943 NONAME ABSENT - _ZTV11QIsciiCodec @ 2944 NONAME ABSENT - _ZTV11QTextStream @ 2945 NONAME - _ZTV11QThreadPool @ 2946 NONAME - _ZTV11QTimerEvent @ 2947 NONAME - _ZTV11QTranslator @ 2948 NONAME - _ZTV11QTsciiCodec @ 2949 NONAME ABSENT - _ZTV11QUtf16Codec @ 2950 NONAME ABSENT - _ZTV11QUtf32Codec @ 2951 NONAME ABSENT - _ZTV12QDirIterator @ 2952 NONAME - _ZTV12QFilePrivate @ 2953 NONAME ABSENT - _ZTV12QGb2312Codec @ 2954 NONAME ABSENT - _ZTV12QLatin1Codec @ 2955 NONAME ABSENT - _ZTV13QActiveObject @ 2956 NONAME ABSENT - _ZTV13QFSFileEngine @ 2957 NONAME - _ZTV13QFontLaoCodec @ 2958 NONAME - _ZTV13QGb18030Codec @ 2959 NONAME ABSENT - _ZTV13QLatin15Codec @ 2960 NONAME ABSENT - _ZTV13QPluginLoader @ 2961 NONAME - _ZTV13QSelectThread @ 2962 NONAME ABSENT - _ZTV13QSharedMemory @ 2963 NONAME - _ZTV13QSignalMapper @ 2964 NONAME - _ZTV13QSystemLocale @ 2965 NONAME - _ZTV13QUtf16BECodec @ 2966 NONAME ABSENT - _ZTV13QUtf16LECodec @ 2967 NONAME ABSENT - _ZTV13QUtf32BECodec @ 2968 NONAME ABSENT - _ZTV13QUtf32LECodec @ 2969 NONAME ABSENT - _ZTV14CProcessActive @ 2970 NONAME ABSENT - _ZTV14QAdoptedThread @ 2971 NONAME ABSENT - _ZTV14QFactoryLoader @ 2972 NONAME - _ZTV14QJpUnicodeConv @ 2973 NONAME ABSENT - _ZTV14QMetaCallEvent @ 2974 NONAME - _ZTV14QObjectPrivate @ 2975 NONAME - _ZTV14QTemporaryFile @ 2976 NONAME - _ZTV14QThreadPrivate @ 2977 NONAME ABSENT - _ZTV15QBig5hkscsCodec @ 2978 NONAME ABSENT - _ZTV15QDateTimeParser @ 2979 NONAME - _ZTV15QObjectUserData @ 2980 NONAME - _ZTV15QProcessPrivate @ 2981 NONAME ABSENT - _ZTV15QSocketNotifier @ 2982 NONAME - _ZTV16QCoreApplication @ 2983 NONAME - _ZTV16QIODevicePrivate @ 2984 NONAME - _ZTV16QSettingsPrivate @ 2985 NONAME - _ZTV16QSimpleTextCodec @ 2986 NONAME ABSENT - _ZTV16QSingleShotTimer @ 2987 NONAME ABSENT - _ZTV16QTextCodecPlugin @ 2988 NONAME - _ZTV17QThreadPoolThread @ 2989 NONAME ABSENT - _ZTV18CNotifyChangeEvent @ 2990 NONAME ABSENT - _ZTV18CQtActiveScheduler @ 2991 NONAME - _ZTV18QAbstractItemModel @ 2992 NONAME - _ZTV18QAbstractListModel @ 2993 NONAME - _ZTV18QFileSystemWatcher @ 2994 NONAME - _ZTV18QJpUnicodeConv_Sun @ 2995 NONAME ABSENT - _ZTV18QTimerActiveObject @ 2996 NONAME ABSENT - _ZTV19QAbstractFileEngine @ 2997 NONAME - _ZTV19QAbstractTableModel @ 2998 NONAME - _ZTV19QResourceFileEngine @ 2999 NONAME ABSENT - _ZTV19QSocketActiveObject @ 3000 NONAME ABSENT - _ZTV19QWakeUpActiveObject @ 3001 NONAME ABSENT - _ZTV20QCompleteDeferredAOs @ 3002 NONAME ABSENT - _ZTV20QSharedMemoryPrivate @ 3003 NONAME - _ZTV20QTemporaryFileEngine @ 3004 NONAME ABSENT - _ZTV21QDeviceClosedNotifier @ 3005 NONAME ABSENT - _ZTV21QFSFileEngineIterator @ 3006 NONAME ABSENT - _ZTV21QObjectCleanupHandler @ 3007 NONAME - _ZTV21QTemporaryFilePrivate @ 3008 NONAME ABSENT - _ZTV23CProcessManagerMediator @ 3009 NONAME ABSENT - _ZTV23QCoreApplicationPrivate @ 3010 NONAME - _ZTV23QEventDispatcherSymbian @ 3011 NONAME - _ZTV24QAbstractEventDispatcher @ 3012 NONAME - _ZTV24QConfFileSettingsPrivate @ 3013 NONAME ABSENT - _ZTV24QFileSystemWatcherEngine @ 3014 NONAME ABSENT - _ZTV24QJpUnicodeConv_Microsoft @ 3015 NONAME ABSENT - _ZTV24QXmlStreamEntityResolver @ 3016 NONAME - _ZTV25QAbstractItemModelPrivate @ 3017 NONAME - _ZTV26QAbstractFileEngineHandler @ 3018 NONAME - _ZTV26QResourceFileEngineHandler @ 3019 NONAME ABSENT - _ZTV27QAbstractFileEngineIterator @ 3020 NONAME - _ZTV27QDynamicPropertyChangeEvent @ 3021 NONAME - _ZTV27QResourceFileEngineIterator @ 3022 NONAME ABSENT - _ZTV28QJpUnicodeConv_Unicode_ASCII @ 3023 NONAME ABSENT - _ZTV29QJpUnicodeConv_JISX0221_ASCII @ 3024 NONAME ABSENT - _ZTV31QAbstractEventDispatcherPrivate @ 3025 NONAME - _ZTV31QPollingFileSystemWatcherEngine @ 3026 NONAME ABSENT - _ZTV31QSymbianFileSystemWatcherEngine @ 3027 NONAME ABSENT - _ZTV32QJpUnicodeConv_JISX0221_JISX0201 @ 3028 NONAME ABSENT - _ZTV5QFile @ 3029 NONAME - _ZTV6QEvent @ 3030 NONAME - _ZTV6QTimer @ 3031 NONAME - _ZTV7QBuffer @ 3032 NONAME - _ZTV7QObject @ 3033 NONAME - _ZTV7QThread @ 3034 NONAME - _ZTV8QLibrary @ 3035 NONAME - _ZTV8QProcess @ 3036 NONAME - _ZTV9QGbkCodec @ 3037 NONAME ABSENT - _ZTV9QIODevice @ 3038 NONAME - _ZTV9QJisCodec @ 3039 NONAME ABSENT - _ZTV9QMimeData @ 3040 NONAME - _ZTV9QSettings @ 3041 NONAME - _ZTV9QTimeLine @ 3042 NONAME - _ZThn8_N16QTextCodecPlugin6createERK7QString @ 3043 NONAME - _ZThn8_N16QTextCodecPluginD0Ev @ 3044 NONAME - _ZThn8_N16QTextCodecPluginD1Ev @ 3045 NONAME - _ZThn8_NK16QTextCodecPlugin4keysEv @ 3046 NONAME - _ZanRK9QBitArrayS1_ @ 3047 NONAME - _ZeoRK9QBitArrayS1_ @ 3048 NONAME - _ZeqRK10QStringRefS1_ @ 3049 NONAME - _ZeqRK13QLatin1StringRK10QStringRef @ 3050 NONAME - _ZeqRK7QStringRK10QStringRef @ 3051 NONAME - _ZeqRKN15QDateTimeParser11SectionNodeES2_ @ 3052 NONAME - _Zls6QDebug6QFlagsIN4QDir6FilterEE @ 3053 NONAME - _Zls6QDebug6QFlagsIN9QIODevice12OpenModeFlagEE @ 3054 NONAME - _Zls6QDebugN8QVariant4TypeE @ 3055 NONAME - _Zls6QDebugPK7QObject @ 3056 NONAME - _Zls6QDebugRK11QModelIndex @ 3057 NONAME - _Zls6QDebugRK21QPersistentModelIndex @ 3058 NONAME - _Zls6QDebugRK4QDir @ 3059 NONAME - _Zls6QDebugRK4QUrl @ 3060 NONAME - _Zls6QDebugRK5QDate @ 3061 NONAME - _Zls6QDebugRK5QLine @ 3062 NONAME - _Zls6QDebugRK5QRect @ 3063 NONAME - _Zls6QDebugRK5QSize @ 3064 NONAME - _Zls6QDebugRK5QTime @ 3065 NONAME - _Zls6QDebugRK6QLineF @ 3066 NONAME - _Zls6QDebugRK6QPoint @ 3067 NONAME - _Zls6QDebugRK6QRectF @ 3068 NONAME - _Zls6QDebugRK6QSizeF @ 3069 NONAME - _Zls6QDebugRK7QPointF @ 3070 NONAME - _Zls6QDebugRK8QVariant @ 3071 NONAME - _Zls6QDebugRK9QDateTime @ 3072 NONAME - _ZlsR11QDataStreamN8QVariant4TypeE @ 3073 NONAME - _ZlsR11QDataStreamRK10QByteArray @ 3074 NONAME - _ZlsR11QDataStreamRK4QUrl @ 3075 NONAME - _ZlsR11QDataStreamRK5QChar @ 3076 NONAME - _ZlsR11QDataStreamRK5QDate @ 3077 NONAME - _ZlsR11QDataStreamRK5QLine @ 3078 NONAME - _ZlsR11QDataStreamRK5QRect @ 3079 NONAME - _ZlsR11QDataStreamRK5QSize @ 3080 NONAME - _ZlsR11QDataStreamRK5QTime @ 3081 NONAME - _ZlsR11QDataStreamRK5QUuid @ 3082 NONAME - _ZlsR11QDataStreamRK6QLineF @ 3083 NONAME - _ZlsR11QDataStreamRK6QPoint @ 3084 NONAME - _ZlsR11QDataStreamRK6QRectF @ 3085 NONAME - _ZlsR11QDataStreamRK6QSizeF @ 3086 NONAME - _ZlsR11QDataStreamRK7QLocale @ 3087 NONAME - _ZlsR11QDataStreamRK7QPointF @ 3088 NONAME - _ZlsR11QDataStreamRK7QRegExp @ 3089 NONAME - _ZlsR11QDataStreamRK7QString @ 3090 NONAME - _ZlsR11QDataStreamRK8QVariant @ 3091 NONAME - _ZlsR11QDataStreamRK9QBitArray @ 3092 NONAME - _ZlsR11QDataStreamRK9QDateTime @ 3093 NONAME - _ZltRK10QStringRefS1_ @ 3094 NONAME - _ZorRK9QBitArrayS1_ @ 3095 NONAME - _ZrsR11QDataStreamR10QByteArray @ 3096 NONAME - _ZrsR11QDataStreamR4QUrl @ 3097 NONAME - _ZrsR11QDataStreamR5QChar @ 3098 NONAME - _ZrsR11QDataStreamR5QDate @ 3099 NONAME - _ZrsR11QDataStreamR5QLine @ 3100 NONAME - _ZrsR11QDataStreamR5QRect @ 3101 NONAME - _ZrsR11QDataStreamR5QSize @ 3102 NONAME - _ZrsR11QDataStreamR5QTime @ 3103 NONAME - _ZrsR11QDataStreamR5QUuid @ 3104 NONAME - _ZrsR11QDataStreamR6QLineF @ 3105 NONAME - _ZrsR11QDataStreamR6QPoint @ 3106 NONAME - _ZrsR11QDataStreamR6QRectF @ 3107 NONAME - _ZrsR11QDataStreamR6QSizeF @ 3108 NONAME - _ZrsR11QDataStreamR7QLocale @ 3109 NONAME - _ZrsR11QDataStreamR7QPointF @ 3110 NONAME - _ZrsR11QDataStreamR7QRegExp @ 3111 NONAME - _ZrsR11QDataStreamR7QString @ 3112 NONAME - _ZrsR11QDataStreamR8QVariant @ 3113 NONAME - _ZrsR11QDataStreamR9QBitArray @ 3114 NONAME - _ZrsR11QDataStreamR9QDateTime @ 3115 NONAME - _ZrsR11QDataStreamRN8QVariant4TypeE @ 3116 NONAME - adler32 @ 3117 NONAME - compress @ 3118 NONAME - compress2 @ 3119 NONAME - crc32 @ 3120 NONAME - deflate @ 3121 NONAME - deflateCopy @ 3122 NONAME - deflateEnd @ 3123 NONAME - deflateInit2_ @ 3124 NONAME - deflateInit_ @ 3125 NONAME - deflateParams @ 3126 NONAME - deflateReset @ 3127 NONAME - deflateSetDictionary @ 3128 NONAME - get_crc_table @ 3129 NONAME - gzclose @ 3130 NONAME - gzdopen @ 3131 NONAME - gzeof @ 3132 NONAME - gzerror @ 3133 NONAME - gzflush @ 3134 NONAME - gzgetc @ 3135 NONAME - gzgets @ 3136 NONAME - gzopen @ 3137 NONAME - gzprintf @ 3138 NONAME - gzputc @ 3139 NONAME - gzputs @ 3140 NONAME - gzread @ 3141 NONAME - gzrewind @ 3142 NONAME - gzseek @ 3143 NONAME - gzsetparams @ 3144 NONAME - gztell @ 3145 NONAME - gzwrite @ 3146 NONAME - inflate @ 3147 NONAME - inflateEnd @ 3148 NONAME - inflateInit2_ @ 3149 NONAME - inflateInit_ @ 3150 NONAME - inflateReset @ 3151 NONAME - inflateSetDictionary @ 3152 NONAME - inflateSync @ 3153 NONAME - inflateSyncPoint @ 3154 NONAME - qDumpObjectData @ 3155 NONAME ABSENT - qMetaTypeGuiHelper @ 3156 NONAME DATA 4 - q_atomic_lock @ 3157 NONAME DATA 1 - qt_addObject @ 3158 NONAME - qt_global_mutexpool @ 3159 NONAME DATA 4 - qt_locale_initialized @ 3160 NONAME DATA 1 - qt_removeObject @ 3161 NONAME - qt_signal_spy_callback_set @ 3162 NONAME DATA 16 - qt_startup_hook @ 3163 NONAME - uncompress @ 3164 NONAME - zError @ 3165 NONAME - zlibVersion @ 3166 NONAME - _Z11qt_nameprepP7QStringi @ 3167 NONAME - _Z14qt_safe_selectiP6fd_setS0_S0_PK7timeval @ 3168 NONAME - _Z16qt_TDesC2QStringRK7TDesC16 @ 3169 NONAME - _Z18qt_check_std3rulesPK5QChari @ 3170 NONAME - _Z23qt_symbian_throwIfErrori @ 3171 NONAME - _Z24qcoreStateMachineHandlerv @ 3172 NONAME - _Z26qt_symbian_exception2ErrorRKSt9exception @ 3173 NONAME - _Z27qt_symbian_exception2LeaveLRKSt9exception @ 3174 NONAME - _Z6qtTrIdPKci @ 3175 NONAME - _ZN10QByteArrayC1EiN2Qt14InitializationE @ 3176 NONAME - _ZN10QByteArrayC2EiN2Qt14InitializationE @ 3177 NONAME - _ZN10QMutexPoolC1EN6QMutex13RecursionModeEi @ 3178 NONAME - _ZN10QMutexPoolC2EN6QMutex13RecursionModeEi @ 3179 NONAME - _ZN10QTextCodec15codecForUtfTextERK10QByteArray @ 3180 NONAME - _ZN10QTextCodec15codecForUtfTextERK10QByteArrayPS_ @ 3181 NONAME - _ZN11QFinalState11qt_metacallEN11QMetaObject4CallEiPPv @ 3182 NONAME - _ZN11QFinalState11qt_metacastEPKc @ 3183 NONAME - _ZN11QFinalState16staticMetaObjectE @ 3184 NONAME DATA 16 - _ZN11QFinalState5eventEP6QEvent @ 3185 NONAME - _ZN11QFinalState6onExitEP6QEvent @ 3186 NONAME - _ZN11QFinalState7onEntryEP6QEvent @ 3187 NONAME - _ZN11QFinalStateC1EP6QState @ 3188 NONAME - _ZN11QFinalStateC2EP6QState @ 3189 NONAME - _ZN11QFinalStateD0Ev @ 3190 NONAME - _ZN11QFinalStateD1Ev @ 3191 NONAME - _ZN11QFinalStateD2Ev @ 3192 NONAME - _ZN11QMetaObject11isConnectedEP7QObjecti @ 3193 NONAME ABSENT - _ZN11QMetaObject8metacallEP7QObjectNS_4CallEiPPv @ 3194 NONAME - _ZN12QEasingCurve12setAmplitudeEf @ 3195 NONAME - _ZN12QEasingCurve12setOvershootEf @ 3196 NONAME - _ZN12QEasingCurve13setCustomTypeEPFffE @ 3197 NONAME - _ZN12QEasingCurve16staticMetaObjectE @ 3198 NONAME DATA 16 - _ZN12QEasingCurve7setTypeENS_4TypeE @ 3199 NONAME - _ZN12QEasingCurve9setPeriodEf @ 3200 NONAME - _ZN12QEasingCurveC1ENS_4TypeE @ 3201 NONAME - _ZN12QEasingCurveC1ERKS_ @ 3202 NONAME - _ZN12QEasingCurveC2ENS_4TypeE @ 3203 NONAME - _ZN12QEasingCurveC2ERKS_ @ 3204 NONAME - _ZN12QEasingCurveD1Ev @ 3205 NONAME - _ZN12QEasingCurveD2Ev @ 3206 NONAME - _ZN12QEasingCurveaSERKS_ @ 3207 NONAME - _ZN12QSignalEventC1EP7QObjectiRK5QListI8QVariantE @ 3208 NONAME ABSENT - _ZN12QSignalEventC2EP7QObjectiRK5QListI8QVariantE @ 3209 NONAME ABSENT - _ZN12QSignalEventD0Ev @ 3210 NONAME ABSENT - _ZN12QSignalEventD1Ev @ 3211 NONAME ABSENT - _ZN12QSignalEventD2Ev @ 3212 NONAME ABSENT - _ZN13QHistoryState11qt_metacallEN11QMetaObject4CallEiPPv @ 3213 NONAME - _ZN13QHistoryState11qt_metacastEPKc @ 3214 NONAME - _ZN13QHistoryState14setHistoryTypeENS_11HistoryTypeE @ 3215 NONAME - _ZN13QHistoryState15setDefaultStateEP14QAbstractState @ 3216 NONAME - _ZN13QHistoryState16staticMetaObjectE @ 3217 NONAME DATA 16 - _ZN13QHistoryState5eventEP6QEvent @ 3218 NONAME - _ZN13QHistoryState6onExitEP6QEvent @ 3219 NONAME - _ZN13QHistoryState7onEntryEP6QEvent @ 3220 NONAME - _ZN13QHistoryStateC1ENS_11HistoryTypeEP6QState @ 3221 NONAME - _ZN13QHistoryStateC1EP6QState @ 3222 NONAME - _ZN13QHistoryStateC2ENS_11HistoryTypeEP6QState @ 3223 NONAME - _ZN13QHistoryStateC2EP6QState @ 3224 NONAME - _ZN13QHistoryStateD0Ev @ 3225 NONAME - _ZN13QHistoryStateD1Ev @ 3226 NONAME - _ZN13QHistoryStateD2Ev @ 3227 NONAME - _ZN13QStateMachine10clearErrorEv @ 3228 NONAME - _ZN13QStateMachine11eventFilterEP7QObjectP6QEvent @ 3229 NONAME - _ZN13QStateMachine11qt_metacallEN11QMetaObject4CallEiPPv @ 3230 NONAME - _ZN13QStateMachine11qt_metacastEPKc @ 3231 NONAME - _ZN13QStateMachine11removeStateEP14QAbstractState @ 3232 NONAME - _ZN13QStateMachine12endMicrostepEP6QEvent @ 3233 NONAME - _ZN13QStateMachine14beginMicrostepEP6QEvent @ 3234 NONAME - _ZN13QStateMachine16staticMetaObjectE @ 3235 NONAME DATA 16 - _ZN13QStateMachine17postInternalEventEP6QEvent @ 3236 NONAME ABSENT - _ZN13QStateMachine19addDefaultAnimationEP18QAbstractAnimation @ 3237 NONAME - _ZN13QStateMachine20endSelectTransitionsEP6QEvent @ 3238 NONAME - _ZN13QStateMachine20setAnimationsEnabledEb @ 3239 NONAME - _ZN13QStateMachine22beginSelectTransitionsEP6QEvent @ 3240 NONAME - _ZN13QStateMachine22removeDefaultAnimationEP18QAbstractAnimation @ 3241 NONAME - _ZN13QStateMachine22setGlobalRestorePolicyENS_13RestorePolicyE @ 3242 NONAME - _ZN13QStateMachine4stopEv @ 3243 NONAME - _ZN13QStateMachine5eventEP6QEvent @ 3244 NONAME - _ZN13QStateMachine5startEv @ 3245 NONAME - _ZN13QStateMachine6onExitEP6QEvent @ 3246 NONAME - _ZN13QStateMachine7onEntryEP6QEvent @ 3247 NONAME - _ZN13QStateMachine7startedEv @ 3248 NONAME - _ZN13QStateMachine7stoppedEv @ 3249 NONAME - _ZN13QStateMachine8addStateEP14QAbstractState @ 3250 NONAME - _ZN13QStateMachine9postEventEP6QEventi @ 3251 NONAME ABSENT - _ZN13QStateMachineC1EP7QObject @ 3252 NONAME - _ZN13QStateMachineC1ER20QStateMachinePrivateP7QObject @ 3253 NONAME - _ZN13QStateMachineC2EP7QObject @ 3254 NONAME - _ZN13QStateMachineC2ER20QStateMachinePrivateP7QObject @ 3255 NONAME - _ZN13QStateMachineD0Ev @ 3256 NONAME - _ZN13QStateMachineD1Ev @ 3257 NONAME - _ZN13QStateMachineD2Ev @ 3258 NONAME - _ZN13QStatePrivate12emitFinishedEv @ 3259 NONAME - _ZN13QStatePrivate12emitPolishedEv @ 3260 NONAME - _ZN13QStatePrivateC1Ev @ 3261 NONAME - _ZN13QStatePrivateC2Ev @ 3262 NONAME - _ZN13QStatePrivateD0Ev @ 3263 NONAME - _ZN13QStatePrivateD1Ev @ 3264 NONAME - _ZN13QStatePrivateD2Ev @ 3265 NONAME - _ZN13QUnifiedTimer8instanceEv @ 3266 NONAME - _ZN13QWrappedEventC1EP7QObjectP6QEvent @ 3267 NONAME ABSENT - _ZN13QWrappedEventC2EP7QObjectP6QEvent @ 3268 NONAME ABSENT - _ZN13QWrappedEventD0Ev @ 3269 NONAME ABSENT - _ZN13QWrappedEventD1Ev @ 3270 NONAME ABSENT - _ZN13QWrappedEventD2Ev @ 3271 NONAME ABSENT - _ZN14QAbstractState11qt_metacallEN11QMetaObject4CallEiPPv @ 3272 NONAME - _ZN14QAbstractState11qt_metacastEPKc @ 3273 NONAME - _ZN14QAbstractState16staticMetaObjectE @ 3274 NONAME DATA 16 - _ZN14QAbstractState5eventEP6QEvent @ 3275 NONAME - _ZN14QAbstractState6exitedEv @ 3276 NONAME - _ZN14QAbstractState7enteredEv @ 3277 NONAME - _ZN14QAbstractStateC2EP6QState @ 3278 NONAME - _ZN14QAbstractStateC2ER21QAbstractStatePrivateP6QState @ 3279 NONAME - _ZN14QAbstractStateD0Ev @ 3280 NONAME - _ZN14QAbstractStateD1Ev @ 3281 NONAME - _ZN14QAbstractStateD2Ev @ 3282 NONAME - _ZN15QAnimationGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 3283 NONAME - _ZN15QAnimationGroup11qt_metacastEPKc @ 3284 NONAME - _ZN15QAnimationGroup12addAnimationEP18QAbstractAnimation @ 3285 NONAME - _ZN15QAnimationGroup15clearAnimationsEv @ 3286 NONAME - _ZN15QAnimationGroup15removeAnimationEP18QAbstractAnimation @ 3287 NONAME - _ZN15QAnimationGroup15takeAnimationAtEi @ 3288 NONAME - _ZN15QAnimationGroup16staticMetaObjectE @ 3289 NONAME DATA 16 - _ZN15QAnimationGroup17insertAnimationAtEiP18QAbstractAnimation @ 3290 NONAME - _ZN15QAnimationGroup5eventEP6QEvent @ 3291 NONAME - _ZN15QAnimationGroupC2EP7QObject @ 3292 NONAME - _ZN15QAnimationGroupC2ER22QAnimationGroupPrivateP7QObject @ 3293 NONAME - _ZN15QAnimationGroupD0Ev @ 3294 NONAME - _ZN15QAnimationGroupD1Ev @ 3295 NONAME - _ZN15QAnimationGroupD2Ev @ 3296 NONAME - _ZN15QPauseAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 3297 NONAME - _ZN15QPauseAnimation11qt_metacastEPKc @ 3298 NONAME - _ZN15QPauseAnimation11setDurationEi @ 3299 NONAME - _ZN15QPauseAnimation16staticMetaObjectE @ 3300 NONAME DATA 16 - _ZN15QPauseAnimation17updateCurrentTimeEi @ 3301 NONAME - _ZN15QPauseAnimation5eventEP6QEvent @ 3302 NONAME - _ZN15QPauseAnimationC1EP7QObject @ 3303 NONAME - _ZN15QPauseAnimationC1EiP7QObject @ 3304 NONAME - _ZN15QPauseAnimationC2EP7QObject @ 3305 NONAME - _ZN15QPauseAnimationC2EiP7QObject @ 3306 NONAME - _ZN15QPauseAnimationD0Ev @ 3307 NONAME - _ZN15QPauseAnimationD1Ev @ 3308 NONAME - _ZN15QPauseAnimationD2Ev @ 3309 NONAME - _ZN15QtSharedPointer20ExternalRefCountData16setQObjectSharedEPK7QObjectb @ 3310 NONAME - _ZN15QtSharedPointer20ExternalRefCountData9getAndRefEPK7QObject @ 3311 NONAME - _ZN15QtSharedPointer23internalSafetyCheckAdd2EPKvPVKv @ 3312 NONAME - _ZN15QtSharedPointer26internalSafetyCheckRemove2EPKv @ 3313 NONAME - _ZN15QtSharedPointer29internalSafetyCheckCleanCheckEv @ 3314 NONAME - _ZN16QDeclarativeDataD0Ev @ 3315 NONAME - _ZN16QDeclarativeDataD1Ev @ 3316 NONAME - _ZN16QDeclarativeDataD2Ev @ 3317 NONAME - _ZN16QEventTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 3318 NONAME - _ZN16QEventTransition11qt_metacastEPKc @ 3319 NONAME - _ZN16QEventTransition12onTransitionEP6QEvent @ 3320 NONAME - _ZN16QEventTransition12setEventTypeEN6QEvent4TypeE @ 3321 NONAME - _ZN16QEventTransition14setEventObjectEP7QObject @ 3322 NONAME ABSENT - _ZN16QEventTransition16staticMetaObjectE @ 3323 NONAME DATA 16 - _ZN16QEventTransition5eventEP6QEvent @ 3324 NONAME - _ZN16QEventTransition9eventTestEP6QEvent @ 3325 NONAME - _ZN16QEventTransitionC1EP6QState @ 3326 NONAME - _ZN16QEventTransitionC1EP7QObjectN6QEvent4TypeEP6QState @ 3327 NONAME - _ZN16QEventTransitionC1ER23QEventTransitionPrivateP6QState @ 3328 NONAME - _ZN16QEventTransitionC1ER23QEventTransitionPrivateP7QObjectN6QEvent4TypeEP6QState @ 3329 NONAME - _ZN16QEventTransitionC2EP6QState @ 3330 NONAME - _ZN16QEventTransitionC2EP7QObjectN6QEvent4TypeEP6QState @ 3331 NONAME - _ZN16QEventTransitionC2ER23QEventTransitionPrivateP6QState @ 3332 NONAME - _ZN16QEventTransitionC2ER23QEventTransitionPrivateP7QObjectN6QEvent4TypeEP6QState @ 3333 NONAME - _ZN16QEventTransitionD0Ev @ 3334 NONAME - _ZN16QEventTransitionD1Ev @ 3335 NONAME - _ZN16QEventTransitionD2Ev @ 3336 NONAME - _ZN17QSignalTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 3337 NONAME - _ZN17QSignalTransition11qt_metacastEPKc @ 3338 NONAME - _ZN17QSignalTransition12onTransitionEP6QEvent @ 3339 NONAME - _ZN17QSignalTransition15setSenderObjectEP7QObject @ 3340 NONAME - _ZN17QSignalTransition16staticMetaObjectE @ 3341 NONAME DATA 16 - _ZN17QSignalTransition5eventEP6QEvent @ 3342 NONAME - _ZN17QSignalTransition9eventTestEP6QEvent @ 3343 NONAME - _ZN17QSignalTransition9setSignalERK10QByteArray @ 3344 NONAME - _ZN17QSignalTransitionC1EP6QState @ 3345 NONAME - _ZN17QSignalTransitionC1EP7QObjectPKcP6QState @ 3346 NONAME - _ZN17QSignalTransitionC2EP6QState @ 3347 NONAME - _ZN17QSignalTransitionC2EP7QObjectPKcP6QState @ 3348 NONAME - _ZN17QSignalTransitionD0Ev @ 3349 NONAME - _ZN17QSignalTransitionD1Ev @ 3350 NONAME - _ZN17QSignalTransitionD2Ev @ 3351 NONAME - _ZN17QVariantAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 3352 NONAME - _ZN17QVariantAnimation11qt_metacastEPKc @ 3353 NONAME - _ZN17QVariantAnimation11setDurationEi @ 3354 NONAME - _ZN17QVariantAnimation11setEndValueERK8QVariant @ 3355 NONAME - _ZN17QVariantAnimation11updateStateEN18QAbstractAnimation5StateES1_ @ 3356 NONAME - _ZN17QVariantAnimation12setKeyValuesERK7QVectorI5QPairIf8QVariantEE @ 3357 NONAME - _ZN17QVariantAnimation12valueChangedERK8QVariant @ 3358 NONAME - _ZN17QVariantAnimation13setKeyValueAtEfRK8QVariant @ 3359 NONAME - _ZN17QVariantAnimation13setStartValueERK8QVariant @ 3360 NONAME - _ZN17QVariantAnimation14setEasingCurveERK12QEasingCurve @ 3361 NONAME - _ZN17QVariantAnimation16staticMetaObjectE @ 3362 NONAME DATA 16 - _ZN17QVariantAnimation17updateCurrentTimeEi @ 3363 NONAME - _ZN17QVariantAnimation20registerInterpolatorEPF8QVariantPKvS2_fEi @ 3364 NONAME - _ZN17QVariantAnimation5eventEP6QEvent @ 3365 NONAME - _ZN17QVariantAnimationC2EP7QObject @ 3366 NONAME - _ZN17QVariantAnimationC2ER24QVariantAnimationPrivateP7QObject @ 3367 NONAME - _ZN17QVariantAnimationD0Ev @ 3368 NONAME - _ZN17QVariantAnimationD1Ev @ 3369 NONAME - _ZN17QVariantAnimationD2Ev @ 3370 NONAME - _ZN18QAbstractAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 3371 NONAME - _ZN18QAbstractAnimation11qt_metacastEPKc @ 3372 NONAME - _ZN18QAbstractAnimation11updateStateENS_5StateES0_ @ 3373 NONAME - _ZN18QAbstractAnimation12setDirectionENS_9DirectionE @ 3374 NONAME - _ZN18QAbstractAnimation12setLoopCountEi @ 3375 NONAME - _ZN18QAbstractAnimation12stateChangedENS_5StateES0_ @ 3376 NONAME - _ZN18QAbstractAnimation14setCurrentTimeEi @ 3377 NONAME - _ZN18QAbstractAnimation15updateDirectionENS_9DirectionE @ 3378 NONAME - _ZN18QAbstractAnimation16directionChangedENS_9DirectionE @ 3379 NONAME - _ZN18QAbstractAnimation16staticMetaObjectE @ 3380 NONAME DATA 16 - _ZN18QAbstractAnimation18currentLoopChangedEi @ 3381 NONAME - _ZN18QAbstractAnimation4stopEv @ 3382 NONAME - _ZN18QAbstractAnimation5eventEP6QEvent @ 3383 NONAME - _ZN18QAbstractAnimation5pauseEv @ 3384 NONAME - _ZN18QAbstractAnimation5startENS_14DeletionPolicyE @ 3385 NONAME - _ZN18QAbstractAnimation6resumeEv @ 3386 NONAME - _ZN18QAbstractAnimation8finishedEv @ 3387 NONAME - _ZN18QAbstractAnimationC2EP7QObject @ 3388 NONAME - _ZN18QAbstractAnimationC2ER25QAbstractAnimationPrivateP7QObject @ 3389 NONAME - _ZN18QAbstractAnimationD0Ev @ 3390 NONAME - _ZN18QAbstractAnimationD1Ev @ 3391 NONAME - _ZN18QAbstractAnimationD2Ev @ 3392 NONAME - _ZN18QAbstractItemModel12setRoleNamesERK5QHashIi10QByteArrayE @ 3393 NONAME - _ZN18QPropertyAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 3394 NONAME - _ZN18QPropertyAnimation11qt_metacastEPKc @ 3395 NONAME - _ZN18QPropertyAnimation11updateStateEN18QAbstractAnimation5StateES1_ @ 3396 NONAME - _ZN18QPropertyAnimation15setPropertyNameERK10QByteArray @ 3397 NONAME - _ZN18QPropertyAnimation15setTargetObjectEP7QObject @ 3398 NONAME - _ZN18QPropertyAnimation16staticMetaObjectE @ 3399 NONAME DATA 16 - _ZN18QPropertyAnimation18updateCurrentValueERK8QVariant @ 3400 NONAME - _ZN18QPropertyAnimation5eventEP6QEvent @ 3401 NONAME - _ZN18QPropertyAnimationC1EP7QObject @ 3402 NONAME - _ZN18QPropertyAnimationC1EP7QObjectRK10QByteArrayS1_ @ 3403 NONAME - _ZN18QPropertyAnimationC2EP7QObject @ 3404 NONAME - _ZN18QPropertyAnimationC2EP7QObjectRK10QByteArrayS1_ @ 3405 NONAME - _ZN18QPropertyAnimationD0Ev @ 3406 NONAME - _ZN18QPropertyAnimationD1Ev @ 3407 NONAME - _ZN18QPropertyAnimationD2Ev @ 3408 NONAME - _ZN19QAbstractTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 3409 NONAME - _ZN19QAbstractTransition11qt_metacastEPKc @ 3410 NONAME - _ZN19QAbstractTransition12addAnimationEP18QAbstractAnimation @ 3411 NONAME - _ZN19QAbstractTransition14setTargetStateEP14QAbstractState @ 3412 NONAME - _ZN19QAbstractTransition15removeAnimationEP18QAbstractAnimation @ 3413 NONAME - _ZN19QAbstractTransition15setTargetStatesERK5QListIP14QAbstractStateE @ 3414 NONAME - _ZN19QAbstractTransition16staticMetaObjectE @ 3415 NONAME DATA 16 - _ZN19QAbstractTransition5eventEP6QEvent @ 3416 NONAME - _ZN19QAbstractTransition9triggeredEv @ 3417 NONAME - _ZN19QAbstractTransitionC2EP6QState @ 3418 NONAME - _ZN19QAbstractTransitionC2ER26QAbstractTransitionPrivateP6QState @ 3419 NONAME - _ZN19QAbstractTransitionD0Ev @ 3420 NONAME - _ZN19QAbstractTransitionD1Ev @ 3421 NONAME - _ZN19QAbstractTransitionD2Ev @ 3422 NONAME - _ZN20QStateMachinePrivate10_q_processEv @ 3423 NONAME - _ZN20QStateMachinePrivate10exitStatesEP6QEventRK5QListIP19QAbstractTransitionE @ 3424 NONAME - _ZN20QStateMachinePrivate10isParallelEPK14QAbstractState @ 3425 NONAME - _ZN20QStateMachinePrivate10startStateEv @ 3426 NONAME - _ZN20QStateMachinePrivate11enterStatesEP6QEventRK5QListIP19QAbstractTransitionE @ 3427 NONAME - _ZN20QStateMachinePrivate14findErrorStateEP14QAbstractState @ 3428 NONAME - _ZN20QStateMachinePrivate14isDescendantOfEPK14QAbstractStateS2_ @ 3429 NONAME - _ZN20QStateMachinePrivate15applyPropertiesERK5QListIP19QAbstractTransitionERKS0_IP14QAbstractStateESA_ @ 3430 NONAME - _ZN20QStateMachinePrivate15properAncestorsEPK14QAbstractStatePK6QState @ 3431 NONAME - _ZN20QStateMachinePrivate15scheduleProcessEv @ 3432 NONAME ABSENT - _ZN20QStateMachinePrivate16addStatesToEnterEP14QAbstractStateP6QStateR4QSetIS1_ES6_ @ 3433 NONAME - _ZN20QStateMachinePrivate16removeStartStateEv @ 3434 NONAME - _ZN20QStateMachinePrivate17stateExitLessThanEP14QAbstractStateS1_ @ 3435 NONAME - _ZN20QStateMachinePrivate18registerRestorableEP7QObjectRK10QByteArray @ 3436 NONAME - _ZN20QStateMachinePrivate18stateEntryLessThanEP14QAbstractStateS1_ @ 3437 NONAME - _ZN20QStateMachinePrivate19initializeAnimationEP18QAbstractAnimationRK19QPropertyAssignment @ 3438 NONAME - _ZN20QStateMachinePrivate19registerTransitionsEP14QAbstractState @ 3439 NONAME - _ZN20QStateMachinePrivate20_q_animationFinishedEv @ 3440 NONAME - _ZN20QStateMachinePrivate20unregisterRestorableEP7QObjectRK10QByteArray @ 3441 NONAME - _ZN20QStateMachinePrivate20unregisterTransitionEP19QAbstractTransition @ 3442 NONAME - _ZN20QStateMachinePrivate22handleTransitionSignalEP7QObjectiPPv @ 3443 NONAME - _ZN20QStateMachinePrivate23registerEventTransitionEP16QEventTransition @ 3444 NONAME - _ZN20QStateMachinePrivate24executeTransitionContentEP6QEventRK5QListIP19QAbstractTransitionE @ 3445 NONAME - _ZN20QStateMachinePrivate24registerSignalTransitionEP17QSignalTransition @ 3446 NONAME - _ZN20QStateMachinePrivate24unregisterAllTransitionsEv @ 3447 NONAME - _ZN20QStateMachinePrivate25unregisterEventTransitionEP16QEventTransition @ 3448 NONAME - _ZN20QStateMachinePrivate26unregisterSignalTransitionEP17QSignalTransition @ 3449 NONAME - _ZN20QStateMachinePrivate3getEP13QStateMachine @ 3450 NONAME - _ZN20QStateMachinePrivate7handlerE @ 3451 NONAME DATA 4 - _ZN20QStateMachinePrivate7isFinalEPK14QAbstractState @ 3452 NONAME - _ZN20QStateMachinePrivate8_q_startEv @ 3453 NONAME - _ZN20QStateMachinePrivate8setErrorEN13QStateMachine5ErrorEP14QAbstractState @ 3454 NONAME - _ZN20QStateMachinePrivate9goToStateEP14QAbstractState @ 3455 NONAME - _ZN20QStateMachinePrivate9microstepEP6QEventRK5QListIP19QAbstractTransitionE @ 3456 NONAME - _ZN20QStateMachinePrivateC1Ev @ 3457 NONAME - _ZN20QStateMachinePrivateC2Ev @ 3458 NONAME - _ZN20QStateMachinePrivateD0Ev @ 3459 NONAME - _ZN20QStateMachinePrivateD1Ev @ 3460 NONAME - _ZN20QStateMachinePrivateD2Ev @ 3461 NONAME - _ZN23QEventTransitionPrivate10unregisterEv @ 3462 NONAME - _ZN23QEventTransitionPrivate13maybeRegisterEv @ 3463 NONAME - _ZN23QEventTransitionPrivate3getEP16QEventTransition @ 3464 NONAME - _ZN23QEventTransitionPrivateC1Ev @ 3465 NONAME - _ZN23QEventTransitionPrivateC2Ev @ 3466 NONAME - _ZN23QParallelAnimationGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 3467 NONAME - _ZN23QParallelAnimationGroup11qt_metacastEPKc @ 3468 NONAME - _ZN23QParallelAnimationGroup11updateStateEN18QAbstractAnimation5StateES1_ @ 3469 NONAME - _ZN23QParallelAnimationGroup15updateDirectionEN18QAbstractAnimation9DirectionE @ 3470 NONAME - _ZN23QParallelAnimationGroup16staticMetaObjectE @ 3471 NONAME DATA 16 - _ZN23QParallelAnimationGroup17updateCurrentTimeEi @ 3472 NONAME - _ZN23QParallelAnimationGroup5eventEP6QEvent @ 3473 NONAME - _ZN23QParallelAnimationGroupC1EP7QObject @ 3474 NONAME - _ZN23QParallelAnimationGroupC1ER30QParallelAnimationGroupPrivateP7QObject @ 3475 NONAME - _ZN23QParallelAnimationGroupC2EP7QObject @ 3476 NONAME - _ZN23QParallelAnimationGroupC2ER30QParallelAnimationGroupPrivateP7QObject @ 3477 NONAME - _ZN23QParallelAnimationGroupD0Ev @ 3478 NONAME - _ZN23QParallelAnimationGroupD1Ev @ 3479 NONAME - _ZN23QParallelAnimationGroupD2Ev @ 3480 NONAME - _ZN24QNonContiguousByteDevice11qt_metacallEN11QMetaObject4CallEiPPv @ 3481 NONAME - _ZN24QNonContiguousByteDevice11qt_metacastEPKc @ 3482 NONAME - _ZN24QNonContiguousByteDevice12disableResetEv @ 3483 NONAME - _ZN24QNonContiguousByteDevice12readProgressExx @ 3484 NONAME - _ZN24QNonContiguousByteDevice16staticMetaObjectE @ 3485 NONAME DATA 16 - _ZN24QNonContiguousByteDevice9readyReadEv @ 3486 NONAME - _ZN24QNonContiguousByteDeviceC2Ev @ 3487 NONAME - _ZN24QNonContiguousByteDeviceD0Ev @ 3488 NONAME - _ZN24QNonContiguousByteDeviceD1Ev @ 3489 NONAME - _ZN24QNonContiguousByteDeviceD2Ev @ 3490 NONAME - _ZN24QVariantAnimationPrivate15getInterpolatorEi @ 3491 NONAME - _ZN25QAbstractItemModelPrivate15variantLessThanERK8QVariantS2_ @ 3492 NONAME - _ZN25QAbstractItemModelPrivate16defaultRoleNamesEv @ 3493 NONAME - _ZN25QSequentialAnimationGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 3494 NONAME - _ZN25QSequentialAnimationGroup11qt_metacastEPKc @ 3495 NONAME - _ZN25QSequentialAnimationGroup11updateStateEN18QAbstractAnimation5StateES1_ @ 3496 NONAME - _ZN25QSequentialAnimationGroup13insertPauseAtEii @ 3497 NONAME - _ZN25QSequentialAnimationGroup15updateDirectionEN18QAbstractAnimation9DirectionE @ 3498 NONAME - _ZN25QSequentialAnimationGroup16staticMetaObjectE @ 3499 NONAME DATA 16 - _ZN25QSequentialAnimationGroup17updateCurrentTimeEi @ 3500 NONAME - _ZN25QSequentialAnimationGroup23currentAnimationChangedEP18QAbstractAnimation @ 3501 NONAME - _ZN25QSequentialAnimationGroup5eventEP6QEvent @ 3502 NONAME - _ZN25QSequentialAnimationGroup8addPauseEi @ 3503 NONAME - _ZN25QSequentialAnimationGroupC1EP7QObject @ 3504 NONAME - _ZN25QSequentialAnimationGroupC1ER32QSequentialAnimationGroupPrivateP7QObject @ 3505 NONAME - _ZN25QSequentialAnimationGroupC2EP7QObject @ 3506 NONAME - _ZN25QSequentialAnimationGroupC2ER32QSequentialAnimationGroupPrivateP7QObject @ 3507 NONAME - _ZN25QSequentialAnimationGroupD0Ev @ 3508 NONAME - _ZN25QSequentialAnimationGroupD1Ev @ 3509 NONAME - _ZN25QSequentialAnimationGroupD2Ev @ 3510 NONAME - _ZN26QAbstractTransitionPrivate13callEventTestEP6QEvent @ 3511 NONAME - _ZN26QAbstractTransitionPrivate13emitTriggeredEv @ 3512 NONAME - _ZN26QAbstractTransitionPrivate16callOnTransitionEP6QEvent @ 3513 NONAME - _ZN26QAbstractTransitionPrivate3getEP19QAbstractTransition @ 3514 NONAME - _ZN26QAbstractTransitionPrivateC1Ev @ 3515 NONAME - _ZN26QAbstractTransitionPrivateC2Ev @ 3516 NONAME - _ZN31QNonContiguousByteDeviceFactory4wrapEP24QNonContiguousByteDevice @ 3517 NONAME - _ZN31QNonContiguousByteDeviceFactory6createEP10QByteArray @ 3518 NONAME - _ZN31QNonContiguousByteDeviceFactory6createEP11QRingBuffer @ 3519 NONAME - _ZN31QNonContiguousByteDeviceFactory6createEP9QIODevice @ 3520 NONAME - _ZN6QEvent16staticMetaObjectE @ 3521 NONAME DATA 16 - _ZN6QState11qt_metacallEN11QMetaObject4CallEiPPv @ 3522 NONAME - _ZN6QState11qt_metacastEPKc @ 3523 NONAME - _ZN6QState12setChildModeENS_9ChildModeE @ 3524 NONAME - _ZN6QState13addTransitionEP14QAbstractState @ 3525 NONAME - _ZN6QState13addTransitionEP19QAbstractTransition @ 3526 NONAME - _ZN6QState13addTransitionEP7QObjectPKcP14QAbstractState @ 3527 NONAME - _ZN6QState13setErrorStateEP14QAbstractState @ 3528 NONAME - _ZN6QState14assignPropertyEP7QObjectPKcRK8QVariant @ 3529 NONAME - _ZN6QState15setInitialStateEP14QAbstractState @ 3530 NONAME - _ZN6QState16removeTransitionEP19QAbstractTransition @ 3531 NONAME - _ZN6QState16staticMetaObjectE @ 3532 NONAME DATA 16 - _ZN6QState5eventEP6QEvent @ 3533 NONAME - _ZN6QState6onExitEP6QEvent @ 3534 NONAME - _ZN6QState7onEntryEP6QEvent @ 3535 NONAME - _ZN6QState8finishedEv @ 3536 NONAME - _ZN6QState8polishedEv @ 3537 NONAME - _ZN6QStateC1ENS_9ChildModeEPS_ @ 3538 NONAME - _ZN6QStateC1EPS_ @ 3539 NONAME - _ZN6QStateC1ER13QStatePrivatePS_ @ 3540 NONAME - _ZN6QStateC2ENS_9ChildModeEPS_ @ 3541 NONAME - _ZN6QStateC2EPS_ @ 3542 NONAME - _ZN6QStateC2ER13QStatePrivatePS_ @ 3543 NONAME - _ZN6QStateD0Ev @ 3544 NONAME - _ZN6QStateD1Ev @ 3545 NONAME - _ZN6QStateD2Ev @ 3546 NONAME - _ZN7QStringC1EiN2Qt14InitializationE @ 3547 NONAME - _ZN7QStringC2EiN2Qt14InitializationE @ 3548 NONAME - _ZN8QProcess18setEnvironmentHashERK5QHashI7QStringS1_E @ 3549 NONAME ABSENT - _ZN8QProcess21systemEnvironmentHashEv @ 3550 NONAME ABSENT - _ZN9QConfFileD1Ev @ 3551 NONAME - _ZN9QConfFileD2Ev @ 3552 NONAME - _ZN9QTimeLine14setEasingCurveERK12QEasingCurve @ 3553 NONAME - _ZNK11QFinalState10metaObjectEv @ 3554 NONAME - _ZNK11QMetaMethod11methodIndexEv @ 3555 NONAME - _ZNK12QEasingCurve10customTypeEv @ 3556 NONAME - _ZNK12QEasingCurve16valueForProgressEf @ 3557 NONAME - _ZNK12QEasingCurve4typeEv @ 3558 NONAME - _ZNK12QEasingCurve6periodEv @ 3559 NONAME - _ZNK12QEasingCurve9amplitudeEv @ 3560 NONAME - _ZNK12QEasingCurve9overshootEv @ 3561 NONAME - _ZNK12QEasingCurveeqERKS_ @ 3562 NONAME - _ZNK13QHistoryState10metaObjectEv @ 3563 NONAME - _ZNK13QHistoryState11historyTypeEv @ 3564 NONAME - _ZNK13QHistoryState12defaultStateEv @ 3565 NONAME - _ZNK13QMetaProperty10isConstantEv @ 3566 NONAME - _ZNK13QMetaProperty13propertyIndexEv @ 3567 NONAME - _ZNK13QMetaProperty7isFinalEv @ 3568 NONAME - _ZNK13QStateMachine10metaObjectEv @ 3569 NONAME - _ZNK13QStateMachine11errorStringEv @ 3570 NONAME - _ZNK13QStateMachine13configurationEv @ 3571 NONAME - _ZNK13QStateMachine17animationsEnabledEv @ 3572 NONAME - _ZNK13QStateMachine17defaultAnimationsEv @ 3573 NONAME - _ZNK13QStateMachine19globalRestorePolicyEv @ 3574 NONAME - _ZNK13QStateMachine5errorEv @ 3575 NONAME - _ZNK13QStateMachine9isRunningEv @ 3576 NONAME - _ZNK13QStatePrivate11childStatesEv @ 3577 NONAME - _ZNK13QStatePrivate11transitionsEv @ 3578 NONAME - _ZNK13QStatePrivate13historyStatesEv @ 3579 NONAME - _ZNK14QAbstractState10metaObjectEv @ 3580 NONAME - _ZNK14QAbstractState11parentStateEv @ 3581 NONAME - _ZNK14QAbstractState7machineEv @ 3582 NONAME - _ZNK15QAnimationGroup10metaObjectEv @ 3583 NONAME - _ZNK15QAnimationGroup11animationAtEi @ 3584 NONAME - _ZNK15QAnimationGroup14animationCountEv @ 3585 NONAME - _ZNK15QAnimationGroup16indexOfAnimationEP18QAbstractAnimation @ 3586 NONAME - _ZNK15QPauseAnimation10metaObjectEv @ 3587 NONAME - _ZNK15QPauseAnimation8durationEv @ 3588 NONAME - _ZNK16QEventTransition10metaObjectEv @ 3589 NONAME - _ZNK16QEventTransition11eventObjectEv @ 3590 NONAME ABSENT - _ZNK16QEventTransition9eventTypeEv @ 3591 NONAME - _ZNK17QSignalTransition10metaObjectEv @ 3592 NONAME - _ZNK17QSignalTransition12senderObjectEv @ 3593 NONAME - _ZNK17QSignalTransition6signalEv @ 3594 NONAME - _ZNK17QVariantAnimation10keyValueAtEf @ 3595 NONAME - _ZNK17QVariantAnimation10metaObjectEv @ 3596 NONAME - _ZNK17QVariantAnimation10startValueEv @ 3597 NONAME - _ZNK17QVariantAnimation11easingCurveEv @ 3598 NONAME - _ZNK17QVariantAnimation12currentValueEv @ 3599 NONAME - _ZNK17QVariantAnimation12interpolatedERK8QVariantS2_f @ 3600 NONAME - _ZNK17QVariantAnimation8durationEv @ 3601 NONAME - _ZNK17QVariantAnimation8endValueEv @ 3602 NONAME - _ZNK17QVariantAnimation9keyValuesEv @ 3603 NONAME - _ZNK18QAbstractAnimation10metaObjectEv @ 3604 NONAME - _ZNK18QAbstractAnimation11currentLoopEv @ 3605 NONAME - _ZNK18QAbstractAnimation11currentTimeEv @ 3606 NONAME - _ZNK18QAbstractAnimation13totalDurationEv @ 3607 NONAME - _ZNK18QAbstractAnimation5groupEv @ 3608 NONAME - _ZNK18QAbstractAnimation5stateEv @ 3609 NONAME - _ZNK18QAbstractAnimation9directionEv @ 3610 NONAME - _ZNK18QAbstractAnimation9loopCountEv @ 3611 NONAME - _ZNK18QAbstractItemModel9roleNamesEv @ 3612 NONAME - _ZNK18QPropertyAnimation10metaObjectEv @ 3613 NONAME - _ZNK18QPropertyAnimation12propertyNameEv @ 3614 NONAME - _ZNK18QPropertyAnimation12targetObjectEv @ 3615 NONAME - _ZNK19QAbstractTransition10animationsEv @ 3616 NONAME - _ZNK19QAbstractTransition10metaObjectEv @ 3617 NONAME - _ZNK19QAbstractTransition11sourceStateEv @ 3618 NONAME - _ZNK19QAbstractTransition11targetStateEv @ 3619 NONAME - _ZNK19QAbstractTransition12targetStatesEv @ 3620 NONAME - _ZNK19QAbstractTransition7machineEv @ 3621 NONAME - _ZNK20QStateMachinePrivate10isCompoundEPK14QAbstractState @ 3622 NONAME - _ZNK20QStateMachinePrivate11isPreemptedEPK14QAbstractStateRK4QSetIP19QAbstractTransitionE @ 3623 NONAME - _ZNK20QStateMachinePrivate13hasRestorableEP7QObjectRK10QByteArray @ 3624 NONAME - _ZNK20QStateMachinePrivate14isInFinalStateEP14QAbstractState @ 3625 NONAME - _ZNK20QStateMachinePrivate15restorableValueEP7QObjectRK10QByteArray @ 3626 NONAME - _ZNK20QStateMachinePrivate17selectTransitionsEP6QEvent @ 3627 NONAME - _ZNK20QStateMachinePrivate25restorablesToPropertyListERK5QHashI5QPairIP7QObject10QByteArrayE8QVariantE @ 3628 NONAME - _ZNK20QStateMachinePrivate7findLCAERK5QListIP14QAbstractStateE @ 3629 NONAME - _ZNK20QStateMachinePrivate8isAtomicEPK14QAbstractState @ 3630 NONAME - _ZNK20QStateMachinePrivate9rootStateEv @ 3631 NONAME - _ZNK23QParallelAnimationGroup10metaObjectEv @ 3632 NONAME - _ZNK23QParallelAnimationGroup8durationEv @ 3633 NONAME - _ZNK24QNonContiguousByteDevice10metaObjectEv @ 3634 NONAME - _ZNK25QSequentialAnimationGroup10metaObjectEv @ 3635 NONAME - _ZNK25QSequentialAnimationGroup16currentAnimationEv @ 3636 NONAME - _ZNK25QSequentialAnimationGroup8durationEv @ 3637 NONAME - _ZNK26QAbstractTransitionPrivate11sourceStateEv @ 3638 NONAME - _ZNK26QAbstractTransitionPrivate7machineEv @ 3639 NONAME - _ZNK6QState10errorStateEv @ 3640 NONAME - _ZNK6QState10metaObjectEv @ 3641 NONAME - _ZNK6QState12initialStateEv @ 3642 NONAME - _ZNK6QState9childModeEv @ 3643 NONAME - _ZNK7QPointF15manhattanLengthEv @ 3644 NONAME - _ZNK8QProcess15environmentHashEv @ 3645 NONAME ABSENT - _ZNK8QVariant6toRealEPb @ 3646 NONAME - _ZNK8QVariant7toFloatEPb @ 3647 NONAME - _ZNK9QTimeLine11easingCurveEv @ 3648 NONAME - _ZTI11QFinalState @ 3649 NONAME - _ZTI12QSignalEvent @ 3650 NONAME ABSENT - _ZTI13QHistoryState @ 3651 NONAME - _ZTI13QStateMachine @ 3652 NONAME - _ZTI13QStatePrivate @ 3653 NONAME - _ZTI13QWrappedEvent @ 3654 NONAME ABSENT - _ZTI14QAbstractState @ 3655 NONAME - _ZTI15QAnimationGroup @ 3656 NONAME - _ZTI15QPauseAnimation @ 3657 NONAME - _ZTI16QDeclarativeData @ 3658 NONAME - _ZTI16QEventTransition @ 3659 NONAME - _ZTI17QSignalTransition @ 3660 NONAME - _ZTI17QVariantAnimation @ 3661 NONAME - _ZTI18QAbstractAnimation @ 3662 NONAME - _ZTI18QPropertyAnimation @ 3663 NONAME - _ZTI19QAbstractTransition @ 3664 NONAME - _ZTI20QStateMachinePrivate @ 3665 NONAME - _ZTI23QEventTransitionPrivate @ 3666 NONAME - _ZTI23QParallelAnimationGroup @ 3667 NONAME - _ZTI24QNonContiguousByteDevice @ 3668 NONAME - _ZTI25QSequentialAnimationGroup @ 3669 NONAME - _ZTI26QAbstractTransitionPrivate @ 3670 NONAME - _ZTI6QState @ 3671 NONAME - _ZTV11QFinalState @ 3672 NONAME - _ZTV12QSignalEvent @ 3673 NONAME ABSENT - _ZTV13QHistoryState @ 3674 NONAME - _ZTV13QStateMachine @ 3675 NONAME - _ZTV13QStatePrivate @ 3676 NONAME - _ZTV13QWrappedEvent @ 3677 NONAME ABSENT - _ZTV14QAbstractState @ 3678 NONAME - _ZTV15QAnimationGroup @ 3679 NONAME - _ZTV15QPauseAnimation @ 3680 NONAME - _ZTV16QDeclarativeData @ 3681 NONAME - _ZTV16QEventTransition @ 3682 NONAME - _ZTV17QSignalTransition @ 3683 NONAME - _ZTV17QVariantAnimation @ 3684 NONAME - _ZTV18QAbstractAnimation @ 3685 NONAME - _ZTV18QPropertyAnimation @ 3686 NONAME - _ZTV19QAbstractTransition @ 3687 NONAME - _ZTV20QStateMachinePrivate @ 3688 NONAME - _ZTV23QEventTransitionPrivate @ 3689 NONAME - _ZTV23QParallelAnimationGroup @ 3690 NONAME - _ZTV24QNonContiguousByteDevice @ 3691 NONAME - _ZTV25QSequentialAnimationGroup @ 3692 NONAME - _ZTV26QAbstractTransitionPrivate @ 3693 NONAME - _ZTV6QState @ 3694 NONAME - _Zls6QDebugRK12QEasingCurve @ 3695 NONAME - _Z12qt_s60GetRFsv @ 3696 NONAME - _Z21qt_regexp_toCanonicalRK7QStringN7QRegExp13PatternSyntaxE @ 3697 NONAME - _ZN16QEventTransition14setEventSourceEP7QObject @ 3698 NONAME - _ZN16QXmlStreamReader15readElementTextENS_24ReadElementTextBehaviourE @ 3699 NONAME - _ZN16QXmlStreamReader18skipCurrentElementEv @ 3700 NONAME - _ZN16QXmlStreamReader20readNextStartElementEv @ 3701 NONAME - _ZN19QProcessEnvironment17systemEnvironmentEv @ 3702 NONAME - _ZN19QProcessEnvironment5clearEv @ 3703 NONAME - _ZN19QProcessEnvironment6insertERK7QStringS2_ @ 3704 NONAME - _ZN19QProcessEnvironment6removeERK7QString @ 3705 NONAME - _ZN19QProcessEnvironmentC1ERKS_ @ 3706 NONAME - _ZN19QProcessEnvironmentC1Ev @ 3707 NONAME - _ZN19QProcessEnvironmentC2ERKS_ @ 3708 NONAME - _ZN19QProcessEnvironmentC2Ev @ 3709 NONAME - _ZN19QProcessEnvironmentD1Ev @ 3710 NONAME - _ZN19QProcessEnvironmentD2Ev @ 3711 NONAME - _ZN19QProcessEnvironmentaSERKS_ @ 3712 NONAME - _ZN8QProcess21setProcessEnvironmentERK19QProcessEnvironment @ 3713 NONAME - _ZN8QVariantC1EiPKvj @ 3714 NONAME - _ZN8QVariantC2EiPKvj @ 3715 NONAME - _ZNK14QObjectPrivate11signalIndexEPKc @ 3716 NONAME - _ZNK14QObjectPrivate17isSignalConnectedEi @ 3717 NONAME - _ZNK16QEventTransition11eventSourceEv @ 3718 NONAME - _ZNK19QProcessEnvironment12toStringListEv @ 3719 NONAME - _ZNK19QProcessEnvironment5valueERK7QStringS2_ @ 3720 NONAME - _ZNK19QProcessEnvironment7isEmptyEv @ 3721 NONAME - _ZNK19QProcessEnvironment8containsERK7QString @ 3722 NONAME - _ZNK19QProcessEnvironmenteqERKS_ @ 3723 NONAME - _ZNK8QProcess18processEnvironmentEv @ 3724 NONAME - _Z20qt_symbianLocaleNamei @ 3725 NONAME - _ZN10QByteArray6insertEiPKci @ 3726 NONAME - _ZN10QByteArray7prependEPKci @ 3727 NONAME - _ZN10QEventLoop19getStaticMetaObjectEv @ 3728 NONAME - _ZN11QFinalState19getStaticMetaObjectEv @ 3729 NONAME - _ZN11QThreadPool19getStaticMetaObjectEv @ 3730 NONAME - _ZN11QTranslator19getStaticMetaObjectEv @ 3731 NONAME - _ZN12QEasingCurve19getStaticMetaObjectEv @ 3732 NONAME - _ZN13QHistoryState19getStaticMetaObjectEv @ 3733 NONAME - _ZN13QPluginLoader19getStaticMetaObjectEv @ 3734 NONAME - _ZN13QSharedMemory19getStaticMetaObjectEv @ 3735 NONAME - _ZN13QSignalMapper19getStaticMetaObjectEv @ 3736 NONAME - _ZN13QStateMachine19getStaticMetaObjectEv @ 3737 NONAME - _ZN14QAbstractState19getStaticMetaObjectEv @ 3738 NONAME - _ZN14QFactoryLoader19getStaticMetaObjectEv @ 3739 NONAME - _ZN14QTemporaryFile19getStaticMetaObjectEv @ 3740 NONAME - _ZN15QAnimationGroup19getStaticMetaObjectEv @ 3741 NONAME - _ZN15QPauseAnimation19getStaticMetaObjectEv @ 3742 NONAME - _ZN15QSocketNotifier19getStaticMetaObjectEv @ 3743 NONAME - _ZN16QCoreApplication19getStaticMetaObjectEv @ 3744 NONAME - _ZN16QEventTransition19getStaticMetaObjectEv @ 3745 NONAME - _ZN16QTextCodecPlugin19getStaticMetaObjectEv @ 3746 NONAME - _ZN17QSignalTransition19getStaticMetaObjectEv @ 3747 NONAME - _ZN17QVariantAnimation19getStaticMetaObjectEv @ 3748 NONAME - _ZN18QAbstractAnimation19getStaticMetaObjectEv @ 3749 NONAME - _ZN18QAbstractItemModel11endMoveRowsEv @ 3750 NONAME - _ZN18QAbstractItemModel12columnsMovedERK11QModelIndexiiS2_i @ 3751 NONAME - _ZN18QAbstractItemModel13beginMoveRowsERK11QModelIndexiiS2_i @ 3752 NONAME - _ZN18QAbstractItemModel13endResetModelEv @ 3753 NONAME - _ZN18QAbstractItemModel14endMoveColumnsEv @ 3754 NONAME - _ZN18QAbstractItemModel15beginResetModelEv @ 3755 NONAME - _ZN18QAbstractItemModel16beginMoveColumnsERK11QModelIndexiiS2_i @ 3756 NONAME - _ZN18QAbstractItemModel18rowsAboutToBeMovedERK11QModelIndexiiS2_i @ 3757 NONAME - _ZN18QAbstractItemModel19getStaticMetaObjectEv @ 3758 NONAME - _ZN18QAbstractItemModel21columnsAboutToBeMovedERK11QModelIndexiiS2_i @ 3759 NONAME - _ZN18QAbstractItemModel9rowsMovedERK11QModelIndexiiS2_i @ 3760 NONAME - _ZN18QAbstractListModel19getStaticMetaObjectEv @ 3761 NONAME - _ZN18QFileSystemWatcher19getStaticMetaObjectEv @ 3762 NONAME - _ZN18QPropertyAnimation19getStaticMetaObjectEv @ 3763 NONAME - _ZN19QAbstractTableModel19getStaticMetaObjectEv @ 3764 NONAME - _ZN19QAbstractTransition19getStaticMetaObjectEv @ 3765 NONAME - _ZN21QObjectCleanupHandler19getStaticMetaObjectEv @ 3766 NONAME - _ZN23QParallelAnimationGroup19getStaticMetaObjectEv @ 3767 NONAME - _ZN24QAbstractEventDispatcher19getStaticMetaObjectEv @ 3768 NONAME - _ZN24QNonContiguousByteDevice19getStaticMetaObjectEv @ 3769 NONAME - _ZN25QAbstractItemModelPrivate10itemsMovedERK11QModelIndexiiS2_iN2Qt11OrientationE @ 3770 NONAME - _ZN25QAbstractItemModelPrivate19itemsAboutToBeMovedERK11QModelIndexiiS2_iN2Qt11OrientationE @ 3771 NONAME - _ZN25QAbstractItemModelPrivate21movePersistentIndexesE7QVectorIP25QPersistentModelIndexDataEiRK11QModelIndexN2Qt11OrientationE @ 3772 NONAME - _ZN25QAbstractItemModelPrivate9allowMoveERK11QModelIndexiiS2_iN2Qt11OrientationE @ 3773 NONAME - _ZN25QSequentialAnimationGroup19getStaticMetaObjectEv @ 3774 NONAME - _ZN5QFile19getStaticMetaObjectEv @ 3775 NONAME - _ZN6QEvent19getStaticMetaObjectEv @ 3776 NONAME - _ZN6QState19getStaticMetaObjectEv @ 3777 NONAME - _ZN6QTimer19getStaticMetaObjectEv @ 3778 NONAME - _ZN7QBuffer19getStaticMetaObjectEv @ 3779 NONAME - _ZN7QLocale19getStaticMetaObjectEv @ 3780 NONAME - _ZN7QObject19getStaticMetaObjectEv @ 3781 NONAME - _ZN7QThread19getStaticMetaObjectEv @ 3782 NONAME - _ZN8QLibrary19getStaticMetaObjectEv @ 3783 NONAME - _ZN8QProcess19getStaticMetaObjectEv @ 3784 NONAME - _ZN9QIODevice19getStaticMetaObjectEv @ 3785 NONAME - _ZN9QListData7append2ERKS_ @ 3786 NONAME - _ZN9QListData7detach3Ev @ 3787 NONAME - _ZN9QMimeData19getStaticMetaObjectEv @ 3788 NONAME - _ZN9QSettings19getStaticMetaObjectEv @ 3789 NONAME - _ZN9QTimeLine19getStaticMetaObjectEv @ 3790 NONAME - _ZTI13QUnifiedTimer @ 3791 NONAME ABSENT ; ## - _ZTI14QProcessActive @ 3792 NONAME ABSENT ; ## - _ZTI18QNotifyChangeEvent @ 3793 NONAME ABSENT ; ## - _ZTI20QEasingCurveFunction @ 3794 NONAME ABSENT ; ## - _ZTI21QFactoryLoaderPrivate @ 3795 NONAME ABSENT ; ## - _ZTI21QSignalEventGenerator @ 3796 NONAME ABSENT ; ## - _ZTI22QAnimationGroupPrivate @ 3797 NONAME ABSENT ; ## - _ZTI23QProcessManagerMediator @ 3798 NONAME ABSENT ; ## - _ZTI24QSignalTransitionPrivate @ 3799 NONAME ABSENT ; ## - _ZTI27QByteDeviceWrappingIoDevice @ 3800 NONAME ABSENT ; ## - _ZTI32QSequentialAnimationGroupPrivate @ 3801 NONAME ABSENT ; ## - _ZTI34QNonContiguousByteDeviceBufferImpl @ 3802 NONAME ABSENT ; ## - _ZTI36QNonContiguousByteDeviceIoDeviceImpl @ 3803 NONAME ABSENT ; ## - _ZTI37QNonContiguousByteDeviceByteArrayImpl @ 3804 NONAME ABSENT ; ## - _ZTI38QNonContiguousByteDeviceRingBufferImpl @ 3805 NONAME ABSENT ; ## - _ZTV13QUnifiedTimer @ 3806 NONAME ABSENT ; ## - _ZTV14QProcessActive @ 3807 NONAME ABSENT ; ## - _ZTV18QNotifyChangeEvent @ 3808 NONAME ABSENT ; ## - _ZTV20QEasingCurveFunction @ 3809 NONAME ABSENT ; ## - _ZTV21QFactoryLoaderPrivate @ 3810 NONAME ABSENT ; ## - _ZTV21QSignalEventGenerator @ 3811 NONAME ABSENT ; ## - _ZTV22QAnimationGroupPrivate @ 3812 NONAME ABSENT ; ## - _ZTV23QProcessManagerMediator @ 3813 NONAME ABSENT ; ## - _ZTV24QSignalTransitionPrivate @ 3814 NONAME ABSENT ; ## - _ZTV27QByteDeviceWrappingIoDevice @ 3815 NONAME ABSENT ; ## - _ZTV32QSequentialAnimationGroupPrivate @ 3816 NONAME ABSENT ; ## - _ZTV34QNonContiguousByteDeviceBufferImpl @ 3817 NONAME ABSENT ; ## - _ZTV36QNonContiguousByteDeviceIoDeviceImpl @ 3818 NONAME ABSENT ; ## - _ZTV37QNonContiguousByteDeviceByteArrayImpl @ 3819 NONAME ABSENT ; ## - _ZTV38QNonContiguousByteDeviceRingBufferImpl @ 3820 NONAME ABSENT ; ## - _Zls6QDebugRK8QMargins @ 3821 NONAME - _ZN15QPauseAnimation17updateCurrentTimeEv @ 3822 NONAME ABSENT - _ZN17QVariantAnimation17updateCurrentTimeEv @ 3823 NONAME ABSENT - _ZN23QParallelAnimationGroup17updateCurrentTimeEv @ 3824 NONAME ABSENT - _ZN25QSequentialAnimationGroup17updateCurrentTimeEv @ 3825 NONAME ABSENT - _ZN11QDataStream25setFloatingPointPrecisionENS_22FloatingPointPrecisionE @ 3826 NONAME - _ZN13QStateMachine16postDelayedEventEP6QEventi @ 3827 NONAME - _ZN13QStateMachine18cancelDelayedEventEi @ 3828 NONAME - _ZN13QStateMachine9postEventEP6QEventNS_13EventPriorityE @ 3829 NONAME - _ZN20QStateMachinePrivate13processEventsENS_19EventProcessingModeE @ 3830 NONAME - _ZN20QStateMachinePrivate19handleFilteredEventEP7QObjectP6QEvent @ 3831 NONAME - _ZN20QStateMachinePrivate22cancelAllDelayedEventsEv @ 3832 NONAME - _ZN4QUrl13fromUserInputERK7QString @ 3833 NONAME - _ZNK11QDataStream22floatingPointPrecisionEv @ 3834 NONAME - qt_sine_table @ 3835 NONAME DATA 1024 + _Z14qt_safe_selectiP6fd_setS0_S0_PK7timeval @ 22 NONAME + _Z15lowercasedigitsR11QTextStream @ 23 NONAME + _Z15qAddPostRoutinePFvvE @ 24 NONAME + _Z15qInitResourceIOv @ 25 NONAME + _Z15qt_atomic_yieldPi @ 26 NONAME + _Z15qt_error_stringi @ 27 NONAME + _Z15uppercasedigitsR11QTextStream @ 28 NONAME + _Z16qt_QString2HBufCRK7QString @ 29 NONAME + _Z16qt_TDesC2QStringRK7TDesC16 @ 30 NONAME + _Z16qt_check_pointerPKci @ 31 NONAME + _Z17qt_message_output9QtMsgTypePKc @ 32 NONAME + _Z18qGetCharAttributesPKtjPK13HB_ScriptItemjP17HB_CharAttributes @ 33 NONAME + _Z18qInstallMsgHandlerPFv9QtMsgTypePKcE @ 34 NONAME + _Z18qRemovePostRoutinePFvvE @ 35 NONAME + _Z19qcoreVariantHandlerv @ 36 NONAME + _Z20qt_qFindChild_helperPK7QObjectRK7QStringRK11QMetaObject @ 37 NONAME + _Z20qt_symbianLocaleNamei @ 38 NONAME + _Z21qDeleteInEventHandlerP7QObject @ 39 NONAME + _Z21qRegisterResourceDataiPKhS0_S0_ @ 40 NONAME + _Z21qt_call_post_routinesv @ 41 NONAME + _Z21qt_regexp_toCanonicalRK7QStringN7QRegExp13PatternSyntaxE @ 42 NONAME + _Z23qUnregisterResourceDataiPKhS0_S0_ @ 43 NONAME + _Z23qt_qFindChildren_helperPK7QObjectRK7QStringPK7QRegExpRK11QMetaObjectP5QListIPvE @ 44 NONAME + _Z23qt_resolveS60PluginFunci @ 45 NONAME + _Z23qt_symbian_throwIfErrori @ 46 NONAME + _Z24qGlobalPostedEventsCountv @ 47 NONAME + _Z24qcoreStateMachineHandlerv @ 48 NONAME + _Z26qt_symbian_exception2ErrorRKSt9exception @ 49 NONAME + _Z27qt_symbian_exception2LeaveLRKSt9exception @ 50 NONAME + _Z2wsR11QTextStream @ 51 NONAME + _Z32qt_register_signal_spy_callbacksRK21QSignalSpyCallbackSet @ 52 NONAME + _Z33QBasicAtomicInt_testAndSetOrderedPViii @ 53 NONAME + _Z34QBasicAtomicInt_fetchAndAddOrderedPVii @ 54 NONAME + _Z36QBasicAtomicInt_fetchAndStoreOrderedPVii @ 55 NONAME + _Z37QBasicAtomicPointer_testAndSetOrderedPVPvS_S_ @ 56 NONAME + _Z37qRegisterStaticPluginInstanceFunctionPFP7QObjectvE @ 57 NONAME + _Z38QBasicAtomicPointer_fetchAndAddOrderedPVPvi @ 58 NONAME + _Z3binR11QTextStream @ 59 NONAME + _Z3bomR11QTextStream @ 60 NONAME + _Z3decR11QTextStream @ 61 NONAME + _Z3hexR11QTextStream @ 62 NONAME + _Z3octR11QTextStream @ 63 NONAME + _Z40QBasicAtomicPointer_fetchAndStoreOrderedPVPvS_ @ 64 NONAME + _Z4endlR11QTextStream @ 65 NONAME + _Z4leftR11QTextStream @ 66 NONAME + _Z4qInfv @ 67 NONAME + _Z5fixedR11QTextStream @ 68 NONAME + _Z5flushR11QTextStream @ 69 NONAME + _Z5qFreePv @ 70 NONAME + _Z5qHashRK10QByteArray @ 71 NONAME + _Z5qHashRK10QStringRef @ 72 NONAME + _Z5qHashRK7QString @ 73 NONAME + _Z5qHashRK9QBitArray @ 74 NONAME + _Z5qQNaNv @ 75 NONAME + _Z5qSNaNv @ 76 NONAME + _Z5qdtoadiiPiS_PPcS1_ @ 77 NONAME + _Z5qrandv @ 78 NONAME + _Z5resetR11QTextStream @ 79 NONAME + _Z5rightR11QTextStream @ 80 NONAME + _Z6centerR11QTextStream @ 81 NONAME + _Z6qDebugPKcz @ 82 NONAME + _Z6qFatalPKcz @ 83 NONAME + _Z6qIsInfd @ 84 NONAME + _Z6qIsInff @ 85 NONAME + _Z6qIsNaNd @ 86 NONAME + _Z6qIsNaNf @ 87 NONAME + _Z6qsrandj @ 88 NONAME + _Z6qtTrIdPKci @ 89 NONAME + _Z7qMallocj @ 90 NONAME + _Z7qMemSetPvij @ 91 NONAME + _Z7qgetenvPKc @ 92 NONAME + _Z7qputenvPKcRK10QByteArray @ 93 NONAME + _Z7qstrcmpPKcS0_ @ 94 NONAME + _Z7qstrcmpRK10QByteArrayPKc @ 95 NONAME + _Z7qstrcmpRK10QByteArrayS1_ @ 96 NONAME + _Z7qstrcpyPcPKc @ 97 NONAME + _Z7qstrdupPKc @ 98 NONAME + _Z7qstrtodPKcPS0_Pb @ 99 NONAME + _Z8qAppNamev @ 100 NONAME + _Z8qMemCopyPvPKvj @ 101 NONAME + _Z8qReallocPvj @ 102 NONAME + _Z8qVersionv @ 103 NONAME + _Z8qWarningPKcz @ 104 NONAME + _Z8qstricmpPKcS0_ @ 105 NONAME + _Z8qstrncpyPcPKcj @ 106 NONAME + _Z8showbaseR11QTextStream @ 107 NONAME + _Z9forcesignR11QTextStream @ 108 NONAME + _Z9qBadAllocv @ 109 NONAME + _Z9qChecksumPKcj @ 110 NONAME + _Z9qCompressPKhii @ 111 NONAME + _Z9qCriticalPKcz @ 112 NONAME + _Z9qIsFinited @ 113 NONAME + _Z9qIsFinitef @ 114 NONAME + _Z9qsnprintfPcjPKcz @ 115 NONAME + _Z9qstrnicmpPKcS0_j @ 116 NONAME + _Z9qt_assertPKcS0_i @ 117 NONAME + _ZN10QByteArray10fromBase64ERKS_ @ 118 NONAME + _ZN10QByteArray11fromRawDataEPKci @ 119 NONAME + _ZN10QByteArray11shared_nullE @ 120 NONAME DATA 20 + _ZN10QByteArray12shared_emptyE @ 121 NONAME DATA 20 + _ZN10QByteArray19fromPercentEncodingERKS_c @ 122 NONAME + _ZN10QByteArray4chopEi @ 123 NONAME + _ZN10QByteArray4fillEci @ 124 NONAME + _ZN10QByteArray5clearEv @ 125 NONAME + _ZN10QByteArray6appendEPKc @ 126 NONAME + _ZN10QByteArray6appendEPKci @ 127 NONAME + _ZN10QByteArray6appendERKS_ @ 128 NONAME + _ZN10QByteArray6appendEc @ 129 NONAME + _ZN10QByteArray6expandEi @ 130 NONAME + _ZN10QByteArray6insertEiPKc @ 131 NONAME + _ZN10QByteArray6insertEiPKci @ 132 NONAME + _ZN10QByteArray6insertEiRKS_ @ 133 NONAME + _ZN10QByteArray6insertEic @ 134 NONAME + _ZN10QByteArray6numberEdci @ 135 NONAME + _ZN10QByteArray6numberEii @ 136 NONAME + _ZN10QByteArray6numberEji @ 137 NONAME + _ZN10QByteArray6numberExi @ 138 NONAME + _ZN10QByteArray6numberEyi @ 139 NONAME + _ZN10QByteArray6removeEii @ 140 NONAME + _ZN10QByteArray6resizeEi @ 141 NONAME + _ZN10QByteArray6setNumEdci @ 142 NONAME + _ZN10QByteArray6setNumExi @ 143 NONAME + _ZN10QByteArray6setNumEyi @ 144 NONAME + _ZN10QByteArray7fromHexERKS_ @ 145 NONAME + _ZN10QByteArray7prependEPKc @ 146 NONAME + _ZN10QByteArray7prependEPKci @ 147 NONAME + _ZN10QByteArray7prependERKS_ @ 148 NONAME + _ZN10QByteArray7prependEc @ 149 NONAME + _ZN10QByteArray7reallocEi @ 150 NONAME + _ZN10QByteArray7replaceEPKcRKS_ @ 151 NONAME + _ZN10QByteArray7replaceEPKciS1_i @ 152 NONAME + _ZN10QByteArray7replaceERKS_S1_ @ 153 NONAME + _ZN10QByteArray7replaceEcRKS_ @ 154 NONAME + _ZN10QByteArray7replaceEcc @ 155 NONAME + _ZN10QByteArray7replaceEiiPKc @ 156 NONAME + _ZN10QByteArray7replaceEiiRKS_ @ 157 NONAME + _ZN10QByteArray8truncateEi @ 158 NONAME + _ZN10QByteArrayC1EPKc @ 159 NONAME + _ZN10QByteArrayC1EPKci @ 160 NONAME + _ZN10QByteArrayC1EiN2Qt14InitializationE @ 161 NONAME + _ZN10QByteArrayC1Eic @ 162 NONAME + _ZN10QByteArrayC2EPKc @ 163 NONAME + _ZN10QByteArrayC2EPKci @ 164 NONAME + _ZN10QByteArrayC2EiN2Qt14InitializationE @ 165 NONAME + _ZN10QByteArrayC2Eic @ 166 NONAME + _ZN10QByteArrayaSEPKc @ 167 NONAME + _ZN10QByteArrayaSERKS_ @ 168 NONAME + _ZN10QEventLoop11qt_metacallEN11QMetaObject4CallEiPPv @ 169 NONAME + _ZN10QEventLoop11qt_metacastEPKc @ 170 NONAME + _ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEE @ 171 NONAME + _ZN10QEventLoop13processEventsE6QFlagsINS_17ProcessEventsFlagEEi @ 172 NONAME + _ZN10QEventLoop16staticMetaObjectE @ 173 NONAME DATA 16 + _ZN10QEventLoop19getStaticMetaObjectEv @ 174 NONAME + _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE @ 175 NONAME + _ZN10QEventLoop4exitEi @ 176 NONAME + _ZN10QEventLoop4quitEv @ 177 NONAME + _ZN10QEventLoop6wakeUpEv @ 178 NONAME + _ZN10QEventLoopC1EP7QObject @ 179 NONAME + _ZN10QEventLoopC2EP7QObject @ 180 NONAME + _ZN10QEventLoopD0Ev @ 181 NONAME + _ZN10QEventLoopD1Ev @ 182 NONAME + _ZN10QEventLoopD2Ev @ 183 NONAME + _ZN10QMutexPool17globalInstanceGetEPKv @ 184 NONAME + _ZN10QMutexPool3getEPKv @ 185 NONAME + _ZN10QMutexPool8instanceEv @ 186 NONAME + _ZN10QMutexPoolC1EN6QMutex13RecursionModeEi @ 187 NONAME + _ZN10QMutexPoolC2EN6QMutex13RecursionModeEi @ 188 NONAME + _ZN10QMutexPoolD1Ev @ 189 NONAME + _ZN10QMutexPoolD2Ev @ 190 NONAME + _ZN10QSemaphore10tryAcquireEi @ 191 NONAME + _ZN10QSemaphore10tryAcquireEii @ 192 NONAME + _ZN10QSemaphore7acquireEi @ 193 NONAME + _ZN10QSemaphore7releaseEi @ 194 NONAME + _ZN10QSemaphoreC1Ei @ 195 NONAME + _ZN10QSemaphoreC2Ei @ 196 NONAME + _ZN10QSemaphoreD1Ev @ 197 NONAME + _ZN10QSemaphoreD2Ev @ 198 NONAME + _ZN10QTextCodec11codecForMibEi @ 199 NONAME + _ZN10QTextCodec12codecForHtmlERK10QByteArray @ 200 NONAME + _ZN10QTextCodec12codecForHtmlERK10QByteArrayPS_ @ 201 NONAME + _ZN10QTextCodec12codecForNameERK10QByteArray @ 202 NONAME + _ZN10QTextCodec13availableMibsEv @ 203 NONAME + _ZN10QTextCodec14ConverterStateD1Ev @ 204 NONAME + _ZN10QTextCodec14ConverterStateD2Ev @ 205 NONAME + _ZN10QTextCodec14codecForLocaleEv @ 206 NONAME + _ZN10QTextCodec15availableCodecsEv @ 207 NONAME + _ZN10QTextCodec15codecForUtfTextERK10QByteArray @ 208 NONAME + _ZN10QTextCodec15codecForUtfTextERK10QByteArrayPS_ @ 209 NONAME + _ZN10QTextCodec17setCodecForLocaleEPS_ @ 210 NONAME + _ZN10QTextCodec4cftrE @ 211 NONAME DATA 4 + _ZN10QTextCodecC2Ev @ 212 NONAME + _ZN10QTextCodecD0Ev @ 213 NONAME + _ZN10QTextCodecD1Ev @ 214 NONAME + _ZN10QTextCodecD2Ev @ 215 NONAME + _ZN11QBasicTimer4stopEv @ 216 NONAME + _ZN11QBasicTimer5startEiP7QObject @ 217 NONAME + _ZN11QChildEventC1EN6QEvent4TypeEP7QObject @ 218 NONAME + _ZN11QChildEventC2EN6QEvent4TypeEP7QObject @ 219 NONAME + _ZN11QChildEventD0Ev @ 220 NONAME + _ZN11QChildEventD1Ev @ 221 NONAME + _ZN11QChildEventD2Ev @ 222 NONAME + _ZN11QDataStream10writeBytesEPKcj @ 223 NONAME + _ZN11QDataStream11readRawDataEPci @ 224 NONAME + _ZN11QDataStream11resetStatusEv @ 225 NONAME + _ZN11QDataStream11skipRawDataEi @ 226 NONAME + _ZN11QDataStream11unsetDeviceEv @ 227 NONAME + _ZN11QDataStream12setByteOrderENS_9ByteOrderE @ 228 NONAME + _ZN11QDataStream12writeRawDataEPKci @ 229 NONAME + _ZN11QDataStream25setFloatingPointPrecisionENS_22FloatingPointPrecisionE @ 230 NONAME + _ZN11QDataStream9readBytesERPcRj @ 231 NONAME + _ZN11QDataStream9setDeviceEP9QIODevice @ 232 NONAME + _ZN11QDataStream9setStatusENS_6StatusE @ 233 NONAME + _ZN11QDataStreamC1EP10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 234 NONAME + _ZN11QDataStreamC1EP9QIODevice @ 235 NONAME + _ZN11QDataStreamC1ERK10QByteArray @ 236 NONAME + _ZN11QDataStreamC1Ev @ 237 NONAME + _ZN11QDataStreamC2EP10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 238 NONAME + _ZN11QDataStreamC2EP9QIODevice @ 239 NONAME + _ZN11QDataStreamC2ERK10QByteArray @ 240 NONAME + _ZN11QDataStreamC2Ev @ 241 NONAME + _ZN11QDataStreamD0Ev @ 242 NONAME + _ZN11QDataStreamD1Ev @ 243 NONAME + _ZN11QDataStreamD2Ev @ 244 NONAME + _ZN11QDataStreamlsEPKc @ 245 NONAME + _ZN11QDataStreamlsEa @ 246 NONAME + _ZN11QDataStreamlsEb @ 247 NONAME + _ZN11QDataStreamlsEd @ 248 NONAME + _ZN11QDataStreamlsEf @ 249 NONAME + _ZN11QDataStreamlsEi @ 250 NONAME + _ZN11QDataStreamlsEs @ 251 NONAME + _ZN11QDataStreamlsEx @ 252 NONAME + _ZN11QDataStreamrsERPc @ 253 NONAME + _ZN11QDataStreamrsERa @ 254 NONAME + _ZN11QDataStreamrsERb @ 255 NONAME + _ZN11QDataStreamrsERd @ 256 NONAME + _ZN11QDataStreamrsERf @ 257 NONAME + _ZN11QDataStreamrsERi @ 258 NONAME + _ZN11QDataStreamrsERs @ 259 NONAME + _ZN11QDataStreamrsERx @ 260 NONAME + _ZN11QFinalState11qt_metacallEN11QMetaObject4CallEiPPv @ 261 NONAME + _ZN11QFinalState11qt_metacastEPKc @ 262 NONAME + _ZN11QFinalState16staticMetaObjectE @ 263 NONAME DATA 16 + _ZN11QFinalState19getStaticMetaObjectEv @ 264 NONAME + _ZN11QFinalState5eventEP6QEvent @ 265 NONAME + _ZN11QFinalState6onExitEP6QEvent @ 266 NONAME + _ZN11QFinalState7onEntryEP6QEvent @ 267 NONAME + _ZN11QFinalStateC1EP6QState @ 268 NONAME + _ZN11QFinalStateC2EP6QState @ 269 NONAME + _ZN11QFinalStateD0Ev @ 270 NONAME + _ZN11QFinalStateD1Ev @ 271 NONAME + _ZN11QFinalStateD2Ev @ 272 NONAME + _ZN11QMetaObject10disconnectEPK7QObjectiS2_i @ 273 NONAME + _ZN11QMetaObject11changeGuardEPP7QObjectS1_ @ 274 NONAME + _ZN11QMetaObject11removeGuardEPP7QObject @ 275 NONAME + _ZN11QMetaObject12invokeMethodEP7QObjectPKcN2Qt14ConnectionTypeE22QGenericReturnArgument16QGenericArgumentS7_S7_S7_S7_S7_S7_S7_S7_S7_ @ 276 NONAME + _ZN11QMetaObject14normalizedTypeEPKc @ 277 NONAME + _ZN11QMetaObject16checkConnectArgsEPKcS1_ @ 278 NONAME + _ZN11QMetaObject18connectSlotsByNameEP7QObject @ 279 NONAME + _ZN11QMetaObject19normalizedSignatureEPKc @ 280 NONAME + _ZN11QMetaObject7connectEPK7QObjectiS2_iiPi @ 281 NONAME + _ZN11QMetaObject8activateEP7QObjectPKS_iPPv @ 282 NONAME + _ZN11QMetaObject8activateEP7QObjectPKS_iiPPv @ 283 NONAME + _ZN11QMetaObject8activateEP7QObjectiPPv @ 284 NONAME + _ZN11QMetaObject8activateEP7QObjectiiPPv @ 285 NONAME + _ZN11QMetaObject8addGuardEPP7QObject @ 286 NONAME + _ZN11QMetaObject8metacallEP7QObjectNS_4CallEiPPv @ 287 NONAME + _ZN11QTextStream10setPadCharE5QChar @ 288 NONAME + _ZN11QTextStream11resetStatusEv @ 289 NONAME + _ZN11QTextStream13setFieldWidthEi @ 290 NONAME + _ZN11QTextStream14setIntegerBaseEi @ 291 NONAME + _ZN11QTextStream14setNumberFlagsE6QFlagsINS_10NumberFlagEE @ 292 NONAME + _ZN11QTextStream14skipWhiteSpaceEv @ 293 NONAME + _ZN11QTextStream17setFieldAlignmentENS_14FieldAlignmentE @ 294 NONAME + _ZN11QTextStream20setAutoDetectUnicodeEb @ 295 NONAME + _ZN11QTextStream21setRealNumberNotationENS_18RealNumberNotationE @ 296 NONAME + _ZN11QTextStream22setRealNumberPrecisionEi @ 297 NONAME + _ZN11QTextStream24setGenerateByteOrderMarkEb @ 298 NONAME + _ZN11QTextStream4readEx @ 299 NONAME + _ZN11QTextStream4seekEx @ 300 NONAME + _ZN11QTextStream5flushEv @ 301 NONAME + _ZN11QTextStream5resetEv @ 302 NONAME + _ZN11QTextStream7readAllEv @ 303 NONAME + _ZN11QTextStream8readLineEx @ 304 NONAME + _ZN11QTextStream8setCodecEP10QTextCodec @ 305 NONAME + _ZN11QTextStream8setCodecEPKc @ 306 NONAME + _ZN11QTextStream9setDeviceEP9QIODevice @ 307 NONAME + _ZN11QTextStream9setLocaleERK7QLocale @ 308 NONAME + _ZN11QTextStream9setStatusENS_6StatusE @ 309 NONAME + _ZN11QTextStream9setStringEP7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 310 NONAME + _ZN11QTextStreamC1EP10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 311 NONAME + _ZN11QTextStreamC1EP7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 312 NONAME + _ZN11QTextStreamC1EP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEE @ 313 NONAME + _ZN11QTextStreamC1EP9QIODevice @ 314 NONAME + _ZN11QTextStreamC1ERK10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 315 NONAME + _ZN11QTextStreamC1Ev @ 316 NONAME + _ZN11QTextStreamC2EP10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 317 NONAME + _ZN11QTextStreamC2EP7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 318 NONAME + _ZN11QTextStreamC2EP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEE @ 319 NONAME + _ZN11QTextStreamC2EP9QIODevice @ 320 NONAME + _ZN11QTextStreamC2ERK10QByteArray6QFlagsIN9QIODevice12OpenModeFlagEE @ 321 NONAME + _ZN11QTextStreamC2Ev @ 322 NONAME + _ZN11QTextStreamD0Ev @ 323 NONAME + _ZN11QTextStreamD1Ev @ 324 NONAME + _ZN11QTextStreamD2Ev @ 325 NONAME + _ZN11QTextStreamlsE5QBool @ 326 NONAME + _ZN11QTextStreamlsE5QChar @ 327 NONAME + _ZN11QTextStreamlsEPKc @ 328 NONAME + _ZN11QTextStreamlsEPKv @ 329 NONAME + _ZN11QTextStreamlsERK10QByteArray @ 330 NONAME + _ZN11QTextStreamlsERK7QString @ 331 NONAME + _ZN11QTextStreamlsEc @ 332 NONAME + _ZN11QTextStreamlsEd @ 333 NONAME + _ZN11QTextStreamlsEf @ 334 NONAME + _ZN11QTextStreamlsEi @ 335 NONAME + _ZN11QTextStreamlsEj @ 336 NONAME + _ZN11QTextStreamlsEl @ 337 NONAME + _ZN11QTextStreamlsEm @ 338 NONAME + _ZN11QTextStreamlsEs @ 339 NONAME + _ZN11QTextStreamlsEt @ 340 NONAME + _ZN11QTextStreamlsEx @ 341 NONAME + _ZN11QTextStreamlsEy @ 342 NONAME + _ZN11QTextStreamrsEPc @ 343 NONAME + _ZN11QTextStreamrsER10QByteArray @ 344 NONAME + _ZN11QTextStreamrsER5QChar @ 345 NONAME + _ZN11QTextStreamrsER7QString @ 346 NONAME + _ZN11QTextStreamrsERc @ 347 NONAME + _ZN11QTextStreamrsERd @ 348 NONAME + _ZN11QTextStreamrsERf @ 349 NONAME + _ZN11QTextStreamrsERi @ 350 NONAME + _ZN11QTextStreamrsERj @ 351 NONAME + _ZN11QTextStreamrsERl @ 352 NONAME + _ZN11QTextStreamrsERm @ 353 NONAME + _ZN11QTextStreamrsERs @ 354 NONAME + _ZN11QTextStreamrsERt @ 355 NONAME + _ZN11QTextStreamrsERx @ 356 NONAME + _ZN11QTextStreamrsERy @ 357 NONAME + _ZN11QThreadPool11qt_metacallEN11QMetaObject4CallEiPPv @ 358 NONAME + _ZN11QThreadPool11qt_metacastEPKc @ 359 NONAME + _ZN11QThreadPool11waitForDoneEv @ 360 NONAME + _ZN11QThreadPool13releaseThreadEv @ 361 NONAME + _ZN11QThreadPool13reserveThreadEv @ 362 NONAME + _ZN11QThreadPool14globalInstanceEv @ 363 NONAME + _ZN11QThreadPool16setExpiryTimeoutEi @ 364 NONAME + _ZN11QThreadPool16staticMetaObjectE @ 365 NONAME DATA 16 + _ZN11QThreadPool17setMaxThreadCountEi @ 366 NONAME + _ZN11QThreadPool19getStaticMetaObjectEv @ 367 NONAME + _ZN11QThreadPool5startEP9QRunnablei @ 368 NONAME + _ZN11QThreadPool8tryStartEP9QRunnable @ 369 NONAME + _ZN11QThreadPoolC1EP7QObject @ 370 NONAME + _ZN11QThreadPoolC2EP7QObject @ 371 NONAME + _ZN11QThreadPoolD0Ev @ 372 NONAME + _ZN11QThreadPoolD1Ev @ 373 NONAME + _ZN11QThreadPoolD2Ev @ 374 NONAME + _ZN11QTimerEventC1Ei @ 375 NONAME + _ZN11QTimerEventC2Ei @ 376 NONAME + _ZN11QTimerEventD0Ev @ 377 NONAME + _ZN11QTimerEventD1Ev @ 378 NONAME + _ZN11QTimerEventD2Ev @ 379 NONAME + _ZN11QTranslator11qt_metacallEN11QMetaObject4CallEiPPv @ 380 NONAME + _ZN11QTranslator11qt_metacastEPKc @ 381 NONAME + _ZN11QTranslator16staticMetaObjectE @ 382 NONAME DATA 16 + _ZN11QTranslator19getStaticMetaObjectEv @ 383 NONAME + _ZN11QTranslator4loadEPKhi @ 384 NONAME + _ZN11QTranslator4loadERK7QStringS2_S2_S2_ @ 385 NONAME + _ZN11QTranslatorC1EP7QObject @ 386 NONAME + _ZN11QTranslatorC2EP7QObject @ 387 NONAME + _ZN11QTranslatorD0Ev @ 388 NONAME + _ZN11QTranslatorD1Ev @ 389 NONAME + _ZN11QTranslatorD2Ev @ 390 NONAME + _ZN11QVectorData11shared_nullE @ 391 NONAME DATA 16 + _ZN11QVectorData4growEiiib @ 392 NONAME + _ZN11QVectorData6mallocEiiiPS_ @ 393 NONAME + _ZN12QDirIterator4nextEv @ 394 NONAME + _ZN12QDirIteratorC1ERK4QDir6QFlagsINS_12IteratorFlagEE @ 395 NONAME + _ZN12QDirIteratorC1ERK7QString6QFlagsIN4QDir6FilterEES3_INS_12IteratorFlagEE @ 396 NONAME + _ZN12QDirIteratorC1ERK7QString6QFlagsINS_12IteratorFlagEE @ 397 NONAME + _ZN12QDirIteratorC1ERK7QStringRK11QStringList6QFlagsIN4QDir6FilterEES6_INS_12IteratorFlagEE @ 398 NONAME + _ZN12QDirIteratorC2ERK4QDir6QFlagsINS_12IteratorFlagEE @ 399 NONAME + _ZN12QDirIteratorC2ERK7QString6QFlagsIN4QDir6FilterEES3_INS_12IteratorFlagEE @ 400 NONAME + _ZN12QDirIteratorC2ERK7QString6QFlagsINS_12IteratorFlagEE @ 401 NONAME + _ZN12QDirIteratorC2ERK7QStringRK11QStringList6QFlagsIN4QDir6FilterEES6_INS_12IteratorFlagEE @ 402 NONAME + _ZN12QDirIteratorD0Ev @ 403 NONAME + _ZN12QDirIteratorD1Ev @ 404 NONAME + _ZN12QDirIteratorD2Ev @ 405 NONAME + _ZN12QEasingCurve12setAmplitudeEf @ 406 NONAME + _ZN12QEasingCurve12setOvershootEf @ 407 NONAME + _ZN12QEasingCurve13setCustomTypeEPFffE @ 408 NONAME + _ZN12QEasingCurve16staticMetaObjectE @ 409 NONAME DATA 16 + _ZN12QEasingCurve19getStaticMetaObjectEv @ 410 NONAME + _ZN12QEasingCurve7setTypeENS_4TypeE @ 411 NONAME + _ZN12QEasingCurve9setPeriodEf @ 412 NONAME + _ZN12QEasingCurveC1ENS_4TypeE @ 413 NONAME + _ZN12QEasingCurveC1ERKS_ @ 414 NONAME + _ZN12QEasingCurveC2ENS_4TypeE @ 415 NONAME + _ZN12QEasingCurveC2ERKS_ @ 416 NONAME + _ZN12QEasingCurveD1Ev @ 417 NONAME + _ZN12QEasingCurveD2Ev @ 418 NONAME + _ZN12QEasingCurveaSERKS_ @ 419 NONAME + _ZN12QLibraryInfo16licensedProductsEv @ 420 NONAME + _ZN12QLibraryInfo8buildKeyEv @ 421 NONAME + _ZN12QLibraryInfo8licenseeEv @ 422 NONAME + _ZN12QLibraryInfo8locationENS_15LibraryLocationE @ 423 NONAME + _ZN12QLibraryInfoC1Ev @ 424 NONAME + _ZN12QLibraryInfoC2Ev @ 425 NONAME + _ZN12QTextDecoder9toUnicodeEP7QStringPKci @ 426 NONAME + _ZN12QTextDecoder9toUnicodeEPKci @ 427 NONAME + _ZN12QTextDecoder9toUnicodeERK10QByteArray @ 428 NONAME + _ZN12QTextDecoderD1Ev @ 429 NONAME + _ZN12QTextDecoderD2Ev @ 430 NONAME + _ZN12QTextEncoder11fromUnicodeEPK5QChari @ 431 NONAME + _ZN12QTextEncoder11fromUnicodeERK7QString @ 432 NONAME + _ZN12QTextEncoderD1Ev @ 433 NONAME + _ZN12QTextEncoderD2Ev @ 434 NONAME + _ZN13QFSFileEngine11currentPathERK7QString @ 435 NONAME + _ZN13QFSFileEngine11setFileNameERK7QString @ 436 NONAME + _ZN13QFSFileEngine12endEntryListEv @ 437 NONAME + _ZN13QFSFileEngine14beginEntryListE6QFlagsIN4QDir6FilterEERK11QStringList @ 438 NONAME + _ZN13QFSFileEngine14setCurrentPathERK7QString @ 439 NONAME + _ZN13QFSFileEngine14setPermissionsEj @ 440 NONAME + _ZN13QFSFileEngine4copyERK7QString @ 441 NONAME + _ZN13QFSFileEngine4linkERK7QString @ 442 NONAME + _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 443 NONAME + _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEEP7__sFILE @ 444 NONAME + _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEEi @ 445 NONAME + _ZN13QFSFileEngine4readEPcx @ 446 NONAME + _ZN13QFSFileEngine4seekEx @ 447 NONAME + _ZN13QFSFileEngine5closeEv @ 448 NONAME + _ZN13QFSFileEngine5flushEv @ 449 NONAME + _ZN13QFSFileEngine5writeEPKcx @ 450 NONAME + _ZN13QFSFileEngine6drivesEv @ 451 NONAME + _ZN13QFSFileEngine6removeEv @ 452 NONAME + _ZN13QFSFileEngine6renameERK7QString @ 453 NONAME + _ZN13QFSFileEngine7setSizeEx @ 454 NONAME + _ZN13QFSFileEngine8homePathEv @ 455 NONAME + _ZN13QFSFileEngine8readLineEPcx @ 456 NONAME + _ZN13QFSFileEngine8rootPathEv @ 457 NONAME + _ZN13QFSFileEngine8tempPathEv @ 458 NONAME + _ZN13QFSFileEngine9extensionEN19QAbstractFileEngine9ExtensionEPKNS0_15ExtensionOptionEPNS0_15ExtensionReturnE @ 459 NONAME + _ZN13QFSFileEngineC1ER20QFSFileEnginePrivate @ 460 NONAME + _ZN13QFSFileEngineC1ERK7QString @ 461 NONAME + _ZN13QFSFileEngineC1Ev @ 462 NONAME + _ZN13QFSFileEngineC2ER20QFSFileEnginePrivate @ 463 NONAME + _ZN13QFSFileEngineC2ERK7QString @ 464 NONAME + _ZN13QFSFileEngineC2Ev @ 465 NONAME + _ZN13QFSFileEngineD0Ev @ 466 NONAME + _ZN13QFSFileEngineD1Ev @ 467 NONAME + _ZN13QFSFileEngineD2Ev @ 468 NONAME + _ZN13QFontLaoCodecD0Ev @ 469 NONAME + _ZN13QFontLaoCodecD1Ev @ 470 NONAME + _ZN13QFontLaoCodecD2Ev @ 471 NONAME + _ZN13QHistoryState11qt_metacallEN11QMetaObject4CallEiPPv @ 472 NONAME + _ZN13QHistoryState11qt_metacastEPKc @ 473 NONAME + _ZN13QHistoryState14setHistoryTypeENS_11HistoryTypeE @ 474 NONAME + _ZN13QHistoryState15setDefaultStateEP14QAbstractState @ 475 NONAME + _ZN13QHistoryState16staticMetaObjectE @ 476 NONAME DATA 16 + _ZN13QHistoryState19getStaticMetaObjectEv @ 477 NONAME + _ZN13QHistoryState5eventEP6QEvent @ 478 NONAME + _ZN13QHistoryState6onExitEP6QEvent @ 479 NONAME + _ZN13QHistoryState7onEntryEP6QEvent @ 480 NONAME + _ZN13QHistoryStateC1ENS_11HistoryTypeEP6QState @ 481 NONAME + _ZN13QHistoryStateC1EP6QState @ 482 NONAME + _ZN13QHistoryStateC2ENS_11HistoryTypeEP6QState @ 483 NONAME + _ZN13QHistoryStateC2EP6QState @ 484 NONAME + _ZN13QHistoryStateD0Ev @ 485 NONAME + _ZN13QHistoryStateD1Ev @ 486 NONAME + _ZN13QHistoryStateD2Ev @ 487 NONAME + _ZN13QMetaPropertyC1Ev @ 488 NONAME + _ZN13QMetaPropertyC2Ev @ 489 NONAME + _ZN13QPluginLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 490 NONAME + _ZN13QPluginLoader11qt_metacastEPKc @ 491 NONAME + _ZN13QPluginLoader11setFileNameERK7QString @ 492 NONAME + _ZN13QPluginLoader12setLoadHintsE6QFlagsIN8QLibrary8LoadHintEE @ 493 NONAME + _ZN13QPluginLoader15staticInstancesEv @ 494 NONAME + _ZN13QPluginLoader16staticMetaObjectE @ 495 NONAME DATA 16 + _ZN13QPluginLoader19getStaticMetaObjectEv @ 496 NONAME + _ZN13QPluginLoader4loadEv @ 497 NONAME + _ZN13QPluginLoader6unloadEv @ 498 NONAME + _ZN13QPluginLoader8instanceEv @ 499 NONAME + _ZN13QPluginLoaderC1EP7QObject @ 500 NONAME + _ZN13QPluginLoaderC1ERK7QStringP7QObject @ 501 NONAME + _ZN13QPluginLoaderC2EP7QObject @ 502 NONAME + _ZN13QPluginLoaderC2ERK7QStringP7QObject @ 503 NONAME + _ZN13QPluginLoaderD0Ev @ 504 NONAME + _ZN13QPluginLoaderD1Ev @ 505 NONAME + _ZN13QPluginLoaderD2Ev @ 506 NONAME + _ZN13QSharedMemory11qt_metacallEN11QMetaObject4CallEiPPv @ 507 NONAME + _ZN13QSharedMemory11qt_metacastEPKc @ 508 NONAME + _ZN13QSharedMemory16staticMetaObjectE @ 509 NONAME DATA 16 + _ZN13QSharedMemory19getStaticMetaObjectEv @ 510 NONAME + _ZN13QSharedMemory4dataEv @ 511 NONAME + _ZN13QSharedMemory4lockEv @ 512 NONAME + _ZN13QSharedMemory6attachENS_10AccessModeE @ 513 NONAME + _ZN13QSharedMemory6createEiNS_10AccessModeE @ 514 NONAME + _ZN13QSharedMemory6detachEv @ 515 NONAME + _ZN13QSharedMemory6setKeyERK7QString @ 516 NONAME + _ZN13QSharedMemory6unlockEv @ 517 NONAME + _ZN13QSharedMemoryC1EP7QObject @ 518 NONAME + _ZN13QSharedMemoryC1ERK7QStringP7QObject @ 519 NONAME + _ZN13QSharedMemoryC2EP7QObject @ 520 NONAME + _ZN13QSharedMemoryC2ERK7QStringP7QObject @ 521 NONAME + _ZN13QSharedMemoryD0Ev @ 522 NONAME + _ZN13QSharedMemoryD1Ev @ 523 NONAME + _ZN13QSharedMemoryD2Ev @ 524 NONAME + _ZN13QSignalMapper10setMappingEP7QObjectP7QWidget @ 525 NONAME + _ZN13QSignalMapper10setMappingEP7QObjectRK7QString @ 526 NONAME + _ZN13QSignalMapper10setMappingEP7QObjectS1_ @ 527 NONAME + _ZN13QSignalMapper10setMappingEP7QObjecti @ 528 NONAME + _ZN13QSignalMapper11qt_metacallEN11QMetaObject4CallEiPPv @ 529 NONAME + _ZN13QSignalMapper11qt_metacastEPKc @ 530 NONAME + _ZN13QSignalMapper14removeMappingsEP7QObject @ 531 NONAME + _ZN13QSignalMapper16staticMetaObjectE @ 532 NONAME DATA 16 + _ZN13QSignalMapper19getStaticMetaObjectEv @ 533 NONAME + _ZN13QSignalMapper3mapEP7QObject @ 534 NONAME + _ZN13QSignalMapper3mapEv @ 535 NONAME + _ZN13QSignalMapper6mappedEP7QObject @ 536 NONAME + _ZN13QSignalMapper6mappedEP7QWidget @ 537 NONAME + _ZN13QSignalMapper6mappedERK7QString @ 538 NONAME + _ZN13QSignalMapper6mappedEi @ 539 NONAME + _ZN13QSignalMapperC1EP7QObject @ 540 NONAME + _ZN13QSignalMapperC2EP7QObject @ 541 NONAME + _ZN13QSignalMapperD0Ev @ 542 NONAME + _ZN13QSignalMapperD1Ev @ 543 NONAME + _ZN13QSignalMapperD2Ev @ 544 NONAME + _ZN13QStateMachine10clearErrorEv @ 545 NONAME + _ZN13QStateMachine11eventFilterEP7QObjectP6QEvent @ 546 NONAME + _ZN13QStateMachine11qt_metacallEN11QMetaObject4CallEiPPv @ 547 NONAME + _ZN13QStateMachine11qt_metacastEPKc @ 548 NONAME + _ZN13QStateMachine11removeStateEP14QAbstractState @ 549 NONAME + _ZN13QStateMachine12endMicrostepEP6QEvent @ 550 NONAME + _ZN13QStateMachine14beginMicrostepEP6QEvent @ 551 NONAME + _ZN13QStateMachine16postDelayedEventEP6QEventi @ 552 NONAME + _ZN13QStateMachine16staticMetaObjectE @ 553 NONAME DATA 16 + _ZN13QStateMachine18cancelDelayedEventEi @ 554 NONAME + _ZN13QStateMachine19addDefaultAnimationEP18QAbstractAnimation @ 555 NONAME + _ZN13QStateMachine19getStaticMetaObjectEv @ 556 NONAME + _ZN13QStateMachine20endSelectTransitionsEP6QEvent @ 557 NONAME + _ZN13QStateMachine20setAnimationsEnabledEb @ 558 NONAME + _ZN13QStateMachine22beginSelectTransitionsEP6QEvent @ 559 NONAME + _ZN13QStateMachine22removeDefaultAnimationEP18QAbstractAnimation @ 560 NONAME + _ZN13QStateMachine22setGlobalRestorePolicyENS_13RestorePolicyE @ 561 NONAME + _ZN13QStateMachine4stopEv @ 562 NONAME + _ZN13QStateMachine5eventEP6QEvent @ 563 NONAME + _ZN13QStateMachine5startEv @ 564 NONAME + _ZN13QStateMachine6onExitEP6QEvent @ 565 NONAME + _ZN13QStateMachine7onEntryEP6QEvent @ 566 NONAME + _ZN13QStateMachine7startedEv @ 567 NONAME + _ZN13QStateMachine7stoppedEv @ 568 NONAME + _ZN13QStateMachine8addStateEP14QAbstractState @ 569 NONAME + _ZN13QStateMachine9postEventEP6QEventNS_13EventPriorityE @ 570 NONAME + _ZN13QStateMachineC1EP7QObject @ 571 NONAME + _ZN13QStateMachineC1ER20QStateMachinePrivateP7QObject @ 572 NONAME + _ZN13QStateMachineC2EP7QObject @ 573 NONAME + _ZN13QStateMachineC2ER20QStateMachinePrivateP7QObject @ 574 NONAME + _ZN13QStateMachineD0Ev @ 575 NONAME + _ZN13QStateMachineD1Ev @ 576 NONAME + _ZN13QStateMachineD2Ev @ 577 NONAME + _ZN13QSystemLocaleC1Eb @ 578 NONAME + _ZN13QSystemLocaleC1Ev @ 579 NONAME + _ZN13QSystemLocaleC2Eb @ 580 NONAME + _ZN13QSystemLocaleC2Ev @ 581 NONAME + _ZN13QSystemLocaleD0Ev @ 582 NONAME + _ZN13QSystemLocaleD1Ev @ 583 NONAME + _ZN13QSystemLocaleD2Ev @ 584 NONAME + _ZN13QUnifiedTimer8instanceEv @ 585 NONAME + _ZN14QAbstractState11qt_metacallEN11QMetaObject4CallEiPPv @ 586 NONAME + _ZN14QAbstractState11qt_metacastEPKc @ 587 NONAME + _ZN14QAbstractState16staticMetaObjectE @ 588 NONAME DATA 16 + _ZN14QAbstractState19getStaticMetaObjectEv @ 589 NONAME + _ZN14QAbstractState5eventEP6QEvent @ 590 NONAME + _ZN14QAbstractState6exitedEv @ 591 NONAME + _ZN14QAbstractState7enteredEv @ 592 NONAME + _ZN14QAbstractStateC2EP6QState @ 593 NONAME + _ZN14QAbstractStateC2ER21QAbstractStatePrivateP6QState @ 594 NONAME + _ZN14QAbstractStateD0Ev @ 595 NONAME + _ZN14QAbstractStateD1Ev @ 596 NONAME + _ZN14QAbstractStateD2Ev @ 597 NONAME + _ZN14QFactoryLoader10refreshAllEv @ 598 NONAME + _ZN14QFactoryLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 599 NONAME + _ZN14QFactoryLoader11qt_metacastEPKc @ 600 NONAME + _ZN14QFactoryLoader16staticMetaObjectE @ 601 NONAME DATA 16 + _ZN14QFactoryLoader19getStaticMetaObjectEv @ 602 NONAME + _ZN14QFactoryLoader6updateEv @ 603 NONAME + _ZN14QFactoryLoaderC1EPKcRK7QStringN2Qt15CaseSensitivityE @ 604 NONAME + _ZN14QFactoryLoaderC2EPKcRK7QStringN2Qt15CaseSensitivityE @ 605 NONAME + _ZN14QFactoryLoaderD0Ev @ 606 NONAME + _ZN14QFactoryLoaderD1Ev @ 607 NONAME + _ZN14QFactoryLoaderD2Ev @ 608 NONAME + _ZN14QLocalePrivate17bytearrayToDoubleEPKcPbS2_ @ 609 NONAME + _ZN14QLocalePrivate19bytearrayToLongLongEPKciPbS2_ @ 610 NONAME + _ZN14QLocalePrivate19updateSystemPrivateEv @ 611 NONAME + _ZN14QLocalePrivate22bytearrayToUnsLongLongEPKciPb @ 612 NONAME + _ZN14QMetaCallEvent13placeMetaCallEP7QObject @ 613 NONAME + _ZN14QMetaCallEventC1EiPK7QObjectiiPiPPvP10QSemaphore @ 614 NONAME + _ZN14QMetaCallEventC2EiPK7QObjectiiPiPPvP10QSemaphore @ 615 NONAME + _ZN14QMetaCallEventD0Ev @ 616 NONAME + _ZN14QMetaCallEventD1Ev @ 617 NONAME + _ZN14QMetaCallEventD2Ev @ 618 NONAME + _ZN14QObjectPrivate11clearGuardsEP7QObject @ 619 NONAME + _ZN14QObjectPrivate13addConnectionEiPNS_10ConnectionE @ 620 NONAME + _ZN14QObjectPrivate14deleteChildrenEv @ 621 NONAME + _ZN14QObjectPrivate14setDeleteWatchEPS_Pi @ 622 NONAME + _ZN14QObjectPrivate16resetDeleteWatchEPS_Pii @ 623 NONAME + _ZN14QObjectPrivate16setCurrentSenderEP7QObjectPNS_6SenderE @ 624 NONAME + _ZN14QObjectPrivate16setParent_helperEP7QObject @ 625 NONAME + _ZN14QObjectPrivate18resetCurrentSenderEP7QObjectPNS_6SenderES3_ @ 626 NONAME + _ZN14QObjectPrivate19_q_reregisterTimersEPv @ 627 NONAME + _ZN14QObjectPrivate19moveToThread_helperEv @ 628 NONAME + _ZN14QObjectPrivate20cleanConnectionListsEv @ 629 NONAME + _ZN14QObjectPrivate20setThreadData_helperEP11QThreadDataS1_ @ 630 NONAME + _ZN14QObjectPrivateC1Ei @ 631 NONAME + _ZN14QObjectPrivateC2Ei @ 632 NONAME + _ZN14QObjectPrivateD0Ev @ 633 NONAME + _ZN14QObjectPrivateD1Ev @ 634 NONAME + _ZN14QObjectPrivateD2Ev @ 635 NONAME + _ZN14QReadWriteLock11lockForReadEv @ 636 NONAME + _ZN14QReadWriteLock12lockForWriteEv @ 637 NONAME + _ZN14QReadWriteLock14tryLockForReadEi @ 638 NONAME + _ZN14QReadWriteLock14tryLockForReadEv @ 639 NONAME + _ZN14QReadWriteLock15tryLockForWriteEi @ 640 NONAME + _ZN14QReadWriteLock15tryLockForWriteEv @ 641 NONAME + _ZN14QReadWriteLock6unlockEv @ 642 NONAME + _ZN14QReadWriteLockC1ENS_13RecursionModeE @ 643 NONAME + _ZN14QReadWriteLockC1Ev @ 644 NONAME + _ZN14QReadWriteLockC2ENS_13RecursionModeE @ 645 NONAME + _ZN14QReadWriteLockC2Ev @ 646 NONAME + _ZN14QReadWriteLockD1Ev @ 647 NONAME + _ZN14QReadWriteLockD2Ev @ 648 NONAME + _ZN14QStringMatcher10setPatternERK7QString @ 649 NONAME + _ZN14QStringMatcher18setCaseSensitivityEN2Qt15CaseSensitivityE @ 650 NONAME + _ZN14QStringMatcherC1EPK5QChariN2Qt15CaseSensitivityE @ 651 NONAME + _ZN14QStringMatcherC1ERK7QStringN2Qt15CaseSensitivityE @ 652 NONAME + _ZN14QStringMatcherC1ERKS_ @ 653 NONAME + _ZN14QStringMatcherC1Ev @ 654 NONAME + _ZN14QStringMatcherC2EPK5QChariN2Qt15CaseSensitivityE @ 655 NONAME + _ZN14QStringMatcherC2ERK7QStringN2Qt15CaseSensitivityE @ 656 NONAME + _ZN14QStringMatcherC2ERKS_ @ 657 NONAME + _ZN14QStringMatcherC2Ev @ 658 NONAME + _ZN14QStringMatcherD1Ev @ 659 NONAME + _ZN14QStringMatcherD2Ev @ 660 NONAME + _ZN14QStringMatcheraSERKS_ @ 661 NONAME + _ZN14QTemporaryFile11qt_metacallEN11QMetaObject4CallEiPPv @ 662 NONAME + _ZN14QTemporaryFile11qt_metacastEPKc @ 663 NONAME + _ZN14QTemporaryFile13setAutoRemoveEb @ 664 NONAME + _ZN14QTemporaryFile15createLocalFileER5QFile @ 665 NONAME + _ZN14QTemporaryFile15setFileTemplateERK7QString @ 666 NONAME + _ZN14QTemporaryFile16staticMetaObjectE @ 667 NONAME DATA 16 + _ZN14QTemporaryFile19getStaticMetaObjectEv @ 668 NONAME + _ZN14QTemporaryFile4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 669 NONAME + _ZN14QTemporaryFileC1EP7QObject @ 670 NONAME + _ZN14QTemporaryFileC1ERK7QString @ 671 NONAME + _ZN14QTemporaryFileC1ERK7QStringP7QObject @ 672 NONAME + _ZN14QTemporaryFileC1Ev @ 673 NONAME + _ZN14QTemporaryFileC2EP7QObject @ 674 NONAME + _ZN14QTemporaryFileC2ERK7QString @ 675 NONAME + _ZN14QTemporaryFileC2ERK7QStringP7QObject @ 676 NONAME + _ZN14QTemporaryFileC2Ev @ 677 NONAME + _ZN14QTemporaryFileD0Ev @ 678 NONAME + _ZN14QTemporaryFileD1Ev @ 679 NONAME + _ZN14QTemporaryFileD2Ev @ 680 NONAME + _ZN14QUnicodeTables10propertiesEj @ 681 NONAME + _ZN14QUnicodeTables10propertiesEt @ 682 NONAME + _ZN14QUnicodeTables14lineBreakClassEj @ 683 NONAME + _ZN14QUnicodeTables6scriptEj @ 684 NONAME + _ZN14QWaitCondition4waitEP14QReadWriteLockm @ 685 NONAME + _ZN14QWaitCondition4waitEP6QMutexm @ 686 NONAME + _ZN14QWaitCondition7wakeAllEv @ 687 NONAME + _ZN14QWaitCondition7wakeOneEv @ 688 NONAME + _ZN14QWaitConditionC1Ev @ 689 NONAME + _ZN14QWaitConditionC2Ev @ 690 NONAME + _ZN14QWaitConditionD1Ev @ 691 NONAME + _ZN14QWaitConditionD2Ev @ 692 NONAME + _ZN15QAnimationGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 693 NONAME + _ZN15QAnimationGroup11qt_metacastEPKc @ 694 NONAME + _ZN15QAnimationGroup12addAnimationEP18QAbstractAnimation @ 695 NONAME + _ZN15QAnimationGroup15clearAnimationsEv @ 696 NONAME + _ZN15QAnimationGroup15removeAnimationEP18QAbstractAnimation @ 697 NONAME + _ZN15QAnimationGroup15takeAnimationAtEi @ 698 NONAME + _ZN15QAnimationGroup16staticMetaObjectE @ 699 NONAME DATA 16 + _ZN15QAnimationGroup17insertAnimationAtEiP18QAbstractAnimation @ 700 NONAME + _ZN15QAnimationGroup19getStaticMetaObjectEv @ 701 NONAME + _ZN15QAnimationGroup5eventEP6QEvent @ 702 NONAME + _ZN15QAnimationGroupC2EP7QObject @ 703 NONAME + _ZN15QAnimationGroupC2ER22QAnimationGroupPrivateP7QObject @ 704 NONAME + _ZN15QAnimationGroupD0Ev @ 705 NONAME + _ZN15QAnimationGroupD1Ev @ 706 NONAME + _ZN15QAnimationGroupD2Ev @ 707 NONAME + _ZN15QBasicAtomicInt20fetchAndStoreOrderedEi @ 708 NONAME + _ZN15QDateTimeParser11parseFormatERK7QString @ 709 NONAME + _ZN15QLinkedListData11shared_nullE @ 710 NONAME DATA 20 + _ZN15QObjectUserDataD0Ev @ 711 NONAME + _ZN15QObjectUserDataD1Ev @ 712 NONAME + _ZN15QObjectUserDataD2Ev @ 713 NONAME + _ZN15QPauseAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 714 NONAME + _ZN15QPauseAnimation11qt_metacastEPKc @ 715 NONAME + _ZN15QPauseAnimation11setDurationEi @ 716 NONAME + _ZN15QPauseAnimation16staticMetaObjectE @ 717 NONAME DATA 16 + _ZN15QPauseAnimation17updateCurrentTimeEi @ 718 NONAME + _ZN15QPauseAnimation19getStaticMetaObjectEv @ 719 NONAME + _ZN15QPauseAnimation5eventEP6QEvent @ 720 NONAME + _ZN15QPauseAnimationC1EP7QObject @ 721 NONAME + _ZN15QPauseAnimationC1EiP7QObject @ 722 NONAME + _ZN15QPauseAnimationC2EP7QObject @ 723 NONAME + _ZN15QPauseAnimationC2EiP7QObject @ 724 NONAME + _ZN15QPauseAnimationD0Ev @ 725 NONAME + _ZN15QPauseAnimationD1Ev @ 726 NONAME + _ZN15QPauseAnimationD2Ev @ 727 NONAME + _ZN15QSocketNotifier10setEnabledEb @ 728 NONAME + _ZN15QSocketNotifier11qt_metacallEN11QMetaObject4CallEiPPv @ 729 NONAME + _ZN15QSocketNotifier11qt_metacastEPKc @ 730 NONAME + _ZN15QSocketNotifier16staticMetaObjectE @ 731 NONAME DATA 16 + _ZN15QSocketNotifier19getStaticMetaObjectEv @ 732 NONAME + _ZN15QSocketNotifier5eventEP6QEvent @ 733 NONAME + _ZN15QSocketNotifier9activatedEi @ 734 NONAME + _ZN15QSocketNotifierC1EiNS_4TypeEP7QObject @ 735 NONAME + _ZN15QSocketNotifierC2EiNS_4TypeEP7QObject @ 736 NONAME + _ZN15QSocketNotifierD0Ev @ 737 NONAME + _ZN15QSocketNotifierD1Ev @ 738 NONAME + _ZN15QSocketNotifierD2Ev @ 739 NONAME + _ZN15QtSharedPointer20ExternalRefCountData16setQObjectSharedEPK7QObjectb @ 740 NONAME + _ZN15QtSharedPointer20ExternalRefCountData9getAndRefEPK7QObject @ 741 NONAME + _ZN15QtSharedPointer22internalSafetyCheckAddEPVKv @ 742 NONAME + _ZN15QtSharedPointer23internalSafetyCheckAdd2EPKvPVKv @ 743 NONAME + _ZN15QtSharedPointer25internalSafetyCheckRemoveEPVKv @ 744 NONAME + _ZN15QtSharedPointer26internalSafetyCheckRemove2EPKv @ 745 NONAME + _ZN16QCoreApplication10startingUpEv @ 746 NONAME + _ZN16QCoreApplication10unixSignalEi @ 747 NONAME + _ZN16QCoreApplication11aboutToQuitEv @ 748 NONAME + _ZN16QCoreApplication11closingDownEv @ 749 NONAME + _ZN16QCoreApplication11filterEventEPvPl @ 750 NONAME + _ZN16QCoreApplication11qt_metacallEN11QMetaObject4CallEiPPv @ 751 NONAME + _ZN16QCoreApplication11qt_metacastEPKc @ 752 NONAME + _ZN16QCoreApplication12libraryPathsEv @ 753 NONAME + _ZN16QCoreApplication12setAttributeEN2Qt20ApplicationAttributeEb @ 754 NONAME + _ZN16QCoreApplication13compressEventEP6QEventP7QObjectP14QPostEventList @ 755 NONAME + _ZN16QCoreApplication13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE @ 756 NONAME + _ZN16QCoreApplication13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEEi @ 757 NONAME + _ZN16QCoreApplication13testAttributeEN2Qt20ApplicationAttributeE @ 758 NONAME + _ZN16QCoreApplication14addLibraryPathERK7QString @ 759 NONAME + _ZN16QCoreApplication14applicationPidEv @ 760 NONAME + _ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent @ 761 NONAME + _ZN16QCoreApplication14setEventFilterEPFbPvPlE @ 762 NONAME + _ZN16QCoreApplication15applicationNameEv @ 763 NONAME + _ZN16QCoreApplication15setLibraryPathsERK11QStringList @ 764 NONAME + _ZN16QCoreApplication16hasPendingEventsEv @ 765 NONAME + _ZN16QCoreApplication16organizationNameEv @ 766 NONAME + _ZN16QCoreApplication16removeTranslatorEP11QTranslator @ 767 NONAME + _ZN16QCoreApplication16sendPostedEventsEP7QObjecti @ 768 NONAME + _ZN16QCoreApplication16staticMetaObjectE @ 769 NONAME DATA 16 + _ZN16QCoreApplication17installTranslatorEP11QTranslator @ 770 NONAME + _ZN16QCoreApplication17removeLibraryPathERK7QString @ 771 NONAME + _ZN16QCoreApplication18applicationDirPathEv @ 772 NONAME + _ZN16QCoreApplication18applicationVersionEv @ 773 NONAME + _ZN16QCoreApplication18organizationDomainEv @ 774 NONAME + _ZN16QCoreApplication18removePostedEventsEP7QObject @ 775 NONAME + _ZN16QCoreApplication18removePostedEventsEP7QObjecti @ 776 NONAME + _ZN16QCoreApplication18setApplicationNameERK7QString @ 777 NONAME + _ZN16QCoreApplication19applicationFilePathEv @ 778 NONAME + _ZN16QCoreApplication19getStaticMetaObjectEv @ 779 NONAME + _ZN16QCoreApplication19setOrganizationNameERK7QString @ 780 NONAME + _ZN16QCoreApplication21setApplicationVersionERK7QString @ 781 NONAME + _ZN16QCoreApplication21setOrganizationDomainERK7QString @ 782 NONAME + _ZN16QCoreApplication4argcEv @ 783 NONAME + _ZN16QCoreApplication4argvEv @ 784 NONAME + _ZN16QCoreApplication4execEv @ 785 NONAME + _ZN16QCoreApplication4exitEi @ 786 NONAME + _ZN16QCoreApplication4initEv @ 787 NONAME + _ZN16QCoreApplication4quitEv @ 788 NONAME + _ZN16QCoreApplication4selfE @ 789 NONAME DATA 4 + _ZN16QCoreApplication5eventEP6QEvent @ 790 NONAME + _ZN16QCoreApplication5flushEv @ 791 NONAME + _ZN16QCoreApplication6notifyEP7QObjectP6QEvent @ 792 NONAME + _ZN16QCoreApplication9argumentsEv @ 793 NONAME + _ZN16QCoreApplication9postEventEP7QObjectP6QEvent @ 794 NONAME + _ZN16QCoreApplication9postEventEP7QObjectP6QEventi @ 795 NONAME + _ZN16QCoreApplication9translateEPKcS1_S1_NS_8EncodingE @ 796 NONAME + _ZN16QCoreApplication9translateEPKcS1_S1_NS_8EncodingEi @ 797 NONAME + _ZN16QCoreApplicationC1ER23QCoreApplicationPrivate @ 798 NONAME + _ZN16QCoreApplicationC1ERiPPc @ 799 NONAME + _ZN16QCoreApplicationC2ER23QCoreApplicationPrivate @ 800 NONAME + _ZN16QCoreApplicationC2ERiPPc @ 801 NONAME + _ZN16QCoreApplicationD0Ev @ 802 NONAME + _ZN16QCoreApplicationD1Ev @ 803 NONAME + _ZN16QCoreApplicationD2Ev @ 804 NONAME + _ZN16QDeclarativeDataD0Ev @ 805 NONAME + _ZN16QDeclarativeDataD1Ev @ 806 NONAME + _ZN16QDeclarativeDataD2Ev @ 807 NONAME + _ZN16QEventTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 808 NONAME + _ZN16QEventTransition11qt_metacastEPKc @ 809 NONAME + _ZN16QEventTransition12onTransitionEP6QEvent @ 810 NONAME + _ZN16QEventTransition12setEventTypeEN6QEvent4TypeE @ 811 NONAME + _ZN16QEventTransition14setEventSourceEP7QObject @ 812 NONAME + _ZN16QEventTransition16staticMetaObjectE @ 813 NONAME DATA 16 + _ZN16QEventTransition19getStaticMetaObjectEv @ 814 NONAME + _ZN16QEventTransition5eventEP6QEvent @ 815 NONAME + _ZN16QEventTransition9eventTestEP6QEvent @ 816 NONAME + _ZN16QEventTransitionC1EP6QState @ 817 NONAME + _ZN16QEventTransitionC1EP7QObjectN6QEvent4TypeEP6QState @ 818 NONAME + _ZN16QEventTransitionC1ER23QEventTransitionPrivateP6QState @ 819 NONAME + _ZN16QEventTransitionC1ER23QEventTransitionPrivateP7QObjectN6QEvent4TypeEP6QState @ 820 NONAME + _ZN16QEventTransitionC2EP6QState @ 821 NONAME + _ZN16QEventTransitionC2EP7QObjectN6QEvent4TypeEP6QState @ 822 NONAME + _ZN16QEventTransitionC2ER23QEventTransitionPrivateP6QState @ 823 NONAME + _ZN16QEventTransitionC2ER23QEventTransitionPrivateP7QObjectN6QEvent4TypeEP6QState @ 824 NONAME + _ZN16QEventTransitionD0Ev @ 825 NONAME + _ZN16QEventTransitionD1Ev @ 826 NONAME + _ZN16QEventTransitionD2Ev @ 827 NONAME + _ZN16QIODevicePrivate13putCharHelperEc @ 828 NONAME + _ZN16QIODevicePrivateC1Ev @ 829 NONAME + _ZN16QIODevicePrivateC2Ev @ 830 NONAME + _ZN16QIODevicePrivateD0Ev @ 831 NONAME + _ZN16QIODevicePrivateD1Ev @ 832 NONAME + _ZN16QIODevicePrivateD2Ev @ 833 NONAME + _ZN16QSystemSemaphore6setKeyERK7QStringiNS_10AccessModeE @ 834 NONAME + _ZN16QSystemSemaphore7acquireEv @ 835 NONAME + _ZN16QSystemSemaphore7releaseEi @ 836 NONAME + _ZN16QSystemSemaphoreC1ERK7QStringiNS_10AccessModeE @ 837 NONAME + _ZN16QSystemSemaphoreC2ERK7QStringiNS_10AccessModeE @ 838 NONAME + _ZN16QSystemSemaphoreD1Ev @ 839 NONAME + _ZN16QSystemSemaphoreD2Ev @ 840 NONAME + _ZN16QTextCodecPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 841 NONAME + _ZN16QTextCodecPlugin11qt_metacastEPKc @ 842 NONAME + _ZN16QTextCodecPlugin16staticMetaObjectE @ 843 NONAME DATA 16 + _ZN16QTextCodecPlugin19getStaticMetaObjectEv @ 844 NONAME + _ZN16QTextCodecPlugin6createERK7QString @ 845 NONAME + _ZN16QTextCodecPluginC2EP7QObject @ 846 NONAME + _ZN16QTextCodecPluginD0Ev @ 847 NONAME + _ZN16QTextCodecPluginD1Ev @ 848 NONAME + _ZN16QTextCodecPluginD2Ev @ 849 NONAME + _ZN16QXmlStreamReader10raiseErrorERK7QString @ 850 NONAME + _ZN16QXmlStreamReader15readElementTextENS_24ReadElementTextBehaviourE @ 851 NONAME + _ZN16QXmlStreamReader15readElementTextEv @ 852 NONAME + _ZN16QXmlStreamReader17setEntityResolverEP24QXmlStreamEntityResolver @ 853 NONAME + _ZN16QXmlStreamReader18skipCurrentElementEv @ 854 NONAME + _ZN16QXmlStreamReader20readNextStartElementEv @ 855 NONAME + _ZN16QXmlStreamReader22setNamespaceProcessingEb @ 856 NONAME + _ZN16QXmlStreamReader28addExtraNamespaceDeclarationERK30QXmlStreamNamespaceDeclaration @ 857 NONAME + _ZN16QXmlStreamReader29addExtraNamespaceDeclarationsERK7QVectorI30QXmlStreamNamespaceDeclarationE @ 858 NONAME + _ZN16QXmlStreamReader5clearEv @ 859 NONAME + _ZN16QXmlStreamReader7addDataEPKc @ 860 NONAME + _ZN16QXmlStreamReader7addDataERK10QByteArray @ 861 NONAME + _ZN16QXmlStreamReader7addDataERK7QString @ 862 NONAME + _ZN16QXmlStreamReader8readNextEv @ 863 NONAME + _ZN16QXmlStreamReader9setDeviceEP9QIODevice @ 864 NONAME + _ZN16QXmlStreamReaderC1EP9QIODevice @ 865 NONAME + _ZN16QXmlStreamReaderC1EPKc @ 866 NONAME + _ZN16QXmlStreamReaderC1ERK10QByteArray @ 867 NONAME + _ZN16QXmlStreamReaderC1ERK7QString @ 868 NONAME + _ZN16QXmlStreamReaderC1Ev @ 869 NONAME + _ZN16QXmlStreamReaderC2EP9QIODevice @ 870 NONAME + _ZN16QXmlStreamReaderC2EPKc @ 871 NONAME + _ZN16QXmlStreamReaderC2ERK10QByteArray @ 872 NONAME + _ZN16QXmlStreamReaderC2ERK7QString @ 873 NONAME + _ZN16QXmlStreamReaderC2Ev @ 874 NONAME + _ZN16QXmlStreamReaderD1Ev @ 875 NONAME + _ZN16QXmlStreamReaderD2Ev @ 876 NONAME + _ZN16QXmlStreamWriter10writeCDATAERK7QString @ 877 NONAME + _ZN16QXmlStreamWriter12writeCommentERK7QString @ 878 NONAME + _ZN16QXmlStreamWriter14writeAttributeERK19QXmlStreamAttribute @ 879 NONAME + _ZN16QXmlStreamWriter14writeAttributeERK7QStringS2_ @ 880 NONAME + _ZN16QXmlStreamWriter14writeAttributeERK7QStringS2_S2_ @ 881 NONAME + _ZN16QXmlStreamWriter14writeNamespaceERK7QStringS2_ @ 882 NONAME + _ZN16QXmlStreamWriter15writeAttributesERK20QXmlStreamAttributes @ 883 NONAME + _ZN16QXmlStreamWriter15writeCharactersERK7QString @ 884 NONAME + _ZN16QXmlStreamWriter15writeEndElementEv @ 885 NONAME + _ZN16QXmlStreamWriter16writeEndDocumentEv @ 886 NONAME + _ZN16QXmlStreamWriter16writeTextElementERK7QStringS2_ @ 887 NONAME + _ZN16QXmlStreamWriter16writeTextElementERK7QStringS2_S2_ @ 888 NONAME + _ZN16QXmlStreamWriter17setAutoFormattingEb @ 889 NONAME + _ZN16QXmlStreamWriter17writeCurrentTokenERK16QXmlStreamReader @ 890 NONAME + _ZN16QXmlStreamWriter17writeEmptyElementERK7QString @ 891 NONAME + _ZN16QXmlStreamWriter17writeEmptyElementERK7QStringS2_ @ 892 NONAME + _ZN16QXmlStreamWriter17writeStartElementERK7QString @ 893 NONAME + _ZN16QXmlStreamWriter17writeStartElementERK7QStringS2_ @ 894 NONAME + _ZN16QXmlStreamWriter18writeStartDocumentERK7QString @ 895 NONAME + _ZN16QXmlStreamWriter18writeStartDocumentERK7QStringb @ 896 NONAME + _ZN16QXmlStreamWriter18writeStartDocumentEv @ 897 NONAME + _ZN16QXmlStreamWriter20writeEntityReferenceERK7QString @ 898 NONAME + _ZN16QXmlStreamWriter21writeDefaultNamespaceERK7QString @ 899 NONAME + _ZN16QXmlStreamWriter23setAutoFormattingIndentEi @ 900 NONAME + _ZN16QXmlStreamWriter26writeProcessingInstructionERK7QStringS2_ @ 901 NONAME + _ZN16QXmlStreamWriter8setCodecEP10QTextCodec @ 902 NONAME + _ZN16QXmlStreamWriter8setCodecEPKc @ 903 NONAME + _ZN16QXmlStreamWriter8writeDTDERK7QString @ 904 NONAME + _ZN16QXmlStreamWriter9setDeviceEP9QIODevice @ 905 NONAME + _ZN16QXmlStreamWriterC1EP10QByteArray @ 906 NONAME + _ZN16QXmlStreamWriterC1EP7QString @ 907 NONAME + _ZN16QXmlStreamWriterC1EP9QIODevice @ 908 NONAME + _ZN16QXmlStreamWriterC1Ev @ 909 NONAME + _ZN16QXmlStreamWriterC2EP10QByteArray @ 910 NONAME + _ZN16QXmlStreamWriterC2EP7QString @ 911 NONAME + _ZN16QXmlStreamWriterC2EP9QIODevice @ 912 NONAME + _ZN16QXmlStreamWriterC2Ev @ 913 NONAME + _ZN16QXmlStreamWriterD1Ev @ 914 NONAME + _ZN16QXmlStreamWriterD2Ev @ 915 NONAME + _ZN17QByteArrayMatcher10setPatternERK10QByteArray @ 916 NONAME + _ZN17QByteArrayMatcherC1EPKci @ 917 NONAME + _ZN17QByteArrayMatcherC1ERK10QByteArray @ 918 NONAME + _ZN17QByteArrayMatcherC1ERKS_ @ 919 NONAME + _ZN17QByteArrayMatcherC1Ev @ 920 NONAME + _ZN17QByteArrayMatcherC2EPKci @ 921 NONAME + _ZN17QByteArrayMatcherC2ERK10QByteArray @ 922 NONAME + _ZN17QByteArrayMatcherC2ERKS_ @ 923 NONAME + _ZN17QByteArrayMatcherC2Ev @ 924 NONAME + _ZN17QByteArrayMatcherD1Ev @ 925 NONAME + _ZN17QByteArrayMatcherD2Ev @ 926 NONAME + _ZN17QByteArrayMatcheraSERKS_ @ 927 NONAME + _ZN17QSignalTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 928 NONAME + _ZN17QSignalTransition11qt_metacastEPKc @ 929 NONAME + _ZN17QSignalTransition12onTransitionEP6QEvent @ 930 NONAME + _ZN17QSignalTransition15setSenderObjectEP7QObject @ 931 NONAME + _ZN17QSignalTransition16staticMetaObjectE @ 932 NONAME DATA 16 + _ZN17QSignalTransition19getStaticMetaObjectEv @ 933 NONAME + _ZN17QSignalTransition5eventEP6QEvent @ 934 NONAME + _ZN17QSignalTransition9eventTestEP6QEvent @ 935 NONAME + _ZN17QSignalTransition9setSignalERK10QByteArray @ 936 NONAME + _ZN17QSignalTransitionC1EP6QState @ 937 NONAME + _ZN17QSignalTransitionC1EP7QObjectPKcP6QState @ 938 NONAME + _ZN17QSignalTransitionC2EP6QState @ 939 NONAME + _ZN17QSignalTransitionC2EP7QObjectPKcP6QState @ 940 NONAME + _ZN17QSignalTransitionD0Ev @ 941 NONAME + _ZN17QSignalTransitionD1Ev @ 942 NONAME + _ZN17QSignalTransitionD2Ev @ 943 NONAME + _ZN17QVariantAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 944 NONAME + _ZN17QVariantAnimation11qt_metacastEPKc @ 945 NONAME + _ZN17QVariantAnimation11setDurationEi @ 946 NONAME + _ZN17QVariantAnimation11setEndValueERK8QVariant @ 947 NONAME + _ZN17QVariantAnimation11updateStateEN18QAbstractAnimation5StateES1_ @ 948 NONAME + _ZN17QVariantAnimation12setKeyValuesERK7QVectorI5QPairIf8QVariantEE @ 949 NONAME + _ZN17QVariantAnimation12valueChangedERK8QVariant @ 950 NONAME + _ZN17QVariantAnimation13setKeyValueAtEfRK8QVariant @ 951 NONAME + _ZN17QVariantAnimation13setStartValueERK8QVariant @ 952 NONAME + _ZN17QVariantAnimation14setEasingCurveERK12QEasingCurve @ 953 NONAME + _ZN17QVariantAnimation16staticMetaObjectE @ 954 NONAME DATA 16 + _ZN17QVariantAnimation17updateCurrentTimeEi @ 955 NONAME + _ZN17QVariantAnimation19getStaticMetaObjectEv @ 956 NONAME + _ZN17QVariantAnimation20registerInterpolatorEPF8QVariantPKvS2_fEi @ 957 NONAME + _ZN17QVariantAnimation5eventEP6QEvent @ 958 NONAME + _ZN17QVariantAnimationC2EP7QObject @ 959 NONAME + _ZN17QVariantAnimationC2ER24QVariantAnimationPrivateP7QObject @ 960 NONAME + _ZN17QVariantAnimationD0Ev @ 961 NONAME + _ZN17QVariantAnimationD1Ev @ 962 NONAME + _ZN17QVariantAnimationD2Ev @ 963 NONAME + _ZN18QAbstractAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 964 NONAME + _ZN18QAbstractAnimation11qt_metacastEPKc @ 965 NONAME + _ZN18QAbstractAnimation11updateStateENS_5StateES0_ @ 966 NONAME + _ZN18QAbstractAnimation12setDirectionENS_9DirectionE @ 967 NONAME + _ZN18QAbstractAnimation12setLoopCountEi @ 968 NONAME + _ZN18QAbstractAnimation12stateChangedENS_5StateES0_ @ 969 NONAME + _ZN18QAbstractAnimation14setCurrentTimeEi @ 970 NONAME + _ZN18QAbstractAnimation15updateDirectionENS_9DirectionE @ 971 NONAME + _ZN18QAbstractAnimation16directionChangedENS_9DirectionE @ 972 NONAME + _ZN18QAbstractAnimation16staticMetaObjectE @ 973 NONAME DATA 16 + _ZN18QAbstractAnimation18currentLoopChangedEi @ 974 NONAME + _ZN18QAbstractAnimation19getStaticMetaObjectEv @ 975 NONAME + _ZN18QAbstractAnimation4stopEv @ 976 NONAME + _ZN18QAbstractAnimation5eventEP6QEvent @ 977 NONAME + _ZN18QAbstractAnimation5pauseEv @ 978 NONAME + _ZN18QAbstractAnimation5startENS_14DeletionPolicyE @ 979 NONAME + _ZN18QAbstractAnimation6resumeEv @ 980 NONAME + _ZN18QAbstractAnimation8finishedEv @ 981 NONAME + _ZN18QAbstractAnimationC2EP7QObject @ 982 NONAME + _ZN18QAbstractAnimationC2ER25QAbstractAnimationPrivateP7QObject @ 983 NONAME + _ZN18QAbstractAnimationD0Ev @ 984 NONAME + _ZN18QAbstractAnimationD1Ev @ 985 NONAME + _ZN18QAbstractAnimationD2Ev @ 986 NONAME + _ZN18QAbstractItemModel10decodeDataEiiRK11QModelIndexR11QDataStream @ 987 NONAME + _ZN18QAbstractItemModel10insertRowsEiiRK11QModelIndex @ 988 NONAME + _ZN18QAbstractItemModel10modelResetEv @ 989 NONAME + _ZN18QAbstractItemModel10removeRowsEiiRK11QModelIndex @ 990 NONAME + _ZN18QAbstractItemModel11dataChangedERK11QModelIndexS2_ @ 991 NONAME + _ZN18QAbstractItemModel11endMoveRowsEv @ 992 NONAME + _ZN18QAbstractItemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 993 NONAME + _ZN18QAbstractItemModel11qt_metacastEPKc @ 994 NONAME + _ZN18QAbstractItemModel11rowsRemovedERK11QModelIndexii @ 995 NONAME + _ZN18QAbstractItemModel11setItemDataERK11QModelIndexRK4QMapIi8QVariantE @ 996 NONAME + _ZN18QAbstractItemModel12columnsMovedERK11QModelIndexiiS2_i @ 997 NONAME + _ZN18QAbstractItemModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 998 NONAME + _ZN18QAbstractItemModel12rowsInsertedERK11QModelIndexii @ 999 NONAME + _ZN18QAbstractItemModel12setRoleNamesERK5QHashIi10QByteArrayE @ 1000 NONAME + _ZN18QAbstractItemModel13beginMoveRowsERK11QModelIndexiiS2_i @ 1001 NONAME + _ZN18QAbstractItemModel13endInsertRowsEv @ 1002 NONAME + _ZN18QAbstractItemModel13endRemoveRowsEv @ 1003 NONAME + _ZN18QAbstractItemModel13endResetModelEv @ 1004 NONAME + _ZN18QAbstractItemModel13insertColumnsEiiRK11QModelIndex @ 1005 NONAME + _ZN18QAbstractItemModel13layoutChangedEv @ 1006 NONAME + _ZN18QAbstractItemModel13removeColumnsEiiRK11QModelIndex @ 1007 NONAME + _ZN18QAbstractItemModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 1008 NONAME + _ZN18QAbstractItemModel14columnsRemovedERK11QModelIndexii @ 1009 NONAME + _ZN18QAbstractItemModel14endMoveColumnsEv @ 1010 NONAME + _ZN18QAbstractItemModel15beginInsertRowsERK11QModelIndexii @ 1011 NONAME + _ZN18QAbstractItemModel15beginRemoveRowsERK11QModelIndexii @ 1012 NONAME + _ZN18QAbstractItemModel15beginResetModelEv @ 1013 NONAME + _ZN18QAbstractItemModel15columnsInsertedERK11QModelIndexii @ 1014 NONAME + _ZN18QAbstractItemModel16beginMoveColumnsERK11QModelIndexiiS2_i @ 1015 NONAME + _ZN18QAbstractItemModel16endInsertColumnsEv @ 1016 NONAME + _ZN18QAbstractItemModel16endRemoveColumnsEv @ 1017 NONAME + _ZN18QAbstractItemModel16staticMetaObjectE @ 1018 NONAME DATA 16 + _ZN18QAbstractItemModel17headerDataChangedEN2Qt11OrientationEii @ 1019 NONAME + _ZN18QAbstractItemModel18beginInsertColumnsERK11QModelIndexii @ 1020 NONAME + _ZN18QAbstractItemModel18beginRemoveColumnsERK11QModelIndexii @ 1021 NONAME + _ZN18QAbstractItemModel18rowsAboutToBeMovedERK11QModelIndexiiS2_i @ 1022 NONAME + _ZN18QAbstractItemModel19getStaticMetaObjectEv @ 1023 NONAME + _ZN18QAbstractItemModel19modelAboutToBeResetEv @ 1024 NONAME + _ZN18QAbstractItemModel20rowsAboutToBeRemovedERK11QModelIndexii @ 1025 NONAME + _ZN18QAbstractItemModel21changePersistentIndexERK11QModelIndexS2_ @ 1026 NONAME + _ZN18QAbstractItemModel21columnsAboutToBeMovedERK11QModelIndexiiS2_i @ 1027 NONAME + _ZN18QAbstractItemModel21rowsAboutToBeInsertedERK11QModelIndexii @ 1028 NONAME + _ZN18QAbstractItemModel22layoutAboutToBeChangedEv @ 1029 NONAME + _ZN18QAbstractItemModel23columnsAboutToBeRemovedERK11QModelIndexii @ 1030 NONAME + _ZN18QAbstractItemModel23setSupportedDragActionsE6QFlagsIN2Qt10DropActionEE @ 1031 NONAME + _ZN18QAbstractItemModel24columnsAboutToBeInsertedERK11QModelIndexii @ 1032 NONAME + _ZN18QAbstractItemModel25changePersistentIndexListERK5QListI11QModelIndexES4_ @ 1033 NONAME + _ZN18QAbstractItemModel4sortEiN2Qt9SortOrderE @ 1034 NONAME + _ZN18QAbstractItemModel5resetEv @ 1035 NONAME + _ZN18QAbstractItemModel6revertEv @ 1036 NONAME + _ZN18QAbstractItemModel6submitEv @ 1037 NONAME + _ZN18QAbstractItemModel7setDataERK11QModelIndexRK8QVarianti @ 1038 NONAME + _ZN18QAbstractItemModel9fetchMoreERK11QModelIndex @ 1039 NONAME + _ZN18QAbstractItemModel9rowsMovedERK11QModelIndexiiS2_i @ 1040 NONAME + _ZN18QAbstractItemModelC2EP7QObject @ 1041 NONAME + _ZN18QAbstractItemModelC2ER25QAbstractItemModelPrivateP7QObject @ 1042 NONAME + _ZN18QAbstractItemModelD0Ev @ 1043 NONAME + _ZN18QAbstractItemModelD1Ev @ 1044 NONAME + _ZN18QAbstractItemModelD2Ev @ 1045 NONAME + _ZN18QAbstractListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1046 NONAME + _ZN18QAbstractListModel11qt_metacastEPKc @ 1047 NONAME + _ZN18QAbstractListModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 1048 NONAME + _ZN18QAbstractListModel16staticMetaObjectE @ 1049 NONAME DATA 16 + _ZN18QAbstractListModel19getStaticMetaObjectEv @ 1050 NONAME + _ZN18QAbstractListModelC2EP7QObject @ 1051 NONAME + _ZN18QAbstractListModelC2ER25QAbstractItemModelPrivateP7QObject @ 1052 NONAME + _ZN18QAbstractListModelD0Ev @ 1053 NONAME + _ZN18QAbstractListModelD1Ev @ 1054 NONAME + _ZN18QAbstractListModelD2Ev @ 1055 NONAME + _ZN18QCryptographicHash4hashERK10QByteArrayNS_9AlgorithmE @ 1056 NONAME + _ZN18QCryptographicHash5resetEv @ 1057 NONAME + _ZN18QCryptographicHash7addDataEPKci @ 1058 NONAME + _ZN18QCryptographicHash7addDataERK10QByteArray @ 1059 NONAME + _ZN18QCryptographicHashC1ENS_9AlgorithmE @ 1060 NONAME + _ZN18QCryptographicHashC2ENS_9AlgorithmE @ 1061 NONAME + _ZN18QCryptographicHashD1Ev @ 1062 NONAME + _ZN18QCryptographicHashD2Ev @ 1063 NONAME + _ZN18QFileSystemWatcher10removePathERK7QString @ 1064 NONAME + _ZN18QFileSystemWatcher11fileChangedERK7QString @ 1065 NONAME + _ZN18QFileSystemWatcher11qt_metacallEN11QMetaObject4CallEiPPv @ 1066 NONAME + _ZN18QFileSystemWatcher11qt_metacastEPKc @ 1067 NONAME + _ZN18QFileSystemWatcher11removePathsERK11QStringList @ 1068 NONAME + _ZN18QFileSystemWatcher16directoryChangedERK7QString @ 1069 NONAME + _ZN18QFileSystemWatcher16staticMetaObjectE @ 1070 NONAME DATA 16 + _ZN18QFileSystemWatcher19getStaticMetaObjectEv @ 1071 NONAME + _ZN18QFileSystemWatcher7addPathERK7QString @ 1072 NONAME + _ZN18QFileSystemWatcher8addPathsERK11QStringList @ 1073 NONAME + _ZN18QFileSystemWatcherC1EP7QObject @ 1074 NONAME + _ZN18QFileSystemWatcherC1ERK11QStringListP7QObject @ 1075 NONAME + _ZN18QFileSystemWatcherC2EP7QObject @ 1076 NONAME + _ZN18QFileSystemWatcherC2ERK11QStringListP7QObject @ 1077 NONAME + _ZN18QFileSystemWatcherD0Ev @ 1078 NONAME + _ZN18QFileSystemWatcherD1Ev @ 1079 NONAME + _ZN18QFileSystemWatcherD2Ev @ 1080 NONAME + _ZN18QPropertyAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 1081 NONAME + _ZN18QPropertyAnimation11qt_metacastEPKc @ 1082 NONAME + _ZN18QPropertyAnimation11updateStateEN18QAbstractAnimation5StateES1_ @ 1083 NONAME + _ZN18QPropertyAnimation15setPropertyNameERK10QByteArray @ 1084 NONAME + _ZN18QPropertyAnimation15setTargetObjectEP7QObject @ 1085 NONAME + _ZN18QPropertyAnimation16staticMetaObjectE @ 1086 NONAME DATA 16 + _ZN18QPropertyAnimation18updateCurrentValueERK8QVariant @ 1087 NONAME + _ZN18QPropertyAnimation19getStaticMetaObjectEv @ 1088 NONAME + _ZN18QPropertyAnimation5eventEP6QEvent @ 1089 NONAME + _ZN18QPropertyAnimationC1EP7QObject @ 1090 NONAME + _ZN18QPropertyAnimationC1EP7QObjectRK10QByteArrayS1_ @ 1091 NONAME + _ZN18QPropertyAnimationC2EP7QObject @ 1092 NONAME + _ZN18QPropertyAnimationC2EP7QObjectRK10QByteArrayS1_ @ 1093 NONAME + _ZN18QPropertyAnimationD0Ev @ 1094 NONAME + _ZN18QPropertyAnimationD1Ev @ 1095 NONAME + _ZN18QPropertyAnimationD2Ev @ 1096 NONAME + _ZN18QThreadStorageData3setEPv @ 1097 NONAME + _ZN18QThreadStorageData6finishEPPv @ 1098 NONAME + _ZN18QThreadStorageDataC1EPFvPvE @ 1099 NONAME + _ZN18QThreadStorageDataC2EPFvPvE @ 1100 NONAME + _ZN18QThreadStorageDataD1Ev @ 1101 NONAME + _ZN18QThreadStorageDataD2Ev @ 1102 NONAME + _ZN19QAbstractFileEngine11setFileNameERK7QString @ 1103 NONAME + _ZN19QAbstractFileEngine12endEntryListEv @ 1104 NONAME + _ZN19QAbstractFileEngine14beginEntryListE6QFlagsIN4QDir6FilterEERK11QStringList @ 1105 NONAME + _ZN19QAbstractFileEngine14setPermissionsEj @ 1106 NONAME + _ZN19QAbstractFileEngine3mapExxN5QFile14MemoryMapFlagsE @ 1107 NONAME + _ZN19QAbstractFileEngine4copyERK7QString @ 1108 NONAME + _ZN19QAbstractFileEngine4linkERK7QString @ 1109 NONAME + _ZN19QAbstractFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 1110 NONAME + _ZN19QAbstractFileEngine4readEPcx @ 1111 NONAME + _ZN19QAbstractFileEngine4seekEx @ 1112 NONAME + _ZN19QAbstractFileEngine5closeEv @ 1113 NONAME + _ZN19QAbstractFileEngine5flushEv @ 1114 NONAME + _ZN19QAbstractFileEngine5unmapEPh @ 1115 NONAME + _ZN19QAbstractFileEngine5writeEPKcx @ 1116 NONAME + _ZN19QAbstractFileEngine6createERK7QString @ 1117 NONAME + _ZN19QAbstractFileEngine6removeEv @ 1118 NONAME + _ZN19QAbstractFileEngine6renameERK7QString @ 1119 NONAME + _ZN19QAbstractFileEngine7setSizeEx @ 1120 NONAME + _ZN19QAbstractFileEngine8readLineEPcx @ 1121 NONAME + _ZN19QAbstractFileEngine8setErrorEN5QFile9FileErrorERK7QString @ 1122 NONAME + _ZN19QAbstractFileEngine9extensionENS_9ExtensionEPKNS_15ExtensionOptionEPNS_15ExtensionReturnE @ 1123 NONAME + _ZN19QAbstractFileEngineC1ER26QAbstractFileEnginePrivate @ 1124 NONAME + _ZN19QAbstractFileEngineC1Ev @ 1125 NONAME + _ZN19QAbstractFileEngineC2ER26QAbstractFileEnginePrivate @ 1126 NONAME + _ZN19QAbstractFileEngineC2Ev @ 1127 NONAME + _ZN19QAbstractFileEngineD0Ev @ 1128 NONAME + _ZN19QAbstractFileEngineD1Ev @ 1129 NONAME + _ZN19QAbstractFileEngineD2Ev @ 1130 NONAME + _ZN19QAbstractTableModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1131 NONAME + _ZN19QAbstractTableModel11qt_metacastEPKc @ 1132 NONAME + _ZN19QAbstractTableModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 1133 NONAME + _ZN19QAbstractTableModel16staticMetaObjectE @ 1134 NONAME DATA 16 + _ZN19QAbstractTableModel19getStaticMetaObjectEv @ 1135 NONAME + _ZN19QAbstractTableModelC2EP7QObject @ 1136 NONAME + _ZN19QAbstractTableModelC2ER25QAbstractItemModelPrivateP7QObject @ 1137 NONAME + _ZN19QAbstractTableModelD0Ev @ 1138 NONAME + _ZN19QAbstractTableModelD1Ev @ 1139 NONAME + _ZN19QAbstractTableModelD2Ev @ 1140 NONAME + _ZN19QAbstractTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 1141 NONAME + _ZN19QAbstractTransition11qt_metacastEPKc @ 1142 NONAME + _ZN19QAbstractTransition12addAnimationEP18QAbstractAnimation @ 1143 NONAME + _ZN19QAbstractTransition14setTargetStateEP14QAbstractState @ 1144 NONAME + _ZN19QAbstractTransition15removeAnimationEP18QAbstractAnimation @ 1145 NONAME + _ZN19QAbstractTransition15setTargetStatesERK5QListIP14QAbstractStateE @ 1146 NONAME + _ZN19QAbstractTransition16staticMetaObjectE @ 1147 NONAME DATA 16 + _ZN19QAbstractTransition19getStaticMetaObjectEv @ 1148 NONAME + _ZN19QAbstractTransition5eventEP6QEvent @ 1149 NONAME + _ZN19QAbstractTransition9triggeredEv @ 1150 NONAME + _ZN19QAbstractTransitionC2EP6QState @ 1151 NONAME + _ZN19QAbstractTransitionC2ER26QAbstractTransitionPrivateP6QState @ 1152 NONAME + _ZN19QAbstractTransitionD0Ev @ 1153 NONAME + _ZN19QAbstractTransitionD1Ev @ 1154 NONAME + _ZN19QAbstractTransitionD2Ev @ 1155 NONAME + _ZN19QProcessEnvironment17systemEnvironmentEv @ 1156 NONAME + _ZN19QProcessEnvironment5clearEv @ 1157 NONAME + _ZN19QProcessEnvironment6insertERK7QStringS2_ @ 1158 NONAME + _ZN19QProcessEnvironment6removeERK7QString @ 1159 NONAME + _ZN19QProcessEnvironmentC1ERKS_ @ 1160 NONAME + _ZN19QProcessEnvironmentC1Ev @ 1161 NONAME + _ZN19QProcessEnvironmentC2ERKS_ @ 1162 NONAME + _ZN19QProcessEnvironmentC2Ev @ 1163 NONAME + _ZN19QProcessEnvironmentD1Ev @ 1164 NONAME + _ZN19QProcessEnvironmentD2Ev @ 1165 NONAME + _ZN19QProcessEnvironmentaSERKS_ @ 1166 NONAME + _ZN19QTextBoundaryFinder11setPositionEi @ 1167 NONAME + _ZN19QTextBoundaryFinder14toNextBoundaryEv @ 1168 NONAME + _ZN19QTextBoundaryFinder18toPreviousBoundaryEv @ 1169 NONAME + _ZN19QTextBoundaryFinder5toEndEv @ 1170 NONAME + _ZN19QTextBoundaryFinder7toStartEv @ 1171 NONAME + _ZN19QTextBoundaryFinderC1ENS_12BoundaryTypeEPK5QChariPhi @ 1172 NONAME + _ZN19QTextBoundaryFinderC1ENS_12BoundaryTypeERK7QString @ 1173 NONAME + _ZN19QTextBoundaryFinderC1ERKS_ @ 1174 NONAME + _ZN19QTextBoundaryFinderC1Ev @ 1175 NONAME + _ZN19QTextBoundaryFinderC2ENS_12BoundaryTypeEPK5QChariPhi @ 1176 NONAME + _ZN19QTextBoundaryFinderC2ENS_12BoundaryTypeERK7QString @ 1177 NONAME + _ZN19QTextBoundaryFinderC2ERKS_ @ 1178 NONAME + _ZN19QTextBoundaryFinderC2Ev @ 1179 NONAME + _ZN19QTextBoundaryFinderD1Ev @ 1180 NONAME + _ZN19QTextBoundaryFinderD2Ev @ 1181 NONAME + _ZN19QTextBoundaryFinderaSERKS_ @ 1182 NONAME + _ZN19QXmlStreamAttributeC1ERK7QStringS2_ @ 1183 NONAME + _ZN19QXmlStreamAttributeC1ERK7QStringS2_S2_ @ 1184 NONAME + _ZN19QXmlStreamAttributeC1ERKS_ @ 1185 NONAME + _ZN19QXmlStreamAttributeC1Ev @ 1186 NONAME + _ZN19QXmlStreamAttributeC2ERK7QStringS2_ @ 1187 NONAME + _ZN19QXmlStreamAttributeC2ERK7QStringS2_S2_ @ 1188 NONAME + _ZN19QXmlStreamAttributeC2ERKS_ @ 1189 NONAME + _ZN19QXmlStreamAttributeC2Ev @ 1190 NONAME + _ZN19QXmlStreamAttributeD1Ev @ 1191 NONAME + _ZN19QXmlStreamAttributeD2Ev @ 1192 NONAME + _ZN19QXmlStreamAttributeaSERKS_ @ 1193 NONAME + _ZN20QStateMachinePrivate10_q_processEv @ 1194 NONAME + _ZN20QStateMachinePrivate10exitStatesEP6QEventRK5QListIP19QAbstractTransitionE @ 1195 NONAME + _ZN20QStateMachinePrivate10isParallelEPK14QAbstractState @ 1196 NONAME + _ZN20QStateMachinePrivate10startStateEv @ 1197 NONAME + _ZN20QStateMachinePrivate11enterStatesEP6QEventRK5QListIP19QAbstractTransitionE @ 1198 NONAME + _ZN20QStateMachinePrivate13processEventsENS_19EventProcessingModeE @ 1199 NONAME + _ZN20QStateMachinePrivate14findErrorStateEP14QAbstractState @ 1200 NONAME + _ZN20QStateMachinePrivate14isDescendantOfEPK14QAbstractStateS2_ @ 1201 NONAME + _ZN20QStateMachinePrivate15applyPropertiesERK5QListIP19QAbstractTransitionERKS0_IP14QAbstractStateESA_ @ 1202 NONAME + _ZN20QStateMachinePrivate15properAncestorsEPK14QAbstractStatePK6QState @ 1203 NONAME + _ZN20QStateMachinePrivate16addStatesToEnterEP14QAbstractStateP6QStateR4QSetIS1_ES6_ @ 1204 NONAME + _ZN20QStateMachinePrivate16removeStartStateEv @ 1205 NONAME + _ZN20QStateMachinePrivate17stateExitLessThanEP14QAbstractStateS1_ @ 1206 NONAME + _ZN20QStateMachinePrivate18registerRestorableEP7QObjectRK10QByteArray @ 1207 NONAME + _ZN20QStateMachinePrivate18stateEntryLessThanEP14QAbstractStateS1_ @ 1208 NONAME + _ZN20QStateMachinePrivate19handleFilteredEventEP7QObjectP6QEvent @ 1209 NONAME + _ZN20QStateMachinePrivate19initializeAnimationEP18QAbstractAnimationRK19QPropertyAssignment @ 1210 NONAME + _ZN20QStateMachinePrivate19registerTransitionsEP14QAbstractState @ 1211 NONAME + _ZN20QStateMachinePrivate20_q_animationFinishedEv @ 1212 NONAME + _ZN20QStateMachinePrivate20unregisterRestorableEP7QObjectRK10QByteArray @ 1213 NONAME + _ZN20QStateMachinePrivate20unregisterTransitionEP19QAbstractTransition @ 1214 NONAME + _ZN20QStateMachinePrivate22cancelAllDelayedEventsEv @ 1215 NONAME + _ZN20QStateMachinePrivate22handleTransitionSignalEP7QObjectiPPv @ 1216 NONAME + _ZN20QStateMachinePrivate23registerEventTransitionEP16QEventTransition @ 1217 NONAME + _ZN20QStateMachinePrivate24executeTransitionContentEP6QEventRK5QListIP19QAbstractTransitionE @ 1218 NONAME + _ZN20QStateMachinePrivate24registerSignalTransitionEP17QSignalTransition @ 1219 NONAME + _ZN20QStateMachinePrivate24unregisterAllTransitionsEv @ 1220 NONAME + _ZN20QStateMachinePrivate25unregisterEventTransitionEP16QEventTransition @ 1221 NONAME + _ZN20QStateMachinePrivate26unregisterSignalTransitionEP17QSignalTransition @ 1222 NONAME + _ZN20QStateMachinePrivate3getEP13QStateMachine @ 1223 NONAME + _ZN20QStateMachinePrivate7handlerE @ 1224 NONAME DATA 4 + _ZN20QStateMachinePrivate7isFinalEPK14QAbstractState @ 1225 NONAME + _ZN20QStateMachinePrivate8_q_startEv @ 1226 NONAME + _ZN20QStateMachinePrivate8setErrorEN13QStateMachine5ErrorEP14QAbstractState @ 1227 NONAME + _ZN20QStateMachinePrivate9goToStateEP14QAbstractState @ 1228 NONAME + _ZN20QStateMachinePrivate9microstepEP6QEventRK5QListIP19QAbstractTransitionE @ 1229 NONAME + _ZN20QStateMachinePrivateC1Ev @ 1230 NONAME + _ZN20QStateMachinePrivateC2Ev @ 1231 NONAME + _ZN20QStateMachinePrivateD0Ev @ 1232 NONAME + _ZN20QStateMachinePrivateD1Ev @ 1233 NONAME + _ZN20QStateMachinePrivateD2Ev @ 1234 NONAME + _ZN20QXmlStreamAttributes6appendERK7QStringS2_ @ 1235 NONAME + _ZN20QXmlStreamAttributes6appendERK7QStringS2_S2_ @ 1236 NONAME + _ZN21QObjectCleanupHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 1237 NONAME + _ZN21QObjectCleanupHandler11qt_metacastEPKc @ 1238 NONAME + _ZN21QObjectCleanupHandler15objectDestroyedEP7QObject @ 1239 NONAME + _ZN21QObjectCleanupHandler16staticMetaObjectE @ 1240 NONAME DATA 16 + _ZN21QObjectCleanupHandler19getStaticMetaObjectEv @ 1241 NONAME + _ZN21QObjectCleanupHandler3addEP7QObject @ 1242 NONAME + _ZN21QObjectCleanupHandler5clearEv @ 1243 NONAME + _ZN21QObjectCleanupHandler6removeEP7QObject @ 1244 NONAME + _ZN21QObjectCleanupHandlerC1Ev @ 1245 NONAME + _ZN21QObjectCleanupHandlerC2Ev @ 1246 NONAME + _ZN21QObjectCleanupHandlerD0Ev @ 1247 NONAME + _ZN21QObjectCleanupHandlerD1Ev @ 1248 NONAME + _ZN21QObjectCleanupHandlerD2Ev @ 1249 NONAME + _ZN21QPersistentModelIndexC1ERK11QModelIndex @ 1250 NONAME + _ZN21QPersistentModelIndexC1ERKS_ @ 1251 NONAME + _ZN21QPersistentModelIndexC1Ev @ 1252 NONAME + _ZN21QPersistentModelIndexC2ERK11QModelIndex @ 1253 NONAME + _ZN21QPersistentModelIndexC2ERKS_ @ 1254 NONAME + _ZN21QPersistentModelIndexC2Ev @ 1255 NONAME + _ZN21QPersistentModelIndexD1Ev @ 1256 NONAME + _ZN21QPersistentModelIndexD2Ev @ 1257 NONAME + _ZN21QPersistentModelIndexaSERK11QModelIndex @ 1258 NONAME + _ZN21QPersistentModelIndexaSERKS_ @ 1259 NONAME + _ZN23QCoreApplicationPrivate10mainThreadEv @ 1260 NONAME + _ZN23QCoreApplicationPrivate13checkInstanceEPKc @ 1261 NONAME + _ZN23QCoreApplicationPrivate13notify_helperEP7QObjectP6QEvent @ 1262 NONAME + _ZN23QCoreApplicationPrivate13theMainThreadE @ 1263 NONAME DATA 4 + _ZN23QCoreApplicationPrivate14is_app_closingE @ 1264 NONAME DATA 1 + _ZN23QCoreApplicationPrivate14is_app_runningE @ 1265 NONAME DATA 1 + _ZN23QCoreApplicationPrivate15eventDispatcherE @ 1266 NONAME DATA 4 + _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData @ 1267 NONAME + _ZN23QCoreApplicationPrivate17removePostedEventEP6QEvent @ 1268 NONAME + _ZN23QCoreApplicationPrivate19checkReceiverThreadEP7QObject @ 1269 NONAME + _ZN23QCoreApplicationPrivate21createEventDispatcherEv @ 1270 NONAME + _ZN23QCoreApplicationPrivate21isTranslatorInstalledEP11QTranslator @ 1271 NONAME + _ZN23QCoreApplicationPrivate29sendThroughObjectEventFiltersEP7QObjectP6QEvent @ 1272 NONAME + _ZN23QCoreApplicationPrivate34sendThroughApplicationEventFiltersEP7QObjectP6QEvent @ 1273 NONAME + _ZN23QCoreApplicationPrivate35appendApplicationPathToLibraryPathsEv @ 1274 NONAME + _ZN23QCoreApplicationPrivate7attribsE @ 1275 NONAME DATA 4 + _ZN23QCoreApplicationPrivateC1ERiPPc @ 1276 NONAME + _ZN23QCoreApplicationPrivateC2ERiPPc @ 1277 NONAME + _ZN23QCoreApplicationPrivateD0Ev @ 1278 NONAME + _ZN23QCoreApplicationPrivateD1Ev @ 1279 NONAME + _ZN23QCoreApplicationPrivateD2Ev @ 1280 NONAME + _ZN23QEventDispatcherSymbian10startingUpEv @ 1281 NONAME + _ZN23QEventDispatcherSymbian10timerFiredEi @ 1282 NONAME + _ZN23QEventDispatcherSymbian11closingDownEv @ 1283 NONAME + _ZN23QEventDispatcherSymbian11socketFiredEP19QSocketActiveObject @ 1284 NONAME + _ZN23QEventDispatcherSymbian13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE @ 1285 NONAME + _ZN23QEventDispatcherSymbian13registerTimerEiiP7QObject @ 1286 NONAME + _ZN23QEventDispatcherSymbian15unregisterTimerEi @ 1287 NONAME + _ZN23QEventDispatcherSymbian15wakeUpWasCalledEv @ 1288 NONAME + _ZN23QEventDispatcherSymbian16hasPendingEventsEv @ 1289 NONAME + _ZN23QEventDispatcherSymbian16sendPostedEventsEv @ 1290 NONAME + _ZN23QEventDispatcherSymbian16unregisterTimersEP7QObject @ 1291 NONAME + _ZN23QEventDispatcherSymbian22registerSocketNotifierEP15QSocketNotifier @ 1292 NONAME + _ZN23QEventDispatcherSymbian24reactivateSocketNotifierEP15QSocketNotifier @ 1293 NONAME + _ZN23QEventDispatcherSymbian24sendDeferredSocketEventsEv @ 1294 NONAME + _ZN23QEventDispatcherSymbian24unregisterSocketNotifierEP15QSocketNotifier @ 1295 NONAME + _ZN23QEventDispatcherSymbian31reactivateDeferredActiveObjectsEv @ 1296 NONAME + _ZN23QEventDispatcherSymbian5flushEv @ 1297 NONAME + _ZN23QEventDispatcherSymbian6wakeUpEv @ 1298 NONAME + _ZN23QEventDispatcherSymbian9interruptEv @ 1299 NONAME + _ZN23QEventDispatcherSymbianC1EP7QObject @ 1300 NONAME + _ZN23QEventDispatcherSymbianC2EP7QObject @ 1301 NONAME + _ZN23QEventDispatcherSymbianD0Ev @ 1302 NONAME + _ZN23QEventDispatcherSymbianD1Ev @ 1303 NONAME + _ZN23QEventDispatcherSymbianD2Ev @ 1304 NONAME + _ZN23QEventTransitionPrivate10unregisterEv @ 1305 NONAME + _ZN23QEventTransitionPrivate13maybeRegisterEv @ 1306 NONAME + _ZN23QEventTransitionPrivate3getEP16QEventTransition @ 1307 NONAME + _ZN23QEventTransitionPrivateC1Ev @ 1308 NONAME + _ZN23QEventTransitionPrivateC2Ev @ 1309 NONAME + _ZN23QParallelAnimationGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1310 NONAME + _ZN23QParallelAnimationGroup11qt_metacastEPKc @ 1311 NONAME + _ZN23QParallelAnimationGroup11updateStateEN18QAbstractAnimation5StateES1_ @ 1312 NONAME + _ZN23QParallelAnimationGroup15updateDirectionEN18QAbstractAnimation9DirectionE @ 1313 NONAME + _ZN23QParallelAnimationGroup16staticMetaObjectE @ 1314 NONAME DATA 16 + _ZN23QParallelAnimationGroup17updateCurrentTimeEi @ 1315 NONAME + _ZN23QParallelAnimationGroup19getStaticMetaObjectEv @ 1316 NONAME + _ZN23QParallelAnimationGroup5eventEP6QEvent @ 1317 NONAME + _ZN23QParallelAnimationGroupC1EP7QObject @ 1318 NONAME + _ZN23QParallelAnimationGroupC1ER30QParallelAnimationGroupPrivateP7QObject @ 1319 NONAME + _ZN23QParallelAnimationGroupC2EP7QObject @ 1320 NONAME + _ZN23QParallelAnimationGroupC2ER30QParallelAnimationGroupPrivateP7QObject @ 1321 NONAME + _ZN23QParallelAnimationGroupD0Ev @ 1322 NONAME + _ZN23QParallelAnimationGroupD1Ev @ 1323 NONAME + _ZN23QParallelAnimationGroupD2Ev @ 1324 NONAME + _ZN24QAbstractEventDispatcher10startingUpEv @ 1325 NONAME + _ZN24QAbstractEventDispatcher11closingDownEv @ 1326 NONAME + _ZN24QAbstractEventDispatcher11filterEventEPv @ 1327 NONAME + _ZN24QAbstractEventDispatcher11qt_metacallEN11QMetaObject4CallEiPPv @ 1328 NONAME + _ZN24QAbstractEventDispatcher11qt_metacastEPKc @ 1329 NONAME + _ZN24QAbstractEventDispatcher12aboutToBlockEv @ 1330 NONAME + _ZN24QAbstractEventDispatcher13registerTimerEiP7QObject @ 1331 NONAME + _ZN24QAbstractEventDispatcher14setEventFilterEPFbPvE @ 1332 NONAME + _ZN24QAbstractEventDispatcher16staticMetaObjectE @ 1333 NONAME DATA 16 + _ZN24QAbstractEventDispatcher19getStaticMetaObjectEv @ 1334 NONAME + _ZN24QAbstractEventDispatcher5awakeEv @ 1335 NONAME + _ZN24QAbstractEventDispatcher8instanceEP7QThread @ 1336 NONAME + _ZN24QAbstractEventDispatcherC2EP7QObject @ 1337 NONAME + _ZN24QAbstractEventDispatcherC2ER31QAbstractEventDispatcherPrivateP7QObject @ 1338 NONAME + _ZN24QAbstractEventDispatcherD0Ev @ 1339 NONAME + _ZN24QAbstractEventDispatcherD1Ev @ 1340 NONAME + _ZN24QAbstractEventDispatcherD2Ev @ 1341 NONAME + _ZN24QNonContiguousByteDevice11qt_metacallEN11QMetaObject4CallEiPPv @ 1342 NONAME + _ZN24QNonContiguousByteDevice11qt_metacastEPKc @ 1343 NONAME + _ZN24QNonContiguousByteDevice12disableResetEv @ 1344 NONAME + _ZN24QNonContiguousByteDevice12readProgressExx @ 1345 NONAME + _ZN24QNonContiguousByteDevice16staticMetaObjectE @ 1346 NONAME DATA 16 + _ZN24QNonContiguousByteDevice19getStaticMetaObjectEv @ 1347 NONAME + _ZN24QNonContiguousByteDevice9readyReadEv @ 1348 NONAME + _ZN24QNonContiguousByteDeviceC2Ev @ 1349 NONAME + _ZN24QNonContiguousByteDeviceD0Ev @ 1350 NONAME + _ZN24QNonContiguousByteDeviceD1Ev @ 1351 NONAME + _ZN24QNonContiguousByteDeviceD2Ev @ 1352 NONAME + _ZN24QVariantAnimationPrivate15getInterpolatorEi @ 1353 NONAME + _ZN24QXmlStreamEntityResolver13resolveEntityERK7QStringS2_ @ 1354 NONAME + _ZN24QXmlStreamEntityResolver23resolveUndeclaredEntityERK7QString @ 1355 NONAME + _ZN24QXmlStreamEntityResolverD0Ev @ 1356 NONAME + _ZN24QXmlStreamEntityResolverD1Ev @ 1357 NONAME + _ZN24QXmlStreamEntityResolverD2Ev @ 1358 NONAME + _ZN25QAbstractItemModelPrivate10itemsMovedERK11QModelIndexiiS2_iN2Qt11OrientationE @ 1359 NONAME + _ZN25QAbstractItemModelPrivate11rowsRemovedERK11QModelIndexii @ 1360 NONAME + _ZN25QAbstractItemModelPrivate12rowsInsertedERK11QModelIndexii @ 1361 NONAME + _ZN25QAbstractItemModelPrivate14columnsRemovedERK11QModelIndexii @ 1362 NONAME + _ZN25QAbstractItemModelPrivate15columnsInsertedERK11QModelIndexii @ 1363 NONAME + _ZN25QAbstractItemModelPrivate15variantLessThanERK8QVariantS2_ @ 1364 NONAME + _ZN25QAbstractItemModelPrivate16defaultRoleNamesEv @ 1365 NONAME + _ZN25QAbstractItemModelPrivate16staticEmptyModelEv @ 1366 NONAME + _ZN25QAbstractItemModelPrivate19itemsAboutToBeMovedERK11QModelIndexiiS2_iN2Qt11OrientationE @ 1367 NONAME + _ZN25QAbstractItemModelPrivate20rowsAboutToBeRemovedERK11QModelIndexii @ 1368 NONAME + _ZN25QAbstractItemModelPrivate21movePersistentIndexesE7QVectorIP25QPersistentModelIndexDataEiRK11QModelIndexN2Qt11OrientationE @ 1369 NONAME + _ZN25QAbstractItemModelPrivate21rowsAboutToBeInsertedERK11QModelIndexii @ 1370 NONAME + _ZN25QAbstractItemModelPrivate23columnsAboutToBeRemovedERK11QModelIndexii @ 1371 NONAME + _ZN25QAbstractItemModelPrivate24columnsAboutToBeInsertedERK11QModelIndexii @ 1372 NONAME + _ZN25QAbstractItemModelPrivate25removePersistentIndexDataEP25QPersistentModelIndexData @ 1373 NONAME + _ZN25QAbstractItemModelPrivate9allowMoveERK11QModelIndexiiS2_iN2Qt11OrientationE @ 1374 NONAME + _ZN25QSequentialAnimationGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1375 NONAME + _ZN25QSequentialAnimationGroup11qt_metacastEPKc @ 1376 NONAME + _ZN25QSequentialAnimationGroup11updateStateEN18QAbstractAnimation5StateES1_ @ 1377 NONAME + _ZN25QSequentialAnimationGroup13insertPauseAtEii @ 1378 NONAME + _ZN25QSequentialAnimationGroup15updateDirectionEN18QAbstractAnimation9DirectionE @ 1379 NONAME + _ZN25QSequentialAnimationGroup16staticMetaObjectE @ 1380 NONAME DATA 16 + _ZN25QSequentialAnimationGroup17updateCurrentTimeEi @ 1381 NONAME + _ZN25QSequentialAnimationGroup19getStaticMetaObjectEv @ 1382 NONAME + _ZN25QSequentialAnimationGroup23currentAnimationChangedEP18QAbstractAnimation @ 1383 NONAME + _ZN25QSequentialAnimationGroup5eventEP6QEvent @ 1384 NONAME + _ZN25QSequentialAnimationGroup8addPauseEi @ 1385 NONAME + _ZN25QSequentialAnimationGroupC1EP7QObject @ 1386 NONAME + _ZN25QSequentialAnimationGroupC1ER32QSequentialAnimationGroupPrivateP7QObject @ 1387 NONAME + _ZN25QSequentialAnimationGroupC2EP7QObject @ 1388 NONAME + _ZN25QSequentialAnimationGroupC2ER32QSequentialAnimationGroupPrivateP7QObject @ 1389 NONAME + _ZN25QSequentialAnimationGroupD0Ev @ 1390 NONAME + _ZN25QSequentialAnimationGroupD1Ev @ 1391 NONAME + _ZN25QSequentialAnimationGroupD2Ev @ 1392 NONAME + _ZN26QAbstractFileEngineHandlerC2Ev @ 1393 NONAME + _ZN26QAbstractFileEngineHandlerD0Ev @ 1394 NONAME + _ZN26QAbstractFileEngineHandlerD1Ev @ 1395 NONAME + _ZN26QAbstractFileEngineHandlerD2Ev @ 1396 NONAME + _ZN26QAbstractTransitionPrivate13callEventTestEP6QEvent @ 1397 NONAME + _ZN26QAbstractTransitionPrivate13emitTriggeredEv @ 1398 NONAME + _ZN26QAbstractTransitionPrivate16callOnTransitionEP6QEvent @ 1399 NONAME + _ZN26QAbstractTransitionPrivate3getEP19QAbstractTransition @ 1400 NONAME + _ZN26QAbstractTransitionPrivateC1Ev @ 1401 NONAME + _ZN26QAbstractTransitionPrivateC2Ev @ 1402 NONAME + _ZN27QAbstractFileEngineIterator7setPathERK7QString @ 1403 NONAME + _ZN27QAbstractFileEngineIteratorC2E6QFlagsIN4QDir6FilterEERK11QStringList @ 1404 NONAME + _ZN27QAbstractFileEngineIteratorD0Ev @ 1405 NONAME + _ZN27QAbstractFileEngineIteratorD1Ev @ 1406 NONAME + _ZN27QAbstractFileEngineIteratorD2Ev @ 1407 NONAME + _ZN27QDynamicPropertyChangeEventC1ERK10QByteArray @ 1408 NONAME + _ZN27QDynamicPropertyChangeEventC2ERK10QByteArray @ 1409 NONAME + _ZN27QDynamicPropertyChangeEventD0Ev @ 1410 NONAME + _ZN27QDynamicPropertyChangeEventD1Ev @ 1411 NONAME + _ZN27QDynamicPropertyChangeEventD2Ev @ 1412 NONAME + _ZN27QXmlStreamEntityDeclarationC1ERKS_ @ 1413 NONAME + _ZN27QXmlStreamEntityDeclarationC1Ev @ 1414 NONAME + _ZN27QXmlStreamEntityDeclarationC2ERKS_ @ 1415 NONAME + _ZN27QXmlStreamEntityDeclarationC2Ev @ 1416 NONAME + _ZN27QXmlStreamEntityDeclarationD1Ev @ 1417 NONAME + _ZN27QXmlStreamEntityDeclarationD2Ev @ 1418 NONAME + _ZN27QXmlStreamEntityDeclarationaSERKS_ @ 1419 NONAME + _ZN29QXmlStreamNotationDeclarationC1ERKS_ @ 1420 NONAME + _ZN29QXmlStreamNotationDeclarationC1Ev @ 1421 NONAME + _ZN29QXmlStreamNotationDeclarationC2ERKS_ @ 1422 NONAME + _ZN29QXmlStreamNotationDeclarationC2Ev @ 1423 NONAME + _ZN29QXmlStreamNotationDeclarationD1Ev @ 1424 NONAME + _ZN29QXmlStreamNotationDeclarationD2Ev @ 1425 NONAME + _ZN29QXmlStreamNotationDeclarationaSERKS_ @ 1426 NONAME + _ZN30QXmlStreamNamespaceDeclarationC1ERK7QStringS2_ @ 1427 NONAME + _ZN30QXmlStreamNamespaceDeclarationC1ERKS_ @ 1428 NONAME + _ZN30QXmlStreamNamespaceDeclarationC1Ev @ 1429 NONAME + _ZN30QXmlStreamNamespaceDeclarationC2ERK7QStringS2_ @ 1430 NONAME + _ZN30QXmlStreamNamespaceDeclarationC2ERKS_ @ 1431 NONAME + _ZN30QXmlStreamNamespaceDeclarationC2Ev @ 1432 NONAME + _ZN30QXmlStreamNamespaceDeclarationD1Ev @ 1433 NONAME + _ZN30QXmlStreamNamespaceDeclarationD2Ev @ 1434 NONAME + _ZN30QXmlStreamNamespaceDeclarationaSERKS_ @ 1435 NONAME + _ZN31QAbstractEventDispatcherPrivate14releaseTimerIdEi @ 1436 NONAME + _ZN31QAbstractEventDispatcherPrivate15allocateTimerIdEv @ 1437 NONAME + _ZN31QAbstractEventDispatcherPrivate4initEv @ 1438 NONAME + _ZN31QNonContiguousByteDeviceFactory4wrapEP24QNonContiguousByteDevice @ 1439 NONAME + _ZN31QNonContiguousByteDeviceFactory6createEP10QByteArray @ 1440 NONAME + _ZN31QNonContiguousByteDeviceFactory6createEP11QRingBuffer @ 1441 NONAME + _ZN31QNonContiguousByteDeviceFactory6createEP9QIODevice @ 1442 NONAME + _ZN4QDir10setCurrentERK7QString @ 1443 NONAME + _ZN4QDir10setSortingE6QFlagsINS_8SortFlagEE @ 1444 NONAME + _ZN4QDir11currentPathEv @ 1445 NONAME + _ZN4QDir11searchPathsERK7QString @ 1446 NONAME + _ZN4QDir12makeAbsoluteEv @ 1447 NONAME + _ZN4QDir13addSearchPathERK7QStringS2_ @ 1448 NONAME + _ZN4QDir14isRelativePathERK7QString @ 1449 NONAME + _ZN4QDir14setNameFiltersERK11QStringList @ 1450 NONAME + _ZN4QDir14setSearchPathsERK7QStringRK11QStringList @ 1451 NONAME + _ZN4QDir17convertSeparatorsERK7QString @ 1452 NONAME + _ZN4QDir18toNativeSeparatorsERK7QString @ 1453 NONAME + _ZN4QDir20fromNativeSeparatorsERK7QString @ 1454 NONAME + _ZN4QDir21addResourceSearchPathERK7QString @ 1455 NONAME + _ZN4QDir21nameFiltersFromStringERK7QString @ 1456 NONAME + _ZN4QDir2cdERK7QString @ 1457 NONAME + _ZN4QDir4cdUpEv @ 1458 NONAME + _ZN4QDir5matchERK11QStringListRK7QString @ 1459 NONAME + _ZN4QDir5matchERK7QStringS2_ @ 1460 NONAME + _ZN4QDir6drivesEv @ 1461 NONAME + _ZN4QDir6removeERK7QString @ 1462 NONAME + _ZN4QDir6renameERK7QStringS2_ @ 1463 NONAME + _ZN4QDir7setPathERK7QString @ 1464 NONAME + _ZN4QDir8homePathEv @ 1465 NONAME + _ZN4QDir8rootPathEv @ 1466 NONAME + _ZN4QDir8tempPathEv @ 1467 NONAME + _ZN4QDir9cleanPathERK7QString @ 1468 NONAME + _ZN4QDir9separatorEv @ 1469 NONAME + _ZN4QDir9setFilterE6QFlagsINS_6FilterEE @ 1470 NONAME + _ZN4QDirC1ERK7QString @ 1471 NONAME + _ZN4QDirC1ERK7QStringS2_6QFlagsINS_8SortFlagEES3_INS_6FilterEE @ 1472 NONAME + _ZN4QDirC1ERKS_ @ 1473 NONAME + _ZN4QDirC2ERK7QString @ 1474 NONAME + _ZN4QDirC2ERK7QStringS2_6QFlagsINS_8SortFlagEES3_INS_6FilterEE @ 1475 NONAME + _ZN4QDirC2ERKS_ @ 1476 NONAME + _ZN4QDirD1Ev @ 1477 NONAME + _ZN4QDirD2Ev @ 1478 NONAME + _ZN4QDiraSERK7QString @ 1479 NONAME + _ZN4QDiraSERKS_ @ 1480 NONAME + _ZN4QUrl10toPunycodeERK7QString @ 1481 NONAME + _ZN4QUrl11fromEncodedERK10QByteArray @ 1482 NONAME + _ZN4QUrl11fromEncodedERK10QByteArrayNS_11ParsingModeE @ 1483 NONAME + _ZN4QUrl11setFragmentERK7QString @ 1484 NONAME + _ZN4QUrl11setPasswordERK7QString @ 1485 NONAME + _ZN4QUrl11setUserInfoERK7QString @ 1486 NONAME + _ZN4QUrl11setUserNameERK7QString @ 1487 NONAME + _ZN4QUrl12addQueryItemERK7QStringS2_ @ 1488 NONAME + _ZN4QUrl12fromPunycodeERK10QByteArray @ 1489 NONAME + _ZN4QUrl12idnWhitelistEv @ 1490 NONAME + _ZN4QUrl12setAuthorityERK7QString @ 1491 NONAME + _ZN4QUrl13fromLocalFileERK7QString @ 1492 NONAME + _ZN4QUrl13fromUserInputERK7QString @ 1493 NONAME + _ZN4QUrl13setEncodedUrlERK10QByteArray @ 1494 NONAME + _ZN4QUrl13setEncodedUrlERK10QByteArrayNS_11ParsingModeE @ 1495 NONAME + _ZN4QUrl13setQueryItemsERK5QListI5QPairI7QStringS2_EE @ 1496 NONAME + _ZN4QUrl14setEncodedHostERK10QByteArray @ 1497 NONAME + _ZN4QUrl14setEncodedPathERK10QByteArray @ 1498 NONAME + _ZN4QUrl15removeQueryItemERK7QString @ 1499 NONAME + _ZN4QUrl15setEncodedQueryERK10QByteArray @ 1500 NONAME + _ZN4QUrl15setIdnWhitelistERK11QStringList @ 1501 NONAME + _ZN4QUrl17toPercentEncodingERK7QStringRK10QByteArrayS5_ @ 1502 NONAME + _ZN4QUrl18setEncodedFragmentERK10QByteArray @ 1503 NONAME + _ZN4QUrl18setEncodedPasswordERK10QByteArray @ 1504 NONAME + _ZN4QUrl18setEncodedUserNameERK10QByteArray @ 1505 NONAME + _ZN4QUrl18setQueryDelimitersEcc @ 1506 NONAME + _ZN4QUrl19addEncodedQueryItemERK10QByteArrayS2_ @ 1507 NONAME + _ZN4QUrl19fromPercentEncodingERK10QByteArray @ 1508 NONAME + _ZN4QUrl19removeAllQueryItemsERK7QString @ 1509 NONAME + _ZN4QUrl20setEncodedQueryItemsERK5QListI5QPairI10QByteArrayS2_EE @ 1510 NONAME + _ZN4QUrl22removeEncodedQueryItemERK10QByteArray @ 1511 NONAME + _ZN4QUrl26removeAllEncodedQueryItemsERK10QByteArray @ 1512 NONAME + _ZN4QUrl5clearEv @ 1513 NONAME + _ZN4QUrl5toAceERK7QString @ 1514 NONAME + _ZN4QUrl6detachEv @ 1515 NONAME + _ZN4QUrl6setUrlERK7QString @ 1516 NONAME + _ZN4QUrl6setUrlERK7QStringNS_11ParsingModeE @ 1517 NONAME + _ZN4QUrl7fromAceERK10QByteArray @ 1518 NONAME + _ZN4QUrl7setHostERK7QString @ 1519 NONAME + _ZN4QUrl7setPathERK7QString @ 1520 NONAME + _ZN4QUrl7setPortEi @ 1521 NONAME + _ZN4QUrl9setSchemeERK7QString @ 1522 NONAME + _ZN4QUrlC1ERK7QString @ 1523 NONAME + _ZN4QUrlC1ERK7QStringNS_11ParsingModeE @ 1524 NONAME + _ZN4QUrlC1ERKS_ @ 1525 NONAME + _ZN4QUrlC1Ev @ 1526 NONAME + _ZN4QUrlC2ERK7QString @ 1527 NONAME + _ZN4QUrlC2ERK7QStringNS_11ParsingModeE @ 1528 NONAME + _ZN4QUrlC2ERKS_ @ 1529 NONAME + _ZN4QUrlC2Ev @ 1530 NONAME + _ZN4QUrlD1Ev @ 1531 NONAME + _ZN4QUrlD2Ev @ 1532 NONAME + _ZN4QUrlaSERK7QString @ 1533 NONAME + _ZN4QUrlaSERKS_ @ 1534 NONAME + _ZN5QChar10digitValueEj @ 1535 NONAME + _ZN5QChar10digitValueEt @ 1536 NONAME + _ZN5QChar11toTitleCaseEj @ 1537 NONAME + _ZN5QChar11toTitleCaseEt @ 1538 NONAME + _ZN5QChar12mirroredCharEj @ 1539 NONAME + _ZN5QChar12mirroredCharEt @ 1540 NONAME + _ZN5QChar12toCaseFoldedEj @ 1541 NONAME + _ZN5QChar12toCaseFoldedEt @ 1542 NONAME + _ZN5QChar13decompositionEj @ 1543 NONAME + _ZN5QChar14combiningClassEj @ 1544 NONAME + _ZN5QChar14combiningClassEt @ 1545 NONAME + _ZN5QChar14unicodeVersionEj @ 1546 NONAME + _ZN5QChar14unicodeVersionEt @ 1547 NONAME + _ZN5QChar16decompositionTagEj @ 1548 NONAME + _ZN5QChar7joiningEj @ 1549 NONAME + _ZN5QChar7joiningEt @ 1550 NONAME + _ZN5QChar7toLowerEj @ 1551 NONAME + _ZN5QChar7toLowerEt @ 1552 NONAME + _ZN5QChar7toUpperEj @ 1553 NONAME + _ZN5QChar7toUpperEt @ 1554 NONAME + _ZN5QChar8categoryEj @ 1555 NONAME + _ZN5QChar8categoryEt @ 1556 NONAME + _ZN5QChar9directionEj @ 1557 NONAME + _ZN5QChar9directionEt @ 1558 NONAME + _ZN5QChar9fromAsciiEc @ 1559 NONAME + _ZN5QCharC1Ec @ 1560 NONAME + _ZN5QCharC1Eh @ 1561 NONAME + _ZN5QCharC2Ec @ 1562 NONAME + _ZN5QCharC2Eh @ 1563 NONAME + _ZN5QDate10fromStringERK7QStringN2Qt10DateFormatE @ 1564 NONAME + _ZN5QDate10fromStringERK7QStringS2_ @ 1565 NONAME + _ZN5QDate10isLeapYearEi @ 1566 NONAME + _ZN5QDate11currentDateEv @ 1567 NONAME + _ZN5QDate11longDayNameEi @ 1568 NONAME + _ZN5QDate11longDayNameEiNS_13MonthNameTypeE @ 1569 NONAME + _ZN5QDate12shortDayNameEi @ 1570 NONAME + _ZN5QDate12shortDayNameEiNS_13MonthNameTypeE @ 1571 NONAME + _ZN5QDate13longMonthNameEi @ 1572 NONAME + _ZN5QDate13longMonthNameEiNS_13MonthNameTypeE @ 1573 NONAME + _ZN5QDate14shortMonthNameEi @ 1574 NONAME + _ZN5QDate14shortMonthNameEiNS_13MonthNameTypeE @ 1575 NONAME + _ZN5QDate17gregorianToJulianEiii @ 1576 NONAME + _ZN5QDate17julianToGregorianEjRiS0_S0_ @ 1577 NONAME + _ZN5QDate6setYMDEiii @ 1578 NONAME + _ZN5QDate7getDateEPiS0_S0_ @ 1579 NONAME + _ZN5QDate7isValidEiii @ 1580 NONAME + _ZN5QDate7setDateEiii @ 1581 NONAME + _ZN5QDateC1Eiii @ 1582 NONAME + _ZN5QDateC2Eiii @ 1583 NONAME + _ZN5QFile10decodeNameERK10QByteArray @ 1584 NONAME + _ZN5QFile10encodeNameERK7QString @ 1585 NONAME + _ZN5QFile10unsetErrorEv @ 1586 NONAME + _ZN5QFile11permissionsERK7QString @ 1587 NONAME + _ZN5QFile11qt_metacallEN11QMetaObject4CallEiPPv @ 1588 NONAME + _ZN5QFile11qt_metacastEPKc @ 1589 NONAME + _ZN5QFile11setFileNameERK7QString @ 1590 NONAME + _ZN5QFile12readLineDataEPcx @ 1591 NONAME + _ZN5QFile14setPermissionsE6QFlagsINS_10PermissionEE @ 1592 NONAME + _ZN5QFile14setPermissionsERK7QString6QFlagsINS_10PermissionEE @ 1593 NONAME + _ZN5QFile16staticMetaObjectE @ 1594 NONAME DATA 16 + _ZN5QFile19getStaticMetaObjectEv @ 1595 NONAME + _ZN5QFile19setDecodingFunctionEPF7QStringRK10QByteArrayE @ 1596 NONAME + _ZN5QFile19setEncodingFunctionEPF10QByteArrayRK7QStringE @ 1597 NONAME + _ZN5QFile3mapExxNS_14MemoryMapFlagsE @ 1598 NONAME + _ZN5QFile4copyERK7QString @ 1599 NONAME + _ZN5QFile4copyERK7QStringS2_ @ 1600 NONAME + _ZN5QFile4linkERK7QString @ 1601 NONAME + _ZN5QFile4linkERK7QStringS2_ @ 1602 NONAME + _ZN5QFile4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 1603 NONAME + _ZN5QFile4openEP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEE @ 1604 NONAME + _ZN5QFile4openEi6QFlagsIN9QIODevice12OpenModeFlagEE @ 1605 NONAME + _ZN5QFile4seekEx @ 1606 NONAME + _ZN5QFile5closeEv @ 1607 NONAME + _ZN5QFile5flushEv @ 1608 NONAME + _ZN5QFile5unmapEPh @ 1609 NONAME + _ZN5QFile6existsERK7QString @ 1610 NONAME + _ZN5QFile6removeERK7QString @ 1611 NONAME + _ZN5QFile6removeEv @ 1612 NONAME + _ZN5QFile6renameERK7QString @ 1613 NONAME + _ZN5QFile6renameERK7QStringS2_ @ 1614 NONAME + _ZN5QFile6resizeERK7QStringx @ 1615 NONAME + _ZN5QFile6resizeEx @ 1616 NONAME + _ZN5QFile8readDataEPcx @ 1617 NONAME + _ZN5QFile8readLinkERK7QString @ 1618 NONAME + _ZN5QFile9writeDataEPKcx @ 1619 NONAME + _ZN5QFileC1EP7QObject @ 1620 NONAME + _ZN5QFileC1ER12QFilePrivateP7QObject @ 1621 NONAME + _ZN5QFileC1ERK7QString @ 1622 NONAME + _ZN5QFileC1ERK7QStringP7QObject @ 1623 NONAME + _ZN5QFileC1Ev @ 1624 NONAME + _ZN5QFileC2EP7QObject @ 1625 NONAME + _ZN5QFileC2ER12QFilePrivateP7QObject @ 1626 NONAME + _ZN5QFileC2ERK7QString @ 1627 NONAME + _ZN5QFileC2ERK7QStringP7QObject @ 1628 NONAME + _ZN5QFileC2Ev @ 1629 NONAME + _ZN5QFileD0Ev @ 1630 NONAME + _ZN5QFileD1Ev @ 1631 NONAME + _ZN5QFileD2Ev @ 1632 NONAME + _ZN5QRect10moveCenterERK6QPoint @ 1633 NONAME + _ZN5QSize5scaleERKS_N2Qt15AspectRatioModeE @ 1634 NONAME + _ZN5QSize9transposeEv @ 1635 NONAME + _ZN5QTime10fromStringERK7QStringN2Qt10DateFormatE @ 1636 NONAME + _ZN5QTime10fromStringERK7QStringS2_ @ 1637 NONAME + _ZN5QTime11currentTimeEv @ 1638 NONAME + _ZN5QTime5startEv @ 1639 NONAME + _ZN5QTime6setHMSEiiii @ 1640 NONAME + _ZN5QTime7isValidEiiii @ 1641 NONAME + _ZN5QTime7restartEv @ 1642 NONAME + _ZN5QTimeC1Eiiii @ 1643 NONAME + _ZN5QTimeC2Eiiii @ 1644 NONAME + _ZN5QUuid10createUuidEv @ 1645 NONAME + _ZN5QUuidC1EPKc @ 1646 NONAME + _ZN5QUuidC1ERK7QString @ 1647 NONAME + _ZN5QUuidC2EPKc @ 1648 NONAME + _ZN5QUuidC2ERK7QString @ 1649 NONAME + _ZN6QEvent16staticMetaObjectE @ 1650 NONAME DATA 16 + _ZN6QEvent17registerEventTypeEi @ 1651 NONAME + _ZN6QEvent19getStaticMetaObjectEv @ 1652 NONAME + _ZN6QEventC1ENS_4TypeE @ 1653 NONAME + _ZN6QEventC2ENS_4TypeE @ 1654 NONAME + _ZN6QEventD0Ev @ 1655 NONAME + _ZN6QEventD1Ev @ 1656 NONAME + _ZN6QEventD2Ev @ 1657 NONAME + _ZN6QHBufCC1EP7HBufC16 @ 1658 NONAME + _ZN6QHBufCC1ERK7QString @ 1659 NONAME + _ZN6QHBufCC1ERKS_ @ 1660 NONAME + _ZN6QHBufCC1Ev @ 1661 NONAME + _ZN6QHBufCC2EP7HBufC16 @ 1662 NONAME + _ZN6QHBufCC2ERK7QString @ 1663 NONAME + _ZN6QHBufCC2ERKS_ @ 1664 NONAME + _ZN6QHBufCC2Ev @ 1665 NONAME + _ZN6QHBufCD1Ev @ 1666 NONAME + _ZN6QHBufCD2Ev @ 1667 NONAME + _ZN6QLineF8setAngleEf @ 1668 NONAME + _ZN6QLineF9fromPolarEff @ 1669 NONAME + _ZN6QMutex4lockEv @ 1670 NONAME + _ZN6QMutex6unlockEv @ 1671 NONAME + _ZN6QMutex7tryLockEi @ 1672 NONAME + _ZN6QMutex7tryLockEv @ 1673 NONAME + _ZN6QMutexC1ENS_13RecursionModeE @ 1674 NONAME + _ZN6QMutexC2ENS_13RecursionModeE @ 1675 NONAME + _ZN6QMutexD1Ev @ 1676 NONAME + _ZN6QMutexD2Ev @ 1677 NONAME + _ZN6QSizeF5scaleERKS_N2Qt15AspectRatioModeE @ 1678 NONAME + _ZN6QSizeF9transposeEv @ 1679 NONAME + _ZN6QState11qt_metacallEN11QMetaObject4CallEiPPv @ 1680 NONAME + _ZN6QState11qt_metacastEPKc @ 1681 NONAME + _ZN6QState12setChildModeENS_9ChildModeE @ 1682 NONAME + _ZN6QState13addTransitionEP14QAbstractState @ 1683 NONAME + _ZN6QState13addTransitionEP19QAbstractTransition @ 1684 NONAME + _ZN6QState13addTransitionEP7QObjectPKcP14QAbstractState @ 1685 NONAME + _ZN6QState13setErrorStateEP14QAbstractState @ 1686 NONAME + _ZN6QState14assignPropertyEP7QObjectPKcRK8QVariant @ 1687 NONAME + _ZN6QState15setInitialStateEP14QAbstractState @ 1688 NONAME + _ZN6QState16removeTransitionEP19QAbstractTransition @ 1689 NONAME + _ZN6QState16staticMetaObjectE @ 1690 NONAME DATA 16 + _ZN6QState19getStaticMetaObjectEv @ 1691 NONAME + _ZN6QState5eventEP6QEvent @ 1692 NONAME + _ZN6QState6onExitEP6QEvent @ 1693 NONAME + _ZN6QState7onEntryEP6QEvent @ 1694 NONAME + _ZN6QState8finishedEv @ 1695 NONAME + _ZN6QState8polishedEv @ 1696 NONAME + _ZN6QStateC1ENS_9ChildModeEPS_ @ 1697 NONAME + _ZN6QStateC1EPS_ @ 1698 NONAME + _ZN6QStateC1ER13QStatePrivatePS_ @ 1699 NONAME + _ZN6QStateC2ENS_9ChildModeEPS_ @ 1700 NONAME + _ZN6QStateC2EPS_ @ 1701 NONAME + _ZN6QStateC2ER13QStatePrivatePS_ @ 1702 NONAME + _ZN6QStateD0Ev @ 1703 NONAME + _ZN6QStateD1Ev @ 1704 NONAME + _ZN6QStateD2Ev @ 1705 NONAME + _ZN6QTimer10singleShotEiP7QObjectPKc @ 1706 NONAME + _ZN6QTimer10timerEventEP11QTimerEvent @ 1707 NONAME + _ZN6QTimer11qt_metacallEN11QMetaObject4CallEiPPv @ 1708 NONAME + _ZN6QTimer11qt_metacastEPKc @ 1709 NONAME + _ZN6QTimer11setIntervalEi @ 1710 NONAME + _ZN6QTimer16staticMetaObjectE @ 1711 NONAME DATA 16 + _ZN6QTimer19getStaticMetaObjectEv @ 1712 NONAME + _ZN6QTimer4stopEv @ 1713 NONAME + _ZN6QTimer5startEi @ 1714 NONAME + _ZN6QTimer5startEv @ 1715 NONAME + _ZN6QTimer7timeoutEv @ 1716 NONAME + _ZN6QTimerC1EP7QObject @ 1717 NONAME + _ZN6QTimerC2EP7QObject @ 1718 NONAME + _ZN6QTimerD0Ev @ 1719 NONAME + _ZN6QTimerD1Ev @ 1720 NONAME + _ZN6QTimerD2Ev @ 1721 NONAME + _ZN7QBuffer11qt_metacallEN11QMetaObject4CallEiPPv @ 1722 NONAME + _ZN7QBuffer11qt_metacastEPKc @ 1723 NONAME + _ZN7QBuffer13connectNotifyEPKc @ 1724 NONAME + _ZN7QBuffer16disconnectNotifyEPKc @ 1725 NONAME + _ZN7QBuffer16staticMetaObjectE @ 1726 NONAME DATA 16 + _ZN7QBuffer19getStaticMetaObjectEv @ 1727 NONAME + _ZN7QBuffer4openE6QFlagsIN9QIODevice12OpenModeFlagEE @ 1728 NONAME + _ZN7QBuffer4seekEx @ 1729 NONAME + _ZN7QBuffer5closeEv @ 1730 NONAME + _ZN7QBuffer6bufferEv @ 1731 NONAME + _ZN7QBuffer7setDataERK10QByteArray @ 1732 NONAME + _ZN7QBuffer8readDataEPcx @ 1733 NONAME + _ZN7QBuffer9setBufferEP10QByteArray @ 1734 NONAME + _ZN7QBuffer9writeDataEPKcx @ 1735 NONAME + _ZN7QBufferC1EP10QByteArrayP7QObject @ 1736 NONAME + _ZN7QBufferC1EP7QObject @ 1737 NONAME + _ZN7QBufferC2EP10QByteArrayP7QObject @ 1738 NONAME + _ZN7QBufferC2EP7QObject @ 1739 NONAME + _ZN7QBufferD0Ev @ 1740 NONAME + _ZN7QBufferD1Ev @ 1741 NONAME + _ZN7QBufferD2Ev @ 1742 NONAME + _ZN7QLocale10setDefaultERKS_ @ 1743 NONAME + _ZN7QLocale15countryToStringENS_7CountryE @ 1744 NONAME + _ZN7QLocale16languageToStringENS_8LanguageE @ 1745 NONAME + _ZN7QLocale16setNumberOptionsE6QFlagsINS_12NumberOptionEE @ 1746 NONAME + _ZN7QLocale16staticMetaObjectE @ 1747 NONAME DATA 16 + _ZN7QLocale19getStaticMetaObjectEv @ 1748 NONAME + _ZN7QLocale20countriesForLanguageENS_8LanguageE @ 1749 NONAME + _ZN7QLocale6systemEv @ 1750 NONAME + _ZN7QLocaleC1ENS_8LanguageENS_7CountryE @ 1751 NONAME + _ZN7QLocaleC1ERK7QString @ 1752 NONAME + _ZN7QLocaleC1ERKS_ @ 1753 NONAME + _ZN7QLocaleC1Ev @ 1754 NONAME + _ZN7QLocaleC2ENS_8LanguageENS_7CountryE @ 1755 NONAME + _ZN7QLocaleC2ERK7QString @ 1756 NONAME + _ZN7QLocaleC2ERKS_ @ 1757 NONAME + _ZN7QLocaleC2Ev @ 1758 NONAME + _ZN7QLocaleaSERKS_ @ 1759 NONAME + _ZN7QObject10childEventEP11QChildEvent @ 1760 NONAME + _ZN7QObject10disconnectEPKS_PKcS1_S3_ @ 1761 NONAME + _ZN7QObject10startTimerEi @ 1762 NONAME + _ZN7QObject10timerEventEP11QTimerEvent @ 1763 NONAME + _ZN7QObject11customEventEP6QEvent @ 1764 NONAME + _ZN7QObject11deleteLaterEv @ 1765 NONAME + _ZN7QObject11eventFilterEPS_P6QEvent @ 1766 NONAME + _ZN7QObject11qt_metacallEN11QMetaObject4CallEiPPv @ 1767 NONAME + _ZN7QObject11qt_metacastEPKc @ 1768 NONAME + _ZN7QObject11setPropertyEPKcRK8QVariant @ 1769 NONAME + _ZN7QObject11setUserDataEjP15QObjectUserData @ 1770 NONAME + _ZN7QObject12blockSignalsEb @ 1771 NONAME + _ZN7QObject12moveToThreadEP7QThread @ 1772 NONAME + _ZN7QObject13connectNotifyEPKc @ 1773 NONAME + _ZN7QObject13setObjectNameERK7QString @ 1774 NONAME + _ZN7QObject14dumpObjectInfoEv @ 1775 NONAME + _ZN7QObject14dumpObjectTreeEv @ 1776 NONAME + _ZN7QObject16disconnectNotifyEPKc @ 1777 NONAME + _ZN7QObject16registerUserDataEv @ 1778 NONAME + _ZN7QObject16staticMetaObjectE @ 1779 NONAME DATA 16 + _ZN7QObject17removeEventFilterEPS_ @ 1780 NONAME + _ZN7QObject18installEventFilterEPS_ @ 1781 NONAME + _ZN7QObject18staticQtMetaObjectE @ 1782 NONAME DATA 16 + _ZN7QObject19getStaticMetaObjectEv @ 1783 NONAME + _ZN7QObject5eventEP6QEvent @ 1784 NONAME + _ZN7QObject7connectEPKS_PKcS1_S3_N2Qt14ConnectionTypeE @ 1785 NONAME + _ZN7QObject9destroyedEPS_ @ 1786 NONAME + _ZN7QObject9killTimerEi @ 1787 NONAME + _ZN7QObject9setParentEPS_ @ 1788 NONAME + _ZN7QObjectC1EPS_ @ 1789 NONAME + _ZN7QObjectC1ER14QObjectPrivatePS_ @ 1790 NONAME + _ZN7QObjectC2EPS_ @ 1791 NONAME + _ZN7QObjectC2ER14QObjectPrivatePS_ @ 1792 NONAME + _ZN7QObjectD0Ev @ 1793 NONAME + _ZN7QObjectD1Ev @ 1794 NONAME + _ZN7QObjectD2Ev @ 1795 NONAME + _ZN7QRegExp10setMinimalEb @ 1796 NONAME + _ZN7QRegExp10setPatternERK7QString @ 1797 NONAME + _ZN7QRegExp11errorStringEv @ 1798 NONAME + _ZN7QRegExp13capturedTextsEv @ 1799 NONAME + _ZN7QRegExp16setPatternSyntaxENS_13PatternSyntaxE @ 1800 NONAME + _ZN7QRegExp18setCaseSensitivityEN2Qt15CaseSensitivityE @ 1801 NONAME + _ZN7QRegExp3capEi @ 1802 NONAME + _ZN7QRegExp3posEi @ 1803 NONAME + _ZN7QRegExp6escapeERK7QString @ 1804 NONAME + _ZN7QRegExpC1ERK7QStringN2Qt15CaseSensitivityENS_13PatternSyntaxE @ 1805 NONAME + _ZN7QRegExpC1ERKS_ @ 1806 NONAME + _ZN7QRegExpC1Ev @ 1807 NONAME + _ZN7QRegExpC2ERK7QStringN2Qt15CaseSensitivityENS_13PatternSyntaxE @ 1808 NONAME + _ZN7QRegExpC2ERKS_ @ 1809 NONAME + _ZN7QRegExpC2Ev @ 1810 NONAME + _ZN7QRegExpD1Ev @ 1811 NONAME + _ZN7QRegExpD2Ev @ 1812 NONAME + _ZN7QRegExpaSERKS_ @ 1813 NONAME + _ZN7QString10fromLatin1EPKci @ 1814 NONAME + _ZN7QString10setUnicodeEPK5QChari @ 1815 NONAME + _ZN7QString11fromRawDataEPK5QChari @ 1816 NONAME + _ZN7QString11shared_nullE @ 1817 NONAME DATA 20 + _ZN7QString12shared_emptyE @ 1818 NONAME DATA 20 + _ZN7QString13fromLocal8BitEPKci @ 1819 NONAME + _ZN7QString14compare_helperEPK5QChari13QLatin1StringN2Qt15CaseSensitivityE @ 1820 NONAME + _ZN7QString14compare_helperEPK5QChariS2_iN2Qt15CaseSensitivityE @ 1821 NONAME + _ZN7QString14fromWCharArrayEPKwi @ 1822 NONAME + _ZN7QString14replace_helperEPjiiPK5QChari @ 1823 NONAME + _ZN7QString16codecForCStringsE @ 1824 NONAME DATA 4 + _ZN7QString16fromAscii_helperEPKci @ 1825 NONAME + _ZN7QString17fromLatin1_helperEPKci @ 1826 NONAME + _ZN7QString25localeAwareCompare_helperEPK5QChariS2_i @ 1827 NONAME + _ZN7QString4chopEi @ 1828 NONAME + _ZN7QString4fillE5QChari @ 1829 NONAME + _ZN7QString4freeEPNS_4DataE @ 1830 NONAME + _ZN7QString4growEi @ 1831 NONAME + _ZN7QString4nullE @ 1832 NONAME DATA 1 + _ZN7QString6appendE5QChar @ 1833 NONAME + _ZN7QString6appendERK10QStringRef @ 1834 NONAME + _ZN7QString6appendERK13QLatin1String @ 1835 NONAME + _ZN7QString6appendERKS_ @ 1836 NONAME + _ZN7QString6expandEi @ 1837 NONAME + _ZN7QString6insertEi5QChar @ 1838 NONAME + _ZN7QString6insertEiPK5QChari @ 1839 NONAME + _ZN7QString6insertEiRK13QLatin1String @ 1840 NONAME + _ZN7QString6numberEdci @ 1841 NONAME + _ZN7QString6numberEii @ 1842 NONAME + _ZN7QString6numberEji @ 1843 NONAME + _ZN7QString6numberEli @ 1844 NONAME + _ZN7QString6numberEmi @ 1845 NONAME + _ZN7QString6numberExi @ 1846 NONAME + _ZN7QString6numberEyi @ 1847 NONAME + _ZN7QString6removeE5QCharN2Qt15CaseSensitivityE @ 1848 NONAME + _ZN7QString6removeERKS_N2Qt15CaseSensitivityE @ 1849 NONAME + _ZN7QString6removeEii @ 1850 NONAME + _ZN7QString6resizeEi @ 1851 NONAME + _ZN7QString6setNumEdci @ 1852 NONAME + _ZN7QString6setNumExi @ 1853 NONAME + _ZN7QString6setNumEyi @ 1854 NONAME + _ZN7QString7reallocEi @ 1855 NONAME + _ZN7QString7reallocEv @ 1856 NONAME + _ZN7QString7replaceE5QCharRK13QLatin1StringN2Qt15CaseSensitivityE @ 1857 NONAME + _ZN7QString7replaceE5QCharRKS_N2Qt15CaseSensitivityE @ 1858 NONAME + _ZN7QString7replaceE5QCharS0_N2Qt15CaseSensitivityE @ 1859 NONAME + _ZN7QString7replaceEPK5QChariS2_iN2Qt15CaseSensitivityE @ 1860 NONAME + _ZN7QString7replaceERK13QLatin1StringRKS_N2Qt15CaseSensitivityE @ 1861 NONAME + _ZN7QString7replaceERK13QLatin1StringS2_N2Qt15CaseSensitivityE @ 1862 NONAME + _ZN7QString7replaceERK7QRegExpRKS_ @ 1863 NONAME + _ZN7QString7replaceERKS_RK13QLatin1StringN2Qt15CaseSensitivityE @ 1864 NONAME + _ZN7QString7replaceERKS_S1_N2Qt15CaseSensitivityE @ 1865 NONAME + _ZN7QString7replaceEii5QChar @ 1866 NONAME + _ZN7QString7replaceEiiPK5QChari @ 1867 NONAME + _ZN7QString7replaceEiiRKS_ @ 1868 NONAME + _ZN7QString7sprintfEPKcz @ 1869 NONAME + _ZN7QString8fromUcs4EPKji @ 1870 NONAME + _ZN7QString8fromUtf8EPKci @ 1871 NONAME + _ZN7QString8truncateEi @ 1872 NONAME + _ZN7QString8vsprintfEPKcSt9__va_list @ 1873 NONAME + _ZN7QString9fromAsciiEPKci @ 1874 NONAME + _ZN7QString9fromUtf16EPKti @ 1875 NONAME + _ZN7QStringC1E5QChar @ 1876 NONAME + _ZN7QStringC1EPK5QChari @ 1877 NONAME + _ZN7QStringC1Ei5QChar @ 1878 NONAME + _ZN7QStringC1EiN2Qt14InitializationE @ 1879 NONAME + _ZN7QStringC2E5QChar @ 1880 NONAME + _ZN7QStringC2EPK5QChari @ 1881 NONAME + _ZN7QStringC2Ei5QChar @ 1882 NONAME + _ZN7QStringC2EiN2Qt14InitializationE @ 1883 NONAME + _ZN7QStringaSE5QChar @ 1884 NONAME + _ZN7QStringaSERKS_ @ 1885 NONAME + _ZN7QThread10initializeEv @ 1886 NONAME + _ZN7QThread10terminatedEv @ 1887 NONAME + _ZN7QThread11qt_metacallEN11QMetaObject4CallEiPPv @ 1888 NONAME + _ZN7QThread11qt_metacastEPKc @ 1889 NONAME + _ZN7QThread11setPriorityENS_8PriorityE @ 1890 NONAME + _ZN7QThread12setStackSizeEj @ 1891 NONAME + _ZN7QThread13currentThreadEv @ 1892 NONAME + _ZN7QThread15currentThreadIdEv @ 1893 NONAME + _ZN7QThread16idealThreadCountEv @ 1894 NONAME + _ZN7QThread16staticMetaObjectE @ 1895 NONAME DATA 16 + _ZN7QThread18yieldCurrentThreadEv @ 1896 NONAME + _ZN7QThread19getStaticMetaObjectEv @ 1897 NONAME + _ZN7QThread21setTerminationEnabledEb @ 1898 NONAME + _ZN7QThread3runEv @ 1899 NONAME + _ZN7QThread4execEv @ 1900 NONAME + _ZN7QThread4exitEi @ 1901 NONAME + _ZN7QThread4quitEv @ 1902 NONAME + _ZN7QThread4waitEm @ 1903 NONAME + _ZN7QThread5sleepEm @ 1904 NONAME + _ZN7QThread5startENS_8PriorityE @ 1905 NONAME + _ZN7QThread6msleepEm @ 1906 NONAME + _ZN7QThread6usleepEm @ 1907 NONAME + _ZN7QThread7cleanupEv @ 1908 NONAME + _ZN7QThread7startedEv @ 1909 NONAME + _ZN7QThread8finishedEv @ 1910 NONAME + _ZN7QThread9terminateEv @ 1911 NONAME + _ZN7QThreadC1EP7QObject @ 1912 NONAME + _ZN7QThreadC1ER14QThreadPrivateP7QObject @ 1913 NONAME + _ZN7QThreadC2EP7QObject @ 1914 NONAME + _ZN7QThreadC2ER14QThreadPrivateP7QObject @ 1915 NONAME + _ZN7QThreadD0Ev @ 1916 NONAME + _ZN7QThreadD1Ev @ 1917 NONAME + _ZN7QThreadD2Ev @ 1918 NONAME + _ZN8QLibrary11qt_metacallEN11QMetaObject4CallEiPPv @ 1919 NONAME + _ZN8QLibrary11qt_metacastEPKc @ 1920 NONAME + _ZN8QLibrary11setFileNameERK7QString @ 1921 NONAME + _ZN8QLibrary12setLoadHintsE6QFlagsINS_8LoadHintEE @ 1922 NONAME + _ZN8QLibrary16staticMetaObjectE @ 1923 NONAME DATA 16 + _ZN8QLibrary19getStaticMetaObjectEv @ 1924 NONAME + _ZN8QLibrary21setFileNameAndVersionERK7QStringS2_ @ 1925 NONAME + _ZN8QLibrary21setFileNameAndVersionERK7QStringi @ 1926 NONAME + _ZN8QLibrary4loadEv @ 1927 NONAME + _ZN8QLibrary6unloadEv @ 1928 NONAME + _ZN8QLibrary7resolveEPKc @ 1929 NONAME + _ZN8QLibrary7resolveERK7QStringPKc @ 1930 NONAME + _ZN8QLibrary7resolveERK7QStringS2_PKc @ 1931 NONAME + _ZN8QLibrary7resolveERK7QStringiPKc @ 1932 NONAME + _ZN8QLibrary9isLibraryERK7QString @ 1933 NONAME + _ZN8QLibraryC1EP7QObject @ 1934 NONAME + _ZN8QLibraryC1ERK7QStringP7QObject @ 1935 NONAME + _ZN8QLibraryC1ERK7QStringS2_P7QObject @ 1936 NONAME + _ZN8QLibraryC1ERK7QStringiP7QObject @ 1937 NONAME + _ZN8QLibraryC2EP7QObject @ 1938 NONAME + _ZN8QLibraryC2ERK7QStringP7QObject @ 1939 NONAME + _ZN8QLibraryC2ERK7QStringS2_P7QObject @ 1940 NONAME + _ZN8QLibraryC2ERK7QStringiP7QObject @ 1941 NONAME + _ZN8QLibraryD0Ev @ 1942 NONAME + _ZN8QLibraryD1Ev @ 1943 NONAME + _ZN8QLibraryD2Ev @ 1944 NONAME + _ZN8QMapData10createDataEv @ 1945 NONAME + _ZN8QMapData11node_createEPPNS_4NodeEi @ 1946 NONAME + _ZN8QMapData11node_deleteEPPNS_4NodeEiS1_ @ 1947 NONAME + _ZN8QMapData11shared_nullE @ 1948 NONAME DATA 72 + _ZN8QMapData16continueFreeDataEi @ 1949 NONAME + _ZN8QProcess11qt_metacallEN11QMetaObject4CallEiPPv @ 1950 NONAME + _ZN8QProcess11qt_metacastEPKc @ 1951 NONAME + _ZN8QProcess12stateChangedENS_12ProcessStateE @ 1952 NONAME + _ZN8QProcess13startDetachedERK7QString @ 1953 NONAME + _ZN8QProcess13startDetachedERK7QStringRK11QStringList @ 1954 NONAME + _ZN8QProcess13startDetachedERK7QStringRK11QStringListS2_Px @ 1955 NONAME + _ZN8QProcess14setEnvironmentERK11QStringList @ 1956 NONAME + _ZN8QProcess14setReadChannelENS_14ProcessChannelE @ 1957 NONAME + _ZN8QProcess14waitForStartedEi @ 1958 NONAME + _ZN8QProcess15setProcessStateENS_12ProcessStateE @ 1959 NONAME + _ZN8QProcess15waitForFinishedEi @ 1960 NONAME + _ZN8QProcess16closeReadChannelENS_14ProcessChannelE @ 1961 NONAME + _ZN8QProcess16staticMetaObjectE @ 1962 NONAME DATA 16 + _ZN8QProcess16waitForReadyReadEi @ 1963 NONAME + _ZN8QProcess17closeWriteChannelEv @ 1964 NONAME + _ZN8QProcess17setupChildProcessEv @ 1965 NONAME + _ZN8QProcess17systemEnvironmentEv @ 1966 NONAME + _ZN8QProcess18setReadChannelModeENS_18ProcessChannelModeE @ 1967 NONAME + _ZN8QProcess19getStaticMetaObjectEv @ 1968 NONAME + _ZN8QProcess19setWorkingDirectoryERK7QString @ 1969 NONAME + _ZN8QProcess19waitForBytesWrittenEi @ 1970 NONAME + _ZN8QProcess20readAllStandardErrorEv @ 1971 NONAME + _ZN8QProcess20setStandardErrorFileERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 1972 NONAME + _ZN8QProcess20setStandardInputFileERK7QString @ 1973 NONAME + _ZN8QProcess21readAllStandardOutputEv @ 1974 NONAME + _ZN8QProcess21setProcessChannelModeENS_18ProcessChannelModeE @ 1975 NONAME + _ZN8QProcess21setProcessEnvironmentERK19QProcessEnvironment @ 1976 NONAME + _ZN8QProcess21setStandardOutputFileERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 1977 NONAME + _ZN8QProcess22readyReadStandardErrorEv @ 1978 NONAME + _ZN8QProcess23readyReadStandardOutputEv @ 1979 NONAME + _ZN8QProcess24setStandardOutputProcessEPS_ @ 1980 NONAME + _ZN8QProcess4killEv @ 1981 NONAME + _ZN8QProcess5closeEv @ 1982 NONAME + _ZN8QProcess5errorENS_12ProcessErrorE @ 1983 NONAME + _ZN8QProcess5startERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 1984 NONAME + _ZN8QProcess5startERK7QStringRK11QStringList6QFlagsIN9QIODevice12OpenModeFlagEE @ 1985 NONAME + _ZN8QProcess7executeERK7QString @ 1986 NONAME + _ZN8QProcess7executeERK7QStringRK11QStringList @ 1987 NONAME + _ZN8QProcess7startedEv @ 1988 NONAME + _ZN8QProcess8finishedEi @ 1989 NONAME + _ZN8QProcess8finishedEiNS_10ExitStatusE @ 1990 NONAME + _ZN8QProcess8readDataEPcx @ 1991 NONAME + _ZN8QProcess9terminateEv @ 1992 NONAME + _ZN8QProcess9writeDataEPKcx @ 1993 NONAME + _ZN8QProcessC1EP7QObject @ 1994 NONAME + _ZN8QProcessC2EP7QObject @ 1995 NONAME + _ZN8QProcessD0Ev @ 1996 NONAME + _ZN8QProcessD1Ev @ 1997 NONAME + _ZN8QProcessD2Ev @ 1998 NONAME + _ZN8QSysInfo10s60VersionEv @ 1999 NONAME + _ZN8QSysInfo14symbianVersionEv @ 2000 NONAME + _ZN8QVariant10nameToTypeEPKc @ 2001 NONAME + _ZN8QVariant10typeToNameENS_4TypeE @ 2002 NONAME + _ZN8QVariant4dataEv @ 2003 NONAME + _ZN8QVariant4loadER11QDataStream @ 2004 NONAME + _ZN8QVariant5clearEv @ 2005 NONAME + _ZN8QVariant6createEiPKv @ 2006 NONAME + _ZN8QVariant6detachEv @ 2007 NONAME + _ZN8QVariant7convertENS_4TypeE @ 2008 NONAME + _ZN8QVariant7handlerE @ 2009 NONAME DATA 4 + _ZN8QVariantC1EN2Qt11GlobalColorE @ 2010 NONAME + _ZN8QVariantC1ENS_4TypeE @ 2011 NONAME + _ZN8QVariantC1EPKc @ 2012 NONAME + _ZN8QVariantC1ER11QDataStream @ 2013 NONAME + _ZN8QVariantC1ERK10QByteArray @ 2014 NONAME + _ZN8QVariantC1ERK11QStringList @ 2015 NONAME + _ZN8QVariantC1ERK13QLatin1String @ 2016 NONAME + _ZN8QVariantC1ERK4QMapI7QStringS_E @ 2017 NONAME + _ZN8QVariantC1ERK4QUrl @ 2018 NONAME + _ZN8QVariantC1ERK5QChar @ 2019 NONAME + _ZN8QVariantC1ERK5QDate @ 2020 NONAME + _ZN8QVariantC1ERK5QHashI7QStringS_E @ 2021 NONAME + _ZN8QVariantC1ERK5QLine @ 2022 NONAME + _ZN8QVariantC1ERK5QListIS_E @ 2023 NONAME + _ZN8QVariantC1ERK5QRect @ 2024 NONAME + _ZN8QVariantC1ERK5QSize @ 2025 NONAME + _ZN8QVariantC1ERK5QTime @ 2026 NONAME + _ZN8QVariantC1ERK6QLineF @ 2027 NONAME + _ZN8QVariantC1ERK6QPoint @ 2028 NONAME + _ZN8QVariantC1ERK6QRectF @ 2029 NONAME + _ZN8QVariantC1ERK6QSizeF @ 2030 NONAME + _ZN8QVariantC1ERK7QLocale @ 2031 NONAME + _ZN8QVariantC1ERK7QPointF @ 2032 NONAME + _ZN8QVariantC1ERK7QRegExp @ 2033 NONAME + _ZN8QVariantC1ERK7QString @ 2034 NONAME + _ZN8QVariantC1ERK9QBitArray @ 2035 NONAME + _ZN8QVariantC1ERK9QDateTime @ 2036 NONAME + _ZN8QVariantC1ERKS_ @ 2037 NONAME + _ZN8QVariantC1Eb @ 2038 NONAME + _ZN8QVariantC1Ed @ 2039 NONAME + _ZN8QVariantC1Ei @ 2040 NONAME + _ZN8QVariantC1EiPKv @ 2041 NONAME + _ZN8QVariantC1EiPKvj @ 2042 NONAME + _ZN8QVariantC1Ej @ 2043 NONAME + _ZN8QVariantC1Ex @ 2044 NONAME + _ZN8QVariantC1Ey @ 2045 NONAME + _ZN8QVariantC2EN2Qt11GlobalColorE @ 2046 NONAME + _ZN8QVariantC2ENS_4TypeE @ 2047 NONAME + _ZN8QVariantC2EPKc @ 2048 NONAME + _ZN8QVariantC2ER11QDataStream @ 2049 NONAME + _ZN8QVariantC2ERK10QByteArray @ 2050 NONAME + _ZN8QVariantC2ERK11QStringList @ 2051 NONAME + _ZN8QVariantC2ERK13QLatin1String @ 2052 NONAME + _ZN8QVariantC2ERK4QMapI7QStringS_E @ 2053 NONAME + _ZN8QVariantC2ERK4QUrl @ 2054 NONAME + _ZN8QVariantC2ERK5QChar @ 2055 NONAME + _ZN8QVariantC2ERK5QDate @ 2056 NONAME + _ZN8QVariantC2ERK5QHashI7QStringS_E @ 2057 NONAME + _ZN8QVariantC2ERK5QLine @ 2058 NONAME + _ZN8QVariantC2ERK5QListIS_E @ 2059 NONAME + _ZN8QVariantC2ERK5QRect @ 2060 NONAME + _ZN8QVariantC2ERK5QSize @ 2061 NONAME + _ZN8QVariantC2ERK5QTime @ 2062 NONAME + _ZN8QVariantC2ERK6QLineF @ 2063 NONAME + _ZN8QVariantC2ERK6QPoint @ 2064 NONAME + _ZN8QVariantC2ERK6QRectF @ 2065 NONAME + _ZN8QVariantC2ERK6QSizeF @ 2066 NONAME + _ZN8QVariantC2ERK7QLocale @ 2067 NONAME + _ZN8QVariantC2ERK7QPointF @ 2068 NONAME + _ZN8QVariantC2ERK7QRegExp @ 2069 NONAME + _ZN8QVariantC2ERK7QString @ 2070 NONAME + _ZN8QVariantC2ERK9QBitArray @ 2071 NONAME + _ZN8QVariantC2ERK9QDateTime @ 2072 NONAME + _ZN8QVariantC2ERKS_ @ 2073 NONAME + _ZN8QVariantC2Eb @ 2074 NONAME + _ZN8QVariantC2Ed @ 2075 NONAME + _ZN8QVariantC2Ei @ 2076 NONAME + _ZN8QVariantC2EiPKv @ 2077 NONAME + _ZN8QVariantC2EiPKvj @ 2078 NONAME + _ZN8QVariantC2Ej @ 2079 NONAME + _ZN8QVariantC2Ex @ 2080 NONAME + _ZN8QVariantC2Ey @ 2081 NONAME + _ZN8QVariantD1Ev @ 2082 NONAME + _ZN8QVariantD2Ev @ 2083 NONAME + _ZN8QVariantaSERKS_ @ 2084 NONAME + _ZN9QBitArray4fillEbii @ 2085 NONAME + _ZN9QBitArray6resizeEi @ 2086 NONAME + _ZN9QBitArrayC1Eib @ 2087 NONAME + _ZN9QBitArrayC2Eib @ 2088 NONAME + _ZN9QBitArrayaNERKS_ @ 2089 NONAME + _ZN9QBitArrayeOERKS_ @ 2090 NONAME + _ZN9QBitArrayoRERKS_ @ 2091 NONAME + _ZN9QDateTime10fromStringERK7QStringN2Qt10DateFormatE @ 2092 NONAME + _ZN9QDateTime10fromStringERK7QStringS2_ @ 2093 NONAME + _ZN9QDateTime10fromTime_tEj @ 2094 NONAME + _ZN9QDateTime11setTimeSpecEN2Qt8TimeSpecE @ 2095 NONAME + _ZN9QDateTime12setUtcOffsetEi @ 2096 NONAME + _ZN9QDateTime15currentDateTimeEv @ 2097 NONAME + _ZN9QDateTime6detachEv @ 2098 NONAME + _ZN9QDateTime7setDateERK5QDate @ 2099 NONAME + _ZN9QDateTime7setTimeERK5QTime @ 2100 NONAME + _ZN9QDateTime9setTime_tEj @ 2101 NONAME + _ZN9QDateTimeC1ERK5QDate @ 2102 NONAME + _ZN9QDateTimeC1ERK5QDateRK5QTimeN2Qt8TimeSpecE @ 2103 NONAME + _ZN9QDateTimeC1ERKS_ @ 2104 NONAME + _ZN9QDateTimeC1Ev @ 2105 NONAME + _ZN9QDateTimeC2ERK5QDate @ 2106 NONAME + _ZN9QDateTimeC2ERK5QDateRK5QTimeN2Qt8TimeSpecE @ 2107 NONAME + _ZN9QDateTimeC2ERKS_ @ 2108 NONAME + _ZN9QDateTimeC2Ev @ 2109 NONAME + _ZN9QDateTimeD1Ev @ 2110 NONAME + _ZN9QDateTimeD2Ev @ 2111 NONAME + _ZN9QDateTimeaSERKS_ @ 2112 NONAME + _ZN9QFileInfo10setCachingEb @ 2113 NONAME + _ZN9QFileInfo12makeAbsoluteEv @ 2114 NONAME + _ZN9QFileInfo6detachEv @ 2115 NONAME + _ZN9QFileInfo7refreshEv @ 2116 NONAME + _ZN9QFileInfo7setFileERK4QDirRK7QString @ 2117 NONAME + _ZN9QFileInfo7setFileERK5QFile @ 2118 NONAME + _ZN9QFileInfo7setFileERK7QString @ 2119 NONAME + _ZN9QFileInfoC1ERK4QDirRK7QString @ 2120 NONAME + _ZN9QFileInfoC1ERK5QFile @ 2121 NONAME + _ZN9QFileInfoC1ERK7QString @ 2122 NONAME + _ZN9QFileInfoC1ERKS_ @ 2123 NONAME + _ZN9QFileInfoC1Ev @ 2124 NONAME + _ZN9QFileInfoC2ERK4QDirRK7QString @ 2125 NONAME + _ZN9QFileInfoC2ERK5QFile @ 2126 NONAME + _ZN9QFileInfoC2ERK7QString @ 2127 NONAME + _ZN9QFileInfoC2ERKS_ @ 2128 NONAME + _ZN9QFileInfoC2Ev @ 2129 NONAME + _ZN9QFileInfoD1Ev @ 2130 NONAME + _ZN9QFileInfoD2Ev @ 2131 NONAME + _ZN9QFileInfoaSERKS_ @ 2132 NONAME + _ZN9QFileInfoeqERKS_ @ 2133 NONAME + _ZN9QHashData11free_helperEPFvPNS_4NodeEE @ 2134 NONAME + _ZN9QHashData11shared_nullE @ 2135 NONAME DATA 32 + _ZN9QHashData12allocateNodeEv @ 2136 NONAME + _ZN9QHashData12previousNodeEPNS_4NodeE @ 2137 NONAME + _ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEPFvS1_Ei @ 2138 NONAME + _ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEi @ 2139 NONAME + _ZN9QHashData14destroyAndFreeEv @ 2140 NONAME + _ZN9QHashData6rehashEi @ 2141 NONAME + _ZN9QHashData8freeNodeEPv @ 2142 NONAME + _ZN9QHashData8nextNodeEPNS_4NodeE @ 2143 NONAME + _ZN9QIODevice11qt_metacallEN11QMetaObject4CallEiPPv @ 2144 NONAME + _ZN9QIODevice11qt_metacastEPKc @ 2145 NONAME + _ZN9QIODevice11setOpenModeE6QFlagsINS_12OpenModeFlagEE @ 2146 NONAME + _ZN9QIODevice12aboutToCloseEv @ 2147 NONAME + _ZN9QIODevice12bytesWrittenEx @ 2148 NONAME + _ZN9QIODevice12readLineDataEPcx @ 2149 NONAME + _ZN9QIODevice14setErrorStringERK7QString @ 2150 NONAME + _ZN9QIODevice16staticMetaObjectE @ 2151 NONAME DATA 16 + _ZN9QIODevice16waitForReadyReadEi @ 2152 NONAME + _ZN9QIODevice18setTextModeEnabledEb @ 2153 NONAME + _ZN9QIODevice19getStaticMetaObjectEv @ 2154 NONAME + _ZN9QIODevice19readChannelFinishedEv @ 2155 NONAME + _ZN9QIODevice19waitForBytesWrittenEi @ 2156 NONAME + _ZN9QIODevice4openE6QFlagsINS_12OpenModeFlagEE @ 2157 NONAME + _ZN9QIODevice4peekEPcx @ 2158 NONAME + _ZN9QIODevice4peekEx @ 2159 NONAME + _ZN9QIODevice4readEPcx @ 2160 NONAME + _ZN9QIODevice4readEx @ 2161 NONAME + _ZN9QIODevice4seekEx @ 2162 NONAME + _ZN9QIODevice5closeEv @ 2163 NONAME + _ZN9QIODevice5resetEv @ 2164 NONAME + _ZN9QIODevice5writeEPKc @ 2165 NONAME + _ZN9QIODevice5writeEPKcx @ 2166 NONAME + _ZN9QIODevice7getCharEPc @ 2167 NONAME + _ZN9QIODevice7putCharEc @ 2168 NONAME + _ZN9QIODevice7readAllEv @ 2169 NONAME + _ZN9QIODevice8readLineEPcx @ 2170 NONAME + _ZN9QIODevice8readLineEx @ 2171 NONAME + _ZN9QIODevice9readyReadEv @ 2172 NONAME + _ZN9QIODevice9ungetCharEc @ 2173 NONAME + _ZN9QIODeviceC2EP7QObject @ 2174 NONAME + _ZN9QIODeviceC2ER16QIODevicePrivateP7QObject @ 2175 NONAME + _ZN9QIODeviceC2Ev @ 2176 NONAME + _ZN9QIODeviceD0Ev @ 2177 NONAME + _ZN9QIODeviceD1Ev @ 2178 NONAME + _ZN9QIODeviceD2Ev @ 2179 NONAME + _ZN9QInternal12callFunctionENS_16InternalFunctionEPPv @ 2180 NONAME + _ZN9QInternal16registerCallbackENS_8CallbackEPFbPPvE @ 2181 NONAME + _ZN9QInternal17activateCallbacksENS_8CallbackEPPv @ 2182 NONAME + _ZN9QInternal18unregisterCallbackENS_8CallbackEPFbPPvE @ 2183 NONAME + _ZN9QListData11shared_nullE @ 2184 NONAME DATA 24 + _ZN9QListData4moveEii @ 2185 NONAME + _ZN9QListData5eraseEPPv @ 2186 NONAME + _ZN9QListData6appendERKS_ @ 2187 NONAME + _ZN9QListData6appendEv @ 2188 NONAME + _ZN9QListData6detachEv @ 2189 NONAME + _ZN9QListData6insertEi @ 2190 NONAME + _ZN9QListData6removeEi @ 2191 NONAME + _ZN9QListData6removeEii @ 2192 NONAME + _ZN9QListData7append2ERKS_ @ 2193 NONAME + _ZN9QListData7detach2Ev @ 2194 NONAME + _ZN9QListData7detach3Ev @ 2195 NONAME + _ZN9QListData7prependEv @ 2196 NONAME + _ZN9QListData7reallocEi @ 2197 NONAME + _ZN9QMetaType12isRegisteredEi @ 2198 NONAME + _ZN9QMetaType12registerTypeEPKcPFvPvEPFS2_PKvE @ 2199 NONAME + _ZN9QMetaType14unregisterTypeEPKc @ 2200 NONAME + _ZN9QMetaType23registerStreamOperatorsEPKcPFvR11QDataStreamPKvEPFvS3_PvE @ 2201 NONAME + _ZN9QMetaType4loadER11QDataStreamiPv @ 2202 NONAME + _ZN9QMetaType4saveER11QDataStreamiPKv @ 2203 NONAME + _ZN9QMetaType4typeEPKc @ 2204 NONAME + _ZN9QMetaType7destroyEiPv @ 2205 NONAME + _ZN9QMetaType8typeNameEi @ 2206 NONAME + _ZN9QMetaType9constructEiPKv @ 2207 NONAME + _ZN9QMimeData11qt_metacallEN11QMetaObject4CallEiPPv @ 2208 NONAME + _ZN9QMimeData11qt_metacastEPKc @ 2209 NONAME + _ZN9QMimeData12removeFormatERK7QString @ 2210 NONAME + _ZN9QMimeData12setColorDataERK8QVariant @ 2211 NONAME + _ZN9QMimeData12setImageDataERK8QVariant @ 2212 NONAME + _ZN9QMimeData16staticMetaObjectE @ 2213 NONAME DATA 16 + _ZN9QMimeData19getStaticMetaObjectEv @ 2214 NONAME + _ZN9QMimeData5clearEv @ 2215 NONAME + _ZN9QMimeData7setDataERK7QStringRK10QByteArray @ 2216 NONAME + _ZN9QMimeData7setHtmlERK7QString @ 2217 NONAME + _ZN9QMimeData7setTextERK7QString @ 2218 NONAME + _ZN9QMimeData7setUrlsERK5QListI4QUrlE @ 2219 NONAME + _ZN9QMimeDataC1Ev @ 2220 NONAME + _ZN9QMimeDataC2Ev @ 2221 NONAME + _ZN9QMimeDataD0Ev @ 2222 NONAME + _ZN9QMimeDataD1Ev @ 2223 NONAME + _ZN9QMimeDataD2Ev @ 2224 NONAME + _ZN9QResource11searchPathsEv @ 2225 NONAME + _ZN9QResource11setFileNameERK7QString @ 2226 NONAME + _ZN9QResource13addSearchPathERK7QString @ 2227 NONAME + _ZN9QResource16registerResourceEPKhRK7QString @ 2228 NONAME + _ZN9QResource16registerResourceERK7QStringS2_ @ 2229 NONAME + _ZN9QResource18unregisterResourceEPKhRK7QString @ 2230 NONAME + _ZN9QResource18unregisterResourceERK7QStringS2_ @ 2231 NONAME + _ZN9QResource9setLocaleERK7QLocale @ 2232 NONAME + _ZN9QResourceC1ERK7QStringRK7QLocale @ 2233 NONAME + _ZN9QResourceC2ERK7QStringRK7QLocale @ 2234 NONAME + _ZN9QResourceD1Ev @ 2235 NONAME + _ZN9QResourceD2Ev @ 2236 NONAME + _ZN9QSettings10beginGroupERK7QString @ 2237 NONAME + _ZN9QSettings11qt_metacallEN11QMetaObject4CallEiPPv @ 2238 NONAME + _ZN9QSettings11qt_metacastEPKc @ 2239 NONAME + _ZN9QSettings11setIniCodecEP10QTextCodec @ 2240 NONAME + _ZN9QSettings11setIniCodecEPKc @ 2241 NONAME + _ZN9QSettings13defaultFormatEv @ 2242 NONAME + _ZN9QSettings13setArrayIndexEi @ 2243 NONAME + _ZN9QSettings14beginReadArrayERK7QString @ 2244 NONAME + _ZN9QSettings14registerFormatERK7QStringPFbR9QIODeviceR4QMapIS0_8QVariantEEPFbS4_RKS7_EN2Qt15CaseSensitivityE @ 2245 NONAME + _ZN9QSettings14setUserIniPathERK7QString @ 2246 NONAME + _ZN9QSettings15beginWriteArrayERK7QStringi @ 2247 NONAME + _ZN9QSettings16setDefaultFormatENS_6FormatE @ 2248 NONAME + _ZN9QSettings16setSystemIniPathERK7QString @ 2249 NONAME + _ZN9QSettings16staticMetaObjectE @ 2250 NONAME DATA 16 + _ZN9QSettings19getStaticMetaObjectEv @ 2251 NONAME + _ZN9QSettings19setFallbacksEnabledEb @ 2252 NONAME + _ZN9QSettings4syncEv @ 2253 NONAME + _ZN9QSettings5clearEv @ 2254 NONAME + _ZN9QSettings5eventEP6QEvent @ 2255 NONAME + _ZN9QSettings6removeERK7QString @ 2256 NONAME + _ZN9QSettings7setPathENS_6FormatENS_5ScopeERK7QString @ 2257 NONAME + _ZN9QSettings8endArrayEv @ 2258 NONAME + _ZN9QSettings8endGroupEv @ 2259 NONAME + _ZN9QSettings8setValueERK7QStringRK8QVariant @ 2260 NONAME + _ZN9QSettingsC1ENS_5ScopeERK7QStringS3_P7QObject @ 2261 NONAME + _ZN9QSettingsC1ENS_6FormatENS_5ScopeERK7QStringS4_P7QObject @ 2262 NONAME + _ZN9QSettingsC1EP7QObject @ 2263 NONAME + _ZN9QSettingsC1ERK7QStringNS_6FormatEP7QObject @ 2264 NONAME + _ZN9QSettingsC1ERK7QStringS2_P7QObject @ 2265 NONAME + _ZN9QSettingsC2ENS_5ScopeERK7QStringS3_P7QObject @ 2266 NONAME + _ZN9QSettingsC2ENS_6FormatENS_5ScopeERK7QStringS4_P7QObject @ 2267 NONAME + _ZN9QSettingsC2EP7QObject @ 2268 NONAME + _ZN9QSettingsC2ERK7QStringNS_6FormatEP7QObject @ 2269 NONAME + _ZN9QSettingsC2ERK7QStringS2_P7QObject @ 2270 NONAME + _ZN9QSettingsD0Ev @ 2271 NONAME + _ZN9QSettingsD1Ev @ 2272 NONAME + _ZN9QSettingsD2Ev @ 2273 NONAME + _ZN9QTimeLine10timerEventEP11QTimerEvent @ 2274 NONAME + _ZN9QTimeLine11qt_metacallEN11QMetaObject4CallEiPPv @ 2275 NONAME + _ZN9QTimeLine11qt_metacastEPKc @ 2276 NONAME + _ZN9QTimeLine11setDurationEi @ 2277 NONAME + _ZN9QTimeLine11setEndFrameEi @ 2278 NONAME + _ZN9QTimeLine12frameChangedEi @ 2279 NONAME + _ZN9QTimeLine12setDirectionENS_9DirectionE @ 2280 NONAME + _ZN9QTimeLine12setLoopCountEi @ 2281 NONAME + _ZN9QTimeLine12stateChangedENS_5StateE @ 2282 NONAME + _ZN9QTimeLine12valueChangedEf @ 2283 NONAME + _ZN9QTimeLine13setCurveShapeENS_10CurveShapeE @ 2284 NONAME + _ZN9QTimeLine13setFrameRangeEii @ 2285 NONAME + _ZN9QTimeLine13setStartFrameEi @ 2286 NONAME + _ZN9QTimeLine14setCurrentTimeEi @ 2287 NONAME + _ZN9QTimeLine14setEasingCurveERK12QEasingCurve @ 2288 NONAME + _ZN9QTimeLine15toggleDirectionEv @ 2289 NONAME + _ZN9QTimeLine16staticMetaObjectE @ 2290 NONAME DATA 16 + _ZN9QTimeLine17setUpdateIntervalEi @ 2291 NONAME + _ZN9QTimeLine19getStaticMetaObjectEv @ 2292 NONAME + _ZN9QTimeLine4stopEv @ 2293 NONAME + _ZN9QTimeLine5startEv @ 2294 NONAME + _ZN9QTimeLine6resumeEv @ 2295 NONAME + _ZN9QTimeLine8finishedEv @ 2296 NONAME + _ZN9QTimeLine9setPausedEb @ 2297 NONAME + _ZN9QTimeLineC1EiP7QObject @ 2298 NONAME + _ZN9QTimeLineC2EiP7QObject @ 2299 NONAME + _ZN9QTimeLineD0Ev @ 2300 NONAME + _ZN9QTimeLineD1Ev @ 2301 NONAME + _ZN9QTimeLineD2Ev @ 2302 NONAME + _ZN9QXmlUtils10isBaseCharE5QChar @ 2303 NONAME + _ZN9QXmlUtils10isExtenderE5QChar @ 2304 NONAME + _ZN9QXmlUtils10isNameCharE5QChar @ 2305 NONAME + _ZN9QXmlUtils10isPublicIDERK7QString @ 2306 NONAME + _ZN9QXmlUtils13isIdeographicE5QChar @ 2307 NONAME + _ZN9QXmlUtils13rangeContainsEPK13QXmlCharRangeS2_5QChar @ 2308 NONAME + _ZN9QXmlUtils15isCombiningCharE5QChar @ 2309 NONAME + _ZN9QXmlUtils6isCharE5QChar @ 2310 NONAME + _ZN9QXmlUtils7isDigitE5QChar @ 2311 NONAME + _ZN9QXmlUtils8isLetterE5QChar @ 2312 NONAME + _ZN9QXmlUtils8isNCNameERK10QStringRef @ 2313 NONAME + _ZN9QXmlUtils9isEncNameERK7QString @ 2314 NONAME + _ZN9QtPrivate16QStringList_joinEPK11QStringListRK7QString @ 2315 NONAME + _ZN9QtPrivate16QStringList_sortEP11QStringList @ 2316 NONAME + _ZN9QtPrivate18QStringList_filterEPK11QStringListRK7QRegExp @ 2317 NONAME + _ZN9QtPrivate18QStringList_filterEPK11QStringListRK7QStringN2Qt15CaseSensitivityE @ 2318 NONAME + _ZN9QtPrivate19QStringList_indexOfEPK11QStringListR7QRegExpi @ 2319 NONAME + _ZN9QtPrivate19QStringList_indexOfEPK11QStringListRK7QRegExpi @ 2320 NONAME + _ZN9QtPrivate20QStringList_containsEPK11QStringListRK7QStringN2Qt15CaseSensitivityE @ 2321 NONAME + _ZN9QtPrivate23QStringList_lastIndexOfEPK11QStringListR7QRegExpi @ 2322 NONAME + _ZN9QtPrivate23QStringList_lastIndexOfEPK11QStringListRK7QRegExpi @ 2323 NONAME + _ZN9QtPrivate28QStringList_removeDuplicatesEP11QStringList @ 2324 NONAME + _ZN9QtPrivate28QStringList_replaceInStringsEP11QStringListRK7QRegExpRK7QString @ 2325 NONAME + _ZN9QtPrivate28QStringList_replaceInStringsEP11QStringListRK7QStringS4_N2Qt15CaseSensitivityE @ 2326 NONAME + _ZNK10QByteArray10simplifiedEv @ 2327 NONAME + _ZNK10QByteArray10startsWithEPKc @ 2328 NONAME + _ZNK10QByteArray10startsWithERKS_ @ 2329 NONAME + _ZNK10QByteArray10startsWithEc @ 2330 NONAME + _ZNK10QByteArray10toLongLongEPbi @ 2331 NONAME + _ZNK10QByteArray11lastIndexOfEPKci @ 2332 NONAME + _ZNK10QByteArray11lastIndexOfERKS_i @ 2333 NONAME + _ZNK10QByteArray11lastIndexOfEci @ 2334 NONAME + _ZNK10QByteArray11toULongLongEPbi @ 2335 NONAME + _ZNK10QByteArray13leftJustifiedEicb @ 2336 NONAME + _ZNK10QByteArray13nulTerminatedEv @ 2337 NONAME + _ZNK10QByteArray14rightJustifiedEicb @ 2338 NONAME + _ZNK10QByteArray17toPercentEncodingERKS_S1_c @ 2339 NONAME + _ZNK10QByteArray3midEii @ 2340 NONAME + _ZNK10QByteArray4leftEi @ 2341 NONAME + _ZNK10QByteArray5countEPKc @ 2342 NONAME + _ZNK10QByteArray5countERKS_ @ 2343 NONAME + _ZNK10QByteArray5countEc @ 2344 NONAME + _ZNK10QByteArray5rightEi @ 2345 NONAME + _ZNK10QByteArray5splitEc @ 2346 NONAME + _ZNK10QByteArray5toHexEv @ 2347 NONAME + _ZNK10QByteArray5toIntEPbi @ 2348 NONAME + _ZNK10QByteArray6isNullEv @ 2349 NONAME + _ZNK10QByteArray6toLongEPbi @ 2350 NONAME + _ZNK10QByteArray6toUIntEPbi @ 2351 NONAME + _ZNK10QByteArray7indexOfEPKci @ 2352 NONAME + _ZNK10QByteArray7indexOfERKS_i @ 2353 NONAME + _ZNK10QByteArray7indexOfEci @ 2354 NONAME + _ZNK10QByteArray7toFloatEPb @ 2355 NONAME + _ZNK10QByteArray7toLowerEv @ 2356 NONAME + _ZNK10QByteArray7toShortEPbi @ 2357 NONAME + _ZNK10QByteArray7toULongEPbi @ 2358 NONAME + _ZNK10QByteArray7toUpperEv @ 2359 NONAME + _ZNK10QByteArray7trimmedEv @ 2360 NONAME + _ZNK10QByteArray8endsWithEPKc @ 2361 NONAME + _ZNK10QByteArray8endsWithERKS_ @ 2362 NONAME + _ZNK10QByteArray8endsWithEc @ 2363 NONAME + _ZNK10QByteArray8repeatedEi @ 2364 NONAME + _ZNK10QByteArray8toBase64Ev @ 2365 NONAME + _ZNK10QByteArray8toDoubleEPb @ 2366 NONAME + _ZNK10QByteArray8toUShortEPbi @ 2367 NONAME + _ZNK10QEventLoop10metaObjectEv @ 2368 NONAME + _ZNK10QEventLoop9isRunningEv @ 2369 NONAME + _ZNK10QSemaphore9availableEv @ 2370 NONAME + _ZNK10QStringRef8appendToEP7QString @ 2371 NONAME + _ZNK10QStringRef8toStringEv @ 2372 NONAME + _ZNK10QTextCodec11fromUnicodeERK7QString @ 2373 NONAME + _ZNK10QTextCodec11makeDecoderEv @ 2374 NONAME + _ZNK10QTextCodec11makeEncoderEv @ 2375 NONAME + _ZNK10QTextCodec7aliasesEv @ 2376 NONAME + _ZNK10QTextCodec9canEncodeE5QChar @ 2377 NONAME + _ZNK10QTextCodec9canEncodeERK7QString @ 2378 NONAME + _ZNK10QTextCodec9toUnicodeEPKc @ 2379 NONAME + _ZNK10QTextCodec9toUnicodeERK10QByteArray @ 2380 NONAME + _ZNK11QDataStream22floatingPointPrecisionEv @ 2381 NONAME + _ZNK11QDataStream5atEndEv @ 2382 NONAME + _ZNK11QDataStream6statusEv @ 2383 NONAME + _ZNK11QFinalState10metaObjectEv @ 2384 NONAME + _ZNK11QMetaMethod10attributesEv @ 2385 NONAME + _ZNK11QMetaMethod10methodTypeEv @ 2386 NONAME + _ZNK11QMetaMethod11methodIndexEv @ 2387 NONAME + _ZNK11QMetaMethod14parameterNamesEv @ 2388 NONAME + _ZNK11QMetaMethod14parameterTypesEv @ 2389 NONAME + _ZNK11QMetaMethod3tagEv @ 2390 NONAME + _ZNK11QMetaMethod6accessEv @ 2391 NONAME + _ZNK11QMetaMethod6invokeEP7QObjectN2Qt14ConnectionTypeE22QGenericReturnArgument16QGenericArgumentS5_S5_S5_S5_S5_S5_S5_S5_S5_ @ 2392 NONAME + _ZNK11QMetaMethod8typeNameEv @ 2393 NONAME + _ZNK11QMetaMethod9signatureEv @ 2394 NONAME + _ZNK11QMetaObject10enumeratorEi @ 2395 NONAME + _ZNK11QMetaObject11constructorEi @ 2396 NONAME + _ZNK11QMetaObject11indexOfSlotEPKc @ 2397 NONAME + _ZNK11QMetaObject11methodCountEv @ 2398 NONAME + _ZNK11QMetaObject11newInstanceE16QGenericArgumentS0_S0_S0_S0_S0_S0_S0_S0_S0_ @ 2399 NONAME + _ZNK11QMetaObject12methodOffsetEv @ 2400 NONAME + _ZNK11QMetaObject12userPropertyEv @ 2401 NONAME + _ZNK11QMetaObject13indexOfMethodEPKc @ 2402 NONAME + _ZNK11QMetaObject13indexOfSignalEPKc @ 2403 NONAME + _ZNK11QMetaObject13propertyCountEv @ 2404 NONAME + _ZNK11QMetaObject14classInfoCountEv @ 2405 NONAME + _ZNK11QMetaObject14propertyOffsetEv @ 2406 NONAME + _ZNK11QMetaObject15classInfoOffsetEv @ 2407 NONAME + _ZNK11QMetaObject15enumeratorCountEv @ 2408 NONAME + _ZNK11QMetaObject15indexOfPropertyEPKc @ 2409 NONAME + _ZNK11QMetaObject15static_metacallENS_4CallEiPPv @ 2410 NONAME + _ZNK11QMetaObject16constructorCountEv @ 2411 NONAME + _ZNK11QMetaObject16enumeratorOffsetEv @ 2412 NONAME + _ZNK11QMetaObject16indexOfClassInfoEPKc @ 2413 NONAME + _ZNK11QMetaObject17indexOfEnumeratorEPKc @ 2414 NONAME + _ZNK11QMetaObject18indexOfConstructorEPKc @ 2415 NONAME + _ZNK11QMetaObject2trEPKcS1_ @ 2416 NONAME + _ZNK11QMetaObject2trEPKcS1_i @ 2417 NONAME + _ZNK11QMetaObject4castEP7QObject @ 2418 NONAME + _ZNK11QMetaObject6methodEi @ 2419 NONAME + _ZNK11QMetaObject6trUtf8EPKcS1_ @ 2420 NONAME + _ZNK11QMetaObject6trUtf8EPKcS1_i @ 2421 NONAME + _ZNK11QMetaObject8propertyEi @ 2422 NONAME + _ZNK11QMetaObject9classInfoEi @ 2423 NONAME + _ZNK11QTextStream10fieldWidthEv @ 2424 NONAME + _ZNK11QTextStream11integerBaseEv @ 2425 NONAME + _ZNK11QTextStream11numberFlagsEv @ 2426 NONAME + _ZNK11QTextStream14fieldAlignmentEv @ 2427 NONAME + _ZNK11QTextStream17autoDetectUnicodeEv @ 2428 NONAME + _ZNK11QTextStream18realNumberNotationEv @ 2429 NONAME + _ZNK11QTextStream19realNumberPrecisionEv @ 2430 NONAME + _ZNK11QTextStream21generateByteOrderMarkEv @ 2431 NONAME + _ZNK11QTextStream3posEv @ 2432 NONAME + _ZNK11QTextStream5atEndEv @ 2433 NONAME + _ZNK11QTextStream5codecEv @ 2434 NONAME + _ZNK11QTextStream6deviceEv @ 2435 NONAME + _ZNK11QTextStream6localeEv @ 2436 NONAME + _ZNK11QTextStream6statusEv @ 2437 NONAME + _ZNK11QTextStream6stringEv @ 2438 NONAME + _ZNK11QTextStream7padCharEv @ 2439 NONAME + _ZNK11QThreadPool10metaObjectEv @ 2440 NONAME + _ZNK11QThreadPool13expiryTimeoutEv @ 2441 NONAME + _ZNK11QThreadPool14maxThreadCountEv @ 2442 NONAME + _ZNK11QThreadPool17activeThreadCountEv @ 2443 NONAME + _ZNK11QTranslator10metaObjectEv @ 2444 NONAME + _ZNK11QTranslator7isEmptyEv @ 2445 NONAME + _ZNK11QTranslator9translateEPKcS1_S1_ @ 2446 NONAME + _ZNK11QTranslator9translateEPKcS1_S1_i @ 2447 NONAME + _ZNK12QDirIterator4pathEv @ 2448 NONAME + _ZNK12QDirIterator7hasNextEv @ 2449 NONAME + _ZNK12QDirIterator8fileInfoEv @ 2450 NONAME + _ZNK12QDirIterator8fileNameEv @ 2451 NONAME + _ZNK12QDirIterator8filePathEv @ 2452 NONAME + _ZNK12QEasingCurve10customTypeEv @ 2453 NONAME + _ZNK12QEasingCurve16valueForProgressEf @ 2454 NONAME + _ZNK12QEasingCurve4typeEv @ 2455 NONAME + _ZNK12QEasingCurve6periodEv @ 2456 NONAME + _ZNK12QEasingCurve9amplitudeEv @ 2457 NONAME + _ZNK12QEasingCurve9overshootEv @ 2458 NONAME + _ZNK12QEasingCurveeqERKS_ @ 2459 NONAME + _ZNK12QTextDecoder10hasFailureEv @ 2460 NONAME + _ZNK12QTextEncoder10hasFailureEv @ 2461 NONAME + _ZNK13QFSFileEngine12isSequentialEv @ 2462 NONAME + _ZNK13QFSFileEngine13caseSensitiveEv @ 2463 NONAME + _ZNK13QFSFileEngine14isRelativePathEv @ 2464 NONAME + _ZNK13QFSFileEngine17supportsExtensionEN19QAbstractFileEngine9ExtensionE @ 2465 NONAME + _ZNK13QFSFileEngine3posEv @ 2466 NONAME + _ZNK13QFSFileEngine4sizeEv @ 2467 NONAME + _ZNK13QFSFileEngine5mkdirERK7QStringb @ 2468 NONAME + _ZNK13QFSFileEngine5ownerEN19QAbstractFileEngine9FileOwnerE @ 2469 NONAME + _ZNK13QFSFileEngine5rmdirERK7QStringb @ 2470 NONAME + _ZNK13QFSFileEngine6handleEv @ 2471 NONAME + _ZNK13QFSFileEngine7ownerIdEN19QAbstractFileEngine9FileOwnerE @ 2472 NONAME + _ZNK13QFSFileEngine8fileNameEN19QAbstractFileEngine8FileNameE @ 2473 NONAME + _ZNK13QFSFileEngine8fileTimeEN19QAbstractFileEngine8FileTimeE @ 2474 NONAME + _ZNK13QFSFileEngine9entryListE6QFlagsIN4QDir6FilterEERK11QStringList @ 2475 NONAME + _ZNK13QFSFileEngine9fileFlagsE6QFlagsIN19QAbstractFileEngine8FileFlagEE @ 2476 NONAME + _ZNK13QFontLaoCodec16convertToUnicodeEPKciPN10QTextCodec14ConverterStateE @ 2477 NONAME + _ZNK13QFontLaoCodec18convertFromUnicodeEPK5QChariPN10QTextCodec14ConverterStateE @ 2478 NONAME + _ZNK13QFontLaoCodec4nameEv @ 2479 NONAME + _ZNK13QFontLaoCodec7mibEnumEv @ 2480 NONAME + _ZNK13QHistoryState10metaObjectEv @ 2481 NONAME + _ZNK13QHistoryState11historyTypeEv @ 2482 NONAME + _ZNK13QHistoryState12defaultStateEv @ 2483 NONAME + _ZNK13QMetaProperty10enumeratorEv @ 2484 NONAME + _ZNK13QMetaProperty10isConstantEv @ 2485 NONAME + _ZNK13QMetaProperty10isEditableEPK7QObject @ 2486 NONAME + _ZNK13QMetaProperty10isEnumTypeEv @ 2487 NONAME + _ZNK13QMetaProperty10isFlagTypeEv @ 2488 NONAME + _ZNK13QMetaProperty10isReadableEv @ 2489 NONAME + _ZNK13QMetaProperty10isWritableEv @ 2490 NONAME + _ZNK13QMetaProperty12hasStdCppSetEv @ 2491 NONAME + _ZNK13QMetaProperty12isDesignableEPK7QObject @ 2492 NONAME + _ZNK13QMetaProperty12isResettableEv @ 2493 NONAME + _ZNK13QMetaProperty12isScriptableEPK7QObject @ 2494 NONAME + _ZNK13QMetaProperty12notifySignalEv @ 2495 NONAME + _ZNK13QMetaProperty13propertyIndexEv @ 2496 NONAME + _ZNK13QMetaProperty15hasNotifySignalEv @ 2497 NONAME + _ZNK13QMetaProperty17notifySignalIndexEv @ 2498 NONAME + _ZNK13QMetaProperty4nameEv @ 2499 NONAME + _ZNK13QMetaProperty4readEPK7QObject @ 2500 NONAME + _ZNK13QMetaProperty4typeEv @ 2501 NONAME + _ZNK13QMetaProperty5resetEP7QObject @ 2502 NONAME + _ZNK13QMetaProperty5writeEP7QObjectRK8QVariant @ 2503 NONAME + _ZNK13QMetaProperty6isUserEPK7QObject @ 2504 NONAME + _ZNK13QMetaProperty7isFinalEv @ 2505 NONAME + _ZNK13QMetaProperty8isStoredEPK7QObject @ 2506 NONAME + _ZNK13QMetaProperty8typeNameEv @ 2507 NONAME + _ZNK13QMetaProperty8userTypeEv @ 2508 NONAME + _ZNK13QPluginLoader10metaObjectEv @ 2509 NONAME + _ZNK13QPluginLoader11errorStringEv @ 2510 NONAME + _ZNK13QPluginLoader8fileNameEv @ 2511 NONAME + _ZNK13QPluginLoader8isLoadedEv @ 2512 NONAME + _ZNK13QPluginLoader9loadHintsEv @ 2513 NONAME + _ZNK13QSharedMemory10isAttachedEv @ 2514 NONAME + _ZNK13QSharedMemory10metaObjectEv @ 2515 NONAME + _ZNK13QSharedMemory11errorStringEv @ 2516 NONAME + _ZNK13QSharedMemory3keyEv @ 2517 NONAME + _ZNK13QSharedMemory4dataEv @ 2518 NONAME + _ZNK13QSharedMemory4sizeEv @ 2519 NONAME + _ZNK13QSharedMemory5errorEv @ 2520 NONAME + _ZNK13QSharedMemory9constDataEv @ 2521 NONAME + _ZNK13QSignalMapper10metaObjectEv @ 2522 NONAME + _ZNK13QSignalMapper7mappingEP7QObject @ 2523 NONAME + _ZNK13QSignalMapper7mappingEP7QWidget @ 2524 NONAME + _ZNK13QSignalMapper7mappingERK7QString @ 2525 NONAME + _ZNK13QSignalMapper7mappingEi @ 2526 NONAME + _ZNK13QStateMachine10metaObjectEv @ 2527 NONAME + _ZNK13QStateMachine11errorStringEv @ 2528 NONAME + _ZNK13QStateMachine13configurationEv @ 2529 NONAME + _ZNK13QStateMachine17animationsEnabledEv @ 2530 NONAME + _ZNK13QStateMachine17defaultAnimationsEv @ 2531 NONAME + _ZNK13QStateMachine19globalRestorePolicyEv @ 2532 NONAME + _ZNK13QStateMachine5errorEv @ 2533 NONAME + _ZNK13QStateMachine9isRunningEv @ 2534 NONAME + _ZNK13QSystemLocale14fallbackLocaleEv @ 2535 NONAME + _ZNK13QSystemLocale5queryENS_9QueryTypeE8QVariant @ 2536 NONAME + _ZNK14QAbstractState10metaObjectEv @ 2537 NONAME + _ZNK14QAbstractState11parentStateEv @ 2538 NONAME + _ZNK14QAbstractState7machineEv @ 2539 NONAME + _ZNK14QFactoryLoader10metaObjectEv @ 2540 NONAME + _ZNK14QFactoryLoader4keysEv @ 2541 NONAME + _ZNK14QFactoryLoader8instanceERK7QString @ 2542 NONAME + _ZNK14QLocalePrivate13validateCharsERK7QStringNS_10NumberModeEP10QByteArrayi @ 2543 NONAME + _ZNK14QLocalePrivate14doubleToStringEdiNS_10DoubleFormEij @ 2544 NONAME + _ZNK14QLocalePrivate14stringToDoubleERK7QStringPbNS_18GroupSeparatorModeE @ 2545 NONAME + _ZNK14QLocalePrivate15numberToCLocaleERK7QStringNS_18GroupSeparatorModeEP15QVarLengthArrayIcLi256EE @ 2546 NONAME + _ZNK14QLocalePrivate16dateTimeToStringERK7QStringPK5QDatePK5QTimePK7QLocale @ 2547 NONAME + _ZNK14QLocalePrivate16longLongToStringExiiij @ 2548 NONAME + _ZNK14QLocalePrivate16stringToLongLongERK7QStringiPbNS_18GroupSeparatorModeE @ 2549 NONAME + _ZNK14QLocalePrivate17measurementSystemEv @ 2550 NONAME + _ZNK14QLocalePrivate19stringToUnsLongLongERK7QStringiPbNS_18GroupSeparatorModeE @ 2551 NONAME + _ZNK14QLocalePrivate19unsLongLongToStringEyiiij @ 2552 NONAME + _ZNK14QMetaClassInfo4nameEv @ 2553 NONAME + _ZNK14QMetaClassInfo5valueEv @ 2554 NONAME + _ZNK14QObjectPrivate10senderListEv @ 2555 NONAME + _ZNK14QObjectPrivate11signalIndexEPKc @ 2556 NONAME + _ZNK14QObjectPrivate12receiverListEPKc @ 2557 NONAME + _ZNK14QObjectPrivate17isSignalConnectedEi @ 2558 NONAME + _ZNK14QObjectPrivate8isSenderEPK7QObjectPKc @ 2559 NONAME + _ZNK14QStringMatcher7indexInEPK5QCharii @ 2560 NONAME + _ZNK14QStringMatcher7indexInERK7QStringi @ 2561 NONAME + _ZNK14QStringMatcher7patternEv @ 2562 NONAME + _ZNK14QTemporaryFile10autoRemoveEv @ 2563 NONAME + _ZNK14QTemporaryFile10fileEngineEv @ 2564 NONAME + _ZNK14QTemporaryFile10metaObjectEv @ 2565 NONAME + _ZNK14QTemporaryFile12fileTemplateEv @ 2566 NONAME + _ZNK14QTemporaryFile8fileNameEv @ 2567 NONAME + _ZNK15QAnimationGroup10metaObjectEv @ 2568 NONAME + _ZNK15QAnimationGroup11animationAtEi @ 2569 NONAME + _ZNK15QAnimationGroup14animationCountEv @ 2570 NONAME + _ZNK15QAnimationGroup16indexOfAnimationEP18QAbstractAnimation @ 2571 NONAME + _ZNK15QDateTimeParser10fromStringERK7QStringP5QDateP5QTime @ 2572 NONAME + _ZNK15QDateTimeParser10getMaximumEv @ 2573 NONAME + _ZNK15QDateTimeParser10getMinimumEv @ 2574 NONAME + _ZNK15QDateTimeParser10sectionPosERKNS_11SectionNodeE @ 2575 NONAME + _ZNK15QDateTimeParser10sectionPosEi @ 2576 NONAME + _ZNK15QDateTimeParser11absoluteMaxEiRK9QDateTime @ 2577 NONAME + _ZNK15QDateTimeParser11absoluteMinEi @ 2578 NONAME + _ZNK15QDateTimeParser11getAmPmTextENS_4AmPmENS_4CaseE @ 2579 NONAME + _ZNK15QDateTimeParser11sectionNameEi @ 2580 NONAME + _ZNK15QDateTimeParser11sectionNodeEi @ 2581 NONAME + _ZNK15QDateTimeParser11sectionSizeEi @ 2582 NONAME + _ZNK15QDateTimeParser11sectionTextERK7QStringii @ 2583 NONAME + _ZNK15QDateTimeParser11sectionTextEi @ 2584 NONAME + _ZNK15QDateTimeParser11sectionTypeEi @ 2585 NONAME + _ZNK15QDateTimeParser12parseSectionERK9QDateTimeiR7QStringRiiRNS_5StateEPi @ 2586 NONAME + _ZNK15QDateTimeParser13sectionFormatENS_7SectionEi @ 2587 NONAME + _ZNK15QDateTimeParser13sectionFormatEi @ 2588 NONAME + _ZNK15QDateTimeParser14potentialValueERK7QStringiiiRK9QDateTimei @ 2589 NONAME + _ZNK15QDateTimeParser14sectionMaxSizeENS_7SectionEi @ 2590 NONAME + _ZNK15QDateTimeParser14sectionMaxSizeEi @ 2591 NONAME + _ZNK15QDateTimeParser17skipToNextSectionEiRK9QDateTimeRK7QString @ 2592 NONAME + _ZNK15QDateTimeParser5parseER7QStringRiRK9QDateTimeb @ 2593 NONAME + _ZNK15QDateTimeParser7findDayERK7QStringiiPS0_Pi @ 2594 NONAME + _ZNK15QDateTimeParser8findAmPmER7QStringiPi @ 2595 NONAME + _ZNK15QDateTimeParser8getDigitERK9QDateTimei @ 2596 NONAME + _ZNK15QDateTimeParser8setDigitER9QDateTimeii @ 2597 NONAME + _ZNK15QDateTimeParser9fieldInfoEi @ 2598 NONAME + _ZNK15QDateTimeParser9findMonthERK7QStringiiPS0_Pi @ 2599 NONAME + _ZNK15QDateTimeParser9maxChangeEi @ 2600 NONAME + _ZNK15QDateTimeParser9stateNameEi @ 2601 NONAME + _ZNK15QPauseAnimation10metaObjectEv @ 2602 NONAME + _ZNK15QPauseAnimation8durationEv @ 2603 NONAME + _ZNK15QSocketNotifier10metaObjectEv @ 2604 NONAME + _ZNK16QCoreApplication10metaObjectEv @ 2605 NONAME + _ZNK16QEventTransition10metaObjectEv @ 2606 NONAME + _ZNK16QEventTransition11eventSourceEv @ 2607 NONAME + _ZNK16QEventTransition9eventTypeEv @ 2608 NONAME + _ZNK16QSystemSemaphore11errorStringEv @ 2609 NONAME + _ZNK16QSystemSemaphore3keyEv @ 2610 NONAME + _ZNK16QSystemSemaphore5errorEv @ 2611 NONAME + _ZNK16QTextCodecPlugin10metaObjectEv @ 2612 NONAME + _ZNK16QTextCodecPlugin4keysEv @ 2613 NONAME + _ZNK16QXmlStreamReader10attributesEv @ 2614 NONAME + _ZNK16QXmlStreamReader10lineNumberEv @ 2615 NONAME + _ZNK16QXmlStreamReader11dtdPublicIdEv @ 2616 NONAME + _ZNK16QXmlStreamReader11dtdSystemIdEv @ 2617 NONAME + _ZNK16QXmlStreamReader11errorStringEv @ 2618 NONAME + _ZNK16QXmlStreamReader11tokenStringEv @ 2619 NONAME + _ZNK16QXmlStreamReader12columnNumberEv @ 2620 NONAME + _ZNK16QXmlStreamReader12isWhitespaceEv @ 2621 NONAME + _ZNK16QXmlStreamReader12namespaceUriEv @ 2622 NONAME + _ZNK16QXmlStreamReader13qualifiedNameEv @ 2623 NONAME + _ZNK16QXmlStreamReader14entityResolverEv @ 2624 NONAME + _ZNK16QXmlStreamReader15characterOffsetEv @ 2625 NONAME + _ZNK16QXmlStreamReader15documentVersionEv @ 2626 NONAME + _ZNK16QXmlStreamReader16documentEncodingEv @ 2627 NONAME + _ZNK16QXmlStreamReader18entityDeclarationsEv @ 2628 NONAME + _ZNK16QXmlStreamReader19namespaceProcessingEv @ 2629 NONAME + _ZNK16QXmlStreamReader20isStandaloneDocumentEv @ 2630 NONAME + _ZNK16QXmlStreamReader20notationDeclarationsEv @ 2631 NONAME + _ZNK16QXmlStreamReader21namespaceDeclarationsEv @ 2632 NONAME + _ZNK16QXmlStreamReader25processingInstructionDataEv @ 2633 NONAME + _ZNK16QXmlStreamReader27processingInstructionTargetEv @ 2634 NONAME + _ZNK16QXmlStreamReader4nameEv @ 2635 NONAME + _ZNK16QXmlStreamReader4textEv @ 2636 NONAME + _ZNK16QXmlStreamReader5atEndEv @ 2637 NONAME + _ZNK16QXmlStreamReader5errorEv @ 2638 NONAME + _ZNK16QXmlStreamReader6deviceEv @ 2639 NONAME + _ZNK16QXmlStreamReader6prefixEv @ 2640 NONAME + _ZNK16QXmlStreamReader7dtdNameEv @ 2641 NONAME + _ZNK16QXmlStreamReader7isCDATAEv @ 2642 NONAME + _ZNK16QXmlStreamReader9tokenTypeEv @ 2643 NONAME + _ZNK16QXmlStreamWriter14autoFormattingEv @ 2644 NONAME + _ZNK16QXmlStreamWriter20autoFormattingIndentEv @ 2645 NONAME + _ZNK16QXmlStreamWriter5codecEv @ 2646 NONAME + _ZNK16QXmlStreamWriter6deviceEv @ 2647 NONAME + _ZNK17QByteArrayMatcher7indexInEPKcii @ 2648 NONAME + _ZNK17QByteArrayMatcher7indexInERK10QByteArrayi @ 2649 NONAME + _ZNK17QSignalTransition10metaObjectEv @ 2650 NONAME + _ZNK17QSignalTransition12senderObjectEv @ 2651 NONAME + _ZNK17QSignalTransition6signalEv @ 2652 NONAME + _ZNK17QVariantAnimation10keyValueAtEf @ 2653 NONAME + _ZNK17QVariantAnimation10metaObjectEv @ 2654 NONAME + _ZNK17QVariantAnimation10startValueEv @ 2655 NONAME + _ZNK17QVariantAnimation11easingCurveEv @ 2656 NONAME + _ZNK17QVariantAnimation12currentValueEv @ 2657 NONAME + _ZNK17QVariantAnimation12interpolatedERK8QVariantS2_f @ 2658 NONAME + _ZNK17QVariantAnimation8durationEv @ 2659 NONAME + _ZNK17QVariantAnimation8endValueEv @ 2660 NONAME + _ZNK17QVariantAnimation9keyValuesEv @ 2661 NONAME + _ZNK18CQtActiveScheduler5ErrorEi @ 2662 NONAME + _ZNK18QAbstractAnimation10metaObjectEv @ 2663 NONAME + _ZNK18QAbstractAnimation11currentLoopEv @ 2664 NONAME + _ZNK18QAbstractAnimation11currentTimeEv @ 2665 NONAME + _ZNK18QAbstractAnimation13totalDurationEv @ 2666 NONAME + _ZNK18QAbstractAnimation5groupEv @ 2667 NONAME + _ZNK18QAbstractAnimation5stateEv @ 2668 NONAME + _ZNK18QAbstractAnimation9directionEv @ 2669 NONAME + _ZNK18QAbstractAnimation9loopCountEv @ 2670 NONAME + _ZNK18QAbstractItemModel10encodeDataERK5QListI11QModelIndexER11QDataStream @ 2671 NONAME + _ZNK18QAbstractItemModel10headerDataEiN2Qt11OrientationEi @ 2672 NONAME + _ZNK18QAbstractItemModel10metaObjectEv @ 2673 NONAME + _ZNK18QAbstractItemModel11hasChildrenERK11QModelIndex @ 2674 NONAME + _ZNK18QAbstractItemModel12canFetchMoreERK11QModelIndex @ 2675 NONAME + _ZNK18QAbstractItemModel19persistentIndexListEv @ 2676 NONAME + _ZNK18QAbstractItemModel20supportedDragActionsEv @ 2677 NONAME + _ZNK18QAbstractItemModel20supportedDropActionsEv @ 2678 NONAME + _ZNK18QAbstractItemModel4spanERK11QModelIndex @ 2679 NONAME + _ZNK18QAbstractItemModel5buddyERK11QModelIndex @ 2680 NONAME + _ZNK18QAbstractItemModel5flagsERK11QModelIndex @ 2681 NONAME + _ZNK18QAbstractItemModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 2682 NONAME + _ZNK18QAbstractItemModel8hasIndexEiiRK11QModelIndex @ 2683 NONAME + _ZNK18QAbstractItemModel8itemDataERK11QModelIndex @ 2684 NONAME + _ZNK18QAbstractItemModel8mimeDataERK5QListI11QModelIndexE @ 2685 NONAME + _ZNK18QAbstractItemModel9mimeTypesEv @ 2686 NONAME + _ZNK18QAbstractItemModel9roleNamesEv @ 2687 NONAME + _ZNK18QAbstractListModel10metaObjectEv @ 2688 NONAME + _ZNK18QAbstractListModel11columnCountERK11QModelIndex @ 2689 NONAME + _ZNK18QAbstractListModel11hasChildrenERK11QModelIndex @ 2690 NONAME + _ZNK18QAbstractListModel5indexEiiRK11QModelIndex @ 2691 NONAME + _ZNK18QAbstractListModel6parentERK11QModelIndex @ 2692 NONAME + _ZNK18QCryptographicHash6resultEv @ 2693 NONAME + _ZNK18QFileSystemWatcher10metaObjectEv @ 2694 NONAME + _ZNK18QFileSystemWatcher11directoriesEv @ 2695 NONAME + _ZNK18QFileSystemWatcher5filesEv @ 2696 NONAME + _ZNK18QPropertyAnimation10metaObjectEv @ 2697 NONAME + _ZNK18QPropertyAnimation12propertyNameEv @ 2698 NONAME + _ZNK18QPropertyAnimation12targetObjectEv @ 2699 NONAME + _ZNK18QThreadStorageData3getEv @ 2700 NONAME + _ZNK19QAbstractFileEngine11errorStringEv @ 2701 NONAME + _ZNK19QAbstractFileEngine12isSequentialEv @ 2702 NONAME + _ZNK19QAbstractFileEngine13caseSensitiveEv @ 2703 NONAME + _ZNK19QAbstractFileEngine14isRelativePathEv @ 2704 NONAME + _ZNK19QAbstractFileEngine17supportsExtensionENS_9ExtensionE @ 2705 NONAME + _ZNK19QAbstractFileEngine3posEv @ 2706 NONAME + _ZNK19QAbstractFileEngine4sizeEv @ 2707 NONAME + _ZNK19QAbstractFileEngine5atEndEv @ 2708 NONAME + _ZNK19QAbstractFileEngine5errorEv @ 2709 NONAME + _ZNK19QAbstractFileEngine5mkdirERK7QStringb @ 2710 NONAME + _ZNK19QAbstractFileEngine5ownerENS_9FileOwnerE @ 2711 NONAME + _ZNK19QAbstractFileEngine5rmdirERK7QStringb @ 2712 NONAME + _ZNK19QAbstractFileEngine6handleEv @ 2713 NONAME + _ZNK19QAbstractFileEngine7ownerIdENS_9FileOwnerE @ 2714 NONAME + _ZNK19QAbstractFileEngine8fileNameENS_8FileNameE @ 2715 NONAME + _ZNK19QAbstractFileEngine8fileTimeENS_8FileTimeE @ 2716 NONAME + _ZNK19QAbstractFileEngine9entryListE6QFlagsIN4QDir6FilterEERK11QStringList @ 2717 NONAME + _ZNK19QAbstractFileEngine9fileFlagsE6QFlagsINS_8FileFlagEE @ 2718 NONAME + _ZNK19QAbstractTableModel10metaObjectEv @ 2719 NONAME + _ZNK19QAbstractTableModel11hasChildrenERK11QModelIndex @ 2720 NONAME + _ZNK19QAbstractTableModel5indexEiiRK11QModelIndex @ 2721 NONAME + _ZNK19QAbstractTableModel6parentERK11QModelIndex @ 2722 NONAME + _ZNK19QAbstractTransition10animationsEv @ 2723 NONAME + _ZNK19QAbstractTransition10metaObjectEv @ 2724 NONAME + _ZNK19QAbstractTransition11sourceStateEv @ 2725 NONAME + _ZNK19QAbstractTransition11targetStateEv @ 2726 NONAME + _ZNK19QAbstractTransition12targetStatesEv @ 2727 NONAME + _ZNK19QAbstractTransition7machineEv @ 2728 NONAME + _ZNK19QProcessEnvironment12toStringListEv @ 2729 NONAME + _ZNK19QProcessEnvironment5valueERK7QStringS2_ @ 2730 NONAME + _ZNK19QProcessEnvironment7isEmptyEv @ 2731 NONAME + _ZNK19QProcessEnvironment8containsERK7QString @ 2732 NONAME + _ZNK19QProcessEnvironmenteqERKS_ @ 2733 NONAME + _ZNK19QTextBoundaryFinder12isAtBoundaryEv @ 2734 NONAME + _ZNK19QTextBoundaryFinder15boundaryReasonsEv @ 2735 NONAME + _ZNK19QTextBoundaryFinder6stringEv @ 2736 NONAME + _ZNK19QTextBoundaryFinder8positionEv @ 2737 NONAME + _ZNK20QStateMachinePrivate10isCompoundEPK14QAbstractState @ 2738 NONAME + _ZNK20QStateMachinePrivate11isPreemptedEPK14QAbstractStateRK4QSetIP19QAbstractTransitionE @ 2739 NONAME + _ZNK20QStateMachinePrivate13hasRestorableEP7QObjectRK10QByteArray @ 2740 NONAME + _ZNK20QStateMachinePrivate14isInFinalStateEP14QAbstractState @ 2741 NONAME + _ZNK20QStateMachinePrivate15restorableValueEP7QObjectRK10QByteArray @ 2742 NONAME + _ZNK20QStateMachinePrivate17selectTransitionsEP6QEvent @ 2743 NONAME + _ZNK20QStateMachinePrivate25restorablesToPropertyListERK5QHashI5QPairIP7QObject10QByteArrayE8QVariantE @ 2744 NONAME + _ZNK20QStateMachinePrivate7findLCAERK5QListIP14QAbstractStateE @ 2745 NONAME + _ZNK20QStateMachinePrivate8isAtomicEPK14QAbstractState @ 2746 NONAME + _ZNK20QStateMachinePrivate9rootStateEv @ 2747 NONAME + _ZNK20QXmlStreamAttributes5valueERK13QLatin1String @ 2748 NONAME + _ZNK20QXmlStreamAttributes5valueERK13QLatin1StringS2_ @ 2749 NONAME + _ZNK20QXmlStreamAttributes5valueERK7QString @ 2750 NONAME + _ZNK20QXmlStreamAttributes5valueERK7QStringRK13QLatin1String @ 2751 NONAME + _ZNK20QXmlStreamAttributes5valueERK7QStringS2_ @ 2752 NONAME + _ZNK21QObjectCleanupHandler10metaObjectEv @ 2753 NONAME + _ZNK21QObjectCleanupHandler7isEmptyEv @ 2754 NONAME + _ZNK21QPersistentModelIndex10internalIdEv @ 2755 NONAME + _ZNK21QPersistentModelIndex15internalPointerEv @ 2756 NONAME + _ZNK21QPersistentModelIndex3rowEv @ 2757 NONAME + _ZNK21QPersistentModelIndex4dataEi @ 2758 NONAME + _ZNK21QPersistentModelIndex5childEii @ 2759 NONAME + _ZNK21QPersistentModelIndex5flagsEv @ 2760 NONAME + _ZNK21QPersistentModelIndex5modelEv @ 2761 NONAME + _ZNK21QPersistentModelIndex6columnEv @ 2762 NONAME + _ZNK21QPersistentModelIndex6parentEv @ 2763 NONAME + _ZNK21QPersistentModelIndex7isValidEv @ 2764 NONAME + _ZNK21QPersistentModelIndex7siblingEii @ 2765 NONAME + _ZNK21QPersistentModelIndexcvRK11QModelIndexEv @ 2766 NONAME + _ZNK21QPersistentModelIndexeqERK11QModelIndex @ 2767 NONAME + _ZNK21QPersistentModelIndexeqERKS_ @ 2768 NONAME + _ZNK21QPersistentModelIndexltERKS_ @ 2769 NONAME + _ZNK21QPersistentModelIndexneERK11QModelIndex @ 2770 NONAME + _ZNK23QCoreApplicationPrivate7appNameEv @ 2771 NONAME + _ZNK23QEventDispatcherSymbian16registeredTimersEP7QObject @ 2772 NONAME + _ZNK23QParallelAnimationGroup10metaObjectEv @ 2773 NONAME + _ZNK23QParallelAnimationGroup8durationEv @ 2774 NONAME + _ZNK24QAbstractEventDispatcher10metaObjectEv @ 2775 NONAME + _ZNK24QNonContiguousByteDevice10metaObjectEv @ 2776 NONAME + _ZNK25QSequentialAnimationGroup10metaObjectEv @ 2777 NONAME + _ZNK25QSequentialAnimationGroup16currentAnimationEv @ 2778 NONAME + _ZNK25QSequentialAnimationGroup8durationEv @ 2779 NONAME + _ZNK26QAbstractTransitionPrivate11sourceStateEv @ 2780 NONAME + _ZNK26QAbstractTransitionPrivate7machineEv @ 2781 NONAME + _ZNK27QAbstractFileEngineIterator11nameFiltersEv @ 2782 NONAME + _ZNK27QAbstractFileEngineIterator15currentFileInfoEv @ 2783 NONAME + _ZNK27QAbstractFileEngineIterator15currentFilePathEv @ 2784 NONAME + _ZNK27QAbstractFileEngineIterator4pathEv @ 2785 NONAME + _ZNK27QAbstractFileEngineIterator7filtersEv @ 2786 NONAME + _ZNK27QAbstractFileEngineIterator9entryInfoENS_13EntryInfoTypeE @ 2787 NONAME + _ZNK4QDir10isReadableEv @ 2788 NONAME + _ZNK4QDir10isRelativeEv @ 2789 NONAME + _ZNK4QDir11nameFiltersEv @ 2790 NONAME + _ZNK4QDir12absolutePathEv @ 2791 NONAME + _ZNK4QDir13canonicalPathEv @ 2792 NONAME + _ZNK4QDir13entryInfoListE6QFlagsINS_6FilterEES0_INS_8SortFlagEE @ 2793 NONAME + _ZNK4QDir13entryInfoListERK11QStringList6QFlagsINS_6FilterEES3_INS_8SortFlagEE @ 2794 NONAME + _ZNK4QDir16absoluteFilePathERK7QString @ 2795 NONAME + _ZNK4QDir16relativeFilePathERK7QString @ 2796 NONAME + _ZNK4QDir4pathEv @ 2797 NONAME + _ZNK4QDir5countEv @ 2798 NONAME + _ZNK4QDir5mkdirERK7QString @ 2799 NONAME + _ZNK4QDir5rmdirERK7QString @ 2800 NONAME + _ZNK4QDir6existsERK7QString @ 2801 NONAME + _ZNK4QDir6existsEv @ 2802 NONAME + _ZNK4QDir6filterEv @ 2803 NONAME + _ZNK4QDir6isRootEv @ 2804 NONAME + _ZNK4QDir6mkpathERK7QString @ 2805 NONAME + _ZNK4QDir6rmpathERK7QString @ 2806 NONAME + _ZNK4QDir7dirNameEv @ 2807 NONAME + _ZNK4QDir7refreshEv @ 2808 NONAME + _ZNK4QDir7sortingEv @ 2809 NONAME + _ZNK4QDir8filePathERK7QString @ 2810 NONAME + _ZNK4QDir9entryListE6QFlagsINS_6FilterEES0_INS_8SortFlagEE @ 2811 NONAME + _ZNK4QDir9entryListERK11QStringList6QFlagsINS_6FilterEES3_INS_8SortFlagEE @ 2812 NONAME + _ZNK4QDireqERKS_ @ 2813 NONAME + _ZNK4QDirixEi @ 2814 NONAME + _ZNK4QUrl10isDetachedEv @ 2815 NONAME + _ZNK4QUrl10isParentOfERKS_ @ 2816 NONAME + _ZNK4QUrl10isRelativeEv @ 2817 NONAME + _ZNK4QUrl10queryItemsEv @ 2818 NONAME + _ZNK4QUrl11encodedHostEv @ 2819 NONAME + _ZNK4QUrl11encodedPathEv @ 2820 NONAME + _ZNK4QUrl11errorStringEv @ 2821 NONAME + _ZNK4QUrl11hasFragmentEv @ 2822 NONAME + _ZNK4QUrl11toLocalFileEv @ 2823 NONAME + _ZNK4QUrl12encodedQueryEv @ 2824 NONAME + _ZNK4QUrl12hasQueryItemERK7QString @ 2825 NONAME + _ZNK4QUrl14queryItemValueERK7QString @ 2826 NONAME + _ZNK4QUrl15encodedFragmentEv @ 2827 NONAME + _ZNK4QUrl15encodedPasswordEv @ 2828 NONAME + _ZNK4QUrl15encodedUserNameEv @ 2829 NONAME + _ZNK4QUrl17encodedQueryItemsEv @ 2830 NONAME + _ZNK4QUrl18allQueryItemValuesERK7QString @ 2831 NONAME + _ZNK4QUrl18queryPairDelimiterEv @ 2832 NONAME + _ZNK4QUrl19hasEncodedQueryItemERK10QByteArray @ 2833 NONAME + _ZNK4QUrl19queryValueDelimiterEv @ 2834 NONAME + _ZNK4QUrl21encodedQueryItemValueERK10QByteArray @ 2835 NONAME + _ZNK4QUrl25allEncodedQueryItemValuesERK10QByteArray @ 2836 NONAME + _ZNK4QUrl4hostEv @ 2837 NONAME + _ZNK4QUrl4pathEv @ 2838 NONAME + _ZNK4QUrl4portEi @ 2839 NONAME + _ZNK4QUrl4portEv @ 2840 NONAME + _ZNK4QUrl6schemeEv @ 2841 NONAME + _ZNK4QUrl7isEmptyEv @ 2842 NONAME + _ZNK4QUrl7isValidEv @ 2843 NONAME + _ZNK4QUrl8fragmentEv @ 2844 NONAME + _ZNK4QUrl8hasQueryEv @ 2845 NONAME + _ZNK4QUrl8passwordEv @ 2846 NONAME + _ZNK4QUrl8resolvedERKS_ @ 2847 NONAME + _ZNK4QUrl8toStringE6QFlagsINS_16FormattingOptionEE @ 2848 NONAME + _ZNK4QUrl8userInfoEv @ 2849 NONAME + _ZNK4QUrl8userNameEv @ 2850 NONAME + _ZNK4QUrl9authorityEv @ 2851 NONAME + _ZNK4QUrl9toEncodedE6QFlagsINS_16FormattingOptionEE @ 2852 NONAME + _ZNK4QUrleqERKS_ @ 2853 NONAME + _ZNK4QUrlltERKS_ @ 2854 NONAME + _ZNK4QUrlneERKS_ @ 2855 NONAME + _ZNK5QChar10digitValueEv @ 2856 NONAME + _ZNK5QChar11hasMirroredEv @ 2857 NONAME + _ZNK5QChar11toTitleCaseEv @ 2858 NONAME + _ZNK5QChar12mirroredCharEv @ 2859 NONAME + _ZNK5QChar12toCaseFoldedEv @ 2860 NONAME + _ZNK5QChar13decompositionEv @ 2861 NONAME + _ZNK5QChar14combiningClassEv @ 2862 NONAME + _ZNK5QChar14unicodeVersionEv @ 2863 NONAME + _ZNK5QChar16decompositionTagEv @ 2864 NONAME + _ZNK5QChar16isLetterOrNumberEv @ 2865 NONAME + _ZNK5QChar6isMarkEv @ 2866 NONAME + _ZNK5QChar7isDigitEv @ 2867 NONAME + _ZNK5QChar7isPrintEv @ 2868 NONAME + _ZNK5QChar7isPunctEv @ 2869 NONAME + _ZNK5QChar7isSpaceEv @ 2870 NONAME + _ZNK5QChar7joiningEv @ 2871 NONAME + _ZNK5QChar7toAsciiEv @ 2872 NONAME + _ZNK5QChar7toLowerEv @ 2873 NONAME + _ZNK5QChar7toUpperEv @ 2874 NONAME + _ZNK5QChar8categoryEv @ 2875 NONAME + _ZNK5QChar8isLetterEv @ 2876 NONAME + _ZNK5QChar8isNumberEv @ 2877 NONAME + _ZNK5QChar8isSymbolEv @ 2878 NONAME + _ZNK5QChar9directionEv @ 2879 NONAME + _ZNK5QDate10daysInYearEv @ 2880 NONAME + _ZNK5QDate10weekNumberEPi @ 2881 NONAME + _ZNK5QDate11daysInMonthEv @ 2882 NONAME + _ZNK5QDate3dayEv @ 2883 NONAME + _ZNK5QDate4yearEv @ 2884 NONAME + _ZNK5QDate5monthEv @ 2885 NONAME + _ZNK5QDate6daysToERKS_ @ 2886 NONAME + _ZNK5QDate7addDaysEi @ 2887 NONAME + _ZNK5QDate7isValidEv @ 2888 NONAME + _ZNK5QDate8addYearsEi @ 2889 NONAME + _ZNK5QDate8toStringEN2Qt10DateFormatE @ 2890 NONAME + _ZNK5QDate8toStringERK7QString @ 2891 NONAME + _ZNK5QDate9addMonthsEi @ 2892 NONAME + _ZNK5QDate9dayOfWeekEv @ 2893 NONAME + _ZNK5QDate9dayOfYearEv @ 2894 NONAME + _ZNK5QFile10fileEngineEv @ 2895 NONAME + _ZNK5QFile10metaObjectEv @ 2896 NONAME + _ZNK5QFile11permissionsEv @ 2897 NONAME + _ZNK5QFile12isSequentialEv @ 2898 NONAME + _ZNK5QFile3posEv @ 2899 NONAME + _ZNK5QFile4sizeEv @ 2900 NONAME + _ZNK5QFile5atEndEv @ 2901 NONAME + _ZNK5QFile5errorEv @ 2902 NONAME + _ZNK5QFile6existsEv @ 2903 NONAME + _ZNK5QFile6handleEv @ 2904 NONAME + _ZNK5QFile8fileNameEv @ 2905 NONAME + _ZNK5QFile8readLinkEv @ 2906 NONAME + _ZNK5QRect10intersectsERKS_ @ 2907 NONAME + _ZNK5QRect10normalizedEv @ 2908 NONAME + _ZNK5QRect8containsERK6QPointb @ 2909 NONAME + _ZNK5QRect8containsERKS_b @ 2910 NONAME + _ZNK5QRectanERKS_ @ 2911 NONAME + _ZNK5QRectorERKS_ @ 2912 NONAME + _ZNK5QTime4hourEv @ 2913 NONAME + _ZNK5QTime4msecEv @ 2914 NONAME + _ZNK5QTime6minuteEv @ 2915 NONAME + _ZNK5QTime6secondEv @ 2916 NONAME + _ZNK5QTime6secsToERKS_ @ 2917 NONAME + _ZNK5QTime7addSecsEi @ 2918 NONAME + _ZNK5QTime7elapsedEv @ 2919 NONAME + _ZNK5QTime7isValidEv @ 2920 NONAME + _ZNK5QTime7msecsToERKS_ @ 2921 NONAME + _ZNK5QTime8addMSecsEi @ 2922 NONAME + _ZNK5QTime8toStringEN2Qt10DateFormatE @ 2923 NONAME + _ZNK5QTime8toStringERK7QString @ 2924 NONAME + _ZNK5QUuid6isNullEv @ 2925 NONAME + _ZNK5QUuid7variantEv @ 2926 NONAME + _ZNK5QUuid7versionEv @ 2927 NONAME + _ZNK5QUuid8toStringEv @ 2928 NONAME + _ZNK5QUuidgtERKS_ @ 2929 NONAME + _ZNK5QUuidltERKS_ @ 2930 NONAME + _ZNK6QLineF10unitVectorEv @ 2931 NONAME + _ZNK6QLineF5angleERKS_ @ 2932 NONAME + _ZNK6QLineF5angleEv @ 2933 NONAME + _ZNK6QLineF6isNullEv @ 2934 NONAME + _ZNK6QLineF6lengthEv @ 2935 NONAME + _ZNK6QLineF7angleToERKS_ @ 2936 NONAME + _ZNK6QLineF9intersectERKS_P7QPointF @ 2937 NONAME + _ZNK6QPoint15manhattanLengthEv @ 2938 NONAME + _ZNK6QRectF10intersectsERKS_ @ 2939 NONAME + _ZNK6QRectF10normalizedEv @ 2940 NONAME + _ZNK6QRectF13toAlignedRectEv @ 2941 NONAME + _ZNK6QRectF8containsERK7QPointF @ 2942 NONAME + _ZNK6QRectF8containsERKS_ @ 2943 NONAME + _ZNK6QRectFanERKS_ @ 2944 NONAME + _ZNK6QRectForERKS_ @ 2945 NONAME + _ZNK6QState10errorStateEv @ 2946 NONAME + _ZNK6QState10metaObjectEv @ 2947 NONAME + _ZNK6QState12initialStateEv @ 2948 NONAME + _ZNK6QState9childModeEv @ 2949 NONAME + _ZNK6QTimer10metaObjectEv @ 2950 NONAME + _ZNK7QBuffer10metaObjectEv @ 2951 NONAME + _ZNK7QBuffer11canReadLineEv @ 2952 NONAME + _ZNK7QBuffer3posEv @ 2953 NONAME + _ZNK7QBuffer4dataEv @ 2954 NONAME + _ZNK7QBuffer4sizeEv @ 2955 NONAME + _ZNK7QBuffer5atEndEv @ 2956 NONAME + _ZNK7QBuffer6bufferEv @ 2957 NONAME + _ZNK7QLocale10dateFormatENS_10FormatTypeE @ 2958 NONAME + _ZNK7QLocale10timeFormatENS_10FormatTypeE @ 2959 NONAME + _ZNK7QLocale10toDateTimeERK7QStringNS_10FormatTypeE @ 2960 NONAME + _ZNK7QLocale10toDateTimeERK7QStringS2_ @ 2961 NONAME + _ZNK7QLocale10toLongLongERK7QStringPbi @ 2962 NONAME + _ZNK7QLocale11exponentialEv @ 2963 NONAME + _ZNK7QLocale11toULongLongERK7QStringPbi @ 2964 NONAME + _ZNK7QLocale12decimalPointEv @ 2965 NONAME + _ZNK7QLocale12negativeSignEv @ 2966 NONAME + _ZNK7QLocale12positiveSignEv @ 2967 NONAME + _ZNK7QLocale13numberOptionsEv @ 2968 NONAME + _ZNK7QLocale14dateTimeFormatENS_10FormatTypeE @ 2969 NONAME + _ZNK7QLocale14groupSeparatorEv @ 2970 NONAME + _ZNK7QLocale17measurementSystemEv @ 2971 NONAME + _ZNK7QLocale17standaloneDayNameEiNS_10FormatTypeE @ 2972 NONAME + _ZNK7QLocale19standaloneMonthNameEiNS_10FormatTypeE @ 2973 NONAME + _ZNK7QLocale1dEv @ 2974 NONAME + _ZNK7QLocale4nameEv @ 2975 NONAME + _ZNK7QLocale5toIntERK7QStringPbi @ 2976 NONAME + _ZNK7QLocale6amTextEv @ 2977 NONAME + _ZNK7QLocale6pmTextEv @ 2978 NONAME + _ZNK7QLocale6toDateERK7QStringNS_10FormatTypeE @ 2979 NONAME + _ZNK7QLocale6toDateERK7QStringS2_ @ 2980 NONAME + _ZNK7QLocale6toTimeERK7QStringNS_10FormatTypeE @ 2981 NONAME + _ZNK7QLocale6toTimeERK7QStringS2_ @ 2982 NONAME + _ZNK7QLocale6toUIntERK7QStringPbi @ 2983 NONAME + _ZNK7QLocale7countryEv @ 2984 NONAME + _ZNK7QLocale7dayNameEiNS_10FormatTypeE @ 2985 NONAME + _ZNK7QLocale7percentEv @ 2986 NONAME + _ZNK7QLocale7toFloatERK7QStringPb @ 2987 NONAME + _ZNK7QLocale7toShortERK7QStringPbi @ 2988 NONAME + _ZNK7QLocale8languageEv @ 2989 NONAME + _ZNK7QLocale8toDoubleERK7QStringPb @ 2990 NONAME + _ZNK7QLocale8toStringERK5QDateNS_10FormatTypeE @ 2991 NONAME + _ZNK7QLocale8toStringERK5QDateRK7QString @ 2992 NONAME + _ZNK7QLocale8toStringERK5QTimeNS_10FormatTypeE @ 2993 NONAME + _ZNK7QLocale8toStringERK5QTimeRK7QString @ 2994 NONAME + _ZNK7QLocale8toStringERK9QDateTimeNS_10FormatTypeE @ 2995 NONAME + _ZNK7QLocale8toStringERK9QDateTimeRK7QString @ 2996 NONAME + _ZNK7QLocale8toStringEdci @ 2997 NONAME + _ZNK7QLocale8toStringEx @ 2998 NONAME + _ZNK7QLocale8toStringEy @ 2999 NONAME + _ZNK7QLocale8toUShortERK7QStringPbi @ 3000 NONAME + _ZNK7QLocale9monthNameEiNS_10FormatTypeE @ 3001 NONAME + _ZNK7QLocale9zeroDigitEv @ 3002 NONAME + _ZNK7QObject10metaObjectEv @ 3003 NONAME + _ZNK7QObject10objectNameEv @ 3004 NONAME + _ZNK7QObject20dynamicPropertyNamesEv @ 3005 NONAME + _ZNK7QObject6senderEv @ 3006 NONAME + _ZNK7QObject6threadEv @ 3007 NONAME + _ZNK7QObject8propertyEPKc @ 3008 NONAME + _ZNK7QObject8userDataEj @ 3009 NONAME + _ZNK7QObject9receiversEPKc @ 3010 NONAME + _ZNK7QPointF15manhattanLengthEv @ 3011 NONAME + _ZNK7QRegExp10exactMatchERK7QString @ 3012 NONAME + _ZNK7QRegExp11errorStringEv @ 3013 NONAME + _ZNK7QRegExp11lastIndexInERK7QStringiNS_9CaretModeE @ 3014 NONAME + _ZNK7QRegExp11numCapturesEv @ 3015 NONAME + _ZNK7QRegExp13capturedTextsEv @ 3016 NONAME + _ZNK7QRegExp13matchedLengthEv @ 3017 NONAME + _ZNK7QRegExp13patternSyntaxEv @ 3018 NONAME + _ZNK7QRegExp15caseSensitivityEv @ 3019 NONAME + _ZNK7QRegExp3capEi @ 3020 NONAME + _ZNK7QRegExp3posEi @ 3021 NONAME + _ZNK7QRegExp7indexInERK7QStringiNS_9CaretModeE @ 3022 NONAME + _ZNK7QRegExp7isEmptyEv @ 3023 NONAME + _ZNK7QRegExp7isValidEv @ 3024 NONAME + _ZNK7QRegExp7patternEv @ 3025 NONAME + _ZNK7QRegExp9isMinimalEv @ 3026 NONAME + _ZNK7QRegExpeqERKS_ @ 3027 NONAME + _ZNK7QString10normalizedENS_17NormalizationFormE @ 3028 NONAME + _ZNK7QString10normalizedENS_17NormalizationFormEN5QChar14UnicodeVersionE @ 3029 NONAME + _ZNK7QString10simplifiedEv @ 3030 NONAME + _ZNK7QString10startsWithERK13QLatin1StringN2Qt15CaseSensitivityE @ 3031 NONAME + _ZNK7QString10startsWithERK5QCharN2Qt15CaseSensitivityE @ 3032 NONAME + _ZNK7QString10startsWithERKS_N2Qt15CaseSensitivityE @ 3033 NONAME + _ZNK7QString10toLongLongEPbi @ 3034 NONAME + _ZNK7QString11lastIndexOfE5QChariN2Qt15CaseSensitivityE @ 3035 NONAME + _ZNK7QString11lastIndexOfER7QRegExpi @ 3036 NONAME + _ZNK7QString11lastIndexOfERK13QLatin1StringiN2Qt15CaseSensitivityE @ 3037 NONAME + _ZNK7QString11lastIndexOfERK7QRegExpi @ 3038 NONAME + _ZNK7QString11lastIndexOfERKS_iN2Qt15CaseSensitivityE @ 3039 NONAME + _ZNK7QString11toLocal8BitEv @ 3040 NONAME + _ZNK7QString11toULongLongEPbi @ 3041 NONAME + _ZNK7QString12toCaseFoldedEv @ 3042 NONAME + _ZNK7QString12toWCharArrayEPw @ 3043 NONAME + _ZNK7QString13leftJustifiedEi5QCharb @ 3044 NONAME + _ZNK7QString14rightJustifiedEi5QCharb @ 3045 NONAME + _ZNK7QString16updatePropertiesEv @ 3046 NONAME + _ZNK7QString18localeAwareCompareERKS_ @ 3047 NONAME + _ZNK7QString3argE5QChariRKS0_ @ 3048 NONAME + _ZNK7QString3argERKS_iRK5QChar @ 3049 NONAME + _ZNK7QString3argEciRK5QChar @ 3050 NONAME + _ZNK7QString3argEdiciRK5QChar @ 3051 NONAME + _ZNK7QString3argExiiRK5QChar @ 3052 NONAME + _ZNK7QString3argEyiiRK5QChar @ 3053 NONAME + _ZNK7QString3midEii @ 3054 NONAME + _ZNK7QString4leftEi @ 3055 NONAME + _ZNK7QString5countE5QCharN2Qt15CaseSensitivityE @ 3056 NONAME + _ZNK7QString5countERK7QRegExp @ 3057 NONAME + _ZNK7QString5countERKS_N2Qt15CaseSensitivityE @ 3058 NONAME + _ZNK7QString5rightEi @ 3059 NONAME + _ZNK7QString5splitERK5QCharNS_13SplitBehaviorEN2Qt15CaseSensitivityE @ 3060 NONAME + _ZNK7QString5splitERK7QRegExpNS_13SplitBehaviorE @ 3061 NONAME + _ZNK7QString5splitERKS_NS_13SplitBehaviorEN2Qt15CaseSensitivityE @ 3062 NONAME + _ZNK7QString5toIntEPbi @ 3063 NONAME + _ZNK7QString5utf16Ev @ 3064 NONAME + _ZNK7QString6midRefEii @ 3065 NONAME + _ZNK7QString6toLongEPbi @ 3066 NONAME + _ZNK7QString6toUIntEPbi @ 3067 NONAME + _ZNK7QString6toUcs4Ev @ 3068 NONAME + _ZNK7QString6toUtf8Ev @ 3069 NONAME + _ZNK7QString7compareERK13QLatin1StringN2Qt15CaseSensitivityE @ 3070 NONAME + _ZNK7QString7compareERKS_ @ 3071 NONAME + _ZNK7QString7compareERKS_N2Qt15CaseSensitivityE @ 3072 NONAME + _ZNK7QString7indexOfE5QChariN2Qt15CaseSensitivityE @ 3073 NONAME + _ZNK7QString7indexOfER7QRegExpi @ 3074 NONAME + _ZNK7QString7indexOfERK13QLatin1StringiN2Qt15CaseSensitivityE @ 3075 NONAME + _ZNK7QString7indexOfERK7QRegExpi @ 3076 NONAME + _ZNK7QString7indexOfERKS_iN2Qt15CaseSensitivityE @ 3077 NONAME + _ZNK7QString7leftRefEi @ 3078 NONAME + _ZNK7QString7sectionERK7QRegExpii6QFlagsINS_11SectionFlagEE @ 3079 NONAME + _ZNK7QString7sectionERKS_ii6QFlagsINS_11SectionFlagEE @ 3080 NONAME + _ZNK7QString7toAsciiEv @ 3081 NONAME + _ZNK7QString7toFloatEPb @ 3082 NONAME + _ZNK7QString7toLowerEv @ 3083 NONAME + _ZNK7QString7toShortEPbi @ 3084 NONAME + _ZNK7QString7toULongEPbi @ 3085 NONAME + _ZNK7QString7toUpperEv @ 3086 NONAME + _ZNK7QString7trimmedEv @ 3087 NONAME + _ZNK7QString8endsWithERK13QLatin1StringN2Qt15CaseSensitivityE @ 3088 NONAME + _ZNK7QString8endsWithERK5QCharN2Qt15CaseSensitivityE @ 3089 NONAME + _ZNK7QString8endsWithERKS_N2Qt15CaseSensitivityE @ 3090 NONAME + _ZNK7QString8multiArgEiPPKS_ @ 3091 NONAME + _ZNK7QString8repeatedEi @ 3092 NONAME + _ZNK7QString8rightRefEi @ 3093 NONAME + _ZNK7QString8toDoubleEPb @ 3094 NONAME + _ZNK7QString8toLatin1Ev @ 3095 NONAME + _ZNK7QString8toUShortEPbi @ 3096 NONAME + _ZNK7QStringeqERK13QLatin1String @ 3097 NONAME + _ZNK7QStringeqERKS_ @ 3098 NONAME + _ZNK7QStringgtERK13QLatin1String @ 3099 NONAME + _ZNK7QStringltERK13QLatin1String @ 3100 NONAME + _ZNK7QStringltERKS_ @ 3101 NONAME + _ZNK7QThread10isFinishedEv @ 3102 NONAME + _ZNK7QThread10metaObjectEv @ 3103 NONAME + _ZNK7QThread8priorityEv @ 3104 NONAME + _ZNK7QThread9isRunningEv @ 3105 NONAME + _ZNK7QThread9stackSizeEv @ 3106 NONAME + _ZNK8QLibrary10metaObjectEv @ 3107 NONAME + _ZNK8QLibrary11errorStringEv @ 3108 NONAME + _ZNK8QLibrary8fileNameEv @ 3109 NONAME + _ZNK8QLibrary8isLoadedEv @ 3110 NONAME + _ZNK8QLibrary9loadHintsEv @ 3111 NONAME + _ZNK8QProcess10exitStatusEv @ 3112 NONAME + _ZNK8QProcess10metaObjectEv @ 3113 NONAME + _ZNK8QProcess11canReadLineEv @ 3114 NONAME + _ZNK8QProcess11environmentEv @ 3115 NONAME + _ZNK8QProcess11readChannelEv @ 3116 NONAME + _ZNK8QProcess12bytesToWriteEv @ 3117 NONAME + _ZNK8QProcess12isSequentialEv @ 3118 NONAME + _ZNK8QProcess14bytesAvailableEv @ 3119 NONAME + _ZNK8QProcess15readChannelModeEv @ 3120 NONAME + _ZNK8QProcess16workingDirectoryEv @ 3121 NONAME + _ZNK8QProcess18processChannelModeEv @ 3122 NONAME + _ZNK8QProcess18processEnvironmentEv @ 3123 NONAME + _ZNK8QProcess3pidEv @ 3124 NONAME + _ZNK8QProcess5atEndEv @ 3125 NONAME + _ZNK8QProcess5errorEv @ 3126 NONAME + _ZNK8QProcess5stateEv @ 3127 NONAME + _ZNK8QProcess8exitCodeEv @ 3128 NONAME + _ZNK8QVariant10canConvertENS_4TypeE @ 3129 NONAME + _ZNK8QVariant10toBitArrayEv @ 3130 NONAME + _ZNK8QVariant10toDateTimeEv @ 3131 NONAME + _ZNK8QVariant10toLongLongEPb @ 3132 NONAME + _ZNK8QVariant11toByteArrayEv @ 3133 NONAME + _ZNK8QVariant11toULongLongEPb @ 3134 NONAME + _ZNK8QVariant12toStringListEv @ 3135 NONAME + _ZNK8QVariant3cmpERKS_ @ 3136 NONAME + _ZNK8QVariant4saveER11QDataStream @ 3137 NONAME + _ZNK8QVariant4typeEv @ 3138 NONAME + _ZNK8QVariant5toIntEPb @ 3139 NONAME + _ZNK8QVariant5toMapEv @ 3140 NONAME + _ZNK8QVariant5toUrlEv @ 3141 NONAME + _ZNK8QVariant6isNullEv @ 3142 NONAME + _ZNK8QVariant6toBoolEv @ 3143 NONAME + _ZNK8QVariant6toCharEv @ 3144 NONAME + _ZNK8QVariant6toDateEv @ 3145 NONAME + _ZNK8QVariant6toHashEv @ 3146 NONAME + _ZNK8QVariant6toLineEv @ 3147 NONAME + _ZNK8QVariant6toListEv @ 3148 NONAME + _ZNK8QVariant6toRealEPb @ 3149 NONAME + _ZNK8QVariant6toRectEv @ 3150 NONAME + _ZNK8QVariant6toSizeEv @ 3151 NONAME + _ZNK8QVariant6toTimeEv @ 3152 NONAME + _ZNK8QVariant6toUIntEPb @ 3153 NONAME + _ZNK8QVariant7toFloatEPb @ 3154 NONAME + _ZNK8QVariant7toLineFEv @ 3155 NONAME + _ZNK8QVariant7toPointEv @ 3156 NONAME + _ZNK8QVariant7toRectFEv @ 3157 NONAME + _ZNK8QVariant7toSizeFEv @ 3158 NONAME + _ZNK8QVariant8toDoubleEPb @ 3159 NONAME + _ZNK8QVariant8toLocaleEv @ 3160 NONAME + _ZNK8QVariant8toPointFEv @ 3161 NONAME + _ZNK8QVariant8toRegExpEv @ 3162 NONAME + _ZNK8QVariant8toStringEv @ 3163 NONAME + _ZNK8QVariant8typeNameEv @ 3164 NONAME + _ZNK8QVariant8userTypeEv @ 3165 NONAME + _ZNK8QVariant9constDataEv @ 3166 NONAME + _ZNK9QBitArray5countEb @ 3167 NONAME + _ZNK9QBitArraycoEv @ 3168 NONAME + _ZNK9QDateTime10toTimeSpecEN2Qt8TimeSpecE @ 3169 NONAME + _ZNK9QDateTime4dateEv @ 3170 NONAME + _ZNK9QDateTime4timeEv @ 3171 NONAME + _ZNK9QDateTime6daysToERKS_ @ 3172 NONAME + _ZNK9QDateTime6isNullEv @ 3173 NONAME + _ZNK9QDateTime6secsToERKS_ @ 3174 NONAME + _ZNK9QDateTime7addDaysEi @ 3175 NONAME + _ZNK9QDateTime7addSecsEi @ 3176 NONAME + _ZNK9QDateTime7isValidEv @ 3177 NONAME + _ZNK9QDateTime8addMSecsEx @ 3178 NONAME + _ZNK9QDateTime8addYearsEi @ 3179 NONAME + _ZNK9QDateTime8timeSpecEv @ 3180 NONAME + _ZNK9QDateTime8toStringEN2Qt10DateFormatE @ 3181 NONAME + _ZNK9QDateTime8toStringERK7QString @ 3182 NONAME + _ZNK9QDateTime8toTime_tEv @ 3183 NONAME + _ZNK9QDateTime9addMonthsEi @ 3184 NONAME + _ZNK9QDateTime9utcOffsetEv @ 3185 NONAME + _ZNK9QDateTimeeqERKS_ @ 3186 NONAME + _ZNK9QDateTimeltERKS_ @ 3187 NONAME + _ZNK9QFileInfo10bundleNameEv @ 3188 NONAME + _ZNK9QFileInfo10isReadableEv @ 3189 NONAME + _ZNK9QFileInfo10isRelativeEv @ 3190 NONAME + _ZNK9QFileInfo10isWritableEv @ 3191 NONAME + _ZNK9QFileInfo10permissionE6QFlagsIN5QFile10PermissionEE @ 3192 NONAME + _ZNK9QFileInfo11absoluteDirEv @ 3193 NONAME + _ZNK9QFileInfo11permissionsEv @ 3194 NONAME + _ZNK9QFileInfo12absolutePathEv @ 3195 NONAME + _ZNK9QFileInfo12isExecutableEv @ 3196 NONAME + _ZNK9QFileInfo12lastModifiedEv @ 3197 NONAME + _ZNK9QFileInfo13canonicalPathEv @ 3198 NONAME + _ZNK9QFileInfo14completeSuffixEv @ 3199 NONAME + _ZNK9QFileInfo16absoluteFilePathEv @ 3200 NONAME + _ZNK9QFileInfo16completeBaseNameEv @ 3201 NONAME + _ZNK9QFileInfo17canonicalFilePathEv @ 3202 NONAME + _ZNK9QFileInfo3dirEv @ 3203 NONAME + _ZNK9QFileInfo4pathEv @ 3204 NONAME + _ZNK9QFileInfo4sizeEv @ 3205 NONAME + _ZNK9QFileInfo5groupEv @ 3206 NONAME + _ZNK9QFileInfo5isDirEv @ 3207 NONAME + _ZNK9QFileInfo5ownerEv @ 3208 NONAME + _ZNK9QFileInfo6existsEv @ 3209 NONAME + _ZNK9QFileInfo6isFileEv @ 3210 NONAME + _ZNK9QFileInfo6isRootEv @ 3211 NONAME + _ZNK9QFileInfo6suffixEv @ 3212 NONAME + _ZNK9QFileInfo7cachingEv @ 3213 NONAME + _ZNK9QFileInfo7createdEv @ 3214 NONAME + _ZNK9QFileInfo7groupIdEv @ 3215 NONAME + _ZNK9QFileInfo7ownerIdEv @ 3216 NONAME + _ZNK9QFileInfo8baseNameEv @ 3217 NONAME + _ZNK9QFileInfo8fileNameEv @ 3218 NONAME + _ZNK9QFileInfo8filePathEv @ 3219 NONAME + _ZNK9QFileInfo8isBundleEv @ 3220 NONAME + _ZNK9QFileInfo8isHiddenEv @ 3221 NONAME + _ZNK9QFileInfo8lastReadEv @ 3222 NONAME + _ZNK9QFileInfo8readLinkEv @ 3223 NONAME + _ZNK9QFileInfo9isSymLinkEv @ 3224 NONAME + _ZNK9QFileInfoeqERKS_ @ 3225 NONAME + _ZNK9QIODevice10isReadableEv @ 3226 NONAME + _ZNK9QIODevice10isWritableEv @ 3227 NONAME + _ZNK9QIODevice10metaObjectEv @ 3228 NONAME + _ZNK9QIODevice11canReadLineEv @ 3229 NONAME + _ZNK9QIODevice11errorStringEv @ 3230 NONAME + _ZNK9QIODevice12bytesToWriteEv @ 3231 NONAME + _ZNK9QIODevice12isSequentialEv @ 3232 NONAME + _ZNK9QIODevice14bytesAvailableEv @ 3233 NONAME + _ZNK9QIODevice17isTextModeEnabledEv @ 3234 NONAME + _ZNK9QIODevice3posEv @ 3235 NONAME + _ZNK9QIODevice4sizeEv @ 3236 NONAME + _ZNK9QIODevice5atEndEv @ 3237 NONAME + _ZNK9QIODevice6isOpenEv @ 3238 NONAME + _ZNK9QIODevice8openModeEv @ 3239 NONAME + _ZNK9QMetaEnum10keyToValueEPKc @ 3240 NONAME + _ZNK9QMetaEnum10valueToKeyEi @ 3241 NONAME + _ZNK9QMetaEnum11keysToValueEPKc @ 3242 NONAME + _ZNK9QMetaEnum11valueToKeysEi @ 3243 NONAME + _ZNK9QMetaEnum3keyEi @ 3244 NONAME + _ZNK9QMetaEnum4nameEv @ 3245 NONAME + _ZNK9QMetaEnum5scopeEv @ 3246 NONAME + _ZNK9QMetaEnum5valueEi @ 3247 NONAME + _ZNK9QMetaEnum6isFlagEv @ 3248 NONAME + _ZNK9QMetaEnum8keyCountEv @ 3249 NONAME + _ZNK9QMimeData10metaObjectEv @ 3250 NONAME + _ZNK9QMimeData12retrieveDataERK7QStringN8QVariant4TypeE @ 3251 NONAME + _ZNK9QMimeData4dataERK7QString @ 3252 NONAME + _ZNK9QMimeData4htmlEv @ 3253 NONAME + _ZNK9QMimeData4textEv @ 3254 NONAME + _ZNK9QMimeData4urlsEv @ 3255 NONAME + _ZNK9QMimeData7formatsEv @ 3256 NONAME + _ZNK9QMimeData7hasHtmlEv @ 3257 NONAME + _ZNK9QMimeData7hasTextEv @ 3258 NONAME + _ZNK9QMimeData7hasUrlsEv @ 3259 NONAME + _ZNK9QMimeData8hasColorEv @ 3260 NONAME + _ZNK9QMimeData8hasImageEv @ 3261 NONAME + _ZNK9QMimeData9colorDataEv @ 3262 NONAME + _ZNK9QMimeData9hasFormatERK7QString @ 3263 NONAME + _ZNK9QMimeData9imageDataEv @ 3264 NONAME + _ZNK9QResource12isCompressedEv @ 3265 NONAME + _ZNK9QResource16absoluteFilePathEv @ 3266 NONAME + _ZNK9QResource4dataEv @ 3267 NONAME + _ZNK9QResource4sizeEv @ 3268 NONAME + _ZNK9QResource5isDirEv @ 3269 NONAME + _ZNK9QResource6localeEv @ 3270 NONAME + _ZNK9QResource7isValidEv @ 3271 NONAME + _ZNK9QResource8childrenEv @ 3272 NONAME + _ZNK9QResource8fileNameEv @ 3273 NONAME + _ZNK9QSettings10isWritableEv @ 3274 NONAME + _ZNK9QSettings10metaObjectEv @ 3275 NONAME + _ZNK9QSettings11childGroupsEv @ 3276 NONAME + _ZNK9QSettings15applicationNameEv @ 3277 NONAME + _ZNK9QSettings16fallbacksEnabledEv @ 3278 NONAME + _ZNK9QSettings16organizationNameEv @ 3279 NONAME + _ZNK9QSettings5groupEv @ 3280 NONAME + _ZNK9QSettings5scopeEv @ 3281 NONAME + _ZNK9QSettings5valueERK7QStringRK8QVariant @ 3282 NONAME + _ZNK9QSettings6formatEv @ 3283 NONAME + _ZNK9QSettings6statusEv @ 3284 NONAME + _ZNK9QSettings7allKeysEv @ 3285 NONAME + _ZNK9QSettings8containsERK7QString @ 3286 NONAME + _ZNK9QSettings8fileNameEv @ 3287 NONAME + _ZNK9QSettings8iniCodecEv @ 3288 NONAME + _ZNK9QSettings9childKeysEv @ 3289 NONAME + _ZNK9QTimeLine10curveShapeEv @ 3290 NONAME + _ZNK9QTimeLine10metaObjectEv @ 3291 NONAME + _ZNK9QTimeLine10startFrameEv @ 3292 NONAME + _ZNK9QTimeLine11currentTimeEv @ 3293 NONAME + _ZNK9QTimeLine11easingCurveEv @ 3294 NONAME + _ZNK9QTimeLine12currentFrameEv @ 3295 NONAME + _ZNK9QTimeLine12currentValueEv @ 3296 NONAME + _ZNK9QTimeLine12frameForTimeEi @ 3297 NONAME + _ZNK9QTimeLine12valueForTimeEi @ 3298 NONAME + _ZNK9QTimeLine14updateIntervalEv @ 3299 NONAME + _ZNK9QTimeLine5stateEv @ 3300 NONAME + _ZNK9QTimeLine8durationEv @ 3301 NONAME + _ZNK9QTimeLine8endFrameEv @ 3302 NONAME + _ZNK9QTimeLine9directionEv @ 3303 NONAME + _ZNK9QTimeLine9loopCountEv @ 3304 NONAME + _ZTI10QEventLoop @ 3305 NONAME + _ZTI10QTextCodec @ 3306 NONAME + _ZTI11QChildEvent @ 3307 NONAME + _ZTI11QDataStream @ 3308 NONAME + _ZTI11QFinalState @ 3309 NONAME + _ZTI11QTextStream @ 3310 NONAME + _ZTI11QThreadPool @ 3311 NONAME + _ZTI11QTimerEvent @ 3312 NONAME + _ZTI11QTranslator @ 3313 NONAME + _ZTI12QDirIterator @ 3314 NONAME + _ZTI13QFSFileEngine @ 3315 NONAME + _ZTI13QFontLaoCodec @ 3316 NONAME + _ZTI13QHistoryState @ 3317 NONAME + _ZTI13QPluginLoader @ 3318 NONAME + _ZTI13QSharedMemory @ 3319 NONAME + _ZTI13QSignalMapper @ 3320 NONAME + _ZTI13QStateMachine @ 3321 NONAME + _ZTI13QSystemLocale @ 3322 NONAME + _ZTI14QAbstractState @ 3323 NONAME + _ZTI14QFactoryLoader @ 3324 NONAME + _ZTI14QMetaCallEvent @ 3325 NONAME + _ZTI14QObjectPrivate @ 3326 NONAME + _ZTI14QTemporaryFile @ 3327 NONAME + _ZTI15QAnimationGroup @ 3328 NONAME + _ZTI15QDateTimeParser @ 3329 NONAME + _ZTI15QObjectUserData @ 3330 NONAME + _ZTI15QPauseAnimation @ 3331 NONAME + _ZTI15QSocketNotifier @ 3332 NONAME + _ZTI16QCoreApplication @ 3333 NONAME + _ZTI16QDeclarativeData @ 3334 NONAME + _ZTI16QEventTransition @ 3335 NONAME + _ZTI16QIODevicePrivate @ 3336 NONAME + _ZTI16QTextCodecPlugin @ 3337 NONAME + _ZTI17QFactoryInterface @ 3338 NONAME + _ZTI17QSignalTransition @ 3339 NONAME + _ZTI17QVariantAnimation @ 3340 NONAME + _ZTI18CQtActiveScheduler @ 3341 NONAME + _ZTI18QAbstractAnimation @ 3342 NONAME + _ZTI18QAbstractItemModel @ 3343 NONAME + _ZTI18QAbstractListModel @ 3344 NONAME + _ZTI18QFileSystemWatcher @ 3345 NONAME + _ZTI18QPropertyAnimation @ 3346 NONAME + _ZTI19QAbstractFileEngine @ 3347 NONAME + _ZTI19QAbstractTableModel @ 3348 NONAME + _ZTI19QAbstractTransition @ 3349 NONAME + _ZTI20QStateMachinePrivate @ 3350 NONAME + _ZTI21QObjectCleanupHandler @ 3351 NONAME + _ZTI23QCoreApplicationPrivate @ 3352 NONAME + _ZTI23QEventDispatcherSymbian @ 3353 NONAME + _ZTI23QEventTransitionPrivate @ 3354 NONAME + _ZTI23QParallelAnimationGroup @ 3355 NONAME + _ZTI24QAbstractEventDispatcher @ 3356 NONAME + _ZTI24QNonContiguousByteDevice @ 3357 NONAME + _ZTI24QXmlStreamEntityResolver @ 3358 NONAME + _ZTI25QAbstractItemModelPrivate @ 3359 NONAME + _ZTI25QSequentialAnimationGroup @ 3360 NONAME + _ZTI26QAbstractFileEngineHandler @ 3361 NONAME + _ZTI26QAbstractTransitionPrivate @ 3362 NONAME + _ZTI26QTextCodecFactoryInterface @ 3363 NONAME + _ZTI27QAbstractFileEngineIterator @ 3364 NONAME + _ZTI27QDynamicPropertyChangeEvent @ 3365 NONAME + _ZTI31QAbstractEventDispatcherPrivate @ 3366 NONAME + _ZTI5QFile @ 3367 NONAME + _ZTI6QEvent @ 3368 NONAME + _ZTI6QState @ 3369 NONAME + _ZTI6QTimer @ 3370 NONAME + _ZTI7QBuffer @ 3371 NONAME + _ZTI7QObject @ 3372 NONAME + _ZTI7QThread @ 3373 NONAME + _ZTI8QLibrary @ 3374 NONAME + _ZTI8QProcess @ 3375 NONAME + _ZTI9QIODevice @ 3376 NONAME + _ZTI9QMimeData @ 3377 NONAME + _ZTI9QSettings @ 3378 NONAME + _ZTI9QTimeLine @ 3379 NONAME + _ZTV10QEventLoop @ 3380 NONAME + _ZTV10QTextCodec @ 3381 NONAME + _ZTV11QChildEvent @ 3382 NONAME + _ZTV11QDataStream @ 3383 NONAME + _ZTV11QFinalState @ 3384 NONAME + _ZTV11QTextStream @ 3385 NONAME + _ZTV11QThreadPool @ 3386 NONAME + _ZTV11QTimerEvent @ 3387 NONAME + _ZTV11QTranslator @ 3388 NONAME + _ZTV12QDirIterator @ 3389 NONAME + _ZTV13QFSFileEngine @ 3390 NONAME + _ZTV13QFontLaoCodec @ 3391 NONAME + _ZTV13QHistoryState @ 3392 NONAME + _ZTV13QPluginLoader @ 3393 NONAME + _ZTV13QSharedMemory @ 3394 NONAME + _ZTV13QSignalMapper @ 3395 NONAME + _ZTV13QStateMachine @ 3396 NONAME + _ZTV13QSystemLocale @ 3397 NONAME + _ZTV14QAbstractState @ 3398 NONAME + _ZTV14QFactoryLoader @ 3399 NONAME + _ZTV14QMetaCallEvent @ 3400 NONAME + _ZTV14QObjectPrivate @ 3401 NONAME + _ZTV14QTemporaryFile @ 3402 NONAME + _ZTV15QAnimationGroup @ 3403 NONAME + _ZTV15QDateTimeParser @ 3404 NONAME + _ZTV15QObjectUserData @ 3405 NONAME + _ZTV15QPauseAnimation @ 3406 NONAME + _ZTV15QSocketNotifier @ 3407 NONAME + _ZTV16QCoreApplication @ 3408 NONAME + _ZTV16QDeclarativeData @ 3409 NONAME + _ZTV16QEventTransition @ 3410 NONAME + _ZTV16QIODevicePrivate @ 3411 NONAME + _ZTV16QTextCodecPlugin @ 3412 NONAME + _ZTV17QSignalTransition @ 3413 NONAME + _ZTV17QVariantAnimation @ 3414 NONAME + _ZTV18CQtActiveScheduler @ 3415 NONAME + _ZTV18QAbstractAnimation @ 3416 NONAME + _ZTV18QAbstractItemModel @ 3417 NONAME + _ZTV18QAbstractListModel @ 3418 NONAME + _ZTV18QFileSystemWatcher @ 3419 NONAME + _ZTV18QPropertyAnimation @ 3420 NONAME + _ZTV19QAbstractFileEngine @ 3421 NONAME + _ZTV19QAbstractTableModel @ 3422 NONAME + _ZTV19QAbstractTransition @ 3423 NONAME + _ZTV20QStateMachinePrivate @ 3424 NONAME + _ZTV21QObjectCleanupHandler @ 3425 NONAME + _ZTV23QCoreApplicationPrivate @ 3426 NONAME + _ZTV23QEventDispatcherSymbian @ 3427 NONAME + _ZTV23QEventTransitionPrivate @ 3428 NONAME + _ZTV23QParallelAnimationGroup @ 3429 NONAME + _ZTV24QAbstractEventDispatcher @ 3430 NONAME + _ZTV24QNonContiguousByteDevice @ 3431 NONAME + _ZTV24QXmlStreamEntityResolver @ 3432 NONAME + _ZTV25QAbstractItemModelPrivate @ 3433 NONAME + _ZTV25QSequentialAnimationGroup @ 3434 NONAME + _ZTV26QAbstractFileEngineHandler @ 3435 NONAME + _ZTV26QAbstractTransitionPrivate @ 3436 NONAME + _ZTV27QAbstractFileEngineIterator @ 3437 NONAME + _ZTV27QDynamicPropertyChangeEvent @ 3438 NONAME + _ZTV31QAbstractEventDispatcherPrivate @ 3439 NONAME + _ZTV5QFile @ 3440 NONAME + _ZTV6QEvent @ 3441 NONAME + _ZTV6QState @ 3442 NONAME + _ZTV6QTimer @ 3443 NONAME + _ZTV7QBuffer @ 3444 NONAME + _ZTV7QObject @ 3445 NONAME + _ZTV7QThread @ 3446 NONAME + _ZTV8QLibrary @ 3447 NONAME + _ZTV8QProcess @ 3448 NONAME + _ZTV9QIODevice @ 3449 NONAME + _ZTV9QMimeData @ 3450 NONAME + _ZTV9QSettings @ 3451 NONAME + _ZTV9QTimeLine @ 3452 NONAME + _ZThn8_N16QTextCodecPlugin6createERK7QString @ 3453 NONAME + _ZThn8_N16QTextCodecPluginD0Ev @ 3454 NONAME + _ZThn8_N16QTextCodecPluginD1Ev @ 3455 NONAME + _ZThn8_NK16QTextCodecPlugin4keysEv @ 3456 NONAME + _ZanRK9QBitArrayS1_ @ 3457 NONAME + _ZeoRK9QBitArrayS1_ @ 3458 NONAME + _ZeqRK10QStringRefS1_ @ 3459 NONAME + _ZeqRK13QLatin1StringRK10QStringRef @ 3460 NONAME + _ZeqRK7QStringRK10QStringRef @ 3461 NONAME + _ZeqRKN15QDateTimeParser11SectionNodeES2_ @ 3462 NONAME + _Zls6QDebug6QFlagsIN4QDir6FilterEE @ 3463 NONAME + _Zls6QDebug6QFlagsIN9QIODevice12OpenModeFlagEE @ 3464 NONAME + _Zls6QDebugN8QVariant4TypeE @ 3465 NONAME + _Zls6QDebugPK7QObject @ 3466 NONAME + _Zls6QDebugRK11QModelIndex @ 3467 NONAME + _Zls6QDebugRK12QEasingCurve @ 3468 NONAME + _Zls6QDebugRK21QPersistentModelIndex @ 3469 NONAME + _Zls6QDebugRK4QDir @ 3470 NONAME + _Zls6QDebugRK4QUrl @ 3471 NONAME + _Zls6QDebugRK5QDate @ 3472 NONAME + _Zls6QDebugRK5QLine @ 3473 NONAME + _Zls6QDebugRK5QRect @ 3474 NONAME + _Zls6QDebugRK5QSize @ 3475 NONAME + _Zls6QDebugRK5QTime @ 3476 NONAME + _Zls6QDebugRK6QLineF @ 3477 NONAME + _Zls6QDebugRK6QPoint @ 3478 NONAME + _Zls6QDebugRK6QRectF @ 3479 NONAME + _Zls6QDebugRK6QSizeF @ 3480 NONAME + _Zls6QDebugRK7QPointF @ 3481 NONAME + _Zls6QDebugRK8QMargins @ 3482 NONAME + _Zls6QDebugRK8QVariant @ 3483 NONAME + _Zls6QDebugRK9QDateTime @ 3484 NONAME + _ZlsR11QDataStreamN8QVariant4TypeE @ 3485 NONAME + _ZlsR11QDataStreamRK10QByteArray @ 3486 NONAME + _ZlsR11QDataStreamRK4QUrl @ 3487 NONAME + _ZlsR11QDataStreamRK5QChar @ 3488 NONAME + _ZlsR11QDataStreamRK5QDate @ 3489 NONAME + _ZlsR11QDataStreamRK5QLine @ 3490 NONAME + _ZlsR11QDataStreamRK5QRect @ 3491 NONAME + _ZlsR11QDataStreamRK5QSize @ 3492 NONAME + _ZlsR11QDataStreamRK5QTime @ 3493 NONAME + _ZlsR11QDataStreamRK5QUuid @ 3494 NONAME + _ZlsR11QDataStreamRK6QLineF @ 3495 NONAME + _ZlsR11QDataStreamRK6QPoint @ 3496 NONAME + _ZlsR11QDataStreamRK6QRectF @ 3497 NONAME + _ZlsR11QDataStreamRK6QSizeF @ 3498 NONAME + _ZlsR11QDataStreamRK7QLocale @ 3499 NONAME + _ZlsR11QDataStreamRK7QPointF @ 3500 NONAME + _ZlsR11QDataStreamRK7QRegExp @ 3501 NONAME + _ZlsR11QDataStreamRK7QString @ 3502 NONAME + _ZlsR11QDataStreamRK8QVariant @ 3503 NONAME + _ZlsR11QDataStreamRK9QBitArray @ 3504 NONAME + _ZlsR11QDataStreamRK9QDateTime @ 3505 NONAME + _ZltRK10QStringRefS1_ @ 3506 NONAME + _ZorRK9QBitArrayS1_ @ 3507 NONAME + _ZrsR11QDataStreamR10QByteArray @ 3508 NONAME + _ZrsR11QDataStreamR4QUrl @ 3509 NONAME + _ZrsR11QDataStreamR5QChar @ 3510 NONAME + _ZrsR11QDataStreamR5QDate @ 3511 NONAME + _ZrsR11QDataStreamR5QLine @ 3512 NONAME + _ZrsR11QDataStreamR5QRect @ 3513 NONAME + _ZrsR11QDataStreamR5QSize @ 3514 NONAME + _ZrsR11QDataStreamR5QTime @ 3515 NONAME + _ZrsR11QDataStreamR5QUuid @ 3516 NONAME + _ZrsR11QDataStreamR6QLineF @ 3517 NONAME + _ZrsR11QDataStreamR6QPoint @ 3518 NONAME + _ZrsR11QDataStreamR6QRectF @ 3519 NONAME + _ZrsR11QDataStreamR6QSizeF @ 3520 NONAME + _ZrsR11QDataStreamR7QLocale @ 3521 NONAME + _ZrsR11QDataStreamR7QPointF @ 3522 NONAME + _ZrsR11QDataStreamR7QRegExp @ 3523 NONAME + _ZrsR11QDataStreamR7QString @ 3524 NONAME + _ZrsR11QDataStreamR8QVariant @ 3525 NONAME + _ZrsR11QDataStreamR9QBitArray @ 3526 NONAME + _ZrsR11QDataStreamR9QDateTime @ 3527 NONAME + _ZrsR11QDataStreamRN8QVariant4TypeE @ 3528 NONAME + adler32 @ 3529 NONAME + compress @ 3530 NONAME + compress2 @ 3531 NONAME + crc32 @ 3532 NONAME + deflate @ 3533 NONAME + deflateCopy @ 3534 NONAME + deflateEnd @ 3535 NONAME + deflateInit2_ @ 3536 NONAME + deflateInit_ @ 3537 NONAME + deflateParams @ 3538 NONAME + deflateReset @ 3539 NONAME + deflateSetDictionary @ 3540 NONAME + get_crc_table @ 3541 NONAME + gzclose @ 3542 NONAME + gzdopen @ 3543 NONAME + gzeof @ 3544 NONAME + gzerror @ 3545 NONAME + gzflush @ 3546 NONAME + gzgetc @ 3547 NONAME + gzgets @ 3548 NONAME + gzopen @ 3549 NONAME + gzprintf @ 3550 NONAME + gzputc @ 3551 NONAME + gzputs @ 3552 NONAME + gzread @ 3553 NONAME + gzrewind @ 3554 NONAME + gzseek @ 3555 NONAME + gzsetparams @ 3556 NONAME + gztell @ 3557 NONAME + gzwrite @ 3558 NONAME + inflate @ 3559 NONAME + inflateEnd @ 3560 NONAME + inflateInit2_ @ 3561 NONAME + inflateInit_ @ 3562 NONAME + inflateReset @ 3563 NONAME + inflateSetDictionary @ 3564 NONAME + inflateSync @ 3565 NONAME + inflateSyncPoint @ 3566 NONAME + qMetaTypeGuiHelper @ 3567 NONAME DATA 4 + q_atomic_lock @ 3568 NONAME DATA 1 + qt_addObject @ 3569 NONAME + qt_global_mutexpool @ 3570 NONAME DATA 4 + qt_locale_initialized @ 3571 NONAME DATA 1 + qt_removeObject @ 3572 NONAME + qt_signal_spy_callback_set @ 3573 NONAME DATA 16 + qt_sine_table @ 3574 NONAME DATA 1024 + qt_startup_hook @ 3575 NONAME + uncompress @ 3576 NONAME + zError @ 3577 NONAME + zlibVersion @ 3578 NONAME diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 09ea6ab..7c3542e 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -1,44 +1,44 @@ EXPORTS _Z11qFadeEffectP7QWidgeti @ 1 NONAME _Z11qt_image_idRK6QImage @ 2 NONAME - _Z12qt_pixmap_idRK7QPixmap @ 3 NONAME - _Z13qDrawWinPanelP8QPainterRK5QRectRK8QPalettebPK6QBrush @ 4 NONAME - _Z13qDrawWinPanelP8QPainteriiiiRK8QPalettebPK6QBrush @ 5 NONAME - _Z13qScrollEffectP7QWidgetji @ 6 NONAME - _Z13qSmartMaxSizePK11QWidgetItem6QFlagsIN2Qt13AlignmentFlagEE @ 7 NONAME - _Z13qSmartMaxSizePK7QWidget6QFlagsIN2Qt13AlignmentFlagEE @ 8 NONAME - _Z13qSmartMaxSizeRK5QSizeS1_S1_RK11QSizePolicy6QFlagsIN2Qt13AlignmentFlagEE @ 9 NONAME - _Z13qSmartMinSizePK11QWidgetItem @ 10 NONAME - _Z13qSmartMinSizePK7QWidget @ 11 NONAME - _Z13qSmartMinSizeRK5QSizeS1_S1_S1_RK11QSizePolicy @ 12 NONAME - _Z13qSmartSpacingPK7QLayoutN6QStyle11PixelMetricE @ 13 NONAME - _Z13qt_defaultDpiv @ 14 NONAME - _Z14qDrawPlainRectP8QPainterRK5QRectRK6QColoriPK6QBrush @ 15 NONAME - _Z14qDrawPlainRectP8QPainteriiiiRK6QColoriPK6QBrush @ 16 NONAME - _Z14qDrawShadeLineP8QPainterRK6QPointS3_RK8QPalettebii @ 17 NONAME - _Z14qDrawShadeLineP8QPainteriiiiRK8QPalettebii @ 18 NONAME - _Z14qDrawShadeRectP8QPainterRK5QRectRK8QPalettebiiPK6QBrush @ 19 NONAME - _Z14qDrawShadeRectP8QPainteriiiiRK8QPalettebiiPK6QBrush @ 20 NONAME - _Z14qDrawWinButtonP8QPainterRK5QRectRK8QPalettebPK6QBrush @ 21 NONAME - _Z14qDrawWinButtonP8QPainteriiiiRK8QPalettebPK6QBrush @ 22 NONAME - _Z14qt_defaultDpiXv @ 23 NONAME - _Z14qt_defaultDpiYv @ 24 NONAME - _Z14qt_draw_helperP15QPainterPrivateRK12QPainterPathNS_13DrawOperationE @ 25 NONAME - _Z15qDrawShadePanelP8QPainterRK5QRectRK8QPalettebiPK6QBrush @ 26 NONAME - _Z15qDrawShadePanelP8QPainteriiiiRK8QPalettebiPK6QBrush @ 27 NONAME - _Z15qt_qwidget_dataP7QWidget @ 28 NONAME - _Z15qt_regionToPathRK7QRegion @ 29 NONAME + _Z12qDrawPixmapsP8QPainterPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS1_11DrawingHintEE @ 3 NONAME + _Z12qt_pixmap_idRK7QPixmap @ 4 NONAME + _Z13qDrawWinPanelP8QPainterRK5QRectRK8QPalettebPK6QBrush @ 5 NONAME + _Z13qDrawWinPanelP8QPainteriiiiRK8QPalettebPK6QBrush @ 6 NONAME + _Z13qScrollEffectP7QWidgetji @ 7 NONAME + _Z13qSmartMaxSizePK11QWidgetItem6QFlagsIN2Qt13AlignmentFlagEE @ 8 NONAME + _Z13qSmartMaxSizePK7QWidget6QFlagsIN2Qt13AlignmentFlagEE @ 9 NONAME + _Z13qSmartMaxSizeRK5QSizeS1_S1_RK11QSizePolicy6QFlagsIN2Qt13AlignmentFlagEE @ 10 NONAME + _Z13qSmartMinSizePK11QWidgetItem @ 11 NONAME + _Z13qSmartMinSizePK7QWidget @ 12 NONAME + _Z13qSmartMinSizeRK5QSizeS1_S1_S1_RK11QSizePolicy @ 13 NONAME + _Z13qSmartSpacingPK7QLayoutN6QStyle11PixelMetricE @ 14 NONAME + _Z13qt_defaultDpiv @ 15 NONAME + _Z14qDrawPlainRectP8QPainterRK5QRectRK6QColoriPK6QBrush @ 16 NONAME + _Z14qDrawPlainRectP8QPainteriiiiRK6QColoriPK6QBrush @ 17 NONAME + _Z14qDrawShadeLineP8QPainterRK6QPointS3_RK8QPalettebii @ 18 NONAME + _Z14qDrawShadeLineP8QPainteriiiiRK8QPalettebii @ 19 NONAME + _Z14qDrawShadeRectP8QPainterRK5QRectRK8QPalettebiiPK6QBrush @ 20 NONAME + _Z14qDrawShadeRectP8QPainteriiiiRK8QPalettebiiPK6QBrush @ 21 NONAME + _Z14qDrawWinButtonP8QPainterRK5QRectRK8QPalettebPK6QBrush @ 22 NONAME + _Z14qDrawWinButtonP8QPainteriiiiRK8QPalettebPK6QBrush @ 23 NONAME + _Z14qt_defaultDpiXv @ 24 NONAME + _Z14qt_defaultDpiYv @ 25 NONAME + _Z14qt_draw_helperP15QPainterPrivateRK12QPainterPathNS_13DrawOperationE @ 26 NONAME + _Z15qDrawShadePanelP8QPainterRK5QRectRK8QPalettebiPK6QBrush @ 27 NONAME + _Z15qDrawShadePanelP8QPainteriiiiRK8QPalettebiPK6QBrush @ 28 NONAME + _Z15qt_qwidget_dataP7QWidget @ 29 NONAME _Z16qt_imageForBrushib @ 30 NONAME - _Z17qt_tryModalHelperP7QWidgetPS0_ @ 31 NONAME - _Z17qt_widget_privateP7QWidget @ 32 NONAME - _Z19qtVectorPathForPathRK12QPainterPath @ 33 NONAME - _Z20qt_scaleForTransformRK10QTransformPf @ 34 NONAME - _Z21qt_qsliderStyleOptionP7QSlider @ 35 NONAME - _Z22qt_find_ellipse_coordsRK6QRectFffP7QPointFS3_ @ 36 NONAME - _Z23qt_symbian_show_submenuP12CEikMenuPanei @ 37 NONAME ABSENT - _Z24qt_qscrollbarStyleOptionP10QScrollBar @ 38 NONAME - _Z24qt_symbian_show_toplevelP12CEikMenuPane @ 39 NONAME ABSENT - _Z25qt_keymapper_possibleKeysP9QKeyEvent @ 40 NONAME ABSENT + _Z17qDrawBorderPixmapP8QPainterRK5QRectRK8QMarginsRK7QPixmapS3_S6_RK10QTileRules6QFlagsIN17QDrawBorderPixmap11DrawingHintEE @ 31 NONAME + _Z17qHasPixmapTextureRK6QBrush @ 32 NONAME + _Z17qt_tryModalHelperP7QWidgetPS0_ @ 33 NONAME + _Z17qt_widget_privateP7QWidget @ 34 NONAME + _Z19qtVectorPathForPathRK12QPainterPath @ 35 NONAME + _Z20qt_scaleForTransformRK10QTransformPf @ 36 NONAME + _Z21qt_qsliderStyleOptionP7QSlider @ 37 NONAME + _Z22qt_find_ellipse_coordsRK6QRectFffP7QPointFS3_ @ 38 NONAME + _Z24qt_qscrollbarStyleOptionP10QScrollBar @ 39 NONAME + _Z25qt_translateRawTouchEventP7QWidgetN11QTouchEvent10DeviceTypeERK5QListINS1_10TouchPointEE @ 40 NONAME _Z29qt_set_sequence_auto_mnemonicb @ 41 NONAME _Z9qGeomCalcR7QVectorI13QLayoutStructEiiiii @ 42 NONAME _ZN10QBoxLayout10addSpacingEi @ 43 NONAME @@ -60,13080 +60,11501 @@ EXPORTS _ZN10QBoxLayout16setStretchFactorEP7QLayouti @ 59 NONAME _ZN10QBoxLayout16setStretchFactorEP7QWidgeti @ 60 NONAME _ZN10QBoxLayout16staticMetaObjectE @ 61 NONAME DATA 16 - _ZN10QBoxLayout6takeAtEi @ 62 NONAME - _ZN10QBoxLayout7addItemEP11QLayoutItem @ 63 NONAME - _ZN10QBoxLayout8addStrutEi @ 64 NONAME - _ZN10QBoxLayout9addLayoutEP7QLayouti @ 65 NONAME - _ZN10QBoxLayout9addWidgetEP7QWidgeti6QFlagsIN2Qt13AlignmentFlagEE @ 66 NONAME - _ZN10QBoxLayoutC1ENS_9DirectionEP7QWidget @ 67 NONAME - _ZN10QBoxLayoutC2ENS_9DirectionEP7QWidget @ 68 NONAME - _ZN10QBoxLayoutD0Ev @ 69 NONAME - _ZN10QBoxLayoutD1Ev @ 70 NONAME - _ZN10QBoxLayoutD2Ev @ 71 NONAME - _ZN10QClipboard11dataChangedEv @ 72 NONAME - _ZN10QClipboard11emitChangedENS_4ModeE @ 73 NONAME - _ZN10QClipboard11qt_metacallEN11QMetaObject4CallEiPPv @ 74 NONAME - _ZN10QClipboard11qt_metacastEPKc @ 75 NONAME - _ZN10QClipboard11setMimeDataEP9QMimeDataNS_4ModeE @ 76 NONAME - _ZN10QClipboard13connectNotifyEPKc @ 77 NONAME - _ZN10QClipboard14ownerDestroyedEv @ 78 NONAME - _ZN10QClipboard16selectionChangedEv @ 79 NONAME - _ZN10QClipboard16staticMetaObjectE @ 80 NONAME DATA 16 - _ZN10QClipboard17findBufferChangedEv @ 81 NONAME - _ZN10QClipboard5clearENS_4ModeE @ 82 NONAME - _ZN10QClipboard5eventEP6QEvent @ 83 NONAME - _ZN10QClipboard7changedENS_4ModeE @ 84 NONAME - _ZN10QClipboard7setTextERK7QStringNS_4ModeE @ 85 NONAME - _ZN10QClipboard8setImageERK6QImageNS_4ModeE @ 86 NONAME - _ZN10QClipboard9setPixmapERK7QPixmapNS_4ModeE @ 87 NONAME - _ZN10QClipboardC1EP7QObject @ 88 NONAME - _ZN10QClipboardC2EP7QObject @ 89 NONAME - _ZN10QClipboardD0Ev @ 90 NONAME - _ZN10QClipboardD1Ev @ 91 NONAME - _ZN10QClipboardD2Ev @ 92 NONAME - _ZN10QCompleter11eventFilterEP7QObjectP6QEvent @ 93 NONAME - _ZN10QCompleter11highlightedERK11QModelIndex @ 94 NONAME - _ZN10QCompleter11highlightedERK7QString @ 95 NONAME - _ZN10QCompleter11qt_metacallEN11QMetaObject4CallEiPPv @ 96 NONAME - _ZN10QCompleter11qt_metacastEPKc @ 97 NONAME - _ZN10QCompleter13setCurrentRowEi @ 98 NONAME - _ZN10QCompleter13setWrapAroundEb @ 99 NONAME - _ZN10QCompleter15setModelSortingENS_12ModelSortingE @ 100 NONAME - _ZN10QCompleter16staticMetaObjectE @ 101 NONAME DATA 16 - _ZN10QCompleter17setCompletionModeENS_14CompletionModeE @ 102 NONAME - _ZN10QCompleter17setCompletionRoleEi @ 103 NONAME - _ZN10QCompleter18setCaseSensitivityEN2Qt15CaseSensitivityE @ 104 NONAME - _ZN10QCompleter19setCompletionColumnEi @ 105 NONAME - _ZN10QCompleter19setCompletionPrefixERK7QString @ 106 NONAME - _ZN10QCompleter5eventEP6QEvent @ 107 NONAME - _ZN10QCompleter8completeERK5QRect @ 108 NONAME - _ZN10QCompleter8setModelEP18QAbstractItemModel @ 109 NONAME - _ZN10QCompleter8setPopupEP17QAbstractItemView @ 110 NONAME - _ZN10QCompleter9activatedERK11QModelIndex @ 111 NONAME - _ZN10QCompleter9activatedERK7QString @ 112 NONAME - _ZN10QCompleter9setWidgetEP7QWidget @ 113 NONAME - _ZN10QCompleterC1EP18QAbstractItemModelP7QObject @ 114 NONAME - _ZN10QCompleterC1EP7QObject @ 115 NONAME - _ZN10QCompleterC1ERK11QStringListP7QObject @ 116 NONAME - _ZN10QCompleterC2EP18QAbstractItemModelP7QObject @ 117 NONAME - _ZN10QCompleterC2EP7QObject @ 118 NONAME - _ZN10QCompleterC2ERK11QStringListP7QObject @ 119 NONAME - _ZN10QCompleterD0Ev @ 120 NONAME - _ZN10QCompleterD1Ev @ 121 NONAME - _ZN10QCompleterD2Ev @ 122 NONAME - _ZN10QDropEvent13setDropActionEN2Qt10DropActionE @ 123 NONAME - _ZN10QDropEventC1ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEEN6QEvent4TypeE @ 124 NONAME - _ZN10QDropEventC2ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEEN6QEvent4TypeE @ 125 NONAME - _ZN10QDropEventD0Ev @ 126 NONAME - _ZN10QDropEventD1Ev @ 127 NONAME - _ZN10QDropEventD2Ev @ 128 NONAME - _ZN10QHelpEventC1EN6QEvent4TypeERK6QPointS4_ @ 129 NONAME - _ZN10QHelpEventC2EN6QEvent4TypeERK6QPointS4_ @ 130 NONAME - _ZN10QHelpEventD0Ev @ 131 NONAME - _ZN10QHelpEventD1Ev @ 132 NONAME - _ZN10QHelpEventD2Ev @ 133 NONAME - _ZN10QHideEventC1Ev @ 134 NONAME - _ZN10QHideEventC2Ev @ 135 NONAME - _ZN10QHideEventD0Ev @ 136 NONAME - _ZN10QHideEventD1Ev @ 137 NONAME - _ZN10QHideEventD2Ev @ 138 NONAME - _ZN10QLCDNumber10paintEventEP11QPaintEvent @ 139 NONAME - _ZN10QLCDNumber10setBinModeEv @ 140 NONAME - _ZN10QLCDNumber10setDecModeEv @ 141 NONAME - _ZN10QLCDNumber10setHexModeEv @ 142 NONAME - _ZN10QLCDNumber10setOctModeEv @ 143 NONAME - _ZN10QLCDNumber11qt_metacallEN11QMetaObject4CallEiPPv @ 144 NONAME - _ZN10QLCDNumber11qt_metacastEPKc @ 145 NONAME - _ZN10QLCDNumber12setNumDigitsEi @ 146 NONAME - _ZN10QLCDNumber15setSegmentStyleENS_12SegmentStyleE @ 147 NONAME - _ZN10QLCDNumber16staticMetaObjectE @ 148 NONAME DATA 16 - _ZN10QLCDNumber20setSmallDecimalPointEb @ 149 NONAME - _ZN10QLCDNumber5eventEP6QEvent @ 150 NONAME - _ZN10QLCDNumber7displayERK7QString @ 151 NONAME - _ZN10QLCDNumber7displayEd @ 152 NONAME - _ZN10QLCDNumber7displayEi @ 153 NONAME - _ZN10QLCDNumber7setModeENS_4ModeE @ 154 NONAME - _ZN10QLCDNumber8overflowEv @ 155 NONAME - _ZN10QLCDNumberC1EP7QWidget @ 156 NONAME - _ZN10QLCDNumberC1EjP7QWidget @ 157 NONAME - _ZN10QLCDNumberC2EP7QWidget @ 158 NONAME - _ZN10QLCDNumberC2EjP7QWidget @ 159 NONAME - _ZN10QLCDNumberD0Ev @ 160 NONAME - _ZN10QLCDNumberD1Ev @ 161 NONAME - _ZN10QLCDNumberD2Ev @ 162 NONAME - _ZN10QMoveEventC1ERK6QPointS2_ @ 163 NONAME - _ZN10QMoveEventC2ERK6QPointS2_ @ 164 NONAME - _ZN10QMoveEventD0Ev @ 165 NONAME - _ZN10QMoveEventD1Ev @ 166 NONAME - _ZN10QMoveEventD2Ev @ 167 NONAME - _ZN10QPictureIO10setPictureERK8QPicture @ 168 NONAME - _ZN10QPictureIO10setQualityEi @ 169 NONAME - _ZN10QPictureIO11setFileNameERK7QString @ 170 NONAME - _ZN10QPictureIO11setIODeviceEP9QIODevice @ 171 NONAME - _ZN10QPictureIO12inputFormatsEv @ 172 NONAME - _ZN10QPictureIO13outputFormatsEv @ 173 NONAME - _ZN10QPictureIO13pictureFormatEP9QIODevice @ 174 NONAME - _ZN10QPictureIO13pictureFormatERK7QString @ 175 NONAME - _ZN10QPictureIO13setParametersEPKc @ 176 NONAME - _ZN10QPictureIO14setDescriptionERK7QString @ 177 NONAME - _ZN10QPictureIO15defineIOHandlerEPKcS1_S1_PFvPS_ES4_ @ 178 NONAME - _ZN10QPictureIO4initEv @ 179 NONAME - _ZN10QPictureIO4readEv @ 180 NONAME - _ZN10QPictureIO5writeEv @ 181 NONAME - _ZN10QPictureIO8setGammaEf @ 182 NONAME - _ZN10QPictureIO9setFormatEPKc @ 183 NONAME - _ZN10QPictureIO9setStatusEi @ 184 NONAME - _ZN10QPictureIOC1EP9QIODevicePKc @ 185 NONAME - _ZN10QPictureIOC1ERK7QStringPKc @ 186 NONAME - _ZN10QPictureIOC1Ev @ 187 NONAME - _ZN10QPictureIOC2EP9QIODevicePKc @ 188 NONAME - _ZN10QPictureIOC2ERK7QStringPKc @ 189 NONAME - _ZN10QPictureIOC2Ev @ 190 NONAME - _ZN10QPictureIOD1Ev @ 191 NONAME - _ZN10QPictureIOD2Ev @ 192 NONAME - _ZN10QScrollBar10paintEventEP11QPaintEvent @ 193 NONAME - _ZN10QScrollBar11qt_metacallEN11QMetaObject4CallEiPPv @ 194 NONAME - _ZN10QScrollBar11qt_metacastEPKc @ 195 NONAME - _ZN10QScrollBar12sliderChangeEN15QAbstractSlider12SliderChangeE @ 196 NONAME - _ZN10QScrollBar14mouseMoveEventEP11QMouseEvent @ 197 NONAME - _ZN10QScrollBar15mousePressEventEP11QMouseEvent @ 198 NONAME - _ZN10QScrollBar16contextMenuEventEP17QContextMenuEvent @ 199 NONAME - _ZN10QScrollBar16staticMetaObjectE @ 200 NONAME DATA 16 - _ZN10QScrollBar17mouseReleaseEventEP11QMouseEvent @ 201 NONAME - _ZN10QScrollBar5eventEP6QEvent @ 202 NONAME - _ZN10QScrollBar9hideEventEP10QHideEvent @ 203 NONAME - _ZN10QScrollBarC1EN2Qt11OrientationEP7QWidget @ 204 NONAME - _ZN10QScrollBarC1EP7QWidget @ 205 NONAME - _ZN10QScrollBarC2EN2Qt11OrientationEP7QWidget @ 206 NONAME - _ZN10QScrollBarC2EP7QWidget @ 207 NONAME - _ZN10QScrollBarD0Ev @ 208 NONAME - _ZN10QScrollBarD1Ev @ 209 NONAME - _ZN10QScrollBarD2Ev @ 210 NONAME - _ZN10QShowEventC1Ev @ 211 NONAME - _ZN10QShowEventC2Ev @ 212 NONAME - _ZN10QShowEventD0Ev @ 213 NONAME - _ZN10QShowEventD1Ev @ 214 NONAME - _ZN10QShowEventD2Ev @ 215 NONAME - _ZN10QStatusBar10hideOrShowEv @ 216 NONAME - _ZN10QStatusBar10paintEventEP11QPaintEvent @ 217 NONAME - _ZN10QStatusBar11qt_metacallEN11QMetaObject4CallEiPPv @ 218 NONAME - _ZN10QStatusBar11qt_metacastEPKc @ 219 NONAME - _ZN10QStatusBar11resizeEventEP12QResizeEvent @ 220 NONAME - _ZN10QStatusBar11showMessageERK7QStringi @ 221 NONAME - _ZN10QStatusBar12clearMessageEv @ 222 NONAME - _ZN10QStatusBar12insertWidgetEiP7QWidgeti @ 223 NONAME - _ZN10QStatusBar12removeWidgetEP7QWidget @ 224 NONAME - _ZN10QStatusBar14messageChangedERK7QString @ 225 NONAME - _ZN10QStatusBar16staticMetaObjectE @ 226 NONAME DATA 16 - _ZN10QStatusBar18addPermanentWidgetEP7QWidgeti @ 227 NONAME - _ZN10QStatusBar18setSizeGripEnabledEb @ 228 NONAME - _ZN10QStatusBar21insertPermanentWidgetEiP7QWidgeti @ 229 NONAME - _ZN10QStatusBar5eventEP6QEvent @ 230 NONAME - _ZN10QStatusBar8reformatEv @ 231 NONAME - _ZN10QStatusBar9addWidgetEP7QWidgeti @ 232 NONAME - _ZN10QStatusBar9showEventEP10QShowEvent @ 233 NONAME - _ZN10QStatusBarC1EP7QWidget @ 234 NONAME - _ZN10QStatusBarC2EP7QWidget @ 235 NONAME - _ZN10QStatusBarD0Ev @ 236 NONAME - _ZN10QStatusBarD1Ev @ 237 NONAME - _ZN10QStatusBarD2Ev @ 238 NONAME - _ZN10QTabWidget10paintEventEP11QPaintEvent @ 239 NONAME - _ZN10QTabWidget10setMovableEb @ 240 NONAME - _ZN10QTabWidget10setTabIconEiRK5QIcon @ 241 NONAME - _ZN10QTabWidget10setTabTextEiRK7QString @ 242 NONAME - _ZN10QTabWidget10tabRemovedEi @ 243 NONAME - _ZN10QTabWidget11changeEventEP6QEvent @ 244 NONAME - _ZN10QTabWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 245 NONAME - _ZN10QTabWidget11qt_metacastEPKc @ 246 NONAME - _ZN10QTabWidget11resizeEventEP12QResizeEvent @ 247 NONAME - _ZN10QTabWidget11setIconSizeERK5QSize @ 248 NONAME - _ZN10QTabWidget11setTabShapeENS_8TabShapeE @ 249 NONAME - _ZN10QTabWidget11setUpLayoutEb @ 250 NONAME - _ZN10QTabWidget11tabInsertedEi @ 251 NONAME - _ZN10QTabWidget12setElideModeEN2Qt13TextElideModeE @ 252 NONAME - _ZN10QTabWidget13keyPressEventEP9QKeyEvent @ 253 NONAME - _ZN10QTabWidget13setTabEnabledEib @ 254 NONAME - _ZN10QTabWidget13setTabToolTipEiRK7QString @ 255 NONAME - _ZN10QTabWidget14currentChangedEi @ 256 NONAME - _ZN10QTabWidget14setTabPositionENS_11TabPositionE @ 257 NONAME - _ZN10QTabWidget15setCornerWidgetEP7QWidgetN2Qt6CornerE @ 258 NONAME - _ZN10QTabWidget15setCurrentIndexEi @ 259 NONAME - _ZN10QTabWidget15setDocumentModeEb @ 260 NONAME - _ZN10QTabWidget15setTabWhatsThisEiRK7QString @ 261 NONAME - _ZN10QTabWidget15setTabsClosableEb @ 262 NONAME - _ZN10QTabWidget16setCurrentWidgetEP7QWidget @ 263 NONAME - _ZN10QTabWidget16staticMetaObjectE @ 264 NONAME DATA 16 - _ZN10QTabWidget17tabCloseRequestedEi @ 265 NONAME - _ZN10QTabWidget20setUsesScrollButtonsEb @ 266 NONAME - _ZN10QTabWidget5clearEv @ 267 NONAME - _ZN10QTabWidget5eventEP6QEvent @ 268 NONAME - _ZN10QTabWidget6addTabEP7QWidgetRK5QIconRK7QString @ 269 NONAME - _ZN10QTabWidget6addTabEP7QWidgetRK7QString @ 270 NONAME - _ZN10QTabWidget9insertTabEiP7QWidgetRK5QIconRK7QString @ 271 NONAME - _ZN10QTabWidget9insertTabEiP7QWidgetRK7QString @ 272 NONAME - _ZN10QTabWidget9removeTabEi @ 273 NONAME - _ZN10QTabWidget9setTabBarEP7QTabBar @ 274 NONAME - _ZN10QTabWidget9showEventEP10QShowEvent @ 275 NONAME - _ZN10QTabWidgetC1EP7QWidget @ 276 NONAME - _ZN10QTabWidgetC2EP7QWidget @ 277 NONAME - _ZN10QTabWidgetD0Ev @ 278 NONAME - _ZN10QTabWidgetD1Ev @ 279 NONAME - _ZN10QTabWidgetD2Ev @ 280 NONAME - _ZN10QTableView10clearSpansEv @ 281 NONAME - _ZN10QTableView10hideColumnEi @ 282 NONAME - _ZN10QTableView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 283 NONAME - _ZN10QTableView10paintEventEP11QPaintEvent @ 284 NONAME - _ZN10QTableView10rowResizedEiii @ 285 NONAME - _ZN10QTableView10showColumnEi @ 286 NONAME - _ZN10QTableView10timerEventEP11QTimerEvent @ 287 NONAME - _ZN10QTableView11columnMovedEiii @ 288 NONAME - _ZN10QTableView11qt_metacallEN11QMetaObject4CallEiPPv @ 289 NONAME - _ZN10QTableView11qt_metacastEPKc @ 290 NONAME - _ZN10QTableView11setShowGridEb @ 291 NONAME - _ZN10QTableView11setWordWrapEb @ 292 NONAME - _ZN10QTableView12selectColumnEi @ 293 NONAME - _ZN10QTableView12setGridStyleEN2Qt8PenStyleE @ 294 NONAME - _ZN10QTableView12setRootIndexERK11QModelIndex @ 295 NONAME - _ZN10QTableView12setRowHeightEii @ 296 NONAME - _ZN10QTableView12setRowHiddenEib @ 297 NONAME - _ZN10QTableView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 298 NONAME - _ZN10QTableView12sortByColumnEi @ 299 NONAME - _ZN10QTableView12sortByColumnEiN2Qt9SortOrderE @ 300 NONAME - _ZN10QTableView13columnResizedEiii @ 301 NONAME - _ZN10QTableView14currentChangedERK11QModelIndexS2_ @ 302 NONAME - _ZN10QTableView14setColumnWidthEii @ 303 NONAME - _ZN10QTableView15rowCountChangedEii @ 304 NONAME - _ZN10QTableView15setColumnHiddenEib @ 305 NONAME - _ZN10QTableView16scrollContentsByEii @ 306 NONAME - _ZN10QTableView16selectionChangedERK14QItemSelectionS2_ @ 307 NONAME - _ZN10QTableView16staticMetaObjectE @ 308 NONAME DATA 16 - _ZN10QTableView16updateGeometriesEv @ 309 NONAME - _ZN10QTableView17setSelectionModelEP19QItemSelectionModel @ 310 NONAME - _ZN10QTableView17setSortingEnabledEb @ 311 NONAME - _ZN10QTableView17setVerticalHeaderEP11QHeaderView @ 312 NONAME - _ZN10QTableView18columnCountChangedEii @ 313 NONAME - _ZN10QTableView19resizeRowToContentsEi @ 314 NONAME - _ZN10QTableView19setHorizontalHeaderEP11QHeaderView @ 315 NONAME - _ZN10QTableView20resizeRowsToContentsEv @ 316 NONAME - _ZN10QTableView22resizeColumnToContentsEi @ 317 NONAME - _ZN10QTableView22setCornerButtonEnabledEb @ 318 NONAME - _ZN10QTableView23resizeColumnsToContentsEv @ 319 NONAME - _ZN10QTableView23verticalScrollbarActionEi @ 320 NONAME - _ZN10QTableView25horizontalScrollbarActionEi @ 321 NONAME - _ZN10QTableView7hideRowEi @ 322 NONAME - _ZN10QTableView7setSpanEiiii @ 323 NONAME - _ZN10QTableView7showRowEi @ 324 NONAME - _ZN10QTableView8rowMovedEiii @ 325 NONAME - _ZN10QTableView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 326 NONAME - _ZN10QTableView8setModelEP18QAbstractItemModel @ 327 NONAME - _ZN10QTableView9selectRowEi @ 328 NONAME - _ZN10QTableViewC1EP7QWidget @ 329 NONAME - _ZN10QTableViewC1ER17QTableViewPrivateP7QWidget @ 330 NONAME - _ZN10QTableViewC2EP7QWidget @ 331 NONAME - _ZN10QTableViewC2ER17QTableViewPrivateP7QWidget @ 332 NONAME - _ZN10QTableViewD0Ev @ 333 NONAME - _ZN10QTableViewD1Ev @ 334 NONAME - _ZN10QTableViewD2Ev @ 335 NONAME - _ZN10QTextBlock10setVisibleEb @ 336 NONAME - _ZN10QTextBlock11clearLayoutEv @ 337 NONAME - _ZN10QTextBlock11setRevisionEi @ 338 NONAME - _ZN10QTextBlock11setUserDataEP18QTextBlockUserData @ 339 NONAME - _ZN10QTextBlock12setLineCountEi @ 340 NONAME - _ZN10QTextBlock12setUserStateEi @ 341 NONAME - _ZN10QTextBlock8iteratormmEv @ 342 NONAME - _ZN10QTextBlock8iteratorppEv @ 343 NONAME - _ZN10QTextFrame11qt_metacallEN11QMetaObject4CallEiPPv @ 344 NONAME - _ZN10QTextFrame11qt_metacastEPKc @ 345 NONAME - _ZN10QTextFrame13setLayoutDataEP20QTextFrameLayoutData @ 346 NONAME - _ZN10QTextFrame16staticMetaObjectE @ 347 NONAME DATA 16 - _ZN10QTextFrame8iteratorC1EPS_iii @ 348 NONAME - _ZN10QTextFrame8iteratorC1ERKS0_ @ 349 NONAME - _ZN10QTextFrame8iteratorC1Ev @ 350 NONAME - _ZN10QTextFrame8iteratorC2EPS_iii @ 351 NONAME - _ZN10QTextFrame8iteratorC2ERKS0_ @ 352 NONAME - _ZN10QTextFrame8iteratorC2Ev @ 353 NONAME - _ZN10QTextFrame8iteratoraSERKS0_ @ 354 NONAME - _ZN10QTextFrame8iteratormmEv @ 355 NONAME - _ZN10QTextFrame8iteratorppEv @ 356 NONAME - _ZN10QTextFrameC1EP13QTextDocument @ 357 NONAME - _ZN10QTextFrameC1ER17QTextFramePrivateP13QTextDocument @ 358 NONAME - _ZN10QTextFrameC2EP13QTextDocument @ 359 NONAME - _ZN10QTextFrameC2ER17QTextFramePrivateP13QTextDocument @ 360 NONAME - _ZN10QTextFrameD0Ev @ 361 NONAME - _ZN10QTextFrameD1Ev @ 362 NONAME - _ZN10QTextFrameD2Ev @ 363 NONAME - _ZN10QTextTable10appendRowsEi @ 364 NONAME - _ZN10QTextTable10insertRowsEii @ 365 NONAME - _ZN10QTextTable10mergeCellsERK11QTextCursor @ 366 NONAME - _ZN10QTextTable10mergeCellsEiiii @ 367 NONAME - _ZN10QTextTable10removeRowsEii @ 368 NONAME - _ZN10QTextTable11qt_metacallEN11QMetaObject4CallEiPPv @ 369 NONAME - _ZN10QTextTable11qt_metacastEPKc @ 370 NONAME - _ZN10QTextTable13appendColumnsEi @ 371 NONAME - _ZN10QTextTable13insertColumnsEii @ 372 NONAME - _ZN10QTextTable13removeColumnsEii @ 373 NONAME - _ZN10QTextTable16staticMetaObjectE @ 374 NONAME DATA 16 - _ZN10QTextTable6resizeEii @ 375 NONAME - _ZN10QTextTable9setFormatERK16QTextTableFormat @ 376 NONAME - _ZN10QTextTable9splitCellEiiii @ 377 NONAME - _ZN10QTextTableC1EP13QTextDocument @ 378 NONAME - _ZN10QTextTableC2EP13QTextDocument @ 379 NONAME - _ZN10QTextTableD0Ev @ 380 NONAME - _ZN10QTextTableD1Ev @ 381 NONAME - _ZN10QTextTableD2Ev @ 382 NONAME - _ZN10QTransform10quadToQuadERK9QPolygonFS2_RS_ @ 383 NONAME - _ZN10QTransform12quadToSquareERK9QPolygonFRS_ @ 384 NONAME - _ZN10QTransform12squareToQuadERK9QPolygonFRS_ @ 385 NONAME - _ZN10QTransform13fromTranslateEff @ 386 NONAME - _ZN10QTransform13rotateRadiansEfN2Qt4AxisE @ 387 NONAME - _ZN10QTransform5resetEv @ 388 NONAME - _ZN10QTransform5scaleEff @ 389 NONAME - _ZN10QTransform5shearEff @ 390 NONAME - _ZN10QTransform6rotateEfN2Qt4AxisE @ 391 NONAME - _ZN10QTransform9fromScaleEff @ 392 NONAME - _ZN10QTransform9setMatrixEfffffffff @ 393 NONAME - _ZN10QTransform9translateEff @ 394 NONAME - _ZN10QTransformC1ERK7QMatrix @ 395 NONAME - _ZN10QTransformC1Effffff @ 396 NONAME - _ZN10QTransformC1Efffffffff @ 397 NONAME - _ZN10QTransformC1Ev @ 398 NONAME - _ZN10QTransformC2ERK7QMatrix @ 399 NONAME - _ZN10QTransformC2Effffff @ 400 NONAME - _ZN10QTransformC2Efffffffff @ 401 NONAME - _ZN10QTransformC2Ev @ 402 NONAME - _ZN10QTransformaSERKS_ @ 403 NONAME - _ZN10QTransformmLERKS_ @ 404 NONAME - _ZN10QUndoGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 405 NONAME - _ZN10QUndoGroup11qt_metacastEPKc @ 406 NONAME - _ZN10QUndoGroup11removeStackEP10QUndoStack @ 407 NONAME - _ZN10QUndoGroup12cleanChangedEb @ 408 NONAME - _ZN10QUndoGroup12indexChangedEi @ 409 NONAME - _ZN10QUndoGroup14canRedoChangedEb @ 410 NONAME - _ZN10QUndoGroup14canUndoChangedEb @ 411 NONAME - _ZN10QUndoGroup14setActiveStackEP10QUndoStack @ 412 NONAME - _ZN10QUndoGroup15redoTextChangedERK7QString @ 413 NONAME - _ZN10QUndoGroup15undoTextChangedERK7QString @ 414 NONAME - _ZN10QUndoGroup16staticMetaObjectE @ 415 NONAME DATA 16 - _ZN10QUndoGroup18activeStackChangedEP10QUndoStack @ 416 NONAME - _ZN10QUndoGroup4redoEv @ 417 NONAME - _ZN10QUndoGroup4undoEv @ 418 NONAME - _ZN10QUndoGroup8addStackEP10QUndoStack @ 419 NONAME - _ZN10QUndoGroupC1EP7QObject @ 420 NONAME - _ZN10QUndoGroupC2EP7QObject @ 421 NONAME - _ZN10QUndoGroupD0Ev @ 422 NONAME - _ZN10QUndoGroupD1Ev @ 423 NONAME - _ZN10QUndoGroupD2Ev @ 424 NONAME - _ZN10QUndoStack10beginMacroERK7QString @ 425 NONAME - _ZN10QUndoStack11qt_metacallEN11QMetaObject4CallEiPPv @ 426 NONAME - _ZN10QUndoStack11qt_metacastEPKc @ 427 NONAME - _ZN10QUndoStack12cleanChangedEb @ 428 NONAME - _ZN10QUndoStack12indexChangedEi @ 429 NONAME - _ZN10QUndoStack12setUndoLimitEi @ 430 NONAME - _ZN10QUndoStack14canRedoChangedEb @ 431 NONAME - _ZN10QUndoStack14canUndoChangedEb @ 432 NONAME - _ZN10QUndoStack15redoTextChangedERK7QString @ 433 NONAME - _ZN10QUndoStack15undoTextChangedERK7QString @ 434 NONAME - _ZN10QUndoStack16staticMetaObjectE @ 435 NONAME DATA 16 - _ZN10QUndoStack4pushEP12QUndoCommand @ 436 NONAME - _ZN10QUndoStack4redoEv @ 437 NONAME - _ZN10QUndoStack4undoEv @ 438 NONAME - _ZN10QUndoStack5clearEv @ 439 NONAME - _ZN10QUndoStack8endMacroEv @ 440 NONAME - _ZN10QUndoStack8setCleanEv @ 441 NONAME - _ZN10QUndoStack8setIndexEi @ 442 NONAME - _ZN10QUndoStack9setActiveEb @ 443 NONAME - _ZN10QUndoStackC1EP7QObject @ 444 NONAME - _ZN10QUndoStackC2EP7QObject @ 445 NONAME - _ZN10QUndoStackD0Ev @ 446 NONAME - _ZN10QUndoStackD1Ev @ 447 NONAME - _ZN10QUndoStackD2Ev @ 448 NONAME - _ZN10QValidator11qt_metacallEN11QMetaObject4CallEiPPv @ 449 NONAME - _ZN10QValidator11qt_metacastEPKc @ 450 NONAME - _ZN10QValidator16staticMetaObjectE @ 451 NONAME DATA 16 - _ZN10QValidator9setLocaleERK7QLocale @ 452 NONAME - _ZN10QValidatorC2EP7QObject @ 453 NONAME - _ZN10QValidatorC2ER14QObjectPrivateP7QObject @ 454 NONAME - _ZN10QValidatorC2ER17QValidatorPrivateP7QObject @ 455 NONAME - _ZN10QValidatorD0Ev @ 456 NONAME - _ZN10QValidatorD1Ev @ 457 NONAME - _ZN10QValidatorD2Ev @ 458 NONAME - _ZN10QWhatsThis12createActionEP7QObject @ 459 NONAME - _ZN10QWhatsThis15inWhatsThisModeEv @ 460 NONAME - _ZN10QWhatsThis18enterWhatsThisModeEv @ 461 NONAME - _ZN10QWhatsThis18leaveWhatsThisModeEv @ 462 NONAME - _ZN10QWhatsThis8hideTextEv @ 463 NONAME - _ZN10QWhatsThis8showTextERK6QPointRK7QStringP7QWidget @ 464 NONAME - _ZN10QWhatsThisC1Ev @ 465 NONAME - _ZN10QWhatsThisC2Ev @ 466 NONAME - _ZN10QWorkspace10childEventEP11QChildEvent @ 467 NONAME - _ZN10QWorkspace10paintEventEP11QPaintEvent @ 468 NONAME - _ZN10QWorkspace10wheelEventEP11QWheelEvent @ 469 NONAME - _ZN10QWorkspace11changeEventEP6QEvent @ 470 NONAME - _ZN10QWorkspace11eventFilterEP7QObjectP6QEvent @ 471 NONAME - _ZN10QWorkspace11qt_metacallEN11QMetaObject4CallEiPPv @ 472 NONAME - _ZN10QWorkspace11qt_metacastEPKc @ 473 NONAME - _ZN10QWorkspace11resizeEventEP12QResizeEvent @ 474 NONAME - _ZN10QWorkspace12arrangeIconsEv @ 475 NONAME - _ZN10QWorkspace13setBackgroundERK6QBrush @ 476 NONAME - _ZN10QWorkspace15closeAllWindowsEv @ 477 NONAME - _ZN10QWorkspace15setActiveWindowEP7QWidget @ 478 NONAME - _ZN10QWorkspace15windowActivatedEP7QWidget @ 479 NONAME - _ZN10QWorkspace16staticMetaObjectE @ 480 NONAME DATA 16 - _ZN10QWorkspace17closeActiveWindowEv @ 481 NONAME - _ZN10QWorkspace18activateNextWindowEv @ 482 NONAME - _ZN10QWorkspace20setScrollBarsEnabledEb @ 483 NONAME - _ZN10QWorkspace22activatePreviousWindowEv @ 484 NONAME - _ZN10QWorkspace4tileEv @ 485 NONAME - _ZN10QWorkspace5eventEP6QEvent @ 486 NONAME - _ZN10QWorkspace7cascadeEv @ 487 NONAME - _ZN10QWorkspace9addWindowEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 488 NONAME - _ZN10QWorkspace9hideEventEP10QHideEvent @ 489 NONAME - _ZN10QWorkspace9showEventEP10QShowEvent @ 490 NONAME - _ZN10QWorkspaceC1EP7QWidget @ 491 NONAME - _ZN10QWorkspaceC2EP7QWidget @ 492 NONAME - _ZN10QWorkspaceD0Ev @ 493 NONAME - _ZN10QWorkspaceD1Ev @ 494 NONAME - _ZN10QWorkspaceD2Ev @ 495 NONAME - _ZN10QZipReader5closeEv @ 496 NONAME - _ZN10QZipReader8FileInfoC1ERKS0_ @ 497 NONAME - _ZN10QZipReader8FileInfoC1Ev @ 498 NONAME - _ZN10QZipReader8FileInfoC2ERKS0_ @ 499 NONAME - _ZN10QZipReader8FileInfoC2Ev @ 500 NONAME - _ZN10QZipReader8FileInfoD1Ev @ 501 NONAME - _ZN10QZipReader8FileInfoD2Ev @ 502 NONAME - _ZN10QZipReader8FileInfoaSERKS0_ @ 503 NONAME - _ZN10QZipReaderC1EP9QIODevice @ 504 NONAME - _ZN10QZipReaderC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 505 NONAME - _ZN10QZipReaderC2EP9QIODevice @ 506 NONAME - _ZN10QZipReaderC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 507 NONAME - _ZN10QZipReaderD1Ev @ 508 NONAME - _ZN10QZipReaderD2Ev @ 509 NONAME - _ZN10QZipWriter10addSymLinkERK7QStringS2_ @ 510 NONAME - _ZN10QZipWriter12addDirectoryERK7QString @ 511 NONAME - _ZN10QZipWriter20setCompressionPolicyENS_17CompressionPolicyE @ 512 NONAME - _ZN10QZipWriter22setCreationPermissionsE6QFlagsIN5QFile10PermissionEE @ 513 NONAME - _ZN10QZipWriter5closeEv @ 514 NONAME - _ZN10QZipWriter7addFileERK7QStringP9QIODevice @ 515 NONAME - _ZN10QZipWriter7addFileERK7QStringRK10QByteArray @ 516 NONAME - _ZN10QZipWriterC1EP9QIODevice @ 517 NONAME - _ZN10QZipWriterC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 518 NONAME - _ZN10QZipWriterC2EP9QIODevice @ 519 NONAME - _ZN10QZipWriterC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 520 NONAME - _ZN10QZipWriterD1Ev @ 521 NONAME - _ZN10QZipWriterD2Ev @ 522 NONAME - _ZN11QCloseEventC1Ev @ 523 NONAME - _ZN11QCloseEventC2Ev @ 524 NONAME - _ZN11QCloseEventD0Ev @ 525 NONAME - _ZN11QCloseEventD1Ev @ 526 NONAME - _ZN11QCloseEventD2Ev @ 527 NONAME - _ZN11QColumnView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 528 NONAME - _ZN11QColumnView11qt_metacallEN11QMetaObject4CallEiPPv @ 529 NONAME - _ZN11QColumnView11qt_metacastEPKc @ 530 NONAME - _ZN11QColumnView11resizeEventEP12QResizeEvent @ 531 NONAME - _ZN11QColumnView12createColumnERK11QModelIndex @ 532 NONAME - _ZN11QColumnView12setRootIndexERK11QModelIndex @ 533 NONAME - _ZN11QColumnView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 534 NONAME - _ZN11QColumnView14currentChangedERK11QModelIndexS2_ @ 535 NONAME - _ZN11QColumnView15setColumnWidthsERK5QListIiE @ 536 NONAME - _ZN11QColumnView16scrollContentsByEii @ 537 NONAME - _ZN11QColumnView16setPreviewWidgetEP7QWidget @ 538 NONAME - _ZN11QColumnView16staticMetaObjectE @ 539 NONAME DATA 16 - _ZN11QColumnView17setSelectionModelEP19QItemSelectionModel @ 540 NONAME - _ZN11QColumnView19updatePreviewWidgetERK11QModelIndex @ 541 NONAME - _ZN11QColumnView21setResizeGripsVisibleEb @ 542 NONAME - _ZN11QColumnView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 543 NONAME - _ZN11QColumnView8setModelEP18QAbstractItemModel @ 544 NONAME - _ZN11QColumnView9selectAllEv @ 545 NONAME - _ZN11QColumnViewC1EP7QWidget @ 546 NONAME - _ZN11QColumnViewC1ER18QColumnViewPrivateP7QWidget @ 547 NONAME - _ZN11QColumnViewC2EP7QWidget @ 548 NONAME - _ZN11QColumnViewC2ER18QColumnViewPrivateP7QWidget @ 549 NONAME - _ZN11QColumnViewD0Ev @ 550 NONAME - _ZN11QColumnViewD1Ev @ 551 NONAME - _ZN11QColumnViewD2Ev @ 552 NONAME - _ZN11QDockWidget10closeEventEP11QCloseEvent @ 553 NONAME - _ZN11QDockWidget10paintEventEP11QPaintEvent @ 554 NONAME - _ZN11QDockWidget11changeEventEP6QEvent @ 555 NONAME - _ZN11QDockWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 556 NONAME - _ZN11QDockWidget11qt_metacastEPKc @ 557 NONAME - _ZN11QDockWidget11setFeaturesE6QFlagsINS_17DockWidgetFeatureEE @ 558 NONAME - _ZN11QDockWidget11setFloatingEb @ 559 NONAME - _ZN11QDockWidget15featuresChangedE6QFlagsINS_17DockWidgetFeatureEE @ 560 NONAME - _ZN11QDockWidget15setAllowedAreasE6QFlagsIN2Qt14DockWidgetAreaEE @ 561 NONAME - _ZN11QDockWidget15topLevelChangedEb @ 562 NONAME - _ZN11QDockWidget16staticMetaObjectE @ 563 NONAME DATA 16 - _ZN11QDockWidget17setTitleBarWidgetEP7QWidget @ 564 NONAME - _ZN11QDockWidget17visibilityChangedEb @ 565 NONAME - _ZN11QDockWidget19allowedAreasChangedE6QFlagsIN2Qt14DockWidgetAreaEE @ 566 NONAME - _ZN11QDockWidget19dockLocationChangedEN2Qt14DockWidgetAreaE @ 567 NONAME - _ZN11QDockWidget5eventEP6QEvent @ 568 NONAME - _ZN11QDockWidget9setWidgetEP7QWidget @ 569 NONAME - _ZN11QDockWidgetC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 570 NONAME - _ZN11QDockWidgetC1ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 571 NONAME - _ZN11QDockWidgetC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 572 NONAME - _ZN11QDockWidgetC2ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 573 NONAME - _ZN11QDockWidgetD0Ev @ 574 NONAME - _ZN11QDockWidgetD1Ev @ 575 NONAME - _ZN11QDockWidgetD2Ev @ 576 NONAME - _ZN11QFileDialog10selectFileERK7QString @ 577 NONAME - _ZN11QFileDialog10setFiltersERK11QStringList @ 578 NONAME - _ZN11QFileDialog10setHistoryERK11QStringList @ 579 NONAME - _ZN11QFileDialog10setOptionsE6QFlagsINS_6OptionEE @ 580 NONAME - _ZN11QFileDialog10setVisibleEb @ 581 NONAME - _ZN11QFileDialog11changeEventEP6QEvent @ 582 NONAME - _ZN11QFileDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 583 NONAME - _ZN11QFileDialog11qt_metacastEPKc @ 584 NONAME - _ZN11QFileDialog11setFileModeENS_8FileModeE @ 585 NONAME - _ZN11QFileDialog11setReadOnlyEb @ 586 NONAME - _ZN11QFileDialog11setViewModeENS_8ViewModeE @ 587 NONAME - _ZN11QFileDialog12fileSelectedERK7QString @ 588 NONAME - _ZN11QFileDialog12restoreStateERK10QByteArray @ 589 NONAME - _ZN11QFileDialog12selectFilterERK7QString @ 590 NONAME - _ZN11QFileDialog12setDirectoryERK7QString @ 591 NONAME - _ZN11QFileDialog12setLabelTextENS_11DialogLabelERK7QString @ 592 NONAME - _ZN11QFileDialog13filesSelectedERK11QStringList @ 593 NONAME - _ZN11QFileDialog13setAcceptModeENS_10AcceptModeE @ 594 NONAME - _ZN11QFileDialog13setNameFilterERK7QString @ 595 NONAME - _ZN11QFileDialog13setProxyModelEP19QAbstractProxyModel @ 596 NONAME - _ZN11QFileDialog14currentChangedERK7QString @ 597 NONAME - _ZN11QFileDialog14filterSelectedERK7QString @ 598 NONAME - _ZN11QFileDialog14setNameFiltersERK11QStringList @ 599 NONAME - _ZN11QFileDialog14setSidebarUrlsERK5QListI4QUrlE @ 600 NONAME - _ZN11QFileDialog15getOpenFileNameEP7QWidgetRK7QStringS4_S4_PS2_6QFlagsINS_6OptionEE @ 601 NONAME - _ZN11QFileDialog15getSaveFileNameEP7QWidgetRK7QStringS4_S4_PS2_6QFlagsINS_6OptionEE @ 602 NONAME - _ZN11QFileDialog15setIconProviderEP17QFileIconProvider @ 603 NONAME - _ZN11QFileDialog15setItemDelegateEP21QAbstractItemDelegate @ 604 NONAME - _ZN11QFileDialog16directoryEnteredERK7QString @ 605 NONAME - _ZN11QFileDialog16getOpenFileNamesEP7QWidgetRK7QStringS4_S4_PS2_6QFlagsINS_6OptionEE @ 606 NONAME - _ZN11QFileDialog16selectNameFilterERK7QString @ 607 NONAME - _ZN11QFileDialog16setDefaultSuffixERK7QString @ 608 NONAME - _ZN11QFileDialog16staticMetaObjectE @ 609 NONAME DATA 16 - _ZN11QFileDialog18setResolveSymlinksEb @ 610 NONAME - _ZN11QFileDialog19setConfirmOverwriteEb @ 611 NONAME - _ZN11QFileDialog20getExistingDirectoryEP7QWidgetRK7QStringS4_6QFlagsINS_6OptionEE @ 612 NONAME - _ZN11QFileDialog27setNameFilterDetailsVisibleEb @ 613 NONAME - _ZN11QFileDialog4doneEi @ 614 NONAME - _ZN11QFileDialog4openEP7QObjectPKc @ 615 NONAME - _ZN11QFileDialog6acceptEv @ 616 NONAME - _ZN11QFileDialog9setFilterE6QFlagsIN4QDir6FilterEE @ 617 NONAME - _ZN11QFileDialog9setFilterERK7QString @ 618 NONAME - _ZN11QFileDialog9setOptionENS_6OptionEb @ 619 NONAME - _ZN11QFileDialogC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 620 NONAME - _ZN11QFileDialogC1EP7QWidgetRK7QStringS4_S4_ @ 621 NONAME - _ZN11QFileDialogC1ERK15QFileDialogArgs @ 622 NONAME - _ZN11QFileDialogC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 623 NONAME - _ZN11QFileDialogC2EP7QWidgetRK7QStringS4_S4_ @ 624 NONAME - _ZN11QFileDialogC2ERK15QFileDialogArgs @ 625 NONAME - _ZN11QFileDialogD0Ev @ 626 NONAME - _ZN11QFileDialogD1Ev @ 627 NONAME - _ZN11QFileDialogD2Ev @ 628 NONAME - _ZN11QFocusEvent6reasonEv @ 629 NONAME - _ZN11QFocusEventC1EN6QEvent4TypeEN2Qt11FocusReasonE @ 630 NONAME - _ZN11QFocusEventC2EN6QEvent4TypeEN2Qt11FocusReasonE @ 631 NONAME - _ZN11QFocusEventD0Ev @ 632 NONAME - _ZN11QFocusEventD1Ev @ 633 NONAME - _ZN11QFocusEventD2Ev @ 634 NONAME - _ZN11QFocusFrame10paintEventEP11QPaintEvent @ 635 NONAME - _ZN11QFocusFrame11eventFilterEP7QObjectP6QEvent @ 636 NONAME - _ZN11QFocusFrame11qt_metacallEN11QMetaObject4CallEiPPv @ 637 NONAME - _ZN11QFocusFrame11qt_metacastEPKc @ 638 NONAME - _ZN11QFocusFrame16staticMetaObjectE @ 639 NONAME DATA 16 - _ZN11QFocusFrame5eventEP6QEvent @ 640 NONAME - _ZN11QFocusFrame9setWidgetEP7QWidget @ 641 NONAME - _ZN11QFocusFrameC1EP7QWidget @ 642 NONAME - _ZN11QFocusFrameC2EP7QWidget @ 643 NONAME - _ZN11QFocusFrameD0Ev @ 644 NONAME - _ZN11QFocusFrameD1Ev @ 645 NONAME - _ZN11QFocusFrameD2Ev @ 646 NONAME - _ZN11QFontDialog10setOptionsE6QFlagsINS_16FontDialogOptionEE @ 647 NONAME - _ZN11QFontDialog10setVisibleEb @ 648 NONAME - _ZN11QFontDialog11changeEventEP6QEvent @ 649 NONAME - _ZN11QFontDialog11eventFilterEP7QObjectP6QEvent @ 650 NONAME - _ZN11QFontDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 651 NONAME - _ZN11QFontDialog11qt_metacastEPKc @ 652 NONAME - _ZN11QFontDialog12fontSelectedERK5QFont @ 653 NONAME - _ZN11QFontDialog14setCurrentFontERK5QFont @ 654 NONAME - _ZN11QFontDialog16staticMetaObjectE @ 655 NONAME DATA 16 - _ZN11QFontDialog18currentFontChangedERK5QFont @ 656 NONAME - _ZN11QFontDialog4doneEi @ 657 NONAME - _ZN11QFontDialog4openEP7QObjectPKc @ 658 NONAME - _ZN11QFontDialog7getFontEPbP7QWidget @ 659 NONAME - _ZN11QFontDialog7getFontEPbRK5QFontP7QWidget @ 660 NONAME - _ZN11QFontDialog7getFontEPbRK5QFontP7QWidgetRK7QString @ 661 NONAME - _ZN11QFontDialog7getFontEPbRK5QFontP7QWidgetRK7QString6QFlagsINS_16FontDialogOptionEE @ 662 NONAME - _ZN11QFontDialog9setOptionENS_16FontDialogOptionEb @ 663 NONAME - _ZN11QFontDialogC1EP7QWidget @ 664 NONAME - _ZN11QFontDialogC1ERK5QFontP7QWidget @ 665 NONAME - _ZN11QFontDialogC2EP7QWidget @ 666 NONAME - _ZN11QFontDialogC2ERK5QFontP7QWidget @ 667 NONAME - _ZN11QFontDialogD0Ev @ 668 NONAME - _ZN11QFontDialogD1Ev @ 669 NONAME - _ZN11QFontDialogD2Ev @ 670 NONAME - _ZN11QFontEngine11boundingBoxEjRK10QTransform @ 671 NONAME - _ZN11QFontEngine11grayPaletteEv @ 672 NONAME - _ZN11QFontEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 673 NONAME ABSENT - _ZN11QFontEngine11qt_metacastEPKc @ 674 NONAME ABSENT - _ZN11QFontEngine13setGlyphCacheEN21QFontEngineGlyphCache4TypeEPS0_ @ 675 NONAME - _ZN11QFontEngine13setGlyphCacheEPvP21QFontEngineGlyphCache @ 676 NONAME - _ZN11QFontEngine15addGlyphsToPathEPjP11QFixedPointiP12QPainterPath6QFlagsIN9QTextItem10RenderFlagEE @ 677 NONAME - _ZN11QFontEngine16addOutlineToPathEffRK12QGlyphLayoutP12QPainterPath6QFlagsIN9QTextItem10RenderFlagEE @ 678 NONAME - _ZN11QFontEngine16alphaMapForGlyphEj @ 679 NONAME - _ZN11QFontEngine16alphaMapForGlyphEjRK10QTransform @ 680 NONAME - _ZN11QFontEngine16expireGlyphCacheEv @ 681 NONAME - _ZN11QFontEngine16getUnscaledGlyphEjP12QPainterPathP15glyph_metrics_t @ 682 NONAME - _ZN11QFontEngine16loadKerningPairsE6QFixed @ 683 NONAME - _ZN11QFontEngine16staticMetaObjectE @ 684 NONAME DATA 16 ABSENT - _ZN11QFontEngine16tightBoundingBoxERK12QGlyphLayout @ 685 NONAME - _ZN11QFontEngine17getGlyphPositionsERK12QGlyphLayoutRK10QTransform6QFlagsIN9QTextItem10RenderFlagEER15QVarLengthArrayIjLi256EERSA_I11QFixedPointLi256EE @ 686 NONAME - _ZN11QFontEngine17getPointInOutlineEjijPiS0_Pj @ 687 NONAME - _ZN11QFontEngine19addBitmapFontToPathEffRK12QGlyphLayoutP12QPainterPath6QFlagsIN9QTextItem10RenderFlagEE @ 688 NONAME - _ZN11QFontEngine19alphaRGBMapForGlyphEjiRK10QTransform @ 689 NONAME - _ZN11QFontEngine20removeGlyphFromCacheEj @ 690 NONAME - _ZN11QFontEngine21getTrueTypeGlyphIndexEPKhj @ 691 NONAME - _ZN11QFontEngine7getCMapEPKhjPbPi @ 692 NONAME - _ZN11QFontEngineC2Ev @ 693 NONAME - _ZN11QFontEngineD0Ev @ 694 NONAME - _ZN11QFontEngineD1Ev @ 695 NONAME - _ZN11QFontEngineD2Ev @ 696 NONAME - _ZN11QFormLayout10invalidateEv @ 697 NONAME - _ZN11QFormLayout10setSpacingEi @ 698 NONAME - _ZN11QFormLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 699 NONAME - _ZN11QFormLayout11qt_metacastEPKc @ 700 NONAME - _ZN11QFormLayout11setGeometryERK5QRect @ 701 NONAME - _ZN11QFormLayout16setFormAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 702 NONAME - _ZN11QFormLayout16setRowWrapPolicyENS_13RowWrapPolicyE @ 703 NONAME - _ZN11QFormLayout16staticMetaObjectE @ 704 NONAME DATA 16 - _ZN11QFormLayout17setLabelAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 705 NONAME - _ZN11QFormLayout18resetFormAlignmentEv @ 706 NONAME - _ZN11QFormLayout18resetRowWrapPolicyEv @ 707 NONAME - _ZN11QFormLayout18setVerticalSpacingEi @ 708 NONAME - _ZN11QFormLayout19resetLabelAlignmentEv @ 709 NONAME - _ZN11QFormLayout20setFieldGrowthPolicyENS_17FieldGrowthPolicyE @ 710 NONAME - _ZN11QFormLayout20setHorizontalSpacingEi @ 711 NONAME - _ZN11QFormLayout22resetFieldGrowthPolicyEv @ 712 NONAME - _ZN11QFormLayout6addRowEP7QLayout @ 713 NONAME - _ZN11QFormLayout6addRowEP7QWidget @ 714 NONAME - _ZN11QFormLayout6addRowEP7QWidgetP7QLayout @ 715 NONAME - _ZN11QFormLayout6addRowEP7QWidgetS1_ @ 716 NONAME - _ZN11QFormLayout6addRowERK7QStringP7QLayout @ 717 NONAME - _ZN11QFormLayout6addRowERK7QStringP7QWidget @ 718 NONAME - _ZN11QFormLayout6takeAtEi @ 719 NONAME - _ZN11QFormLayout7addItemEP11QLayoutItem @ 720 NONAME - _ZN11QFormLayout7setItemEiNS_8ItemRoleEP11QLayoutItem @ 721 NONAME - _ZN11QFormLayout9insertRowEiP7QLayout @ 722 NONAME - _ZN11QFormLayout9insertRowEiP7QWidget @ 723 NONAME - _ZN11QFormLayout9insertRowEiP7QWidgetP7QLayout @ 724 NONAME - _ZN11QFormLayout9insertRowEiP7QWidgetS1_ @ 725 NONAME - _ZN11QFormLayout9insertRowEiRK7QStringP7QLayout @ 726 NONAME - _ZN11QFormLayout9insertRowEiRK7QStringP7QWidget @ 727 NONAME - _ZN11QFormLayout9setLayoutEiNS_8ItemRoleEP7QLayout @ 728 NONAME - _ZN11QFormLayout9setWidgetEiNS_8ItemRoleEP7QWidget @ 729 NONAME - _ZN11QFormLayoutC1EP7QWidget @ 730 NONAME - _ZN11QFormLayoutC2EP7QWidget @ 731 NONAME - _ZN11QFormLayoutD0Ev @ 732 NONAME - _ZN11QFormLayoutD1Ev @ 733 NONAME - _ZN11QFormLayoutD2Ev @ 734 NONAME - _ZN11QGridLayout10invalidateEv @ 735 NONAME - _ZN11QGridLayout10setSpacingEi @ 736 NONAME - _ZN11QGridLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 737 NONAME - _ZN11QGridLayout11qt_metacastEPKc @ 738 NONAME - _ZN11QGridLayout11setGeometryERK5QRect @ 739 NONAME - _ZN11QGridLayout13setRowStretchEii @ 740 NONAME - _ZN11QGridLayout15getItemPositionEiPiS0_S0_S0_ @ 741 NONAME - _ZN11QGridLayout15setOriginCornerEN2Qt6CornerE @ 742 NONAME - _ZN11QGridLayout16setColumnStretchEii @ 743 NONAME - _ZN11QGridLayout16staticMetaObjectE @ 744 NONAME DATA 16 - _ZN11QGridLayout18setVerticalSpacingEi @ 745 NONAME - _ZN11QGridLayout19setRowMinimumHeightEii @ 746 NONAME - _ZN11QGridLayout20setHorizontalSpacingEi @ 747 NONAME - _ZN11QGridLayout21setColumnMinimumWidthEii @ 748 NONAME - _ZN11QGridLayout21setDefaultPositioningEiN2Qt11OrientationE @ 749 NONAME - _ZN11QGridLayout6takeAtEi @ 750 NONAME - _ZN11QGridLayout7addItemEP11QLayoutItem @ 751 NONAME - _ZN11QGridLayout7addItemEP11QLayoutItemiiii6QFlagsIN2Qt13AlignmentFlagEE @ 752 NONAME - _ZN11QGridLayout9addLayoutEP7QLayoutii6QFlagsIN2Qt13AlignmentFlagEE @ 753 NONAME - _ZN11QGridLayout9addLayoutEP7QLayoutiiii6QFlagsIN2Qt13AlignmentFlagEE @ 754 NONAME - _ZN11QGridLayout9addWidgetEP7QWidgetii6QFlagsIN2Qt13AlignmentFlagEE @ 755 NONAME - _ZN11QGridLayout9addWidgetEP7QWidgetiiii6QFlagsIN2Qt13AlignmentFlagEE @ 756 NONAME - _ZN11QGridLayoutC1EP7QWidget @ 757 NONAME - _ZN11QGridLayoutC1Ev @ 758 NONAME - _ZN11QGridLayoutC2EP7QWidget @ 759 NONAME - _ZN11QGridLayoutC2Ev @ 760 NONAME - _ZN11QGridLayoutD0Ev @ 761 NONAME - _ZN11QGridLayoutD1Ev @ 762 NONAME - _ZN11QGridLayoutD2Ev @ 763 NONAME - _ZN11QHBoxLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 764 NONAME - _ZN11QHBoxLayout11qt_metacastEPKc @ 765 NONAME - _ZN11QHBoxLayout16staticMetaObjectE @ 766 NONAME DATA 16 - _ZN11QHBoxLayoutC1EP7QWidget @ 767 NONAME - _ZN11QHBoxLayoutC1Ev @ 768 NONAME - _ZN11QHBoxLayoutC2EP7QWidget @ 769 NONAME - _ZN11QHBoxLayoutC2Ev @ 770 NONAME - _ZN11QHBoxLayoutD0Ev @ 771 NONAME - _ZN11QHBoxLayoutD1Ev @ 772 NONAME - _ZN11QHBoxLayoutD2Ev @ 773 NONAME - _ZN11QHeaderView10initializeEv @ 774 NONAME - _ZN11QHeaderView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 775 NONAME - _ZN11QHeaderView10paintEventEP11QPaintEvent @ 776 NONAME - _ZN11QHeaderView10setMovableEb @ 777 NONAME - _ZN11QHeaderView11dataChangedERK11QModelIndexS2_ @ 778 NONAME - _ZN11QHeaderView11moveSectionEii @ 779 NONAME - _ZN11QHeaderView11qt_metacallEN11QMetaObject4CallEiPPv @ 780 NONAME - _ZN11QHeaderView11qt_metacastEPKc @ 781 NONAME - _ZN11QHeaderView12restoreStateERK10QByteArray @ 782 NONAME - _ZN11QHeaderView12rowsInsertedERK11QModelIndexii @ 783 NONAME - _ZN11QHeaderView12sectionMovedEiii @ 784 NONAME - _ZN11QHeaderView12setClickableEb @ 785 NONAME - _ZN11QHeaderView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 786 NONAME - _ZN11QHeaderView12swapSectionsEii @ 787 NONAME - _ZN11QHeaderView13doItemsLayoutEv @ 788 NONAME - _ZN11QHeaderView13resizeSectionEii @ 789 NONAME - _ZN11QHeaderView13setResizeModeENS_10ResizeModeE @ 790 NONAME - _ZN11QHeaderView13setResizeModeEiNS_10ResizeModeE @ 791 NONAME - _ZN11QHeaderView13updateSectionEi @ 792 NONAME - _ZN11QHeaderView13viewportEventEP6QEvent @ 793 NONAME - _ZN11QHeaderView14currentChangedERK11QModelIndexS2_ @ 794 NONAME - _ZN11QHeaderView14mouseMoveEventEP11QMouseEvent @ 795 NONAME - _ZN11QHeaderView14resizeSectionsENS_10ResizeModeE @ 796 NONAME - _ZN11QHeaderView14resizeSectionsEv @ 797 NONAME - _ZN11QHeaderView14sectionClickedEi @ 798 NONAME - _ZN11QHeaderView14sectionEnteredEi @ 799 NONAME - _ZN11QHeaderView14sectionPressedEi @ 800 NONAME - _ZN11QHeaderView14sectionResizedEiii @ 801 NONAME - _ZN11QHeaderView15mousePressEventEP11QMouseEvent @ 802 NONAME - _ZN11QHeaderView16scrollContentsByEii @ 803 NONAME - _ZN11QHeaderView16sectionsInsertedERK11QModelIndexii @ 804 NONAME - _ZN11QHeaderView16setSectionHiddenEib @ 805 NONAME - _ZN11QHeaderView16setSortIndicatorEiN2Qt9SortOrderE @ 806 NONAME - _ZN11QHeaderView16staticMetaObjectE @ 807 NONAME DATA 16 - _ZN11QHeaderView16updateGeometriesEv @ 808 NONAME - _ZN11QHeaderView17geometriesChangedEv @ 809 NONAME - _ZN11QHeaderView17headerDataChangedEN2Qt11OrientationEii @ 810 NONAME - _ZN11QHeaderView17mouseReleaseEventEP11QMouseEvent @ 811 NONAME - _ZN11QHeaderView17sectionAutoResizeEiNS_10ResizeModeE @ 812 NONAME - _ZN11QHeaderView18initializeSectionsEii @ 813 NONAME - _ZN11QHeaderView18initializeSectionsEv @ 814 NONAME - _ZN11QHeaderView19sectionCountChangedEii @ 815 NONAME - _ZN11QHeaderView19setDefaultAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 816 NONAME - _ZN11QHeaderView20sectionDoubleClickedEi @ 817 NONAME - _ZN11QHeaderView20setHighlightSectionsEb @ 818 NONAME - _ZN11QHeaderView20sortIndicatorChangedEiN2Qt9SortOrderE @ 819 NONAME - _ZN11QHeaderView21mouseDoubleClickEventEP11QMouseEvent @ 820 NONAME - _ZN11QHeaderView21setDefaultSectionSizeEi @ 821 NONAME - _ZN11QHeaderView21setMinimumSectionSizeEi @ 822 NONAME - _ZN11QHeaderView21setSortIndicatorShownEb @ 823 NONAME - _ZN11QHeaderView21setStretchLastSectionEb @ 824 NONAME - _ZN11QHeaderView22setOffsetToLastSectionEv @ 825 NONAME - _ZN11QHeaderView24sectionsAboutToBeRemovedERK11QModelIndexii @ 826 NONAME - _ZN11QHeaderView26sectionHandleDoubleClickedEi @ 827 NONAME - _ZN11QHeaderView26setCascadingSectionResizesEb @ 828 NONAME - _ZN11QHeaderView26setOffsetToSectionPositionEi @ 829 NONAME - _ZN11QHeaderView5eventEP6QEvent @ 830 NONAME - _ZN11QHeaderView5resetEv @ 831 NONAME - _ZN11QHeaderView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 832 NONAME - _ZN11QHeaderView8setModelEP18QAbstractItemModel @ 833 NONAME - _ZN11QHeaderView9setOffsetEi @ 834 NONAME - _ZN11QHeaderViewC1EN2Qt11OrientationEP7QWidget @ 835 NONAME - _ZN11QHeaderViewC1ER18QHeaderViewPrivateN2Qt11OrientationEP7QWidget @ 836 NONAME - _ZN11QHeaderViewC2EN2Qt11OrientationEP7QWidget @ 837 NONAME - _ZN11QHeaderViewC2ER18QHeaderViewPrivateN2Qt11OrientationEP7QWidget @ 838 NONAME - _ZN11QHeaderViewD0Ev @ 839 NONAME - _ZN11QHeaderViewD1Ev @ 840 NONAME - _ZN11QHeaderViewD2Ev @ 841 NONAME - _ZN11QHoverEventC1EN6QEvent4TypeERK6QPointS4_ @ 842 NONAME - _ZN11QHoverEventC2EN6QEvent4TypeERK6QPointS4_ @ 843 NONAME - _ZN11QHoverEventD0Ev @ 844 NONAME - _ZN11QHoverEventD1Ev @ 845 NONAME - _ZN11QHoverEventD2Ev @ 846 NONAME - _ZN11QIconEngine10actualSizeERK5QSizeN5QIcon4ModeENS3_5StateE @ 847 NONAME - _ZN11QIconEngine6pixmapERK5QSizeN5QIcon4ModeENS3_5StateE @ 848 NONAME - _ZN11QIconEngine7addFileERK7QStringRK5QSizeN5QIcon4ModeENS6_5StateE @ 849 NONAME - _ZN11QIconEngine9addPixmapERK7QPixmapN5QIcon4ModeENS3_5StateE @ 850 NONAME - _ZN11QIconEngineD0Ev @ 851 NONAME - _ZN11QIconEngineD1Ev @ 852 NONAME - _ZN11QIconEngineD2Ev @ 853 NONAME - _ZN11QInputEventC1EN6QEvent4TypeE6QFlagsIN2Qt16KeyboardModifierEE @ 854 NONAME - _ZN11QInputEventC2EN6QEvent4TypeE6QFlagsIN2Qt16KeyboardModifierEE @ 855 NONAME - _ZN11QInputEventD0Ev @ 856 NONAME - _ZN11QInputEventD1Ev @ 857 NONAME - _ZN11QInputEventD2Ev @ 858 NONAME - _ZN11QKeyEventExC1EN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEERK7QStringbtjjj @ 859 NONAME ABSENT - _ZN11QKeyEventExC1ERKS_ @ 860 NONAME ABSENT - _ZN11QKeyEventExC2EN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEERK7QStringbtjjj @ 861 NONAME ABSENT - _ZN11QKeyEventExC2ERKS_ @ 862 NONAME ABSENT - _ZN11QKeyEventExD0Ev @ 863 NONAME ABSENT - _ZN11QKeyEventExD1Ev @ 864 NONAME ABSENT - _ZN11QKeyEventExD2Ev @ 865 NONAME ABSENT - _ZN11QLayoutItem10invalidateEv @ 866 NONAME - _ZN11QLayoutItem10spacerItemEv @ 867 NONAME - _ZN11QLayoutItem12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 868 NONAME - _ZN11QLayoutItem6layoutEv @ 869 NONAME - _ZN11QLayoutItem6widgetEv @ 870 NONAME - _ZN11QLayoutItemD0Ev @ 871 NONAME - _ZN11QLayoutItemD1Ev @ 872 NONAME - _ZN11QLayoutItemD2Ev @ 873 NONAME - _ZN11QListWidget10insertItemEiP15QListWidgetItem @ 874 NONAME - _ZN11QListWidget10insertItemEiRK7QString @ 875 NONAME - _ZN11QListWidget11insertItemsEiRK11QStringList @ 876 NONAME - _ZN11QListWidget11itemChangedEP15QListWidgetItem @ 877 NONAME - _ZN11QListWidget11itemClickedEP15QListWidgetItem @ 878 NONAME - _ZN11QListWidget11itemEnteredEP15QListWidgetItem @ 879 NONAME - _ZN11QListWidget11itemPressedEP15QListWidgetItem @ 880 NONAME - _ZN11QListWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 881 NONAME - _ZN11QListWidget11qt_metacastEPKc @ 882 NONAME - _ZN11QListWidget12dropMimeDataEiPK9QMimeDataN2Qt10DropActionE @ 883 NONAME - _ZN11QListWidget12scrollToItemEPK15QListWidgetItemN17QAbstractItemView10ScrollHintE @ 884 NONAME - _ZN11QListWidget13itemActivatedEP15QListWidgetItem @ 885 NONAME - _ZN11QListWidget13setCurrentRowEi @ 886 NONAME - _ZN11QListWidget13setCurrentRowEi6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 887 NONAME - _ZN11QListWidget13setItemHiddenEPK15QListWidgetItemb @ 888 NONAME - _ZN11QListWidget13setItemWidgetEP15QListWidgetItemP7QWidget @ 889 NONAME - _ZN11QListWidget14setCurrentItemEP15QListWidgetItem @ 890 NONAME - _ZN11QListWidget14setCurrentItemEP15QListWidgetItem6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 891 NONAME - _ZN11QListWidget15setItemSelectedEPK15QListWidgetItemb @ 892 NONAME - _ZN11QListWidget16staticMetaObjectE @ 893 NONAME DATA 16 - _ZN11QListWidget17currentRowChangedEi @ 894 NONAME - _ZN11QListWidget17itemDoubleClickedEP15QListWidgetItem @ 895 NONAME - _ZN11QListWidget17setSortingEnabledEb @ 896 NONAME - _ZN11QListWidget18currentItemChangedEP15QListWidgetItemS1_ @ 897 NONAME - _ZN11QListWidget18currentTextChangedERK7QString @ 898 NONAME - _ZN11QListWidget20itemSelectionChangedEv @ 899 NONAME - _ZN11QListWidget20openPersistentEditorEP15QListWidgetItem @ 900 NONAME - _ZN11QListWidget21closePersistentEditorEP15QListWidgetItem @ 901 NONAME - _ZN11QListWidget5clearEv @ 902 NONAME - _ZN11QListWidget5eventEP6QEvent @ 903 NONAME - _ZN11QListWidget8editItemEP15QListWidgetItem @ 904 NONAME - _ZN11QListWidget8setModelEP18QAbstractItemModel @ 905 NONAME - _ZN11QListWidget8takeItemEi @ 906 NONAME - _ZN11QListWidget9dropEventEP10QDropEvent @ 907 NONAME - _ZN11QListWidget9sortItemsEN2Qt9SortOrderE @ 908 NONAME - _ZN11QListWidgetC1EP7QWidget @ 909 NONAME - _ZN11QListWidgetC2EP7QWidget @ 910 NONAME - _ZN11QListWidgetD0Ev @ 911 NONAME - _ZN11QListWidgetD1Ev @ 912 NONAME - _ZN11QListWidgetD2Ev @ 913 NONAME - _ZN11QMainWindow10addToolBarEN2Qt11ToolBarAreaEP8QToolBar @ 914 NONAME - _ZN11QMainWindow10addToolBarEP8QToolBar @ 915 NONAME - _ZN11QMainWindow10addToolBarERK7QString @ 916 NONAME - _ZN11QMainWindow10setMenuBarEP8QMenuBar @ 917 NONAME - _ZN11QMainWindow11qt_metacallEN11QMetaObject4CallEiPPv @ 918 NONAME - _ZN11QMainWindow11qt_metacastEPKc @ 919 NONAME - _ZN11QMainWindow11setAnimatedEb @ 920 NONAME - _ZN11QMainWindow11setIconSizeERK5QSize @ 921 NONAME - _ZN11QMainWindow11setTabShapeEN10QTabWidget8TabShapeE @ 922 NONAME - _ZN11QMainWindow12restoreStateERK10QByteArrayi @ 923 NONAME - _ZN11QMainWindow12setStatusBarEP10QStatusBar @ 924 NONAME - _ZN11QMainWindow13addDockWidgetEN2Qt14DockWidgetAreaEP11QDockWidget @ 925 NONAME - _ZN11QMainWindow13addDockWidgetEN2Qt14DockWidgetAreaEP11QDockWidgetNS0_11OrientationE @ 926 NONAME - _ZN11QMainWindow13insertToolBarEP8QToolBarS1_ @ 927 NONAME - _ZN11QMainWindow13removeToolBarEP8QToolBar @ 928 NONAME - _ZN11QMainWindow13setMenuWidgetEP7QWidget @ 929 NONAME - _ZN11QMainWindow14setDockOptionsE6QFlagsINS_10DockOptionEE @ 930 NONAME - _ZN11QMainWindow14setTabPositionE6QFlagsIN2Qt14DockWidgetAreaEEN10QTabWidget11TabPositionE @ 931 NONAME - _ZN11QMainWindow15addToolBarBreakEN2Qt11ToolBarAreaE @ 932 NONAME - _ZN11QMainWindow15createPopupMenuEv @ 933 NONAME - _ZN11QMainWindow15iconSizeChangedERK5QSize @ 934 NONAME - _ZN11QMainWindow15setDocumentModeEb @ 935 NONAME - _ZN11QMainWindow15splitDockWidgetEP11QDockWidgetS1_N2Qt11OrientationE @ 936 NONAME - _ZN11QMainWindow16contextMenuEventEP17QContextMenuEvent @ 937 NONAME - _ZN11QMainWindow16removeDockWidgetEP11QDockWidget @ 938 NONAME - _ZN11QMainWindow16setCentralWidgetEP7QWidget @ 939 NONAME - _ZN11QMainWindow16staticMetaObjectE @ 940 NONAME DATA 16 - _ZN11QMainWindow16tabifyDockWidgetEP11QDockWidgetS1_ @ 941 NONAME - _ZN11QMainWindow17restoreDockWidgetEP11QDockWidget @ 942 NONAME - _ZN11QMainWindow18insertToolBarBreakEP8QToolBar @ 943 NONAME - _ZN11QMainWindow18removeToolBarBreakEP8QToolBar @ 944 NONAME - _ZN11QMainWindow18setToolButtonStyleEN2Qt15ToolButtonStyleE @ 945 NONAME - _ZN11QMainWindow21setDockNestingEnabledEb @ 946 NONAME - _ZN11QMainWindow22toolButtonStyleChangedEN2Qt15ToolButtonStyleE @ 947 NONAME - _ZN11QMainWindow30setUnifiedTitleAndToolBarOnMacEb @ 948 NONAME - _ZN11QMainWindow5eventEP6QEvent @ 949 NONAME - _ZN11QMainWindow9setCornerEN2Qt6CornerENS0_14DockWidgetAreaE @ 950 NONAME - _ZN11QMainWindowC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 951 NONAME - _ZN11QMainWindowC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 952 NONAME - _ZN11QMainWindowD0Ev @ 953 NONAME - _ZN11QMainWindowD1Ev @ 954 NONAME - _ZN11QMainWindowD2Ev @ 955 NONAME - _ZN11QMessageBox10closeEventEP11QCloseEvent @ 956 NONAME - _ZN11QMessageBox11changeEventEP6QEvent @ 957 NONAME - _ZN11QMessageBox11informationEP7QWidgetRK7QStringS4_6QFlagsINS_14StandardButtonEES6_ @ 958 NONAME - _ZN11QMessageBox11informationEP7QWidgetRK7QStringS4_S4_S4_S4_ii @ 959 NONAME - _ZN11QMessageBox11informationEP7QWidgetRK7QStringS4_iii @ 960 NONAME - _ZN11QMessageBox11qt_metacallEN11QMetaObject4CallEiPPv @ 961 NONAME - _ZN11QMessageBox11qt_metacastEPKc @ 962 NONAME - _ZN11QMessageBox11resizeEventEP12QResizeEvent @ 963 NONAME - _ZN11QMessageBox12removeButtonEP15QAbstractButton @ 964 NONAME - _ZN11QMessageBox12standardIconENS_4IconE @ 965 NONAME - _ZN11QMessageBox13buttonClickedEP15QAbstractButton @ 966 NONAME - _ZN11QMessageBox13keyPressEventEP9QKeyEvent @ 967 NONAME - _ZN11QMessageBox13setButtonTextEiRK7QString @ 968 NONAME - _ZN11QMessageBox13setIconPixmapERK7QPixmap @ 969 NONAME - _ZN11QMessageBox13setTextFormatEN2Qt10TextFormatE @ 970 NONAME - _ZN11QMessageBox14setWindowTitleERK7QString @ 971 NONAME - _ZN11QMessageBox15setDetailedTextERK7QString @ 972 NONAME - _ZN11QMessageBox15setEscapeButtonENS_14StandardButtonE @ 973 NONAME - _ZN11QMessageBox15setEscapeButtonEP15QAbstractButton @ 974 NONAME - _ZN11QMessageBox16setDefaultButtonENS_14StandardButtonE @ 975 NONAME - _ZN11QMessageBox16setDefaultButtonEP11QPushButton @ 976 NONAME - _ZN11QMessageBox16staticMetaObjectE @ 977 NONAME DATA 16 - _ZN11QMessageBox17setWindowModalityEN2Qt14WindowModalityE @ 978 NONAME - _ZN11QMessageBox18setInformativeTextERK7QString @ 979 NONAME - _ZN11QMessageBox18setStandardButtonsE6QFlagsINS_14StandardButtonEE @ 980 NONAME - _ZN11QMessageBox4openEP7QObjectPKc @ 981 NONAME - _ZN11QMessageBox5aboutEP7QWidgetRK7QStringS4_ @ 982 NONAME - _ZN11QMessageBox5eventEP6QEvent @ 983 NONAME - _ZN11QMessageBox7aboutQtEP7QWidgetRK7QString @ 984 NONAME - _ZN11QMessageBox7setIconENS_4IconE @ 985 NONAME - _ZN11QMessageBox7setTextERK7QString @ 986 NONAME - _ZN11QMessageBox7warningEP7QWidgetRK7QStringS4_6QFlagsINS_14StandardButtonEES6_ @ 987 NONAME - _ZN11QMessageBox7warningEP7QWidgetRK7QStringS4_S4_S4_S4_ii @ 988 NONAME - _ZN11QMessageBox7warningEP7QWidgetRK7QStringS4_iii @ 989 NONAME - _ZN11QMessageBox8criticalEP7QWidgetRK7QStringS4_6QFlagsINS_14StandardButtonEES6_ @ 990 NONAME - _ZN11QMessageBox8criticalEP7QWidgetRK7QStringS4_S4_S4_S4_ii @ 991 NONAME - _ZN11QMessageBox8criticalEP7QWidgetRK7QStringS4_iii @ 992 NONAME - _ZN11QMessageBox8questionEP7QWidgetRK7QStringS4_6QFlagsINS_14StandardButtonEES6_ @ 993 NONAME - _ZN11QMessageBox8questionEP7QWidgetRK7QStringS4_S4_S4_S4_ii @ 994 NONAME - _ZN11QMessageBox8questionEP7QWidgetRK7QStringS4_iii @ 995 NONAME - _ZN11QMessageBox9addButtonENS_14StandardButtonE @ 996 NONAME - _ZN11QMessageBox9addButtonEP15QAbstractButtonNS_10ButtonRoleE @ 997 NONAME - _ZN11QMessageBox9addButtonERK7QStringNS_10ButtonRoleE @ 998 NONAME - _ZN11QMessageBox9showEventEP10QShowEvent @ 999 NONAME - _ZN11QMessageBoxC1ENS_4IconERK7QStringS3_6QFlagsINS_14StandardButtonEEP7QWidgetS4_IN2Qt10WindowTypeEE @ 1000 NONAME - _ZN11QMessageBoxC1EP7QWidget @ 1001 NONAME - _ZN11QMessageBoxC1ERK7QStringS2_NS_4IconEiiiP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 1002 NONAME - _ZN11QMessageBoxC2ENS_4IconERK7QStringS3_6QFlagsINS_14StandardButtonEEP7QWidgetS4_IN2Qt10WindowTypeEE @ 1003 NONAME - _ZN11QMessageBoxC2EP7QWidget @ 1004 NONAME - _ZN11QMessageBoxC2ERK7QStringS2_NS_4IconEiiiP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 1005 NONAME - _ZN11QMessageBoxD0Ev @ 1006 NONAME - _ZN11QMessageBoxD1Ev @ 1007 NONAME - _ZN11QMessageBoxD2Ev @ 1008 NONAME - _ZN11QMimeSourceD0Ev @ 1009 NONAME - _ZN11QMimeSourceD1Ev @ 1010 NONAME - _ZN11QMimeSourceD2Ev @ 1011 NONAME - _ZN11QMouseEvent24createExtendedMouseEventEN6QEvent4TypeERK7QPointFRK6QPointN2Qt11MouseButtonE6QFlagsIS9_ESA_INS8_16KeyboardModifierEE @ 1012 NONAME - _ZN11QMouseEventC1EN6QEvent4TypeERK6QPointN2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE @ 1013 NONAME - _ZN11QMouseEventC1EN6QEvent4TypeERK6QPointS4_N2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE @ 1014 NONAME - _ZN11QMouseEventC2EN6QEvent4TypeERK6QPointN2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE @ 1015 NONAME - _ZN11QMouseEventC2EN6QEvent4TypeERK6QPointS4_N2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE @ 1016 NONAME - _ZN11QMouseEventD0Ev @ 1017 NONAME - _ZN11QMouseEventD1Ev @ 1018 NONAME - _ZN11QMouseEventD2Ev @ 1019 NONAME - _ZN11QPaintEventC1ERK5QRect @ 1020 NONAME - _ZN11QPaintEventC1ERK7QRegion @ 1021 NONAME - _ZN11QPaintEventC2ERK5QRect @ 1022 NONAME - _ZN11QPaintEventC2ERK7QRegion @ 1023 NONAME - _ZN11QPaintEventD0Ev @ 1024 NONAME - _ZN11QPaintEventD1Ev @ 1025 NONAME - _ZN11QPaintEventD2Ev @ 1026 NONAME - _ZN11QPixmapData15setAlphaChannelERK7QPixmap @ 1027 NONAME - _ZN11QPixmapData15setSerialNumberEi @ 1028 NONAME - _ZN11QPixmapData4copyEPKS_RK5QRect @ 1029 NONAME - _ZN11QPixmapData6bufferEv @ 1030 NONAME - _ZN11QPixmapData7setMaskERK7QBitmap @ 1031 NONAME - _ZN11QPixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 1032 NONAME - _ZN11QPixmapDataC2ENS_9PixelTypeEi @ 1033 NONAME - _ZN11QPixmapDataD0Ev @ 1034 NONAME - _ZN11QPixmapDataD1Ev @ 1035 NONAME - _ZN11QPixmapDataD2Ev @ 1036 NONAME - _ZN11QProxyModel10insertRowsEiiRK11QModelIndex @ 1037 NONAME - _ZN11QProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1038 NONAME - _ZN11QProxyModel11qt_metacastEPKc @ 1039 NONAME - _ZN11QProxyModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 1040 NONAME - _ZN11QProxyModel13insertColumnsEiiRK11QModelIndex @ 1041 NONAME - _ZN11QProxyModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 1042 NONAME - _ZN11QProxyModel16staticMetaObjectE @ 1043 NONAME DATA 16 - _ZN11QProxyModel4sortEiN2Qt9SortOrderE @ 1044 NONAME - _ZN11QProxyModel6revertEv @ 1045 NONAME - _ZN11QProxyModel6submitEv @ 1046 NONAME - _ZN11QProxyModel7setDataERK11QModelIndexRK8QVarianti @ 1047 NONAME - _ZN11QProxyModel8setModelEP18QAbstractItemModel @ 1048 NONAME - _ZN11QProxyModel9fetchMoreERK11QModelIndex @ 1049 NONAME - _ZN11QProxyModelC1EP7QObject @ 1050 NONAME - _ZN11QProxyModelC1ER18QProxyModelPrivateP7QObject @ 1051 NONAME - _ZN11QProxyModelC2EP7QObject @ 1052 NONAME - _ZN11QProxyModelC2ER18QProxyModelPrivateP7QObject @ 1053 NONAME - _ZN11QProxyModelD0Ev @ 1054 NONAME - _ZN11QProxyModelD1Ev @ 1055 NONAME - _ZN11QProxyModelD2Ev @ 1056 NONAME - _ZN11QPushButton10paintEventEP11QPaintEvent @ 1057 NONAME - _ZN11QPushButton10setDefaultEb @ 1058 NONAME - _ZN11QPushButton11qt_metacallEN11QMetaObject4CallEiPPv @ 1059 NONAME - _ZN11QPushButton11qt_metacastEPKc @ 1060 NONAME - _ZN11QPushButton12focusInEventEP11QFocusEvent @ 1061 NONAME - _ZN11QPushButton13focusOutEventEP11QFocusEvent @ 1062 NONAME - _ZN11QPushButton13keyPressEventEP9QKeyEvent @ 1063 NONAME - _ZN11QPushButton14setAutoDefaultEb @ 1064 NONAME - _ZN11QPushButton16staticMetaObjectE @ 1065 NONAME DATA 16 - _ZN11QPushButton5eventEP6QEvent @ 1066 NONAME - _ZN11QPushButton7setFlatEb @ 1067 NONAME - _ZN11QPushButton7setMenuEP5QMenu @ 1068 NONAME - _ZN11QPushButton8showMenuEv @ 1069 NONAME - _ZN11QPushButtonC1EP7QWidget @ 1070 NONAME - _ZN11QPushButtonC1ER18QPushButtonPrivateP7QWidget @ 1071 NONAME - _ZN11QPushButtonC1ERK5QIconRK7QStringP7QWidget @ 1072 NONAME - _ZN11QPushButtonC1ERK7QStringP7QWidget @ 1073 NONAME - _ZN11QPushButtonC2EP7QWidget @ 1074 NONAME - _ZN11QPushButtonC2ER18QPushButtonPrivateP7QWidget @ 1075 NONAME - _ZN11QPushButtonC2ERK5QIconRK7QStringP7QWidget @ 1076 NONAME - _ZN11QPushButtonC2ERK7QStringP7QWidget @ 1077 NONAME - _ZN11QPushButtonD0Ev @ 1078 NONAME - _ZN11QPushButtonD1Ev @ 1079 NONAME - _ZN11QPushButtonD2Ev @ 1080 NONAME - _ZN11QRubberBand10paintEventEP11QPaintEvent @ 1081 NONAME - _ZN11QRubberBand11changeEventEP6QEvent @ 1082 NONAME - _ZN11QRubberBand11qt_metacallEN11QMetaObject4CallEiPPv @ 1083 NONAME - _ZN11QRubberBand11qt_metacastEPKc @ 1084 NONAME - _ZN11QRubberBand11resizeEventEP12QResizeEvent @ 1085 NONAME - _ZN11QRubberBand11setGeometryERK5QRect @ 1086 NONAME - _ZN11QRubberBand16staticMetaObjectE @ 1087 NONAME DATA 16 - _ZN11QRubberBand5eventEP6QEvent @ 1088 NONAME - _ZN11QRubberBand9moveEventEP10QMoveEvent @ 1089 NONAME - _ZN11QRubberBand9showEventEP10QShowEvent @ 1090 NONAME - _ZN11QRubberBandC1ENS_5ShapeEP7QWidget @ 1091 NONAME - _ZN11QRubberBandC2ENS_5ShapeEP7QWidget @ 1092 NONAME - _ZN11QRubberBandD0Ev @ 1093 NONAME - _ZN11QRubberBandD1Ev @ 1094 NONAME - _ZN11QRubberBandD2Ev @ 1095 NONAME - _ZN11QScriptLine16setDefaultHeightEP11QTextEngine @ 1096 NONAME - _ZN11QScrollArea10takeWidgetEv @ 1097 NONAME - _ZN11QScrollArea11eventFilterEP7QObjectP6QEvent @ 1098 NONAME - _ZN11QScrollArea11qt_metacallEN11QMetaObject4CallEiPPv @ 1099 NONAME - _ZN11QScrollArea11qt_metacastEPKc @ 1100 NONAME - _ZN11QScrollArea11resizeEventEP12QResizeEvent @ 1101 NONAME - _ZN11QScrollArea12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 1102 NONAME - _ZN11QScrollArea13ensureVisibleEiiii @ 1103 NONAME - _ZN11QScrollArea16scrollContentsByEii @ 1104 NONAME - _ZN11QScrollArea16staticMetaObjectE @ 1105 NONAME DATA 16 - _ZN11QScrollArea18focusNextPrevChildEb @ 1106 NONAME - _ZN11QScrollArea18setWidgetResizableEb @ 1107 NONAME - _ZN11QScrollArea19ensureWidgetVisibleEP7QWidgetii @ 1108 NONAME - _ZN11QScrollArea5eventEP6QEvent @ 1109 NONAME - _ZN11QScrollArea9setWidgetEP7QWidget @ 1110 NONAME - _ZN11QScrollAreaC1EP7QWidget @ 1111 NONAME - _ZN11QScrollAreaC1ER18QScrollAreaPrivateP7QWidget @ 1112 NONAME - _ZN11QScrollAreaC2EP7QWidget @ 1113 NONAME - _ZN11QScrollAreaC2ER18QScrollAreaPrivateP7QWidget @ 1114 NONAME - _ZN11QScrollAreaD0Ev @ 1115 NONAME - _ZN11QScrollAreaD1Ev @ 1116 NONAME - _ZN11QScrollAreaD2Ev @ 1117 NONAME - _ZN11QSizePolicy14setControlTypeENS_11ControlTypeE @ 1118 NONAME - _ZN11QSizePolicy16staticMetaObjectE @ 1119 NONAME DATA 16 - _ZN11QSpacerItem10changeSizeEiiN11QSizePolicy6PolicyES1_ @ 1120 NONAME - _ZN11QSpacerItem10spacerItemEv @ 1121 NONAME - _ZN11QSpacerItem11setGeometryERK5QRect @ 1122 NONAME - _ZN11QStrokerOps10strokePathERK12QPainterPathPvRK10QTransform @ 1123 NONAME - _ZN11QStrokerOps13strokeEllipseERK6QRectFPvRK10QTransform @ 1124 NONAME - _ZN11QStrokerOps13strokePolygonEPK7QPointFibPvRK10QTransform @ 1125 NONAME - _ZN11QStrokerOps3endEv @ 1126 NONAME - _ZN11QStrokerOps5beginEPv @ 1127 NONAME - _ZN11QStrokerOpsC2Ev @ 1128 NONAME - _ZN11QStrokerOpsD0Ev @ 1129 NONAME - _ZN11QStrokerOpsD1Ev @ 1130 NONAME - _ZN11QStrokerOpsD2Ev @ 1131 NONAME - _ZN11QTextCursor10createListEN15QTextListFormat5StyleE @ 1132 NONAME - _ZN11QTextCursor10createListERK15QTextListFormat @ 1133 NONAME - _ZN11QTextCursor10deleteCharEv @ 1134 NONAME - _ZN11QTextCursor10insertHtmlERK7QString @ 1135 NONAME - _ZN11QTextCursor10insertListEN15QTextListFormat5StyleE @ 1136 NONAME - _ZN11QTextCursor10insertListERK15QTextListFormat @ 1137 NONAME - _ZN11QTextCursor10insertTextERK7QString @ 1138 NONAME - _ZN11QTextCursor10insertTextERK7QStringRK15QTextCharFormat @ 1139 NONAME - _ZN11QTextCursor11insertBlockERK16QTextBlockFormat @ 1140 NONAME - _ZN11QTextCursor11insertBlockERK16QTextBlockFormatRK15QTextCharFormat @ 1141 NONAME - _ZN11QTextCursor11insertBlockEv @ 1142 NONAME - _ZN11QTextCursor11insertFrameERK16QTextFrameFormat @ 1143 NONAME - _ZN11QTextCursor11insertImageERK16QTextImageFormat @ 1144 NONAME - _ZN11QTextCursor11insertImageERK16QTextImageFormatN16QTextFrameFormat8PositionE @ 1145 NONAME - _ZN11QTextCursor11insertImageERK6QImageRK7QString @ 1146 NONAME - _ZN11QTextCursor11insertImageERK7QString @ 1147 NONAME - _ZN11QTextCursor11insertTableEii @ 1148 NONAME - _ZN11QTextCursor11insertTableEiiRK16QTextTableFormat @ 1149 NONAME - _ZN11QTextCursor11setPositionEiNS_8MoveModeE @ 1150 NONAME - _ZN11QTextCursor12endEditBlockEv @ 1151 NONAME - _ZN11QTextCursor12movePositionENS_13MoveOperationENS_8MoveModeEi @ 1152 NONAME - _ZN11QTextCursor13setCharFormatERK15QTextCharFormat @ 1153 NONAME - _ZN11QTextCursor14beginEditBlockEv @ 1154 NONAME - _ZN11QTextCursor14clearSelectionEv @ 1155 NONAME - _ZN11QTextCursor14insertFragmentERK21QTextDocumentFragment @ 1156 NONAME - _ZN11QTextCursor14setBlockFormatERK16QTextBlockFormat @ 1157 NONAME - _ZN11QTextCursor15mergeCharFormatERK15QTextCharFormat @ 1158 NONAME - _ZN11QTextCursor16mergeBlockFormatERK16QTextBlockFormat @ 1159 NONAME - _ZN11QTextCursor18deletePreviousCharEv @ 1160 NONAME - _ZN11QTextCursor18removeSelectedTextEv @ 1161 NONAME - _ZN11QTextCursor18setBlockCharFormatERK15QTextCharFormat @ 1162 NONAME - _ZN11QTextCursor19setVisualNavigationEb @ 1163 NONAME - _ZN11QTextCursor20mergeBlockCharFormatERK15QTextCharFormat @ 1164 NONAME - _ZN11QTextCursor21joinPreviousEditBlockEv @ 1165 NONAME - _ZN11QTextCursor6selectENS_13SelectionTypeE @ 1166 NONAME - _ZN11QTextCursorC1EP10QTextFrame @ 1167 NONAME - _ZN11QTextCursorC1EP13QTextDocument @ 1168 NONAME - _ZN11QTextCursorC1EP18QTextCursorPrivate @ 1169 NONAME - _ZN11QTextCursorC1EP20QTextDocumentPrivatei @ 1170 NONAME - _ZN11QTextCursorC1ERK10QTextBlock @ 1171 NONAME - _ZN11QTextCursorC1ERKS_ @ 1172 NONAME - _ZN11QTextCursorC1Ev @ 1173 NONAME - _ZN11QTextCursorC2EP10QTextFrame @ 1174 NONAME - _ZN11QTextCursorC2EP13QTextDocument @ 1175 NONAME - _ZN11QTextCursorC2EP18QTextCursorPrivate @ 1176 NONAME - _ZN11QTextCursorC2EP20QTextDocumentPrivatei @ 1177 NONAME - _ZN11QTextCursorC2ERK10QTextBlock @ 1178 NONAME - _ZN11QTextCursorC2ERKS_ @ 1179 NONAME - _ZN11QTextCursorC2Ev @ 1180 NONAME - _ZN11QTextCursorD1Ev @ 1181 NONAME - _ZN11QTextCursorD2Ev @ 1182 NONAME - _ZN11QTextCursoraSERKS_ @ 1183 NONAME - _ZN11QTextEngine10freeMemoryEv @ 1184 NONAME - _ZN11QTextEngine10invalidateEv @ 1185 NONAME - _ZN11QTextEngine11bidiReorderEiPKhPi @ 1186 NONAME - _ZN11QTextEngine13clearLineDataEv @ 1187 NONAME - _ZN11QTextEngine22indexAdditionalFormatsEv @ 1188 NONAME - _ZN11QTextEngine7justifyERK11QScriptLine @ 1189 NONAME - _ZN11QTextEngine9shapeLineERK11QScriptLine @ 1190 NONAME - _ZN11QTextEngineC1ERK7QStringRK5QFont @ 1191 NONAME - _ZN11QTextEngineC1Ev @ 1192 NONAME - _ZN11QTextEngineC2ERK7QStringRK5QFont @ 1193 NONAME - _ZN11QTextEngineC2Ev @ 1194 NONAME - _ZN11QTextEngineD1Ev @ 1195 NONAME - _ZN11QTextEngineD2Ev @ 1196 NONAME - _ZN11QTextFormat11setPropertyEiRK7QVectorI11QTextLengthE @ 1197 NONAME - _ZN11QTextFormat11setPropertyEiRK8QVariant @ 1198 NONAME - _ZN11QTextFormat13clearPropertyEi @ 1199 NONAME - _ZN11QTextFormat14setObjectIndexEi @ 1200 NONAME - _ZN11QTextFormat16staticMetaObjectE @ 1201 NONAME DATA 16 - _ZN11QTextFormat5mergeERKS_ @ 1202 NONAME - _ZN11QTextFormatC1ERKS_ @ 1203 NONAME - _ZN11QTextFormatC1Ei @ 1204 NONAME - _ZN11QTextFormatC1Ev @ 1205 NONAME - _ZN11QTextFormatC2ERKS_ @ 1206 NONAME - _ZN11QTextFormatC2Ei @ 1207 NONAME - _ZN11QTextFormatC2Ev @ 1208 NONAME - _ZN11QTextFormatD1Ev @ 1209 NONAME - _ZN11QTextFormatD2Ev @ 1210 NONAME - _ZN11QTextFormataSERKS_ @ 1211 NONAME - _ZN11QTextLayout10createLineEv @ 1212 NONAME - _ZN11QTextLayout11beginLayoutEv @ 1213 NONAME - _ZN11QTextLayout11clearLayoutEv @ 1214 NONAME - _ZN11QTextLayout11setPositionERK7QPointF @ 1215 NONAME - _ZN11QTextLayout13setTextOptionERK11QTextOption @ 1216 NONAME - _ZN11QTextLayout14setPreeditAreaEiRK7QString @ 1217 NONAME - _ZN11QTextLayout15setCacheEnabledEb @ 1218 NONAME - _ZN11QTextLayout20setAdditionalFormatsERK5QListINS_11FormatRangeEE @ 1219 NONAME - _ZN11QTextLayout22clearAdditionalFormatsEv @ 1220 NONAME - _ZN11QTextLayout7setFontERK5QFont @ 1221 NONAME - _ZN11QTextLayout7setTextERK7QString @ 1222 NONAME - _ZN11QTextLayout8setFlagsEi @ 1223 NONAME - _ZN11QTextLayout9endLayoutEv @ 1224 NONAME - _ZN11QTextLayoutC1ERK10QTextBlock @ 1225 NONAME - _ZN11QTextLayoutC1ERK7QString @ 1226 NONAME - _ZN11QTextLayoutC1ERK7QStringRK5QFontP12QPaintDevice @ 1227 NONAME - _ZN11QTextLayoutC1Ev @ 1228 NONAME - _ZN11QTextLayoutC2ERK10QTextBlock @ 1229 NONAME - _ZN11QTextLayoutC2ERK7QString @ 1230 NONAME - _ZN11QTextLayoutC2ERK7QStringRK5QFontP12QPaintDevice @ 1231 NONAME - _ZN11QTextLayoutC2Ev @ 1232 NONAME - _ZN11QTextLayoutD1Ev @ 1233 NONAME - _ZN11QTextLayoutD2Ev @ 1234 NONAME - _ZN11QTextObject11qt_metacallEN11QMetaObject4CallEiPPv @ 1235 NONAME - _ZN11QTextObject11qt_metacastEPKc @ 1236 NONAME - _ZN11QTextObject16staticMetaObjectE @ 1237 NONAME DATA 16 - _ZN11QTextObject9setFormatERK11QTextFormat @ 1238 NONAME - _ZN11QTextObjectC1EP13QTextDocument @ 1239 NONAME - _ZN11QTextObjectC1ER18QTextObjectPrivateP13QTextDocument @ 1240 NONAME - _ZN11QTextObjectC2EP13QTextDocument @ 1241 NONAME - _ZN11QTextObjectC2ER18QTextObjectPrivateP13QTextDocument @ 1242 NONAME - _ZN11QTextObjectD0Ev @ 1243 NONAME - _ZN11QTextObjectD1Ev @ 1244 NONAME - _ZN11QTextObjectD2Ev @ 1245 NONAME - _ZN11QTextOption11setTabArrayE5QListIfE @ 1246 NONAME - _ZN11QTextOption7setTabsE5QListINS_3TabEE @ 1247 NONAME - _ZN11QTextOptionC1E6QFlagsIN2Qt13AlignmentFlagEE @ 1248 NONAME - _ZN11QTextOptionC1ERKS_ @ 1249 NONAME - _ZN11QTextOptionC1Ev @ 1250 NONAME - _ZN11QTextOptionC2E6QFlagsIN2Qt13AlignmentFlagEE @ 1251 NONAME - _ZN11QTextOptionC2ERKS_ @ 1252 NONAME - _ZN11QTextOptionC2Ev @ 1253 NONAME - _ZN11QTextOptionD1Ev @ 1254 NONAME - _ZN11QTextOptionD2Ev @ 1255 NONAME - _ZN11QTextOptionaSERKS_ @ 1256 NONAME - _ZN11QToolButton10enterEventEP6QEvent @ 1257 NONAME - _ZN11QToolButton10leaveEventEP6QEvent @ 1258 NONAME - _ZN11QToolButton10paintEventEP11QPaintEvent @ 1259 NONAME - _ZN11QToolButton10timerEventEP11QTimerEvent @ 1260 NONAME - _ZN11QToolButton11actionEventEP12QActionEvent @ 1261 NONAME - _ZN11QToolButton11changeEventEP6QEvent @ 1262 NONAME - _ZN11QToolButton11qt_metacallEN11QMetaObject4CallEiPPv @ 1263 NONAME - _ZN11QToolButton11qt_metacastEPKc @ 1264 NONAME - _ZN11QToolButton12setArrowTypeEN2Qt9ArrowTypeE @ 1265 NONAME - _ZN11QToolButton12setAutoRaiseEb @ 1266 NONAME - _ZN11QToolButton12setPopupModeENS_19ToolButtonPopupModeE @ 1267 NONAME - _ZN11QToolButton14nextCheckStateEv @ 1268 NONAME - _ZN11QToolButton15mousePressEventEP11QMouseEvent @ 1269 NONAME - _ZN11QToolButton16setDefaultActionEP7QAction @ 1270 NONAME - _ZN11QToolButton16staticMetaObjectE @ 1271 NONAME DATA 16 - _ZN11QToolButton17mouseReleaseEventEP11QMouseEvent @ 1272 NONAME - _ZN11QToolButton18setToolButtonStyleEN2Qt15ToolButtonStyleE @ 1273 NONAME - _ZN11QToolButton5eventEP6QEvent @ 1274 NONAME - _ZN11QToolButton7setMenuEP5QMenu @ 1275 NONAME - _ZN11QToolButton8showMenuEv @ 1276 NONAME - _ZN11QToolButton9triggeredEP7QAction @ 1277 NONAME - _ZN11QToolButtonC1EP7QWidget @ 1278 NONAME - _ZN11QToolButtonC1ER18QToolButtonPrivateP7QWidget @ 1279 NONAME - _ZN11QToolButtonC2EP7QWidget @ 1280 NONAME - _ZN11QToolButtonC2ER18QToolButtonPrivateP7QWidget @ 1281 NONAME - _ZN11QToolButtonD0Ev @ 1282 NONAME - _ZN11QToolButtonD1Ev @ 1283 NONAME - _ZN11QToolButtonD2Ev @ 1284 NONAME - _ZN11QTreeWidget10expandItemEPK15QTreeWidgetItem @ 1285 NONAME - _ZN11QTreeWidget11itemChangedEP15QTreeWidgetItemi @ 1286 NONAME - _ZN11QTreeWidget11itemClickedEP15QTreeWidgetItemi @ 1287 NONAME - _ZN11QTreeWidget11itemEnteredEP15QTreeWidgetItemi @ 1288 NONAME - _ZN11QTreeWidget11itemPressedEP15QTreeWidgetItemi @ 1289 NONAME - _ZN11QTreeWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 1290 NONAME - _ZN11QTreeWidget11qt_metacastEPKc @ 1291 NONAME - _ZN11QTreeWidget12collapseItemEPK15QTreeWidgetItem @ 1292 NONAME - _ZN11QTreeWidget12dropMimeDataEP15QTreeWidgetItemiPK9QMimeDataN2Qt10DropActionE @ 1293 NONAME - _ZN11QTreeWidget12itemExpandedEP15QTreeWidgetItem @ 1294 NONAME - _ZN11QTreeWidget12scrollToItemEPK15QTreeWidgetItemN17QAbstractItemView10ScrollHintE @ 1295 NONAME - _ZN11QTreeWidget13itemActivatedEP15QTreeWidgetItemi @ 1296 NONAME - _ZN11QTreeWidget13itemCollapsedEP15QTreeWidgetItem @ 1297 NONAME - _ZN11QTreeWidget13setHeaderItemEP15QTreeWidgetItem @ 1298 NONAME - _ZN11QTreeWidget13setItemHiddenEPK15QTreeWidgetItemb @ 1299 NONAME - _ZN11QTreeWidget13setItemWidgetEP15QTreeWidgetItemiP7QWidget @ 1300 NONAME - _ZN11QTreeWidget14setColumnCountEi @ 1301 NONAME - _ZN11QTreeWidget14setCurrentItemEP15QTreeWidgetItem @ 1302 NONAME - _ZN11QTreeWidget14setCurrentItemEP15QTreeWidgetItemi @ 1303 NONAME - _ZN11QTreeWidget14setCurrentItemEP15QTreeWidgetItemi6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 1304 NONAME - _ZN11QTreeWidget15addTopLevelItemEP15QTreeWidgetItem @ 1305 NONAME - _ZN11QTreeWidget15setHeaderLabelsERK11QStringList @ 1306 NONAME - _ZN11QTreeWidget15setItemExpandedEPK15QTreeWidgetItemb @ 1307 NONAME - _ZN11QTreeWidget15setItemSelectedEPK15QTreeWidgetItemb @ 1308 NONAME - _ZN11QTreeWidget16addTopLevelItemsERK5QListIP15QTreeWidgetItemE @ 1309 NONAME - _ZN11QTreeWidget16staticMetaObjectE @ 1310 NONAME DATA 16 - _ZN11QTreeWidget16takeTopLevelItemEi @ 1311 NONAME - _ZN11QTreeWidget17itemDoubleClickedEP15QTreeWidgetItemi @ 1312 NONAME - _ZN11QTreeWidget17setSelectionModelEP19QItemSelectionModel @ 1313 NONAME - _ZN11QTreeWidget17setSortingEnabledEb @ 1314 NONAME - _ZN11QTreeWidget18currentItemChangedEP15QTreeWidgetItemS1_ @ 1315 NONAME - _ZN11QTreeWidget18insertTopLevelItemEiP15QTreeWidgetItem @ 1316 NONAME - _ZN11QTreeWidget19indexOfTopLevelItemEP15QTreeWidgetItem @ 1317 NONAME - _ZN11QTreeWidget19insertTopLevelItemsEiRK5QListIP15QTreeWidgetItemE @ 1318 NONAME - _ZN11QTreeWidget20itemSelectionChangedEv @ 1319 NONAME - _ZN11QTreeWidget20openPersistentEditorEP15QTreeWidgetItemi @ 1320 NONAME - _ZN11QTreeWidget21closePersistentEditorEP15QTreeWidgetItemi @ 1321 NONAME - _ZN11QTreeWidget25setFirstItemColumnSpannedEPK15QTreeWidgetItemb @ 1322 NONAME - _ZN11QTreeWidget5clearEv @ 1323 NONAME - _ZN11QTreeWidget5eventEP6QEvent @ 1324 NONAME - _ZN11QTreeWidget8editItemEP15QTreeWidgetItemi @ 1325 NONAME - _ZN11QTreeWidget8setModelEP18QAbstractItemModel @ 1326 NONAME - _ZN11QTreeWidget9dropEventEP10QDropEvent @ 1327 NONAME - _ZN11QTreeWidget9sortItemsEiN2Qt9SortOrderE @ 1328 NONAME - _ZN11QTreeWidgetC1EP7QWidget @ 1329 NONAME - _ZN11QTreeWidgetC2EP7QWidget @ 1330 NONAME - _ZN11QTreeWidgetD0Ev @ 1331 NONAME - _ZN11QTreeWidgetD1Ev @ 1332 NONAME - _ZN11QTreeWidgetD2Ev @ 1333 NONAME - _ZN11QVBoxLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 1334 NONAME - _ZN11QVBoxLayout11qt_metacastEPKc @ 1335 NONAME - _ZN11QVBoxLayout16staticMetaObjectE @ 1336 NONAME DATA 16 - _ZN11QVBoxLayoutC1EP7QWidget @ 1337 NONAME - _ZN11QVBoxLayoutC1Ev @ 1338 NONAME - _ZN11QVBoxLayoutC2EP7QWidget @ 1339 NONAME - _ZN11QVBoxLayoutC2Ev @ 1340 NONAME - _ZN11QVBoxLayoutD0Ev @ 1341 NONAME - _ZN11QVBoxLayoutD1Ev @ 1342 NONAME - _ZN11QVBoxLayoutD2Ev @ 1343 NONAME - _ZN11QWheelEventC1ERK6QPointS2_i6QFlagsIN2Qt11MouseButtonEES3_INS4_16KeyboardModifierEENS4_11OrientationE @ 1344 NONAME - _ZN11QWheelEventC1ERK6QPointi6QFlagsIN2Qt11MouseButtonEES3_INS4_16KeyboardModifierEENS4_11OrientationE @ 1345 NONAME - _ZN11QWheelEventC2ERK6QPointS2_i6QFlagsIN2Qt11MouseButtonEES3_INS4_16KeyboardModifierEENS4_11OrientationE @ 1346 NONAME - _ZN11QWheelEventC2ERK6QPointi6QFlagsIN2Qt11MouseButtonEES3_INS4_16KeyboardModifierEENS4_11OrientationE @ 1347 NONAME - _ZN11QWheelEventD0Ev @ 1348 NONAME - _ZN11QWheelEventD1Ev @ 1349 NONAME - _ZN11QWheelEventD2Ev @ 1350 NONAME - _ZN11QWidgetItem11setGeometryERK5QRect @ 1351 NONAME - _ZN11QWidgetItem6widgetEv @ 1352 NONAME - _ZN11QWingedEdge10removeEdgeEi @ 1353 NONAME - _ZN11QWingedEdge13addBezierEdgeEPK7QBezierRK7QPointFS5_ffi @ 1354 NONAME - _ZN11QWingedEdge13addBezierEdgeEPK7QBezieriiffi @ 1355 NONAME - _ZN11QWingedEdge15intersectAndAddEv @ 1356 NONAME - _ZN11QWingedEdge6insertERK11QPathVertex @ 1357 NONAME - _ZN11QWingedEdge7addEdgeERK7QPointFS2_PK7QBezierff @ 1358 NONAME - _ZN11QWingedEdge7addEdgeEiiPK7QBezierff @ 1359 NONAME - _ZN11QWingedEdge8simplifyEv @ 1360 NONAME - _ZN11QWingedEdgeC1ERK12QPainterPathS2_ @ 1361 NONAME - _ZN11QWingedEdgeC1Ev @ 1362 NONAME - _ZN11QWingedEdgeC2ERK12QPainterPathS2_ @ 1363 NONAME - _ZN11QWingedEdgeC2Ev @ 1364 NONAME - _ZN11QWizardPage11cleanupPageEv @ 1365 NONAME - _ZN11QWizardPage11qt_metacallEN11QMetaObject4CallEiPPv @ 1366 NONAME - _ZN11QWizardPage11qt_metacastEPKc @ 1367 NONAME - _ZN11QWizardPage11setSubTitleERK7QString @ 1368 NONAME - _ZN11QWizardPage12setFinalPageEb @ 1369 NONAME - _ZN11QWizardPage12validatePageEv @ 1370 NONAME - _ZN11QWizardPage13registerFieldERK7QStringP7QWidgetPKcS6_ @ 1371 NONAME - _ZN11QWizardPage13setButtonTextEN7QWizard12WizardButtonERK7QString @ 1372 NONAME - _ZN11QWizardPage13setCommitPageEb @ 1373 NONAME - _ZN11QWizardPage14initializePageEv @ 1374 NONAME - _ZN11QWizardPage15completeChangedEv @ 1375 NONAME - _ZN11QWizardPage16staticMetaObjectE @ 1376 NONAME DATA 16 - _ZN11QWizardPage8setFieldERK7QStringRK8QVariant @ 1377 NONAME - _ZN11QWizardPage8setTitleERK7QString @ 1378 NONAME - _ZN11QWizardPage9setPixmapEN7QWizard12WizardPixmapERK7QPixmap @ 1379 NONAME - _ZN11QWizardPageC1EP7QWidget @ 1380 NONAME - _ZN11QWizardPageC2EP7QWidget @ 1381 NONAME - _ZN12QActionEventC1EiP7QActionS1_ @ 1382 NONAME - _ZN12QActionEventC2EiP7QActionS1_ @ 1383 NONAME - _ZN12QActionEventD0Ev @ 1384 NONAME - _ZN12QActionEventD1Ev @ 1385 NONAME - _ZN12QActionEventD2Ev @ 1386 NONAME - _ZN12QActionGroup10setEnabledEb @ 1387 NONAME - _ZN12QActionGroup10setVisibleEb @ 1388 NONAME - _ZN12QActionGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1389 NONAME - _ZN12QActionGroup11qt_metacastEPKc @ 1390 NONAME - _ZN12QActionGroup12removeActionEP7QAction @ 1391 NONAME - _ZN12QActionGroup12setExclusiveEb @ 1392 NONAME - _ZN12QActionGroup16staticMetaObjectE @ 1393 NONAME DATA 16 - _ZN12QActionGroup7hoveredEP7QAction @ 1394 NONAME - _ZN12QActionGroup8selectedEP7QAction @ 1395 NONAME - _ZN12QActionGroup9addActionEP7QAction @ 1396 NONAME - _ZN12QActionGroup9addActionERK5QIconRK7QString @ 1397 NONAME - _ZN12QActionGroup9addActionERK7QString @ 1398 NONAME - _ZN12QActionGroup9triggeredEP7QAction @ 1399 NONAME - _ZN12QActionGroupC1EP7QObject @ 1400 NONAME - _ZN12QActionGroupC2EP7QObject @ 1401 NONAME - _ZN12QActionGroupD0Ev @ 1402 NONAME - _ZN12QActionGroupD1Ev @ 1403 NONAME - _ZN12QActionGroupD2Ev @ 1404 NONAME - _ZN12QApplication10allWidgetsEv @ 1405 NONAME - _ZN12QApplication10commitDataER15QSessionManager @ 1406 NONAME - _ZN12QApplication10setPaletteERK8QPalettePKc @ 1407 NONAME - _ZN12QApplication10topLevelAtERK6QPoint @ 1408 NONAME - _ZN12QApplication10windowIconEv @ 1409 NONAME - _ZN12QApplication11focusWidgetEv @ 1410 NONAME - _ZN12QApplication11fontMetricsEv @ 1411 NONAME - _ZN12QApplication11globalStrutEv @ 1412 NONAME - _ZN12QApplication11qt_metacallEN11QMetaObject4CallEiPPv @ 1413 NONAME - _ZN12QApplication11qt_metacastEPKc @ 1414 NONAME - _ZN12QApplication12activeWindowEv @ 1415 NONAME - _ZN12QApplication12focusChangedEP7QWidgetS1_ @ 1416 NONAME - _ZN12QApplication12mouseButtonsEv @ 1417 NONAME - _ZN12QApplication12setColorSpecEi @ 1418 NONAME - _ZN12QApplication13compressEventEP6QEventP7QObjectP14QPostEventList @ 1419 NONAME - _ZN12QApplication13setStyleSheetERK7QString @ 1420 NONAME - _ZN12QApplication13setWindowIconERK5QIcon @ 1421 NONAME - _ZN12QApplication13startDragTimeEv @ 1422 NONAME - _ZN12QApplication14s60EventFilterEP8TWsEvent @ 1423 NONAME - _ZN12QApplication14setGlobalStrutERK5QSize @ 1424 NONAME - _ZN12QApplication15closeAllWindowsEv @ 1425 NONAME - _ZN12QApplication15cursorFlashTimeEv @ 1426 NONAME - _ZN12QApplication15isEffectEnabledEN2Qt8UIEffectE @ 1427 NONAME - _ZN12QApplication15layoutDirectionEv @ 1428 NONAME - _ZN12QApplication15s60ProcessEventEP8TWsEvent @ 1429 NONAME - _ZN12QApplication15setActiveWindowEP7QWidget @ 1430 NONAME - _ZN12QApplication15setInputContextEP13QInputContext @ 1431 NONAME - _ZN12QApplication15topLevelWidgetsEv @ 1432 NONAME - _ZN12QApplication16lastWindowClosedEv @ 1433 NONAME - _ZN12QApplication16saveStateRequestER15QSessionManager @ 1434 NONAME - _ZN12QApplication16setEffectEnabledEN2Qt8UIEffectEb @ 1435 NONAME - _ZN12QApplication16setStartDragTimeEi @ 1436 NONAME - _ZN12QApplication16staticMetaObjectE @ 1437 NONAME DATA 16 - _ZN12QApplication16wheelScrollLinesEv @ 1438 NONAME - _ZN12QApplication17activeModalWidgetEv @ 1439 NONAME - _ZN12QApplication17activePopupWidgetEv @ 1440 NONAME - _ZN12QApplication17commitDataRequestER15QSessionManager @ 1441 NONAME - _ZN12QApplication17keyboardModifiersEv @ 1442 NONAME - _ZN12QApplication17setAutoSipEnabledEb @ 1443 NONAME - _ZN12QApplication17setGraphicsSystemERK7QString @ 1444 NONAME - _ZN12QApplication17startDragDistanceEv @ 1445 NONAME - _ZN12QApplication18setCursorFlashTimeEi @ 1446 NONAME - _ZN12QApplication18setLayoutDirectionEN2Qt15LayoutDirectionE @ 1447 NONAME - _ZN12QApplication19autoSipOnMouseFocusEv @ 1448 NONAME ABSENT - _ZN12QApplication19doubleClickIntervalEv @ 1449 NONAME - _ZN12QApplication19fontDatabaseChangedEv @ 1450 NONAME - _ZN12QApplication19keyboardInputLocaleEv @ 1451 NONAME - _ZN12QApplication19setWheelScrollLinesEi @ 1452 NONAME - _ZN12QApplication20desktopSettingsAwareEv @ 1453 NONAME - _ZN12QApplication20setStartDragDistanceEi @ 1454 NONAME - _ZN12QApplication20symbianHandleCommandEi @ 1455 NONAME - _ZN12QApplication21keyboardInputIntervalEv @ 1456 NONAME - _ZN12QApplication21symbianResourceChangeEi @ 1457 NONAME - _ZN12QApplication22keyboardInputDirectionEv @ 1458 NONAME - _ZN12QApplication22quitOnLastWindowClosedEv @ 1459 NONAME - _ZN12QApplication22setAutoSipOnMouseFocusEb @ 1460 NONAME ABSENT - _ZN12QApplication22setDoubleClickIntervalEi @ 1461 NONAME - _ZN12QApplication23keypadNavigationEnabledEv @ 1462 NONAME - _ZN12QApplication23setDesktopSettingsAwareEb @ 1463 NONAME - _ZN12QApplication24setKeyboardInputIntervalEi @ 1464 NONAME - _ZN12QApplication25setQuitOnLastWindowClosedEb @ 1465 NONAME - _ZN12QApplication26setKeypadNavigationEnabledEb @ 1466 NONAME - _ZN12QApplication4beepEv @ 1467 NONAME - _ZN12QApplication4execEv @ 1468 NONAME - _ZN12QApplication4fontEPK7QWidget @ 1469 NONAME - _ZN12QApplication4fontEPKc @ 1470 NONAME - _ZN12QApplication4fontEv @ 1471 NONAME - _ZN12QApplication4typeEv @ 1472 NONAME - _ZN12QApplication5alertEP7QWidgeti @ 1473 NONAME - _ZN12QApplication5eventEP6QEvent @ 1474 NONAME - _ZN12QApplication5styleEv @ 1475 NONAME - _ZN12QApplication5syncXEv @ 1476 NONAME - _ZN12QApplication6notifyEP7QObjectP6QEvent @ 1477 NONAME - _ZN12QApplication7aboutQtEv @ 1478 NONAME - _ZN12QApplication7desktopEv @ 1479 NONAME - _ZN12QApplication7paletteEPK7QWidget @ 1480 NONAME - _ZN12QApplication7paletteEPKc @ 1481 NONAME - _ZN12QApplication7paletteEv @ 1482 NONAME - _ZN12QApplication7setFontERK5QFontPKc @ 1483 NONAME - _ZN12QApplication8setStyleEP6QStyle @ 1484 NONAME - _ZN12QApplication8setStyleERK7QString @ 1485 NONAME - _ZN12QApplication8widgetAtERK6QPoint @ 1486 NONAME - _ZN12QApplication9clipboardEv @ 1487 NONAME - _ZN12QApplication9colorSpecEv @ 1488 NONAME - _ZN12QApplication9saveStateER15QSessionManager @ 1489 NONAME - _ZN12QApplicationC1ERiPPc @ 1490 NONAME - _ZN12QApplicationC1ERiPPcNS_4TypeE @ 1491 NONAME - _ZN12QApplicationC1ERiPPcNS_4TypeEi @ 1492 NONAME - _ZN12QApplicationC1ERiPPcb @ 1493 NONAME - _ZN12QApplicationC1ERiPPcbi @ 1494 NONAME - _ZN12QApplicationC1ERiPPci @ 1495 NONAME - _ZN12QApplicationC2ERiPPc @ 1496 NONAME - _ZN12QApplicationC2ERiPPcNS_4TypeE @ 1497 NONAME - _ZN12QApplicationC2ERiPPcNS_4TypeEi @ 1498 NONAME - _ZN12QApplicationC2ERiPPcb @ 1499 NONAME - _ZN12QApplicationC2ERiPPcbi @ 1500 NONAME - _ZN12QApplicationC2ERiPPci @ 1501 NONAME - _ZN12QApplicationD0Ev @ 1502 NONAME - _ZN12QApplicationD1Ev @ 1503 NONAME - _ZN12QApplicationD2Ev @ 1504 NONAME - _ZN12QButtonGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1505 NONAME - _ZN12QButtonGroup11qt_metacastEPKc @ 1506 NONAME - _ZN12QButtonGroup12removeButtonEP15QAbstractButton @ 1507 NONAME - _ZN12QButtonGroup12setExclusiveEb @ 1508 NONAME - _ZN12QButtonGroup13buttonClickedEP15QAbstractButton @ 1509 NONAME - _ZN12QButtonGroup13buttonClickedEi @ 1510 NONAME - _ZN12QButtonGroup13buttonPressedEP15QAbstractButton @ 1511 NONAME - _ZN12QButtonGroup13buttonPressedEi @ 1512 NONAME - _ZN12QButtonGroup14buttonReleasedEP15QAbstractButton @ 1513 NONAME - _ZN12QButtonGroup14buttonReleasedEi @ 1514 NONAME - _ZN12QButtonGroup16staticMetaObjectE @ 1515 NONAME DATA 16 - _ZN12QButtonGroup5setIdEP15QAbstractButtoni @ 1516 NONAME - _ZN12QButtonGroup9addButtonEP15QAbstractButton @ 1517 NONAME - _ZN12QButtonGroup9addButtonEP15QAbstractButtoni @ 1518 NONAME - _ZN12QButtonGroupC1EP7QObject @ 1519 NONAME - _ZN12QButtonGroupC2EP7QObject @ 1520 NONAME - _ZN12QButtonGroupD0Ev @ 1521 NONAME - _ZN12QButtonGroupD1Ev @ 1522 NONAME - _ZN12QButtonGroupD2Ev @ 1523 NONAME - _ZN12QColorDialog10setOptionsE6QFlagsINS_17ColorDialogOptionEE @ 1524 NONAME - _ZN12QColorDialog10setVisibleEb @ 1525 NONAME - _ZN12QColorDialog11changeEventEP6QEvent @ 1526 NONAME - _ZN12QColorDialog11customColorEi @ 1527 NONAME - _ZN12QColorDialog11customCountEv @ 1528 NONAME - _ZN12QColorDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 1529 NONAME - _ZN12QColorDialog11qt_metacastEPKc @ 1530 NONAME - _ZN12QColorDialog13colorSelectedERK6QColor @ 1531 NONAME - _ZN12QColorDialog14setCustomColorEij @ 1532 NONAME - _ZN12QColorDialog15setCurrentColorERK6QColor @ 1533 NONAME - _ZN12QColorDialog16setStandardColorEij @ 1534 NONAME - _ZN12QColorDialog16staticMetaObjectE @ 1535 NONAME DATA 16 - _ZN12QColorDialog19currentColorChangedERK6QColor @ 1536 NONAME - _ZN12QColorDialog4doneEi @ 1537 NONAME - _ZN12QColorDialog4openEP7QObjectPKc @ 1538 NONAME - _ZN12QColorDialog7getRgbaEjPbP7QWidget @ 1539 NONAME - _ZN12QColorDialog8getColorERK6QColorP7QWidget @ 1540 NONAME - _ZN12QColorDialog8getColorERK6QColorP7QWidgetRK7QString6QFlagsINS_17ColorDialogOptionEE @ 1541 NONAME - _ZN12QColorDialog9setOptionENS_17ColorDialogOptionEb @ 1542 NONAME - _ZN12QColorDialogC1EP7QWidget @ 1543 NONAME - _ZN12QColorDialogC1ERK6QColorP7QWidget @ 1544 NONAME - _ZN12QColorDialogC2EP7QWidget @ 1545 NONAME - _ZN12QColorDialogC2ERK6QColorP7QWidget @ 1546 NONAME - _ZN12QColorDialogD0Ev @ 1547 NONAME - _ZN12QColorDialogD1Ev @ 1548 NONAME - _ZN12QColorDialogD2Ev @ 1549 NONAME - _ZN12QCommonStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 1550 NONAME - _ZN12QCommonStyle11qt_metacastEPKc @ 1551 NONAME - _ZN12QCommonStyle16staticMetaObjectE @ 1552 NONAME DATA 16 - _ZN12QCommonStyle6polishEP12QApplication @ 1553 NONAME - _ZN12QCommonStyle6polishEP7QWidget @ 1554 NONAME - _ZN12QCommonStyle6polishER8QPalette @ 1555 NONAME - _ZN12QCommonStyle8unpolishEP12QApplication @ 1556 NONAME - _ZN12QCommonStyle8unpolishEP7QWidget @ 1557 NONAME - _ZN12QCommonStyleC1ER19QCommonStylePrivate @ 1558 NONAME - _ZN12QCommonStyleC1Ev @ 1559 NONAME - _ZN12QCommonStyleC2ER19QCommonStylePrivate @ 1560 NONAME - _ZN12QCommonStyleC2Ev @ 1561 NONAME - _ZN12QCommonStyleD0Ev @ 1562 NONAME - _ZN12QCommonStyleD1Ev @ 1563 NONAME - _ZN12QCommonStyleD2Ev @ 1564 NONAME - _ZN12QDashStroker15patternForStyleEN2Qt8PenStyleE @ 1565 NONAME - _ZN12QDashStroker21processCurrentSubpathEv @ 1566 NONAME - _ZN12QDashStrokerC1EP8QStroker @ 1567 NONAME - _ZN12QDashStrokerC2EP8QStroker @ 1568 NONAME - _ZN12QDragManager10timerEventEP11QTimerEvent @ 1569 NONAME ABSENT - _ZN12QDragManager11eventFilterEP7QObjectP6QEvent @ 1570 NONAME ABSENT - _ZN12QDragManager11qt_metacallEN11QMetaObject4CallEiPPv @ 1571 NONAME ABSENT - _ZN12QDragManager11qt_metacastEPKc @ 1572 NONAME ABSENT - _ZN12QDragManager12updateCursorEv @ 1573 NONAME ABSENT - _ZN12QDragManager12updatePixmapEv @ 1574 NONAME ABSENT - _ZN12QDragManager13currentTargetEv @ 1575 NONAME ABSENT - _ZN12QDragManager16setCurrentTargetEP7QWidgetb @ 1576 NONAME ABSENT - _ZN12QDragManager16staticMetaObjectE @ 1577 NONAME DATA 16 ABSENT - _ZN12QDragManager4dragEP5QDrag @ 1578 NONAME ABSENT - _ZN12QDragManager4dropEv @ 1579 NONAME ABSENT - _ZN12QDragManager4moveERK6QPoint @ 1580 NONAME ABSENT - _ZN12QDragManager4selfEv @ 1581 NONAME ABSENT - _ZN12QDragManager6cancelEb @ 1582 NONAME ABSENT - _ZN12QDragManager8instanceE @ 1583 NONAME DATA 4 ABSENT - _ZN12QDragManagerC1Ev @ 1584 NONAME ABSENT - _ZN12QDragManagerC2Ev @ 1585 NONAME ABSENT - _ZN12QDragManagerD0Ev @ 1586 NONAME ABSENT - _ZN12QDragManagerD1Ev @ 1587 NONAME ABSENT - _ZN12QDragManagerD2Ev @ 1588 NONAME ABSENT - _ZN12QFontMetricsC1ERK5QFont @ 1589 NONAME - _ZN12QFontMetricsC1ERK5QFontP12QPaintDevice @ 1590 NONAME - _ZN12QFontMetricsC1ERKS_ @ 1591 NONAME - _ZN12QFontMetricsC2ERK5QFont @ 1592 NONAME - _ZN12QFontMetricsC2ERK5QFontP12QPaintDevice @ 1593 NONAME - _ZN12QFontMetricsC2ERKS_ @ 1594 NONAME - _ZN12QFontMetricsD1Ev @ 1595 NONAME - _ZN12QFontMetricsD2Ev @ 1596 NONAME - _ZN12QFontMetricsaSERKS_ @ 1597 NONAME - _ZN12QFontMetricseqERKS_ @ 1598 NONAME - _ZN12QFontPrivate7resolveEjPKS_ @ 1599 NONAME - _ZN12QFontPrivateC1ERKS_ @ 1600 NONAME - _ZN12QFontPrivateC1Ev @ 1601 NONAME - _ZN12QFontPrivateC2ERKS_ @ 1602 NONAME - _ZN12QFontPrivateC2Ev @ 1603 NONAME - _ZN12QFontPrivateD1Ev @ 1604 NONAME - _ZN12QFontPrivateD2Ev @ 1605 NONAME - _ZN12QImageReader10setQualityEi @ 1606 NONAME - _ZN12QImageReader11imageFormatEP9QIODevice @ 1607 NONAME - _ZN12QImageReader11imageFormatERK7QString @ 1608 NONAME - _ZN12QImageReader11jumpToImageEi @ 1609 NONAME - _ZN12QImageReader11setClipRectERK5QRect @ 1610 NONAME - _ZN12QImageReader11setFileNameERK7QString @ 1611 NONAME - _ZN12QImageReader13setScaledSizeERK5QSize @ 1612 NONAME - _ZN12QImageReader15jumpToNextImageEv @ 1613 NONAME - _ZN12QImageReader17setScaledClipRectERK5QRect @ 1614 NONAME - _ZN12QImageReader18setBackgroundColorERK6QColor @ 1615 NONAME - _ZN12QImageReader21supportedImageFormatsEv @ 1616 NONAME - _ZN12QImageReader24setAutoDetectImageFormatEb @ 1617 NONAME - _ZN12QImageReader4readEP6QImage @ 1618 NONAME - _ZN12QImageReader4readEv @ 1619 NONAME - _ZN12QImageReader9setDeviceEP9QIODevice @ 1620 NONAME - _ZN12QImageReader9setFormatERK10QByteArray @ 1621 NONAME - _ZN12QImageReaderC1EP9QIODeviceRK10QByteArray @ 1622 NONAME - _ZN12QImageReaderC1ERK7QStringRK10QByteArray @ 1623 NONAME - _ZN12QImageReaderC1Ev @ 1624 NONAME - _ZN12QImageReaderC2EP9QIODeviceRK10QByteArray @ 1625 NONAME - _ZN12QImageReaderC2ERK7QStringRK10QByteArray @ 1626 NONAME - _ZN12QImageReaderC2Ev @ 1627 NONAME - _ZN12QImageReaderD1Ev @ 1628 NONAME - _ZN12QImageReaderD2Ev @ 1629 NONAME - _ZN12QImageWriter10setQualityEi @ 1630 NONAME - _ZN12QImageWriter11setFileNameERK7QString @ 1631 NONAME - _ZN12QImageWriter14setCompressionEi @ 1632 NONAME - _ZN12QImageWriter14setDescriptionERK7QString @ 1633 NONAME - _ZN12QImageWriter21supportedImageFormatsEv @ 1634 NONAME - _ZN12QImageWriter5writeERK6QImage @ 1635 NONAME - _ZN12QImageWriter7setTextERK7QStringS2_ @ 1636 NONAME - _ZN12QImageWriter8setGammaEf @ 1637 NONAME - _ZN12QImageWriter9setDeviceEP9QIODevice @ 1638 NONAME - _ZN12QImageWriter9setFormatERK10QByteArray @ 1639 NONAME - _ZN12QImageWriterC1EP9QIODeviceRK10QByteArray @ 1640 NONAME - _ZN12QImageWriterC1ERK7QStringRK10QByteArray @ 1641 NONAME - _ZN12QImageWriterC1Ev @ 1642 NONAME - _ZN12QImageWriterC2EP9QIODeviceRK10QByteArray @ 1643 NONAME - _ZN12QImageWriterC2ERK7QStringRK10QByteArray @ 1644 NONAME - _ZN12QImageWriterC2Ev @ 1645 NONAME - _ZN12QImageWriterD1Ev @ 1646 NONAME - _ZN12QImageWriterD2Ev @ 1647 NONAME - _ZN12QInputDialog10getIntegerEP7QWidgetRK7QStringS4_iiiiPb6QFlagsIN2Qt10WindowTypeEE @ 1648 NONAME - _ZN12QInputDialog10setIntStepEi @ 1649 NONAME - _ZN12QInputDialog10setOptionsE6QFlagsINS_17InputDialogOptionEE @ 1650 NONAME - _ZN12QInputDialog10setVisibleEb @ 1651 NONAME - _ZN12QInputDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 1652 NONAME - _ZN12QInputDialog11qt_metacastEPKc @ 1653 NONAME - _ZN12QInputDialog11setIntRangeEii @ 1654 NONAME - _ZN12QInputDialog11setIntValueEi @ 1655 NONAME - _ZN12QInputDialog12setInputModeENS_9InputModeE @ 1656 NONAME - _ZN12QInputDialog12setLabelTextERK7QString @ 1657 NONAME - _ZN12QInputDialog12setTextValueERK7QString @ 1658 NONAME - _ZN12QInputDialog13setIntMaximumEi @ 1659 NONAME - _ZN12QInputDialog13setIntMinimumEi @ 1660 NONAME - _ZN12QInputDialog14setDoubleRangeEdd @ 1661 NONAME - _ZN12QInputDialog14setDoubleValueEd @ 1662 NONAME - _ZN12QInputDialog15intValueChangedEi @ 1663 NONAME - _ZN12QInputDialog15setOkButtonTextERK7QString @ 1664 NONAME - _ZN12QInputDialog15setTextEchoModeEN9QLineEdit8EchoModeE @ 1665 NONAME - _ZN12QInputDialog16intValueSelectedEi @ 1666 NONAME - _ZN12QInputDialog16setComboBoxItemsERK11QStringList @ 1667 NONAME - _ZN12QInputDialog16setDoubleMaximumEd @ 1668 NONAME - _ZN12QInputDialog16setDoubleMinimumEd @ 1669 NONAME - _ZN12QInputDialog16staticMetaObjectE @ 1670 NONAME DATA 16 - _ZN12QInputDialog16textValueChangedERK7QString @ 1671 NONAME - _ZN12QInputDialog17setDoubleDecimalsEi @ 1672 NONAME - _ZN12QInputDialog17textValueSelectedERK7QString @ 1673 NONAME - _ZN12QInputDialog18doubleValueChangedEd @ 1674 NONAME - _ZN12QInputDialog19doubleValueSelectedEd @ 1675 NONAME - _ZN12QInputDialog19setCancelButtonTextERK7QString @ 1676 NONAME - _ZN12QInputDialog19setComboBoxEditableEb @ 1677 NONAME - _ZN12QInputDialog4doneEi @ 1678 NONAME - _ZN12QInputDialog4openEP7QObjectPKc @ 1679 NONAME - _ZN12QInputDialog6getIntEP7QWidgetRK7QStringS4_iiiiPb6QFlagsIN2Qt10WindowTypeEE @ 1680 NONAME - _ZN12QInputDialog7getItemEP7QWidgetRK7QStringS4_RK11QStringListibPb6QFlagsIN2Qt10WindowTypeEE @ 1681 NONAME - _ZN12QInputDialog7getTextEP7QWidgetRK7QStringS4_N9QLineEdit8EchoModeES4_Pb6QFlagsIN2Qt10WindowTypeEE @ 1682 NONAME - _ZN12QInputDialog9getDoubleEP7QWidgetRK7QStringS4_dddiPb6QFlagsIN2Qt10WindowTypeEE @ 1683 NONAME - _ZN12QInputDialog9setOptionENS_17InputDialogOptionEb @ 1684 NONAME - _ZN12QInputDialogC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 1685 NONAME - _ZN12QInputDialogC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 1686 NONAME - _ZN12QInputDialogD0Ev @ 1687 NONAME - _ZN12QInputDialogD1Ev @ 1688 NONAME - _ZN12QInputDialogD2Ev @ 1689 NONAME - _ZN12QKeySequence10fromStringERK7QStringNS_14SequenceFormatE @ 1690 NONAME - _ZN12QKeySequence11keyBindingsENS_11StandardKeyE @ 1691 NONAME - _ZN12QKeySequence12decodeStringERK7QString @ 1692 NONAME - _ZN12QKeySequence12encodeStringEi @ 1693 NONAME - _ZN12QKeySequence6assignERK7QString @ 1694 NONAME - _ZN12QKeySequence6setKeyEii @ 1695 NONAME - _ZN12QKeySequence8mnemonicERK7QString @ 1696 NONAME - _ZN12QKeySequenceC1ENS_11StandardKeyE @ 1697 NONAME - _ZN12QKeySequenceC1ERK7QString @ 1698 NONAME - _ZN12QKeySequenceC1ERKS_ @ 1699 NONAME - _ZN12QKeySequenceC1Eiiii @ 1700 NONAME - _ZN12QKeySequenceC1Ev @ 1701 NONAME - _ZN12QKeySequenceC2ENS_11StandardKeyE @ 1702 NONAME - _ZN12QKeySequenceC2ERK7QString @ 1703 NONAME - _ZN12QKeySequenceC2ERKS_ @ 1704 NONAME - _ZN12QKeySequenceC2Eiiii @ 1705 NONAME - _ZN12QKeySequenceC2Ev @ 1706 NONAME - _ZN12QKeySequenceD1Ev @ 1707 NONAME - _ZN12QKeySequenceD2Ev @ 1708 NONAME - _ZN12QKeySequenceaSERKS_ @ 1709 NONAME - _ZN12QNativeImage12systemFormatEv @ 1710 NONAME ABSENT - _ZN12QNativeImageC1EiiN6QImage6FormatEbP7QWidget @ 1711 NONAME ABSENT - _ZN12QNativeImageC2EiiN6QImage6FormatEbP7QWidget @ 1712 NONAME ABSENT - _ZN12QNativeImageD1Ev @ 1713 NONAME ABSENT - _ZN12QNativeImageD2Ev @ 1714 NONAME ABSENT - _ZN12QPaintDeviceC2Ev @ 1715 NONAME - _ZN12QPaintDeviceD0Ev @ 1716 NONAME - _ZN12QPaintDeviceD1Ev @ 1717 NONAME - _ZN12QPaintDeviceD2Ev @ 1718 NONAME - _ZN12QPaintEngine10drawPointsEPK6QPointi @ 1719 NONAME - _ZN12QPaintEngine10drawPointsEPK7QPointFi @ 1720 NONAME - _ZN12QPaintEngine11drawEllipseERK5QRect @ 1721 NONAME - _ZN12QPaintEngine11drawEllipseERK6QRectF @ 1722 NONAME - _ZN12QPaintEngine11drawPolygonEPK6QPointiNS_15PolygonDrawModeE @ 1723 NONAME - _ZN12QPaintEngine11drawPolygonEPK7QPointFiNS_15PolygonDrawModeE @ 1724 NONAME - _ZN12QPaintEngine12drawTextItemERK7QPointFRK9QTextItem @ 1725 NONAME - _ZN12QPaintEngine13setSystemClipERK7QRegion @ 1726 NONAME - _ZN12QPaintEngine13setSystemRectERK5QRect @ 1727 NONAME - _ZN12QPaintEngine14setPaintDeviceEP12QPaintDevice @ 1728 NONAME - _ZN12QPaintEngine15drawTiledPixmapERK6QRectFRK7QPixmapRK7QPointF @ 1729 NONAME - _ZN12QPaintEngine8drawPathERK12QPainterPath @ 1730 NONAME - _ZN12QPaintEngine9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 1731 NONAME - _ZN12QPaintEngine9drawLinesEPK5QLinei @ 1732 NONAME - _ZN12QPaintEngine9drawLinesEPK6QLineFi @ 1733 NONAME - _ZN12QPaintEngine9drawRectsEPK5QRecti @ 1734 NONAME - _ZN12QPaintEngine9drawRectsEPK6QRectFi @ 1735 NONAME - _ZN12QPaintEngine9syncStateEv @ 1736 NONAME - _ZN12QPaintEngineC2E6QFlagsINS_18PaintEngineFeatureEE @ 1737 NONAME - _ZN12QPaintEngineC2ER19QPaintEnginePrivate6QFlagsINS_18PaintEngineFeatureEE @ 1738 NONAME - _ZN12QPaintEngineD0Ev @ 1739 NONAME - _ZN12QPaintEngineD1Ev @ 1740 NONAME - _ZN12QPaintEngineD2Ev @ 1741 NONAME - _ZN12QPainterPath10addEllipseERK6QRectF @ 1742 NONAME - _ZN12QPainterPath10addPolygonERK9QPolygonF @ 1743 NONAME - _ZN12QPainterPath11connectPathERKS_ @ 1744 NONAME - _ZN12QPainterPath11setFillRuleEN2Qt8FillRuleE @ 1745 NONAME - _ZN12QPainterPath12addRoundRectERK6QRectFii @ 1746 NONAME - _ZN12QPainterPath12closeSubpathEv @ 1747 NONAME - _ZN12QPainterPath13detach_helperEv @ 1748 NONAME - _ZN12QPainterPath14addRoundedRectERK6QRectFffN2Qt8SizeModeE @ 1749 NONAME - _ZN12QPainterPath17ensureData_helperEv @ 1750 NONAME - _ZN12QPainterPath5arcToERK6QRectFff @ 1751 NONAME - _ZN12QPainterPath6lineToERK7QPointF @ 1752 NONAME - _ZN12QPainterPath6moveToERK7QPointF @ 1753 NONAME - _ZN12QPainterPath6quadToERK7QPointFS2_ @ 1754 NONAME - _ZN12QPainterPath7addPathERKS_ @ 1755 NONAME - _ZN12QPainterPath7addRectERK6QRectF @ 1756 NONAME - _ZN12QPainterPath7addTextERK7QPointFRK5QFontRK7QString @ 1757 NONAME - _ZN12QPainterPath7cubicToERK7QPointFS2_S2_ @ 1758 NONAME - _ZN12QPainterPath8setDirtyEb @ 1759 NONAME - _ZN12QPainterPath9addRegionERK7QRegion @ 1760 NONAME - _ZN12QPainterPath9arcMoveToERK6QRectFf @ 1761 NONAME - _ZN12QPainterPathC1ERK7QPointF @ 1762 NONAME - _ZN12QPainterPathC1ERKS_ @ 1763 NONAME - _ZN12QPainterPathC1Ev @ 1764 NONAME - _ZN12QPainterPathC2ERK7QPointF @ 1765 NONAME - _ZN12QPainterPathC2ERKS_ @ 1766 NONAME - _ZN12QPainterPathC2Ev @ 1767 NONAME - _ZN12QPainterPathD1Ev @ 1768 NONAME - _ZN12QPainterPathD2Ev @ 1769 NONAME - _ZN12QPainterPathaNERKS_ @ 1770 NONAME - _ZN12QPainterPathaSERKS_ @ 1771 NONAME - _ZN12QPainterPathmIERKS_ @ 1772 NONAME - _ZN12QPainterPathoRERKS_ @ 1773 NONAME - _ZN12QPainterPathpLERKS_ @ 1774 NONAME - _ZN12QPathClipper19handleCrossingEdgesER11QWingedEdgefNS_11ClipperModeE @ 1775 NONAME - _ZN12QPathClipper4clipENS_9OperationE @ 1776 NONAME - _ZN12QPathClipper6doClipER11QWingedEdgeNS_11ClipperModeE @ 1777 NONAME - _ZN12QPathClipper8containsEv @ 1778 NONAME - _ZN12QPathClipper9intersectEv @ 1779 NONAME - _ZN12QPathClipperC1ERK12QPainterPathS2_ @ 1780 NONAME - _ZN12QPathClipperC2ERK12QPainterPathS2_ @ 1781 NONAME - _ZN12QPixmapCache10cacheLimitEv @ 1782 NONAME - _ZN12QPixmapCache13setCacheLimitEi @ 1783 NONAME - _ZN12QPixmapCache4findERK7QString @ 1784 NONAME - _ZN12QPixmapCache4findERK7QStringR7QPixmap @ 1785 NONAME - _ZN12QPixmapCache5clearEv @ 1786 NONAME - _ZN12QPixmapCache6insertERK7QStringRK7QPixmap @ 1787 NONAME - _ZN12QPixmapCache6removeERK7QString @ 1788 NONAME - _ZN12QProgressBar10paintEventEP11QPaintEvent @ 1789 NONAME - _ZN12QProgressBar10setMaximumEi @ 1790 NONAME - _ZN12QProgressBar10setMinimumEi @ 1791 NONAME - _ZN12QProgressBar11qt_metacallEN11QMetaObject4CallEiPPv @ 1792 NONAME - _ZN12QProgressBar11qt_metacastEPKc @ 1793 NONAME - _ZN12QProgressBar12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 1794 NONAME - _ZN12QProgressBar12valueChangedEi @ 1795 NONAME - _ZN12QProgressBar13textDirectionEv @ 1796 NONAME - _ZN12QProgressBar14setOrientationEN2Qt11OrientationE @ 1797 NONAME - _ZN12QProgressBar14setTextVisibleEb @ 1798 NONAME - _ZN12QProgressBar16setTextDirectionENS_9DirectionE @ 1799 NONAME - _ZN12QProgressBar16staticMetaObjectE @ 1800 NONAME DATA 16 - _ZN12QProgressBar18invertedAppearanceEv @ 1801 NONAME - _ZN12QProgressBar21setInvertedAppearanceEb @ 1802 NONAME - _ZN12QProgressBar5eventEP6QEvent @ 1803 NONAME - _ZN12QProgressBar5resetEv @ 1804 NONAME - _ZN12QProgressBar8setRangeEii @ 1805 NONAME - _ZN12QProgressBar8setValueEi @ 1806 NONAME - _ZN12QProgressBar9setFormatERK7QString @ 1807 NONAME - _ZN12QProgressBarC1EP7QWidget @ 1808 NONAME - _ZN12QProgressBarC2EP7QWidget @ 1809 NONAME - _ZN12QRadioButton10paintEventEP11QPaintEvent @ 1810 NONAME - _ZN12QRadioButton11qt_metacallEN11QMetaObject4CallEiPPv @ 1811 NONAME - _ZN12QRadioButton11qt_metacastEPKc @ 1812 NONAME - _ZN12QRadioButton14mouseMoveEventEP11QMouseEvent @ 1813 NONAME - _ZN12QRadioButton16staticMetaObjectE @ 1814 NONAME DATA 16 - _ZN12QRadioButton5eventEP6QEvent @ 1815 NONAME - _ZN12QRadioButtonC1EP7QWidget @ 1816 NONAME - _ZN12QRadioButtonC1ERK7QStringP7QWidget @ 1817 NONAME - _ZN12QRadioButtonC2EP7QWidget @ 1818 NONAME - _ZN12QRadioButtonC2ERK7QStringP7QWidget @ 1819 NONAME - _ZN12QResizeEventC1ERK5QSizeS2_ @ 1820 NONAME - _ZN12QResizeEventC2ERK5QSizeS2_ @ 1821 NONAME - _ZN12QResizeEventD0Ev @ 1822 NONAME - _ZN12QResizeEventD1Ev @ 1823 NONAME - _ZN12QResizeEventD2Ev @ 1824 NONAME - _ZN12QStyleOption4initEPK7QWidget @ 1825 NONAME - _ZN12QStyleOptionC1ERKS_ @ 1826 NONAME - _ZN12QStyleOptionC1Eii @ 1827 NONAME - _ZN12QStyleOptionC2ERKS_ @ 1828 NONAME - _ZN12QStyleOptionC2Eii @ 1829 NONAME - _ZN12QStyleOptionD1Ev @ 1830 NONAME - _ZN12QStyleOptionD2Ev @ 1831 NONAME - _ZN12QStyleOptionaSERKS_ @ 1832 NONAME - _ZN12QStylePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1833 NONAME - _ZN12QStylePlugin11qt_metacastEPKc @ 1834 NONAME - _ZN12QStylePlugin16staticMetaObjectE @ 1835 NONAME DATA 16 - _ZN12QStylePluginC2EP7QObject @ 1836 NONAME - _ZN12QStylePluginD0Ev @ 1837 NONAME - _ZN12QStylePluginD1Ev @ 1838 NONAME - _ZN12QStylePluginD2Ev @ 1839 NONAME - _ZN12QTableWidget11cellChangedEii @ 1840 NONAME - _ZN12QTableWidget11cellClickedEii @ 1841 NONAME - _ZN12QTableWidget11cellEnteredEii @ 1842 NONAME - _ZN12QTableWidget11cellPressedEii @ 1843 NONAME - _ZN12QTableWidget11itemChangedEP16QTableWidgetItem @ 1844 NONAME - _ZN12QTableWidget11itemClickedEP16QTableWidgetItem @ 1845 NONAME - _ZN12QTableWidget11itemEnteredEP16QTableWidgetItem @ 1846 NONAME - _ZN12QTableWidget11itemPressedEP16QTableWidgetItem @ 1847 NONAME - _ZN12QTableWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 1848 NONAME - _ZN12QTableWidget11qt_metacastEPKc @ 1849 NONAME - _ZN12QTableWidget11setRowCountEi @ 1850 NONAME - _ZN12QTableWidget12dropMimeDataEiiPK9QMimeDataN2Qt10DropActionE @ 1851 NONAME - _ZN12QTableWidget12insertColumnEi @ 1852 NONAME - _ZN12QTableWidget12removeColumnEi @ 1853 NONAME - _ZN12QTableWidget12scrollToItemEPK16QTableWidgetItemN17QAbstractItemView10ScrollHintE @ 1854 NONAME - _ZN12QTableWidget13cellActivatedEii @ 1855 NONAME - _ZN12QTableWidget13clearContentsEv @ 1856 NONAME - _ZN12QTableWidget13itemActivatedEP16QTableWidgetItem @ 1857 NONAME - _ZN12QTableWidget13selectedItemsEv @ 1858 NONAME - _ZN12QTableWidget13setCellWidgetEiiP7QWidget @ 1859 NONAME - _ZN12QTableWidget14setColumnCountEi @ 1860 NONAME - _ZN12QTableWidget14setCurrentCellEii @ 1861 NONAME - _ZN12QTableWidget14setCurrentCellEii6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 1862 NONAME - _ZN12QTableWidget14setCurrentItemEP16QTableWidgetItem @ 1863 NONAME - _ZN12QTableWidget14setCurrentItemEP16QTableWidgetItem6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 1864 NONAME - _ZN12QTableWidget15setItemSelectedEPK16QTableWidgetItemb @ 1865 NONAME - _ZN12QTableWidget16setItemPrototypeEPK16QTableWidgetItem @ 1866 NONAME - _ZN12QTableWidget16setRangeSelectedERK26QTableWidgetSelectionRangeb @ 1867 NONAME - _ZN12QTableWidget16staticMetaObjectE @ 1868 NONAME DATA 16 - _ZN12QTableWidget17cellDoubleClickedEii @ 1869 NONAME - _ZN12QTableWidget17itemDoubleClickedEP16QTableWidgetItem @ 1870 NONAME - _ZN12QTableWidget17setSortingEnabledEb @ 1871 NONAME - _ZN12QTableWidget18currentCellChangedEiiii @ 1872 NONAME - _ZN12QTableWidget18currentItemChangedEP16QTableWidgetItemS1_ @ 1873 NONAME - _ZN12QTableWidget20itemSelectionChangedEv @ 1874 NONAME - _ZN12QTableWidget20openPersistentEditorEP16QTableWidgetItem @ 1875 NONAME - _ZN12QTableWidget21closePersistentEditorEP16QTableWidgetItem @ 1876 NONAME - _ZN12QTableWidget21setVerticalHeaderItemEiP16QTableWidgetItem @ 1877 NONAME - _ZN12QTableWidget22takeVerticalHeaderItemEi @ 1878 NONAME - _ZN12QTableWidget23setHorizontalHeaderItemEiP16QTableWidgetItem @ 1879 NONAME - _ZN12QTableWidget23setVerticalHeaderLabelsERK11QStringList @ 1880 NONAME - _ZN12QTableWidget24takeHorizontalHeaderItemEi @ 1881 NONAME - _ZN12QTableWidget25setHorizontalHeaderLabelsERK11QStringList @ 1882 NONAME - _ZN12QTableWidget5clearEv @ 1883 NONAME - _ZN12QTableWidget5eventEP6QEvent @ 1884 NONAME - _ZN12QTableWidget7setItemEiiP16QTableWidgetItem @ 1885 NONAME - _ZN12QTableWidget8editItemEP16QTableWidgetItem @ 1886 NONAME - _ZN12QTableWidget8setModelEP18QAbstractItemModel @ 1887 NONAME - _ZN12QTableWidget8takeItemEii @ 1888 NONAME - _ZN12QTableWidget9dropEventEP10QDropEvent @ 1889 NONAME - _ZN12QTableWidget9insertRowEi @ 1890 NONAME - _ZN12QTableWidget9removeRowEi @ 1891 NONAME - _ZN12QTableWidget9sortItemsEiN2Qt9SortOrderE @ 1892 NONAME - _ZN12QTableWidgetC1EP7QWidget @ 1893 NONAME - _ZN12QTableWidgetC1EiiP7QWidget @ 1894 NONAME - _ZN12QTableWidgetC2EP7QWidget @ 1895 NONAME - _ZN12QTableWidgetC2EiiP7QWidget @ 1896 NONAME - _ZN12QTableWidgetD0Ev @ 1897 NONAME - _ZN12QTableWidgetD1Ev @ 1898 NONAME - _ZN12QTableWidgetD2Ev @ 1899 NONAME - _ZN12QTabletEventC1EN6QEvent4TypeERK6QPointS4_RK7QPointFiifiiffi6QFlagsIN2Qt16KeyboardModifierEEx @ 1900 NONAME - _ZN12QTabletEventC2EN6QEvent4TypeERK6QPointS4_RK7QPointFiifiiffi6QFlagsIN2Qt16KeyboardModifierEEx @ 1901 NONAME - _ZN12QTabletEventD0Ev @ 1902 NONAME - _ZN12QTabletEventD1Ev @ 1903 NONAME - _ZN12QTabletEventD2Ev @ 1904 NONAME - _ZN12QTessellator10setWindingEb @ 1905 NONAME - _ZN12QTessellator10tessellateEPK7QPointFi @ 1906 NONAME - _ZN12QTessellator14tessellateRectERK7QPointFS2_f @ 1907 NONAME - _ZN12QTessellator16tessellateConvexEPK7QPointFi @ 1908 NONAME - _ZN12QTessellatorC2Ev @ 1909 NONAME - _ZN12QTessellatorD0Ev @ 1910 NONAME - _ZN12QTessellatorD1Ev @ 1911 NONAME - _ZN12QTessellatorD2Ev @ 1912 NONAME - _ZN12QTextBrowser10paintEventEP11QPaintEvent @ 1913 NONAME - _ZN12QTextBrowser11highlightedERK4QUrl @ 1914 NONAME - _ZN12QTextBrowser11highlightedERK7QString @ 1915 NONAME - _ZN12QTextBrowser11qt_metacallEN11QMetaObject4CallEiPPv @ 1916 NONAME - _ZN12QTextBrowser11qt_metacastEPKc @ 1917 NONAME - _ZN12QTextBrowser12clearHistoryEv @ 1918 NONAME - _ZN12QTextBrowser12loadResourceEiRK4QUrl @ 1919 NONAME - _ZN12QTextBrowser12setOpenLinksEb @ 1920 NONAME - _ZN12QTextBrowser13anchorClickedERK4QUrl @ 1921 NONAME - _ZN12QTextBrowser13focusOutEventEP11QFocusEvent @ 1922 NONAME - _ZN12QTextBrowser13keyPressEventEP9QKeyEvent @ 1923 NONAME - _ZN12QTextBrowser13sourceChangedERK4QUrl @ 1924 NONAME - _ZN12QTextBrowser14historyChangedEv @ 1925 NONAME - _ZN12QTextBrowser14mouseMoveEventEP11QMouseEvent @ 1926 NONAME - _ZN12QTextBrowser14setSearchPathsERK11QStringList @ 1927 NONAME - _ZN12QTextBrowser15mousePressEventEP11QMouseEvent @ 1928 NONAME - _ZN12QTextBrowser16forwardAvailableEb @ 1929 NONAME - _ZN12QTextBrowser16staticMetaObjectE @ 1930 NONAME DATA 16 - _ZN12QTextBrowser17backwardAvailableEb @ 1931 NONAME - _ZN12QTextBrowser17mouseReleaseEventEP11QMouseEvent @ 1932 NONAME - _ZN12QTextBrowser18focusNextPrevChildEb @ 1933 NONAME - _ZN12QTextBrowser20setOpenExternalLinksEb @ 1934 NONAME - _ZN12QTextBrowser4homeEv @ 1935 NONAME - _ZN12QTextBrowser5eventEP6QEvent @ 1936 NONAME - _ZN12QTextBrowser6reloadEv @ 1937 NONAME - _ZN12QTextBrowser7forwardEv @ 1938 NONAME - _ZN12QTextBrowser8backwardEv @ 1939 NONAME - _ZN12QTextBrowser9setSourceERK4QUrl @ 1940 NONAME - _ZN12QTextBrowserC1EP7QWidget @ 1941 NONAME - _ZN12QTextBrowserC2EP7QWidget @ 1942 NONAME - _ZN12QTextBrowserD0Ev @ 1943 NONAME - _ZN12QTextBrowserD1Ev @ 1944 NONAME - _ZN12QTextBrowserD2Ev @ 1945 NONAME - _ZN12QTextControl10adjustSizeEv @ 1946 NONAME - _ZN12QTextControl10appendHtmlERK7QString @ 1947 NONAME - _ZN12QTextControl10insertHtmlERK7QString @ 1948 NONAME - _ZN12QTextControl10moveCursorEN11QTextCursor13MoveOperationENS0_8MoveModeE @ 1949 NONAME - _ZN12QTextControl10setPaletteERK8QPalette @ 1950 NONAME - _ZN12QTextControl10timerEventEP11QTimerEvent @ 1951 NONAME - _ZN12QTextControl11linkHoveredERK7QString @ 1952 NONAME - _ZN12QTextControl11qt_metacallEN11QMetaObject4CallEiPPv @ 1953 NONAME - _ZN12QTextControl11qt_metacastEPKc @ 1954 NONAME - _ZN12QTextControl11setDocumentEP13QTextDocument @ 1955 NONAME - _ZN12QTextControl11textChangedEv @ 1956 NONAME - _ZN12QTextControl12drawContentsEP8QPainterRK6QRectFP7QWidget @ 1957 NONAME - _ZN12QTextControl12loadResourceEiRK4QUrl @ 1958 NONAME - _ZN12QTextControl12processEventEP6QEventRK7QMatrixP7QWidget @ 1959 NONAME - _ZN12QTextControl12processEventEP6QEventRK7QPointFP7QWidget @ 1960 NONAME - _ZN12QTextControl12setPlainTextERK7QString @ 1961 NONAME - _ZN12QTextControl12setTextWidthEf @ 1962 NONAME - _ZN12QTextControl13copyAvailableEb @ 1963 NONAME - _ZN12QTextControl13linkActivatedERK7QString @ 1964 NONAME - _ZN12QTextControl13redoAvailableEb @ 1965 NONAME - _ZN12QTextControl13setTextCursorERK11QTextCursor @ 1966 NONAME - _ZN12QTextControl13undoAvailableEb @ 1967 NONAME - _ZN12QTextControl13updateRequestERK6QRectF @ 1968 NONAME - _ZN12QTextControl14setCursorWidthEi @ 1969 NONAME - _ZN12QTextControl15appendPlainTextERK7QString @ 1970 NONAME - _ZN12QTextControl15insertPlainTextERK7QString @ 1971 NONAME - _ZN12QTextControl16selectionChangedEv @ 1972 NONAME - _ZN12QTextControl16setFocusToAnchorERK11QTextCursor @ 1973 NONAME - _ZN12QTextControl16setOverwriteModeEb @ 1974 NONAME - _ZN12QTextControl16staticMetaObjectE @ 1975 NONAME DATA 16 - _ZN12QTextControl17blockCountChangedEi @ 1976 NONAME - _ZN12QTextControl17microFocusChangedEv @ 1977 NONAME - _ZN12QTextControl17setAcceptRichTextEb @ 1978 NONAME - _ZN12QTextControl17visibilityRequestERK6QRectF @ 1979 NONAME - _ZN12QTextControl18findNextPrevAnchorERK11QTextCursorbRS0_ @ 1980 NONAME - _ZN12QTextControl18insertFromMimeDataEPK9QMimeData @ 1981 NONAME - _ZN12QTextControl18setExtraSelectionsERK5QListIN9QTextEdit14ExtraSelectionEE @ 1982 NONAME - _ZN12QTextControl19documentSizeChangedERK6QSizeF @ 1983 NONAME - _ZN12QTextControl19ensureCursorVisibleEv @ 1984 NONAME - _ZN12QTextControl19modificationChangedEb @ 1985 NONAME - _ZN12QTextControl20setCurrentCharFormatERK15QTextCharFormat @ 1986 NONAME - _ZN12QTextControl20setOpenExternalLinksEb @ 1987 NONAME - _ZN12QTextControl21cursorPositionChangedEv @ 1988 NONAME - _ZN12QTextControl22mergeCurrentCharFormatERK15QTextCharFormat @ 1989 NONAME - _ZN12QTextControl23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 1990 NONAME - _ZN12QTextControl24currentCharFormatChangedERK15QTextCharFormat @ 1991 NONAME - _ZN12QTextControl25createStandardContextMenuERK7QPointFP7QWidget @ 1992 NONAME - _ZN12QTextControl25setCursorIsFocusIndicatorEb @ 1993 NONAME - _ZN12QTextControl30setFocusToNextOrPreviousAnchorEb @ 1994 NONAME - _ZN12QTextControl3cutEv @ 1995 NONAME - _ZN12QTextControl4copyEv @ 1996 NONAME - _ZN12QTextControl4findERK7QString6QFlagsIN13QTextDocument8FindFlagEE @ 1997 NONAME - _ZN12QTextControl4redoEv @ 1998 NONAME - _ZN12QTextControl4undoEv @ 1999 NONAME - _ZN12QTextControl5clearEv @ 2000 NONAME - _ZN12QTextControl5eventEP6QEvent @ 2001 NONAME - _ZN12QTextControl5pasteEv @ 2002 NONAME - _ZN12QTextControl6appendERK7QString @ 2003 NONAME - _ZN12QTextControl7setHtmlERK7QString @ 2004 NONAME - _ZN12QTextControl8setFocusEbN2Qt11FocusReasonE @ 2005 NONAME - _ZN12QTextControl9selectAllEv @ 2006 NONAME - _ZN12QTextControlC1EP13QTextDocumentP7QObject @ 2007 NONAME - _ZN12QTextControlC1EP7QObject @ 2008 NONAME - _ZN12QTextControlC1ERK7QStringP7QObject @ 2009 NONAME - _ZN12QTextControlC2EP13QTextDocumentP7QObject @ 2010 NONAME - _ZN12QTextControlC2EP7QObject @ 2011 NONAME - _ZN12QTextControlC2ERK7QStringP7QObject @ 2012 NONAME - _ZN12QTextControlD0Ev @ 2013 NONAME - _ZN12QTextControlD1Ev @ 2014 NONAME - _ZN12QTextControlD2Ev @ 2015 NONAME - _ZN12QToolBarItemC1EP7QWidget @ 2016 NONAME ABSENT - _ZN12QToolBarItemC2EP7QWidget @ 2017 NONAME ABSENT - _ZN12QUndoCommand4redoEv @ 2018 NONAME - _ZN12QUndoCommand4undoEv @ 2019 NONAME - _ZN12QUndoCommand7setTextERK7QString @ 2020 NONAME - _ZN12QUndoCommand9mergeWithEPKS_ @ 2021 NONAME - _ZN12QUndoCommandC1EPS_ @ 2022 NONAME - _ZN12QUndoCommandC1ERK7QStringPS_ @ 2023 NONAME - _ZN12QUndoCommandC2EPS_ @ 2024 NONAME - _ZN12QUndoCommandC2ERK7QStringPS_ @ 2025 NONAME - _ZN12QUndoCommandD0Ev @ 2026 NONAME - _ZN12QUndoCommandD1Ev @ 2027 NONAME - _ZN12QUndoCommandD2Ev @ 2028 NONAME - _ZN13QDateTimeEdit10paintEventEP11QPaintEvent @ 2029 NONAME - _ZN13QDateTimeEdit10wheelEventEP11QWheelEvent @ 2030 NONAME - _ZN13QDateTimeEdit11dateChangedERK5QDate @ 2031 NONAME - _ZN13QDateTimeEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 2032 NONAME - _ZN13QDateTimeEdit11qt_metacastEPKc @ 2033 NONAME - _ZN13QDateTimeEdit11setDateTimeERK9QDateTime @ 2034 NONAME - _ZN13QDateTimeEdit11setTimeSpecEN2Qt8TimeSpecE @ 2035 NONAME - _ZN13QDateTimeEdit11timeChangedERK5QTime @ 2036 NONAME - _ZN13QDateTimeEdit12focusInEventEP11QFocusEvent @ 2037 NONAME - _ZN13QDateTimeEdit12setDateRangeERK5QDateS2_ @ 2038 NONAME - _ZN13QDateTimeEdit12setTimeRangeERK5QTimeS2_ @ 2039 NONAME - _ZN13QDateTimeEdit13keyPressEventEP9QKeyEvent @ 2040 NONAME - _ZN13QDateTimeEdit14setMaximumDateERK5QDate @ 2041 NONAME - _ZN13QDateTimeEdit14setMaximumTimeERK5QTime @ 2042 NONAME - _ZN13QDateTimeEdit14setMinimumDateERK5QDate @ 2043 NONAME - _ZN13QDateTimeEdit14setMinimumTimeERK5QTime @ 2044 NONAME - _ZN13QDateTimeEdit15dateTimeChangedERK9QDateTime @ 2045 NONAME - _ZN13QDateTimeEdit15mousePressEventEP11QMouseEvent @ 2046 NONAME - _ZN13QDateTimeEdit16clearMaximumDateEv @ 2047 NONAME - _ZN13QDateTimeEdit16clearMaximumTimeEv @ 2048 NONAME - _ZN13QDateTimeEdit16clearMinimumDateEv @ 2049 NONAME - _ZN13QDateTimeEdit16clearMinimumTimeEv @ 2050 NONAME - _ZN13QDateTimeEdit16setCalendarPopupEb @ 2051 NONAME - _ZN13QDateTimeEdit16setDateTimeRangeERK9QDateTimeS2_ @ 2052 NONAME - _ZN13QDateTimeEdit16setDisplayFormatERK7QString @ 2053 NONAME - _ZN13QDateTimeEdit16staticMetaObjectE @ 2054 NONAME DATA 16 - _ZN13QDateTimeEdit17setCalendarWidgetEP15QCalendarWidget @ 2055 NONAME - _ZN13QDateTimeEdit17setCurrentSectionENS_7SectionE @ 2056 NONAME - _ZN13QDateTimeEdit18focusNextPrevChildEb @ 2057 NONAME - _ZN13QDateTimeEdit18setMaximumDateTimeERK9QDateTime @ 2058 NONAME - _ZN13QDateTimeEdit18setMinimumDateTimeERK9QDateTime @ 2059 NONAME - _ZN13QDateTimeEdit18setSelectedSectionENS_7SectionE @ 2060 NONAME - _ZN13QDateTimeEdit20clearMaximumDateTimeEv @ 2061 NONAME - _ZN13QDateTimeEdit20clearMinimumDateTimeEv @ 2062 NONAME - _ZN13QDateTimeEdit22setCurrentSectionIndexEi @ 2063 NONAME - _ZN13QDateTimeEdit5clearEv @ 2064 NONAME - _ZN13QDateTimeEdit5eventEP6QEvent @ 2065 NONAME - _ZN13QDateTimeEdit6stepByEi @ 2066 NONAME - _ZN13QDateTimeEdit7setDateERK5QDate @ 2067 NONAME - _ZN13QDateTimeEdit7setTimeERK5QTime @ 2068 NONAME - _ZN13QDateTimeEditC1EP7QWidget @ 2069 NONAME - _ZN13QDateTimeEditC1ERK5QDateP7QWidget @ 2070 NONAME - _ZN13QDateTimeEditC1ERK5QTimeP7QWidget @ 2071 NONAME - _ZN13QDateTimeEditC1ERK8QVariantNS0_4TypeEP7QWidget @ 2072 NONAME - _ZN13QDateTimeEditC1ERK9QDateTimeP7QWidget @ 2073 NONAME - _ZN13QDateTimeEditC2EP7QWidget @ 2074 NONAME - _ZN13QDateTimeEditC2ERK5QDateP7QWidget @ 2075 NONAME - _ZN13QDateTimeEditC2ERK5QTimeP7QWidget @ 2076 NONAME - _ZN13QDateTimeEditC2ERK8QVariantNS0_4TypeEP7QWidget @ 2077 NONAME - _ZN13QDateTimeEditC2ERK9QDateTimeP7QWidget @ 2078 NONAME - _ZN13QErrorMessage11changeEventEP6QEvent @ 2079 NONAME - _ZN13QErrorMessage11qt_metacallEN11QMetaObject4CallEiPPv @ 2080 NONAME - _ZN13QErrorMessage11qt_metacastEPKc @ 2081 NONAME - _ZN13QErrorMessage11showMessageERK7QString @ 2082 NONAME - _ZN13QErrorMessage11showMessageERK7QStringS2_ @ 2083 NONAME - _ZN13QErrorMessage16staticMetaObjectE @ 2084 NONAME DATA 16 - _ZN13QErrorMessage4doneEi @ 2085 NONAME - _ZN13QErrorMessage9qtHandlerEv @ 2086 NONAME - _ZN13QErrorMessageC1EP7QWidget @ 2087 NONAME - _ZN13QErrorMessageC2EP7QWidget @ 2088 NONAME - _ZN13QErrorMessageD0Ev @ 2089 NONAME - _ZN13QErrorMessageD1Ev @ 2090 NONAME - _ZN13QErrorMessageD2Ev @ 2091 NONAME - _ZN13QFontComboBox11qt_metacallEN11QMetaObject4CallEiPPv @ 2092 NONAME - _ZN13QFontComboBox11qt_metacastEPKc @ 2093 NONAME - _ZN13QFontComboBox14setCurrentFontERK5QFont @ 2094 NONAME - _ZN13QFontComboBox14setFontFiltersE6QFlagsINS_10FontFilterEE @ 2095 NONAME - _ZN13QFontComboBox16setWritingSystemEN13QFontDatabase13WritingSystemE @ 2096 NONAME - _ZN13QFontComboBox16staticMetaObjectE @ 2097 NONAME DATA 16 - _ZN13QFontComboBox18currentFontChangedERK5QFont @ 2098 NONAME - _ZN13QFontComboBox5eventEP6QEvent @ 2099 NONAME - _ZN13QFontComboBoxC1EP7QWidget @ 2100 NONAME - _ZN13QFontComboBoxC2EP7QWidget @ 2101 NONAME - _ZN13QFontComboBoxD0Ev @ 2102 NONAME - _ZN13QFontComboBoxD1Ev @ 2103 NONAME - _ZN13QFontComboBoxD2Ev @ 2104 NONAME - _ZN13QFontDatabase10pointSizesERK7QStringS2_ @ 2105 NONAME - _ZN13QFontDatabase11smoothSizesERK7QStringS2_ @ 2106 NONAME - _ZN13QFontDatabase11styleStringERK5QFont @ 2107 NONAME - _ZN13QFontDatabase11styleStringERK9QFontInfo @ 2108 NONAME - _ZN13QFontDatabase13parseFontNameERK7QStringRS0_S3_ @ 2109 NONAME - _ZN13QFontDatabase13standardSizesEv @ 2110 NONAME - _ZN13QFontDatabase14createDatabaseEv @ 2111 NONAME - _ZN13QFontDatabase16staticMetaObjectE @ 2112 NONAME DATA 16 - _ZN13QFontDatabase17writingSystemNameENS_13WritingSystemE @ 2113 NONAME - _ZN13QFontDatabase18addApplicationFontERK7QString @ 2114 NONAME - _ZN13QFontDatabase19writingSystemSampleENS_13WritingSystemE @ 2115 NONAME - _ZN13QFontDatabase23applicationFontFamiliesEi @ 2116 NONAME - _ZN13QFontDatabase26addApplicationFontFromDataERK10QByteArray @ 2117 NONAME - _ZN13QFontDatabase29supportsThreadedFontRenderingEv @ 2118 NONAME - _ZN13QFontDatabase4loadEPK12QFontPrivatei @ 2119 NONAME - _ZN13QFontDatabase8findFontEiPK12QFontPrivateRK8QFontDef @ 2120 NONAME - _ZN13QFontDatabaseC1Ev @ 2121 NONAME - _ZN13QFontDatabaseC2Ev @ 2122 NONAME - _ZN13QFontMetricsFC1ERK12QFontMetrics @ 2123 NONAME - _ZN13QFontMetricsFC1ERK5QFont @ 2124 NONAME - _ZN13QFontMetricsFC1ERK5QFontP12QPaintDevice @ 2125 NONAME - _ZN13QFontMetricsFC1ERKS_ @ 2126 NONAME - _ZN13QFontMetricsFC2ERK12QFontMetrics @ 2127 NONAME - _ZN13QFontMetricsFC2ERK5QFont @ 2128 NONAME - _ZN13QFontMetricsFC2ERK5QFontP12QPaintDevice @ 2129 NONAME - _ZN13QFontMetricsFC2ERKS_ @ 2130 NONAME - _ZN13QFontMetricsFD1Ev @ 2131 NONAME - _ZN13QFontMetricsFD2Ev @ 2132 NONAME - _ZN13QFontMetricsFaSERK12QFontMetrics @ 2133 NONAME - _ZN13QFontMetricsFaSERKS_ @ 2134 NONAME - _ZN13QFontMetricsFeqERKS_ @ 2135 NONAME - _ZN13QFramePrivate16updateFrameWidthEv @ 2136 NONAME ABSENT - _ZN13QFramePrivate23updateStyledFrameWidthsEv @ 2137 NONAME ABSENT - _ZN13QFramePrivateC1Ev @ 2138 NONAME ABSENT - _ZN13QFramePrivateC2Ev @ 2139 NONAME ABSENT - _ZN13QGraphicsItem10addToIndexEv @ 2140 NONAME - _ZN13QGraphicsItem10clearFocusEv @ 2141 NONAME - _ZN13QGraphicsItem10itemChangeENS_18GraphicsItemChangeERK8QVariant @ 2142 NONAME - _ZN13QGraphicsItem10sceneEventEP6QEvent @ 2143 NONAME - _ZN13QGraphicsItem10setEnabledEb @ 2144 NONAME - _ZN13QGraphicsItem10setOpacityEf @ 2145 NONAME - _ZN13QGraphicsItem10setToolTipERK7QString @ 2146 NONAME - _ZN13QGraphicsItem10setVisibleEb @ 2147 NONAME - _ZN13QGraphicsItem10wheelEventEP24QGraphicsSceneWheelEvent @ 2148 NONAME - _ZN13QGraphicsItem11resetMatrixEv @ 2149 NONAME - _ZN13QGraphicsItem11setSelectedEb @ 2150 NONAME - _ZN13QGraphicsItem11ungrabMouseEv @ 2151 NONAME - _ZN13QGraphicsItem12focusInEventEP11QFocusEvent @ 2152 NONAME - _ZN13QGraphicsItem12grabKeyboardEv @ 2153 NONAME - _ZN13QGraphicsItem12setCacheModeENS_9CacheModeERK5QSize @ 2154 NONAME - _ZN13QGraphicsItem12setExtensionENS_9ExtensionERK8QVariant @ 2155 NONAME - _ZN13QGraphicsItem12setTransformERK10QTransformb @ 2156 NONAME - _ZN13QGraphicsItem13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 2157 NONAME - _ZN13QGraphicsItem13ensureVisibleERK6QRectFii @ 2158 NONAME - _ZN13QGraphicsItem13focusOutEventEP11QFocusEvent @ 2159 NONAME - _ZN13QGraphicsItem13keyPressEventEP9QKeyEvent @ 2160 NONAME - _ZN13QGraphicsItem13setParentItemEPS_ @ 2161 NONAME - _ZN13QGraphicsItem14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 2162 NONAME - _ZN13QGraphicsItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 2163 NONAME - _ZN13QGraphicsItem14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 2164 NONAME - _ZN13QGraphicsItem14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 2165 NONAME - _ZN13QGraphicsItem14resetTransformEv @ 2166 NONAME - _ZN13QGraphicsItem14setAcceptDropsEb @ 2167 NONAME - _ZN13QGraphicsItem14ungrabKeyboardEv @ 2168 NONAME - _ZN13QGraphicsItem15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 2169 NONAME - _ZN13QGraphicsItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 2170 NONAME - _ZN13QGraphicsItem15keyReleaseEventEP9QKeyEvent @ 2171 NONAME - _ZN13QGraphicsItem15mousePressEventEP24QGraphicsSceneMouseEvent @ 2172 NONAME - _ZN13QGraphicsItem15removeFromIndexEv @ 2173 NONAME - _ZN13QGraphicsItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 2174 NONAME - _ZN13QGraphicsItem16inputMethodEventEP17QInputMethodEvent @ 2175 NONAME - _ZN13QGraphicsItem16sceneEventFilterEPS_P6QEvent @ 2176 NONAME - _ZN13QGraphicsItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 2177 NONAME - _ZN13QGraphicsItem20setAcceptHoverEventsEb @ 2178 NONAME - _ZN13QGraphicsItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 2179 NONAME - _ZN13QGraphicsItem21prepareGeometryChangeEv @ 2180 NONAME - _ZN13QGraphicsItem21setAcceptsHoverEventsEb @ 2181 NONAME - _ZN13QGraphicsItem21setHandlesChildEventsEb @ 2182 NONAME - _ZN13QGraphicsItem22removeSceneEventFilterEPS_ @ 2183 NONAME - _ZN13QGraphicsItem23installSceneEventFilterEPS_ @ 2184 NONAME - _ZN13QGraphicsItem23setAcceptedMouseButtonsE6QFlagsIN2Qt11MouseButtonEE @ 2185 NONAME - _ZN13QGraphicsItem28setBoundingRegionGranularityEf @ 2186 NONAME - _ZN13QGraphicsItem5scaleEff @ 2187 NONAME - _ZN13QGraphicsItem5shearEff @ 2188 NONAME - _ZN13QGraphicsItem6rotateEf @ 2189 NONAME - _ZN13QGraphicsItem6scrollEffRK6QRectF @ 2190 NONAME - _ZN13QGraphicsItem6setPosERK7QPointF @ 2191 NONAME - _ZN13QGraphicsItem6updateERK6QRectF @ 2192 NONAME - _ZN13QGraphicsItem7advanceEi @ 2193 NONAME - _ZN13QGraphicsItem7setDataEiRK8QVariant @ 2194 NONAME - _ZN13QGraphicsItem7setFlagENS_16GraphicsItemFlagEb @ 2195 NONAME - _ZN13QGraphicsItem8setFlagsE6QFlagsINS_16GraphicsItemFlagEE @ 2196 NONAME - _ZN13QGraphicsItem8setFocusEN2Qt11FocusReasonE @ 2197 NONAME - _ZN13QGraphicsItem8setGroupEP18QGraphicsItemGroup @ 2198 NONAME - _ZN13QGraphicsItem9dropEventEP27QGraphicsSceneDragDropEvent @ 2199 NONAME - _ZN13QGraphicsItem9grabMouseEv @ 2200 NONAME - _ZN13QGraphicsItem9setMatrixERK7QMatrixb @ 2201 NONAME - _ZN13QGraphicsItem9setZValueEf @ 2202 NONAME - _ZN13QGraphicsItem9translateEff @ 2203 NONAME - _ZN13QGraphicsItemC2EPS_P14QGraphicsScene @ 2204 NONAME - _ZN13QGraphicsItemC2ER20QGraphicsItemPrivatePS_P14QGraphicsScene @ 2205 NONAME - _ZN13QGraphicsItemD0Ev @ 2206 NONAME - _ZN13QGraphicsItemD1Ev @ 2207 NONAME - _ZN13QGraphicsItemD2Ev @ 2208 NONAME - _ZN13QGraphicsView10paintEventEP11QPaintEvent @ 2209 NONAME - _ZN13QGraphicsView10wheelEventEP11QWheelEvent @ 2210 NONAME - _ZN13QGraphicsView11qt_metacallEN11QMetaObject4CallEiPPv @ 2211 NONAME - _ZN13QGraphicsView11qt_metacastEPKc @ 2212 NONAME - _ZN13QGraphicsView11resetMatrixEv @ 2213 NONAME - _ZN13QGraphicsView11resizeEventEP12QResizeEvent @ 2214 NONAME - _ZN13QGraphicsView11setDragModeENS_8DragModeE @ 2215 NONAME - _ZN13QGraphicsView11updateSceneERK5QListI6QRectFE @ 2216 NONAME - _ZN13QGraphicsView12focusInEventEP11QFocusEvent @ 2217 NONAME - _ZN13QGraphicsView12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 2218 NONAME - _ZN13QGraphicsView12setCacheModeE6QFlagsINS_13CacheModeFlagEE @ 2219 NONAME - _ZN13QGraphicsView12setSceneRectERK6QRectF @ 2220 NONAME - _ZN13QGraphicsView12setTransformERK10QTransformb @ 2221 NONAME - _ZN13QGraphicsView13dragMoveEventEP14QDragMoveEvent @ 2222 NONAME - _ZN13QGraphicsView13ensureVisibleEPK13QGraphicsItemii @ 2223 NONAME - _ZN13QGraphicsView13ensureVisibleERK6QRectFii @ 2224 NONAME - _ZN13QGraphicsView13focusOutEventEP11QFocusEvent @ 2225 NONAME - _ZN13QGraphicsView13keyPressEventEP9QKeyEvent @ 2226 NONAME - _ZN13QGraphicsView13setRenderHintEN8QPainter10RenderHintEb @ 2227 NONAME - _ZN13QGraphicsView13setupViewportEP7QWidget @ 2228 NONAME - _ZN13QGraphicsView13viewportEventEP6QEvent @ 2229 NONAME - _ZN13QGraphicsView14dragEnterEventEP15QDragEnterEvent @ 2230 NONAME - _ZN13QGraphicsView14dragLeaveEventEP15QDragLeaveEvent @ 2231 NONAME - _ZN13QGraphicsView14drawBackgroundEP8QPainterRK6QRectF @ 2232 NONAME - _ZN13QGraphicsView14drawForegroundEP8QPainterRK6QRectF @ 2233 NONAME - _ZN13QGraphicsView14mouseMoveEventEP11QMouseEvent @ 2234 NONAME - _ZN13QGraphicsView14resetTransformEv @ 2235 NONAME - _ZN13QGraphicsView14setInteractiveEb @ 2236 NONAME - _ZN13QGraphicsView14setRenderHintsE6QFlagsIN8QPainter10RenderHintEE @ 2237 NONAME - _ZN13QGraphicsView15invalidateSceneERK6QRectF6QFlagsIN14QGraphicsScene10SceneLayerEE @ 2238 NONAME - _ZN13QGraphicsView15keyReleaseEventEP9QKeyEvent @ 2239 NONAME - _ZN13QGraphicsView15mousePressEventEP11QMouseEvent @ 2240 NONAME - _ZN13QGraphicsView15setResizeAnchorENS_14ViewportAnchorE @ 2241 NONAME - _ZN13QGraphicsView15updateSceneRectERK6QRectF @ 2242 NONAME - _ZN13QGraphicsView16contextMenuEventEP17QContextMenuEvent @ 2243 NONAME - _ZN13QGraphicsView16inputMethodEventEP17QInputMethodEvent @ 2244 NONAME - _ZN13QGraphicsView16scrollContentsByEii @ 2245 NONAME - _ZN13QGraphicsView16staticMetaObjectE @ 2246 NONAME DATA 16 - _ZN13QGraphicsView17mouseReleaseEventEP11QMouseEvent @ 2247 NONAME - _ZN13QGraphicsView18focusNextPrevChildEb @ 2248 NONAME - _ZN13QGraphicsView18resetCachedContentEv @ 2249 NONAME - _ZN13QGraphicsView18setBackgroundBrushERK6QBrush @ 2250 NONAME - _ZN13QGraphicsView18setForegroundBrushERK6QBrush @ 2251 NONAME - _ZN13QGraphicsView19setOptimizationFlagENS_16OptimizationFlagEb @ 2252 NONAME - _ZN13QGraphicsView20setOptimizationFlagsE6QFlagsINS_16OptimizationFlagEE @ 2253 NONAME - _ZN13QGraphicsView21mouseDoubleClickEventEP11QMouseEvent @ 2254 NONAME - _ZN13QGraphicsView21setViewportUpdateModeENS_18ViewportUpdateModeE @ 2255 NONAME - _ZN13QGraphicsView23setTransformationAnchorENS_14ViewportAnchorE @ 2256 NONAME - _ZN13QGraphicsView26setRubberBandSelectionModeEN2Qt17ItemSelectionModeE @ 2257 NONAME - _ZN13QGraphicsView5eventEP6QEvent @ 2258 NONAME - _ZN13QGraphicsView5scaleEff @ 2259 NONAME - _ZN13QGraphicsView5shearEff @ 2260 NONAME - _ZN13QGraphicsView6renderEP8QPainterRK6QRectFRK5QRectN2Qt15AspectRatioModeE @ 2261 NONAME - _ZN13QGraphicsView6rotateEf @ 2262 NONAME - _ZN13QGraphicsView8centerOnEPK13QGraphicsItem @ 2263 NONAME - _ZN13QGraphicsView8centerOnERK7QPointF @ 2264 NONAME - _ZN13QGraphicsView8setSceneEP14QGraphicsScene @ 2265 NONAME - _ZN13QGraphicsView9drawItemsEP8QPainteriPP13QGraphicsItemPK24QStyleOptionGraphicsItem @ 2266 NONAME - _ZN13QGraphicsView9dropEventEP10QDropEvent @ 2267 NONAME - _ZN13QGraphicsView9fitInViewEPK13QGraphicsItemN2Qt15AspectRatioModeE @ 2268 NONAME - _ZN13QGraphicsView9fitInViewERK6QRectFN2Qt15AspectRatioModeE @ 2269 NONAME - _ZN13QGraphicsView9setMatrixERK7QMatrixb @ 2270 NONAME - _ZN13QGraphicsView9showEventEP10QShowEvent @ 2271 NONAME - _ZN13QGraphicsView9translateEff @ 2272 NONAME - _ZN13QGraphicsViewC1EP14QGraphicsSceneP7QWidget @ 2273 NONAME - _ZN13QGraphicsViewC1EP7QWidget @ 2274 NONAME - _ZN13QGraphicsViewC1ER20QGraphicsViewPrivateP7QWidget @ 2275 NONAME - _ZN13QGraphicsViewC2EP14QGraphicsSceneP7QWidget @ 2276 NONAME - _ZN13QGraphicsViewC2EP7QWidget @ 2277 NONAME - _ZN13QGraphicsViewC2ER20QGraphicsViewPrivateP7QWidget @ 2278 NONAME - _ZN13QGraphicsViewD0Ev @ 2279 NONAME - _ZN13QGraphicsViewD1Ev @ 2280 NONAME - _ZN13QGraphicsViewD2Ev @ 2281 NONAME - _ZN13QIconEngineV212virtual_hookEiPv @ 2282 NONAME - _ZN13QIconEngineV214availableSizesEN5QIcon4ModeENS0_5StateE @ 2283 NONAME - _ZN13QIconEngineV24readER11QDataStream @ 2284 NONAME - _ZN13QInputContext11filterEventEPK6QEvent @ 2285 NONAME - _ZN13QInputContext11qt_metacallEN11QMetaObject4CallEiPPv @ 2286 NONAME - _ZN13QInputContext11qt_metacastEPKc @ 2287 NONAME - _ZN13QInputContext12mouseHandlerEiP11QMouseEvent @ 2288 NONAME - _ZN13QInputContext14s60FilterEventEP7QWidgetP8TWsEvent @ 2289 NONAME - _ZN13QInputContext14setFocusWidgetEP7QWidget @ 2290 NONAME - _ZN13QInputContext15widgetDestroyedEP7QWidget @ 2291 NONAME - _ZN13QInputContext16staticMetaObjectE @ 2292 NONAME DATA 16 - _ZN13QInputContext6updateEv @ 2293 NONAME - _ZN13QInputContext7actionsEv @ 2294 NONAME - _ZN13QInputContext9sendEventERK17QInputMethodEvent @ 2295 NONAME - _ZN13QInputContextC2EP7QObject @ 2296 NONAME - _ZN13QInputContextD0Ev @ 2297 NONAME - _ZN13QInputContextD1Ev @ 2298 NONAME - _ZN13QInputContextD2Ev @ 2299 NONAME - _ZN13QIntValidator11qt_metacallEN11QMetaObject4CallEiPPv @ 2300 NONAME - _ZN13QIntValidator11qt_metacastEPKc @ 2301 NONAME - _ZN13QIntValidator16staticMetaObjectE @ 2302 NONAME DATA 16 - _ZN13QIntValidator6setTopEi @ 2303 NONAME - _ZN13QIntValidator8setRangeEii @ 2304 NONAME - _ZN13QIntValidator9setBottomEi @ 2305 NONAME - _ZN13QIntValidatorC1EP7QObject @ 2306 NONAME - _ZN13QIntValidatorC1EiiP7QObject @ 2307 NONAME - _ZN13QIntValidatorC2EP7QObject @ 2308 NONAME - _ZN13QIntValidatorC2EiiP7QObject @ 2309 NONAME - _ZN13QIntValidatorD0Ev @ 2310 NONAME - _ZN13QIntValidatorD1Ev @ 2311 NONAME - _ZN13QIntValidatorD2Ev @ 2312 NONAME - _ZN13QItemDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex @ 2313 NONAME - _ZN13QItemDelegate11eventFilterEP7QObjectP6QEvent @ 2314 NONAME - _ZN13QItemDelegate11qt_metacallEN11QMetaObject4CallEiPPv @ 2315 NONAME - _ZN13QItemDelegate11qt_metacastEPKc @ 2316 NONAME - _ZN13QItemDelegate11setClippingEb @ 2317 NONAME - _ZN13QItemDelegate16staticMetaObjectE @ 2318 NONAME DATA 16 - _ZN13QItemDelegate20setItemEditorFactoryEP18QItemEditorFactory @ 2319 NONAME - _ZN13QItemDelegateC1EP7QObject @ 2320 NONAME - _ZN13QItemDelegateC2EP7QObject @ 2321 NONAME - _ZN13QItemDelegateD0Ev @ 2322 NONAME - _ZN13QItemDelegateD1Ev @ 2323 NONAME - _ZN13QItemDelegateD2Ev @ 2324 NONAME - _ZN13QMdiSubWindow10childEventEP11QChildEvent @ 2325 NONAME - _ZN13QMdiSubWindow10closeEventEP11QCloseEvent @ 2326 NONAME - _ZN13QMdiSubWindow10leaveEventEP6QEvent @ 2327 NONAME - _ZN13QMdiSubWindow10paintEventEP11QPaintEvent @ 2328 NONAME - _ZN13QMdiSubWindow10showShadedEv @ 2329 NONAME - _ZN13QMdiSubWindow10timerEventEP11QTimerEvent @ 2330 NONAME - _ZN13QMdiSubWindow11changeEventEP6QEvent @ 2331 NONAME - _ZN13QMdiSubWindow11eventFilterEP7QObjectP6QEvent @ 2332 NONAME - _ZN13QMdiSubWindow11qt_metacallEN11QMetaObject4CallEiPPv @ 2333 NONAME - _ZN13QMdiSubWindow11qt_metacastEPKc @ 2334 NONAME - _ZN13QMdiSubWindow11resizeEventEP12QResizeEvent @ 2335 NONAME - _ZN13QMdiSubWindow12focusInEventEP11QFocusEvent @ 2336 NONAME - _ZN13QMdiSubWindow13focusOutEventEP11QFocusEvent @ 2337 NONAME - _ZN13QMdiSubWindow13keyPressEventEP9QKeyEvent @ 2338 NONAME - _ZN13QMdiSubWindow13setSystemMenuEP5QMenu @ 2339 NONAME - _ZN13QMdiSubWindow14mouseMoveEventEP11QMouseEvent @ 2340 NONAME - _ZN13QMdiSubWindow14showSystemMenuEv @ 2341 NONAME - _ZN13QMdiSubWindow15aboutToActivateEv @ 2342 NONAME - _ZN13QMdiSubWindow15mousePressEventEP11QMouseEvent @ 2343 NONAME - _ZN13QMdiSubWindow16contextMenuEventEP17QContextMenuEvent @ 2344 NONAME - _ZN13QMdiSubWindow16staticMetaObjectE @ 2345 NONAME DATA 16 - _ZN13QMdiSubWindow17mouseReleaseEventEP11QMouseEvent @ 2346 NONAME - _ZN13QMdiSubWindow18windowStateChangedE6QFlagsIN2Qt11WindowStateEES3_ @ 2347 NONAME - _ZN13QMdiSubWindow19setKeyboardPageStepEi @ 2348 NONAME - _ZN13QMdiSubWindow21mouseDoubleClickEventEP11QMouseEvent @ 2349 NONAME - _ZN13QMdiSubWindow21setKeyboardSingleStepEi @ 2350 NONAME - _ZN13QMdiSubWindow5eventEP6QEvent @ 2351 NONAME - _ZN13QMdiSubWindow9hideEventEP10QHideEvent @ 2352 NONAME - _ZN13QMdiSubWindow9moveEventEP10QMoveEvent @ 2353 NONAME - _ZN13QMdiSubWindow9setOptionENS_15SubWindowOptionEb @ 2354 NONAME - _ZN13QMdiSubWindow9setWidgetEP7QWidget @ 2355 NONAME - _ZN13QMdiSubWindow9showEventEP10QShowEvent @ 2356 NONAME - _ZN13QMdiSubWindowC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 2357 NONAME - _ZN13QMdiSubWindowC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 2358 NONAME - _ZN13QMdiSubWindowD0Ev @ 2359 NONAME - _ZN13QMdiSubWindowD1Ev @ 2360 NONAME - _ZN13QMdiSubWindowD2Ev @ 2361 NONAME - _ZN13QMouseEventExC1EN6QEvent4TypeERK7QPointFRK6QPointN2Qt11MouseButtonE6QFlagsIS9_ESA_INS8_16KeyboardModifierEE @ 2362 NONAME ABSENT - _ZN13QMouseEventExC2EN6QEvent4TypeERK7QPointFRK6QPointN2Qt11MouseButtonE6QFlagsIS9_ESA_INS8_16KeyboardModifierEE @ 2363 NONAME ABSENT - _ZN13QMouseEventExD0Ev @ 2364 NONAME ABSENT - _ZN13QMouseEventExD1Ev @ 2365 NONAME ABSENT - _ZN13QMouseEventExD2Ev @ 2366 NONAME ABSENT - _ZN13QPainterState4initEP8QPainter @ 2367 NONAME - _ZN13QPainterStateC1EPKS_ @ 2368 NONAME - _ZN13QPainterStateC1Ev @ 2369 NONAME - _ZN13QPainterStateC2EPKS_ @ 2370 NONAME - _ZN13QPainterStateC2Ev @ 2371 NONAME - _ZN13QPainterStateD0Ev @ 2372 NONAME - _ZN13QPainterStateD1Ev @ 2373 NONAME - _ZN13QPainterStateD2Ev @ 2374 NONAME - _ZN13QPixmapFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 2375 NONAME - _ZN13QPixmapFilter11qt_metacastEPKc @ 2376 NONAME - _ZN13QPixmapFilter16staticMetaObjectE @ 2377 NONAME DATA 16 - _ZN13QPixmapFilterC2ENS_10FilterTypeEP7QObject @ 2378 NONAME - _ZN13QPixmapFilterC2ER20QPixmapFilterPrivateNS_10FilterTypeEP7QObject @ 2379 NONAME - _ZN13QPixmapFilterD0Ev @ 2380 NONAME - _ZN13QPixmapFilterD1Ev @ 2381 NONAME - _ZN13QPixmapFilterD2Ev @ 2382 NONAME - _ZN13QSplashScreen11qt_metacallEN11QMetaObject4CallEiPPv @ 2383 NONAME - _ZN13QSplashScreen11qt_metacastEPKc @ 2384 NONAME - _ZN13QSplashScreen11showMessageERK7QStringiRK6QColor @ 2385 NONAME - _ZN13QSplashScreen12clearMessageEv @ 2386 NONAME - _ZN13QSplashScreen12drawContentsEP8QPainter @ 2387 NONAME - _ZN13QSplashScreen14messageChangedERK7QString @ 2388 NONAME - _ZN13QSplashScreen15mousePressEventEP11QMouseEvent @ 2389 NONAME - _ZN13QSplashScreen16staticMetaObjectE @ 2390 NONAME DATA 16 - _ZN13QSplashScreen5eventEP6QEvent @ 2391 NONAME - _ZN13QSplashScreen6finishEP7QWidget @ 2392 NONAME - _ZN13QSplashScreen7repaintEv @ 2393 NONAME - _ZN13QSplashScreen9setPixmapERK7QPixmap @ 2394 NONAME - _ZN13QSplashScreenC1EP7QWidgetRK7QPixmap6QFlagsIN2Qt10WindowTypeEE @ 2395 NONAME - _ZN13QSplashScreenC1ERK7QPixmap6QFlagsIN2Qt10WindowTypeEE @ 2396 NONAME - _ZN13QSplashScreenC2EP7QWidgetRK7QPixmap6QFlagsIN2Qt10WindowTypeEE @ 2397 NONAME - _ZN13QSplashScreenC2ERK7QPixmap6QFlagsIN2Qt10WindowTypeEE @ 2398 NONAME - _ZN13QSplashScreenD0Ev @ 2399 NONAME - _ZN13QSplashScreenD1Ev @ 2400 NONAME - _ZN13QSplashScreenD2Ev @ 2401 NONAME - _ZN13QStandardItem10insertRowsEiRK5QListIPS_E @ 2402 NONAME - _ZN13QStandardItem10insertRowsEii @ 2403 NONAME - _ZN13QStandardItem10removeRowsEii @ 2404 NONAME - _ZN13QStandardItem10setEnabledEb @ 2405 NONAME - _ZN13QStandardItem10takeColumnEi @ 2406 NONAME - _ZN13QStandardItem11setEditableEb @ 2407 NONAME - _ZN13QStandardItem11setRowCountEi @ 2408 NONAME - _ZN13QStandardItem11setTristateEb @ 2409 NONAME - _ZN13QStandardItem12insertColumnEiRK5QListIPS_E @ 2410 NONAME - _ZN13QStandardItem12removeColumnEi @ 2411 NONAME - _ZN13QStandardItem12setCheckableEb @ 2412 NONAME - _ZN13QStandardItem12sortChildrenEiN2Qt9SortOrderE @ 2413 NONAME - _ZN13QStandardItem13insertColumnsEii @ 2414 NONAME - _ZN13QStandardItem13removeColumnsEii @ 2415 NONAME - _ZN13QStandardItem13setSelectableEb @ 2416 NONAME - _ZN13QStandardItem14setColumnCountEi @ 2417 NONAME - _ZN13QStandardItem14setDragEnabledEb @ 2418 NONAME - _ZN13QStandardItem14setDropEnabledEb @ 2419 NONAME - _ZN13QStandardItem15emitDataChangedEv @ 2420 NONAME - _ZN13QStandardItem4readER11QDataStream @ 2421 NONAME - _ZN13QStandardItem7setDataERK8QVarianti @ 2422 NONAME - _ZN13QStandardItem7takeRowEi @ 2423 NONAME - _ZN13QStandardItem8setChildEiiPS_ @ 2424 NONAME - _ZN13QStandardItem8setFlagsE6QFlagsIN2Qt8ItemFlagEE @ 2425 NONAME - _ZN13QStandardItem9insertRowEiRK5QListIPS_E @ 2426 NONAME - _ZN13QStandardItem9removeRowEi @ 2427 NONAME - _ZN13QStandardItem9takeChildEii @ 2428 NONAME - _ZN13QStandardItemC1ER20QStandardItemPrivate @ 2429 NONAME - _ZN13QStandardItemC1ERK5QIconRK7QString @ 2430 NONAME - _ZN13QStandardItemC1ERK7QString @ 2431 NONAME - _ZN13QStandardItemC1ERKS_ @ 2432 NONAME - _ZN13QStandardItemC1Eii @ 2433 NONAME - _ZN13QStandardItemC1Ev @ 2434 NONAME - _ZN13QStandardItemC2ER20QStandardItemPrivate @ 2435 NONAME - _ZN13QStandardItemC2ERK5QIconRK7QString @ 2436 NONAME - _ZN13QStandardItemC2ERK7QString @ 2437 NONAME - _ZN13QStandardItemC2ERKS_ @ 2438 NONAME - _ZN13QStandardItemC2Eii @ 2439 NONAME - _ZN13QStandardItemC2Ev @ 2440 NONAME - _ZN13QStandardItemD0Ev @ 2441 NONAME - _ZN13QStandardItemD1Ev @ 2442 NONAME - _ZN13QStandardItemD2Ev @ 2443 NONAME - _ZN13QStandardItemaSERKS_ @ 2444 NONAME - _ZN13QStyleFactory4keysEv @ 2445 NONAME - _ZN13QStyleFactory6createERK7QString @ 2446 NONAME - _ZN13QTextDocument10adjustSizeEv @ 2447 NONAME - _ZN13QTextDocument11addResourceEiRK4QUrlRK8QVariant @ 2448 NONAME - _ZN13QTextDocument11qt_metacallEN11QMetaObject4CallEiPPv @ 2449 NONAME - _ZN13QTextDocument11qt_metacastEPKc @ 2450 NONAME - _ZN13QTextDocument11setModifiedEb @ 2451 NONAME - _ZN13QTextDocument11setPageSizeERK6QSizeF @ 2452 NONAME - _ZN13QTextDocument12createObjectERK11QTextFormat @ 2453 NONAME - _ZN13QTextDocument12drawContentsEP8QPainterRK6QRectF @ 2454 NONAME - _ZN13QTextDocument12loadResourceEiRK4QUrl @ 2455 NONAME - _ZN13QTextDocument12setPlainTextERK7QString @ 2456 NONAME - _ZN13QTextDocument12setTextWidthEf @ 2457 NONAME - _ZN13QTextDocument13redoAvailableEb @ 2458 NONAME - _ZN13QTextDocument13undoAvailableEb @ 2459 NONAME - _ZN13QTextDocument14appendUndoItemEP17QAbstractUndoItem @ 2460 NONAME - _ZN13QTextDocument14contentsChangeEiii @ 2461 NONAME - _ZN13QTextDocument14setDefaultFontERK5QFont @ 2462 NONAME - _ZN13QTextDocument14setIndentWidthEf @ 2463 NONAME - _ZN13QTextDocument15contentsChangedEv @ 2464 NONAME - _ZN13QTextDocument16staticMetaObjectE @ 2465 NONAME DATA 16 - _ZN13QTextDocument16undoCommandAddedEv @ 2466 NONAME - _ZN13QTextDocument17blockCountChangedEi @ 2467 NONAME - _ZN13QTextDocument17markContentsDirtyEii @ 2468 NONAME - _ZN13QTextDocument17setDocumentLayoutEP27QAbstractTextDocumentLayout @ 2469 NONAME - _ZN13QTextDocument17setDocumentMarginEf @ 2470 NONAME - _ZN13QTextDocument18setMetaInformationENS_15MetaInformationERK7QString @ 2471 NONAME - _ZN13QTextDocument18setUndoRedoEnabledEb @ 2472 NONAME - _ZN13QTextDocument19modificationChangedEb @ 2473 NONAME - _ZN13QTextDocument19setUseDesignMetricsEb @ 2474 NONAME - _ZN13QTextDocument20setDefaultStyleSheetERK7QString @ 2475 NONAME - _ZN13QTextDocument20setDefaultTextOptionERK11QTextOption @ 2476 NONAME - _ZN13QTextDocument20setMaximumBlockCountEi @ 2477 NONAME - _ZN13QTextDocument21cursorPositionChangedERK11QTextCursor @ 2478 NONAME - _ZN13QTextDocument21documentLayoutChangedEv @ 2479 NONAME - _ZN13QTextDocument4redoEP11QTextCursor @ 2480 NONAME - _ZN13QTextDocument4redoEv @ 2481 NONAME - _ZN13QTextDocument4undoEP11QTextCursor @ 2482 NONAME - _ZN13QTextDocument4undoEv @ 2483 NONAME - _ZN13QTextDocument5clearEv @ 2484 NONAME - _ZN13QTextDocument7setHtmlERK7QString @ 2485 NONAME - _ZN13QTextDocumentC1EP7QObject @ 2486 NONAME - _ZN13QTextDocumentC1ER20QTextDocumentPrivateP7QObject @ 2487 NONAME - _ZN13QTextDocumentC1ERK7QStringP7QObject @ 2488 NONAME - _ZN13QTextDocumentC2EP7QObject @ 2489 NONAME - _ZN13QTextDocumentC2ER20QTextDocumentPrivateP7QObject @ 2490 NONAME - _ZN13QTextDocumentC2ERK7QStringP7QObject @ 2491 NONAME - _ZN13QTextDocumentD0Ev @ 2492 NONAME - _ZN13QTextDocumentD1Ev @ 2493 NONAME - _ZN13QTextDocumentD2Ev @ 2494 NONAME - _ZN13QWidgetAction11eventFilterEP7QObjectP6QEvent @ 2495 NONAME - _ZN13QWidgetAction11qt_metacallEN11QMetaObject4CallEiPPv @ 2496 NONAME - _ZN13QWidgetAction11qt_metacastEPKc @ 2497 NONAME - _ZN13QWidgetAction12createWidgetEP7QWidget @ 2498 NONAME - _ZN13QWidgetAction12deleteWidgetEP7QWidget @ 2499 NONAME - _ZN13QWidgetAction13releaseWidgetEP7QWidget @ 2500 NONAME - _ZN13QWidgetAction13requestWidgetEP7QWidget @ 2501 NONAME - _ZN13QWidgetAction16setDefaultWidgetEP7QWidget @ 2502 NONAME - _ZN13QWidgetAction16staticMetaObjectE @ 2503 NONAME DATA 16 - _ZN13QWidgetAction5eventEP6QEvent @ 2504 NONAME - _ZN13QWidgetActionC1EP7QObject @ 2505 NONAME - _ZN13QWidgetActionC2EP7QObject @ 2506 NONAME - _ZN13QWidgetActionD0Ev @ 2507 NONAME - _ZN13QWidgetActionD1Ev @ 2508 NONAME - _ZN13QWidgetActionD2Ev @ 2509 NONAME - _ZN13QWidgetItemV2C1EP7QWidget @ 2510 NONAME - _ZN13QWidgetItemV2C2EP7QWidget @ 2511 NONAME - _ZN13QWidgetItemV2D0Ev @ 2512 NONAME - _ZN13QWidgetItemV2D1Ev @ 2513 NONAME - _ZN13QWidgetItemV2D2Ev @ 2514 NONAME - _ZN13QWindowsStyle10timerEventEP11QTimerEvent @ 2515 NONAME - _ZN13QWindowsStyle11eventFilterEP7QObjectP6QEvent @ 2516 NONAME - _ZN13QWindowsStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 2517 NONAME - _ZN13QWindowsStyle11qt_metacastEPKc @ 2518 NONAME - _ZN13QWindowsStyle16staticMetaObjectE @ 2519 NONAME DATA 16 - _ZN13QWindowsStyle6polishEP12QApplication @ 2520 NONAME - _ZN13QWindowsStyle6polishEP7QWidget @ 2521 NONAME - _ZN13QWindowsStyle6polishER8QPalette @ 2522 NONAME - _ZN13QWindowsStyle8unpolishEP12QApplication @ 2523 NONAME - _ZN13QWindowsStyle8unpolishEP7QWidget @ 2524 NONAME - _ZN13QWindowsStyleC1ER20QWindowsStylePrivate @ 2525 NONAME - _ZN13QWindowsStyleC1Ev @ 2526 NONAME - _ZN13QWindowsStyleC2ER20QWindowsStylePrivate @ 2527 NONAME - _ZN13QWindowsStyleC2Ev @ 2528 NONAME - _ZN13QWindowsStyleD0Ev @ 2529 NONAME - _ZN13QWindowsStyleD1Ev @ 2530 NONAME - _ZN13QWindowsStyleD2Ev @ 2531 NONAME - _ZN14QActionPrivate15sendDataChangedEv @ 2532 NONAME - _ZN14QActionPrivate17redoGrabAlternateER12QShortcutMap @ 2533 NONAME - _ZN14QActionPrivate18setShortcutEnabledEbR12QShortcutMap @ 2534 NONAME - _ZN14QActionPrivate8redoGrabER12QShortcutMap @ 2535 NONAME - _ZN14QActionPrivateC1Ev @ 2536 NONAME - _ZN14QActionPrivateC2Ev @ 2537 NONAME - _ZN14QActionPrivateD0Ev @ 2538 NONAME - _ZN14QActionPrivateD1Ev @ 2539 NONAME - _ZN14QActionPrivateD2Ev @ 2540 NONAME - _ZN14QDesktopWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 2541 NONAME - _ZN14QDesktopWidget11qt_metacastEPKc @ 2542 NONAME - _ZN14QDesktopWidget11resizeEventEP12QResizeEvent @ 2543 NONAME - _ZN14QDesktopWidget15workAreaResizedEi @ 2544 NONAME - _ZN14QDesktopWidget16staticMetaObjectE @ 2545 NONAME DATA 16 - _ZN14QDesktopWidget6screenEi @ 2546 NONAME - _ZN14QDesktopWidget7resizedEi @ 2547 NONAME - _ZN14QDesktopWidgetC1Ev @ 2548 NONAME - _ZN14QDesktopWidgetC2Ev @ 2549 NONAME - _ZN14QDesktopWidgetD0Ev @ 2550 NONAME - _ZN14QDesktopWidgetD1Ev @ 2551 NONAME - _ZN14QDesktopWidgetD2Ev @ 2552 NONAME - _ZN14QDoubleSpinBox10setMaximumEd @ 2553 NONAME - _ZN14QDoubleSpinBox10setMinimumEd @ 2554 NONAME - _ZN14QDoubleSpinBox11qt_metacallEN11QMetaObject4CallEiPPv @ 2555 NONAME - _ZN14QDoubleSpinBox11qt_metacastEPKc @ 2556 NONAME - _ZN14QDoubleSpinBox11setDecimalsEi @ 2557 NONAME - _ZN14QDoubleSpinBox12valueChangedERK7QString @ 2558 NONAME - _ZN14QDoubleSpinBox12valueChangedEd @ 2559 NONAME - _ZN14QDoubleSpinBox13setSingleStepEd @ 2560 NONAME - _ZN14QDoubleSpinBox16staticMetaObjectE @ 2561 NONAME DATA 16 - _ZN14QDoubleSpinBox8setRangeEdd @ 2562 NONAME - _ZN14QDoubleSpinBox8setValueEd @ 2563 NONAME - _ZN14QDoubleSpinBox9setPrefixERK7QString @ 2564 NONAME - _ZN14QDoubleSpinBox9setSuffixERK7QString @ 2565 NONAME - _ZN14QDoubleSpinBoxC1EP7QWidget @ 2566 NONAME - _ZN14QDoubleSpinBoxC2EP7QWidget @ 2567 NONAME - _ZN14QDragMoveEventC1ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEEN6QEvent4TypeE @ 2568 NONAME - _ZN14QDragMoveEventC2ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEEN6QEvent4TypeE @ 2569 NONAME - _ZN14QDragMoveEventD0Ev @ 2570 NONAME - _ZN14QDragMoveEventD1Ev @ 2571 NONAME - _ZN14QDragMoveEventD2Ev @ 2572 NONAME - _ZN14QFileOpenEventC1ERK7QString @ 2573 NONAME - _ZN14QFileOpenEventC2ERK7QString @ 2574 NONAME - _ZN14QFileOpenEventD0Ev @ 2575 NONAME - _ZN14QFileOpenEventD1Ev @ 2576 NONAME - _ZN14QFileOpenEventD2Ev @ 2577 NONAME - _ZN14QGraphicsScene10addEllipseERK6QRectFRK4QPenRK6QBrush @ 2578 NONAME - _ZN14QGraphicsScene10addPolygonERK9QPolygonFRK4QPenRK6QBrush @ 2579 NONAME - _ZN14QGraphicsScene10clearFocusEv @ 2580 NONAME - _ZN14QGraphicsScene10invalidateERK6QRectF6QFlagsINS_10SceneLayerEE @ 2581 NONAME - _ZN14QGraphicsScene10removeItemEP13QGraphicsItem @ 2582 NONAME - _ZN14QGraphicsScene10setPaletteERK8QPalette @ 2583 NONAME - _ZN14QGraphicsScene10wheelEventEP24QGraphicsSceneWheelEvent @ 2584 NONAME - _ZN14QGraphicsScene11eventFilterEP7QObjectP6QEvent @ 2585 NONAME - _ZN14QGraphicsScene11itemUpdatedEP13QGraphicsItemRK6QRectF @ 2586 NONAME ABSENT - _ZN14QGraphicsScene11qt_metacallEN11QMetaObject4CallEiPPv @ 2587 NONAME - _ZN14QGraphicsScene11qt_metacastEPKc @ 2588 NONAME - _ZN14QGraphicsScene12focusInEventEP11QFocusEvent @ 2589 NONAME - _ZN14QGraphicsScene12setFocusItemEP13QGraphicsItemN2Qt11FocusReasonE @ 2590 NONAME - _ZN14QGraphicsScene12setSceneRectERK6QRectF @ 2591 NONAME - _ZN14QGraphicsScene13addSimpleTextERK7QStringRK5QFont @ 2592 NONAME - _ZN14QGraphicsScene13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 2593 NONAME - _ZN14QGraphicsScene13focusOutEventEP11QFocusEvent @ 2594 NONAME - _ZN14QGraphicsScene13keyPressEventEP9QKeyEvent @ 2595 NONAME - _ZN14QGraphicsScene14clearSelectionEv @ 2596 NONAME - _ZN14QGraphicsScene14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 2597 NONAME - _ZN14QGraphicsScene14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 2598 NONAME - _ZN14QGraphicsScene14drawBackgroundEP8QPainterRK6QRectF @ 2599 NONAME - _ZN14QGraphicsScene14drawForegroundEP8QPainterRK6QRectF @ 2600 NONAME - _ZN14QGraphicsScene14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 2601 NONAME - _ZN14QGraphicsScene14setStickyFocusEb @ 2602 NONAME - _ZN14QGraphicsScene15createItemGroupERK5QListIP13QGraphicsItemE @ 2603 NONAME - _ZN14QGraphicsScene15keyReleaseEventEP9QKeyEvent @ 2604 NONAME - _ZN14QGraphicsScene15mousePressEventEP24QGraphicsSceneMouseEvent @ 2605 NONAME - _ZN14QGraphicsScene15setActiveWindowEP15QGraphicsWidget @ 2606 NONAME - _ZN14QGraphicsScene15setBspTreeDepthEi @ 2607 NONAME - _ZN14QGraphicsScene16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 2608 NONAME - _ZN14QGraphicsScene16destroyItemGroupEP18QGraphicsItemGroup @ 2609 NONAME - _ZN14QGraphicsScene16inputMethodEventEP17QInputMethodEvent @ 2610 NONAME - _ZN14QGraphicsScene16sceneRectChangedERK6QRectF @ 2611 NONAME - _ZN14QGraphicsScene16selectionChangedEv @ 2612 NONAME - _ZN14QGraphicsScene16setSelectionAreaERK12QPainterPath @ 2613 NONAME - _ZN14QGraphicsScene16setSelectionAreaERK12QPainterPathN2Qt17ItemSelectionModeE @ 2614 NONAME - _ZN14QGraphicsScene16staticMetaObjectE @ 2615 NONAME DATA 16 - _ZN14QGraphicsScene17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 2616 NONAME - _ZN14QGraphicsScene18focusNextPrevChildEb @ 2617 NONAME - _ZN14QGraphicsScene18setBackgroundBrushERK6QBrush @ 2618 NONAME - _ZN14QGraphicsScene18setForegroundBrushERK6QBrush @ 2619 NONAME - _ZN14QGraphicsScene18setItemIndexMethodENS_15ItemIndexMethodE @ 2620 NONAME - _ZN14QGraphicsScene19setSortCacheEnabledEb @ 2621 NONAME - _ZN14QGraphicsScene21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 2622 NONAME - _ZN14QGraphicsScene5clearEv @ 2623 NONAME - _ZN14QGraphicsScene5eventEP6QEvent @ 2624 NONAME - _ZN14QGraphicsScene6renderEP8QPainterRK6QRectFS4_N2Qt15AspectRatioModeE @ 2625 NONAME - _ZN14QGraphicsScene6updateERK6QRectF @ 2626 NONAME - _ZN14QGraphicsScene7addItemEP13QGraphicsItem @ 2627 NONAME - _ZN14QGraphicsScene7addLineERK6QLineFRK4QPen @ 2628 NONAME - _ZN14QGraphicsScene7addPathERK12QPainterPathRK4QPenRK6QBrush @ 2629 NONAME - _ZN14QGraphicsScene7addRectERK6QRectFRK4QPenRK6QBrush @ 2630 NONAME - _ZN14QGraphicsScene7addTextERK7QStringRK5QFont @ 2631 NONAME - _ZN14QGraphicsScene7advanceEv @ 2632 NONAME - _ZN14QGraphicsScene7changedERK5QListI6QRectFE @ 2633 NONAME - _ZN14QGraphicsScene7setFontERK5QFont @ 2634 NONAME - _ZN14QGraphicsScene8setFocusEN2Qt11FocusReasonE @ 2635 NONAME - _ZN14QGraphicsScene8setStyleEP6QStyle @ 2636 NONAME - _ZN14QGraphicsScene9addPixmapERK7QPixmap @ 2637 NONAME - _ZN14QGraphicsScene9addWidgetEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 2638 NONAME - _ZN14QGraphicsScene9drawItemsEP8QPainteriPP13QGraphicsItemPK24QStyleOptionGraphicsItemP7QWidget @ 2639 NONAME - _ZN14QGraphicsScene9dropEventEP27QGraphicsSceneDragDropEvent @ 2640 NONAME - _ZN14QGraphicsScene9helpEventEP23QGraphicsSceneHelpEvent @ 2641 NONAME - _ZN14QGraphicsSceneC1EP7QObject @ 2642 NONAME - _ZN14QGraphicsSceneC1ERK6QRectFP7QObject @ 2643 NONAME - _ZN14QGraphicsSceneC1EffffP7QObject @ 2644 NONAME - _ZN14QGraphicsSceneC2EP7QObject @ 2645 NONAME - _ZN14QGraphicsSceneC2ERK6QRectFP7QObject @ 2646 NONAME - _ZN14QGraphicsSceneC2EffffP7QObject @ 2647 NONAME - _ZN14QGraphicsSceneD0Ev @ 2648 NONAME - _ZN14QGraphicsSceneD1Ev @ 2649 NONAME - _ZN14QGraphicsSceneD2Ev @ 2650 NONAME - _ZN14QIconDragEventC1Ev @ 2651 NONAME - _ZN14QIconDragEventC2Ev @ 2652 NONAME - _ZN14QIconDragEventD0Ev @ 2653 NONAME - _ZN14QIconDragEventD1Ev @ 2654 NONAME - _ZN14QIconDragEventD2Ev @ 2655 NONAME - _ZN14QImageIOPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 2656 NONAME - _ZN14QImageIOPlugin11qt_metacastEPKc @ 2657 NONAME - _ZN14QImageIOPlugin16staticMetaObjectE @ 2658 NONAME DATA 16 - _ZN14QImageIOPluginC2EP7QObject @ 2659 NONAME - _ZN14QImageIOPluginD0Ev @ 2660 NONAME - _ZN14QImageIOPluginD1Ev @ 2661 NONAME - _ZN14QImageIOPluginD2Ev @ 2662 NONAME - _ZN14QItemSelection5mergeERKS_6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 2663 NONAME - _ZN14QItemSelection5splitERK19QItemSelectionRangeS2_PS_ @ 2664 NONAME - _ZN14QItemSelection6selectERK11QModelIndexS2_ @ 2665 NONAME - _ZN14QItemSelectionC1ERK11QModelIndexS2_ @ 2666 NONAME - _ZN14QItemSelectionC2ERK11QModelIndexS2_ @ 2667 NONAME - _ZN14QLayoutPrivate16createSpacerItemEPK7QLayoutiiN11QSizePolicy6PolicyES4_ @ 2668 NONAME - _ZN14QLayoutPrivate16createWidgetItemEPK7QLayoutP7QWidget @ 2669 NONAME - _ZN14QLayoutPrivate20reparentChildWidgetsEP7QWidget @ 2670 NONAME - _ZN14QLayoutPrivate23spacerItemFactoryMethodE @ 2671 NONAME DATA 4 - _ZN14QLayoutPrivate23widgetItemFactoryMethodE @ 2672 NONAME DATA 4 - _ZN14QLayoutPrivate8doResizeERK5QSize @ 2673 NONAME - _ZN14QLayoutPrivateC1Ev @ 2674 NONAME - _ZN14QLayoutPrivateC2Ev @ 2675 NONAME - _ZN14QPaintEngineEx10drawPixmapERK7QPointFRK7QPixmap @ 2676 NONAME - _ZN14QPaintEngineEx10drawPointsEPK6QPointi @ 2677 NONAME - _ZN14QPaintEngineEx10drawPointsEPK7QPointFi @ 2678 NONAME - _ZN14QPaintEngineEx11drawEllipseERK5QRect @ 2679 NONAME - _ZN14QPaintEngineEx11drawEllipseERK6QRectF @ 2680 NONAME - _ZN14QPaintEngineEx11drawPolygonEPK6QPointiN12QPaintEngine15PolygonDrawModeE @ 2681 NONAME - _ZN14QPaintEngineEx11drawPolygonEPK7QPointFiN12QPaintEngine15PolygonDrawModeE @ 2682 NONAME - _ZN14QPaintEngineEx11updateStateERK17QPaintEngineState @ 2683 NONAME - _ZN14QPaintEngineEx15drawTiledPixmapERK6QRectFRK7QPixmapRK7QPointF @ 2684 NONAME - _ZN14QPaintEngineEx4clipERK12QPainterPathN2Qt13ClipOperationE @ 2685 NONAME - _ZN14QPaintEngineEx4clipERK5QRectN2Qt13ClipOperationE @ 2686 NONAME - _ZN14QPaintEngineEx4clipERK7QRegionN2Qt13ClipOperationE @ 2687 NONAME - _ZN14QPaintEngineEx4drawERK11QVectorPath @ 2688 NONAME - _ZN14QPaintEngineEx6strokeERK11QVectorPathRK4QPen @ 2689 NONAME - _ZN14QPaintEngineEx8drawPathERK12QPainterPath @ 2690 NONAME - _ZN14QPaintEngineEx8fillRectERK6QRectFRK6QBrush @ 2691 NONAME - _ZN14QPaintEngineEx8fillRectERK6QRectFRK6QColor @ 2692 NONAME - _ZN14QPaintEngineEx8setStateEP13QPainterState @ 2693 NONAME - _ZN14QPaintEngineEx9drawImageERK7QPointFRK6QImage @ 2694 NONAME - _ZN14QPaintEngineEx9drawLinesEPK5QLinei @ 2695 NONAME - _ZN14QPaintEngineEx9drawLinesEPK6QLineFi @ 2696 NONAME - _ZN14QPaintEngineEx9drawRectsEPK5QRecti @ 2697 NONAME - _ZN14QPaintEngineEx9drawRectsEPK6QRectFi @ 2698 NONAME - _ZN14QPaintEngineExC2ER21QPaintEngineExPrivate @ 2699 NONAME - _ZN14QPlainTextEdit10appendHtmlERK7QString @ 2700 NONAME - _ZN14QPlainTextEdit10moveCursorEN11QTextCursor13MoveOperationENS0_8MoveModeE @ 2701 NONAME - _ZN14QPlainTextEdit10paintEventEP11QPaintEvent @ 2702 NONAME - _ZN14QPlainTextEdit10timerEventEP11QTimerEvent @ 2703 NONAME - _ZN14QPlainTextEdit10wheelEventEP11QWheelEvent @ 2704 NONAME - _ZN14QPlainTextEdit11changeEventEP6QEvent @ 2705 NONAME - _ZN14QPlainTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 2706 NONAME - _ZN14QPlainTextEdit11qt_metacastEPKc @ 2707 NONAME - _ZN14QPlainTextEdit11resizeEventEP12QResizeEvent @ 2708 NONAME - _ZN14QPlainTextEdit11setDocumentEP13QTextDocument @ 2709 NONAME - _ZN14QPlainTextEdit11setReadOnlyEb @ 2710 NONAME - _ZN14QPlainTextEdit11textChangedEv @ 2711 NONAME - _ZN14QPlainTextEdit12centerCursorEv @ 2712 NONAME - _ZN14QPlainTextEdit12focusInEventEP11QFocusEvent @ 2713 NONAME - _ZN14QPlainTextEdit12loadResourceEiRK4QUrl @ 2714 NONAME - _ZN14QPlainTextEdit12setPlainTextERK7QString @ 2715 NONAME - _ZN14QPlainTextEdit13copyAvailableEb @ 2716 NONAME - _ZN14QPlainTextEdit13dragMoveEventEP14QDragMoveEvent @ 2717 NONAME - _ZN14QPlainTextEdit13focusOutEventEP11QFocusEvent @ 2718 NONAME - _ZN14QPlainTextEdit13keyPressEventEP9QKeyEvent @ 2719 NONAME - _ZN14QPlainTextEdit13redoAvailableEb @ 2720 NONAME - _ZN14QPlainTextEdit13setTextCursorERK11QTextCursor @ 2721 NONAME - _ZN14QPlainTextEdit13undoAvailableEb @ 2722 NONAME - _ZN14QPlainTextEdit13updateRequestERK5QRecti @ 2723 NONAME - _ZN14QPlainTextEdit14dragEnterEventEP15QDragEnterEvent @ 2724 NONAME - _ZN14QPlainTextEdit14dragLeaveEventEP15QDragLeaveEvent @ 2725 NONAME - _ZN14QPlainTextEdit14mouseMoveEventEP11QMouseEvent @ 2726 NONAME - _ZN14QPlainTextEdit14setCursorWidthEi @ 2727 NONAME - _ZN14QPlainTextEdit15appendPlainTextERK7QString @ 2728 NONAME - _ZN14QPlainTextEdit15insertPlainTextERK7QString @ 2729 NONAME - _ZN14QPlainTextEdit15keyReleaseEventEP9QKeyEvent @ 2730 NONAME - _ZN14QPlainTextEdit15mousePressEventEP11QMouseEvent @ 2731 NONAME - _ZN14QPlainTextEdit15setLineWrapModeENS_12LineWrapModeE @ 2732 NONAME - _ZN14QPlainTextEdit15setTabStopWidthEi @ 2733 NONAME - _ZN14QPlainTextEdit15setWordWrapModeEN11QTextOption8WrapModeE @ 2734 NONAME - _ZN14QPlainTextEdit16contextMenuEventEP17QContextMenuEvent @ 2735 NONAME - _ZN14QPlainTextEdit16inputMethodEventEP17QInputMethodEvent @ 2736 NONAME - _ZN14QPlainTextEdit16scrollContentsByEii @ 2737 NONAME - _ZN14QPlainTextEdit16selectionChangedEv @ 2738 NONAME - _ZN14QPlainTextEdit16setOverwriteModeEb @ 2739 NONAME - _ZN14QPlainTextEdit16staticMetaObjectE @ 2740 NONAME DATA 16 - _ZN14QPlainTextEdit17blockCountChangedEi @ 2741 NONAME - _ZN14QPlainTextEdit17mouseReleaseEventEP11QMouseEvent @ 2742 NONAME - _ZN14QPlainTextEdit17setCenterOnScrollEb @ 2743 NONAME - _ZN14QPlainTextEdit18focusNextPrevChildEb @ 2744 NONAME - _ZN14QPlainTextEdit18insertFromMimeDataEPK9QMimeData @ 2745 NONAME - _ZN14QPlainTextEdit18setExtraSelectionsERK5QListIN9QTextEdit14ExtraSelectionEE @ 2746 NONAME - _ZN14QPlainTextEdit18setTabChangesFocusEb @ 2747 NONAME - _ZN14QPlainTextEdit19ensureCursorVisibleEv @ 2748 NONAME - _ZN14QPlainTextEdit19modificationChangedEb @ 2749 NONAME - _ZN14QPlainTextEdit20setBackgroundVisibleEb @ 2750 NONAME - _ZN14QPlainTextEdit20setCurrentCharFormatERK15QTextCharFormat @ 2751 NONAME - _ZN14QPlainTextEdit21cursorPositionChangedEv @ 2752 NONAME - _ZN14QPlainTextEdit21mouseDoubleClickEventEP11QMouseEvent @ 2753 NONAME - _ZN14QPlainTextEdit22mergeCurrentCharFormatERK15QTextCharFormat @ 2754 NONAME - _ZN14QPlainTextEdit23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 2755 NONAME - _ZN14QPlainTextEdit25createStandardContextMenuEv @ 2756 NONAME - _ZN14QPlainTextEdit3cutEv @ 2757 NONAME - _ZN14QPlainTextEdit4copyEv @ 2758 NONAME - _ZN14QPlainTextEdit4findERK7QString6QFlagsIN13QTextDocument8FindFlagEE @ 2759 NONAME - _ZN14QPlainTextEdit4redoEv @ 2760 NONAME - _ZN14QPlainTextEdit4undoEv @ 2761 NONAME - _ZN14QPlainTextEdit5clearEv @ 2762 NONAME - _ZN14QPlainTextEdit5eventEP6QEvent @ 2763 NONAME - _ZN14QPlainTextEdit5pasteEv @ 2764 NONAME - _ZN14QPlainTextEdit9dropEventEP10QDropEvent @ 2765 NONAME - _ZN14QPlainTextEdit9selectAllEv @ 2766 NONAME - _ZN14QPlainTextEdit9showEventEP10QShowEvent @ 2767 NONAME - _ZN14QPlainTextEditC1EP7QWidget @ 2768 NONAME - _ZN14QPlainTextEditC1ER21QPlainTextEditPrivateP7QWidget @ 2769 NONAME - _ZN14QPlainTextEditC1ERK7QStringP7QWidget @ 2770 NONAME - _ZN14QPlainTextEditC2EP7QWidget @ 2771 NONAME - _ZN14QPlainTextEditC2ER21QPlainTextEditPrivateP7QWidget @ 2772 NONAME - _ZN14QPlainTextEditC2ERK7QStringP7QWidget @ 2773 NONAME - _ZN14QPlainTextEditD0Ev @ 2774 NONAME - _ZN14QPlainTextEditD1Ev @ 2775 NONAME - _ZN14QPlainTextEditD2Ev @ 2776 NONAME - _ZN14QShortcutEventC1ERK12QKeySequenceib @ 2777 NONAME - _ZN14QShortcutEventC2ERK12QKeySequenceib @ 2778 NONAME - _ZN14QShortcutEventD0Ev @ 2779 NONAME - _ZN14QShortcutEventD1Ev @ 2780 NONAME - _ZN14QShortcutEventD2Ev @ 2781 NONAME - _ZN14QStackedLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 2782 NONAME - _ZN14QStackedLayout11qt_metacastEPKc @ 2783 NONAME - _ZN14QStackedLayout11setGeometryERK5QRect @ 2784 NONAME - _ZN14QStackedLayout12insertWidgetEiP7QWidget @ 2785 NONAME - _ZN14QStackedLayout13widgetRemovedEi @ 2786 NONAME - _ZN14QStackedLayout14currentChangedEi @ 2787 NONAME - _ZN14QStackedLayout15setCurrentIndexEi @ 2788 NONAME - _ZN14QStackedLayout15setStackingModeENS_12StackingModeE @ 2789 NONAME - _ZN14QStackedLayout16setCurrentWidgetEP7QWidget @ 2790 NONAME - _ZN14QStackedLayout16staticMetaObjectE @ 2791 NONAME DATA 16 - _ZN14QStackedLayout6takeAtEi @ 2792 NONAME - _ZN14QStackedLayout7addItemEP11QLayoutItem @ 2793 NONAME - _ZN14QStackedLayout9addWidgetEP7QWidget @ 2794 NONAME - _ZN14QStackedLayoutC1EP7QLayout @ 2795 NONAME - _ZN14QStackedLayoutC1EP7QWidget @ 2796 NONAME - _ZN14QStackedLayoutC1Ev @ 2797 NONAME - _ZN14QStackedLayoutC2EP7QLayout @ 2798 NONAME - _ZN14QStackedLayoutC2EP7QWidget @ 2799 NONAME - _ZN14QStackedLayoutC2Ev @ 2800 NONAME - _ZN14QStackedLayoutD0Ev @ 2801 NONAME - _ZN14QStackedLayoutD1Ev @ 2802 NONAME - _ZN14QStackedLayoutD2Ev @ 2803 NONAME - _ZN14QStackedWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 2804 NONAME - _ZN14QStackedWidget11qt_metacastEPKc @ 2805 NONAME - _ZN14QStackedWidget12insertWidgetEiP7QWidget @ 2806 NONAME - _ZN14QStackedWidget12removeWidgetEP7QWidget @ 2807 NONAME - _ZN14QStackedWidget13widgetRemovedEi @ 2808 NONAME - _ZN14QStackedWidget14currentChangedEi @ 2809 NONAME - _ZN14QStackedWidget15setCurrentIndexEi @ 2810 NONAME - _ZN14QStackedWidget16setCurrentWidgetEP7QWidget @ 2811 NONAME - _ZN14QStackedWidget16staticMetaObjectE @ 2812 NONAME DATA 16 - _ZN14QStackedWidget5eventEP6QEvent @ 2813 NONAME - _ZN14QStackedWidget9addWidgetEP7QWidget @ 2814 NONAME - _ZN14QStackedWidgetC1EP7QWidget @ 2815 NONAME - _ZN14QStackedWidgetC2EP7QWidget @ 2816 NONAME - _ZN14QStackedWidgetD0Ev @ 2817 NONAME - _ZN14QStackedWidgetD1Ev @ 2818 NONAME - _ZN14QStackedWidgetD2Ev @ 2819 NONAME - _ZN14QTextOdfWriter10writeBlockER16QXmlStreamWriterRK10QTextBlock @ 2820 NONAME - _ZN14QTextOdfWriter10writeFrameER16QXmlStreamWriterPK10QTextFrame @ 2821 NONAME - _ZN14QTextOdfWriter8writeAllEv @ 2822 NONAME - _ZN14QTextOdfWriterC1ERK13QTextDocumentP9QIODevice @ 2823 NONAME - _ZN14QTextOdfWriterC2ERK13QTextDocumentP9QIODevice @ 2824 NONAME - _ZN14QTextTableCell9setFormatERK15QTextCharFormat @ 2825 NONAME - _ZN14QToolBarLayout10createItemEP7QAction @ 2826 NONAME ABSENT - _ZN14QToolBarLayout10invalidateEv @ 2827 NONAME ABSENT - _ZN14QToolBarLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 2828 NONAME ABSENT - _ZN14QToolBarLayout11qt_metacastEPKc @ 2829 NONAME ABSENT - _ZN14QToolBarLayout11setExpandedEb @ 2830 NONAME ABSENT - _ZN14QToolBarLayout11setGeometryERK5QRect @ 2831 NONAME ABSENT - _ZN14QToolBarLayout12insertActionEiP7QAction @ 2832 NONAME ABSENT - _ZN14QToolBarLayout13layoutActionsERK5QSize @ 2833 NONAME ABSENT - _ZN14QToolBarLayout15setUsePopupMenuEb @ 2834 NONAME ABSENT - _ZN14QToolBarLayout16staticMetaObjectE @ 2835 NONAME DATA 16 ABSENT - _ZN14QToolBarLayout17checkUsePopupMenuEv @ 2836 NONAME ABSENT - _ZN14QToolBarLayout22updateMarginAndSpacingEv @ 2837 NONAME ABSENT - _ZN14QToolBarLayout6takeAtEi @ 2838 NONAME ABSENT - _ZN14QToolBarLayout7addItemEP11QLayoutItem @ 2839 NONAME ABSENT - _ZN14QToolBarLayoutC1EP7QWidget @ 2840 NONAME ABSENT - _ZN14QToolBarLayoutC2EP7QWidget @ 2841 NONAME ABSENT - _ZN14QToolBarLayoutD0Ev @ 2842 NONAME ABSENT - _ZN14QToolBarLayoutD1Ev @ 2843 NONAME ABSENT - _ZN14QToolBarLayoutD2Ev @ 2844 NONAME ABSENT - _ZN14QWidgetPrivate10create_sysEP11CCoeControlbb @ 2845 NONAME - _ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore @ 2846 NONAME - _ZN14QWidgetPrivate10scrollRectERK5QRectii @ 2847 NONAME - _ZN14QWidgetPrivate10scroll_sysEii @ 2848 NONAME - _ZN14QWidgetPrivate10scroll_sysEiiRK5QRect @ 2849 NONAME - _ZN14QWidgetPrivate10updateFontERK5QFont @ 2850 NONAME - _ZN14QWidgetPrivate11adjustFlagsER6QFlagsIN2Qt10WindowTypeEEP7QWidget @ 2851 NONAME - _ZN14QWidgetPrivate11createExtraEv @ 2852 NONAME - _ZN14QWidgetPrivate11createWinIdEP11CCoeControl @ 2853 NONAME - _ZN14QWidgetPrivate11deleteExtraEv @ 2854 NONAME - _ZN14QWidgetPrivate11hide_helperEv @ 2855 NONAME - _ZN14QWidgetPrivate11pointToRectERK6QPointRK5QRect @ 2856 NONAME - _ZN14QWidgetPrivate11repaint_sysERK7QRegion @ 2857 NONAME - _ZN14QWidgetPrivate11resolveFontEv @ 2858 NONAME - _ZN14QWidgetPrivate11setMask_sysERK7QRegion @ 2859 NONAME - _ZN14QWidgetPrivate11show_helperEv @ 2860 NONAME - _ZN14QWidgetPrivate12close_helperENS_9CloseModeE @ 2861 NONAME - _ZN14QWidgetPrivate12hideChildrenEb @ 2862 NONAME - _ZN14QWidgetPrivate12inheritStyleEv @ 2863 NONAME - _ZN14QWidgetPrivate12maxInstancesE @ 2864 NONAME DATA 4 - _ZN14QWidgetPrivate12mouseGrabberE @ 2865 NONAME DATA 4 - _ZN14QWidgetPrivate12setFocus_sysEv @ 2866 NONAME - _ZN14QWidgetPrivate12setModal_sysEv @ 2867 NONAME - _ZN14QWidgetPrivate12showChildrenEb @ 2868 NONAME - _ZN14QWidgetPrivate13createTLExtraEv @ 2869 NONAME - _ZN14QWidgetPrivate13editingWidgetE @ 2870 NONAME DATA 4 - _ZN14QWidgetPrivate13render_helperEP8QPainterRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEE @ 2871 NONAME - _ZN14QWidgetPrivate13resolveLocaleEv @ 2872 NONAME - _ZN14QWidgetPrivate13setParent_sysEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 2873 NONAME - _ZN14QWidgetPrivate13setWSGeometryEb @ 2874 NONAME ABSENT - _ZN14QWidgetPrivate14createSysExtraEv @ 2875 NONAME - _ZN14QWidgetPrivate14deleteSysExtraEv @ 2876 NONAME - _ZN14QWidgetPrivate14resolvePaletteEv @ 2877 NONAME - _ZN14QWidgetPrivate14scrollChildrenEii @ 2878 NONAME - _ZN14QWidgetPrivate14show_recursiveEv @ 2879 NONAME - _ZN14QWidgetPrivate14stackUnder_sysEP7QWidget @ 2880 NONAME - _ZN14QWidgetPrivate14updateIsOpaqueEv @ 2881 NONAME - _ZN14QWidgetPrivate15instanceCounterE @ 2882 NONAME DATA 4 - _ZN14QWidgetPrivate15keyboardGrabberE @ 2883 NONAME DATA 4 - _ZN14QWidgetPrivate15prepareToRenderERK7QRegion6QFlagsIN7QWidget10RenderFlagEE @ 2884 NONAME - _ZN14QWidgetPrivate15setGeometry_sysEiiiib @ 2885 NONAME - _ZN14QWidgetPrivate15setSoftKeys_sysERK5QListIP7QActionE @ 2886 NONAME ABSENT - _ZN14QWidgetPrivate15setStyle_helperEP6QStylebb @ 2887 NONAME - _ZN14QWidgetPrivate16createTLSysExtraEv @ 2888 NONAME - _ZN14QWidgetPrivate16deleteTLSysExtraEv @ 2889 NONAME - _ZN14QWidgetPrivate16invalidateBufferERK5QRect @ 2890 NONAME - _ZN14QWidgetPrivate16invalidateBufferERK7QRegion @ 2891 NONAME - _ZN14QWidgetPrivate16registerDropSiteEb @ 2892 NONAME - _ZN14QWidgetPrivate16reparentChildrenEv @ 2893 NONAME - _ZN14QWidgetPrivate16setLocale_helperERK7QLocaleb @ 2894 NONAME - _ZN14QWidgetPrivate16syncBackingStoreERK7QRegion @ 2895 NONAME - _ZN14QWidgetPrivate16syncBackingStoreEv @ 2896 NONAME - _ZN14QWidgetPrivate16uncreatedWidgetsE @ 2897 NONAME DATA 4 ABSENT - _ZN14QWidgetPrivate16updateFrameStrutEv @ 2898 NONAME - _ZN14QWidgetPrivate17createRecursivelyEv @ 2899 NONAME - _ZN14QWidgetPrivate17s60UpdateIsOpaqueEv @ 2900 NONAME - _ZN14QWidgetPrivate17setEnabled_helperEb @ 2901 NONAME - _ZN14QWidgetPrivate17setPalette_helperERK8QPalette @ 2902 NONAME - _ZN14QWidgetPrivate17setWindowIcon_sysEb @ 2903 NONAME - _ZN14QWidgetPrivate18_q_showIfNotHiddenEv @ 2904 NONAME - _ZN14QWidgetPrivate18setConstraints_sysEv @ 2905 NONAME - _ZN14QWidgetPrivate18setWindowTitle_sysERK7QString @ 2906 NONAME - _ZN14QWidgetPrivate19updateIsTranslucentEv @ 2907 NONAME - _ZN14QWidgetPrivate20reparentFocusWidgetsEP7QWidget @ 2908 NONAME - _ZN14QWidgetPrivate20setDirtyOpaqueRegionEv @ 2909 NONAME - _ZN14QWidgetPrivate20setLayoutItemMarginsEN6QStyle10SubElementEPK12QStyleOption @ 2910 NONAME - _ZN14QWidgetPrivate20setLayoutItemMarginsEiiii @ 2911 NONAME - _ZN14QWidgetPrivate20setWindowIcon_helperEv @ 2912 NONAME - _ZN14QWidgetPrivate20setWindowOpacity_sysEf @ 2913 NONAME - _ZN14QWidgetPrivate21setMaximumSize_helperERiS0_ @ 2914 NONAME - _ZN14QWidgetPrivate21setMinimumSize_helperERiS0_ @ 2915 NONAME - _ZN14QWidgetPrivate21setWindowIconText_sysERK7QString @ 2916 NONAME - _ZN14QWidgetPrivate21setWindowTitle_helperERK7QString @ 2917 NONAME - _ZN14QWidgetPrivate21updateGeometry_helperEb @ 2918 NONAME - _ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore @ 2919 NONAME - _ZN14QWidgetPrivate22propagatePaletteChangeEv @ 2920 NONAME - _ZN14QWidgetPrivate22resolveLayoutDirectionEv @ 2921 NONAME - _ZN14QWidgetPrivate22updateSystemBackgroundEv @ 2922 NONAME - _ZN14QWidgetPrivate23deactivateWidgetCleanupEv @ 2923 NONAME - _ZN14QWidgetPrivate24setUpdatesEnabled_helperEb @ 2924 NONAME - _ZN14QWidgetPrivate24setWindowFilePath_helperERK7QString @ 2925 NONAME - _ZN14QWidgetPrivate24setWindowIconText_helperERK7QString @ 2926 NONAME - _ZN14QWidgetPrivate25setLayoutDirection_helperEN2Qt15LayoutDirectionE @ 2927 NONAME - _ZN14QWidgetPrivate26adjustQuitOnCloseAttributeEv @ 2928 NONAME - _ZN14QWidgetPrivate26createDefaultWindowSurfaceEv @ 2929 NONAME - _ZN14QWidgetPrivate26nearestGraphicsProxyWidgetEP7QWidget @ 2930 NONAME - _ZN14QWidgetPrivate29invalidateBuffer_resizeHelperERK6QPointRK5QSize @ 2931 NONAME - _ZN14QWidgetPrivate30createDefaultWindowSurface_sysEv @ 2932 NONAME - _ZN14QWidgetPrivate30sendPendingMoveAndResizeEventsEbb @ 2933 NONAME - _ZN14QWidgetPrivate31activateChildLayoutsRecursivelyEv @ 2934 NONAME - _ZN14QWidgetPrivate4initEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 2935 NONAME - _ZN14QWidgetPrivate6mapperE @ 2936 NONAME DATA 4 - _ZN14QWidgetPrivate8hide_sysEv @ 2937 NONAME - _ZN14QWidgetPrivate8moveRectERK5QRectii @ 2938 NONAME - _ZN14QWidgetPrivate8setWinIdEP11CCoeControl @ 2939 NONAME - _ZN14QWidgetPrivate8show_sysEv @ 2940 NONAME - _ZN14QWidgetPrivate9lower_sysEv @ 2941 NONAME - _ZN14QWidgetPrivate9raise_sysEv @ 2942 NONAME - _ZN14QWidgetPrivate9setOpaqueEb @ 2943 NONAME - _ZN14QWidgetPrivateC1Ei @ 2944 NONAME - _ZN14QWidgetPrivateC2Ei @ 2945 NONAME - _ZN14QWidgetPrivateD0Ev @ 2946 NONAME - _ZN14QWidgetPrivateD1Ev @ 2947 NONAME - _ZN14QWidgetPrivateD2Ev @ 2948 NONAME - _ZN14QWindowSurface10beginPaintERK7QRegion @ 2949 NONAME - _ZN14QWindowSurface11setGeometryERK5QRect @ 2950 NONAME - _ZN14QWindowSurface17setStaticContentsERK7QRegion @ 2951 NONAME - _ZN14QWindowSurface24setStaticContentsSupportEb @ 2952 NONAME - _ZN14QWindowSurface6bufferEPK7QWidget @ 2953 NONAME - _ZN14QWindowSurface6scrollERK7QRegionii @ 2954 NONAME - _ZN14QWindowSurface8endPaintERK7QRegion @ 2955 NONAME - _ZN14QWindowSurfaceC2EP7QWidget @ 2956 NONAME - _ZN14QWindowSurfaceD0Ev @ 2957 NONAME - _ZN14QWindowSurfaceD1Ev @ 2958 NONAME - _ZN14QWindowSurfaceD2Ev @ 2959 NONAME - _ZN15QAbstractButton10setCheckedEb @ 2960 NONAME - _ZN15QAbstractButton10timerEventEP11QTimerEvent @ 2961 NONAME - _ZN15QAbstractButton11changeEventEP6QEvent @ 2962 NONAME - _ZN15QAbstractButton11qt_metacallEN11QMetaObject4CallEiPPv @ 2963 NONAME - _ZN15QAbstractButton11qt_metacastEPKc @ 2964 NONAME - _ZN15QAbstractButton11setIconSizeERK5QSize @ 2965 NONAME - _ZN15QAbstractButton11setShortcutERK12QKeySequence @ 2966 NONAME - _ZN15QAbstractButton12animateClickEi @ 2967 NONAME - _ZN15QAbstractButton12focusInEventEP11QFocusEvent @ 2968 NONAME - _ZN15QAbstractButton12setCheckableEb @ 2969 NONAME - _ZN15QAbstractButton13checkStateSetEv @ 2970 NONAME - _ZN15QAbstractButton13focusOutEventEP11QFocusEvent @ 2971 NONAME - _ZN15QAbstractButton13keyPressEventEP9QKeyEvent @ 2972 NONAME - _ZN15QAbstractButton13setAutoRepeatEb @ 2973 NONAME - _ZN15QAbstractButton14mouseMoveEventEP11QMouseEvent @ 2974 NONAME - _ZN15QAbstractButton14nextCheckStateEv @ 2975 NONAME - _ZN15QAbstractButton15keyReleaseEventEP9QKeyEvent @ 2976 NONAME - _ZN15QAbstractButton15mousePressEventEP11QMouseEvent @ 2977 NONAME - _ZN15QAbstractButton16setAutoExclusiveEb @ 2978 NONAME - _ZN15QAbstractButton16staticMetaObjectE @ 2979 NONAME DATA 16 - _ZN15QAbstractButton17mouseReleaseEventEP11QMouseEvent @ 2980 NONAME - _ZN15QAbstractButton18setAutoRepeatDelayEi @ 2981 NONAME - _ZN15QAbstractButton21setAutoRepeatIntervalEi @ 2982 NONAME - _ZN15QAbstractButton5clickEv @ 2983 NONAME - _ZN15QAbstractButton5eventEP6QEvent @ 2984 NONAME - _ZN15QAbstractButton6toggleEv @ 2985 NONAME - _ZN15QAbstractButton7clickedEb @ 2986 NONAME - _ZN15QAbstractButton7pressedEv @ 2987 NONAME - _ZN15QAbstractButton7setDownEb @ 2988 NONAME - _ZN15QAbstractButton7setIconERK5QIcon @ 2989 NONAME - _ZN15QAbstractButton7setTextERK7QString @ 2990 NONAME - _ZN15QAbstractButton7toggledEb @ 2991 NONAME - _ZN15QAbstractButton8releasedEv @ 2992 NONAME - _ZN15QAbstractButtonC2EP7QWidget @ 2993 NONAME - _ZN15QAbstractButtonC2ER22QAbstractButtonPrivateP7QWidget @ 2994 NONAME - _ZN15QAbstractButtonD0Ev @ 2995 NONAME - _ZN15QAbstractButtonD1Ev @ 2996 NONAME - _ZN15QAbstractButtonD2Ev @ 2997 NONAME - _ZN15QAbstractSlider10setMaximumEi @ 2998 NONAME - _ZN15QAbstractSlider10setMinimumEi @ 2999 NONAME - _ZN15QAbstractSlider10timerEventEP11QTimerEvent @ 3000 NONAME - _ZN15QAbstractSlider10wheelEventEP11QWheelEvent @ 3001 NONAME - _ZN15QAbstractSlider11changeEventEP6QEvent @ 3002 NONAME - _ZN15QAbstractSlider11qt_metacallEN11QMetaObject4CallEiPPv @ 3003 NONAME - _ZN15QAbstractSlider11qt_metacastEPKc @ 3004 NONAME - _ZN15QAbstractSlider11setPageStepEi @ 3005 NONAME - _ZN15QAbstractSlider11setTrackingEb @ 3006 NONAME - _ZN15QAbstractSlider11sliderMovedEi @ 3007 NONAME - _ZN15QAbstractSlider12rangeChangedEii @ 3008 NONAME - _ZN15QAbstractSlider12sliderChangeENS_12SliderChangeE @ 3009 NONAME - _ZN15QAbstractSlider12valueChangedEi @ 3010 NONAME - _ZN15QAbstractSlider13keyPressEventEP9QKeyEvent @ 3011 NONAME - _ZN15QAbstractSlider13setSingleStepEi @ 3012 NONAME - _ZN15QAbstractSlider13setSliderDownEb @ 3013 NONAME - _ZN15QAbstractSlider13sliderPressedEv @ 3014 NONAME - _ZN15QAbstractSlider13triggerActionENS_12SliderActionE @ 3015 NONAME - _ZN15QAbstractSlider14setOrientationEN2Qt11OrientationE @ 3016 NONAME - _ZN15QAbstractSlider14sliderReleasedEv @ 3017 NONAME - _ZN15QAbstractSlider15actionTriggeredEi @ 3018 NONAME - _ZN15QAbstractSlider15setRepeatActionENS_12SliderActionEii @ 3019 NONAME - _ZN15QAbstractSlider16staticMetaObjectE @ 3020 NONAME DATA 16 - _ZN15QAbstractSlider17setSliderPositionEi @ 3021 NONAME - _ZN15QAbstractSlider19setInvertedControlsEb @ 3022 NONAME - _ZN15QAbstractSlider21setInvertedAppearanceEb @ 3023 NONAME - _ZN15QAbstractSlider5eventEP6QEvent @ 3024 NONAME - _ZN15QAbstractSlider8setRangeEii @ 3025 NONAME - _ZN15QAbstractSlider8setValueEi @ 3026 NONAME - _ZN15QAbstractSliderC1EP7QWidget @ 3027 NONAME - _ZN15QAbstractSliderC1ER22QAbstractSliderPrivateP7QWidget @ 3028 NONAME - _ZN15QAbstractSliderC2EP7QWidget @ 3029 NONAME - _ZN15QAbstractSliderC2ER22QAbstractSliderPrivateP7QWidget @ 3030 NONAME - _ZN15QAbstractSliderD0Ev @ 3031 NONAME - _ZN15QAbstractSliderD1Ev @ 3032 NONAME - _ZN15QAbstractSliderD2Ev @ 3033 NONAME - _ZN15QCalendarWidget10updateCellERK5QDate @ 3034 NONAME - _ZN15QCalendarWidget11eventFilterEP7QObjectP6QEvent @ 3035 NONAME - _ZN15QCalendarWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 3036 NONAME - _ZN15QCalendarWidget11qt_metacastEPKc @ 3037 NONAME - _ZN15QCalendarWidget11resizeEventEP12QResizeEvent @ 3038 NONAME - _ZN15QCalendarWidget11updateCellsEv @ 3039 NONAME - _ZN15QCalendarWidget12setDateRangeERK5QDateS2_ @ 3040 NONAME - _ZN15QCalendarWidget12showNextYearEv @ 3041 NONAME - _ZN15QCalendarWidget13keyPressEventEP9QKeyEvent @ 3042 NONAME - _ZN15QCalendarWidget13showNextMonthEv @ 3043 NONAME - _ZN15QCalendarWidget14setCurrentPageEii @ 3044 NONAME - _ZN15QCalendarWidget14setGridVisibleEb @ 3045 NONAME - _ZN15QCalendarWidget14setMaximumDateERK5QDate @ 3046 NONAME - _ZN15QCalendarWidget14setMinimumDateERK5QDate @ 3047 NONAME - _ZN15QCalendarWidget15mousePressEventEP11QMouseEvent @ 3048 NONAME - _ZN15QCalendarWidget15setSelectedDateERK5QDate @ 3049 NONAME - _ZN15QCalendarWidget16selectionChangedEv @ 3050 NONAME - _ZN15QCalendarWidget16setHeaderVisibleEb @ 3051 NONAME - _ZN15QCalendarWidget16setSelectionModeENS_13SelectionModeE @ 3052 NONAME - _ZN15QCalendarWidget16showPreviousYearEv @ 3053 NONAME - _ZN15QCalendarWidget16showSelectedDateEv @ 3054 NONAME - _ZN15QCalendarWidget16staticMetaObjectE @ 3055 NONAME DATA 16 - _ZN15QCalendarWidget17setDateTextFormatERK5QDateRK15QTextCharFormat @ 3056 NONAME - _ZN15QCalendarWidget17setFirstDayOfWeekEN2Qt9DayOfWeekE @ 3057 NONAME - _ZN15QCalendarWidget17showPreviousMonthEv @ 3058 NONAME - _ZN15QCalendarWidget18currentPageChangedEii @ 3059 NONAME - _ZN15QCalendarWidget18setDateEditEnabledEb @ 3060 NONAME - _ZN15QCalendarWidget19setHeaderTextFormatERK15QTextCharFormat @ 3061 NONAME - _ZN15QCalendarWidget20setWeekdayTextFormatEN2Qt9DayOfWeekERK15QTextCharFormat @ 3062 NONAME - _ZN15QCalendarWidget22setDateEditAcceptDelayEi @ 3063 NONAME - _ZN15QCalendarWidget23setNavigationBarVisibleEb @ 3064 NONAME - _ZN15QCalendarWidget23setVerticalHeaderFormatENS_20VerticalHeaderFormatE @ 3065 NONAME - _ZN15QCalendarWidget25setHorizontalHeaderFormatENS_22HorizontalHeaderFormatE @ 3066 NONAME - _ZN15QCalendarWidget5eventEP6QEvent @ 3067 NONAME - _ZN15QCalendarWidget7clickedERK5QDate @ 3068 NONAME - _ZN15QCalendarWidget9activatedERK5QDate @ 3069 NONAME - _ZN15QCalendarWidget9showTodayEv @ 3070 NONAME - _ZN15QCalendarWidgetC1EP7QWidget @ 3071 NONAME - _ZN15QCalendarWidgetC2EP7QWidget @ 3072 NONAME - _ZN15QCalendarWidgetD0Ev @ 3073 NONAME - _ZN15QCalendarWidgetD1Ev @ 3074 NONAME - _ZN15QCalendarWidgetD2Ev @ 3075 NONAME - _ZN15QClipboardEventC1EP13QEventPrivate @ 3076 NONAME - _ZN15QClipboardEventC2EP13QEventPrivate @ 3077 NONAME - _ZN15QClipboardEventD0Ev @ 3078 NONAME - _ZN15QClipboardEventD1Ev @ 3079 NONAME - _ZN15QClipboardEventD2Ev @ 3080 NONAME - _ZN15QColumnViewGrip10paintEventEP11QPaintEvent @ 3081 NONAME - _ZN15QColumnViewGrip11qt_metacallEN11QMetaObject4CallEiPPv @ 3082 NONAME - _ZN15QColumnViewGrip11qt_metacastEPKc @ 3083 NONAME - _ZN15QColumnViewGrip14mouseMoveEventEP11QMouseEvent @ 3084 NONAME - _ZN15QColumnViewGrip15mousePressEventEP11QMouseEvent @ 3085 NONAME - _ZN15QColumnViewGrip16staticMetaObjectE @ 3086 NONAME DATA 16 - _ZN15QColumnViewGrip17mouseReleaseEventEP11QMouseEvent @ 3087 NONAME - _ZN15QColumnViewGrip21mouseDoubleClickEventEP11QMouseEvent @ 3088 NONAME - _ZN15QColumnViewGrip8moveGripEi @ 3089 NONAME - _ZN15QColumnViewGrip9gripMovedEi @ 3090 NONAME - _ZN15QColumnViewGripC1EP7QWidget @ 3091 NONAME - _ZN15QColumnViewGripC1ER22QColumnViewGripPrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3092 NONAME - _ZN15QColumnViewGripC2EP7QWidget @ 3093 NONAME - _ZN15QColumnViewGripC2ER22QColumnViewGripPrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3094 NONAME - _ZN15QColumnViewGripD0Ev @ 3095 NONAME - _ZN15QColumnViewGripD1Ev @ 3096 NONAME - _ZN15QColumnViewGripD2Ev @ 3097 NONAME - _ZN15QDockAreaLayout12restoreStateER11QDataStreamRK5QListIP11QDockWidgetEb @ 3098 NONAME - _ZN15QDockAreaLayout13addDockWidgetEN9QInternal12DockPositionEP11QDockWidgetN2Qt11OrientationE @ 3099 NONAME - _ZN15QDockAreaLayout13separatorMoveE5QListIiERK6QPointS4_P7QVectorI13QLayoutStructE @ 3100 NONAME ABSENT - _ZN15QDockAreaLayout15splitDockWidgetEP11QDockWidgetS1_N2Qt11OrientationE @ 3101 NONAME - _ZN15QDockAreaLayout16tabifyDockWidgetEP11QDockWidgetS1_ @ 3102 NONAME - _ZN15QDockAreaLayout17restoreDockWidgetEP11QDockWidget @ 3103 NONAME - _ZN15QDockAreaLayout20deleteAllLayoutItemsEv @ 3104 NONAME - _ZN15QDockAreaLayout4infoE5QListIiE @ 3105 NONAME ABSENT - _ZN15QDockAreaLayout4infoEP7QWidget @ 3106 NONAME - _ZN15QDockAreaLayout4itemE5QListIiE @ 3107 NONAME ABSENT - _ZN15QDockAreaLayout4plugE5QListIiE @ 3108 NONAME ABSENT - _ZN15QDockAreaLayout5applyEb @ 3109 NONAME - _ZN15QDockAreaLayout5clearEv @ 3110 NONAME - _ZN15QDockAreaLayout6removeE5QListIiE @ 3111 NONAME ABSENT - _ZN15QDockAreaLayout6takeAtEPii @ 3112 NONAME - _ZN15QDockAreaLayout6unplugE5QListIiE @ 3113 NONAME ABSENT - _ZN15QDockAreaLayout7getGridEP7QVectorI13QLayoutStructES3_ @ 3114 NONAME - _ZN15QDockAreaLayout7setGridEP7QVectorI13QLayoutStructES3_ @ 3115 NONAME - _ZN15QDockAreaLayout8keepSizeEP11QDockWidget @ 3116 NONAME - _ZN15QDockAreaLayout9fitLayoutEv @ 3117 NONAME - _ZN15QDockAreaLayout9insertGapE5QListIiEP11QLayoutItem @ 3118 NONAME ABSENT - _ZN15QDockAreaLayoutC1EP11QMainWindow @ 3119 NONAME - _ZN15QDockAreaLayoutC2EP11QMainWindow @ 3120 NONAME - _ZN15QDragEnterEventC1ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEE @ 3121 NONAME - _ZN15QDragEnterEventC2ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEE @ 3122 NONAME - _ZN15QDragEnterEventD0Ev @ 3123 NONAME - _ZN15QDragEnterEventD1Ev @ 3124 NONAME - _ZN15QDragEnterEventD2Ev @ 3125 NONAME - _ZN15QDragLeaveEventC1Ev @ 3126 NONAME - _ZN15QDragLeaveEventC2Ev @ 3127 NONAME - _ZN15QDragLeaveEventD0Ev @ 3128 NONAME - _ZN15QDragLeaveEventD1Ev @ 3129 NONAME - _ZN15QDragLeaveEventD2Ev @ 3130 NONAME - _ZN15QGraphicsLayout10invalidateEv @ 3131 NONAME - _ZN15QGraphicsLayout11widgetEventEP6QEvent @ 3132 NONAME - _ZN15QGraphicsLayout14updateGeometryEv @ 3133 NONAME - _ZN15QGraphicsLayout18setContentsMarginsEffff @ 3134 NONAME - _ZN15QGraphicsLayout8activateEv @ 3135 NONAME - _ZN15QGraphicsLayoutC2EP19QGraphicsLayoutItem @ 3136 NONAME - _ZN15QGraphicsLayoutC2ER22QGraphicsLayoutPrivateP19QGraphicsLayoutItem @ 3137 NONAME - _ZN15QGraphicsLayoutD0Ev @ 3138 NONAME - _ZN15QGraphicsLayoutD1Ev @ 3139 NONAME - _ZN15QGraphicsLayoutD2Ev @ 3140 NONAME - _ZN15QGraphicsSystem23createDefaultPixmapDataEN11QPixmapData9PixelTypeE @ 3141 NONAME - _ZN15QGraphicsSystemD0Ev @ 3142 NONAME - _ZN15QGraphicsSystemD1Ev @ 3143 NONAME - _ZN15QGraphicsSystemD2Ev @ 3144 NONAME - _ZN15QGraphicsWidget10addActionsE5QListIP7QActionE @ 3145 NONAME - _ZN15QGraphicsWidget10adjustSizeEv @ 3146 NONAME - _ZN15QGraphicsWidget10closeEventEP11QCloseEvent @ 3147 NONAME - _ZN15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3148 NONAME - _ZN15QGraphicsWidget10sceneEventEP6QEvent @ 3149 NONAME - _ZN15QGraphicsWidget10setPaletteERK8QPalette @ 3150 NONAME - _ZN15QGraphicsWidget11changeEventEP6QEvent @ 3151 NONAME - _ZN15QGraphicsWidget11polishEventEv @ 3152 NONAME - _ZN15QGraphicsWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 3153 NONAME - _ZN15QGraphicsWidget11qt_metacastEPKc @ 3154 NONAME - _ZN15QGraphicsWidget11resizeEventEP25QGraphicsSceneResizeEvent @ 3155 NONAME - _ZN15QGraphicsWidget11setGeometryERK6QRectF @ 3156 NONAME - _ZN15QGraphicsWidget11setTabOrderEPS_S0_ @ 3157 NONAME - _ZN15QGraphicsWidget12focusInEventEP11QFocusEvent @ 3158 NONAME - _ZN15QGraphicsWidget12grabShortcutERK12QKeySequenceN2Qt15ShortcutContextE @ 3159 NONAME - _ZN15QGraphicsWidget12insertActionEP7QActionS1_ @ 3160 NONAME - _ZN15QGraphicsWidget12removeActionEP7QAction @ 3161 NONAME - _ZN15QGraphicsWidget12setAttributeEN2Qt15WidgetAttributeEb @ 3162 NONAME - _ZN15QGraphicsWidget13focusOutEventEP11QFocusEvent @ 3163 NONAME - _ZN15QGraphicsWidget13insertActionsEP7QAction5QListIS1_E @ 3164 NONAME - _ZN15QGraphicsWidget14grabMouseEventEP6QEvent @ 3165 NONAME - _ZN15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3166 NONAME - _ZN15QGraphicsWidget14propertyChangeERK7QStringRK8QVariant @ 3167 NONAME - _ZN15QGraphicsWidget14setFocusPolicyEN2Qt11FocusPolicyE @ 3168 NONAME - _ZN15QGraphicsWidget14setWindowFlagsE6QFlagsIN2Qt10WindowTypeEE @ 3169 NONAME - _ZN15QGraphicsWidget14setWindowTitleERK7QString @ 3170 NONAME - _ZN15QGraphicsWidget14updateGeometryEv @ 3171 NONAME - _ZN15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 3172 NONAME - _ZN15QGraphicsWidget15releaseShortcutEi @ 3173 NONAME - _ZN15QGraphicsWidget16paintWindowFrameEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3174 NONAME - _ZN15QGraphicsWidget16staticMetaObjectE @ 3175 NONAME DATA 16 - _ZN15QGraphicsWidget16ungrabMouseEventEP6QEvent @ 3176 NONAME - _ZN15QGraphicsWidget16windowFrameEventEP6QEvent @ 3177 NONAME - _ZN15QGraphicsWidget17grabKeyboardEventEP6QEvent @ 3178 NONAME - _ZN15QGraphicsWidget18focusNextPrevChildEb @ 3179 NONAME - _ZN15QGraphicsWidget18setContentsMarginsEffff @ 3180 NONAME - _ZN15QGraphicsWidget18setLayoutDirectionEN2Qt15LayoutDirectionE @ 3181 NONAME - _ZN15QGraphicsWidget18setShortcutEnabledEib @ 3182 NONAME - _ZN15QGraphicsWidget19ungrabKeyboardEventEP6QEvent @ 3183 NONAME - _ZN15QGraphicsWidget20unsetLayoutDirectionEv @ 3184 NONAME - _ZN15QGraphicsWidget21setShortcutAutoRepeatEib @ 3185 NONAME - _ZN15QGraphicsWidget21setWindowFrameMarginsEffff @ 3186 NONAME - _ZN15QGraphicsWidget23unsetWindowFrameMarginsEv @ 3187 NONAME - _ZN15QGraphicsWidget5closeEv @ 3188 NONAME - _ZN15QGraphicsWidget5eventEP6QEvent @ 3189 NONAME - _ZN15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3190 NONAME - _ZN15QGraphicsWidget6resizeERK6QSizeF @ 3191 NONAME - _ZN15QGraphicsWidget7setFontERK5QFont @ 3192 NONAME - _ZN15QGraphicsWidget8setStyleEP6QStyle @ 3193 NONAME - _ZN15QGraphicsWidget9addActionEP7QAction @ 3194 NONAME - _ZN15QGraphicsWidget9hideEventEP10QHideEvent @ 3195 NONAME - _ZN15QGraphicsWidget9moveEventEP23QGraphicsSceneMoveEvent @ 3196 NONAME - _ZN15QGraphicsWidget9setLayoutEP15QGraphicsLayout @ 3197 NONAME - _ZN15QGraphicsWidget9showEventEP10QShowEvent @ 3198 NONAME - _ZN15QGraphicsWidgetC1EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 3199 NONAME - _ZN15QGraphicsWidgetC1ER22QGraphicsWidgetPrivateP13QGraphicsItemP14QGraphicsScene6QFlagsIN2Qt10WindowTypeEE @ 3200 NONAME - _ZN15QGraphicsWidgetC2EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 3201 NONAME - _ZN15QGraphicsWidgetC2ER22QGraphicsWidgetPrivateP13QGraphicsItemP14QGraphicsScene6QFlagsIN2Qt10WindowTypeEE @ 3202 NONAME - _ZN15QGraphicsWidgetD0Ev @ 3203 NONAME - _ZN15QGraphicsWidgetD1Ev @ 3204 NONAME - _ZN15QGraphicsWidgetD2Ev @ 3205 NONAME - _ZN15QImageIOHandler11jumpToImageEi @ 3206 NONAME - _ZN15QImageIOHandler15jumpToNextImageEv @ 3207 NONAME - _ZN15QImageIOHandler5writeERK6QImage @ 3208 NONAME - _ZN15QImageIOHandler9setDeviceEP9QIODevice @ 3209 NONAME - _ZN15QImageIOHandler9setFormatERK10QByteArray @ 3210 NONAME - _ZN15QImageIOHandler9setOptionENS_11ImageOptionERK8QVariant @ 3211 NONAME - _ZN15QImageIOHandlerC2ER22QImageIOHandlerPrivate @ 3212 NONAME - _ZN15QImageIOHandlerC2Ev @ 3213 NONAME - _ZN15QImageIOHandlerD0Ev @ 3214 NONAME - _ZN15QImageIOHandlerD1Ev @ 3215 NONAME - _ZN15QImageIOHandlerD2Ev @ 3216 NONAME - _ZN15QLinearGradient12setFinalStopERK7QPointF @ 3217 NONAME - _ZN15QLinearGradient8setStartERK7QPointF @ 3218 NONAME - _ZN15QLinearGradientC1ERK7QPointFS2_ @ 3219 NONAME - _ZN15QLinearGradientC1Effff @ 3220 NONAME - _ZN15QLinearGradientC1Ev @ 3221 NONAME - _ZN15QLinearGradientC2ERK7QPointFS2_ @ 3222 NONAME - _ZN15QLinearGradientC2Effff @ 3223 NONAME - _ZN15QLinearGradientC2Ev @ 3224 NONAME - _ZN15QListWidgetItem4readER11QDataStream @ 3225 NONAME - _ZN15QListWidgetItem7setDataEiRK8QVariant @ 3226 NONAME - _ZN15QListWidgetItem8setFlagsE6QFlagsIN2Qt8ItemFlagEE @ 3227 NONAME - _ZN15QListWidgetItemC1EP11QListWidgeti @ 3228 NONAME - _ZN15QListWidgetItemC1ERK5QIconRK7QStringP11QListWidgeti @ 3229 NONAME - _ZN15QListWidgetItemC1ERK7QStringP11QListWidgeti @ 3230 NONAME - _ZN15QListWidgetItemC1ERKS_ @ 3231 NONAME - _ZN15QListWidgetItemC2EP11QListWidgeti @ 3232 NONAME - _ZN15QListWidgetItemC2ERK5QIconRK7QStringP11QListWidgeti @ 3233 NONAME - _ZN15QListWidgetItemC2ERK7QStringP11QListWidgeti @ 3234 NONAME - _ZN15QListWidgetItemC2ERKS_ @ 3235 NONAME - _ZN15QListWidgetItemD0Ev @ 3236 NONAME - _ZN15QListWidgetItemD1Ev @ 3237 NONAME - _ZN15QListWidgetItemD2Ev @ 3238 NONAME - _ZN15QListWidgetItemaSERKS_ @ 3239 NONAME - _ZN15QPicturePrivate11checkFormatEv @ 3240 NONAME ABSENT - _ZN15QPicturePrivate11resetFormatEv @ 3241 NONAME ABSENT - _ZN15QPicturePrivateC1Ev @ 3242 NONAME ABSENT - _ZN15QPicturePrivateC2Ev @ 3243 NONAME ABSENT - _ZN15QProgressDialog10closeEventEP11QCloseEvent @ 3244 NONAME - _ZN15QProgressDialog10setMaximumEi @ 3245 NONAME - _ZN15QProgressDialog10setMinimumEi @ 3246 NONAME - _ZN15QProgressDialog11changeEventEP6QEvent @ 3247 NONAME - _ZN15QProgressDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 3248 NONAME - _ZN15QProgressDialog11qt_metacastEPKc @ 3249 NONAME - _ZN15QProgressDialog11resizeEventEP12QResizeEvent @ 3250 NONAME - _ZN15QProgressDialog12setAutoCloseEb @ 3251 NONAME - _ZN15QProgressDialog12setAutoResetEb @ 3252 NONAME - _ZN15QProgressDialog12setLabelTextERK7QString @ 3253 NONAME - _ZN15QProgressDialog15setCancelButtonEP11QPushButton @ 3254 NONAME - _ZN15QProgressDialog16staticMetaObjectE @ 3255 NONAME DATA 16 - _ZN15QProgressDialog18setMinimumDurationEi @ 3256 NONAME - _ZN15QProgressDialog19setCancelButtonTextERK7QString @ 3257 NONAME - _ZN15QProgressDialog4openEP7QObjectPKc @ 3258 NONAME - _ZN15QProgressDialog5resetEv @ 3259 NONAME - _ZN15QProgressDialog6cancelEv @ 3260 NONAME - _ZN15QProgressDialog6setBarEP12QProgressBar @ 3261 NONAME - _ZN15QProgressDialog8canceledEv @ 3262 NONAME - _ZN15QProgressDialog8setLabelEP6QLabel @ 3263 NONAME - _ZN15QProgressDialog8setRangeEii @ 3264 NONAME - _ZN15QProgressDialog8setValueEi @ 3265 NONAME - _ZN15QProgressDialog9forceShowEv @ 3266 NONAME - _ZN15QProgressDialog9showEventEP10QShowEvent @ 3267 NONAME - _ZN15QProgressDialogC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3268 NONAME - _ZN15QProgressDialogC1ERK7QStringS2_iiP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3269 NONAME - _ZN15QProgressDialogC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3270 NONAME - _ZN15QProgressDialogC2ERK7QStringS2_iiP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3271 NONAME - _ZN15QProgressDialogD0Ev @ 3272 NONAME - _ZN15QProgressDialogD1Ev @ 3273 NONAME - _ZN15QProgressDialogD2Ev @ 3274 NONAME - _ZN15QRadialGradient13setFocalPointERK7QPointF @ 3275 NONAME - _ZN15QRadialGradient9setCenterERK7QPointF @ 3276 NONAME - _ZN15QRadialGradient9setRadiusEf @ 3277 NONAME - _ZN15QRadialGradientC1ERK7QPointFf @ 3278 NONAME - _ZN15QRadialGradientC1ERK7QPointFfS2_ @ 3279 NONAME - _ZN15QRadialGradientC1Efff @ 3280 NONAME - _ZN15QRadialGradientC1Efffff @ 3281 NONAME - _ZN15QRadialGradientC1Ev @ 3282 NONAME - _ZN15QRadialGradientC2ERK7QPointFf @ 3283 NONAME - _ZN15QRadialGradientC2ERK7QPointFfS2_ @ 3284 NONAME - _ZN15QRadialGradientC2Efff @ 3285 NONAME - _ZN15QRadialGradientC2Efffff @ 3286 NONAME - _ZN15QRadialGradientC2Ev @ 3287 NONAME - _ZN15QSessionManager11qt_metacallEN11QMetaObject4CallEiPPv @ 3288 NONAME - _ZN15QSessionManager11qt_metacastEPKc @ 3289 NONAME - _ZN15QSessionManager16staticMetaObjectE @ 3290 NONAME DATA 16 - _ZN15QSessionManager17allowsInteractionEv @ 3291 NONAME - _ZN15QSessionManager6cancelEv @ 3292 NONAME - _ZN15QSessionManagerC1EP12QApplicationR7QStringS3_ @ 3293 NONAME - _ZN15QSessionManagerC2EP12QApplicationR7QStringS3_ @ 3294 NONAME - _ZN15QSessionManagerD0Ev @ 3295 NONAME - _ZN15QSessionManagerD1Ev @ 3296 NONAME - _ZN15QSessionManagerD2Ev @ 3297 NONAME - _ZN15QSplitterHandle10paintEventEP11QPaintEvent @ 3298 NONAME - _ZN15QSplitterHandle11qt_metacallEN11QMetaObject4CallEiPPv @ 3299 NONAME - _ZN15QSplitterHandle11qt_metacastEPKc @ 3300 NONAME - _ZN15QSplitterHandle12moveSplitterEi @ 3301 NONAME - _ZN15QSplitterHandle14mouseMoveEventEP11QMouseEvent @ 3302 NONAME - _ZN15QSplitterHandle14setOrientationEN2Qt11OrientationE @ 3303 NONAME - _ZN15QSplitterHandle15mousePressEventEP11QMouseEvent @ 3304 NONAME - _ZN15QSplitterHandle16staticMetaObjectE @ 3305 NONAME DATA 16 - _ZN15QSplitterHandle17mouseReleaseEventEP11QMouseEvent @ 3306 NONAME - _ZN15QSplitterHandle20closestLegalPositionEi @ 3307 NONAME - _ZN15QSplitterHandle5eventEP6QEvent @ 3308 NONAME - _ZN15QSplitterHandleC1EN2Qt11OrientationEP9QSplitter @ 3309 NONAME - _ZN15QSplitterHandleC2EN2Qt11OrientationEP9QSplitter @ 3310 NONAME - _ZN15QStatusTipEventC1ERK7QString @ 3311 NONAME - _ZN15QStatusTipEventC2ERK7QString @ 3312 NONAME - _ZN15QStatusTipEventD0Ev @ 3313 NONAME - _ZN15QStatusTipEventD1Ev @ 3314 NONAME - _ZN15QStatusTipEventD2Ev @ 3315 NONAME - _ZN15QStyleOptionTabC1Ei @ 3316 NONAME - _ZN15QStyleOptionTabC1Ev @ 3317 NONAME - _ZN15QStyleOptionTabC2Ei @ 3318 NONAME - _ZN15QStyleOptionTabC2Ev @ 3319 NONAME - _ZN15QTextBlockGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 3320 NONAME - _ZN15QTextBlockGroup11qt_metacastEPKc @ 3321 NONAME - _ZN15QTextBlockGroup12blockRemovedERK10QTextBlock @ 3322 NONAME - _ZN15QTextBlockGroup13blockInsertedERK10QTextBlock @ 3323 NONAME - _ZN15QTextBlockGroup16staticMetaObjectE @ 3324 NONAME DATA 16 - _ZN15QTextBlockGroup18blockFormatChangedERK10QTextBlock @ 3325 NONAME - _ZN15QTextBlockGroupC1EP13QTextDocument @ 3326 NONAME - _ZN15QTextBlockGroupC1ER22QTextBlockGroupPrivateP13QTextDocument @ 3327 NONAME - _ZN15QTextBlockGroupC2EP13QTextDocument @ 3328 NONAME - _ZN15QTextBlockGroupC2ER22QTextBlockGroupPrivateP13QTextDocument @ 3329 NONAME - _ZN15QTextBlockGroupD0Ev @ 3330 NONAME - _ZN15QTextBlockGroupD1Ev @ 3331 NONAME - _ZN15QTextBlockGroupD2Ev @ 3332 NONAME - _ZN15QTextCharFormat17setUnderlineStyleENS_14UnderlineStyleE @ 3333 NONAME - _ZN15QTextCharFormat7setFontERK5QFont @ 3334 NONAME - _ZN15QTextCharFormatC1ERK11QTextFormat @ 3335 NONAME - _ZN15QTextCharFormatC1Ev @ 3336 NONAME - _ZN15QTextCharFormatC2ERK11QTextFormat @ 3337 NONAME - _ZN15QTextCharFormatC2Ev @ 3338 NONAME - _ZN15QTextListFormatC1ERK11QTextFormat @ 3339 NONAME - _ZN15QTextListFormatC1Ev @ 3340 NONAME - _ZN15QTextListFormatC2ERK11QTextFormat @ 3341 NONAME - _ZN15QTextListFormatC2Ev @ 3342 NONAME - _ZN15QTreeWidgetItem11addChildrenERK5QListIPS_E @ 3343 NONAME - _ZN15QTreeWidgetItem11insertChildEiPS_ @ 3344 NONAME - _ZN15QTreeWidgetItem11itemChangedEv @ 3345 NONAME - _ZN15QTreeWidgetItem11removeChildEPS_ @ 3346 NONAME - _ZN15QTreeWidgetItem12sortChildrenEiN2Qt9SortOrderEb @ 3347 NONAME - _ZN15QTreeWidgetItem12takeChildrenEv @ 3348 NONAME - _ZN15QTreeWidgetItem14insertChildrenEiRK5QListIPS_E @ 3349 NONAME - _ZN15QTreeWidgetItem15emitDataChangedEv @ 3350 NONAME - _ZN15QTreeWidgetItem23setChildIndicatorPolicyENS_20ChildIndicatorPolicyE @ 3351 NONAME - _ZN15QTreeWidgetItem4readER11QDataStream @ 3352 NONAME - _ZN15QTreeWidgetItem7setDataEiiRK8QVariant @ 3353 NONAME - _ZN15QTreeWidgetItem8addChildEPS_ @ 3354 NONAME - _ZN15QTreeWidgetItem8setFlagsE6QFlagsIN2Qt8ItemFlagEE @ 3355 NONAME - _ZN15QTreeWidgetItem9takeChildEi @ 3356 NONAME - _ZN15QTreeWidgetItemC1EP11QTreeWidgetPS_i @ 3357 NONAME - _ZN15QTreeWidgetItemC1EP11QTreeWidgetRK11QStringListi @ 3358 NONAME - _ZN15QTreeWidgetItemC1EP11QTreeWidgeti @ 3359 NONAME - _ZN15QTreeWidgetItemC1EPS_RK11QStringListi @ 3360 NONAME - _ZN15QTreeWidgetItemC1EPS_S0_i @ 3361 NONAME - _ZN15QTreeWidgetItemC1EPS_i @ 3362 NONAME - _ZN15QTreeWidgetItemC1ERK11QStringListi @ 3363 NONAME - _ZN15QTreeWidgetItemC1ERKS_ @ 3364 NONAME - _ZN15QTreeWidgetItemC1Ei @ 3365 NONAME - _ZN15QTreeWidgetItemC2EP11QTreeWidgetPS_i @ 3366 NONAME - _ZN15QTreeWidgetItemC2EP11QTreeWidgetRK11QStringListi @ 3367 NONAME - _ZN15QTreeWidgetItemC2EP11QTreeWidgeti @ 3368 NONAME - _ZN15QTreeWidgetItemC2EPS_RK11QStringListi @ 3369 NONAME - _ZN15QTreeWidgetItemC2EPS_S0_i @ 3370 NONAME - _ZN15QTreeWidgetItemC2EPS_i @ 3371 NONAME - _ZN15QTreeWidgetItemC2ERK11QStringListi @ 3372 NONAME - _ZN15QTreeWidgetItemC2ERKS_ @ 3373 NONAME - _ZN15QTreeWidgetItemC2Ei @ 3374 NONAME - _ZN15QTreeWidgetItemD0Ev @ 3375 NONAME - _ZN15QTreeWidgetItemD1Ev @ 3376 NONAME - _ZN15QTreeWidgetItemD2Ev @ 3377 NONAME - _ZN15QTreeWidgetItemaSERKS_ @ 3378 NONAME - _ZN16QAbstractSpinBox10closeEventEP11QCloseEvent @ 3379 NONAME - _ZN16QAbstractSpinBox10paintEventEP11QPaintEvent @ 3380 NONAME - _ZN16QAbstractSpinBox10timerEventEP11QTimerEvent @ 3381 NONAME - _ZN16QAbstractSpinBox10wheelEventEP11QWheelEvent @ 3382 NONAME - _ZN16QAbstractSpinBox11changeEventEP6QEvent @ 3383 NONAME - _ZN16QAbstractSpinBox11qt_metacallEN11QMetaObject4CallEiPPv @ 3384 NONAME - _ZN16QAbstractSpinBox11qt_metacastEPKc @ 3385 NONAME - _ZN16QAbstractSpinBox11resizeEventEP12QResizeEvent @ 3386 NONAME - _ZN16QAbstractSpinBox11setLineEditEP9QLineEdit @ 3387 NONAME - _ZN16QAbstractSpinBox11setReadOnlyEb @ 3388 NONAME - _ZN16QAbstractSpinBox11setWrappingEb @ 3389 NONAME - _ZN16QAbstractSpinBox12focusInEventEP11QFocusEvent @ 3390 NONAME - _ZN16QAbstractSpinBox12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 3391 NONAME - _ZN16QAbstractSpinBox13focusOutEventEP11QFocusEvent @ 3392 NONAME - _ZN16QAbstractSpinBox13interpretTextEv @ 3393 NONAME - _ZN16QAbstractSpinBox13keyPressEventEP9QKeyEvent @ 3394 NONAME - _ZN16QAbstractSpinBox14mouseMoveEventEP11QMouseEvent @ 3395 NONAME - _ZN16QAbstractSpinBox14setAcceleratedEb @ 3396 NONAME - _ZN16QAbstractSpinBox15editingFinishedEv @ 3397 NONAME - _ZN16QAbstractSpinBox15keyReleaseEventEP9QKeyEvent @ 3398 NONAME - _ZN16QAbstractSpinBox15mousePressEventEP11QMouseEvent @ 3399 NONAME - _ZN16QAbstractSpinBox16contextMenuEventEP17QContextMenuEvent @ 3400 NONAME - _ZN16QAbstractSpinBox16setButtonSymbolsENS_13ButtonSymbolsE @ 3401 NONAME - _ZN16QAbstractSpinBox16staticMetaObjectE @ 3402 NONAME DATA 16 - _ZN16QAbstractSpinBox17mouseReleaseEventEP11QMouseEvent @ 3403 NONAME - _ZN16QAbstractSpinBox17setCorrectionModeENS_14CorrectionModeE @ 3404 NONAME - _ZN16QAbstractSpinBox19setKeyboardTrackingEb @ 3405 NONAME - _ZN16QAbstractSpinBox19setSpecialValueTextERK7QString @ 3406 NONAME - _ZN16QAbstractSpinBox5clearEv @ 3407 NONAME - _ZN16QAbstractSpinBox5eventEP6QEvent @ 3408 NONAME - _ZN16QAbstractSpinBox6stepByEi @ 3409 NONAME - _ZN16QAbstractSpinBox6stepUpEv @ 3410 NONAME - _ZN16QAbstractSpinBox8setFrameEb @ 3411 NONAME - _ZN16QAbstractSpinBox8stepDownEv @ 3412 NONAME - _ZN16QAbstractSpinBox9hideEventEP10QHideEvent @ 3413 NONAME - _ZN16QAbstractSpinBox9selectAllEv @ 3414 NONAME - _ZN16QAbstractSpinBox9showEventEP10QShowEvent @ 3415 NONAME - _ZN16QAbstractSpinBoxC1EP7QWidget @ 3416 NONAME - _ZN16QAbstractSpinBoxC1ER23QAbstractSpinBoxPrivateP7QWidget @ 3417 NONAME - _ZN16QAbstractSpinBoxC2EP7QWidget @ 3418 NONAME - _ZN16QAbstractSpinBoxC2ER23QAbstractSpinBoxPrivateP7QWidget @ 3419 NONAME - _ZN16QAbstractSpinBoxD0Ev @ 3420 NONAME - _ZN16QAbstractSpinBoxD1Ev @ 3421 NONAME - _ZN16QAbstractSpinBoxD2Ev @ 3422 NONAME - _ZN16QConicalGradient8setAngleEf @ 3423 NONAME - _ZN16QConicalGradient9setCenterERK7QPointF @ 3424 NONAME - _ZN16QConicalGradientC1ERK7QPointFf @ 3425 NONAME - _ZN16QConicalGradientC1Efff @ 3426 NONAME - _ZN16QConicalGradientC1Ev @ 3427 NONAME - _ZN16QConicalGradientC2ERK7QPointFf @ 3428 NONAME - _ZN16QConicalGradientC2Efff @ 3429 NONAME - _ZN16QConicalGradientC2Ev @ 3430 NONAME - _ZN16QDesktopServices11displayNameENS_16StandardLocationE @ 3431 NONAME - _ZN16QDesktopServices13setUrlHandlerERK7QStringP7QObjectPKc @ 3432 NONAME - _ZN16QDesktopServices15storageLocationENS_16StandardLocationE @ 3433 NONAME - _ZN16QDesktopServices15unsetUrlHandlerERK7QString @ 3434 NONAME - _ZN16QDesktopServices7openUrlERK4QUrl @ 3435 NONAME - _ZN16QDialogButtonBox11changeEventEP6QEvent @ 3436 NONAME - _ZN16QDialogButtonBox11qt_metacallEN11QMetaObject4CallEiPPv @ 3437 NONAME - _ZN16QDialogButtonBox11qt_metacastEPKc @ 3438 NONAME - _ZN16QDialogButtonBox12removeButtonEP15QAbstractButton @ 3439 NONAME - _ZN16QDialogButtonBox13helpRequestedEv @ 3440 NONAME - _ZN16QDialogButtonBox14setOrientationEN2Qt11OrientationE @ 3441 NONAME - _ZN16QDialogButtonBox16setCenterButtonsEb @ 3442 NONAME - _ZN16QDialogButtonBox16staticMetaObjectE @ 3443 NONAME DATA 16 - _ZN16QDialogButtonBox18setStandardButtonsE6QFlagsINS_14StandardButtonEE @ 3444 NONAME - _ZN16QDialogButtonBox5clearEv @ 3445 NONAME - _ZN16QDialogButtonBox5eventEP6QEvent @ 3446 NONAME - _ZN16QDialogButtonBox7clickedEP15QAbstractButton @ 3447 NONAME - _ZN16QDialogButtonBox8acceptedEv @ 3448 NONAME - _ZN16QDialogButtonBox8rejectedEv @ 3449 NONAME - _ZN16QDialogButtonBox9addButtonENS_14StandardButtonE @ 3450 NONAME - _ZN16QDialogButtonBox9addButtonEP15QAbstractButtonNS_10ButtonRoleE @ 3451 NONAME - _ZN16QDialogButtonBox9addButtonERK7QStringNS_10ButtonRoleE @ 3452 NONAME - _ZN16QDialogButtonBoxC1E6QFlagsINS_14StandardButtonEEN2Qt11OrientationEP7QWidget @ 3453 NONAME - _ZN16QDialogButtonBoxC1EN2Qt11OrientationEP7QWidget @ 3454 NONAME - _ZN16QDialogButtonBoxC1EP7QWidget @ 3455 NONAME - _ZN16QDialogButtonBoxC2E6QFlagsINS_14StandardButtonEEN2Qt11OrientationEP7QWidget @ 3456 NONAME - _ZN16QDialogButtonBoxC2EN2Qt11OrientationEP7QWidget @ 3457 NONAME - _ZN16QDialogButtonBoxC2EP7QWidget @ 3458 NONAME - _ZN16QDialogButtonBoxD0Ev @ 3459 NONAME - _ZN16QDialogButtonBoxD1Ev @ 3460 NONAME - _ZN16QDialogButtonBoxD2Ev @ 3461 NONAME - _ZN16QDoubleValidator11qt_metacallEN11QMetaObject4CallEiPPv @ 3462 NONAME - _ZN16QDoubleValidator11qt_metacastEPKc @ 3463 NONAME - _ZN16QDoubleValidator11setDecimalsEi @ 3464 NONAME - _ZN16QDoubleValidator11setNotationENS_8NotationE @ 3465 NONAME - _ZN16QDoubleValidator16staticMetaObjectE @ 3466 NONAME DATA 16 - _ZN16QDoubleValidator6setTopEd @ 3467 NONAME - _ZN16QDoubleValidator8setRangeEddi @ 3468 NONAME - _ZN16QDoubleValidator9setBottomEd @ 3469 NONAME - _ZN16QDoubleValidatorC1EP7QObject @ 3470 NONAME - _ZN16QDoubleValidatorC1EddiP7QObject @ 3471 NONAME - _ZN16QDoubleValidatorC2EP7QObject @ 3472 NONAME - _ZN16QDoubleValidatorC2EddiP7QObject @ 3473 NONAME - _ZN16QDoubleValidatorD0Ev @ 3474 NONAME - _ZN16QDoubleValidatorD1Ev @ 3475 NONAME - _ZN16QDoubleValidatorD2Ev @ 3476 NONAME - _ZN16QFileSystemModel10timerEventEP11QTimerEvent @ 3477 NONAME - _ZN16QFileSystemModel11fileRenamedERK7QStringS2_S2_ @ 3478 NONAME - _ZN16QFileSystemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 3479 NONAME - _ZN16QFileSystemModel11qt_metacastEPKc @ 3480 NONAME - _ZN16QFileSystemModel11setReadOnlyEb @ 3481 NONAME - _ZN16QFileSystemModel11setRootPathERK7QString @ 3482 NONAME - _ZN16QFileSystemModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 3483 NONAME - _ZN16QFileSystemModel14setNameFiltersERK11QStringList @ 3484 NONAME - _ZN16QFileSystemModel15rootPathChangedERK7QString @ 3485 NONAME - _ZN16QFileSystemModel15setIconProviderEP17QFileIconProvider @ 3486 NONAME - _ZN16QFileSystemModel16staticMetaObjectE @ 3487 NONAME DATA 16 - _ZN16QFileSystemModel18setResolveSymlinksEb @ 3488 NONAME - _ZN16QFileSystemModel21setNameFilterDisablesEb @ 3489 NONAME - _ZN16QFileSystemModel4sortEiN2Qt9SortOrderE @ 3490 NONAME - _ZN16QFileSystemModel5eventEP6QEvent @ 3491 NONAME - _ZN16QFileSystemModel5mkdirERK11QModelIndexRK7QString @ 3492 NONAME - _ZN16QFileSystemModel7setDataERK11QModelIndexRK8QVarianti @ 3493 NONAME - _ZN16QFileSystemModel9fetchMoreERK11QModelIndex @ 3494 NONAME - _ZN16QFileSystemModel9setFilterE6QFlagsIN4QDir6FilterEE @ 3495 NONAME - _ZN16QFileSystemModelC1EP7QObject @ 3496 NONAME - _ZN16QFileSystemModelC1ER23QFileSystemModelPrivateP7QObject @ 3497 NONAME - _ZN16QFileSystemModelC2EP7QObject @ 3498 NONAME - _ZN16QFileSystemModelC2ER23QFileSystemModelPrivateP7QObject @ 3499 NONAME - _ZN16QFileSystemModelD0Ev @ 3500 NONAME - _ZN16QFileSystemModelD1Ev @ 3501 NONAME - _ZN16QFileSystemModelD2Ev @ 3502 NONAME - _ZN16QFontEngineMulti11boundingBoxERK12QGlyphLayout @ 3503 NONAME ABSENT - _ZN16QFontEngineMulti11boundingBoxEj @ 3504 NONAME ABSENT - _ZN16QFontEngineMulti16addOutlineToPathEffRK12QGlyphLayoutP12QPainterPath6QFlagsIN9QTextItem10RenderFlagEE @ 3505 NONAME ABSENT - _ZN16QFontEngineMulti16alphaMapForGlyphEj @ 3506 NONAME ABSENT - _ZN16QFontEngineMulti9canRenderEPK5QChari @ 3507 NONAME ABSENT - _ZN16QFontEngineMultiC2Ei @ 3508 NONAME ABSENT - _ZN16QFontEngineMultiD0Ev @ 3509 NONAME ABSENT - _ZN16QFontEngineMultiD1Ev @ 3510 NONAME ABSENT - _ZN16QFontEngineMultiD2Ev @ 3511 NONAME ABSENT - _ZN16QPlaceHolderItemC1EP7QWidget @ 3512 NONAME - _ZN16QPlaceHolderItemC2EP7QWidget @ 3513 NONAME - _ZN16QRegExpValidator11qt_metacallEN11QMetaObject4CallEiPPv @ 3514 NONAME - _ZN16QRegExpValidator11qt_metacastEPKc @ 3515 NONAME - _ZN16QRegExpValidator16staticMetaObjectE @ 3516 NONAME DATA 16 - _ZN16QRegExpValidator9setRegExpERK7QRegExp @ 3517 NONAME - _ZN16QRegExpValidatorC1EP7QObject @ 3518 NONAME - _ZN16QRegExpValidatorC1ERK7QRegExpP7QObject @ 3519 NONAME - _ZN16QRegExpValidatorC2EP7QObject @ 3520 NONAME - _ZN16QRegExpValidatorC2ERK7QRegExpP7QObject @ 3521 NONAME - _ZN16QRegExpValidatorD0Ev @ 3522 NONAME - _ZN16QRegExpValidatorD1Ev @ 3523 NONAME - _ZN16QRegExpValidatorD2Ev @ 3524 NONAME - _ZN16QStringListModel10insertRowsEiiRK11QModelIndex @ 3525 NONAME - _ZN16QStringListModel10removeRowsEiiRK11QModelIndex @ 3526 NONAME - _ZN16QStringListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 3527 NONAME - _ZN16QStringListModel11qt_metacastEPKc @ 3528 NONAME - _ZN16QStringListModel13setStringListERK11QStringList @ 3529 NONAME - _ZN16QStringListModel16staticMetaObjectE @ 3530 NONAME DATA 16 - _ZN16QStringListModel4sortEiN2Qt9SortOrderE @ 3531 NONAME - _ZN16QStringListModel7setDataERK11QModelIndexRK8QVarianti @ 3532 NONAME - _ZN16QStringListModelC1EP7QObject @ 3533 NONAME - _ZN16QStringListModelC1ERK11QStringListP7QObject @ 3534 NONAME - _ZN16QStringListModelC2EP7QObject @ 3535 NONAME - _ZN16QStringListModelC2ERK11QStringListP7QObject @ 3536 NONAME - _ZN16QStyleHintReturnC1Eii @ 3537 NONAME - _ZN16QStyleHintReturnC2Eii @ 3538 NONAME - _ZN16QStyleHintReturnD1Ev @ 3539 NONAME - _ZN16QStyleHintReturnD2Ev @ 3540 NONAME - _ZN16QStyleSheetStyle10setPaletteEP7QWidget @ 3541 NONAME - _ZN16QStyleSheetStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 3542 NONAME - _ZN16QStyleSheetStyle11qt_metacastEPKc @ 3543 NONAME - _ZN16QStyleSheetStyle11setGeometryEP7QWidget @ 3544 NONAME - _ZN16QStyleSheetStyle12focusPaletteEPK7QWidgetPK12QStyleOptionP8QPalette @ 3545 NONAME ABSENT - _ZN16QStyleSheetStyle12numinstancesE @ 3546 NONAME DATA 4 - _ZN16QStyleSheetStyle12unsetPaletteEP7QWidget @ 3547 NONAME - _ZN16QStyleSheetStyle13setPropertiesEP7QWidget @ 3548 NONAME - _ZN16QStyleSheetStyle14isNaturalChildEPK7QWidget @ 3549 NONAME - _ZN16QStyleSheetStyle15widgetDestroyedEP7QObject @ 3550 NONAME - _ZN16QStyleSheetStyle16nativeFrameWidthEPK7QWidget @ 3551 NONAME - _ZN16QStyleSheetStyle16resolveAlignmentEN2Qt15LayoutDirectionE6QFlagsINS0_13AlignmentFlagEE @ 3552 NONAME - _ZN16QStyleSheetStyle16staticMetaObjectE @ 3553 NONAME DATA 16 - _ZN16QStyleSheetStyle5eventEP6QEvent @ 3554 NONAME - _ZN16QStyleSheetStyle6polishEP12QApplication @ 3555 NONAME - _ZN16QStyleSheetStyle6polishEP7QWidget @ 3556 NONAME - _ZN16QStyleSheetStyle6polishER8QPalette @ 3557 NONAME - _ZN16QStyleSheetStyle8repolishEP12QApplication @ 3558 NONAME - _ZN16QStyleSheetStyle8repolishEP7QWidget @ 3559 NONAME - _ZN16QStyleSheetStyle8unpolishEP12QApplication @ 3560 NONAME - _ZN16QStyleSheetStyle8unpolishEP7QWidget @ 3561 NONAME - _ZN16QStyleSheetStyleC1EP6QStyle @ 3562 NONAME - _ZN16QStyleSheetStyleC2EP6QStyle @ 3563 NONAME - _ZN16QStyleSheetStyleD0Ev @ 3564 NONAME - _ZN16QStyleSheetStyleD1Ev @ 3565 NONAME - _ZN16QStyleSheetStyleD2Ev @ 3566 NONAME - _ZN16QTableWidgetItem4readER11QDataStream @ 3567 NONAME - _ZN16QTableWidgetItem7setDataEiRK8QVariant @ 3568 NONAME - _ZN16QTableWidgetItem8setFlagsE6QFlagsIN2Qt8ItemFlagEE @ 3569 NONAME - _ZN16QTableWidgetItemC1ERK5QIconRK7QStringi @ 3570 NONAME - _ZN16QTableWidgetItemC1ERK7QStringi @ 3571 NONAME - _ZN16QTableWidgetItemC1ERKS_ @ 3572 NONAME - _ZN16QTableWidgetItemC1Ei @ 3573 NONAME - _ZN16QTableWidgetItemC2ERK5QIconRK7QStringi @ 3574 NONAME - _ZN16QTableWidgetItemC2ERK7QStringi @ 3575 NONAME - _ZN16QTableWidgetItemC2ERKS_ @ 3576 NONAME - _ZN16QTableWidgetItemC2Ei @ 3577 NONAME - _ZN16QTableWidgetItemD0Ev @ 3578 NONAME - _ZN16QTableWidgetItemD1Ev @ 3579 NONAME - _ZN16QTableWidgetItemD2Ev @ 3580 NONAME - _ZN16QTableWidgetItemaSERKS_ @ 3581 NONAME - _ZN16QTextBlockFormat15setTabPositionsERK5QListIN11QTextOption3TabEE @ 3582 NONAME - _ZN16QTextBlockFormatC1ERK11QTextFormat @ 3583 NONAME - _ZN16QTextBlockFormatC1Ev @ 3584 NONAME - _ZN16QTextBlockFormatC2ERK11QTextFormat @ 3585 NONAME - _ZN16QTextBlockFormatC2Ev @ 3586 NONAME - _ZN16QTextFrameFormat9setMarginEf @ 3587 NONAME - _ZN16QTextFrameFormatC1ERK11QTextFormat @ 3588 NONAME - _ZN16QTextFrameFormatC1Ev @ 3589 NONAME - _ZN16QTextFrameFormatC2ERK11QTextFormat @ 3590 NONAME - _ZN16QTextFrameFormatC2Ev @ 3591 NONAME - _ZN16QTextImageFormatC1ERK11QTextFormat @ 3592 NONAME - _ZN16QTextImageFormatC1Ev @ 3593 NONAME - _ZN16QTextImageFormatC2ERK11QTextFormat @ 3594 NONAME - _ZN16QTextImageFormatC2Ev @ 3595 NONAME - _ZN16QTextTableFormatC1ERK11QTextFormat @ 3596 NONAME - _ZN16QTextTableFormatC1Ev @ 3597 NONAME - _ZN16QTextTableFormatC2ERK11QTextFormat @ 3598 NONAME - _ZN16QTextTableFormatC2Ev @ 3599 NONAME - _ZN17QAbstractItemView10commitDataEP7QWidget @ 3600 NONAME - _ZN17QAbstractItemView10timerEventEP11QTimerEvent @ 3601 NONAME - _ZN17QAbstractItemView11closeEditorEP7QWidgetN21QAbstractItemDelegate11EndEditHintE @ 3602 NONAME - _ZN17QAbstractItemView11dataChangedERK11QModelIndexS2_ @ 3603 NONAME - _ZN17QAbstractItemView11qt_metacallEN11QMetaObject4CallEiPPv @ 3604 NONAME - _ZN17QAbstractItemView11qt_metacastEPKc @ 3605 NONAME - _ZN17QAbstractItemView11resizeEventEP12QResizeEvent @ 3606 NONAME - _ZN17QAbstractItemView11scrollToTopEv @ 3607 NONAME - _ZN17QAbstractItemView11setIconSizeERK5QSize @ 3608 NONAME - _ZN17QAbstractItemView12doAutoScrollEv @ 3609 NONAME - _ZN17QAbstractItemView12focusInEventEP11QFocusEvent @ 3610 NONAME - _ZN17QAbstractItemView12rowsInsertedERK11QModelIndexii @ 3611 NONAME - _ZN17QAbstractItemView12setRootIndexERK11QModelIndex @ 3612 NONAME - _ZN17QAbstractItemView13doItemsLayoutEv @ 3613 NONAME - _ZN17QAbstractItemView13doubleClickedERK11QModelIndex @ 3614 NONAME - _ZN17QAbstractItemView13dragMoveEventEP14QDragMoveEvent @ 3615 NONAME - _ZN17QAbstractItemView13focusOutEventEP11QFocusEvent @ 3616 NONAME - _ZN17QAbstractItemView13keyPressEventEP9QKeyEvent @ 3617 NONAME - _ZN17QAbstractItemView13setAutoScrollEb @ 3618 NONAME - _ZN17QAbstractItemView13viewportEventEP6QEvent @ 3619 NONAME - _ZN17QAbstractItemView14clearSelectionEv @ 3620 NONAME - _ZN17QAbstractItemView14currentChangedERK11QModelIndexS2_ @ 3621 NONAME - _ZN17QAbstractItemView14dragEnterEventEP15QDragEnterEvent @ 3622 NONAME - _ZN17QAbstractItemView14dragLeaveEventEP15QDragLeaveEvent @ 3623 NONAME - _ZN17QAbstractItemView14keyboardSearchERK7QString @ 3624 NONAME - _ZN17QAbstractItemView14mouseMoveEventEP11QMouseEvent @ 3625 NONAME - _ZN17QAbstractItemView14scrollToBottomEv @ 3626 NONAME - _ZN17QAbstractItemView14setDirtyRegionERK7QRegion @ 3627 NONAME - _ZN17QAbstractItemView14setDragEnabledEb @ 3628 NONAME - _ZN17QAbstractItemView14setIndexWidgetERK11QModelIndexP7QWidget @ 3629 NONAME - _ZN17QAbstractItemView14stopAutoScrollEv @ 3630 NONAME - _ZN17QAbstractItemView15editorDestroyedEP7QObject @ 3631 NONAME - _ZN17QAbstractItemView15mousePressEventEP11QMouseEvent @ 3632 NONAME - _ZN17QAbstractItemView15setCurrentIndexERK11QModelIndex @ 3633 NONAME - _ZN17QAbstractItemView15setDragDropModeENS_12DragDropModeE @ 3634 NONAME - _ZN17QAbstractItemView15setEditTriggersE6QFlagsINS_11EditTriggerEE @ 3635 NONAME - _ZN17QAbstractItemView15setItemDelegateEP21QAbstractItemDelegate @ 3636 NONAME - _ZN17QAbstractItemView15startAutoScrollEv @ 3637 NONAME - _ZN17QAbstractItemView15viewportEnteredEv @ 3638 NONAME - _ZN17QAbstractItemView16inputMethodEventEP17QInputMethodEvent @ 3639 NONAME - _ZN17QAbstractItemView16selectionChangedERK14QItemSelectionS2_ @ 3640 NONAME - _ZN17QAbstractItemView16setSelectionModeENS_13SelectionModeE @ 3641 NONAME - _ZN17QAbstractItemView16setTextElideModeEN2Qt13TextElideModeE @ 3642 NONAME - _ZN17QAbstractItemView16staticMetaObjectE @ 3643 NONAME DATA 16 - _ZN17QAbstractItemView16updateEditorDataEv @ 3644 NONAME - _ZN17QAbstractItemView16updateGeometriesEv @ 3645 NONAME - _ZN17QAbstractItemView17mouseReleaseEventEP11QMouseEvent @ 3646 NONAME - _ZN17QAbstractItemView17scrollDirtyRegionEii @ 3647 NONAME - _ZN17QAbstractItemView17setSelectionModelEP19QItemSelectionModel @ 3648 NONAME - _ZN17QAbstractItemView18focusNextPrevChildEb @ 3649 NONAME - _ZN17QAbstractItemView19setAutoScrollMarginEi @ 3650 NONAME - _ZN17QAbstractItemView19setTabKeyNavigationEb @ 3651 NONAME - _ZN17QAbstractItemView20openPersistentEditorERK11QModelIndex @ 3652 NONAME - _ZN17QAbstractItemView20rowsAboutToBeRemovedERK11QModelIndexii @ 3653 NONAME - _ZN17QAbstractItemView20setSelectionBehaviorENS_17SelectionBehaviorE @ 3654 NONAME - _ZN17QAbstractItemView21closePersistentEditorERK11QModelIndex @ 3655 NONAME - _ZN17QAbstractItemView21mouseDoubleClickEventEP11QMouseEvent @ 3656 NONAME - _ZN17QAbstractItemView21setDropIndicatorShownEb @ 3657 NONAME - _ZN17QAbstractItemView21setItemDelegateForRowEiP21QAbstractItemDelegate @ 3658 NONAME - _ZN17QAbstractItemView21setVerticalScrollModeENS_10ScrollModeE @ 3659 NONAME - _ZN17QAbstractItemView22updateEditorGeometriesEv @ 3660 NONAME - _ZN17QAbstractItemView23setAlternatingRowColorsEb @ 3661 NONAME - _ZN17QAbstractItemView23setHorizontalScrollModeENS_10ScrollModeE @ 3662 NONAME - _ZN17QAbstractItemView23setVerticalStepsPerItemEi @ 3663 NONAME - _ZN17QAbstractItemView23verticalScrollbarActionEi @ 3664 NONAME - _ZN17QAbstractItemView24setDragDropOverwriteModeEb @ 3665 NONAME - _ZN17QAbstractItemView24setItemDelegateForColumnEiP21QAbstractItemDelegate @ 3666 NONAME - _ZN17QAbstractItemView25executeDelayedItemsLayoutEv @ 3667 NONAME - _ZN17QAbstractItemView25horizontalScrollbarActionEi @ 3668 NONAME - _ZN17QAbstractItemView25setHorizontalStepsPerItemEi @ 3669 NONAME - _ZN17QAbstractItemView26scheduleDelayedItemsLayoutEv @ 3670 NONAME - _ZN17QAbstractItemView29verticalScrollbarValueChangedEi @ 3671 NONAME - _ZN17QAbstractItemView31horizontalScrollbarValueChangedEi @ 3672 NONAME - _ZN17QAbstractItemView4editERK11QModelIndex @ 3673 NONAME - _ZN17QAbstractItemView4editERK11QModelIndexNS_11EditTriggerEP6QEvent @ 3674 NONAME - _ZN17QAbstractItemView5eventEP6QEvent @ 3675 NONAME - _ZN17QAbstractItemView5resetEv @ 3676 NONAME - _ZN17QAbstractItemView6updateERK11QModelIndex @ 3677 NONAME - _ZN17QAbstractItemView7clickedERK11QModelIndex @ 3678 NONAME - _ZN17QAbstractItemView7enteredERK11QModelIndex @ 3679 NONAME - _ZN17QAbstractItemView7pressedERK11QModelIndex @ 3680 NONAME - _ZN17QAbstractItemView8setModelEP18QAbstractItemModel @ 3681 NONAME - _ZN17QAbstractItemView8setStateENS_5StateE @ 3682 NONAME - _ZN17QAbstractItemView9activatedERK11QModelIndex @ 3683 NONAME - _ZN17QAbstractItemView9dropEventEP10QDropEvent @ 3684 NONAME - _ZN17QAbstractItemView9selectAllEv @ 3685 NONAME - _ZN17QAbstractItemView9startDragE6QFlagsIN2Qt10DropActionEE @ 3686 NONAME - _ZN17QAbstractItemViewC2EP7QWidget @ 3687 NONAME - _ZN17QAbstractItemViewC2ER24QAbstractItemViewPrivateP7QWidget @ 3688 NONAME - _ZN17QAbstractItemViewD0Ev @ 3689 NONAME - _ZN17QAbstractItemViewD1Ev @ 3690 NONAME - _ZN17QAbstractItemViewD2Ev @ 3691 NONAME - _ZN17QContextMenuEventC1ENS_6ReasonERK6QPoint @ 3692 NONAME - _ZN17QContextMenuEventC1ENS_6ReasonERK6QPointS3_ @ 3693 NONAME - _ZN17QContextMenuEventC1ENS_6ReasonERK6QPointS3_6QFlagsIN2Qt16KeyboardModifierEE @ 3694 NONAME - _ZN17QContextMenuEventC2ENS_6ReasonERK6QPoint @ 3695 NONAME - _ZN17QContextMenuEventC2ENS_6ReasonERK6QPointS3_ @ 3696 NONAME - _ZN17QContextMenuEventC2ENS_6ReasonERK6QPointS3_6QFlagsIN2Qt16KeyboardModifierEE @ 3697 NONAME - _ZN17QContextMenuEventD0Ev @ 3698 NONAME - _ZN17QContextMenuEventD1Ev @ 3699 NONAME - _ZN17QContextMenuEventD2Ev @ 3700 NONAME - _ZN17QDataWidgetMapper10addMappingEP7QWidgeti @ 3701 NONAME - _ZN17QDataWidgetMapper10addMappingEP7QWidgetiRK10QByteArray @ 3702 NONAME - _ZN17QDataWidgetMapper10toPreviousEv @ 3703 NONAME - _ZN17QDataWidgetMapper11qt_metacallEN11QMetaObject4CallEiPPv @ 3704 NONAME - _ZN17QDataWidgetMapper11qt_metacastEPKc @ 3705 NONAME - _ZN17QDataWidgetMapper12clearMappingEv @ 3706 NONAME - _ZN17QDataWidgetMapper12setRootIndexERK11QModelIndex @ 3707 NONAME - _ZN17QDataWidgetMapper13removeMappingEP7QWidget @ 3708 NONAME - _ZN17QDataWidgetMapper14setOrientationEN2Qt11OrientationE @ 3709 NONAME - _ZN17QDataWidgetMapper15setCurrentIndexEi @ 3710 NONAME - _ZN17QDataWidgetMapper15setItemDelegateEP21QAbstractItemDelegate @ 3711 NONAME - _ZN17QDataWidgetMapper15setSubmitPolicyENS_12SubmitPolicyE @ 3712 NONAME - _ZN17QDataWidgetMapper16staticMetaObjectE @ 3713 NONAME DATA 16 - _ZN17QDataWidgetMapper19currentIndexChangedEi @ 3714 NONAME - _ZN17QDataWidgetMapper20setCurrentModelIndexERK11QModelIndex @ 3715 NONAME - _ZN17QDataWidgetMapper6revertEv @ 3716 NONAME - _ZN17QDataWidgetMapper6submitEv @ 3717 NONAME - _ZN17QDataWidgetMapper6toLastEv @ 3718 NONAME - _ZN17QDataWidgetMapper6toNextEv @ 3719 NONAME - _ZN17QDataWidgetMapper7toFirstEv @ 3720 NONAME - _ZN17QDataWidgetMapper8setModelEP18QAbstractItemModel @ 3721 NONAME - _ZN17QDataWidgetMapperC1EP7QObject @ 3722 NONAME - _ZN17QDataWidgetMapperC2EP7QObject @ 3723 NONAME - _ZN17QDataWidgetMapperD0Ev @ 3724 NONAME - _ZN17QDataWidgetMapperD1Ev @ 3725 NONAME - _ZN17QDataWidgetMapperD2Ev @ 3726 NONAME - _ZN17QDockWidgetLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 3727 NONAME - _ZN17QDockWidgetLayout11qt_metacastEPKc @ 3728 NONAME - _ZN17QDockWidgetLayout11setGeometryERK5QRect @ 3729 NONAME - _ZN17QDockWidgetLayout16setWidgetForRoleENS_4RoleEP7QWidget @ 3730 NONAME - _ZN17QDockWidgetLayout16staticMetaObjectE @ 3731 NONAME DATA 16 - _ZN17QDockWidgetLayout19setVerticalTitleBarEb @ 3732 NONAME - _ZN17QDockWidgetLayout6takeAtEi @ 3733 NONAME - _ZN17QDockWidgetLayout7addItemEP11QLayoutItem @ 3734 NONAME - _ZN17QDockWidgetLayoutC1EP7QWidget @ 3735 NONAME - _ZN17QDockWidgetLayoutC2EP7QWidget @ 3736 NONAME - _ZN17QDockWidgetLayoutD0Ev @ 3737 NONAME - _ZN17QDockWidgetLayoutD1Ev @ 3738 NONAME - _ZN17QDockWidgetLayoutD2Ev @ 3739 NONAME - _ZN17QFileIconProviderC1Ev @ 3740 NONAME - _ZN17QFileIconProviderC2Ev @ 3741 NONAME - _ZN17QFileIconProviderD0Ev @ 3742 NONAME - _ZN17QFileIconProviderD1Ev @ 3743 NONAME - _ZN17QFileIconProviderD2Ev @ 3744 NONAME - _ZN17QFileInfoGatherer10removePathERK7QString @ 3745 NONAME - _ZN17QFileInfoGatherer10updateFileERK7QString @ 3746 NONAME - _ZN17QFileInfoGatherer11fetchedRootE @ 3747 NONAME DATA 1 - _ZN17QFileInfoGatherer11qt_metacallEN11QMetaObject4CallEiPPv @ 3748 NONAME - _ZN17QFileInfoGatherer11qt_metacastEPKc @ 3749 NONAME - _ZN17QFileInfoGatherer12getFileInfosERK7QStringRK11QStringList @ 3750 NONAME - _ZN17QFileInfoGatherer15setIconProviderEP17QFileIconProvider @ 3751 NONAME - _ZN17QFileInfoGatherer16staticMetaObjectE @ 3752 NONAME DATA 16 - _ZN17QFileInfoGatherer18setResolveSymlinksEb @ 3753 NONAME - _ZN17QFileInfoGatherer24fetchExtendedInformationERK7QStringRK11QStringList @ 3754 NONAME - _ZN17QFileInfoGatherer3runEv @ 3755 NONAME - _ZN17QFileInfoGatherer4listERK7QString @ 3756 NONAME - _ZN17QFileInfoGatherer5clearEv @ 3757 NONAME - _ZN17QFileInfoGatherer5fetchERK9QFileInfoR5QTimeRbR5QListI5QPairI7QStringS0_EERKS8_ @ 3758 NONAME - _ZN17QFileInfoGatherer7updatesERK7QStringRK5QListI5QPairIS0_9QFileInfoEE @ 3759 NONAME - _ZN17QFileInfoGathererC1EP7QObject @ 3760 NONAME - _ZN17QFileInfoGathererC2EP7QObject @ 3761 NONAME - _ZN17QFileInfoGathererD0Ev @ 3762 NONAME - _ZN17QFileInfoGathererD1Ev @ 3763 NONAME - _ZN17QFileInfoGathererD2Ev @ 3764 NONAME - _ZN17QGraphicsLineItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 3765 NONAME - _ZN17QGraphicsLineItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3766 NONAME - _ZN17QGraphicsLineItem6setPenERK4QPen @ 3767 NONAME - _ZN17QGraphicsLineItem7setLineERK6QLineF @ 3768 NONAME - _ZN17QGraphicsLineItemC1EP13QGraphicsItemP14QGraphicsScene @ 3769 NONAME - _ZN17QGraphicsLineItemC1ERK6QLineFP13QGraphicsItemP14QGraphicsScene @ 3770 NONAME - _ZN17QGraphicsLineItemC1EffffP13QGraphicsItemP14QGraphicsScene @ 3771 NONAME - _ZN17QGraphicsLineItemC2EP13QGraphicsItemP14QGraphicsScene @ 3772 NONAME - _ZN17QGraphicsLineItemC2ERK6QLineFP13QGraphicsItemP14QGraphicsScene @ 3773 NONAME - _ZN17QGraphicsLineItemC2EffffP13QGraphicsItemP14QGraphicsScene @ 3774 NONAME - _ZN17QGraphicsLineItemD0Ev @ 3775 NONAME - _ZN17QGraphicsLineItemD1Ev @ 3776 NONAME - _ZN17QGraphicsLineItemD2Ev @ 3777 NONAME - _ZN17QGraphicsPathItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 3778 NONAME - _ZN17QGraphicsPathItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3779 NONAME - _ZN17QGraphicsPathItem7setPathERK12QPainterPath @ 3780 NONAME - _ZN17QGraphicsPathItemC1EP13QGraphicsItemP14QGraphicsScene @ 3781 NONAME - _ZN17QGraphicsPathItemC1ERK12QPainterPathP13QGraphicsItemP14QGraphicsScene @ 3782 NONAME - _ZN17QGraphicsPathItemC2EP13QGraphicsItemP14QGraphicsScene @ 3783 NONAME - _ZN17QGraphicsPathItemC2ERK12QPainterPathP13QGraphicsItemP14QGraphicsScene @ 3784 NONAME - _ZN17QGraphicsPathItemD0Ev @ 3785 NONAME - _ZN17QGraphicsPathItemD1Ev @ 3786 NONAME - _ZN17QGraphicsPathItemD2Ev @ 3787 NONAME - _ZN17QGraphicsRectItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 3788 NONAME - _ZN17QGraphicsRectItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3789 NONAME - _ZN17QGraphicsRectItem7setRectERK6QRectF @ 3790 NONAME - _ZN17QGraphicsRectItemC1EP13QGraphicsItemP14QGraphicsScene @ 3791 NONAME - _ZN17QGraphicsRectItemC1ERK6QRectFP13QGraphicsItemP14QGraphicsScene @ 3792 NONAME - _ZN17QGraphicsRectItemC1EffffP13QGraphicsItemP14QGraphicsScene @ 3793 NONAME - _ZN17QGraphicsRectItemC2EP13QGraphicsItemP14QGraphicsScene @ 3794 NONAME - _ZN17QGraphicsRectItemC2ERK6QRectFP13QGraphicsItemP14QGraphicsScene @ 3795 NONAME - _ZN17QGraphicsRectItemC2EffffP13QGraphicsItemP14QGraphicsScene @ 3796 NONAME - _ZN17QGraphicsRectItemD0Ev @ 3797 NONAME - _ZN17QGraphicsRectItemD1Ev @ 3798 NONAME - _ZN17QGraphicsRectItemD2Ev @ 3799 NONAME - _ZN17QGraphicsTextItem10adjustSizeEv @ 3800 NONAME - _ZN17QGraphicsTextItem10sceneEventEP6QEvent @ 3801 NONAME - _ZN17QGraphicsTextItem11linkHoveredERK7QString @ 3802 NONAME - _ZN17QGraphicsTextItem11qt_metacallEN11QMetaObject4CallEiPPv @ 3803 NONAME - _ZN17QGraphicsTextItem11qt_metacastEPKc @ 3804 NONAME - _ZN17QGraphicsTextItem11setDocumentEP13QTextDocument @ 3805 NONAME - _ZN17QGraphicsTextItem12focusInEventEP11QFocusEvent @ 3806 NONAME - _ZN17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 3807 NONAME - _ZN17QGraphicsTextItem12setPlainTextERK7QString @ 3808 NONAME - _ZN17QGraphicsTextItem12setTextWidthEf @ 3809 NONAME - _ZN17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 3810 NONAME - _ZN17QGraphicsTextItem13focusOutEventEP11QFocusEvent @ 3811 NONAME - _ZN17QGraphicsTextItem13keyPressEventEP9QKeyEvent @ 3812 NONAME - _ZN17QGraphicsTextItem13linkActivatedERK7QString @ 3813 NONAME - _ZN17QGraphicsTextItem13setTextCursorERK11QTextCursor @ 3814 NONAME - _ZN17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 3815 NONAME - _ZN17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 3816 NONAME - _ZN17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3817 NONAME - _ZN17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3818 NONAME - _ZN17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 3819 NONAME - _ZN17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 3820 NONAME - _ZN17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent @ 3821 NONAME - _ZN17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent @ 3822 NONAME - _ZN17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 3823 NONAME - _ZN17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent @ 3824 NONAME - _ZN17QGraphicsTextItem16staticMetaObjectE @ 3825 NONAME DATA 16 - _ZN17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3826 NONAME - _ZN17QGraphicsTextItem18setTabChangesFocusEb @ 3827 NONAME - _ZN17QGraphicsTextItem19setDefaultTextColorERK6QColor @ 3828 NONAME - _ZN17QGraphicsTextItem20setOpenExternalLinksEb @ 3829 NONAME - _ZN17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3830 NONAME - _ZN17QGraphicsTextItem23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 3831 NONAME - _ZN17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3832 NONAME - _ZN17QGraphicsTextItem7setFontERK5QFont @ 3833 NONAME - _ZN17QGraphicsTextItem7setHtmlERK7QString @ 3834 NONAME - _ZN17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent @ 3835 NONAME - _ZN17QGraphicsTextItemC1EP13QGraphicsItemP14QGraphicsScene @ 3836 NONAME - _ZN17QGraphicsTextItemC1ERK7QStringP13QGraphicsItemP14QGraphicsScene @ 3837 NONAME - _ZN17QGraphicsTextItemC2EP13QGraphicsItemP14QGraphicsScene @ 3838 NONAME - _ZN17QGraphicsTextItemC2ERK7QStringP13QGraphicsItemP14QGraphicsScene @ 3839 NONAME - _ZN17QGraphicsTextItemD0Ev @ 3840 NONAME - _ZN17QGraphicsTextItemD1Ev @ 3841 NONAME - _ZN17QGraphicsTextItemD2Ev @ 3842 NONAME - _ZN17QIconEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 3843 NONAME - _ZN17QIconEnginePlugin11qt_metacastEPKc @ 3844 NONAME - _ZN17QIconEnginePlugin16staticMetaObjectE @ 3845 NONAME DATA 16 - _ZN17QIconEnginePluginC2EP7QObject @ 3846 NONAME - _ZN17QIconEnginePluginD0Ev @ 3847 NONAME - _ZN17QIconEnginePluginD1Ev @ 3848 NONAME - _ZN17QIconEnginePluginD2Ev @ 3849 NONAME - _ZN17QInputMethodEvent15setCommitStringERK7QStringii @ 3850 NONAME - _ZN17QInputMethodEventC1ERK7QStringRK5QListINS_9AttributeEE @ 3851 NONAME - _ZN17QInputMethodEventC1ERKS_ @ 3852 NONAME - _ZN17QInputMethodEventC1Ev @ 3853 NONAME - _ZN17QInputMethodEventC2ERK7QStringRK5QListINS_9AttributeEE @ 3854 NONAME - _ZN17QInputMethodEventC2ERKS_ @ 3855 NONAME - _ZN17QInputMethodEventC2Ev @ 3856 NONAME - _ZN17QMainWindowLayout10addToolBarEN2Qt11ToolBarAreaEP8QToolBarb @ 3857 NONAME - _ZN17QMainWindowLayout10applyStateER22QMainWindowLayoutStateb @ 3858 NONAME - _ZN17QMainWindowLayout10invalidateEv @ 3859 NONAME - _ZN17QMainWindowLayout10tabChangedEv @ 3860 NONAME - _ZN17QMainWindowLayout11moveToolBarEP8QToolBari @ 3861 NONAME - _ZN17QMainWindowLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 3862 NONAME - _ZN17QMainWindowLayout11qt_metacastEPKc @ 3863 NONAME - _ZN17QMainWindowLayout11setGeometryERK5QRect @ 3864 NONAME - _ZN17QMainWindowLayout11setTabShapeEN10QTabWidget8TabShapeE @ 3865 NONAME - _ZN17QMainWindowLayout12restoreStateER11QDataStream @ 3866 NONAME - _ZN17QMainWindowLayout12setStatusBarEP10QStatusBar @ 3867 NONAME - _ZN17QMainWindowLayout13addDockWidgetEN2Qt14DockWidgetAreaEP11QDockWidgetNS0_11OrientationE @ 3868 NONAME - _ZN17QMainWindowLayout13insertToolBarEP8QToolBarS1_ @ 3869 NONAME - _ZN17QMainWindowLayout13removeToolBarEP8QToolBar @ 3870 NONAME - _ZN17QMainWindowLayout13separatorMoveERK6QPoint @ 3871 NONAME - _ZN17QMainWindowLayout14setDockOptionsE6QFlagsIN11QMainWindow10DockOptionEE @ 3872 NONAME - _ZN17QMainWindowLayout14setTabPositionE6QFlagsIN2Qt14DockWidgetAreaEEN10QTabWidget11TabPositionE @ 3873 NONAME - _ZN17QMainWindowLayout15addToolBarBreakEN2Qt11ToolBarAreaE @ 3874 NONAME - _ZN17QMainWindowLayout15doSeparatorMoveEv @ 3875 NONAME ABSENT - _ZN17QMainWindowLayout15setDocumentModeEb @ 3876 NONAME - _ZN17QMainWindowLayout15splitDockWidgetEP11QDockWidgetS1_N2Qt11OrientationE @ 3877 NONAME - _ZN17QMainWindowLayout16endSeparatorMoveERK6QPoint @ 3878 NONAME - _ZN17QMainWindowLayout16setCentralWidgetEP7QWidget @ 3879 NONAME - _ZN17QMainWindowLayout16staticMetaObjectE @ 3880 NONAME DATA 16 - _ZN17QMainWindowLayout16tabifyDockWidgetEP11QDockWidgetS1_ @ 3881 NONAME - _ZN17QMainWindowLayout17animationFinishedEP7QWidget @ 3882 NONAME - _ZN17QMainWindowLayout17restoreDockWidgetEP11QDockWidget @ 3883 NONAME - _ZN17QMainWindowLayout18getSeparatorWidgetEv @ 3884 NONAME - _ZN17QMainWindowLayout18insertToolBarBreakEP8QToolBar @ 3885 NONAME - _ZN17QMainWindowLayout18removeToolBarBreakEP8QToolBar @ 3886 NONAME - _ZN17QMainWindowLayout18startSeparatorMoveERK6QPoint @ 3887 NONAME - _ZN17QMainWindowLayout18updateGapIndicatorEv @ 3888 NONAME - _ZN17QMainWindowLayout18updateTabBarShapesEv @ 3889 NONAME - _ZN17QMainWindowLayout21allAnimationsFinishedEv @ 3890 NONAME ABSENT - _ZN17QMainWindowLayout21toggleToolBarsVisibleEv @ 3891 NONAME - _ZN17QMainWindowLayout22setVerticalTabsEnabledEb @ 3892 NONAME - _ZN17QMainWindowLayout4plugEP11QLayoutItem @ 3893 NONAME - _ZN17QMainWindowLayout5hoverEP11QLayoutItemRK6QPoint @ 3894 NONAME - _ZN17QMainWindowLayout5raiseEP11QDockWidget @ 3895 NONAME - _ZN17QMainWindowLayout6revertEP11QLayoutItem @ 3896 NONAME - _ZN17QMainWindowLayout6takeAtEi @ 3897 NONAME - _ZN17QMainWindowLayout6unplugEP7QWidget @ 3898 NONAME - _ZN17QMainWindowLayout7addItemEP11QLayoutItem @ 3899 NONAME - _ZN17QMainWindowLayout7restoreEb @ 3900 NONAME - _ZN17QMainWindowLayout8keepSizeEP11QDockWidget @ 3901 NONAME - _ZN17QMainWindowLayout9getTabBarEv @ 3902 NONAME - _ZN17QMainWindowLayout9setCornerEN2Qt6CornerENS0_14DockWidgetAreaE @ 3903 NONAME - _ZN17QMainWindowLayoutC1EP11QMainWindow @ 3904 NONAME - _ZN17QMainWindowLayoutC2EP11QMainWindow @ 3905 NONAME - _ZN17QMainWindowLayoutD0Ev @ 3906 NONAME - _ZN17QMainWindowLayoutD1Ev @ 3907 NONAME - _ZN17QMainWindowLayoutD2Ev @ 3908 NONAME - _ZN17QRasterPixmapData15setAlphaChannelERK7QPixmap @ 3909 NONAME - _ZN17QRasterPixmapData4fillERK6QColor @ 3910 NONAME - _ZN17QRasterPixmapData6bufferEv @ 3911 NONAME - _ZN17QRasterPixmapData6resizeEii @ 3912 NONAME - _ZN17QRasterPixmapData7setMaskERK7QBitmap @ 3913 NONAME - _ZN17QRasterPixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 3914 NONAME - _ZN17QRasterPixmapDataC1EN11QPixmapData9PixelTypeE @ 3915 NONAME - _ZN17QRasterPixmapDataC2EN11QPixmapData9PixelTypeE @ 3916 NONAME - _ZN17QRasterPixmapDataD0Ev @ 3917 NONAME - _ZN17QRasterPixmapDataD1Ev @ 3918 NONAME - _ZN17QRasterPixmapDataD2Ev @ 3919 NONAME - _ZN17QStyleOptionFrameC1Ei @ 3920 NONAME - _ZN17QStyleOptionFrameC1Ev @ 3921 NONAME - _ZN17QStyleOptionFrameC2Ei @ 3922 NONAME - _ZN17QStyleOptionFrameC2Ev @ 3923 NONAME - _ZN17QStyleOptionTabV2C1ERK15QStyleOptionTab @ 3924 NONAME - _ZN17QStyleOptionTabV2C1Ei @ 3925 NONAME - _ZN17QStyleOptionTabV2C1Ev @ 3926 NONAME - _ZN17QStyleOptionTabV2C2ERK15QStyleOptionTab @ 3927 NONAME - _ZN17QStyleOptionTabV2C2Ei @ 3928 NONAME - _ZN17QStyleOptionTabV2C2Ev @ 3929 NONAME - _ZN17QStyleOptionTabV2aSERK15QStyleOptionTab @ 3930 NONAME - _ZN17QStyleOptionTabV3C1ERK15QStyleOptionTab @ 3931 NONAME - _ZN17QStyleOptionTabV3C1Ei @ 3932 NONAME - _ZN17QStyleOptionTabV3C1Ev @ 3933 NONAME - _ZN17QStyleOptionTabV3C2ERK15QStyleOptionTab @ 3934 NONAME - _ZN17QStyleOptionTabV3C2Ei @ 3935 NONAME - _ZN17QStyleOptionTabV3C2Ev @ 3936 NONAME - _ZN17QStyleOptionTabV3aSERK15QStyleOptionTab @ 3937 NONAME - _ZN17QTextImageHandler10drawObjectEP8QPainterRK6QRectFP13QTextDocumentiRK11QTextFormat @ 3938 NONAME ABSENT - _ZN17QTextImageHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 3939 NONAME ABSENT - _ZN17QTextImageHandler11qt_metacastEPKc @ 3940 NONAME ABSENT - _ZN17QTextImageHandler13intrinsicSizeEP13QTextDocumentiRK11QTextFormat @ 3941 NONAME ABSENT - _ZN17QTextImageHandler14externalLoaderE @ 3942 NONAME DATA 4 - _ZN17QTextImageHandler16staticMetaObjectE @ 3943 NONAME DATA 16 ABSENT - _ZN17QTextImageHandlerC1EP7QObject @ 3944 NONAME ABSENT - _ZN17QTextImageHandlerC2EP7QObject @ 3945 NONAME ABSENT - _ZN17QTextInlineObject10setDescentEf @ 3946 NONAME - _ZN17QTextInlineObject8setWidthEf @ 3947 NONAME - _ZN17QTextInlineObject9setAscentEf @ 3948 NONAME - _ZN18QColumnViewPrivate10_q_clickedERK11QModelIndex @ 3949 NONAME - _ZN18QColumnViewPrivate10initializeEv @ 3950 NONAME - _ZN18QColumnViewPrivate12_q_gripMovedEi @ 3951 NONAME - _ZN18QColumnViewPrivate12closeColumnsERK11QModelIndexb @ 3952 NONAME - _ZN18QColumnViewPrivate12createColumnERK11QModelIndexb @ 3953 NONAME - _ZN18QColumnViewPrivate16setPreviewWidgetEP7QWidget @ 3954 NONAME - _ZN18QColumnViewPrivate16updateScrollbarsEv @ 3955 NONAME - _ZN18QColumnViewPrivate22_q_changeCurrentColumnEv @ 3956 NONAME - _ZN18QColumnViewPrivate8doLayoutEv @ 3957 NONAME - _ZN18QColumnViewPrivateC1Ev @ 3958 NONAME - _ZN18QColumnViewPrivateC2Ev @ 3959 NONAME - _ZN18QColumnViewPrivateD0Ev @ 3960 NONAME - _ZN18QColumnViewPrivateD1Ev @ 3961 NONAME - _ZN18QColumnViewPrivateD2Ev @ 3962 NONAME - _ZN18QCommandLinkButton10paintEventEP11QPaintEvent @ 3963 NONAME - _ZN18QCommandLinkButton11qt_metacallEN11QMetaObject4CallEiPPv @ 3964 NONAME - _ZN18QCommandLinkButton11qt_metacastEPKc @ 3965 NONAME - _ZN18QCommandLinkButton14setDescriptionERK7QString @ 3966 NONAME - _ZN18QCommandLinkButton16staticMetaObjectE @ 3967 NONAME DATA 16 - _ZN18QCommandLinkButton5eventEP6QEvent @ 3968 NONAME - _ZN18QCommandLinkButtonC1EP7QWidget @ 3969 NONAME - _ZN18QCommandLinkButtonC1ERK7QStringP7QWidget @ 3970 NONAME - _ZN18QCommandLinkButtonC1ERK7QStringS2_P7QWidget @ 3971 NONAME - _ZN18QCommandLinkButtonC2EP7QWidget @ 3972 NONAME - _ZN18QCommandLinkButtonC2ERK7QStringP7QWidget @ 3973 NONAME - _ZN18QCommandLinkButtonC2ERK7QStringS2_P7QWidget @ 3974 NONAME - _ZN18QDragResponseEventC1Eb @ 3975 NONAME - _ZN18QDragResponseEventC2Eb @ 3976 NONAME - _ZN18QDragResponseEventD0Ev @ 3977 NONAME - _ZN18QDragResponseEventD1Ev @ 3978 NONAME - _ZN18QDragResponseEventD2Ev @ 3979 NONAME - _ZN18QFileDialogPrivate10_q_goToUrlERK4QUrl @ 3980 NONAME - _ZN18QFileDialogPrivate13_q_showHeaderEP7QAction @ 3981 NONAME - _ZN18QFileDialogPrivate13_q_showHiddenEv @ 3982 NONAME - _ZN18QFileDialogPrivate13createWidgetsEv @ 3983 NONAME - _ZN18QFileDialogPrivate14_q_fileRenamedERK7QStringS0_S0_ @ 3984 NONAME - _ZN18QFileDialogPrivate14_q_pathChangedERK7QString @ 3985 NONAME - _ZN18QFileDialogPrivate15_q_rowsInsertedERK11QModelIndex @ 3986 NONAME - _ZN18QFileDialogPrivate15_q_showListViewEv @ 3987 NONAME - _ZN18QFileDialogPrivate15removeDirectoryERK7QString @ 3988 NONAME - _ZN18QFileDialogPrivate16_q_deleteCurrentEv @ 3989 NONAME - _ZN18QFileDialogPrivate16_q_goToDirectoryERK7QString @ 3990 NONAME - _ZN18QFileDialogPrivate16_q_renameCurrentEv @ 3991 NONAME - _ZN18QFileDialogPrivate16_q_useNameFilterEi @ 3992 NONAME - _ZN18QFileDialogPrivate16initialSelectionERK7QString @ 3993 NONAME - _ZN18QFileDialogPrivate16workingDirectoryERK7QString @ 3994 NONAME - _ZN18QFileDialogPrivate17_q_currentChangedERK11QModelIndex @ 3995 NONAME - _ZN18QFileDialogPrivate17_q_enterDirectoryERK11QModelIndex @ 3996 NONAME - _ZN18QFileDialogPrivate17_q_updateOkButtonEv @ 3997 NONAME - _ZN18QFileDialogPrivate17canBeNativeDialogEv @ 3998 NONAME - _ZN18QFileDialogPrivate17createMenuActionsEv @ 3999 NONAME - _ZN18QFileDialogPrivate17createToolButtonsEv @ 4000 NONAME - _ZN18QFileDialogPrivate17emitFilesSelectedERK11QStringList @ 4001 NONAME - _ZN18QFileDialogPrivate18_q_createDirectoryEv @ 4002 NONAME - _ZN18QFileDialogPrivate18_q_navigateForwardEv @ 4003 NONAME - _ZN18QFileDialogPrivate18_q_showContextMenuERK6QPoint @ 4004 NONAME - _ZN18QFileDialogPrivate18_q_showDetailsViewEv @ 4005 NONAME - _ZN18QFileDialogPrivate18retranslateStringsEv @ 4006 NONAME - _ZN18QFileDialogPrivate19_q_navigateBackwardEv @ 4007 NONAME - _ZN18QFileDialogPrivate19_q_navigateToParentEv @ 4008 NONAME - _ZN18QFileDialogPrivate19_q_selectionChangedEv @ 4009 NONAME - _ZN18QFileDialogPrivate21itemViewKeyboardEventEP9QKeyEvent @ 4010 NONAME - _ZN18QFileDialogPrivate22getEnvironmentVariableERK7QString @ 4011 NONAME - _ZN18QFileDialogPrivate22retranslateWindowTitleEv @ 4012 NONAME - _ZN18QFileDialogPrivate23_q_autoCompleteFileNameERK7QString @ 4013 NONAME - _ZN18QFileDialogPrivate23setLastVisitedDirectoryERK7QString @ 4014 NONAME - _ZN18QFileDialogPrivate4initERK7QStringS2_S2_ @ 4015 NONAME - _ZN18QFileDialogPrivate9_q_goHomeEv @ 4016 NONAME - _ZN18QFileDialogPrivateC1Ev @ 4017 NONAME - _ZN18QFileDialogPrivateC2Ev @ 4018 NONAME - _ZN18QFileDialogPrivateD0Ev @ 4019 NONAME - _ZN18QFileDialogPrivateD1Ev @ 4020 NONAME - _ZN18QFileDialogPrivateD2Ev @ 4021 NONAME - _ZN18QGraphicsItemGroup10addToGroupEP13QGraphicsItem @ 4022 NONAME - _ZN18QGraphicsItemGroup15removeFromGroupEP13QGraphicsItem @ 4023 NONAME - _ZN18QGraphicsItemGroup5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4024 NONAME - _ZN18QGraphicsItemGroupC1EP13QGraphicsItemP14QGraphicsScene @ 4025 NONAME - _ZN18QGraphicsItemGroupC2EP13QGraphicsItemP14QGraphicsScene @ 4026 NONAME - _ZN18QGraphicsItemGroupD0Ev @ 4027 NONAME - _ZN18QGraphicsItemGroupD1Ev @ 4028 NONAME - _ZN18QGraphicsItemGroupD2Ev @ 4029 NONAME - _ZN18QItemEditorFactory14defaultFactoryEv @ 4030 NONAME - _ZN18QItemEditorFactory14registerEditorEN8QVariant4TypeEP22QItemEditorCreatorBase @ 4031 NONAME - _ZN18QItemEditorFactory17setDefaultFactoryEPS_ @ 4032 NONAME - _ZN18QItemEditorFactoryD0Ev @ 4033 NONAME - _ZN18QItemEditorFactoryD1Ev @ 4034 NONAME - _ZN18QItemEditorFactoryD2Ev @ 4035 NONAME - _ZN18QPixmapDataFactory8instanceEi @ 4036 NONAME ABSENT - _ZN18QPixmapDataFactoryD0Ev @ 4037 NONAME ABSENT - _ZN18QPixmapDataFactoryD1Ev @ 4038 NONAME ABSENT - _ZN18QPixmapDataFactoryD2Ev @ 4039 NONAME ABSENT - _ZN18QStandardItemModel10insertRowsEiiRK11QModelIndex @ 4040 NONAME - _ZN18QStandardItemModel10removeRowsEiiRK11QModelIndex @ 4041 NONAME - _ZN18QStandardItemModel10takeColumnEi @ 4042 NONAME - _ZN18QStandardItemModel11itemChangedEP13QStandardItem @ 4043 NONAME - _ZN18QStandardItemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4044 NONAME - _ZN18QStandardItemModel11qt_metacastEPKc @ 4045 NONAME - _ZN18QStandardItemModel11setItemDataERK11QModelIndexRK4QMapIi8QVariantE @ 4046 NONAME - _ZN18QStandardItemModel11setRowCountEi @ 4047 NONAME - _ZN18QStandardItemModel11setSortRoleEi @ 4048 NONAME - _ZN18QStandardItemModel12appendColumnERK5QListIP13QStandardItemE @ 4049 NONAME - _ZN18QStandardItemModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 4050 NONAME - _ZN18QStandardItemModel12insertColumnEiRK5QListIP13QStandardItemE @ 4051 NONAME - _ZN18QStandardItemModel13insertColumnsEiiRK11QModelIndex @ 4052 NONAME - _ZN18QStandardItemModel13removeColumnsEiiRK11QModelIndex @ 4053 NONAME - _ZN18QStandardItemModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 4054 NONAME - _ZN18QStandardItemModel14setColumnCountEi @ 4055 NONAME - _ZN18QStandardItemModel16setItemPrototypeEPK13QStandardItem @ 4056 NONAME - _ZN18QStandardItemModel16staticMetaObjectE @ 4057 NONAME DATA 16 - _ZN18QStandardItemModel21setVerticalHeaderItemEiP13QStandardItem @ 4058 NONAME - _ZN18QStandardItemModel22takeVerticalHeaderItemEi @ 4059 NONAME - _ZN18QStandardItemModel23setHorizontalHeaderItemEiP13QStandardItem @ 4060 NONAME - _ZN18QStandardItemModel23setVerticalHeaderLabelsERK11QStringList @ 4061 NONAME - _ZN18QStandardItemModel24takeHorizontalHeaderItemEi @ 4062 NONAME - _ZN18QStandardItemModel25setHorizontalHeaderLabelsERK11QStringList @ 4063 NONAME - _ZN18QStandardItemModel4sortEiN2Qt9SortOrderE @ 4064 NONAME - _ZN18QStandardItemModel5clearEv @ 4065 NONAME - _ZN18QStandardItemModel7setDataERK11QModelIndexRK8QVarianti @ 4066 NONAME - _ZN18QStandardItemModel7setItemEiiP13QStandardItem @ 4067 NONAME - _ZN18QStandardItemModel7takeRowEi @ 4068 NONAME - _ZN18QStandardItemModel8takeItemEii @ 4069 NONAME - _ZN18QStandardItemModel9appendRowERK5QListIP13QStandardItemE @ 4070 NONAME - _ZN18QStandardItemModel9insertRowEiRK5QListIP13QStandardItemE @ 4071 NONAME - _ZN18QStandardItemModelC1EP7QObject @ 4072 NONAME - _ZN18QStandardItemModelC1ER25QStandardItemModelPrivateP7QObject @ 4073 NONAME - _ZN18QStandardItemModelC1EiiP7QObject @ 4074 NONAME - _ZN18QStandardItemModelC2EP7QObject @ 4075 NONAME - _ZN18QStandardItemModelC2ER25QStandardItemModelPrivateP7QObject @ 4076 NONAME - _ZN18QStandardItemModelC2EiiP7QObject @ 4077 NONAME - _ZN18QStandardItemModelD0Ev @ 4078 NONAME - _ZN18QStandardItemModelD1Ev @ 4079 NONAME - _ZN18QStandardItemModelD2Ev @ 4080 NONAME - _ZN18QStyleOptionButtonC1Ei @ 4081 NONAME - _ZN18QStyleOptionButtonC1Ev @ 4082 NONAME - _ZN18QStyleOptionButtonC2Ei @ 4083 NONAME - _ZN18QStyleOptionButtonC2Ev @ 4084 NONAME - _ZN18QStyleOptionHeaderC1Ei @ 4085 NONAME - _ZN18QStyleOptionHeaderC1Ev @ 4086 NONAME - _ZN18QStyleOptionHeaderC2Ei @ 4087 NONAME - _ZN18QStyleOptionHeaderC2Ev @ 4088 NONAME - _ZN18QStyleOptionSliderC1Ei @ 4089 NONAME - _ZN18QStyleOptionSliderC1Ev @ 4090 NONAME - _ZN18QStyleOptionSliderC2Ei @ 4091 NONAME - _ZN18QStyleOptionSliderC2Ev @ 4092 NONAME - _ZN18QSyntaxHighlighter11qt_metacallEN11QMetaObject4CallEiPPv @ 4093 NONAME - _ZN18QSyntaxHighlighter11qt_metacastEPKc @ 4094 NONAME - _ZN18QSyntaxHighlighter11rehighlightEv @ 4095 NONAME - _ZN18QSyntaxHighlighter11setDocumentEP13QTextDocument @ 4096 NONAME - _ZN18QSyntaxHighlighter16staticMetaObjectE @ 4097 NONAME DATA 16 - _ZN18QSyntaxHighlighter20setCurrentBlockStateEi @ 4098 NONAME - _ZN18QSyntaxHighlighter23setCurrentBlockUserDataEP18QTextBlockUserData @ 4099 NONAME - _ZN18QSyntaxHighlighter9setFormatEiiRK15QTextCharFormat @ 4100 NONAME - _ZN18QSyntaxHighlighter9setFormatEiiRK5QFont @ 4101 NONAME - _ZN18QSyntaxHighlighter9setFormatEiiRK6QColor @ 4102 NONAME - _ZN18QSyntaxHighlighterC2EP13QTextDocument @ 4103 NONAME - _ZN18QSyntaxHighlighterC2EP7QObject @ 4104 NONAME - _ZN18QSyntaxHighlighterC2EP9QTextEdit @ 4105 NONAME - _ZN18QSyntaxHighlighterD0Ev @ 4106 NONAME - _ZN18QSyntaxHighlighterD1Ev @ 4107 NONAME - _ZN18QSyntaxHighlighterD2Ev @ 4108 NONAME - _ZN18QTextBlockUserDataD0Ev @ 4109 NONAME - _ZN18QTextBlockUserDataD1Ev @ 4110 NONAME - _ZN18QTextBlockUserDataD2Ev @ 4111 NONAME - _ZN18QTextureGlyphCache8populateERK12QTextItemIntRK15QVarLengthArrayIjLi256EERKS3_I11QFixedPointLi256EE @ 4112 NONAME - _ZN19QAbstractProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4113 NONAME - _ZN19QAbstractProxyModel11qt_metacastEPKc @ 4114 NONAME - _ZN19QAbstractProxyModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 4115 NONAME - _ZN19QAbstractProxyModel14setSourceModelEP18QAbstractItemModel @ 4116 NONAME - _ZN19QAbstractProxyModel16staticMetaObjectE @ 4117 NONAME DATA 16 - _ZN19QAbstractProxyModel6revertEv @ 4118 NONAME - _ZN19QAbstractProxyModel6submitEv @ 4119 NONAME - _ZN19QAbstractProxyModel7setDataERK11QModelIndexRK8QVarianti @ 4120 NONAME - _ZN19QAbstractProxyModelC2EP7QObject @ 4121 NONAME - _ZN19QAbstractProxyModelC2ER26QAbstractProxyModelPrivateP7QObject @ 4122 NONAME - _ZN19QAbstractProxyModelD0Ev @ 4123 NONAME - _ZN19QAbstractProxyModelD1Ev @ 4124 NONAME - _ZN19QAbstractProxyModelD2Ev @ 4125 NONAME - _ZN19QAbstractScrollArea10paintEventEP11QPaintEvent @ 4126 NONAME - _ZN19QAbstractScrollArea10wheelEventEP11QWheelEvent @ 4127 NONAME - _ZN19QAbstractScrollArea11qt_metacallEN11QMetaObject4CallEiPPv @ 4128 NONAME - _ZN19QAbstractScrollArea11qt_metacastEPKc @ 4129 NONAME - _ZN19QAbstractScrollArea11resizeEventEP12QResizeEvent @ 4130 NONAME - _ZN19QAbstractScrollArea11setViewportEP7QWidget @ 4131 NONAME - _ZN19QAbstractScrollArea13dragMoveEventEP14QDragMoveEvent @ 4132 NONAME - _ZN19QAbstractScrollArea13keyPressEventEP9QKeyEvent @ 4133 NONAME - _ZN19QAbstractScrollArea13setupViewportEP7QWidget @ 4134 NONAME - _ZN19QAbstractScrollArea13viewportEventEP6QEvent @ 4135 NONAME - _ZN19QAbstractScrollArea14dragEnterEventEP15QDragEnterEvent @ 4136 NONAME - _ZN19QAbstractScrollArea14dragLeaveEventEP15QDragLeaveEvent @ 4137 NONAME - _ZN19QAbstractScrollArea14mouseMoveEventEP11QMouseEvent @ 4138 NONAME - _ZN19QAbstractScrollArea15mousePressEventEP11QMouseEvent @ 4139 NONAME - _ZN19QAbstractScrollArea15setCornerWidgetEP7QWidget @ 4140 NONAME - _ZN19QAbstractScrollArea16contextMenuEventEP17QContextMenuEvent @ 4141 NONAME - _ZN19QAbstractScrollArea16scrollBarWidgetsE6QFlagsIN2Qt13AlignmentFlagEE @ 4142 NONAME - _ZN19QAbstractScrollArea16scrollContentsByEii @ 4143 NONAME - _ZN19QAbstractScrollArea16staticMetaObjectE @ 4144 NONAME DATA 16 - _ZN19QAbstractScrollArea17mouseReleaseEventEP11QMouseEvent @ 4145 NONAME - _ZN19QAbstractScrollArea18addScrollBarWidgetEP7QWidget6QFlagsIN2Qt13AlignmentFlagEE @ 4146 NONAME - _ZN19QAbstractScrollArea18setViewportMarginsEiiii @ 4147 NONAME - _ZN19QAbstractScrollArea20setVerticalScrollBarEP10QScrollBar @ 4148 NONAME - _ZN19QAbstractScrollArea21mouseDoubleClickEventEP11QMouseEvent @ 4149 NONAME - _ZN19QAbstractScrollArea22setHorizontalScrollBarEP10QScrollBar @ 4150 NONAME - _ZN19QAbstractScrollArea26setVerticalScrollBarPolicyEN2Qt15ScrollBarPolicyE @ 4151 NONAME - _ZN19QAbstractScrollArea28setHorizontalScrollBarPolicyEN2Qt15ScrollBarPolicyE @ 4152 NONAME - _ZN19QAbstractScrollArea5eventEP6QEvent @ 4153 NONAME - _ZN19QAbstractScrollArea9dropEventEP10QDropEvent @ 4154 NONAME - _ZN19QAbstractScrollAreaC1EP7QWidget @ 4155 NONAME - _ZN19QAbstractScrollAreaC1ER26QAbstractScrollAreaPrivateP7QWidget @ 4156 NONAME - _ZN19QAbstractScrollAreaC2EP7QWidget @ 4157 NONAME - _ZN19QAbstractScrollAreaC2ER26QAbstractScrollAreaPrivateP7QWidget @ 4158 NONAME - _ZN19QAbstractScrollAreaD0Ev @ 4159 NONAME - _ZN19QAbstractScrollAreaD1Ev @ 4160 NONAME - _ZN19QAbstractScrollAreaD2Ev @ 4161 NONAME - _ZN19QApplicationPrivate10animate_uiE @ 4162 NONAME DATA 1 - _ZN19QApplicationPrivate10closePopupEP7QWidget @ 4163 NONAME - _ZN19QApplicationPrivate10enterModalEP7QWidget @ 4164 NONAME - _ZN19QApplicationPrivate10initializeEv @ 4165 NONAME - _ZN19QApplicationPrivate10leaveModalEP7QWidget @ 4166 NONAME - _ZN19QApplicationPrivate10modalStateEv @ 4167 NONAME - _ZN19QApplicationPrivate10styleSheetE @ 4168 NONAME DATA 4 - _ZN19QApplicationPrivate11main_widgetE @ 4169 NONAME DATA 4 - _ZN19QApplicationPrivate11widgetCountE @ 4170 NONAME DATA 1 - _ZN19QApplicationPrivate12animate_menuE @ 4171 NONAME DATA 1 - _ZN19QApplicationPrivate12fade_tooltipE @ 4172 NONAME DATA 1 - _ZN19QApplicationPrivate12focus_widgetE @ 4173 NONAME DATA 4 - _ZN19QApplicationPrivate12inputContextE @ 4174 NONAME DATA 4 - _ZN19QApplicationPrivate12oldEditFocusE @ 4175 NONAME DATA 4 - _ZN19QApplicationPrivate12popupWidgetsE @ 4176 NONAME DATA 4 - _ZN19QApplicationPrivate13active_windowE @ 4177 NONAME DATA 4 - _ZN19QApplicationPrivate13animate_comboE @ 4178 NONAME DATA 1 - _ZN19QApplicationPrivate13mouse_buttonsE @ 4179 NONAME DATA 4 - _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent @ 4180 NONAME - _ZN19QApplicationPrivate13scanCodeCacheE @ 4181 NONAME DATA 4 - _ZN19QApplicationPrivate13setSystemFontERK5QFont @ 4182 NONAME - _ZN19QApplicationPrivate13styleOverrideE @ 4183 NONAME DATA 4 - _ZN19QApplicationPrivate14autoSipEnabledE @ 4184 NONAME DATA 1 - _ZN19QApplicationPrivate14enterModal_sysEP7QWidget @ 4185 NONAME - _ZN19QApplicationPrivate14leaveModal_sysEP7QWidget @ 4186 NONAME - _ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_E @ 4187 NONAME ABSENT - _ZN19QApplicationPrivate14setFocusWidgetEP7QWidgetN2Qt11FocusReasonE @ 4188 NONAME - _ZN19QApplicationPrivate14shouldSetFocusEP7QWidgetN2Qt11FocusPolicyE @ 4189 NONAME - _ZN19QApplicationPrivate14tryModalHelperEP7QWidgetPS1_ @ 4190 NONAME - _ZN19QApplicationPrivate15animate_toolboxE @ 4191 NONAME DATA 1 - _ZN19QApplicationPrivate15animate_tooltipE @ 4192 NONAME DATA 1 - _ZN19QApplicationPrivate15currentPlatformEv @ 4193 NONAME - _ZN19QApplicationPrivate15graphics_systemE @ 4194 NONAME DATA 4 - _ZN19QApplicationPrivate15process_cmdlineEv @ 4195 NONAME - _ZN19QApplicationPrivate16isBlockedByModalEP7QWidget @ 4196 NONAME - _ZN19QApplicationPrivate16keypadNavigationE @ 4197 NONAME DATA 1 ABSENT - _ZN19QApplicationPrivate16modifier_buttonsE @ 4198 NONAME DATA 4 - _ZN19QApplicationPrivate16setSystemPaletteERK8QPalette @ 4199 NONAME - _ZN19QApplicationPrivate17cursor_flash_timeE @ 4200 NONAME DATA 4 - _ZN19QApplicationPrivate17leaveAfterReleaseE @ 4201 NONAME DATA 4 - _ZN19QApplicationPrivate17pickMouseReceiverEP7QWidgetRK6QPointRS2_N6QEvent4TypeE6QFlagsIN2Qt11MouseButtonEES1_S1_ @ 4202 NONAME - _ZN19QApplicationPrivate17setPalette_helperERK8QPalettePKcb @ 4203 NONAME - _ZN19QApplicationPrivate18dispatchEnterLeaveEP7QWidgetS1_ @ 4204 NONAME - _ZN19QApplicationPrivate18resolveS60ScanCodeEij @ 4205 NONAME - _ZN19QApplicationPrivate18wheel_scroll_linesE @ 4206 NONAME DATA 4 - _ZN19QApplicationPrivate19app_compile_versionE @ 4207 NONAME DATA 4 - _ZN19QApplicationPrivate19hidden_focus_widgetE @ 4208 NONAME DATA 4 - _ZN19QApplicationPrivate19keyboard_input_timeE @ 4209 NONAME DATA 4 - _ZN19QApplicationPrivate20emitLastWindowClosedEv @ 4210 NONAME - _ZN19QApplicationPrivate20graphics_system_nameE @ 4211 NONAME DATA 4 - _ZN19QApplicationPrivate21createEventDispatcherEv @ 4212 NONAME - _ZN19QApplicationPrivate21obey_desktop_settingsE @ 4213 NONAME DATA 1 - _ZN19QApplicationPrivate22quitOnLastWindowClosedE @ 4214 NONAME DATA 1 - _ZN19QApplicationPrivate23auto_sip_on_mouse_focusE @ 4215 NONAME DATA 1 ABSENT - _ZN19QApplicationPrivate23mouse_double_click_timeE @ 4216 NONAME DATA 4 - _ZN19QApplicationPrivate25focusNextPrevChild_helperEP7QWidgetb @ 4217 NONAME - _ZN19QApplicationPrivate27initializeWidgetPaletteHashEv @ 4218 NONAME - _ZN19QApplicationPrivate4selfE @ 4219 NONAME DATA 4 - _ZN19QApplicationPrivate7app_palE @ 4220 NONAME DATA 4 - _ZN19QApplicationPrivate7set_palE @ 4221 NONAME DATA 4 - _ZN19QApplicationPrivate7sys_palE @ 4222 NONAME DATA 4 - _ZN19QApplicationPrivate8app_fontE @ 4223 NONAME DATA 4 - _ZN19QApplicationPrivate8app_iconE @ 4224 NONAME DATA 4 - _ZN19QApplicationPrivate8set_fontE @ 4225 NONAME DATA 4 - _ZN19QApplicationPrivate8sys_fontE @ 4226 NONAME DATA 4 - _ZN19QApplicationPrivate9app_cspecE @ 4227 NONAME DATA 4 - _ZN19QApplicationPrivate9app_strutE @ 4228 NONAME DATA 8 - _ZN19QApplicationPrivate9app_styleE @ 4229 NONAME DATA 4 - _ZN19QApplicationPrivate9constructEv @ 4230 NONAME - _ZN19QApplicationPrivate9fade_menuE @ 4231 NONAME DATA 1 - _ZN19QApplicationPrivate9openPopupEP7QWidget @ 4232 NONAME - _ZN19QApplicationPrivateC1ERiPPcN12QApplication4TypeE @ 4233 NONAME - _ZN19QApplicationPrivateC2ERiPPcN12QApplication4TypeE @ 4234 NONAME - _ZN19QApplicationPrivateD0Ev @ 4235 NONAME - _ZN19QApplicationPrivateD1Ev @ 4236 NONAME - _ZN19QApplicationPrivateD2Ev @ 4237 NONAME - _ZN19QCoeFepInputContext10Extension1ERi @ 4238 NONAME - _ZN19QCoeFepInputContext10applyHintsE6QFlagsIN2Qt15InputMethodHintEE @ 4239 NONAME - _ZN19QCoeFepInputContext11applyFormatEP5QListIN17QInputMethodEvent9AttributeEE @ 4240 NONAME - _ZN19QCoeFepInputContext11filterEventEPK6QEvent @ 4241 NONAME - _ZN19QCoeFepInputContext11qt_metacallEN11QMetaObject4CallEiPPv @ 4242 NONAME - _ZN19QCoeFepInputContext11qt_metacastEPKc @ 4243 NONAME - _ZN19QCoeFepInputContext11updateHintsEv @ 4244 NONAME ABSENT - _ZN19QCoeFepInputContext12mouseHandlerEiP11QMouseEvent @ 4245 NONAME - _ZN19QCoeFepInputContext14setFocusWidgetEP7QWidget @ 4246 NONAME - _ZN19QCoeFepInputContext15MopSupplyObjectE8TTypeUid @ 4247 NONAME - _ZN19QCoeFepInputContext15widgetDestroyedEP7QWidget @ 4248 NONAME - _ZN19QCoeFepInputContext16staticMetaObjectE @ 4249 NONAME DATA 16 - _ZN19QCoeFepInputContext17inputCapabilitiesEv @ 4250 NONAME - _ZN19QCoeFepInputContext19CancelFepInlineEditEv @ 4251 NONAME - _ZN19QCoeFepInputContext19StartFepInlineEditLERK7TDesC16iiPK15MFormCustomDrawR29MFepInlineTextFormatRetrieverR39MFepPointerEventHandlerDuringInlineEdit @ 4252 NONAME - _ZN19QCoeFepInputContext19commitCurrentStringEb @ 4253 NONAME - _ZN19QCoeFepInputContext20UpdateFepInlineTextLERK7TDesC16i @ 4254 NONAME - _ZN19QCoeFepInputContext22DoCommitFepInlineEditLEv @ 4255 NONAME - _ZN19QCoeFepInputContext25SetCursorSelectionForFepLERK16TCursorSelection @ 4256 NONAME - _ZN19QCoeFepInputContext29SetStateTransferingOwnershipLEPN33MCoeFepAwareTextEditor_Extension16CStateE4TUid @ 4257 NONAME - _ZN19QCoeFepInputContext33SetInlineEditingCursorVisibilityLEi @ 4258 NONAME - _ZN19QCoeFepInputContext5StateE4TUid @ 4259 NONAME - _ZN19QCoeFepInputContext5resetEv @ 4260 NONAME - _ZN19QCoeFepInputContext6updateEv @ 4261 NONAME - _ZN19QCoeFepInputContext8languageEv @ 4262 NONAME - _ZN19QCoeFepInputContextC1EP7QObject @ 4263 NONAME - _ZN19QCoeFepInputContextC2EP7QObject @ 4264 NONAME - _ZN19QCoeFepInputContextD0Ev @ 4265 NONAME - _ZN19QCoeFepInputContextD1Ev @ 4266 NONAME - _ZN19QCoeFepInputContextD2Ev @ 4267 NONAME - _ZN19QDockAreaLayoutInfo12restoreStateER11QDataStreamR5QListIP11QDockWidgetEb @ 4268 NONAME - _ZN19QDockAreaLayoutInfo13separatorMoveEiiP7QVectorI13QLayoutStructE @ 4269 NONAME ABSENT - _ZN19QDockAreaLayoutInfo13setCurrentTabEP7QWidget @ 4270 NONAME - _ZN19QDockAreaLayoutInfo14setTabBarShapeEi @ 4271 NONAME - _ZN19QDockAreaLayoutInfo15setCurrentTabIdEj @ 4272 NONAME - _ZN19QDockAreaLayoutInfo20deleteAllLayoutItemsEv @ 4273 NONAME - _ZN19QDockAreaLayoutInfo3tabEiP11QLayoutItem @ 4274 NONAME - _ZN19QDockAreaLayoutInfo4infoE5QListIiE @ 4275 NONAME ABSENT - _ZN19QDockAreaLayoutInfo4infoEP7QWidget @ 4276 NONAME - _ZN19QDockAreaLayoutInfo4itemE5QListIiE @ 4277 NONAME ABSENT - _ZN19QDockAreaLayoutInfo4plugE5QListIiE @ 4278 NONAME ABSENT - _ZN19QDockAreaLayoutInfo5applyEb @ 4279 NONAME - _ZN19QDockAreaLayoutInfo5clearEv @ 4280 NONAME - _ZN19QDockAreaLayoutInfo5splitEiN2Qt11OrientationEP11QLayoutItem @ 4281 NONAME - _ZN19QDockAreaLayoutInfo6removeE5QListIiE @ 4282 NONAME ABSENT - _ZN19QDockAreaLayoutInfo6takeAtEPii @ 4283 NONAME - _ZN19QDockAreaLayoutInfo6unnestEi @ 4284 NONAME - _ZN19QDockAreaLayoutInfo6unplugE5QListIiE @ 4285 NONAME ABSENT - _ZN19QDockAreaLayoutInfo8fitItemsEv @ 4286 NONAME - _ZN19QDockAreaLayoutInfo9insertGapE5QListIiEP11QLayoutItem @ 4287 NONAME ABSENT - _ZN19QDockAreaLayoutInfoC1EiN9QInternal12DockPositionEN2Qt11OrientationEiP11QMainWindow @ 4288 NONAME - _ZN19QDockAreaLayoutInfoC1Ev @ 4289 NONAME - _ZN19QDockAreaLayoutInfoC2EiN9QInternal12DockPositionEN2Qt11OrientationEiP11QMainWindow @ 4290 NONAME - _ZN19QDockAreaLayoutInfoC2Ev @ 4291 NONAME - _ZN19QEventDispatcherS6011qt_metacallEN11QMetaObject4CallEiPPv @ 4292 NONAME - _ZN19QEventDispatcherS6011qt_metacastEPKc @ 4293 NONAME - _ZN19QEventDispatcherS6013processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE @ 4294 NONAME - _ZN19QEventDispatcherS6014saveInputEventEP15QSymbianControlP7QWidgetP11QInputEvent @ 4295 NONAME - _ZN19QEventDispatcherS6016hasPendingEventsEv @ 4296 NONAME - _ZN19QEventDispatcherS6016staticMetaObjectE @ 4297 NONAME DATA 16 - _ZN19QEventDispatcherS6023sendDeferredInputEventsEv @ 4298 NONAME - _ZN19QEventDispatcherS6026removeInputEventsForWidgetEP7QObject @ 4299 NONAME - _ZN19QEventDispatcherS60C1EP7QObject @ 4300 NONAME - _ZN19QEventDispatcherS60C2EP7QObject @ 4301 NONAME - _ZN19QEventDispatcherS60D0Ev @ 4302 NONAME - _ZN19QEventDispatcherS60D1Ev @ 4303 NONAME - _ZN19QEventDispatcherS60D2Ev @ 4304 NONAME - _ZN19QGraphicsGridLayout10invalidateEv @ 4305 NONAME - _ZN19QGraphicsGridLayout10setSpacingEf @ 4306 NONAME - _ZN19QGraphicsGridLayout11setGeometryERK6QRectF @ 4307 NONAME - _ZN19QGraphicsGridLayout12setAlignmentEP19QGraphicsLayoutItem6QFlagsIN2Qt13AlignmentFlagEE @ 4308 NONAME - _ZN19QGraphicsGridLayout13setRowSpacingEif @ 4309 NONAME - _ZN19QGraphicsGridLayout15setRowAlignmentEi6QFlagsIN2Qt13AlignmentFlagEE @ 4310 NONAME - _ZN19QGraphicsGridLayout16setColumnSpacingEif @ 4311 NONAME - _ZN19QGraphicsGridLayout17setRowFixedHeightEif @ 4312 NONAME - _ZN19QGraphicsGridLayout18setColumnAlignmentEi6QFlagsIN2Qt13AlignmentFlagEE @ 4313 NONAME - _ZN19QGraphicsGridLayout18setVerticalSpacingEf @ 4314 NONAME - _ZN19QGraphicsGridLayout19setColumnFixedWidthEif @ 4315 NONAME - _ZN19QGraphicsGridLayout19setRowMaximumHeightEif @ 4316 NONAME - _ZN19QGraphicsGridLayout19setRowMinimumHeightEif @ 4317 NONAME - _ZN19QGraphicsGridLayout19setRowStretchFactorEii @ 4318 NONAME - _ZN19QGraphicsGridLayout20setHorizontalSpacingEf @ 4319 NONAME - _ZN19QGraphicsGridLayout21setColumnMaximumWidthEif @ 4320 NONAME - _ZN19QGraphicsGridLayout21setColumnMinimumWidthEif @ 4321 NONAME - _ZN19QGraphicsGridLayout21setRowPreferredHeightEif @ 4322 NONAME - _ZN19QGraphicsGridLayout22setColumnStretchFactorEii @ 4323 NONAME - _ZN19QGraphicsGridLayout23setColumnPreferredWidthEif @ 4324 NONAME - _ZN19QGraphicsGridLayout7addItemEP19QGraphicsLayoutItemiiii6QFlagsIN2Qt13AlignmentFlagEE @ 4325 NONAME - _ZN19QGraphicsGridLayout8removeAtEi @ 4326 NONAME - _ZN19QGraphicsGridLayoutC1EP19QGraphicsLayoutItem @ 4327 NONAME - _ZN19QGraphicsGridLayoutC2EP19QGraphicsLayoutItem @ 4328 NONAME - _ZN19QGraphicsGridLayoutD0Ev @ 4329 NONAME - _ZN19QGraphicsGridLayoutD1Ev @ 4330 NONAME - _ZN19QGraphicsGridLayoutD2Ev @ 4331 NONAME - _ZN19QGraphicsLayoutItem11setGeometryERK6QRectF @ 4332 NONAME - _ZN19QGraphicsLayoutItem13setSizePolicyEN11QSizePolicy6PolicyES1_NS0_11ControlTypeE @ 4333 NONAME - _ZN19QGraphicsLayoutItem13setSizePolicyERK11QSizePolicy @ 4334 NONAME - _ZN19QGraphicsLayoutItem14setMaximumSizeERK6QSizeF @ 4335 NONAME - _ZN19QGraphicsLayoutItem14setMinimumSizeERK6QSizeF @ 4336 NONAME - _ZN19QGraphicsLayoutItem14updateGeometryEv @ 4337 NONAME - _ZN19QGraphicsLayoutItem15setGraphicsItemEP13QGraphicsItem @ 4338 NONAME - _ZN19QGraphicsLayoutItem15setMaximumWidthEf @ 4339 NONAME - _ZN19QGraphicsLayoutItem15setMinimumWidthEf @ 4340 NONAME - _ZN19QGraphicsLayoutItem16setMaximumHeightEf @ 4341 NONAME - _ZN19QGraphicsLayoutItem16setMinimumHeightEf @ 4342 NONAME - _ZN19QGraphicsLayoutItem16setOwnedByLayoutEb @ 4343 NONAME - _ZN19QGraphicsLayoutItem16setPreferredSizeERK6QSizeF @ 4344 NONAME - _ZN19QGraphicsLayoutItem17setPreferredWidthEf @ 4345 NONAME - _ZN19QGraphicsLayoutItem18setPreferredHeightEf @ 4346 NONAME - _ZN19QGraphicsLayoutItem19setParentLayoutItemEPS_ @ 4347 NONAME - _ZN19QGraphicsLayoutItemC2EPS_b @ 4348 NONAME - _ZN19QGraphicsLayoutItemC2ER26QGraphicsLayoutItemPrivate @ 4349 NONAME - _ZN19QGraphicsLayoutItemD0Ev @ 4350 NONAME - _ZN19QGraphicsLayoutItemD1Ev @ 4351 NONAME - _ZN19QGraphicsLayoutItemD2Ev @ 4352 NONAME - _ZN19QGraphicsPixmapItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4353 NONAME - _ZN19QGraphicsPixmapItem12setShapeModeENS_9ShapeModeE @ 4354 NONAME - _ZN19QGraphicsPixmapItem21setTransformationModeEN2Qt18TransformationModeE @ 4355 NONAME - _ZN19QGraphicsPixmapItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4356 NONAME - _ZN19QGraphicsPixmapItem9setOffsetERK7QPointF @ 4357 NONAME - _ZN19QGraphicsPixmapItem9setPixmapERK7QPixmap @ 4358 NONAME - _ZN19QGraphicsPixmapItemC1EP13QGraphicsItemP14QGraphicsScene @ 4359 NONAME - _ZN19QGraphicsPixmapItemC1ERK7QPixmapP13QGraphicsItemP14QGraphicsScene @ 4360 NONAME - _ZN19QGraphicsPixmapItemC2EP13QGraphicsItemP14QGraphicsScene @ 4361 NONAME - _ZN19QGraphicsPixmapItemC2ERK7QPixmapP13QGraphicsItemP14QGraphicsScene @ 4362 NONAME - _ZN19QGraphicsPixmapItemD0Ev @ 4363 NONAME - _ZN19QGraphicsPixmapItemD1Ev @ 4364 NONAME - _ZN19QGraphicsPixmapItemD2Ev @ 4365 NONAME - _ZN19QGraphicsSceneEvent9setWidgetEP7QWidget @ 4366 NONAME - _ZN19QGraphicsSceneEventC1EN6QEvent4TypeE @ 4367 NONAME - _ZN19QGraphicsSceneEventC1ER26QGraphicsSceneEventPrivateN6QEvent4TypeE @ 4368 NONAME - _ZN19QGraphicsSceneEventC2EN6QEvent4TypeE @ 4369 NONAME - _ZN19QGraphicsSceneEventC2ER26QGraphicsSceneEventPrivateN6QEvent4TypeE @ 4370 NONAME - _ZN19QGraphicsSceneEventD0Ev @ 4371 NONAME - _ZN19QGraphicsSceneEventD1Ev @ 4372 NONAME - _ZN19QGraphicsSceneEventD2Ev @ 4373 NONAME - _ZN19QIconEnginePluginV211qt_metacallEN11QMetaObject4CallEiPPv @ 4374 NONAME - _ZN19QIconEnginePluginV211qt_metacastEPKc @ 4375 NONAME - _ZN19QIconEnginePluginV216staticMetaObjectE @ 4376 NONAME DATA 16 - _ZN19QIconEnginePluginV2C2EP7QObject @ 4377 NONAME - _ZN19QIconEnginePluginV2D0Ev @ 4378 NONAME - _ZN19QIconEnginePluginV2D1Ev @ 4379 NONAME - _ZN19QIconEnginePluginV2D2Ev @ 4380 NONAME - _ZN19QInputContextPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 4381 NONAME - _ZN19QInputContextPlugin11qt_metacastEPKc @ 4382 NONAME - _ZN19QInputContextPlugin16staticMetaObjectE @ 4383 NONAME DATA 16 - _ZN19QInputContextPluginC2EP7QObject @ 4384 NONAME - _ZN19QInputContextPluginD0Ev @ 4385 NONAME - _ZN19QInputContextPluginD1Ev @ 4386 NONAME - _ZN19QInputContextPluginD2Ev @ 4387 NONAME - _ZN19QItemSelectionModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4388 NONAME - _ZN19QItemSelectionModel11qt_metacastEPKc @ 4389 NONAME - _ZN19QItemSelectionModel14clearSelectionEv @ 4390 NONAME - _ZN19QItemSelectionModel14currentChangedERK11QModelIndexS2_ @ 4391 NONAME - _ZN19QItemSelectionModel15setCurrentIndexERK11QModelIndex6QFlagsINS_13SelectionFlagEE @ 4392 NONAME - _ZN19QItemSelectionModel16selectionChangedERK14QItemSelectionS2_ @ 4393 NONAME - _ZN19QItemSelectionModel16staticMetaObjectE @ 4394 NONAME DATA 16 - _ZN19QItemSelectionModel17currentRowChangedERK11QModelIndexS2_ @ 4395 NONAME - _ZN19QItemSelectionModel20currentColumnChangedERK11QModelIndexS2_ @ 4396 NONAME - _ZN19QItemSelectionModel20emitSelectionChangedERK14QItemSelectionS2_ @ 4397 NONAME - _ZN19QItemSelectionModel5clearEv @ 4398 NONAME - _ZN19QItemSelectionModel5resetEv @ 4399 NONAME - _ZN19QItemSelectionModel6selectERK11QModelIndex6QFlagsINS_13SelectionFlagEE @ 4400 NONAME - _ZN19QItemSelectionModel6selectERK14QItemSelection6QFlagsINS_13SelectionFlagEE @ 4401 NONAME - _ZN19QItemSelectionModelC1EP18QAbstractItemModel @ 4402 NONAME - _ZN19QItemSelectionModelC1EP18QAbstractItemModelP7QObject @ 4403 NONAME - _ZN19QItemSelectionModelC1ER26QItemSelectionModelPrivateP18QAbstractItemModel @ 4404 NONAME - _ZN19QItemSelectionModelC2EP18QAbstractItemModel @ 4405 NONAME - _ZN19QItemSelectionModelC2EP18QAbstractItemModelP7QObject @ 4406 NONAME - _ZN19QItemSelectionModelC2ER26QItemSelectionModelPrivateP18QAbstractItemModel @ 4407 NONAME - _ZN19QItemSelectionModelD0Ev @ 4408 NONAME - _ZN19QItemSelectionModelD1Ev @ 4409 NONAME - _ZN19QItemSelectionModelD2Ev @ 4410 NONAME - _ZN19QKeySequencePrivate11keyBindingsE @ 4411 NONAME DATA 2256 - _ZN19QKeySequencePrivate12decodeStringERK7QStringN12QKeySequence14SequenceFormatE @ 4412 NONAME - _ZN19QKeySequencePrivate12encodeStringEiN12QKeySequence14SequenceFormatE @ 4413 NONAME - _ZN19QKeySequencePrivate19numberOfKeyBindingsE @ 4414 NONAME DATA 4 - _ZN19QPainterPathStroker11setCapStyleEN2Qt11PenCapStyleE @ 4415 NONAME - _ZN19QPainterPathStroker12setJoinStyleEN2Qt12PenJoinStyleE @ 4416 NONAME - _ZN19QPainterPathStroker13setDashOffsetEf @ 4417 NONAME - _ZN19QPainterPathStroker13setMiterLimitEf @ 4418 NONAME - _ZN19QPainterPathStroker14setDashPatternEN2Qt8PenStyleE @ 4419 NONAME - _ZN19QPainterPathStroker14setDashPatternERK7QVectorIfE @ 4420 NONAME - _ZN19QPainterPathStroker17setCurveThresholdEf @ 4421 NONAME - _ZN19QPainterPathStroker8setWidthEf @ 4422 NONAME - _ZN19QPainterPathStrokerC1Ev @ 4423 NONAME - _ZN19QPainterPathStrokerC2Ev @ 4424 NONAME - _ZN19QPainterPathStrokerD1Ev @ 4425 NONAME - _ZN19QPainterPathStrokerD2Ev @ 4426 NONAME - _ZN19QStyleOptionComplexC1Eii @ 4427 NONAME - _ZN19QStyleOptionComplexC2Eii @ 4428 NONAME - _ZN19QStyleOptionFrameV2C1ERK17QStyleOptionFrame @ 4429 NONAME - _ZN19QStyleOptionFrameV2C1Ei @ 4430 NONAME - _ZN19QStyleOptionFrameV2C1Ev @ 4431 NONAME - _ZN19QStyleOptionFrameV2C2ERK17QStyleOptionFrame @ 4432 NONAME - _ZN19QStyleOptionFrameV2C2Ei @ 4433 NONAME - _ZN19QStyleOptionFrameV2C2Ev @ 4434 NONAME - _ZN19QStyleOptionFrameV2aSERK17QStyleOptionFrame @ 4435 NONAME - _ZN19QStyleOptionFrameV3C1ERK17QStyleOptionFrame @ 4436 NONAME - _ZN19QStyleOptionFrameV3C1Ei @ 4437 NONAME - _ZN19QStyleOptionFrameV3C1Ev @ 4438 NONAME - _ZN19QStyleOptionFrameV3C2ERK17QStyleOptionFrame @ 4439 NONAME - _ZN19QStyleOptionFrameV3C2Ei @ 4440 NONAME - _ZN19QStyleOptionFrameV3C2Ev @ 4441 NONAME - _ZN19QStyleOptionFrameV3aSERK17QStyleOptionFrame @ 4442 NONAME - _ZN19QStyleOptionSpinBoxC1Ei @ 4443 NONAME - _ZN19QStyleOptionSpinBoxC1Ev @ 4444 NONAME - _ZN19QStyleOptionSpinBoxC2Ei @ 4445 NONAME - _ZN19QStyleOptionSpinBoxC2Ev @ 4446 NONAME - _ZN19QStyleOptionToolBarC1Ei @ 4447 NONAME - _ZN19QStyleOptionToolBarC1Ev @ 4448 NONAME - _ZN19QStyleOptionToolBarC2Ei @ 4449 NONAME - _ZN19QStyleOptionToolBarC2Ev @ 4450 NONAME - _ZN19QStyleOptionToolBoxC1Ei @ 4451 NONAME - _ZN19QStyleOptionToolBoxC1Ev @ 4452 NONAME - _ZN19QStyleOptionToolBoxC2Ei @ 4453 NONAME - _ZN19QStyleOptionToolBoxC2Ev @ 4454 NONAME - _ZN19QStyledItemDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex @ 4455 NONAME - _ZN19QStyledItemDelegate11eventFilterEP7QObjectP6QEvent @ 4456 NONAME - _ZN19QStyledItemDelegate11qt_metacallEN11QMetaObject4CallEiPPv @ 4457 NONAME - _ZN19QStyledItemDelegate11qt_metacastEPKc @ 4458 NONAME - _ZN19QStyledItemDelegate16staticMetaObjectE @ 4459 NONAME DATA 16 - _ZN19QStyledItemDelegate20setItemEditorFactoryEP18QItemEditorFactory @ 4460 NONAME - _ZN19QStyledItemDelegateC1EP7QObject @ 4461 NONAME - _ZN19QStyledItemDelegateC2EP7QObject @ 4462 NONAME - _ZN19QStyledItemDelegateD0Ev @ 4463 NONAME - _ZN19QStyledItemDelegateD1Ev @ 4464 NONAME - _ZN19QStyledItemDelegateD2Ev @ 4465 NONAME - _ZN19QTextDocumentLayout10timerEventEP11QTimerEvent @ 4466 NONAME - _ZN19QTextDocumentLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 4467 NONAME - _ZN19QTextDocumentLayout11qt_metacastEPKc @ 4468 NONAME - _ZN19QTextDocumentLayout11setViewportERK6QRectF @ 4469 NONAME - _ZN19QTextDocumentLayout14ensureLayoutedEf @ 4470 NONAME - _ZN19QTextDocumentLayout14layoutFinishedEv @ 4471 NONAME - _ZN19QTextDocumentLayout14setCursorWidthEi @ 4472 NONAME - _ZN19QTextDocumentLayout15documentChangedEiii @ 4473 NONAME - _ZN19QTextDocumentLayout16drawInlineObjectEP8QPainterRK6QRectF17QTextInlineObjectiRK11QTextFormat @ 4474 NONAME - _ZN19QTextDocumentLayout16staticMetaObjectE @ 4475 NONAME DATA 16 - _ZN19QTextDocumentLayout18resizeInlineObjectE17QTextInlineObjectiRK11QTextFormat @ 4476 NONAME - _ZN19QTextDocumentLayout19setFixedColumnWidthEi @ 4477 NONAME - _ZN19QTextDocumentLayout20positionInlineObjectE17QTextInlineObjectiRK11QTextFormat @ 4478 NONAME - _ZN19QTextDocumentLayout4drawEP8QPainterRKN27QAbstractTextDocumentLayout12PaintContextE @ 4479 NONAME - _ZN19QTextDocumentLayout8doLayoutEiii @ 4480 NONAME - _ZN19QTextDocumentLayoutC1EP13QTextDocument @ 4481 NONAME - _ZN19QTextDocumentLayoutC2EP13QTextDocument @ 4482 NONAME - _ZN19QTextDocumentWriter11setFileNameERK7QString @ 4483 NONAME - _ZN19QTextDocumentWriter24supportedDocumentFormatsEv @ 4484 NONAME - _ZN19QTextDocumentWriter5writeEPK13QTextDocument @ 4485 NONAME - _ZN19QTextDocumentWriter5writeERK21QTextDocumentFragment @ 4486 NONAME - _ZN19QTextDocumentWriter8setCodecEP10QTextCodec @ 4487 NONAME - _ZN19QTextDocumentWriter9setDeviceEP9QIODevice @ 4488 NONAME - _ZN19QTextDocumentWriter9setFormatERK10QByteArray @ 4489 NONAME - _ZN19QTextDocumentWriterC1EP9QIODeviceRK10QByteArray @ 4490 NONAME - _ZN19QTextDocumentWriterC1ERK7QStringRK10QByteArray @ 4491 NONAME - _ZN19QTextDocumentWriterC1Ev @ 4492 NONAME - _ZN19QTextDocumentWriterC2EP9QIODeviceRK10QByteArray @ 4493 NONAME - _ZN19QTextDocumentWriterC2ERK7QStringRK10QByteArray @ 4494 NONAME - _ZN19QTextDocumentWriterC2Ev @ 4495 NONAME - _ZN19QTextDocumentWriterD1Ev @ 4496 NONAME - _ZN19QTextDocumentWriterD2Ev @ 4497 NONAME - _ZN19QToolBarChangeEventC1Eb @ 4498 NONAME - _ZN19QToolBarChangeEventC2Eb @ 4499 NONAME - _ZN19QToolBarChangeEventD0Ev @ 4500 NONAME - _ZN19QToolBarChangeEventD1Ev @ 4501 NONAME - _ZN19QToolBarChangeEventD2Ev @ 4502 NONAME - _ZN19QWidgetBackingStore10beginPaintER7QRegionP7QWidgetP14QWindowSurfaceP14BeginPaintInfob @ 4503 NONAME - _ZN19QWidgetBackingStore11updateListsEP7QWidget @ 4504 NONAME - _ZN19QWidgetBackingStore13releaseBufferEv @ 4505 NONAME - _ZN19QWidgetBackingStore17markDirtyOnScreenERK7QRegionP7QWidgetRK6QPoint @ 4506 NONAME - _ZN19QWidgetBackingStore17removeDirtyWidgetEP7QWidget @ 4507 NONAME - _ZN19QWidgetBackingStore4syncEP7QWidgetRK7QRegion @ 4508 NONAME - _ZN19QWidgetBackingStore4syncEv @ 4509 NONAME - _ZN19QWidgetBackingStore5flushEP7QWidgetP14QWindowSurface @ 4510 NONAME - _ZN19QWidgetBackingStore7bltRectERK5QRectiiP7QWidget @ 4511 NONAME - _ZN19QWidgetBackingStore8endPaintERK7QRegionP14QWindowSurfaceP14BeginPaintInfo @ 4512 NONAME - _ZN19QWidgetBackingStore9markDirtyERK5QRectP7QWidgetbb @ 4513 NONAME - _ZN19QWidgetBackingStore9markDirtyERK7QRegionP7QWidgetbb @ 4514 NONAME - _ZN19QWidgetBackingStoreC1EP7QWidget @ 4515 NONAME - _ZN19QWidgetBackingStoreC2EP7QWidget @ 4516 NONAME - _ZN19QWidgetBackingStoreD1Ev @ 4517 NONAME - _ZN19QWidgetBackingStoreD2Ev @ 4518 NONAME - _ZN20QGraphicsEllipseItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4519 NONAME - _ZN20QGraphicsEllipseItem12setSpanAngleEi @ 4520 NONAME - _ZN20QGraphicsEllipseItem13setStartAngleEi @ 4521 NONAME - _ZN20QGraphicsEllipseItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4522 NONAME - _ZN20QGraphicsEllipseItem7setRectERK6QRectF @ 4523 NONAME - _ZN20QGraphicsEllipseItemC1EP13QGraphicsItemP14QGraphicsScene @ 4524 NONAME - _ZN20QGraphicsEllipseItemC1ERK6QRectFP13QGraphicsItemP14QGraphicsScene @ 4525 NONAME - _ZN20QGraphicsEllipseItemC1EffffP13QGraphicsItemP14QGraphicsScene @ 4526 NONAME - _ZN20QGraphicsEllipseItemC2EP13QGraphicsItemP14QGraphicsScene @ 4527 NONAME - _ZN20QGraphicsEllipseItemC2ERK6QRectFP13QGraphicsItemP14QGraphicsScene @ 4528 NONAME - _ZN20QGraphicsEllipseItemC2EffffP13QGraphicsItemP14QGraphicsScene @ 4529 NONAME - _ZN20QGraphicsEllipseItemD0Ev @ 4530 NONAME - _ZN20QGraphicsEllipseItemD1Ev @ 4531 NONAME - _ZN20QGraphicsEllipseItemD2Ev @ 4532 NONAME - _ZN20QGraphicsItemPrivate12remapItemPosEP6QEventP13QGraphicsItem @ 4533 NONAME - _ZN20QGraphicsItemPrivate12resolveDepthEi @ 4534 NONAME ABSENT - _ZN20QGraphicsItemPrivate12setPosHelperERK7QPointF @ 4535 NONAME - _ZN20QGraphicsItemPrivate12updateHelperERK6QRectFbb @ 4536 NONAME ABSENT - _ZN20QGraphicsItemPrivate16fullUpdateHelperEbbb @ 4537 NONAME ABSENT - _ZN20QGraphicsItemPrivate16setEnabledHelperEbbb @ 4538 NONAME - _ZN20QGraphicsItemPrivate16setVisibleHelperEbbb @ 4539 NONAME - _ZN20QGraphicsItemPrivate18setIsMemberOfGroupEb @ 4540 NONAME - _ZN20QGraphicsItemPrivate18updateAncestorFlagEN13QGraphicsItem16GraphicsItemFlagENS_12AncestorFlagEbb @ 4541 NONAME - _ZN20QGraphicsItemPrivate20removeExtraItemCacheEv @ 4542 NONAME - _ZN20QGraphicsItemPrivate22updateEffectiveOpacityEv @ 4543 NONAME ABSENT - _ZN20QGraphicsItemPrivate23resolveEffectiveOpacityEf @ 4544 NONAME ABSENT - _ZN20QGraphicsItemPrivate25movableAncestorIsSelectedEPK13QGraphicsItem @ 4545 NONAME - _ZN20QGraphicsItemPrivate29invalidateSceneTransformCacheEv @ 4546 NONAME ABSENT - _ZN20QGraphicsItemPrivate33setEmptyCachedClipPathRecursivelyERK6QRectF @ 4547 NONAME - _ZN20QGraphicsItemPrivate35invalidateCachedClipPathRecursivelyEbRK6QRectF @ 4548 NONAME - _ZN20QGraphicsItemPrivate36updateCachedClipPathFromSetPosHelperERK7QPointF @ 4549 NONAME - _ZN20QGraphicsPolygonItem10setPolygonERK9QPolygonF @ 4550 NONAME - _ZN20QGraphicsPolygonItem11setFillRuleEN2Qt8FillRuleE @ 4551 NONAME - _ZN20QGraphicsPolygonItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4552 NONAME - _ZN20QGraphicsPolygonItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4553 NONAME - _ZN20QGraphicsPolygonItemC1EP13QGraphicsItemP14QGraphicsScene @ 4554 NONAME - _ZN20QGraphicsPolygonItemC1ERK9QPolygonFP13QGraphicsItemP14QGraphicsScene @ 4555 NONAME - _ZN20QGraphicsPolygonItemC2EP13QGraphicsItemP14QGraphicsScene @ 4556 NONAME - _ZN20QGraphicsPolygonItemC2ERK9QPolygonFP13QGraphicsItemP14QGraphicsScene @ 4557 NONAME - _ZN20QGraphicsPolygonItemD0Ev @ 4558 NONAME - _ZN20QGraphicsPolygonItemD1Ev @ 4559 NONAME - _ZN20QGraphicsPolygonItemD2Ev @ 4560 NONAME - _ZN20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 4561 NONAME - _ZN20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent @ 4562 NONAME - _ZN20QGraphicsProxyWidget11eventFilterEP7QObjectP6QEvent @ 4563 NONAME - _ZN20QGraphicsProxyWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 4564 NONAME - _ZN20QGraphicsProxyWidget11qt_metacastEPKc @ 4565 NONAME - _ZN20QGraphicsProxyWidget11resizeEventEP25QGraphicsSceneResizeEvent @ 4566 NONAME - _ZN20QGraphicsProxyWidget11setGeometryERK6QRectF @ 4567 NONAME - _ZN20QGraphicsProxyWidget12focusInEventEP11QFocusEvent @ 4568 NONAME - _ZN20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 4569 NONAME - _ZN20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent @ 4570 NONAME - _ZN20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent @ 4571 NONAME - _ZN20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 4572 NONAME - _ZN20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 4573 NONAME - _ZN20QGraphicsProxyWidget14grabMouseEventEP6QEvent @ 4574 NONAME - _ZN20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 4575 NONAME - _ZN20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 4576 NONAME - _ZN20QGraphicsProxyWidget14newProxyWidgetEPK7QWidget @ 4577 NONAME - _ZN20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 4578 NONAME - _ZN20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 4579 NONAME - _ZN20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent @ 4580 NONAME - _ZN20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent @ 4581 NONAME - _ZN20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 4582 NONAME - _ZN20QGraphicsProxyWidget16staticMetaObjectE @ 4583 NONAME DATA 16 - _ZN20QGraphicsProxyWidget16ungrabMouseEventEP6QEvent @ 4584 NONAME - _ZN20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 4585 NONAME - _ZN20QGraphicsProxyWidget18focusNextPrevChildEb @ 4586 NONAME - _ZN20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 4587 NONAME - _ZN20QGraphicsProxyWidget25createProxyForChildWidgetEP7QWidget @ 4588 NONAME - _ZN20QGraphicsProxyWidget5eventEP6QEvent @ 4589 NONAME - _ZN20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4590 NONAME - _ZN20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent @ 4591 NONAME - _ZN20QGraphicsProxyWidget9hideEventEP10QHideEvent @ 4592 NONAME - _ZN20QGraphicsProxyWidget9setWidgetEP7QWidget @ 4593 NONAME - _ZN20QGraphicsProxyWidget9showEventEP10QShowEvent @ 4594 NONAME - _ZN20QGraphicsProxyWidgetC1EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 4595 NONAME - _ZN20QGraphicsProxyWidgetC2EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 4596 NONAME - _ZN20QGraphicsProxyWidgetD0Ev @ 4597 NONAME - _ZN20QGraphicsProxyWidgetD1Ev @ 4598 NONAME - _ZN20QGraphicsProxyWidgetD2Ev @ 4599 NONAME - _ZN20QGraphicsViewPrivate10centerViewEN13QGraphicsView14ViewportAnchorE @ 4600 NONAME - _ZN20QGraphicsViewPrivate10updateRectERK5QRect @ 4601 NONAME - _ZN20QGraphicsViewPrivate11itemUpdatedEP13QGraphicsItemRK6QRectF @ 4602 NONAME ABSENT - _ZN20QGraphicsViewPrivate11updateLaterEv @ 4603 NONAME ABSENT - _ZN20QGraphicsViewPrivate12updateRegionERK7QRegion @ 4604 NONAME - _ZN20QGraphicsViewPrivate12updateScrollEv @ 4605 NONAME - _ZN20QGraphicsViewPrivate15storeMouseEventEP11QMouseEvent @ 4606 NONAME - _ZN20QGraphicsViewPrivate18_q_updateLaterSlotEv @ 4607 NONAME ABSENT - _ZN20QGraphicsViewPrivate18storeDragDropEventEPK27QGraphicsSceneDragDropEvent @ 4608 NONAME - _ZN20QGraphicsViewPrivate20replayLastMouseEventEv @ 4609 NONAME - _ZN20QGraphicsViewPrivate21freeStyleOptionsArrayEP24QStyleOptionGraphicsItem @ 4610 NONAME - _ZN20QGraphicsViewPrivate21mouseMoveEventHandlerEP11QMouseEvent @ 4611 NONAME - _ZN20QGraphicsViewPrivate21updateLastCenterPointEv @ 4612 NONAME - _ZN20QGraphicsViewPrivate22allocStyleOptionsArrayEi @ 4613 NONAME - _ZN20QGraphicsViewPrivate22recalculateContentSizeEv @ 4614 NONAME - _ZN20QGraphicsViewPrivate26populateSceneDragDropEventEP27QGraphicsSceneDragDropEventP10QDropEvent @ 4615 NONAME - _ZN20QGraphicsViewPrivate9updateAllEv @ 4616 NONAME ABSENT - _ZN20QGraphicsViewPrivateC1Ev @ 4617 NONAME - _ZN20QGraphicsViewPrivateC2Ev @ 4618 NONAME - _ZN20QInputContextFactory11descriptionERK7QString @ 4619 NONAME - _ZN20QInputContextFactory11displayNameERK7QString @ 4620 NONAME - _ZN20QInputContextFactory4keysEv @ 4621 NONAME - _ZN20QInputContextFactory6createERK7QStringP7QObject @ 4622 NONAME - _ZN20QInputContextFactory9languagesERK7QString @ 4623 NONAME - _ZN20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture @ 4624 NONAME - _ZN20QPictureFormatPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 4625 NONAME - _ZN20QPictureFormatPlugin11qt_metacastEPKc @ 4626 NONAME - _ZN20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture @ 4627 NONAME - _ZN20QPictureFormatPlugin16staticMetaObjectE @ 4628 NONAME DATA 16 - _ZN20QPictureFormatPluginC2EP7QObject @ 4629 NONAME - _ZN20QPictureFormatPluginD0Ev @ 4630 NONAME - _ZN20QPictureFormatPluginD1Ev @ 4631 NONAME - _ZN20QPictureFormatPluginD2Ev @ 4632 NONAME - _ZN20QRasterWindowSurface10beginPaintERK7QRegion @ 4633 NONAME - _ZN20QRasterWindowSurface11paintDeviceEv @ 4634 NONAME - _ZN20QRasterWindowSurface11setGeometryERK5QRect @ 4635 NONAME - _ZN20QRasterWindowSurface13prepareBufferEN6QImage6FormatEP7QWidget @ 4636 NONAME - _ZN20QRasterWindowSurface5flushEP7QWidgetRK7QRegionRK6QPoint @ 4637 NONAME - _ZN20QRasterWindowSurface6scrollERK7QRegionii @ 4638 NONAME - _ZN20QRasterWindowSurfaceC1EP7QWidget @ 4639 NONAME - _ZN20QRasterWindowSurfaceC2EP7QWidget @ 4640 NONAME - _ZN20QRasterWindowSurfaceD0Ev @ 4641 NONAME - _ZN20QRasterWindowSurfaceD1Ev @ 4642 NONAME - _ZN20QRasterWindowSurfaceD2Ev @ 4643 NONAME - _ZN20QStyleHintReturnMaskC1Ev @ 4644 NONAME - _ZN20QStyleHintReturnMaskC2Ev @ 4645 NONAME - _ZN20QStyleOptionComboBoxC1Ei @ 4646 NONAME - _ZN20QStyleOptionComboBoxC1Ev @ 4647 NONAME - _ZN20QStyleOptionComboBoxC2Ei @ 4648 NONAME - _ZN20QStyleOptionComboBoxC2Ev @ 4649 NONAME - _ZN20QStyleOptionGroupBoxC1Ei @ 4650 NONAME - _ZN20QStyleOptionGroupBoxC1Ev @ 4651 NONAME - _ZN20QStyleOptionGroupBoxC2Ei @ 4652 NONAME - _ZN20QStyleOptionGroupBoxC2Ev @ 4653 NONAME - _ZN20QStyleOptionMenuItemC1Ei @ 4654 NONAME - _ZN20QStyleOptionMenuItemC1Ev @ 4655 NONAME - _ZN20QStyleOptionMenuItemC2Ei @ 4656 NONAME - _ZN20QStyleOptionMenuItemC2Ev @ 4657 NONAME - _ZN20QStyleOptionSizeGripC1Ei @ 4658 NONAME - _ZN20QStyleOptionSizeGripC1Ev @ 4659 NONAME - _ZN20QStyleOptionSizeGripC2Ei @ 4660 NONAME - _ZN20QStyleOptionSizeGripC2Ev @ 4661 NONAME - _ZN20QStyleOptionTitleBarC1Ei @ 4662 NONAME - _ZN20QStyleOptionTitleBarC1Ev @ 4663 NONAME - _ZN20QStyleOptionTitleBarC2Ei @ 4664 NONAME - _ZN20QStyleOptionTitleBarC2Ev @ 4665 NONAME - _ZN20QStyleOptionViewItemC1Ei @ 4666 NONAME - _ZN20QStyleOptionViewItemC1Ev @ 4667 NONAME - _ZN20QStyleOptionViewItemC2Ei @ 4668 NONAME - _ZN20QStyleOptionViewItemC2Ev @ 4669 NONAME - _ZN20QTextDocumentPrivate10clearFrameEP10QTextFrame @ 4670 NONAME - _ZN20QTextDocumentPrivate11insertBlockERK5QChariiiN16QTextUndoCommand9OperationE @ 4671 NONAME - _ZN20QTextDocumentPrivate11insertBlockEiiiN16QTextUndoCommand9OperationE @ 4672 NONAME - _ZN20QTextDocumentPrivate11insertFrameEiiRK16QTextFrameFormat @ 4673 NONAME - _ZN20QTextDocumentPrivate11removeFrameEP10QTextFrame @ 4674 NONAME - _ZN20QTextDocumentPrivate11scan_framesEiii @ 4675 NONAME - _ZN20QTextDocumentPrivate11setModifiedEb @ 4676 NONAME - _ZN20QTextDocumentPrivate12createObjectERK11QTextFormati @ 4677 NONAME - _ZN20QTextDocumentPrivate12deleteObjectEP11QTextObject @ 4678 NONAME - _ZN20QTextDocumentPrivate12endEditBlockEv @ 4679 NONAME - _ZN20QTextDocumentPrivate12insert_blockEijiiN16QTextUndoCommand9OperationEi @ 4680 NONAME - _ZN20QTextDocumentPrivate12insert_frameEP10QTextFrame @ 4681 NONAME - _ZN20QTextDocumentPrivate12remove_blockEiPiiN16QTextUndoCommand9OperationE @ 4682 NONAME - _ZN20QTextDocumentPrivate13insert_stringEijjiN16QTextUndoCommand9OperationE @ 4683 NONAME - _ZN20QTextDocumentPrivate13remove_stringEijN16QTextUndoCommand9OperationE @ 4684 NONAME - _ZN20QTextDocumentPrivate13setCharFormatEiiRK15QTextCharFormatNS_16FormatChangeModeE @ 4685 NONAME - _ZN20QTextDocumentPrivate14appendUndoItemEP17QAbstractUndoItem @ 4686 NONAME - _ZN20QTextDocumentPrivate14appendUndoItemERK16QTextUndoCommand @ 4687 NONAME - _ZN20QTextDocumentPrivate14documentChangeEii @ 4688 NONAME - _ZN20QTextDocumentPrivate14enableUndoRedoEb @ 4689 NONAME - _ZN20QTextDocumentPrivate14setBlockFormatERK10QTextBlockS2_RK16QTextBlockFormatNS_16FormatChangeModeE @ 4690 NONAME - _ZN20QTextDocumentPrivate15contentsChangedEv @ 4691 NONAME - _ZN20QTextDocumentPrivate17aboutToRemoveCellEii @ 4692 NONAME - _ZN20QTextDocumentPrivate17emitRedoAvailableEb @ 4693 NONAME - _ZN20QTextDocumentPrivate17emitUndoAvailableEb @ 4694 NONAME - _ZN20QTextDocumentPrivate17truncateUndoStackEv @ 4695 NONAME - _ZN20QTextDocumentPrivate18changeObjectFormatEP11QTextObjecti @ 4696 NONAME - _ZN20QTextDocumentPrivate18compressPieceTableEv @ 4697 NONAME - _ZN20QTextDocumentPrivate20mergeCachedResourcesEPKS_ @ 4698 NONAME - _ZN20QTextDocumentPrivate21joinPreviousEditBlockEv @ 4699 NONAME - _ZN20QTextDocumentPrivate23ensureMaximumBlockCountEv @ 4700 NONAME - _ZN20QTextDocumentPrivate31adjustDocumentChangesAndCursorsEiiN16QTextUndoCommand9OperationE @ 4701 NONAME - _ZN20QTextDocumentPrivate4initEv @ 4702 NONAME - _ZN20QTextDocumentPrivate4moveEiiiN16QTextUndoCommand9OperationE @ 4703 NONAME - _ZN20QTextDocumentPrivate5clearEv @ 4704 NONAME - _ZN20QTextDocumentPrivate5splitEi @ 4705 NONAME - _ZN20QTextDocumentPrivate5uniteEj @ 4706 NONAME - _ZN20QTextDocumentPrivate6insertEiRK7QStringi @ 4707 NONAME - _ZN20QTextDocumentPrivate6insertEiiii @ 4708 NONAME - _ZN20QTextDocumentPrivate6removeEiiN16QTextUndoCommand9OperationE @ 4709 NONAME - _ZN20QTextDocumentPrivate8undoRedoEb @ 4710 NONAME - _ZN20QTextDocumentPrivate9setLayoutEP27QAbstractTextDocumentLayout @ 4711 NONAME - _ZN20QTextDocumentPrivateC1Ev @ 4712 NONAME - _ZN20QTextDocumentPrivateC2Ev @ 4713 NONAME - _ZN20QTextDocumentPrivateD0Ev @ 4714 NONAME - _ZN20QTextDocumentPrivateD1Ev @ 4715 NONAME - _ZN20QTextDocumentPrivateD2Ev @ 4716 NONAME - _ZN20QTextFrameLayoutDataD0Ev @ 4717 NONAME - _ZN20QTextFrameLayoutDataD1Ev @ 4718 NONAME - _ZN20QTextFrameLayoutDataD2Ev @ 4719 NONAME - _ZN20QTextTableCellFormatC1ERK11QTextFormat @ 4720 NONAME - _ZN20QTextTableCellFormatC1Ev @ 4721 NONAME - _ZN20QTextTableCellFormatC2ERK11QTextFormat @ 4722 NONAME - _ZN20QTextTableCellFormatC2Ev @ 4723 NONAME - _ZN20QWidgetResizeHandler11eventFilterEP7QObjectP6QEvent @ 4724 NONAME - _ZN20QWidgetResizeHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 4725 NONAME - _ZN20QWidgetResizeHandler11qt_metacastEPKc @ 4726 NONAME - _ZN20QWidgetResizeHandler13keyPressEventEP9QKeyEvent @ 4727 NONAME - _ZN20QWidgetResizeHandler14mouseMoveEventEP11QMouseEvent @ 4728 NONAME - _ZN20QWidgetResizeHandler14setMouseCursorENS_13MousePositionE @ 4729 NONAME - _ZN20QWidgetResizeHandler16staticMetaObjectE @ 4730 NONAME DATA 16 - _ZN20QWidgetResizeHandler6doMoveEv @ 4731 NONAME - _ZN20QWidgetResizeHandler8activateEv @ 4732 NONAME - _ZN20QWidgetResizeHandler8doResizeEv @ 4733 NONAME - _ZN20QWidgetResizeHandler9setActiveENS_6ActionEb @ 4734 NONAME - _ZN20QWidgetResizeHandlerC1EP7QWidgetS1_ @ 4735 NONAME - _ZN20QWidgetResizeHandlerC2EP7QWidgetS1_ @ 4736 NONAME - _ZN21QAbstractItemDelegate10commitDataEP7QWidget @ 4737 NONAME - _ZN21QAbstractItemDelegate10elidedTextERK12QFontMetricsiN2Qt13TextElideModeERK7QString @ 4738 NONAME - _ZN21QAbstractItemDelegate11closeEditorEP7QWidgetNS_11EndEditHintE @ 4739 NONAME - _ZN21QAbstractItemDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex @ 4740 NONAME - _ZN21QAbstractItemDelegate11qt_metacallEN11QMetaObject4CallEiPPv @ 4741 NONAME - _ZN21QAbstractItemDelegate11qt_metacastEPKc @ 4742 NONAME - _ZN21QAbstractItemDelegate15sizeHintChangedERK11QModelIndex @ 4743 NONAME - _ZN21QAbstractItemDelegate16staticMetaObjectE @ 4744 NONAME DATA 16 - _ZN21QAbstractItemDelegate9helpEventEP10QHelpEventP17QAbstractItemViewRK20QStyleOptionViewItemRK11QModelIndex @ 4745 NONAME - _ZN21QAbstractItemDelegateC2EP7QObject @ 4746 NONAME - _ZN21QAbstractItemDelegateC2ER14QObjectPrivateP7QObject @ 4747 NONAME - _ZN21QAbstractItemDelegateD0Ev @ 4748 NONAME - _ZN21QAbstractItemDelegateD1Ev @ 4749 NONAME - _ZN21QAbstractItemDelegateD2Ev @ 4750 NONAME - _ZN21QFontEngineGlyphCacheD0Ev @ 4751 NONAME ABSENT - _ZN21QFontEngineGlyphCacheD1Ev @ 4752 NONAME ABSENT - _ZN21QFontEngineGlyphCacheD2Ev @ 4753 NONAME ABSENT - _ZN21QGraphicsLinearLayout10insertItemEiP19QGraphicsLayoutItem @ 4754 NONAME - _ZN21QGraphicsLinearLayout10invalidateEv @ 4755 NONAME - _ZN21QGraphicsLinearLayout10removeItemEP19QGraphicsLayoutItem @ 4756 NONAME - _ZN21QGraphicsLinearLayout10setSpacingEf @ 4757 NONAME - _ZN21QGraphicsLinearLayout11setGeometryERK6QRectF @ 4758 NONAME - _ZN21QGraphicsLinearLayout12setAlignmentEP19QGraphicsLayoutItem6QFlagsIN2Qt13AlignmentFlagEE @ 4759 NONAME - _ZN21QGraphicsLinearLayout13insertStretchEii @ 4760 NONAME - _ZN21QGraphicsLinearLayout14setItemSpacingEif @ 4761 NONAME - _ZN21QGraphicsLinearLayout14setOrientationEN2Qt11OrientationE @ 4762 NONAME - _ZN21QGraphicsLinearLayout16setStretchFactorEP19QGraphicsLayoutItemi @ 4763 NONAME - _ZN21QGraphicsLinearLayout8removeAtEi @ 4764 NONAME - _ZN21QGraphicsLinearLayoutC1EN2Qt11OrientationEP19QGraphicsLayoutItem @ 4765 NONAME - _ZN21QGraphicsLinearLayoutC1EP19QGraphicsLayoutItem @ 4766 NONAME - _ZN21QGraphicsLinearLayoutC2EN2Qt11OrientationEP19QGraphicsLayoutItem @ 4767 NONAME - _ZN21QGraphicsLinearLayoutC2EP19QGraphicsLayoutItem @ 4768 NONAME - _ZN21QGraphicsLinearLayoutD0Ev @ 4769 NONAME - _ZN21QGraphicsLinearLayoutD1Ev @ 4770 NONAME - _ZN21QGraphicsLinearLayoutD2Ev @ 4771 NONAME - _ZN21QGraphicsSystemPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 4772 NONAME - _ZN21QGraphicsSystemPlugin11qt_metacastEPKc @ 4773 NONAME - _ZN21QGraphicsSystemPlugin16staticMetaObjectE @ 4774 NONAME DATA 16 - _ZN21QGraphicsSystemPluginC2EP7QObject @ 4775 NONAME - _ZN21QGraphicsSystemPluginD0Ev @ 4776 NONAME - _ZN21QGraphicsSystemPluginD1Ev @ 4777 NONAME - _ZN21QGraphicsSystemPluginD2Ev @ 4778 NONAME - _ZN21QPaintEngineExPrivateC1Ev @ 4779 NONAME - _ZN21QPaintEngineExPrivateC2Ev @ 4780 NONAME - _ZN21QPaintEngineExPrivateD0Ev @ 4781 NONAME - _ZN21QPaintEngineExPrivateD1Ev @ 4782 NONAME - _ZN21QPaintEngineExPrivateD2Ev @ 4783 NONAME - _ZN21QPixmapColorizeFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 4784 NONAME - _ZN21QPixmapColorizeFilter11qt_metacastEPKc @ 4785 NONAME - _ZN21QPixmapColorizeFilter16staticMetaObjectE @ 4786 NONAME DATA 16 - _ZN21QPixmapColorizeFilter8setColorERK6QColor @ 4787 NONAME - _ZN21QPixmapColorizeFilterC1EP7QObject @ 4788 NONAME - _ZN21QPixmapColorizeFilterC2EP7QObject @ 4789 NONAME - _ZN21QSortFilterProxyModel10insertRowsEiiRK11QModelIndex @ 4790 NONAME - _ZN21QSortFilterProxyModel10invalidateEv @ 4791 NONAME - _ZN21QSortFilterProxyModel10removeRowsEiiRK11QModelIndex @ 4792 NONAME - _ZN21QSortFilterProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4793 NONAME - _ZN21QSortFilterProxyModel11qt_metacastEPKc @ 4794 NONAME - _ZN21QSortFilterProxyModel11setSortRoleEi @ 4795 NONAME - _ZN21QSortFilterProxyModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 4796 NONAME - _ZN21QSortFilterProxyModel13filterChangedEv @ 4797 NONAME - _ZN21QSortFilterProxyModel13insertColumnsEiiRK11QModelIndex @ 4798 NONAME - _ZN21QSortFilterProxyModel13removeColumnsEiiRK11QModelIndex @ 4799 NONAME - _ZN21QSortFilterProxyModel13setFilterRoleEi @ 4800 NONAME - _ZN21QSortFilterProxyModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 4801 NONAME - _ZN21QSortFilterProxyModel14setSourceModelEP18QAbstractItemModel @ 4802 NONAME - _ZN21QSortFilterProxyModel15setFilterRegExpERK7QRegExp @ 4803 NONAME - _ZN21QSortFilterProxyModel15setFilterRegExpERK7QString @ 4804 NONAME - _ZN21QSortFilterProxyModel16invalidateFilterEv @ 4805 NONAME - _ZN21QSortFilterProxyModel16staticMetaObjectE @ 4806 NONAME DATA 16 - _ZN21QSortFilterProxyModel17setFilterWildcardERK7QString @ 4807 NONAME - _ZN21QSortFilterProxyModel18setFilterKeyColumnEi @ 4808 NONAME - _ZN21QSortFilterProxyModel18setSortLocaleAwareEb @ 4809 NONAME - _ZN21QSortFilterProxyModel20setDynamicSortFilterEb @ 4810 NONAME - _ZN21QSortFilterProxyModel20setFilterFixedStringERK7QString @ 4811 NONAME - _ZN21QSortFilterProxyModel22setSortCaseSensitivityEN2Qt15CaseSensitivityE @ 4812 NONAME - _ZN21QSortFilterProxyModel24setFilterCaseSensitivityEN2Qt15CaseSensitivityE @ 4813 NONAME - _ZN21QSortFilterProxyModel4sortEiN2Qt9SortOrderE @ 4814 NONAME - _ZN21QSortFilterProxyModel5clearEv @ 4815 NONAME - _ZN21QSortFilterProxyModel7setDataERK11QModelIndexRK8QVarianti @ 4816 NONAME - _ZN21QSortFilterProxyModel9fetchMoreERK11QModelIndex @ 4817 NONAME - _ZN21QSortFilterProxyModelC1EP7QObject @ 4818 NONAME - _ZN21QSortFilterProxyModelC2EP7QObject @ 4819 NONAME - _ZN21QSortFilterProxyModelD0Ev @ 4820 NONAME - _ZN21QSortFilterProxyModelD1Ev @ 4821 NONAME - _ZN21QSortFilterProxyModelD2Ev @ 4822 NONAME - _ZN21QStyleOptionFocusRectC1Ei @ 4823 NONAME - _ZN21QStyleOptionFocusRectC1Ev @ 4824 NONAME - _ZN21QStyleOptionFocusRectC2Ei @ 4825 NONAME - _ZN21QStyleOptionFocusRectC2Ev @ 4826 NONAME - _ZN21QStyleOptionToolBoxV2C1ERK19QStyleOptionToolBox @ 4827 NONAME - _ZN21QStyleOptionToolBoxV2C1Ei @ 4828 NONAME - _ZN21QStyleOptionToolBoxV2C1Ev @ 4829 NONAME - _ZN21QStyleOptionToolBoxV2C2ERK19QStyleOptionToolBox @ 4830 NONAME - _ZN21QStyleOptionToolBoxV2C2Ei @ 4831 NONAME - _ZN21QStyleOptionToolBoxV2C2Ev @ 4832 NONAME - _ZN21QStyleOptionToolBoxV2aSERK19QStyleOptionToolBox @ 4833 NONAME - _ZN21QTextDocumentFragment13fromPlainTextERK7QString @ 4834 NONAME - _ZN21QTextDocumentFragment8fromHtmlERK7QString @ 4835 NONAME - _ZN21QTextDocumentFragment8fromHtmlERK7QStringPK13QTextDocument @ 4836 NONAME - _ZN21QTextDocumentFragmentC1EPK13QTextDocument @ 4837 NONAME - _ZN21QTextDocumentFragmentC1ERK11QTextCursor @ 4838 NONAME - _ZN21QTextDocumentFragmentC1ERKS_ @ 4839 NONAME - _ZN21QTextDocumentFragmentC1Ev @ 4840 NONAME - _ZN21QTextDocumentFragmentC2EPK13QTextDocument @ 4841 NONAME - _ZN21QTextDocumentFragmentC2ERK11QTextCursor @ 4842 NONAME - _ZN21QTextDocumentFragmentC2ERKS_ @ 4843 NONAME - _ZN21QTextDocumentFragmentC2Ev @ 4844 NONAME - _ZN21QTextDocumentFragmentD1Ev @ 4845 NONAME - _ZN21QTextDocumentFragmentD2Ev @ 4846 NONAME - _ZN21QTextDocumentFragmentaSERKS_ @ 4847 NONAME - _ZN21QTextFormatCollection14indexForFormatERK11QTextFormat @ 4848 NONAME - _ZN21QTextFormatCollection14setDefaultFontERK5QFont @ 4849 NONAME - _ZN21QTextFormatCollection15setObjectFormatEiRK11QTextFormat @ 4850 NONAME - _ZN21QTextFormatCollection17createObjectIndexERK11QTextFormat @ 4851 NONAME - _ZN21QTextFormatCollection20setObjectFormatIndexEii @ 4852 NONAME - _ZN21QTextFormatCollectionC1ERKS_ @ 4853 NONAME - _ZN21QTextFormatCollectionC2ERKS_ @ 4854 NONAME - _ZN21QTextFormatCollectionD1Ev @ 4855 NONAME - _ZN21QTextFormatCollectionD2Ev @ 4856 NONAME - _ZN21QTextFormatCollectionaSERKS_ @ 4857 NONAME - _ZN22QGraphicsItemAnimation10setScaleAtEfff @ 4858 NONAME - _ZN22QGraphicsItemAnimation10setShearAtEfff @ 4859 NONAME - _ZN22QGraphicsItemAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 4860 NONAME - _ZN22QGraphicsItemAnimation11qt_metacastEPKc @ 4861 NONAME - _ZN22QGraphicsItemAnimation11setTimeLineEP9QTimeLine @ 4862 NONAME - _ZN22QGraphicsItemAnimation13setRotationAtEff @ 4863 NONAME - _ZN22QGraphicsItemAnimation16setTranslationAtEfff @ 4864 NONAME - _ZN22QGraphicsItemAnimation16staticMetaObjectE @ 4865 NONAME DATA 16 - _ZN22QGraphicsItemAnimation18afterAnimationStepEf @ 4866 NONAME - _ZN22QGraphicsItemAnimation19beforeAnimationStepEf @ 4867 NONAME - _ZN22QGraphicsItemAnimation5clearEv @ 4868 NONAME - _ZN22QGraphicsItemAnimation5resetEv @ 4869 NONAME - _ZN22QGraphicsItemAnimation7setItemEP13QGraphicsItem @ 4870 NONAME - _ZN22QGraphicsItemAnimation7setStepEf @ 4871 NONAME - _ZN22QGraphicsItemAnimation8setPosAtEfRK7QPointF @ 4872 NONAME - _ZN22QGraphicsItemAnimationC1EP7QObject @ 4873 NONAME - _ZN22QGraphicsItemAnimationC2EP7QObject @ 4874 NONAME - _ZN22QGraphicsItemAnimationD0Ev @ 4875 NONAME - _ZN22QGraphicsItemAnimationD1Ev @ 4876 NONAME - _ZN22QGraphicsItemAnimationD2Ev @ 4877 NONAME - _ZN22QGraphicsLayoutPrivate17activateRecursiveEP19QGraphicsLayoutItem @ 4878 NONAME - _ZN22QGraphicsLayoutPrivate18addChildLayoutItemEP19QGraphicsLayoutItem @ 4879 NONAME - _ZN22QGraphicsLayoutPrivate18reparentChildItemsEP13QGraphicsItem @ 4880 NONAME - _ZN22QGraphicsSystemFactory4keysEv @ 4881 NONAME ABSENT - _ZN22QGraphicsSystemFactory6createERK7QString @ 4882 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate10updateFontERK5QFont @ 4883 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate11resolveFontEj @ 4884 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate13updatePaletteERK8QPalette @ 4885 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate14resolvePaletteEj @ 4886 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate14setFocusWidgetEv @ 4887 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate14setFont_helperERK5QFont @ 4888 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate16clearFocusWidgetEv @ 4889 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate16setLayout_helperEP15QGraphicsLayout @ 4890 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate17adjustWindowFlagsEP6QFlagsIN2Qt10WindowTypeEE @ 4891 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate17setPalette_helperERK8QPalette @ 4892 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate20setLayoutItemMarginsEN6QStyle10SubElementEPK12QStyleOption @ 4893 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate20setLayoutItemMarginsEffff @ 4894 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate22resolveLayoutDirectionEv @ 4895 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate23initStyleOptionTitleBarEP20QStyleOptionTitleBar @ 4896 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate25setLayoutDirection_helperEN2Qt15LayoutDirectionE @ 4897 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate25windowFrameHoverMoveEventEP24QGraphicsSceneHoverEvent @ 4898 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate25windowFrameMouseMoveEventEP24QGraphicsSceneMouseEvent @ 4899 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate26windowFrameHoverLeaveEventEP24QGraphicsSceneHoverEvent @ 4900 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate26windowFrameMousePressEventEP24QGraphicsSceneMouseEvent @ 4901 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate28windowFrameMouseReleaseEventEP24QGraphicsSceneMouseEvent @ 4902 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate30fixFocusChainBeforeReparentingEP15QGraphicsWidgetP14QGraphicsScene @ 4903 NONAME ABSENT - _ZN22QGraphicsWidgetPrivate4initEP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 4904 NONAME ABSENT - _ZN22QStyleOptionDockWidgetC1Ei @ 4905 NONAME - _ZN22QStyleOptionDockWidgetC1Ev @ 4906 NONAME - _ZN22QStyleOptionDockWidgetC2Ei @ 4907 NONAME - _ZN22QStyleOptionDockWidgetC2Ev @ 4908 NONAME - _ZN22QStyleOptionQ3ListViewC1Ei @ 4909 NONAME - _ZN22QStyleOptionQ3ListViewC1Ev @ 4910 NONAME - _ZN22QStyleOptionQ3ListViewC2Ei @ 4911 NONAME - _ZN22QStyleOptionQ3ListViewC2Ev @ 4912 NONAME - _ZN22QStyleOptionRubberBandC1Ei @ 4913 NONAME - _ZN22QStyleOptionRubberBandC1Ev @ 4914 NONAME - _ZN22QStyleOptionRubberBandC2Ei @ 4915 NONAME - _ZN22QStyleOptionRubberBandC2Ev @ 4916 NONAME - _ZN22QStyleOptionTabBarBaseC1Ei @ 4917 NONAME - _ZN22QStyleOptionTabBarBaseC1Ev @ 4918 NONAME - _ZN22QStyleOptionTabBarBaseC2Ei @ 4919 NONAME - _ZN22QStyleOptionTabBarBaseC2Ev @ 4920 NONAME - _ZN22QStyleOptionToolButtonC1Ei @ 4921 NONAME - _ZN22QStyleOptionToolButtonC1Ev @ 4922 NONAME - _ZN22QStyleOptionToolButtonC2Ei @ 4923 NONAME - _ZN22QStyleOptionToolButtonC2Ev @ 4924 NONAME - _ZN22QStyleOptionViewItemV2C1ERK20QStyleOptionViewItem @ 4925 NONAME - _ZN22QStyleOptionViewItemV2C1Ei @ 4926 NONAME - _ZN22QStyleOptionViewItemV2C1Ev @ 4927 NONAME - _ZN22QStyleOptionViewItemV2C2ERK20QStyleOptionViewItem @ 4928 NONAME - _ZN22QStyleOptionViewItemV2C2Ei @ 4929 NONAME - _ZN22QStyleOptionViewItemV2C2Ev @ 4930 NONAME - _ZN22QStyleOptionViewItemV2aSERK20QStyleOptionViewItem @ 4931 NONAME - _ZN22QStyleOptionViewItemV3C1ERK20QStyleOptionViewItem @ 4932 NONAME - _ZN22QStyleOptionViewItemV3C1Ei @ 4933 NONAME - _ZN22QStyleOptionViewItemV3C1Ev @ 4934 NONAME - _ZN22QStyleOptionViewItemV3C2ERK20QStyleOptionViewItem @ 4935 NONAME - _ZN22QStyleOptionViewItemV3C2Ei @ 4936 NONAME - _ZN22QStyleOptionViewItemV3C2Ev @ 4937 NONAME - _ZN22QStyleOptionViewItemV3aSERK20QStyleOptionViewItem @ 4938 NONAME - _ZN22QStyleOptionViewItemV4C1ERK20QStyleOptionViewItem @ 4939 NONAME - _ZN22QStyleOptionViewItemV4C1Ei @ 4940 NONAME - _ZN22QStyleOptionViewItemV4C1Ev @ 4941 NONAME - _ZN22QStyleOptionViewItemV4C2ERK20QStyleOptionViewItem @ 4942 NONAME - _ZN22QStyleOptionViewItemV4C2Ei @ 4943 NONAME - _ZN22QStyleOptionViewItemV4C2Ev @ 4944 NONAME - _ZN22QStyleOptionViewItemV4aSERK20QStyleOptionViewItem @ 4945 NONAME - _ZN22QWhatsThisClickedEventC1ERK7QString @ 4946 NONAME - _ZN22QWhatsThisClickedEventC2ERK7QString @ 4947 NONAME - _ZN22QWhatsThisClickedEventD0Ev @ 4948 NONAME - _ZN22QWhatsThisClickedEventD1Ev @ 4949 NONAME - _ZN22QWhatsThisClickedEventD2Ev @ 4950 NONAME - _ZN23QFileSystemModelPrivate10removeNodeEPNS_15QFileSystemNodeERK7QString @ 4951 NONAME - _ZN23QFileSystemModelPrivate12sortChildrenEiRK11QModelIndex @ 4952 NONAME - _ZN23QFileSystemModelPrivate14naturalCompareERK7QStringS2_N2Qt15CaseSensitivityE @ 4953 NONAME - _ZN23QFileSystemModelPrivate15_q_resolvedNameERK7QStringS2_ @ 4954 NONAME - _ZN23QFileSystemModelPrivate15addVisibleFilesEPNS_15QFileSystemNodeERK11QStringList @ 4955 NONAME - _ZN23QFileSystemModelPrivate17removeVisibleFileEPNS_15QFileSystemNodeEi @ 4956 NONAME - _ZN23QFileSystemModelPrivate19_q_directoryChangedERK7QStringRK11QStringList @ 4957 NONAME - _ZN23QFileSystemModelPrivate20_q_fileSystemChangedERK7QStringRK5QListI5QPairIS0_9QFileInfoEE @ 4958 NONAME - _ZN23QFileSystemModelPrivate21_q_performDelayedSortEv @ 4959 NONAME - _ZN23QFileSystemModelPrivate4initEv @ 4960 NONAME - _ZN23QFileSystemModelPrivate4sizeEx @ 4961 NONAME - _ZN23QFileSystemModelPrivate7addNodeEPNS_15QFileSystemNodeERK7QStringRK9QFileInfo @ 4962 NONAME - _ZN23QGraphicsSceneHelpEvent11setScenePosERK7QPointF @ 4963 NONAME - _ZN23QGraphicsSceneHelpEvent12setScreenPosERK6QPoint @ 4964 NONAME - _ZN23QGraphicsSceneHelpEventC1EN6QEvent4TypeE @ 4965 NONAME - _ZN23QGraphicsSceneHelpEventC2EN6QEvent4TypeE @ 4966 NONAME - _ZN23QGraphicsSceneHelpEventD0Ev @ 4967 NONAME - _ZN23QGraphicsSceneHelpEventD1Ev @ 4968 NONAME - _ZN23QGraphicsSceneHelpEventD2Ev @ 4969 NONAME - _ZN23QGraphicsSceneMoveEvent9setNewPosERK7QPointF @ 4970 NONAME - _ZN23QGraphicsSceneMoveEvent9setOldPosERK7QPointF @ 4971 NONAME - _ZN23QGraphicsSceneMoveEventC1Ev @ 4972 NONAME - _ZN23QGraphicsSceneMoveEventC2Ev @ 4973 NONAME - _ZN23QGraphicsSceneMoveEventD0Ev @ 4974 NONAME - _ZN23QGraphicsSceneMoveEventD1Ev @ 4975 NONAME - _ZN23QGraphicsSceneMoveEventD2Ev @ 4976 NONAME - _ZN23QGraphicsSimpleTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4977 NONAME - _ZN23QGraphicsSimpleTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4978 NONAME - _ZN23QGraphicsSimpleTextItem7setFontERK5QFont @ 4979 NONAME - _ZN23QGraphicsSimpleTextItem7setTextERK7QString @ 4980 NONAME - _ZN23QGraphicsSimpleTextItemC1EP13QGraphicsItemP14QGraphicsScene @ 4981 NONAME - _ZN23QGraphicsSimpleTextItemC1ERK7QStringP13QGraphicsItemP14QGraphicsScene @ 4982 NONAME - _ZN23QGraphicsSimpleTextItemC2EP13QGraphicsItemP14QGraphicsScene @ 4983 NONAME - _ZN23QGraphicsSimpleTextItemC2ERK7QStringP13QGraphicsItemP14QGraphicsScene @ 4984 NONAME - _ZN23QGraphicsSimpleTextItemD0Ev @ 4985 NONAME - _ZN23QGraphicsSimpleTextItemD1Ev @ 4986 NONAME - _ZN23QGraphicsSimpleTextItemD2Ev @ 4987 NONAME - _ZN23QImageTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj @ 4988 NONAME ABSENT - _ZN23QImageTextureGlyphCache17createTextureDataEii @ 4989 NONAME ABSENT - _ZN23QImageTextureGlyphCache17resizeTextureDataEii @ 4990 NONAME ABSENT - _ZN23QPixmapDropShadowFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 4991 NONAME - _ZN23QPixmapDropShadowFilter11qt_metacastEPKc @ 4992 NONAME - _ZN23QPixmapDropShadowFilter13setBlurRadiusEf @ 4993 NONAME ABSENT - _ZN23QPixmapDropShadowFilter16staticMetaObjectE @ 4994 NONAME DATA 16 - _ZN23QPixmapDropShadowFilter8setColorERK6QColor @ 4995 NONAME - _ZN23QPixmapDropShadowFilter9setOffsetERK7QPointF @ 4996 NONAME - _ZN23QPixmapDropShadowFilterC1EP7QObject @ 4997 NONAME - _ZN23QPixmapDropShadowFilterC2EP7QObject @ 4998 NONAME - _ZN23QPixmapDropShadowFilterD0Ev @ 4999 NONAME - _ZN23QPixmapDropShadowFilterD1Ev @ 5000 NONAME - _ZN23QPixmapDropShadowFilterD2Ev @ 5001 NONAME - _ZN23QStyleHintReturnVariantC1Ev @ 5002 NONAME - _ZN23QStyleHintReturnVariantC2Ev @ 5003 NONAME - _ZN23QStyleOptionProgressBarC1Ei @ 5004 NONAME - _ZN23QStyleOptionProgressBarC1Ev @ 5005 NONAME - _ZN23QStyleOptionProgressBarC2Ei @ 5006 NONAME - _ZN23QStyleOptionProgressBarC2Ev @ 5007 NONAME - _ZN23QTreeWidgetItemIteratorC1EP11QTreeWidget6QFlagsINS_12IteratorFlagEE @ 5008 NONAME - _ZN23QTreeWidgetItemIteratorC1EP15QTreeWidgetItem6QFlagsINS_12IteratorFlagEE @ 5009 NONAME - _ZN23QTreeWidgetItemIteratorC1ERKS_ @ 5010 NONAME - _ZN23QTreeWidgetItemIteratorC2EP11QTreeWidget6QFlagsINS_12IteratorFlagEE @ 5011 NONAME - _ZN23QTreeWidgetItemIteratorC2EP15QTreeWidgetItem6QFlagsINS_12IteratorFlagEE @ 5012 NONAME - _ZN23QTreeWidgetItemIteratorC2ERKS_ @ 5013 NONAME - _ZN23QTreeWidgetItemIteratorD1Ev @ 5014 NONAME - _ZN23QTreeWidgetItemIteratorD2Ev @ 5015 NONAME - _ZN23QTreeWidgetItemIteratoraSERKS_ @ 5016 NONAME - _ZN23QTreeWidgetItemIteratormmEv @ 5017 NONAME - _ZN23QTreeWidgetItemIteratorppEv @ 5018 NONAME - _ZN23QWindowStateChangeEventC1E6QFlagsIN2Qt11WindowStateEE @ 5019 NONAME - _ZN23QWindowStateChangeEventC1E6QFlagsIN2Qt11WindowStateEEb @ 5020 NONAME - _ZN23QWindowStateChangeEventC2E6QFlagsIN2Qt11WindowStateEE @ 5021 NONAME - _ZN23QWindowStateChangeEventC2E6QFlagsIN2Qt11WindowStateEEb @ 5022 NONAME - _ZN23QWindowStateChangeEventD0Ev @ 5023 NONAME - _ZN23QWindowStateChangeEventD1Ev @ 5024 NONAME - _ZN23QWindowStateChangeEventD2Ev @ 5025 NONAME - _ZN24QAbstractItemViewPrivate10openEditorERK11QModelIndexP6QEvent @ 5026 NONAME - _ZN24QAbstractItemViewPrivate12_q_fetchMoreEv @ 5027 NONAME ABSENT - _ZN24QAbstractItemViewPrivate12removeEditorEP7QWidget @ 5028 NONAME - _ZN24QAbstractItemViewPrivate13clearOrRemoveEv @ 5029 NONAME - _ZN24QAbstractItemViewPrivate14_q_rowsRemovedERK11QModelIndexii @ 5030 NONAME - _ZN24QAbstractItemViewPrivate16_q_layoutChangedEv @ 5031 NONAME - _ZN24QAbstractItemViewPrivate16droppingOnItselfEP10QDropEventRK11QModelIndex @ 5032 NONAME - _ZN24QAbstractItemViewPrivate16updateEditorDataERK11QModelIndexS2_ @ 5033 NONAME - _ZN24QAbstractItemViewPrivate17_q_columnsRemovedERK11QModelIndexii @ 5034 NONAME - _ZN24QAbstractItemViewPrivate17_q_modelDestroyedEv @ 5035 NONAME - _ZN24QAbstractItemViewPrivate18_q_columnsInsertedERK11QModelIndexii @ 5036 NONAME - _ZN24QAbstractItemViewPrivate20doDelayedItemsLayoutEi @ 5037 NONAME - _ZN24QAbstractItemViewPrivate26_q_columnsAboutToBeRemovedERK11QModelIndexii @ 5038 NONAME - _ZN24QAbstractItemViewPrivate26checkPersistentEditorFocusEv @ 5039 NONAME - _ZN24QAbstractItemViewPrivate4initEv @ 5040 NONAME - _ZN24QAbstractItemViewPrivate6dropOnEP10QDropEventPiS2_P11QModelIndex @ 5041 NONAME - _ZN24QAbstractItemViewPrivate6editorERK11QModelIndexRK20QStyleOptionViewItem @ 5042 NONAME - _ZN24QAbstractItemViewPrivate9addEditorERK11QModelIndexP7QWidgetb @ 5043 NONAME - _ZN24QAbstractItemViewPrivate9selectAllE6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 5044 NONAME - _ZN24QAbstractItemViewPrivateC1Ev @ 5045 NONAME - _ZN24QAbstractItemViewPrivateC2Ev @ 5046 NONAME - _ZN24QAbstractItemViewPrivateD0Ev @ 5047 NONAME - _ZN24QAbstractItemViewPrivateD1Ev @ 5048 NONAME - _ZN24QAbstractItemViewPrivateD2Ev @ 5049 NONAME - _ZN24QComboBoxPrivateScroller11qt_metacallEN11QMetaObject4CallEiPPv @ 5050 NONAME - _ZN24QComboBoxPrivateScroller11qt_metacastEPKc @ 5051 NONAME - _ZN24QComboBoxPrivateScroller16staticMetaObjectE @ 5052 NONAME DATA 16 - _ZN24QComboBoxPrivateScroller8doScrollEi @ 5053 NONAME - _ZN24QGraphicsSceneHoverEvent10setLastPosERK7QPointF @ 5054 NONAME - _ZN24QGraphicsSceneHoverEvent11setScenePosERK7QPointF @ 5055 NONAME - _ZN24QGraphicsSceneHoverEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5056 NONAME - _ZN24QGraphicsSceneHoverEvent12setScreenPosERK6QPoint @ 5057 NONAME - _ZN24QGraphicsSceneHoverEvent15setLastScenePosERK7QPointF @ 5058 NONAME - _ZN24QGraphicsSceneHoverEvent16setLastScreenPosERK6QPoint @ 5059 NONAME - _ZN24QGraphicsSceneHoverEvent6setPosERK7QPointF @ 5060 NONAME - _ZN24QGraphicsSceneHoverEventC1EN6QEvent4TypeE @ 5061 NONAME - _ZN24QGraphicsSceneHoverEventC2EN6QEvent4TypeE @ 5062 NONAME - _ZN24QGraphicsSceneHoverEventD0Ev @ 5063 NONAME - _ZN24QGraphicsSceneHoverEventD1Ev @ 5064 NONAME - _ZN24QGraphicsSceneHoverEventD2Ev @ 5065 NONAME - _ZN24QGraphicsSceneMouseEvent10setButtonsE6QFlagsIN2Qt11MouseButtonEE @ 5066 NONAME - _ZN24QGraphicsSceneMouseEvent10setLastPosERK7QPointF @ 5067 NONAME - _ZN24QGraphicsSceneMouseEvent11setScenePosERK7QPointF @ 5068 NONAME - _ZN24QGraphicsSceneMouseEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5069 NONAME - _ZN24QGraphicsSceneMouseEvent12setScreenPosERK6QPoint @ 5070 NONAME - _ZN24QGraphicsSceneMouseEvent15setLastScenePosERK7QPointF @ 5071 NONAME - _ZN24QGraphicsSceneMouseEvent16setButtonDownPosEN2Qt11MouseButtonERK7QPointF @ 5072 NONAME - _ZN24QGraphicsSceneMouseEvent16setLastScreenPosERK6QPoint @ 5073 NONAME - _ZN24QGraphicsSceneMouseEvent21setButtonDownScenePosEN2Qt11MouseButtonERK7QPointF @ 5074 NONAME - _ZN24QGraphicsSceneMouseEvent22setButtonDownScreenPosEN2Qt11MouseButtonERK6QPoint @ 5075 NONAME - _ZN24QGraphicsSceneMouseEvent6setPosERK7QPointF @ 5076 NONAME - _ZN24QGraphicsSceneMouseEvent9setButtonEN2Qt11MouseButtonE @ 5077 NONAME - _ZN24QGraphicsSceneMouseEventC1EN6QEvent4TypeE @ 5078 NONAME - _ZN24QGraphicsSceneMouseEventC2EN6QEvent4TypeE @ 5079 NONAME - _ZN24QGraphicsSceneMouseEventD0Ev @ 5080 NONAME - _ZN24QGraphicsSceneMouseEventD1Ev @ 5081 NONAME - _ZN24QGraphicsSceneMouseEventD2Ev @ 5082 NONAME - _ZN24QGraphicsSceneWheelEvent10setButtonsE6QFlagsIN2Qt11MouseButtonEE @ 5083 NONAME - _ZN24QGraphicsSceneWheelEvent11setScenePosERK7QPointF @ 5084 NONAME - _ZN24QGraphicsSceneWheelEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5085 NONAME - _ZN24QGraphicsSceneWheelEvent12setScreenPosERK6QPoint @ 5086 NONAME - _ZN24QGraphicsSceneWheelEvent14setOrientationEN2Qt11OrientationE @ 5087 NONAME - _ZN24QGraphicsSceneWheelEvent6setPosERK7QPointF @ 5088 NONAME - _ZN24QGraphicsSceneWheelEvent8setDeltaEi @ 5089 NONAME - _ZN24QGraphicsSceneWheelEventC1EN6QEvent4TypeE @ 5090 NONAME - _ZN24QGraphicsSceneWheelEventC2EN6QEvent4TypeE @ 5091 NONAME - _ZN24QGraphicsSceneWheelEventD0Ev @ 5092 NONAME - _ZN24QGraphicsSceneWheelEventD1Ev @ 5093 NONAME - _ZN24QGraphicsSceneWheelEventD2Ev @ 5094 NONAME - _ZN24QPixmapConvolutionFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 5095 NONAME - _ZN24QPixmapConvolutionFilter11qt_metacastEPKc @ 5096 NONAME - _ZN24QPixmapConvolutionFilter16staticMetaObjectE @ 5097 NONAME DATA 16 - _ZN24QPixmapConvolutionFilter20setConvolutionKernelEPKfii @ 5098 NONAME - _ZN24QPixmapConvolutionFilterC1EP7QObject @ 5099 NONAME - _ZN24QPixmapConvolutionFilterC2EP7QObject @ 5100 NONAME - _ZN24QPixmapConvolutionFilterD0Ev @ 5101 NONAME - _ZN24QPixmapConvolutionFilterD1Ev @ 5102 NONAME - _ZN24QPixmapConvolutionFilterD2Ev @ 5103 NONAME - _ZN24QPlainTextDocumentLayout10blockWidthERK10QTextBlock @ 5104 NONAME - _ZN24QPlainTextDocumentLayout11layoutBlockERK10QTextBlock @ 5105 NONAME - _ZN24QPlainTextDocumentLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 5106 NONAME - _ZN24QPlainTextDocumentLayout11qt_metacastEPKc @ 5107 NONAME - _ZN24QPlainTextDocumentLayout12setTextWidthEf @ 5108 NONAME - _ZN24QPlainTextDocumentLayout13requestUpdateEv @ 5109 NONAME - _ZN24QPlainTextDocumentLayout14setCursorWidthEi @ 5110 NONAME - _ZN24QPlainTextDocumentLayout15documentChangedEiii @ 5111 NONAME - _ZN24QPlainTextDocumentLayout16staticMetaObjectE @ 5112 NONAME DATA 16 - _ZN24QPlainTextDocumentLayout4drawEP8QPainterRKN27QAbstractTextDocumentLayout12PaintContextE @ 5113 NONAME - _ZN24QPlainTextDocumentLayoutC1EP13QTextDocument @ 5114 NONAME - _ZN24QPlainTextDocumentLayoutC2EP13QTextDocument @ 5115 NONAME - _ZN24QPlainTextDocumentLayoutD0Ev @ 5116 NONAME - _ZN24QPlainTextDocumentLayoutD1Ev @ 5117 NONAME - _ZN24QPlainTextDocumentLayoutD2Ev @ 5118 NONAME - _ZN24QStyleOptionDockWidgetV2C1ERK22QStyleOptionDockWidget @ 5119 NONAME - _ZN24QStyleOptionDockWidgetV2C1Ei @ 5120 NONAME - _ZN24QStyleOptionDockWidgetV2C1Ev @ 5121 NONAME - _ZN24QStyleOptionDockWidgetV2C2ERK22QStyleOptionDockWidget @ 5122 NONAME - _ZN24QStyleOptionDockWidgetV2C2Ei @ 5123 NONAME - _ZN24QStyleOptionDockWidgetV2C2Ev @ 5124 NONAME - _ZN24QStyleOptionDockWidgetV2aSERK22QStyleOptionDockWidget @ 5125 NONAME - _ZN24QStyleOptionGraphicsItemC1Ei @ 5126 NONAME - _ZN24QStyleOptionGraphicsItemC1Ev @ 5127 NONAME - _ZN24QStyleOptionGraphicsItemC2Ei @ 5128 NONAME - _ZN24QStyleOptionGraphicsItemC2Ev @ 5129 NONAME - _ZN24QStyleOptionQ3DockWindowC1Ei @ 5130 NONAME - _ZN24QStyleOptionQ3DockWindowC1Ev @ 5131 NONAME - _ZN24QStyleOptionQ3DockWindowC2Ei @ 5132 NONAME - _ZN24QStyleOptionQ3DockWindowC2Ev @ 5133 NONAME - _ZN24QStyleOptionTabBarBaseV2C1ERK22QStyleOptionTabBarBase @ 5134 NONAME - _ZN24QStyleOptionTabBarBaseV2C1Ei @ 5135 NONAME - _ZN24QStyleOptionTabBarBaseV2C1Ev @ 5136 NONAME - _ZN24QStyleOptionTabBarBaseV2C2ERK22QStyleOptionTabBarBase @ 5137 NONAME - _ZN24QStyleOptionTabBarBaseV2C2Ei @ 5138 NONAME - _ZN24QStyleOptionTabBarBaseV2C2Ev @ 5139 NONAME - _ZN24QStyleOptionTabBarBaseV2aSERK22QStyleOptionTabBarBase @ 5140 NONAME - _ZN25QComboBoxPrivateContainer10leaveEventEP6QEvent @ 5141 NONAME - _ZN25QComboBoxPrivateContainer10timerEventEP11QTimerEvent @ 5142 NONAME - _ZN25QComboBoxPrivateContainer11changeEventEP6QEvent @ 5143 NONAME - _ZN25QComboBoxPrivateContainer11eventFilterEP7QObjectP6QEvent @ 5144 NONAME - _ZN25QComboBoxPrivateContainer11qt_metacallEN11QMetaObject4CallEiPPv @ 5145 NONAME - _ZN25QComboBoxPrivateContainer11qt_metacastEPKc @ 5146 NONAME - _ZN25QComboBoxPrivateContainer11resetButtonEv @ 5147 NONAME - _ZN25QComboBoxPrivateContainer11resizeEventEP12QResizeEvent @ 5148 NONAME - _ZN25QComboBoxPrivateContainer11setItemViewEP17QAbstractItemView @ 5149 NONAME - _ZN25QComboBoxPrivateContainer12itemSelectedERK11QModelIndex @ 5150 NONAME - _ZN25QComboBoxPrivateContainer13viewDestroyedEv @ 5151 NONAME - _ZN25QComboBoxPrivateContainer14scrollItemViewEi @ 5152 NONAME - _ZN25QComboBoxPrivateContainer15mousePressEventEP11QMouseEvent @ 5153 NONAME - _ZN25QComboBoxPrivateContainer15setCurrentIndexERK11QModelIndex @ 5154 NONAME - _ZN25QComboBoxPrivateContainer15updateScrollersEv @ 5155 NONAME - _ZN25QComboBoxPrivateContainer16staticMetaObjectE @ 5156 NONAME DATA 16 - _ZN25QComboBoxPrivateContainer17mouseReleaseEventEP11QMouseEvent @ 5157 NONAME - _ZN25QComboBoxPrivateContainer21updateTopBottomMarginEv @ 5158 NONAME - _ZN25QComboBoxPrivateContainer9hideEventEP10QHideEvent @ 5159 NONAME - _ZN25QComboBoxPrivateContainer9showEventEP10QShowEvent @ 5160 NONAME - _ZN25QComboBoxPrivateContainerC1EP17QAbstractItemViewP9QComboBox @ 5161 NONAME - _ZN25QComboBoxPrivateContainerC2EP17QAbstractItemViewP9QComboBox @ 5162 NONAME - _ZN25QGraphicsSceneResizeEvent10setNewSizeERK6QSizeF @ 5163 NONAME - _ZN25QGraphicsSceneResizeEvent10setOldSizeERK6QSizeF @ 5164 NONAME - _ZN25QGraphicsSceneResizeEventC1Ev @ 5165 NONAME - _ZN25QGraphicsSceneResizeEventC2Ev @ 5166 NONAME - _ZN25QGraphicsSceneResizeEventD0Ev @ 5167 NONAME - _ZN25QGraphicsSceneResizeEventD1Ev @ 5168 NONAME - _ZN25QGraphicsSceneResizeEventD2Ev @ 5169 NONAME - _ZN25QStyleOptionProgressBarV2C1ERK23QStyleOptionProgressBar @ 5170 NONAME - _ZN25QStyleOptionProgressBarV2C1ERKS_ @ 5171 NONAME - _ZN25QStyleOptionProgressBarV2C1Ei @ 5172 NONAME - _ZN25QStyleOptionProgressBarV2C1Ev @ 5173 NONAME - _ZN25QStyleOptionProgressBarV2C2ERK23QStyleOptionProgressBar @ 5174 NONAME - _ZN25QStyleOptionProgressBarV2C2ERKS_ @ 5175 NONAME - _ZN25QStyleOptionProgressBarV2C2Ei @ 5176 NONAME - _ZN25QStyleOptionProgressBarV2C2Ev @ 5177 NONAME - _ZN25QStyleOptionProgressBarV2aSERK23QStyleOptionProgressBar @ 5178 NONAME - _ZN26QAbstractGraphicsShapeItem6setPenERK4QPen @ 5179 NONAME - _ZN26QAbstractGraphicsShapeItem8setBrushERK6QBrush @ 5180 NONAME - _ZN26QAbstractGraphicsShapeItemC2EP13QGraphicsItemP14QGraphicsScene @ 5181 NONAME - _ZN26QAbstractGraphicsShapeItemC2ER33QAbstractGraphicsShapeItemPrivateP13QGraphicsItemP14QGraphicsScene @ 5182 NONAME - _ZN26QAbstractGraphicsShapeItemD0Ev @ 5183 NONAME - _ZN26QAbstractGraphicsShapeItemD1Ev @ 5184 NONAME - _ZN26QAbstractGraphicsShapeItemD2Ev @ 5185 NONAME - _ZN26QAbstractScrollAreaPrivate14layoutChildrenEv @ 5186 NONAME - _ZN26QAbstractScrollAreaPrivate16replaceScrollBarEP10QScrollBarN2Qt11OrientationE @ 5187 NONAME - _ZN26QAbstractScrollAreaPrivate22scrollBarPolicyChangedEN2Qt11OrientationENS0_15ScrollBarPolicyE @ 5188 NONAME ABSENT - _ZN26QAbstractScrollAreaPrivate23_q_showOrHideScrollBarsEv @ 5189 NONAME - _ZN26QAbstractScrollAreaPrivate4initEv @ 5190 NONAME - _ZN26QAbstractScrollAreaPrivate9_q_hslideEi @ 5191 NONAME - _ZN26QAbstractScrollAreaPrivate9_q_vslideEi @ 5192 NONAME - _ZN26QAbstractScrollAreaPrivateC1Ev @ 5193 NONAME - _ZN26QAbstractScrollAreaPrivateC2Ev @ 5194 NONAME - _ZN26QGraphicsLayoutItemPrivate4initEv @ 5195 NONAME - _ZN26QGraphicsLayoutItemPrivateC1EP19QGraphicsLayoutItemb @ 5196 NONAME - _ZN26QGraphicsLayoutItemPrivateC2EP19QGraphicsLayoutItemb @ 5197 NONAME - _ZN26QStyleOptionQ3ListViewItemC1Ei @ 5198 NONAME - _ZN26QStyleOptionQ3ListViewItemC1Ev @ 5199 NONAME - _ZN26QStyleOptionQ3ListViewItemC2Ei @ 5200 NONAME - _ZN26QStyleOptionQ3ListViewItemC2Ev @ 5201 NONAME - _ZN26QStyleOptionTabWidgetFrameC1Ei @ 5202 NONAME - _ZN26QStyleOptionTabWidgetFrameC1Ev @ 5203 NONAME - _ZN26QStyleOptionTabWidgetFrameC2Ei @ 5204 NONAME - _ZN26QStyleOptionTabWidgetFrameC2Ev @ 5205 NONAME - _ZN26QTableWidgetSelectionRangeC1ERKS_ @ 5206 NONAME - _ZN26QTableWidgetSelectionRangeC1Eiiii @ 5207 NONAME - _ZN26QTableWidgetSelectionRangeC1Ev @ 5208 NONAME - _ZN26QTableWidgetSelectionRangeC2ERKS_ @ 5209 NONAME - _ZN26QTableWidgetSelectionRangeC2Eiiii @ 5210 NONAME - _ZN26QTableWidgetSelectionRangeC2Ev @ 5211 NONAME - _ZN26QTableWidgetSelectionRangeD1Ev @ 5212 NONAME - _ZN26QTableWidgetSelectionRangeD2Ev @ 5213 NONAME - _ZN27QAbstractTextDocumentLayout11formatIndexEi @ 5214 NONAME - _ZN27QAbstractTextDocumentLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 5215 NONAME - _ZN27QAbstractTextDocumentLayout11qt_metacastEPKc @ 5216 NONAME - _ZN27QAbstractTextDocumentLayout11updateBlockERK10QTextBlock @ 5217 NONAME - _ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice @ 5218 NONAME - _ZN27QAbstractTextDocumentLayout15registerHandlerEiP7QObject @ 5219 NONAME - _ZN27QAbstractTextDocumentLayout16drawInlineObjectEP8QPainterRK6QRectF17QTextInlineObjectiRK11QTextFormat @ 5220 NONAME - _ZN27QAbstractTextDocumentLayout16pageCountChangedEi @ 5221 NONAME - _ZN27QAbstractTextDocumentLayout16staticMetaObjectE @ 5222 NONAME DATA 16 - _ZN27QAbstractTextDocumentLayout18resizeInlineObjectE17QTextInlineObjectiRK11QTextFormat @ 5223 NONAME - _ZN27QAbstractTextDocumentLayout19documentSizeChangedERK6QSizeF @ 5224 NONAME - _ZN27QAbstractTextDocumentLayout20positionInlineObjectE17QTextInlineObjectiRK11QTextFormat @ 5225 NONAME - _ZN27QAbstractTextDocumentLayout6formatEi @ 5226 NONAME - _ZN27QAbstractTextDocumentLayout6updateERK6QRectF @ 5227 NONAME - _ZN27QAbstractTextDocumentLayoutC2EP13QTextDocument @ 5228 NONAME - _ZN27QAbstractTextDocumentLayoutC2ER34QAbstractTextDocumentLayoutPrivateP13QTextDocument @ 5229 NONAME - _ZN27QAbstractTextDocumentLayoutD0Ev @ 5230 NONAME - _ZN27QAbstractTextDocumentLayoutD1Ev @ 5231 NONAME - _ZN27QAbstractTextDocumentLayoutD2Ev @ 5232 NONAME - _ZN27QGraphicsSceneDragDropEvent10setButtonsE6QFlagsIN2Qt11MouseButtonEE @ 5233 NONAME - _ZN27QGraphicsSceneDragDropEvent11setMimeDataEPK9QMimeData @ 5234 NONAME - _ZN27QGraphicsSceneDragDropEvent11setScenePosERK7QPointF @ 5235 NONAME - _ZN27QGraphicsSceneDragDropEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5236 NONAME - _ZN27QGraphicsSceneDragDropEvent12setScreenPosERK6QPoint @ 5237 NONAME - _ZN27QGraphicsSceneDragDropEvent13setDropActionEN2Qt10DropActionE @ 5238 NONAME - _ZN27QGraphicsSceneDragDropEvent17setProposedActionEN2Qt10DropActionE @ 5239 NONAME - _ZN27QGraphicsSceneDragDropEvent18setPossibleActionsE6QFlagsIN2Qt10DropActionEE @ 5240 NONAME - _ZN27QGraphicsSceneDragDropEvent20acceptProposedActionEv @ 5241 NONAME - _ZN27QGraphicsSceneDragDropEvent6setPosERK7QPointF @ 5242 NONAME - _ZN27QGraphicsSceneDragDropEvent9setSourceEP7QWidget @ 5243 NONAME - _ZN27QGraphicsSceneDragDropEventC1EN6QEvent4TypeE @ 5244 NONAME - _ZN27QGraphicsSceneDragDropEventC2EN6QEvent4TypeE @ 5245 NONAME - _ZN27QGraphicsSceneDragDropEventD0Ev @ 5246 NONAME - _ZN27QGraphicsSceneDragDropEventD1Ev @ 5247 NONAME - _ZN27QGraphicsSceneDragDropEventD2Ev @ 5248 NONAME - _ZN2Qt12codecForHtmlERK10QByteArray @ 5249 NONAME - _ZN2Qt15mightBeRichTextERK7QString @ 5250 NONAME - _ZN2Qt20convertFromPlainTextERK7QStringNS_14WhiteSpaceModeE @ 5251 NONAME - _ZN2Qt6escapeERK7QString @ 5252 NONAME - _ZN30QGraphicsSceneContextMenuEvent11setScenePosERK7QPointF @ 5253 NONAME - _ZN30QGraphicsSceneContextMenuEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5254 NONAME - _ZN30QGraphicsSceneContextMenuEvent12setScreenPosERK6QPoint @ 5255 NONAME - _ZN30QGraphicsSceneContextMenuEvent6setPosERK7QPointF @ 5256 NONAME - _ZN30QGraphicsSceneContextMenuEvent9setReasonENS_6ReasonE @ 5257 NONAME - _ZN30QGraphicsSceneContextMenuEventC1EN6QEvent4TypeE @ 5258 NONAME - _ZN30QGraphicsSceneContextMenuEventC2EN6QEvent4TypeE @ 5259 NONAME - _ZN30QGraphicsSceneContextMenuEventD0Ev @ 5260 NONAME - _ZN30QGraphicsSceneContextMenuEventD1Ev @ 5261 NONAME - _ZN30QGraphicsSceneContextMenuEventD2Ev @ 5262 NONAME - _ZN4QCss10StyleSheet12buildIndexesEN2Qt15CaseSensitivityE @ 5263 NONAME ABSENT - _ZN4QCss13StyleSelector15selectorMatchesERKNS_8SelectorENS0_7NodePtrE @ 5264 NONAME - _ZN4QCss13StyleSelector17styleRulesForNodeENS0_7NodePtrE @ 5265 NONAME - _ZN4QCss13StyleSelector19declarationsForNodeENS0_7NodePtrEPKc @ 5266 NONAME - _ZN4QCss13StyleSelector20basicSelectorMatchesERKNS_13BasicSelectorENS0_7NodePtrE @ 5267 NONAME - _ZN4QCss13StyleSelector9matchRuleENS0_7NodePtrERKNS_9StyleRuleENS_16StyleSheetOriginEiP4QMapIjS2_E @ 5268 NONAME - _ZN4QCss13StyleSelectorD0Ev @ 5269 NONAME - _ZN4QCss13StyleSelectorD1Ev @ 5270 NONAME - _ZN4QCss13StyleSelectorD2Ev @ 5271 NONAME - _ZN4QCss14ValueExtractor10extractBoxEPiS1_S1_ @ 5272 NONAME - _ZN4QCss14ValueExtractor10sizeValuesERKNS_11DeclarationEP5QSize @ 5273 NONAME - _ZN4QCss14ValueExtractor11borderValueERKNS_11DeclarationEPiPNS_11BorderStyleEP6QBrush @ 5274 NONAME - _ZN4QCss14ValueExtractor11extractFontEP5QFontPi @ 5275 NONAME - _ZN4QCss14ValueExtractor11extractFontEv @ 5276 NONAME - _ZN4QCss14ValueExtractor11lengthValueERKNS_11DeclarationE @ 5277 NONAME - _ZN4QCss14ValueExtractor11lengthValueERKNS_5ValueE @ 5278 NONAME - _ZN4QCss14ValueExtractor12extractImageEP5QIconP6QFlagsIN2Qt13AlignmentFlagEEP5QSize @ 5279 NONAME - _ZN4QCss14ValueExtractor12lengthValuesERKNS_11DeclarationEPi @ 5280 NONAME - _ZN4QCss14ValueExtractor13extractBorderEPiP6QBrushPNS_11BorderStyleEP5QSize @ 5281 NONAME - _ZN4QCss14ValueExtractor14extractOutlineEPiP6QBrushPNS_11BorderStyleEP5QSizeS1_ @ 5282 NONAME - _ZN4QCss14ValueExtractor14extractPaletteEP6QBrushS2_S2_S2_ @ 5283 NONAME - _ZN4QCss14ValueExtractor15extractGeometryEPiS1_S1_S1_S1_S1_ @ 5284 NONAME - _ZN4QCss14ValueExtractor15extractPositionEPiS1_S1_S1_PNS_6OriginEP6QFlagsIN2Qt13AlignmentFlagEEPNS_12PositionModeES8_ @ 5285 NONAME - _ZN4QCss14ValueExtractor17extractBackgroundEP6QBrushP7QStringPNS_6RepeatEP6QFlagsIN2Qt13AlignmentFlagEEPNS_6OriginEPNS_10AttachmentESD_ @ 5286 NONAME - _ZN4QCss14ValueExtractor20extractStyleFeaturesEv @ 5287 NONAME - _ZN4QCss14ValueExtractor9sizeValueERKNS_11DeclarationE @ 5288 NONAME - _ZN4QCss14ValueExtractorC1ERK7QVectorINS_11DeclarationEERK8QPalette @ 5289 NONAME - _ZN4QCss14ValueExtractorC2ERK7QVectorINS_11DeclarationEERK8QPalette @ 5290 NONAME - _ZN4QCss6Parser10lexemUntilENS_9TokenTypeE @ 5291 NONAME - _ZN4QCss6Parser10parseClassEP7QString @ 5292 NONAME - _ZN4QCss6Parser10parseMediaEPNS_9MediaRuleE @ 5293 NONAME - _ZN4QCss6Parser11errorSymbolEv @ 5294 NONAME - _ZN4QCss6Parser11parseAttribEPNS_17AttributeSelectorE @ 5295 NONAME - _ZN4QCss6Parser11parseImportEPNS_10ImportRuleE @ 5296 NONAME - _ZN4QCss6Parser11parseMediumEP11QStringList @ 5297 NONAME - _ZN4QCss6Parser11parsePseudoEPNS_6PseudoE @ 5298 NONAME - _ZN4QCss6Parser12parseRulesetEPNS_9StyleRuleE @ 5299 NONAME - _ZN4QCss6Parser13parseFunctionEP7QStringS2_ @ 5300 NONAME - _ZN4QCss6Parser13parseHexColorEP6QColor @ 5301 NONAME - _ZN4QCss6Parser13parsePropertyEPNS_11DeclarationE @ 5302 NONAME - _ZN4QCss6Parser13parseSelectorEPNS_8SelectorE @ 5303 NONAME - _ZN4QCss6Parser15parseCombinatorEPNS_13BasicSelector8RelationE @ 5304 NONAME - _ZN4QCss6Parser15parsePseudoPageEP7QString @ 5305 NONAME - _ZN4QCss6Parser15testAndParseUriEP7QString @ 5306 NONAME - _ZN4QCss6Parser16parseElementNameEP7QString @ 5307 NONAME - _ZN4QCss6Parser17parseNextOperatorEPNS_5ValueE @ 5308 NONAME - _ZN4QCss6Parser18testSimpleSelectorEv @ 5309 NONAME - _ZN4QCss6Parser19parseSimpleSelectorEPNS_13BasicSelectorE @ 5310 NONAME - _ZN4QCss6Parser20parseNextDeclarationEPNS_11DeclarationE @ 5311 NONAME - _ZN4QCss6Parser20testTokenAndEndsWithENS_9TokenTypeERK13QLatin1String @ 5312 NONAME - _ZN4QCss6Parser4initERK7QStringb @ 5313 NONAME - _ZN4QCss6Parser4nextENS_9TokenTypeE @ 5314 NONAME - _ZN4QCss6Parser4testENS_9TokenTypeE @ 5315 NONAME - _ZN4QCss6Parser5parseEPNS_10StyleSheetEN2Qt15CaseSensitivityE @ 5316 NONAME - _ZN4QCss6Parser5untilENS_9TokenTypeES1_ @ 5317 NONAME - _ZN4QCss6Parser8testPrioEv @ 5318 NONAME - _ZN4QCss6Parser8testTermEv @ 5319 NONAME - _ZN4QCss6Parser9parseExprEP7QVectorINS_5ValueEE @ 5320 NONAME - _ZN4QCss6Parser9parsePageEPNS_8PageRuleE @ 5321 NONAME - _ZN4QCss6Parser9parsePrioEPNS_11DeclarationE @ 5322 NONAME - _ZN4QCss6Parser9parseTermEPNS_5ValueE @ 5323 NONAME - _ZN4QCss6ParserC1ERK7QStringb @ 5324 NONAME - _ZN4QCss6ParserC1Ev @ 5325 NONAME - _ZN4QCss6ParserC2ERK7QStringb @ 5326 NONAME - _ZN4QCss6ParserC2Ev @ 5327 NONAME - _ZN4QCss7Scanner10preprocessERK7QStringPb @ 5328 NONAME - _ZN4QCss7Scanner4scanERK7QStringP7QVectorINS_6SymbolEE @ 5329 NONAME - _ZN4QCss7Scanner9tokenNameENS_9TokenTypeE @ 5330 NONAME ABSENT - _ZN4QPen10isDetachedEv @ 5331 NONAME - _ZN4QPen11setCapStyleEN2Qt11PenCapStyleE @ 5332 NONAME - _ZN4QPen11setCosmeticEb @ 5333 NONAME - _ZN4QPen12setJoinStyleEN2Qt12PenJoinStyleE @ 5334 NONAME - _ZN4QPen13setDashOffsetEf @ 5335 NONAME - _ZN4QPen13setMiterLimitEf @ 5336 NONAME - _ZN4QPen14setDashPatternERK7QVectorIfE @ 5337 NONAME - _ZN4QPen6detachEv @ 5338 NONAME - _ZN4QPen8setBrushERK6QBrush @ 5339 NONAME - _ZN4QPen8setColorERK6QColor @ 5340 NONAME - _ZN4QPen8setStyleEN2Qt8PenStyleE @ 5341 NONAME - _ZN4QPen8setWidthEi @ 5342 NONAME - _ZN4QPen9setWidthFEf @ 5343 NONAME - _ZN4QPenC1EN2Qt8PenStyleE @ 5344 NONAME - _ZN4QPenC1ERK6QBrushfN2Qt8PenStyleENS3_11PenCapStyleENS3_12PenJoinStyleE @ 5345 NONAME - _ZN4QPenC1ERK6QColor @ 5346 NONAME - _ZN4QPenC1ERKS_ @ 5347 NONAME - _ZN4QPenC1Ev @ 5348 NONAME - _ZN4QPenC2EN2Qt8PenStyleE @ 5349 NONAME - _ZN4QPenC2ERK6QBrushfN2Qt8PenStyleENS3_11PenCapStyleENS3_12PenJoinStyleE @ 5350 NONAME - _ZN4QPenC2ERK6QColor @ 5351 NONAME - _ZN4QPenC2ERKS_ @ 5352 NONAME - _ZN4QPenC2Ev @ 5353 NONAME - _ZN4QPenD1Ev @ 5354 NONAME - _ZN4QPenD2Ev @ 5355 NONAME - _ZN4QPenaSERKS_ @ 5356 NONAME - _ZN5QDial10paintEventEP11QPaintEvent @ 5357 NONAME - _ZN5QDial11qt_metacallEN11QMetaObject4CallEiPPv @ 5358 NONAME - _ZN5QDial11qt_metacastEPKc @ 5359 NONAME - _ZN5QDial11resizeEventEP12QResizeEvent @ 5360 NONAME - _ZN5QDial11setWrappingEb @ 5361 NONAME - _ZN5QDial12sliderChangeEN15QAbstractSlider12SliderChangeE @ 5362 NONAME - _ZN5QDial14mouseMoveEventEP11QMouseEvent @ 5363 NONAME - _ZN5QDial14setNotchTargetEd @ 5364 NONAME - _ZN5QDial15mousePressEventEP11QMouseEvent @ 5365 NONAME - _ZN5QDial16staticMetaObjectE @ 5366 NONAME DATA 16 - _ZN5QDial17mouseReleaseEventEP11QMouseEvent @ 5367 NONAME - _ZN5QDial17setNotchesVisibleEb @ 5368 NONAME - _ZN5QDial5eventEP6QEvent @ 5369 NONAME - _ZN5QDialC1EP7QWidget @ 5370 NONAME - _ZN5QDialC2EP7QWidget @ 5371 NONAME - _ZN5QDialD0Ev @ 5372 NONAME - _ZN5QDialD1Ev @ 5373 NONAME - _ZN5QDialD2Ev @ 5374 NONAME - _ZN5QDrag10setHotSpotERK6QPoint @ 5375 NONAME - _ZN5QDrag11qt_metacallEN11QMetaObject4CallEiPPv @ 5376 NONAME - _ZN5QDrag11qt_metacastEPKc @ 5377 NONAME - _ZN5QDrag11setMimeDataEP9QMimeData @ 5378 NONAME - _ZN5QDrag13actionChangedEN2Qt10DropActionE @ 5379 NONAME - _ZN5QDrag13setDragCursorERK7QPixmapN2Qt10DropActionE @ 5380 NONAME - _ZN5QDrag13targetChangedEP7QWidget @ 5381 NONAME - _ZN5QDrag16staticMetaObjectE @ 5382 NONAME DATA 16 - _ZN5QDrag4execE6QFlagsIN2Qt10DropActionEE @ 5383 NONAME - _ZN5QDrag4execE6QFlagsIN2Qt10DropActionEES2_ @ 5384 NONAME - _ZN5QDrag5startE6QFlagsIN2Qt10DropActionEE @ 5385 NONAME - _ZN5QDrag9setPixmapERK7QPixmap @ 5386 NONAME - _ZN5QDragC1EP7QWidget @ 5387 NONAME - _ZN5QDragC2EP7QWidget @ 5388 NONAME - _ZN5QDragD0Ev @ 5389 NONAME - _ZN5QDragD1Ev @ 5390 NONAME - _ZN5QDragD2Ev @ 5391 NONAME - _ZN5QFont10fromStringERK7QString @ 5392 NONAME - _ZN5QFont10setKerningEb @ 5393 NONAME - _ZN5QFont10setRawModeEb @ 5394 NONAME - _ZN5QFont10setStretchEi @ 5395 NONAME - _ZN5QFont10substituteERK7QString @ 5396 NONAME - _ZN5QFont11setOverlineEb @ 5397 NONAME - _ZN5QFont11substitutesERK7QString @ 5398 NONAME - _ZN5QFont12setPixelSizeEi @ 5399 NONAME - _ZN5QFont12setPointSizeEi @ 5400 NONAME - _ZN5QFont12setStrikeOutEb @ 5401 NONAME - _ZN5QFont12setStyleHintENS_9StyleHintENS_13StyleStrategyE @ 5402 NONAME - _ZN5QFont12setUnderlineEb @ 5403 NONAME - _ZN5QFont13setFixedPitchEb @ 5404 NONAME - _ZN5QFont13setPointSizeFEf @ 5405 NONAME - _ZN5QFont13substitutionsEv @ 5406 NONAME - _ZN5QFont14setWordSpacingEf @ 5407 NONAME - _ZN5QFont15cacheStatisticsEv @ 5408 NONAME - _ZN5QFont16setLetterSpacingENS_11SpacingTypeEf @ 5409 NONAME - _ZN5QFont16setStyleStrategyENS_13StyleStrategyE @ 5410 NONAME - _ZN5QFont16staticMetaObjectE @ 5411 NONAME DATA 16 - _ZN5QFont17setCapitalizationENS_14CapitalizationE @ 5412 NONAME - _ZN5QFont18insertSubstitutionERK7QStringS2_ @ 5413 NONAME - _ZN5QFont18removeSubstitutionERK7QString @ 5414 NONAME - _ZN5QFont19insertSubstitutionsERK7QStringRK11QStringList @ 5415 NONAME - _ZN5QFont6detachEv @ 5416 NONAME - _ZN5QFont8setStyleENS_5StyleE @ 5417 NONAME - _ZN5QFont9setFamilyERK7QString @ 5418 NONAME - _ZN5QFont9setWeightEi @ 5419 NONAME - _ZN5QFontC1EP12QFontPrivate @ 5420 NONAME - _ZN5QFontC1ERK7QStringiib @ 5421 NONAME - _ZN5QFontC1ERKS_ @ 5422 NONAME - _ZN5QFontC1ERKS_P12QPaintDevice @ 5423 NONAME - _ZN5QFontC1Ev @ 5424 NONAME - _ZN5QFontC2EP12QFontPrivate @ 5425 NONAME - _ZN5QFontC2ERK7QStringiib @ 5426 NONAME - _ZN5QFontC2ERKS_ @ 5427 NONAME - _ZN5QFontC2ERKS_P12QPaintDevice @ 5428 NONAME - _ZN5QFontC2Ev @ 5429 NONAME - _ZN5QFontD1Ev @ 5430 NONAME - _ZN5QFontD2Ev @ 5431 NONAME - _ZN5QFontaSERKS_ @ 5432 NONAME - _ZN5QIcon6detachEv @ 5433 NONAME - _ZN5QIcon7addFileERK7QStringRK5QSizeNS_4ModeENS_5StateE @ 5434 NONAME - _ZN5QIcon9addPixmapERK7QPixmapNS_4ModeENS_5StateE @ 5435 NONAME - _ZN5QIconC1EP11QIconEngine @ 5436 NONAME - _ZN5QIconC1EP13QIconEngineV2 @ 5437 NONAME - _ZN5QIconC1ERK7QPixmap @ 5438 NONAME - _ZN5QIconC1ERK7QString @ 5439 NONAME - _ZN5QIconC1ERKS_ @ 5440 NONAME - _ZN5QIconC1Ev @ 5441 NONAME - _ZN5QIconC2EP11QIconEngine @ 5442 NONAME - _ZN5QIconC2EP13QIconEngineV2 @ 5443 NONAME - _ZN5QIconC2ERK7QPixmap @ 5444 NONAME - _ZN5QIconC2ERK7QString @ 5445 NONAME - _ZN5QIconC2ERKS_ @ 5446 NONAME - _ZN5QIconC2Ev @ 5447 NONAME - _ZN5QIconD1Ev @ 5448 NONAME - _ZN5QIconD2Ev @ 5449 NONAME - _ZN5QIconaSERKS_ @ 5450 NONAME - _ZN5QMenu10enterEventEP6QEvent @ 5451 NONAME - _ZN5QMenu10insertMenuEP7QActionPS_ @ 5452 NONAME - _ZN5QMenu10leaveEventEP6QEvent @ 5453 NONAME - _ZN5QMenu10paintEventEP11QPaintEvent @ 5454 NONAME - _ZN5QMenu10timerEventEP11QTimerEvent @ 5455 NONAME - _ZN5QMenu10wheelEventEP11QWheelEvent @ 5456 NONAME - _ZN5QMenu11aboutToHideEv @ 5457 NONAME - _ZN5QMenu11aboutToShowEv @ 5458 NONAME - _ZN5QMenu11actionEventEP12QActionEvent @ 5459 NONAME - _ZN5QMenu11changeEventEP6QEvent @ 5460 NONAME - _ZN5QMenu11qt_metacallEN11QMetaObject4CallEiPPv @ 5461 NONAME - _ZN5QMenu11qt_metacastEPKc @ 5462 NONAME - _ZN5QMenu12addSeparatorEv @ 5463 NONAME - _ZN5QMenu13keyPressEventEP9QKeyEvent @ 5464 NONAME - _ZN5QMenu14mouseMoveEventEP11QMouseEvent @ 5465 NONAME - _ZN5QMenu14setNoReplayForEP7QWidget @ 5466 NONAME - _ZN5QMenu15hideTearOffMenuEv @ 5467 NONAME - _ZN5QMenu15insertSeparatorEP7QAction @ 5468 NONAME - _ZN5QMenu15mousePressEventEP11QMouseEvent @ 5469 NONAME - _ZN5QMenu15setActiveActionEP7QAction @ 5470 NONAME - _ZN5QMenu16setDefaultActionEP7QAction @ 5471 NONAME - _ZN5QMenu16staticMetaObjectE @ 5472 NONAME DATA 16 - _ZN5QMenu17mouseReleaseEventEP11QMouseEvent @ 5473 NONAME - _ZN5QMenu17setTearOffEnabledEb @ 5474 NONAME - _ZN5QMenu18focusNextPrevChildEb @ 5475 NONAME - _ZN5QMenu20internalDelayedPopupEv @ 5476 NONAME - _ZN5QMenu23internalSetSloppyActionEv @ 5477 NONAME - _ZN5QMenu24setSeparatorsCollapsibleEb @ 5478 NONAME - _ZN5QMenu4execE5QListIP7QActionERK6QPointS2_ @ 5479 NONAME - _ZN5QMenu4execE5QListIP7QActionERK6QPointS2_P7QWidget @ 5480 NONAME - _ZN5QMenu4execERK6QPointP7QAction @ 5481 NONAME - _ZN5QMenu4execEv @ 5482 NONAME - _ZN5QMenu5clearEv @ 5483 NONAME - _ZN5QMenu5eventEP6QEvent @ 5484 NONAME - _ZN5QMenu5popupERK6QPointP7QAction @ 5485 NONAME - _ZN5QMenu7addMenuEPS_ @ 5486 NONAME - _ZN5QMenu7addMenuERK5QIconRK7QString @ 5487 NONAME - _ZN5QMenu7addMenuERK7QString @ 5488 NONAME - _ZN5QMenu7hoveredEP7QAction @ 5489 NONAME - _ZN5QMenu7setIconERK5QIcon @ 5490 NONAME - _ZN5QMenu8setTitleERK7QString @ 5491 NONAME - _ZN5QMenu9addActionERK5QIconRK7QString @ 5492 NONAME - _ZN5QMenu9addActionERK5QIconRK7QStringPK7QObjectPKcRK12QKeySequence @ 5493 NONAME - _ZN5QMenu9addActionERK7QString @ 5494 NONAME - _ZN5QMenu9addActionERK7QStringPK7QObjectPKcRK12QKeySequence @ 5495 NONAME - _ZN5QMenu9hideEventEP10QHideEvent @ 5496 NONAME - _ZN5QMenu9triggeredEP7QAction @ 5497 NONAME - _ZN5QMenuC1EP7QWidget @ 5498 NONAME - _ZN5QMenuC1ER12QMenuPrivateP7QWidget @ 5499 NONAME - _ZN5QMenuC1ERK7QStringP7QWidget @ 5500 NONAME - _ZN5QMenuC2EP7QWidget @ 5501 NONAME - _ZN5QMenuC2ER12QMenuPrivateP7QWidget @ 5502 NONAME - _ZN5QMenuC2ERK7QStringP7QWidget @ 5503 NONAME - _ZN5QMenuD0Ev @ 5504 NONAME - _ZN5QMenuD1Ev @ 5505 NONAME - _ZN5QMenuD2Ev @ 5506 NONAME - _ZN6QBrush10setTextureERK7QPixmap @ 5507 NONAME - _ZN6QBrush12setTransformERK10QTransform @ 5508 NONAME - _ZN6QBrush15setTextureImageERK6QImage @ 5509 NONAME - _ZN6QBrush4initERK6QColorN2Qt10BrushStyleE @ 5510 NONAME - _ZN6QBrush6detachEN2Qt10BrushStyleE @ 5511 NONAME - _ZN6QBrush7cleanUpEP10QBrushData @ 5512 NONAME - _ZN6QBrush8setColorERK6QColor @ 5513 NONAME - _ZN6QBrush8setStyleEN2Qt10BrushStyleE @ 5514 NONAME - _ZN6QBrush9setMatrixERK7QMatrix @ 5515 NONAME - _ZN6QBrushC1EN2Qt10BrushStyleE @ 5516 NONAME - _ZN6QBrushC1EN2Qt11GlobalColorENS0_10BrushStyleE @ 5517 NONAME - _ZN6QBrushC1EN2Qt11GlobalColorERK7QPixmap @ 5518 NONAME - _ZN6QBrushC1ERK6QColorN2Qt10BrushStyleE @ 5519 NONAME - _ZN6QBrushC1ERK6QColorRK7QPixmap @ 5520 NONAME - _ZN6QBrushC1ERK6QImage @ 5521 NONAME - _ZN6QBrushC1ERK7QPixmap @ 5522 NONAME - _ZN6QBrushC1ERK9QGradient @ 5523 NONAME - _ZN6QBrushC1ERKS_ @ 5524 NONAME - _ZN6QBrushC1Ev @ 5525 NONAME - _ZN6QBrushC2EN2Qt10BrushStyleE @ 5526 NONAME - _ZN6QBrushC2EN2Qt11GlobalColorENS0_10BrushStyleE @ 5527 NONAME - _ZN6QBrushC2EN2Qt11GlobalColorERK7QPixmap @ 5528 NONAME - _ZN6QBrushC2ERK6QColorN2Qt10BrushStyleE @ 5529 NONAME - _ZN6QBrushC2ERK6QColorRK7QPixmap @ 5530 NONAME - _ZN6QBrushC2ERK6QImage @ 5531 NONAME - _ZN6QBrushC2ERK7QPixmap @ 5532 NONAME - _ZN6QBrushC2ERK9QGradient @ 5533 NONAME - _ZN6QBrushC2ERKS_ @ 5534 NONAME - _ZN6QBrushC2Ev @ 5535 NONAME - _ZN6QBrushD1Ev @ 5536 NONAME - _ZN6QBrushD2Ev @ 5537 NONAME - _ZN6QBrushaSERKS_ @ 5538 NONAME - _ZN6QColor10colorNamesEv @ 5539 NONAME - _ZN6QColor10invalidateEv @ 5540 NONAME - _ZN6QColor13setNamedColorERK7QString @ 5541 NONAME - _ZN6QColor6setHsvEiiii @ 5542 NONAME - _ZN6QColor6setRedEi @ 5543 NONAME - _ZN6QColor6setRgbEiiii @ 5544 NONAME - _ZN6QColor6setRgbEj @ 5545 NONAME - _ZN6QColor7fromHsvEiiii @ 5546 NONAME - _ZN6QColor7fromRgbEiiii @ 5547 NONAME - _ZN6QColor7fromRgbEj @ 5548 NONAME - _ZN6QColor7getCmykEPiS0_S0_S0_S0_ @ 5549 NONAME - _ZN6QColor7setBlueEi @ 5550 NONAME - _ZN6QColor7setCmykEiiiii @ 5551 NONAME - _ZN6QColor7setHsvFEffff @ 5552 NONAME - _ZN6QColor7setRedFEf @ 5553 NONAME - _ZN6QColor7setRgbFEffff @ 5554 NONAME - _ZN6QColor7setRgbaEj @ 5555 NONAME - _ZN6QColor8fromCmykEiiiii @ 5556 NONAME - _ZN6QColor8fromHsvFEffff @ 5557 NONAME - _ZN6QColor8fromRgbFEffff @ 5558 NONAME - _ZN6QColor8fromRgbaEj @ 5559 NONAME - _ZN6QColor8getCmykFEPfS0_S0_S0_S0_ @ 5560 NONAME - _ZN6QColor8setAlphaEi @ 5561 NONAME - _ZN6QColor8setBlueFEf @ 5562 NONAME - _ZN6QColor8setCmykFEfffff @ 5563 NONAME - _ZN6QColor8setGreenEi @ 5564 NONAME - _ZN6QColor9fromCmykFEfffff @ 5565 NONAME - _ZN6QColor9setAlphaFEf @ 5566 NONAME - _ZN6QColor9setGreenFEf @ 5567 NONAME - _ZN6QColorC1EN2Qt11GlobalColorE @ 5568 NONAME - _ZN6QColorC1ENS_4SpecE @ 5569 NONAME - _ZN6QColorC1Ej @ 5570 NONAME - _ZN6QColorC2EN2Qt11GlobalColorE @ 5571 NONAME - _ZN6QColorC2ENS_4SpecE @ 5572 NONAME - _ZN6QColorC2Ej @ 5573 NONAME - _ZN6QColoraSEN2Qt11GlobalColorE @ 5574 NONAME - _ZN6QColoraSERKS_ @ 5575 NONAME - _ZN6QFrame10paintEventEP11QPaintEvent @ 5576 NONAME - _ZN6QFrame11changeEventEP6QEvent @ 5577 NONAME - _ZN6QFrame11qt_metacallEN11QMetaObject4CallEiPPv @ 5578 NONAME - _ZN6QFrame11qt_metacastEPKc @ 5579 NONAME - _ZN6QFrame12setFrameRectERK5QRect @ 5580 NONAME - _ZN6QFrame12setLineWidthEi @ 5581 NONAME - _ZN6QFrame13setFrameShapeENS_5ShapeE @ 5582 NONAME - _ZN6QFrame13setFrameStyleEi @ 5583 NONAME - _ZN6QFrame14setFrameShadowENS_6ShadowE @ 5584 NONAME - _ZN6QFrame15setMidLineWidthEi @ 5585 NONAME - _ZN6QFrame16staticMetaObjectE @ 5586 NONAME DATA 16 - _ZN6QFrame5eventEP6QEvent @ 5587 NONAME - _ZN6QFrame9drawFrameEP8QPainter @ 5588 NONAME - _ZN6QFrameC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5589 NONAME - _ZN6QFrameC1ER13QFramePrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5590 NONAME - _ZN6QFrameC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5591 NONAME - _ZN6QFrameC2ER13QFramePrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5592 NONAME - _ZN6QFrameD0Ev @ 5593 NONAME - _ZN6QFrameD1Ev @ 5594 NONAME - _ZN6QFrameD2Ev @ 5595 NONAME - _ZN6QImage10trueMatrixERK10QTransformii @ 5596 NONAME - _ZN6QImage10trueMatrixERK7QMatrixii @ 5597 NONAME - _ZN6QImage12invertPixelsENS_10InvertModeE @ 5598 NONAME - _ZN6QImage12loadFromDataEPKhiPKc @ 5599 NONAME - _ZN6QImage12setNumColorsEi @ 5600 NONAME - _ZN6QImage13setColorTableE7QVectorIjE @ 5601 NONAME - _ZN6QImage15setAlphaChannelERKS_ @ 5602 NONAME - _ZN6QImage16setDotsPerMeterXEi @ 5603 NONAME - _ZN6QImage16setDotsPerMeterYEi @ 5604 NONAME - _ZN6QImage4bitsEv @ 5605 NONAME - _ZN6QImage4fillEj @ 5606 NONAME - _ZN6QImage4loadEP9QIODevicePKc @ 5607 NONAME - _ZN6QImage4loadERK7QStringPKc @ 5608 NONAME - _ZN6QImage6detachEv @ 5609 NONAME - _ZN6QImage7setTextEPKcS1_RK7QString @ 5610 NONAME - _ZN6QImage7setTextERK7QStringS2_ @ 5611 NONAME - _ZN6QImage8fromDataEPKhiPKc @ 5612 NONAME - _ZN6QImage8scanLineEi @ 5613 NONAME - _ZN6QImage8setColorEij @ 5614 NONAME - _ZN6QImage8setPixelEiij @ 5615 NONAME - _ZN6QImage9setOffsetERK6QPoint @ 5616 NONAME - _ZN6QImageC1EPKPKc @ 5617 NONAME - _ZN6QImageC1EPKcS1_ @ 5618 NONAME - _ZN6QImageC1EPKhiiNS_6FormatE @ 5619 NONAME - _ZN6QImageC1EPKhiiiNS_6FormatE @ 5620 NONAME - _ZN6QImageC1EPhiiNS_6FormatE @ 5621 NONAME - _ZN6QImageC1EPhiiiNS_6FormatE @ 5622 NONAME - _ZN6QImageC1ERK5QSizeNS_6FormatE @ 5623 NONAME - _ZN6QImageC1ERK7QStringPKc @ 5624 NONAME - _ZN6QImageC1ERKS_ @ 5625 NONAME - _ZN6QImageC1EiiNS_6FormatE @ 5626 NONAME - _ZN6QImageC1Ev @ 5627 NONAME - _ZN6QImageC2EPKPKc @ 5628 NONAME - _ZN6QImageC2EPKcS1_ @ 5629 NONAME - _ZN6QImageC2EPKhiiNS_6FormatE @ 5630 NONAME - _ZN6QImageC2EPKhiiiNS_6FormatE @ 5631 NONAME - _ZN6QImageC2EPhiiNS_6FormatE @ 5632 NONAME - _ZN6QImageC2EPhiiiNS_6FormatE @ 5633 NONAME - _ZN6QImageC2ERK5QSizeNS_6FormatE @ 5634 NONAME - _ZN6QImageC2ERK7QStringPKc @ 5635 NONAME - _ZN6QImageC2ERKS_ @ 5636 NONAME - _ZN6QImageC2EiiNS_6FormatE @ 5637 NONAME - _ZN6QImageC2Ev @ 5638 NONAME - _ZN6QImageD0Ev @ 5639 NONAME - _ZN6QImageD1Ev @ 5640 NONAME - _ZN6QImageD2Ev @ 5641 NONAME - _ZN6QImageaSERKS_ @ 5642 NONAME - _ZN6QLabel10paintEventEP11QPaintEvent @ 5643 NONAME - _ZN6QLabel10setPictureERK8QPicture @ 5644 NONAME - _ZN6QLabel11changeEventEP6QEvent @ 5645 NONAME - _ZN6QLabel11linkHoveredERK7QString @ 5646 NONAME - _ZN6QLabel11qt_metacallEN11QMetaObject4CallEiPPv @ 5647 NONAME - _ZN6QLabel11qt_metacastEPKc @ 5648 NONAME - _ZN6QLabel11setWordWrapEb @ 5649 NONAME - _ZN6QLabel12focusInEventEP11QFocusEvent @ 5650 NONAME - _ZN6QLabel12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 5651 NONAME - _ZN6QLabel13focusOutEventEP11QFocusEvent @ 5652 NONAME - _ZN6QLabel13keyPressEventEP9QKeyEvent @ 5653 NONAME - _ZN6QLabel13linkActivatedERK7QString @ 5654 NONAME - _ZN6QLabel13setTextFormatEN2Qt10TextFormatE @ 5655 NONAME - _ZN6QLabel14mouseMoveEventEP11QMouseEvent @ 5656 NONAME - _ZN6QLabel15mousePressEventEP11QMouseEvent @ 5657 NONAME - _ZN6QLabel16contextMenuEventEP17QContextMenuEvent @ 5658 NONAME - _ZN6QLabel16staticMetaObjectE @ 5659 NONAME DATA 16 - _ZN6QLabel17mouseReleaseEventEP11QMouseEvent @ 5660 NONAME - _ZN6QLabel17setScaledContentsEb @ 5661 NONAME - _ZN6QLabel18focusNextPrevChildEb @ 5662 NONAME - _ZN6QLabel20setOpenExternalLinksEb @ 5663 NONAME - _ZN6QLabel23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 5664 NONAME - _ZN6QLabel5clearEv @ 5665 NONAME - _ZN6QLabel5eventEP6QEvent @ 5666 NONAME - _ZN6QLabel6setNumEd @ 5667 NONAME - _ZN6QLabel6setNumEi @ 5668 NONAME - _ZN6QLabel7setTextERK7QString @ 5669 NONAME - _ZN6QLabel8setBuddyEP7QWidget @ 5670 NONAME - _ZN6QLabel8setMovieEP6QMovie @ 5671 NONAME - _ZN6QLabel9setIndentEi @ 5672 NONAME - _ZN6QLabel9setMarginEi @ 5673 NONAME - _ZN6QLabel9setPixmapERK7QPixmap @ 5674 NONAME - _ZN6QLabelC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5675 NONAME - _ZN6QLabelC1ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5676 NONAME - _ZN6QLabelC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5677 NONAME - _ZN6QLabelC2ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5678 NONAME - _ZN6QLabelD0Ev @ 5679 NONAME - _ZN6QLabelD1Ev @ 5680 NONAME - _ZN6QLabelD2Ev @ 5681 NONAME - _ZN6QMovie10scaledSizeEv @ 5682 NONAME - _ZN6QMovie11jumpToFrameEi @ 5683 NONAME - _ZN6QMovie11qt_metacallEN11QMetaObject4CallEiPPv @ 5684 NONAME - _ZN6QMovie11qt_metacastEPKc @ 5685 NONAME - _ZN6QMovie11setFileNameERK7QString @ 5686 NONAME - _ZN6QMovie12frameChangedEi @ 5687 NONAME - _ZN6QMovie12setCacheModeENS_9CacheModeE @ 5688 NONAME - _ZN6QMovie12stateChangedENS_10MovieStateE @ 5689 NONAME - _ZN6QMovie13setScaledSizeERK5QSize @ 5690 NONAME - _ZN6QMovie15jumpToNextFrameEv @ 5691 NONAME - _ZN6QMovie16staticMetaObjectE @ 5692 NONAME DATA 16 - _ZN6QMovie16supportedFormatsEv @ 5693 NONAME - _ZN6QMovie18setBackgroundColorERK6QColor @ 5694 NONAME - _ZN6QMovie4stopEv @ 5695 NONAME - _ZN6QMovie5errorEN12QImageReader16ImageReaderErrorE @ 5696 NONAME - _ZN6QMovie5startEv @ 5697 NONAME - _ZN6QMovie7resizedERK5QSize @ 5698 NONAME - _ZN6QMovie7startedEv @ 5699 NONAME - _ZN6QMovie7updatedERK5QRect @ 5700 NONAME - _ZN6QMovie8finishedEv @ 5701 NONAME - _ZN6QMovie8setSpeedEi @ 5702 NONAME - _ZN6QMovie9cacheModeEv @ 5703 NONAME - _ZN6QMovie9setDeviceEP9QIODevice @ 5704 NONAME - _ZN6QMovie9setFormatERK10QByteArray @ 5705 NONAME - _ZN6QMovie9setPausedEb @ 5706 NONAME - _ZN6QMovieC1EP7QObject @ 5707 NONAME - _ZN6QMovieC1EP9QIODeviceRK10QByteArrayP7QObject @ 5708 NONAME - _ZN6QMovieC1ERK7QStringRK10QByteArrayP7QObject @ 5709 NONAME - _ZN6QMovieC2EP7QObject @ 5710 NONAME - _ZN6QMovieC2EP9QIODeviceRK10QByteArrayP7QObject @ 5711 NONAME - _ZN6QMovieC2ERK7QStringRK10QByteArrayP7QObject @ 5712 NONAME - _ZN6QMovieD0Ev @ 5713 NONAME - _ZN6QMovieD1Ev @ 5714 NONAME - _ZN6QMovieD2Ev @ 5715 NONAME - _ZN6QSound11isAvailableEv @ 5716 NONAME - _ZN6QSound11qt_metacallEN11QMetaObject4CallEiPPv @ 5717 NONAME - _ZN6QSound11qt_metacastEPKc @ 5718 NONAME - _ZN6QSound16staticMetaObjectE @ 5719 NONAME DATA 16 - _ZN6QSound4playERK7QString @ 5720 NONAME - _ZN6QSound4playEv @ 5721 NONAME - _ZN6QSound4stopEv @ 5722 NONAME - _ZN6QSound8setLoopsEi @ 5723 NONAME - _ZN6QSoundC1ERK7QStringP7QObject @ 5724 NONAME - _ZN6QSoundC2ERK7QStringP7QObject @ 5725 NONAME - _ZN6QSoundD0Ev @ 5726 NONAME - _ZN6QSoundD1Ev @ 5727 NONAME - _ZN6QSoundD2Ev @ 5728 NONAME - _ZN6QStyle10visualRectEN2Qt15LayoutDirectionERK5QRectS4_ @ 5729 NONAME - _ZN6QStyle11alignedRectEN2Qt15LayoutDirectionE6QFlagsINS0_13AlignmentFlagEERK5QSizeRK5QRect @ 5730 NONAME - _ZN6QStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 5731 NONAME - _ZN6QStyle11qt_metacastEPKc @ 5732 NONAME - _ZN6QStyle15visualAlignmentEN2Qt15LayoutDirectionE6QFlagsINS0_13AlignmentFlagEE @ 5733 NONAME - _ZN6QStyle16staticMetaObjectE @ 5734 NONAME DATA 16 - _ZN6QStyle23sliderPositionFromValueEiiiib @ 5735 NONAME - _ZN6QStyle23sliderValueFromPositionEiiiib @ 5736 NONAME - _ZN6QStyle6polishEP12QApplication @ 5737 NONAME - _ZN6QStyle6polishEP7QWidget @ 5738 NONAME - _ZN6QStyle6polishER8QPalette @ 5739 NONAME - _ZN6QStyle8unpolishEP12QApplication @ 5740 NONAME - _ZN6QStyle8unpolishEP7QWidget @ 5741 NONAME - _ZN6QStyle9visualPosEN2Qt15LayoutDirectionERK5QRectRK6QPoint @ 5742 NONAME - _ZN6QStyleC2ER13QStylePrivate @ 5743 NONAME - _ZN6QStyleC2Ev @ 5744 NONAME - _ZN6QStyleD0Ev @ 5745 NONAME - _ZN6QStyleD1Ev @ 5746 NONAME - _ZN6QStyleD2Ev @ 5747 NONAME - _ZN7QAction10setCheckedEb @ 5748 NONAME - _ZN7QAction10setEnabledEb @ 5749 NONAME - _ZN7QAction10setToolTipERK7QString @ 5750 NONAME - _ZN7QAction10setVisibleEb @ 5751 NONAME - _ZN7QAction11qt_metacallEN11QMetaObject4CallEiPPv @ 5752 NONAME - _ZN7QAction11qt_metacastEPKc @ 5753 NONAME - _ZN7QAction11setIconTextERK7QString @ 5754 NONAME - _ZN7QAction11setMenuRoleENS_8MenuRoleE @ 5755 NONAME - _ZN7QAction11setShortcutERK12QKeySequence @ 5756 NONAME - _ZN7QAction12setCheckableEb @ 5757 NONAME - _ZN7QAction12setSeparatorEb @ 5758 NONAME - _ZN7QAction12setShortcutsEN12QKeySequence11StandardKeyE @ 5759 NONAME - _ZN7QAction12setShortcutsERK5QListI12QKeySequenceE @ 5760 NONAME - _ZN7QAction12setStatusTipERK7QString @ 5761 NONAME - _ZN7QAction12setWhatsThisERK7QString @ 5762 NONAME - _ZN7QAction13setAutoRepeatEb @ 5763 NONAME - _ZN7QAction14setActionGroupEP12QActionGroup @ 5764 NONAME - _ZN7QAction14setSoftKeyRoleENS_11SoftKeyRoleE @ 5765 NONAME - _ZN7QAction14showStatusTextEP7QWidget @ 5766 NONAME - _ZN7QAction16staticMetaObjectE @ 5767 NONAME DATA 16 - _ZN7QAction18setShortcutContextEN2Qt15ShortcutContextE @ 5768 NONAME - _ZN7QAction20setIconVisibleInMenuEb @ 5769 NONAME - _ZN7QAction5eventEP6QEvent @ 5770 NONAME - _ZN7QAction6toggleEv @ 5771 NONAME - _ZN7QAction7changedEv @ 5772 NONAME - _ZN7QAction7hoveredEv @ 5773 NONAME - _ZN7QAction7setDataERK8QVariant @ 5774 NONAME - _ZN7QAction7setFontERK5QFont @ 5775 NONAME - _ZN7QAction7setIconERK5QIcon @ 5776 NONAME - _ZN7QAction7setMenuEP5QMenu @ 5777 NONAME - _ZN7QAction7setTextERK7QString @ 5778 NONAME - _ZN7QAction7toggledEb @ 5779 NONAME - _ZN7QAction8activateENS_11ActionEventE @ 5780 NONAME - _ZN7QAction9triggeredEb @ 5781 NONAME - _ZN7QActionC1EP7QObject @ 5782 NONAME - _ZN7QActionC1ER14QActionPrivateP7QObject @ 5783 NONAME - _ZN7QActionC1ERK5QIconRK7QStringP7QObject @ 5784 NONAME - _ZN7QActionC1ERK7QStringP7QObject @ 5785 NONAME - _ZN7QActionC2EP7QObject @ 5786 NONAME - _ZN7QActionC2ER14QActionPrivateP7QObject @ 5787 NONAME - _ZN7QActionC2ERK5QIconRK7QStringP7QObject @ 5788 NONAME - _ZN7QActionC2ERK7QStringP7QObject @ 5789 NONAME - _ZN7QActionD0Ev @ 5790 NONAME - _ZN7QActionD1Ev @ 5791 NONAME - _ZN7QActionD2Ev @ 5792 NONAME - _ZN7QBezier10fromPointsERK7QPointFS2_S2_S2_ @ 5793 NONAME - _ZN7QBezier17findIntersectionsERKS_S1_ @ 5794 NONAME - _ZN7QBezier17findIntersectionsERKS_S1_P7QVectorI5QPairIffEE @ 5795 NONAME - _ZN7QBezier20splitAtIntersectionsERS_ @ 5796 NONAME - _ZN7QBitmap8fromDataERK5QSizePKhN6QImage6FormatE @ 5797 NONAME - _ZN7QBitmap9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 5798 NONAME - _ZN7QBitmapC1ERK5QSize @ 5799 NONAME - _ZN7QBitmapC1ERK7QPixmap @ 5800 NONAME - _ZN7QBitmapC1ERK7QStringPKc @ 5801 NONAME - _ZN7QBitmapC1Eii @ 5802 NONAME - _ZN7QBitmapC1Ev @ 5803 NONAME - _ZN7QBitmapC2ERK5QSize @ 5804 NONAME - _ZN7QBitmapC2ERK7QPixmap @ 5805 NONAME - _ZN7QBitmapC2ERK7QStringPKc @ 5806 NONAME - _ZN7QBitmapC2Eii @ 5807 NONAME - _ZN7QBitmapC2Ev @ 5808 NONAME - _ZN7QBitmapD0Ev @ 5809 NONAME - _ZN7QBitmapD1Ev @ 5810 NONAME - _ZN7QBitmapD2Ev @ 5811 NONAME - _ZN7QBitmapaSERK7QPixmap @ 5812 NONAME - _ZN7QCursor3posEv @ 5813 NONAME - _ZN7QCursor6setPosEii @ 5814 NONAME - _ZN7QDialog10closeEventEP11QCloseEvent @ 5815 NONAME - _ZN7QDialog10setVisibleEb @ 5816 NONAME - _ZN7QDialog11eventFilterEP7QObjectP6QEvent @ 5817 NONAME - _ZN7QDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 5818 NONAME - _ZN7QDialog11qt_metacastEPKc @ 5819 NONAME - _ZN7QDialog11resizeEventEP12QResizeEvent @ 5820 NONAME - _ZN7QDialog12setExtensionEP7QWidget @ 5821 NONAME - _ZN7QDialog13keyPressEventEP9QKeyEvent @ 5822 NONAME - _ZN7QDialog13showExtensionEb @ 5823 NONAME - _ZN7QDialog14adjustPositionEP7QWidget @ 5824 NONAME - _ZN7QDialog14setOrientationEN2Qt11OrientationE @ 5825 NONAME - _ZN7QDialog16contextMenuEventEP17QContextMenuEvent @ 5826 NONAME - _ZN7QDialog16staticMetaObjectE @ 5827 NONAME DATA 16 - _ZN7QDialog18setSizeGripEnabledEb @ 5828 NONAME - _ZN7QDialog4doneEi @ 5829 NONAME - _ZN7QDialog4execEv @ 5830 NONAME - _ZN7QDialog4openEv @ 5831 NONAME - _ZN7QDialog6acceptEv @ 5832 NONAME - _ZN7QDialog6rejectEv @ 5833 NONAME - _ZN7QDialog8acceptedEv @ 5834 NONAME - _ZN7QDialog8finishedEi @ 5835 NONAME - _ZN7QDialog8rejectedEv @ 5836 NONAME - _ZN7QDialog8setModalEb @ 5837 NONAME - _ZN7QDialog9setResultEi @ 5838 NONAME - _ZN7QDialog9showEventEP10QShowEvent @ 5839 NONAME - _ZN7QDialogC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5840 NONAME - _ZN7QDialogC1ER14QDialogPrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5841 NONAME - _ZN7QDialogC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5842 NONAME - _ZN7QDialogC2ER14QDialogPrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5843 NONAME - _ZN7QDialogD0Ev @ 5844 NONAME - _ZN7QDialogD1Ev @ 5845 NONAME - _ZN7QDialogD2Ev @ 5846 NONAME - _ZN7QLayout10childEventEP11QChildEvent @ 5847 NONAME - _ZN7QLayout10invalidateEv @ 5848 NONAME - _ZN7QLayout10removeItemEP11QLayoutItem @ 5849 NONAME - _ZN7QLayout10setEnabledEb @ 5850 NONAME - _ZN7QLayout10setMenuBarEP7QWidget @ 5851 NONAME - _ZN7QLayout10setSpacingEi @ 5852 NONAME - _ZN7QLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 5853 NONAME - _ZN7QLayout11qt_metacastEPKc @ 5854 NONAME - _ZN7QLayout11setGeometryERK5QRect @ 5855 NONAME - _ZN7QLayout11widgetEventEP6QEvent @ 5856 NONAME - _ZN7QLayout12removeWidgetEP7QWidget @ 5857 NONAME - _ZN7QLayout12setAlignmentEP7QWidget6QFlagsIN2Qt13AlignmentFlagEE @ 5858 NONAME - _ZN7QLayout12setAlignmentEPS_6QFlagsIN2Qt13AlignmentFlagEE @ 5859 NONAME - _ZN7QLayout14addChildLayoutEPS_ @ 5860 NONAME - _ZN7QLayout14addChildWidgetEP7QWidget @ 5861 NONAME - _ZN7QLayout16staticMetaObjectE @ 5862 NONAME DATA 16 - _ZN7QLayout17setSizeConstraintENS_14SizeConstraintE @ 5863 NONAME - _ZN7QLayout18setContentsMarginsEiiii @ 5864 NONAME - _ZN7QLayout21closestAcceptableSizeEPK7QWidgetRK5QSize @ 5865 NONAME - _ZN7QLayout23activateRecursiveHelperEP11QLayoutItem @ 5866 NONAME - _ZN7QLayout6layoutEv @ 5867 NONAME - _ZN7QLayout6updateEv @ 5868 NONAME - _ZN7QLayout8activateEv @ 5869 NONAME - _ZN7QLayout9addWidgetEP7QWidget @ 5870 NONAME - _ZN7QLayout9setMarginEi @ 5871 NONAME - _ZN7QLayoutC2EP7QWidget @ 5872 NONAME - _ZN7QLayoutC2ER14QLayoutPrivatePS_P7QWidget @ 5873 NONAME - _ZN7QLayoutC2Ev @ 5874 NONAME - _ZN7QLayoutD0Ev @ 5875 NONAME - _ZN7QLayoutD1Ev @ 5876 NONAME - _ZN7QLayoutD2Ev @ 5877 NONAME - _ZN7QMatrix5resetEv @ 5878 NONAME - _ZN7QMatrix5scaleEff @ 5879 NONAME - _ZN7QMatrix5shearEff @ 5880 NONAME - _ZN7QMatrix6rotateEf @ 5881 NONAME - _ZN7QMatrix9setMatrixEffffff @ 5882 NONAME - _ZN7QMatrix9translateEff @ 5883 NONAME - _ZN7QMatrixC1ERKS_ @ 5884 NONAME - _ZN7QMatrixC1Effffff @ 5885 NONAME - _ZN7QMatrixC1Ev @ 5886 NONAME - _ZN7QMatrixC2ERKS_ @ 5887 NONAME - _ZN7QMatrixC2Effffff @ 5888 NONAME - _ZN7QMatrixC2Ev @ 5889 NONAME - _ZN7QMatrixaSERKS_ @ 5890 NONAME - _ZN7QMatrixmLERKS_ @ 5891 NONAME - _ZN7QPixmap10grabWidgetEP7QWidgetRK5QRect @ 5892 NONAME - _ZN7QPixmap10grabWindowEP11CCoeControliiii @ 5893 NONAME - _ZN7QPixmap10trueMatrixERK10QTransformii @ 5894 NONAME - _ZN7QPixmap10trueMatrixERK7QMatrixii @ 5895 NONAME - _ZN7QPixmap12defaultDepthEv @ 5896 NONAME - _ZN7QPixmap12loadFromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 5897 NONAME - _ZN7QPixmap15setAlphaChannelERKS_ @ 5898 NONAME - _ZN7QPixmap21fromSymbianCFbsBitmapEP10CFbsBitmap @ 5899 NONAME - _ZN7QPixmap4fillEPK7QWidgetRK6QPoint @ 5900 NONAME - _ZN7QPixmap4fillERK6QColor @ 5901 NONAME - _ZN7QPixmap4initEiiNS_4TypeE @ 5902 NONAME - _ZN7QPixmap4initEiii @ 5903 NONAME - _ZN7QPixmap4loadERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 5904 NONAME - _ZN7QPixmap5derefEv @ 5905 NONAME - _ZN7QPixmap6detachEv @ 5906 NONAME - _ZN7QPixmap7setMaskERK7QBitmap @ 5907 NONAME - _ZN7QPixmap9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 5908 NONAME - _ZN7QPixmapC1EP11QPixmapData @ 5909 NONAME - _ZN7QPixmapC1EPKPKc @ 5910 NONAME - _ZN7QPixmapC1ERK5QSize @ 5911 NONAME - _ZN7QPixmapC1ERK5QSizeNS_4TypeE @ 5912 NONAME - _ZN7QPixmapC1ERK5QSizei @ 5913 NONAME - _ZN7QPixmapC1ERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 5914 NONAME - _ZN7QPixmapC1ERKS_ @ 5915 NONAME - _ZN7QPixmapC1Eii @ 5916 NONAME - _ZN7QPixmapC1Ev @ 5917 NONAME - _ZN7QPixmapC2EP11QPixmapData @ 5918 NONAME - _ZN7QPixmapC2EPKPKc @ 5919 NONAME - _ZN7QPixmapC2ERK5QSize @ 5920 NONAME - _ZN7QPixmapC2ERK5QSizeNS_4TypeE @ 5921 NONAME - _ZN7QPixmapC2ERK5QSizei @ 5922 NONAME - _ZN7QPixmapC2ERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 5923 NONAME - _ZN7QPixmapC2ERKS_ @ 5924 NONAME - _ZN7QPixmapC2Eii @ 5925 NONAME - _ZN7QPixmapC2Ev @ 5926 NONAME - _ZN7QPixmapD0Ev @ 5927 NONAME - _ZN7QPixmapD1Ev @ 5928 NONAME - _ZN7QPixmapD2Ev @ 5929 NONAME - _ZN7QPixmapaSERKS_ @ 5930 NONAME - _ZN7QRegion12shared_emptyE @ 5931 NONAME DATA 8 - _ZN7QRegion4execERK10QByteArrayiN11QDataStream9ByteOrderE @ 5932 NONAME - _ZN7QRegion6detachEv @ 5933 NONAME - _ZN7QRegion7cleanUpEPNS_11QRegionDataE @ 5934 NONAME - _ZN7QRegion8setRectsEPK5QRecti @ 5935 NONAME - _ZN7QRegion9translateEii @ 5936 NONAME - _ZN7QRegionC1ERK5QRectNS_10RegionTypeE @ 5937 NONAME - _ZN7QRegionC1ERK7QBitmap @ 5938 NONAME - _ZN7QRegionC1ERK8QPolygonN2Qt8FillRuleE @ 5939 NONAME - _ZN7QRegionC1ERKS_ @ 5940 NONAME - _ZN7QRegionC1EiiiiNS_10RegionTypeE @ 5941 NONAME - _ZN7QRegionC1Ev @ 5942 NONAME - _ZN7QRegionC2ERK5QRectNS_10RegionTypeE @ 5943 NONAME - _ZN7QRegionC2ERK7QBitmap @ 5944 NONAME - _ZN7QRegionC2ERK8QPolygonN2Qt8FillRuleE @ 5945 NONAME - _ZN7QRegionC2ERKS_ @ 5946 NONAME - _ZN7QRegionC2EiiiiNS_10RegionTypeE @ 5947 NONAME - _ZN7QRegionC2Ev @ 5948 NONAME - _ZN7QRegionD1Ev @ 5949 NONAME - _ZN7QRegionD2Ev @ 5950 NONAME - _ZN7QRegionaNERK5QRect @ 5951 NONAME - _ZN7QRegionaNERKS_ @ 5952 NONAME - _ZN7QRegionaSERKS_ @ 5953 NONAME - _ZN7QRegioneOERKS_ @ 5954 NONAME - _ZN7QRegionmIERKS_ @ 5955 NONAME - _ZN7QRegionoRERKS_ @ 5956 NONAME - _ZN7QRegionpLERK5QRect @ 5957 NONAME - _ZN7QRegionpLERKS_ @ 5958 NONAME - _ZN7QSlider10paintEventEP11QPaintEvent @ 5959 NONAME - _ZN7QSlider11qt_metacallEN11QMetaObject4CallEiPPv @ 5960 NONAME - _ZN7QSlider11qt_metacastEPKc @ 5961 NONAME - _ZN7QSlider14mouseMoveEventEP11QMouseEvent @ 5962 NONAME - _ZN7QSlider15mousePressEventEP11QMouseEvent @ 5963 NONAME - _ZN7QSlider15setTickIntervalEi @ 5964 NONAME - _ZN7QSlider15setTickPositionENS_12TickPositionE @ 5965 NONAME - _ZN7QSlider16staticMetaObjectE @ 5966 NONAME DATA 16 - _ZN7QSlider17mouseReleaseEventEP11QMouseEvent @ 5967 NONAME - _ZN7QSlider5eventEP6QEvent @ 5968 NONAME - _ZN7QSliderC1EN2Qt11OrientationEP7QWidget @ 5969 NONAME - _ZN7QSliderC1EP7QWidget @ 5970 NONAME - _ZN7QSliderC2EN2Qt11OrientationEP7QWidget @ 5971 NONAME - _ZN7QSliderC2EP7QWidget @ 5972 NONAME - _ZN7QSliderD0Ev @ 5973 NONAME - _ZN7QSliderD1Ev @ 5974 NONAME - _ZN7QSliderD2Ev @ 5975 NONAME - _ZN7QTabBar10paintEventEP11QPaintEvent @ 5976 NONAME - _ZN7QTabBar10setMovableEb @ 5977 NONAME - _ZN7QTabBar10setTabDataEiRK8QVariant @ 5978 NONAME - _ZN7QTabBar10setTabIconEiRK5QIcon @ 5979 NONAME - _ZN7QTabBar10setTabTextEiRK7QString @ 5980 NONAME - _ZN7QTabBar10tabRemovedEi @ 5981 NONAME - _ZN7QTabBar10wheelEventEP11QWheelEvent @ 5982 NONAME - _ZN7QTabBar11changeEventEP6QEvent @ 5983 NONAME - _ZN7QTabBar11qt_metacallEN11QMetaObject4CallEiPPv @ 5984 NONAME - _ZN7QTabBar11qt_metacastEPKc @ 5985 NONAME - _ZN7QTabBar11resizeEventEP12QResizeEvent @ 5986 NONAME - _ZN7QTabBar11setDrawBaseEb @ 5987 NONAME - _ZN7QTabBar11setIconSizeERK5QSize @ 5988 NONAME - _ZN7QTabBar11tabInsertedEi @ 5989 NONAME - _ZN7QTabBar12setElideModeEN2Qt13TextElideModeE @ 5990 NONAME - _ZN7QTabBar12setExpandingEb @ 5991 NONAME - _ZN7QTabBar12setTabButtonEiNS_14ButtonPositionEP7QWidget @ 5992 NONAME - _ZN7QTabBar13keyPressEventEP9QKeyEvent @ 5993 NONAME - _ZN7QTabBar13setTabEnabledEib @ 5994 NONAME - _ZN7QTabBar13setTabToolTipEiRK7QString @ 5995 NONAME - _ZN7QTabBar14currentChangedEi @ 5996 NONAME - _ZN7QTabBar14mouseMoveEventEP11QMouseEvent @ 5997 NONAME - _ZN7QTabBar15mousePressEventEP11QMouseEvent @ 5998 NONAME - _ZN7QTabBar15setCurrentIndexEi @ 5999 NONAME - _ZN7QTabBar15setDocumentModeEb @ 6000 NONAME - _ZN7QTabBar15setTabTextColorEiRK6QColor @ 6001 NONAME - _ZN7QTabBar15setTabWhatsThisEiRK7QString @ 6002 NONAME - _ZN7QTabBar15setTabsClosableEb @ 6003 NONAME - _ZN7QTabBar15tabLayoutChangeEv @ 6004 NONAME - _ZN7QTabBar16staticMetaObjectE @ 6005 NONAME DATA 16 - _ZN7QTabBar17mouseReleaseEventEP11QMouseEvent @ 6006 NONAME - _ZN7QTabBar17tabCloseRequestedEi @ 6007 NONAME - _ZN7QTabBar20setUsesScrollButtonsEb @ 6008 NONAME - _ZN7QTabBar28setSelectionBehaviorOnRemoveENS_17SelectionBehaviorE @ 6009 NONAME - _ZN7QTabBar5eventEP6QEvent @ 6010 NONAME - _ZN7QTabBar6addTabERK5QIconRK7QString @ 6011 NONAME - _ZN7QTabBar6addTabERK7QString @ 6012 NONAME - _ZN7QTabBar7moveTabEii @ 6013 NONAME - _ZN7QTabBar8setShapeENS_5ShapeE @ 6014 NONAME - _ZN7QTabBar8tabMovedEii @ 6015 NONAME - _ZN7QTabBar9hideEventEP10QHideEvent @ 6016 NONAME - _ZN7QTabBar9insertTabEiRK5QIconRK7QString @ 6017 NONAME - _ZN7QTabBar9insertTabEiRK7QString @ 6018 NONAME - _ZN7QTabBar9removeTabEi @ 6019 NONAME - _ZN7QTabBar9showEventEP10QShowEvent @ 6020 NONAME - _ZN7QTabBarC1EP7QWidget @ 6021 NONAME - _ZN7QTabBarC2EP7QWidget @ 6022 NONAME - _ZN7QTabBarD0Ev @ 6023 NONAME - _ZN7QTabBarD1Ev @ 6024 NONAME - _ZN7QTabBarD2Ev @ 6025 NONAME - _ZN7QWidget10addActionsE5QListIP7QActionE @ 6026 NONAME - _ZN7QWidget10adjustSizeEv @ 6027 NONAME - _ZN7QWidget10clearFocusEv @ 6028 NONAME - _ZN7QWidget10closeEventEP11QCloseEvent @ 6029 NONAME - _ZN7QWidget10enterEventEP6QEvent @ 6030 NONAME - _ZN7QWidget10fontChangeERK5QFont @ 6031 NONAME - _ZN7QWidget10leaveEventEP6QEvent @ 6032 NONAME - _ZN7QWidget10paintEventEP11QPaintEvent @ 6033 NONAME - _ZN7QWidget10setEnabledEb @ 6034 NONAME - _ZN7QWidget10setPaletteERK8QPalette @ 6035 NONAME - _ZN7QWidget10setSoftKeyEP7QAction @ 6036 NONAME ABSENT - _ZN7QWidget10setToolTipERK7QString @ 6037 NONAME - _ZN7QWidget10setVisibleEb @ 6038 NONAME - _ZN7QWidget10showNormalEv @ 6039 NONAME - _ZN7QWidget10stackUnderEPS_ @ 6040 NONAME - _ZN7QWidget10takeLayoutEv @ 6041 NONAME - _ZN7QWidget10wheelEventEP11QWheelEvent @ 6042 NONAME - _ZN7QWidget11actionEventEP12QActionEvent @ 6043 NONAME - _ZN7QWidget11changeEventEP6QEvent @ 6044 NONAME - _ZN7QWidget11createWinIdEv @ 6045 NONAME - _ZN7QWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 6046 NONAME - _ZN7QWidget11qt_metacastEPKc @ 6047 NONAME - _ZN7QWidget11resizeEventEP12QResizeEvent @ 6048 NONAME - _ZN7QWidget11setBaseSizeEii @ 6049 NONAME - _ZN7QWidget11setDisabledEb @ 6050 NONAME - _ZN7QWidget11setGeometryERK5QRect @ 6051 NONAME - _ZN7QWidget11setSoftKeysERK5QListIP7QActionE @ 6052 NONAME ABSENT - _ZN7QWidget11setTabOrderEPS_S0_ @ 6053 NONAME - _ZN7QWidget11styleChangeER6QStyle @ 6054 NONAME - _ZN7QWidget11tabletEventEP12QTabletEvent @ 6055 NONAME - _ZN7QWidget11unsetLocaleEv @ 6056 NONAME - _ZN7QWidget12focusInEventEP11QFocusEvent @ 6057 NONAME - _ZN7QWidget12grabKeyboardEv @ 6058 NONAME - _ZN7QWidget12grabShortcutERK12QKeySequenceN2Qt15ShortcutContextE @ 6059 NONAME - _ZN7QWidget12inputContextEv @ 6060 NONAME - _ZN7QWidget12insertActionEP7QActionS1_ @ 6061 NONAME - _ZN7QWidget12mouseGrabberEv @ 6062 NONAME - _ZN7QWidget12releaseMouseEv @ 6063 NONAME - _ZN7QWidget12removeActionEP7QAction @ 6064 NONAME - _ZN7QWidget12setAttributeEN2Qt15WidgetAttributeEb @ 6065 NONAME - _ZN7QWidget12setEditFocusEb @ 6066 NONAME - _ZN7QWidget12setFixedSizeERK5QSize @ 6067 NONAME - _ZN7QWidget12setFixedSizeEii @ 6068 NONAME - _ZN7QWidget12setStatusTipERK7QString @ 6069 NONAME - _ZN7QWidget12setWhatsThisERK7QString @ 6070 NONAME - _ZN7QWidget13dragMoveEventEP14QDragMoveEvent @ 6071 NONAME - _ZN7QWidget13enabledChangeEb @ 6072 NONAME - _ZN7QWidget13focusOutEventEP11QFocusEvent @ 6073 NONAME - _ZN7QWidget13insertActionsEP7QAction5QListIS1_E @ 6074 NONAME - _ZN7QWidget13keyPressEventEP9QKeyEvent @ 6075 NONAME - _ZN7QWidget13paletteChangeERK8QPalette @ 6076 NONAME - _ZN7QWidget13setFixedWidthEi @ 6077 NONAME - _ZN7QWidget13setFocusProxyEPS_ @ 6078 NONAME - _ZN7QWidget13setSizePolicyE11QSizePolicy @ 6079 NONAME - _ZN7QWidget13setStyleSheetERK7QString @ 6080 NONAME - _ZN7QWidget13setWindowIconERK5QIcon @ 6081 NONAME - _ZN7QWidget13setWindowRoleERK7QString @ 6082 NONAME - _ZN7QWidget13showMaximizedEv @ 6083 NONAME - _ZN7QWidget13showMinimizedEv @ 6084 NONAME - _ZN7QWidget14activateWindowEv @ 6085 NONAME - _ZN7QWidget14dragEnterEventEP15QDragEnterEvent @ 6086 NONAME - _ZN7QWidget14dragLeaveEventEP15QDragLeaveEvent @ 6087 NONAME - _ZN7QWidget14languageChangeEv @ 6088 NONAME - _ZN7QWidget14mouseMoveEventEP11QMouseEvent @ 6089 NONAME - _ZN7QWidget14setAcceptDropsEb @ 6090 NONAME - _ZN7QWidget14setFixedHeightEi @ 6091 NONAME - _ZN7QWidget14setFocusPolicyEN2Qt11FocusPolicyE @ 6092 NONAME - _ZN7QWidget14setMaximumSizeEii @ 6093 NONAME - _ZN7QWidget14setMinimumSizeEii @ 6094 NONAME - _ZN7QWidget14setWindowFlagsE6QFlagsIN2Qt10WindowTypeEE @ 6095 NONAME - _ZN7QWidget14setWindowStateE6QFlagsIN2Qt11WindowStateEE @ 6096 NONAME - _ZN7QWidget14setWindowTitleERK7QString @ 6097 NONAME - _ZN7QWidget14showFullScreenEv @ 6098 NONAME - _ZN7QWidget14updateGeometryEv @ 6099 NONAME - _ZN7QWidget15keyReleaseEventEP9QKeyEvent @ 6100 NONAME - _ZN7QWidget15keyboardGrabberEv @ 6101 NONAME - _ZN7QWidget15mousePressEventEP11QMouseEvent @ 6102 NONAME - _ZN7QWidget15releaseKeyboardEv @ 6103 NONAME - _ZN7QWidget15releaseShortcutEi @ 6104 NONAME - _ZN7QWidget15restoreGeometryERK10QByteArray @ 6105 NONAME - _ZN7QWidget15setInputContextEP13QInputContext @ 6106 NONAME - _ZN7QWidget15setMaximumWidthEi @ 6107 NONAME - _ZN7QWidget15setMinimumWidthEi @ 6108 NONAME - _ZN7QWidget16contextMenuEventEP17QContextMenuEvent @ 6109 NONAME - _ZN7QWidget16inputMethodEventEP17QInputMethodEvent @ 6110 NONAME - _ZN7QWidget16setMaximumHeightEi @ 6111 NONAME - _ZN7QWidget16setMinimumHeightEi @ 6112 NONAME - _ZN7QWidget16setSizeIncrementEii @ 6113 NONAME - _ZN7QWidget16setWindowOpacityEf @ 6114 NONAME - _ZN7QWidget16setWindowSurfaceEP14QWindowSurface @ 6115 NONAME - _ZN7QWidget16staticMetaObjectE @ 6116 NONAME DATA 16 - _ZN7QWidget16updateMicroFocusEv @ 6117 NONAME - _ZN7QWidget17mouseReleaseEventEP11QMouseEvent @ 6118 NONAME - _ZN7QWidget17resetInputContextEv @ 6119 NONAME - _ZN7QWidget17setBackgroundRoleEN8QPalette9ColorRoleE @ 6120 NONAME - _ZN7QWidget17setForegroundRoleEN8QPalette9ColorRoleE @ 6121 NONAME - _ZN7QWidget17setUpdatesEnabledEb @ 6122 NONAME - _ZN7QWidget17setWindowFilePathERK7QString @ 6123 NONAME - _ZN7QWidget17setWindowIconTextERK7QString @ 6124 NONAME - _ZN7QWidget17setWindowModalityEN2Qt14WindowModalityE @ 6125 NONAME - _ZN7QWidget17setWindowModifiedEb @ 6126 NONAME - _ZN7QWidget18focusNextPrevChildEb @ 6127 NONAME - _ZN7QWidget18setContentsMarginsEiiii @ 6128 NONAME - _ZN7QWidget18setLayoutDirectionEN2Qt15LayoutDirectionE @ 6129 NONAME - _ZN7QWidget18setShortcutEnabledEib @ 6130 NONAME - _ZN7QWidget19overrideWindowFlagsE6QFlagsIN2Qt10WindowTypeEE @ 6131 NONAME - _ZN7QWidget19overrideWindowStateE6QFlagsIN2Qt11WindowStateEE @ 6132 NONAME - _ZN7QWidget19setInputMethodHintsE6QFlagsIN2Qt15InputMethodHintEE @ 6133 NONAME - _ZN7QWidget20setContextMenuPolicyEN2Qt17ContextMenuPolicyE @ 6134 NONAME - _ZN7QWidget20unsetLayoutDirectionEv @ 6135 NONAME - _ZN7QWidget21mouseDoubleClickEventEP11QMouseEvent @ 6136 NONAME - _ZN7QWidget21setAutoFillBackgroundEb @ 6137 NONAME - _ZN7QWidget21setShortcutAutoRepeatEib @ 6138 NONAME - _ZN7QWidget22windowActivationChangeEb @ 6139 NONAME - _ZN7QWidget26customContextMenuRequestedERK6QPoint @ 6140 NONAME - _ZN7QWidget4findEP11CCoeControl @ 6141 NONAME - _ZN7QWidget4moveERK6QPoint @ 6142 NONAME - _ZN7QWidget5closeEv @ 6143 NONAME - _ZN7QWidget5eventEP6QEvent @ 6144 NONAME - _ZN7QWidget5lowerEv @ 6145 NONAME - _ZN7QWidget5raiseEv @ 6146 NONAME - _ZN7QWidget6createEP11CCoeControlbb @ 6147 NONAME - _ZN7QWidget6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsINS_10RenderFlagEE @ 6148 NONAME - _ZN7QWidget6renderEP8QPainterRK6QPointRK7QRegion6QFlagsINS_10RenderFlagEE @ 6149 NONAME - _ZN7QWidget6resizeERK5QSize @ 6150 NONAME - _ZN7QWidget6scrollEii @ 6151 NONAME - _ZN7QWidget6scrollEiiRK5QRect @ 6152 NONAME - _ZN7QWidget6updateERK5QRect @ 6153 NONAME - _ZN7QWidget6updateERK7QRegion @ 6154 NONAME - _ZN7QWidget6updateEv @ 6155 NONAME - _ZN7QWidget7destroyEbb @ 6156 NONAME - _ZN7QWidget7repaintERK5QRect @ 6157 NONAME - _ZN7QWidget7repaintERK7QRegion @ 6158 NONAME - _ZN7QWidget7repaintEiiii @ 6159 NONAME - _ZN7QWidget7repaintEv @ 6160 NONAME - _ZN7QWidget7setFontERK5QFont @ 6161 NONAME - _ZN7QWidget7setMaskERK7QBitmap @ 6162 NONAME - _ZN7QWidget7setMaskERK7QRegion @ 6163 NONAME - _ZN7QWidget8setFocusEN2Qt11FocusReasonE @ 6164 NONAME - _ZN7QWidget8setStyleEP6QStyle @ 6165 NONAME - _ZN7QWidget9addActionEP7QAction @ 6166 NONAME - _ZN7QWidget9clearMaskEv @ 6167 NONAME - _ZN7QWidget9dropEventEP10QDropEvent @ 6168 NONAME - _ZN7QWidget9grabMouseEv @ 6169 NONAME - _ZN7QWidget9hideEventEP10QHideEvent @ 6170 NONAME - _ZN7QWidget9moveEventEP10QMoveEvent @ 6171 NONAME - _ZN7QWidget9setLayoutEP7QLayout @ 6172 NONAME - _ZN7QWidget9setLocaleERK7QLocale @ 6173 NONAME - _ZN7QWidget9setParentEPS_ @ 6174 NONAME - _ZN7QWidget9setParentEPS_6QFlagsIN2Qt10WindowTypeEE @ 6175 NONAME - _ZN7QWidget9showEventEP10QShowEvent @ 6176 NONAME - _ZN7QWidgetC1EPS_6QFlagsIN2Qt10WindowTypeEE @ 6177 NONAME - _ZN7QWidgetC1ER14QWidgetPrivatePS_6QFlagsIN2Qt10WindowTypeEE @ 6178 NONAME - _ZN7QWidgetC2EPS_6QFlagsIN2Qt10WindowTypeEE @ 6179 NONAME - _ZN7QWidgetC2ER14QWidgetPrivatePS_6QFlagsIN2Qt10WindowTypeEE @ 6180 NONAME - _ZN7QWidgetD0Ev @ 6181 NONAME - _ZN7QWidgetD1Ev @ 6182 NONAME - _ZN7QWidgetD2Ev @ 6183 NONAME - _ZN7QWizard10paintEventEP11QPaintEvent @ 6184 NONAME - _ZN7QWizard10removePageEi @ 6185 NONAME - _ZN7QWizard10setOptionsE6QFlagsINS_12WizardOptionEE @ 6186 NONAME - _ZN7QWizard10setStartIdEi @ 6187 NONAME - _ZN7QWizard10setVisibleEb @ 6188 NONAME - _ZN7QWizard11cleanupPageEi @ 6189 NONAME - _ZN7QWizard11qt_metacallEN11QMetaObject4CallEiPPv @ 6190 NONAME - _ZN7QWizard11qt_metacastEPKc @ 6191 NONAME - _ZN7QWizard11resizeEventEP12QResizeEvent @ 6192 NONAME - _ZN7QWizard13helpRequestedEv @ 6193 NONAME - _ZN7QWizard13setButtonTextENS_12WizardButtonERK7QString @ 6194 NONAME - _ZN7QWizard14initializePageEi @ 6195 NONAME - _ZN7QWizard14setTitleFormatEN2Qt10TextFormatE @ 6196 NONAME - _ZN7QWizard14setWizardStyleENS_11WizardStyleE @ 6197 NONAME - _ZN7QWizard15setButtonLayoutERK5QListINS_12WizardButtonEE @ 6198 NONAME - _ZN7QWizard16currentIdChangedEi @ 6199 NONAME - _ZN7QWizard16staticMetaObjectE @ 6200 NONAME DATA 16 - _ZN7QWizard17setSubTitleFormatEN2Qt10TextFormatE @ 6201 NONAME - _ZN7QWizard18setDefaultPropertyEPKcS1_S1_ @ 6202 NONAME - _ZN7QWizard19customButtonClickedEi @ 6203 NONAME - _ZN7QWizard19validateCurrentPageEv @ 6204 NONAME - _ZN7QWizard4backEv @ 6205 NONAME - _ZN7QWizard4doneEi @ 6206 NONAME - _ZN7QWizard4nextEv @ 6207 NONAME - _ZN7QWizard5eventEP6QEvent @ 6208 NONAME - _ZN7QWizard7addPageEP11QWizardPage @ 6209 NONAME - _ZN7QWizard7restartEv @ 6210 NONAME - _ZN7QWizard7setPageEiP11QWizardPage @ 6211 NONAME - _ZN7QWizard8setFieldERK7QStringRK8QVariant @ 6212 NONAME - _ZN7QWizard9setButtonENS_12WizardButtonEP15QAbstractButton @ 6213 NONAME - _ZN7QWizard9setOptionENS_12WizardOptionEb @ 6214 NONAME - _ZN7QWizard9setPixmapENS_12WizardPixmapERK7QPixmap @ 6215 NONAME - _ZN7QWizardC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6216 NONAME - _ZN7QWizardC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6217 NONAME - _ZN7QWizardD0Ev @ 6218 NONAME - _ZN7QWizardD1Ev @ 6219 NONAME - _ZN7QWizardD2Ev @ 6220 NONAME - _ZN8QMdiArea10childEventEP11QChildEvent @ 6221 NONAME - _ZN8QMdiArea10paintEventEP11QPaintEvent @ 6222 NONAME - _ZN8QMdiArea10timerEventEP11QTimerEvent @ 6223 NONAME - _ZN8QMdiArea11eventFilterEP7QObjectP6QEvent @ 6224 NONAME - _ZN8QMdiArea11qt_metacallEN11QMetaObject4CallEiPPv @ 6225 NONAME - _ZN8QMdiArea11qt_metacastEPKc @ 6226 NONAME - _ZN8QMdiArea11resizeEventEP12QResizeEvent @ 6227 NONAME - _ZN8QMdiArea11setTabShapeEN10QTabWidget8TabShapeE @ 6228 NONAME - _ZN8QMdiArea11setViewModeENS_8ViewModeE @ 6229 NONAME - _ZN8QMdiArea12addSubWindowEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6230 NONAME - _ZN8QMdiArea13setBackgroundERK6QBrush @ 6231 NONAME - _ZN8QMdiArea13setupViewportEP7QWidget @ 6232 NONAME - _ZN8QMdiArea13viewportEventEP6QEvent @ 6233 NONAME - _ZN8QMdiArea14setTabPositionEN10QTabWidget11TabPositionE @ 6234 NONAME - _ZN8QMdiArea14tileSubWindowsEv @ 6235 NONAME - _ZN8QMdiArea15removeSubWindowEP7QWidget @ 6236 NONAME - _ZN8QMdiArea15setDocumentModeEb @ 6237 NONAME - _ZN8QMdiArea16scrollContentsByEii @ 6238 NONAME - _ZN8QMdiArea16staticMetaObjectE @ 6239 NONAME DATA 16 - _ZN8QMdiArea17cascadeSubWindowsEv @ 6240 NONAME - _ZN8QMdiArea18closeAllSubWindowsEv @ 6241 NONAME - _ZN8QMdiArea18setActivationOrderENS_11WindowOrderE @ 6242 NONAME - _ZN8QMdiArea18setActiveSubWindowEP13QMdiSubWindow @ 6243 NONAME - _ZN8QMdiArea18subWindowActivatedEP13QMdiSubWindow @ 6244 NONAME - _ZN8QMdiArea20closeActiveSubWindowEv @ 6245 NONAME - _ZN8QMdiArea21activateNextSubWindowEv @ 6246 NONAME - _ZN8QMdiArea25activatePreviousSubWindowEv @ 6247 NONAME - _ZN8QMdiArea5eventEP6QEvent @ 6248 NONAME - _ZN8QMdiArea9setOptionENS_10AreaOptionEb @ 6249 NONAME - _ZN8QMdiArea9showEventEP10QShowEvent @ 6250 NONAME - _ZN8QMdiAreaC1EP7QWidget @ 6251 NONAME - _ZN8QMdiAreaC2EP7QWidget @ 6252 NONAME - _ZN8QMdiAreaD0Ev @ 6253 NONAME - _ZN8QMdiAreaD1Ev @ 6254 NONAME - _ZN8QMdiAreaD2Ev @ 6255 NONAME - _ZN8QMenuBar10insertMenuEP7QActionP5QMenu @ 6256 NONAME - _ZN8QMenuBar10leaveEventEP6QEvent @ 6257 NONAME - _ZN8QMenuBar10paintEventEP11QPaintEvent @ 6258 NONAME - _ZN8QMenuBar10setVisibleEb @ 6259 NONAME - _ZN8QMenuBar10timerEventEP11QTimerEvent @ 6260 NONAME - _ZN8QMenuBar11actionEventEP12QActionEvent @ 6261 NONAME - _ZN8QMenuBar11changeEventEP6QEvent @ 6262 NONAME - _ZN8QMenuBar11eventFilterEP7QObjectP6QEvent @ 6263 NONAME - _ZN8QMenuBar11qt_metacallEN11QMetaObject4CallEiPPv @ 6264 NONAME - _ZN8QMenuBar11qt_metacastEPKc @ 6265 NONAME - _ZN8QMenuBar11resizeEventEP12QResizeEvent @ 6266 NONAME - _ZN8QMenuBar12addSeparatorEv @ 6267 NONAME - _ZN8QMenuBar12focusInEventEP11QFocusEvent @ 6268 NONAME - _ZN8QMenuBar12setDefaultUpEb @ 6269 NONAME - _ZN8QMenuBar13focusOutEventEP11QFocusEvent @ 6270 NONAME - _ZN8QMenuBar13keyPressEventEP9QKeyEvent @ 6271 NONAME - _ZN8QMenuBar14mouseMoveEventEP11QMouseEvent @ 6272 NONAME - _ZN8QMenuBar15insertSeparatorEP7QAction @ 6273 NONAME - _ZN8QMenuBar15mousePressEventEP11QMouseEvent @ 6274 NONAME - _ZN8QMenuBar15setActiveActionEP7QAction @ 6275 NONAME - _ZN8QMenuBar15setCornerWidgetEP7QWidgetN2Qt6CornerE @ 6276 NONAME - _ZN8QMenuBar16staticMetaObjectE @ 6277 NONAME DATA 16 - _ZN8QMenuBar17mouseReleaseEventEP11QMouseEvent @ 6278 NONAME - _ZN8QMenuBar5clearEv @ 6279 NONAME - _ZN8QMenuBar5eventEP6QEvent @ 6280 NONAME - _ZN8QMenuBar7addMenuEP5QMenu @ 6281 NONAME - _ZN8QMenuBar7addMenuERK5QIconRK7QString @ 6282 NONAME - _ZN8QMenuBar7addMenuERK7QString @ 6283 NONAME - _ZN8QMenuBar7hoveredEP7QAction @ 6284 NONAME - _ZN8QMenuBar9addActionERK7QString @ 6285 NONAME - _ZN8QMenuBar9addActionERK7QStringPK7QObjectPKc @ 6286 NONAME - _ZN8QMenuBar9triggeredEP7QAction @ 6287 NONAME - _ZN8QMenuBarC1EP7QWidget @ 6288 NONAME - _ZN8QMenuBarC2EP7QWidget @ 6289 NONAME - _ZN8QMenuBarD0Ev @ 6290 NONAME - _ZN8QMenuBarD1Ev @ 6291 NONAME - _ZN8QMenuBarD2Ev @ 6292 NONAME - _ZN8QPainter10drawPixmapERK6QRectFRK7QPixmapS2_ @ 6293 NONAME - _ZN8QPainter10drawPixmapERK7QPointFRK7QPixmap @ 6294 NONAME - _ZN8QPainter10drawPointsEPK6QPointi @ 6295 NONAME - _ZN8QPainter10drawPointsEPK7QPointFi @ 6296 NONAME - _ZN8QPainter10redirectedEPK12QPaintDeviceP6QPoint @ 6297 NONAME - _ZN8QPainter10setOpacityEf @ 6298 NONAME - _ZN8QPainter10strokePathERK12QPainterPathRK4QPen @ 6299 NONAME - _ZN8QPainter11drawEllipseERK5QRect @ 6300 NONAME - _ZN8QPainter11drawEllipseERK6QRectF @ 6301 NONAME - _ZN8QPainter11drawPictureERK7QPointFRK8QPicture @ 6302 NONAME - _ZN8QPainter11drawPolygonEPK6QPointiN2Qt8FillRuleE @ 6303 NONAME - _ZN8QPainter11drawPolygonEPK7QPointFiN2Qt8FillRuleE @ 6304 NONAME - _ZN8QPainter11resetMatrixEv @ 6305 NONAME - _ZN8QPainter11setClipPathERK12QPainterPathN2Qt13ClipOperationE @ 6306 NONAME - _ZN8QPainter11setClipRectERK5QRectN2Qt13ClipOperationE @ 6307 NONAME - _ZN8QPainter11setClipRectERK6QRectFN2Qt13ClipOperationE @ 6308 NONAME - _ZN8QPainter11setClippingEb @ 6309 NONAME - _ZN8QPainter11setViewportERK5QRect @ 6310 NONAME - _ZN8QPainter12boundingRectERK5QRectiRK7QString @ 6311 NONAME - _ZN8QPainter12boundingRectERK6QRectFRK7QStringRK11QTextOption @ 6312 NONAME - _ZN8QPainter12boundingRectERK6QRectFiRK7QString @ 6313 NONAME - _ZN8QPainter12drawPolylineEPK6QPointi @ 6314 NONAME - _ZN8QPainter12drawPolylineEPK7QPointFi @ 6315 NONAME - _ZN8QPainter12drawTextItemERK7QPointFRK9QTextItem @ 6316 NONAME - _ZN8QPainter12setTransformERK10QTransformb @ 6317 NONAME - _ZN8QPainter13drawRoundRectERK6QRectFii @ 6318 NONAME - _ZN8QPainter13setBackgroundERK6QBrush @ 6319 NONAME - _ZN8QPainter13setClipRegionERK7QRegionN2Qt13ClipOperationE @ 6320 NONAME - _ZN8QPainter13setRedirectedEPK12QPaintDevicePS0_RK6QPoint @ 6321 NONAME - _ZN8QPainter13setRenderHintENS_10RenderHintEb @ 6322 NONAME - _ZN8QPainter14resetTransformEv @ 6323 NONAME - _ZN8QPainter14setBrushOriginERK7QPointF @ 6324 NONAME - _ZN8QPainter14setRenderHintsE6QFlagsINS_10RenderHintEEb @ 6325 NONAME - _ZN8QPainter14setWorldMatrixERK7QMatrixb @ 6326 NONAME - _ZN8QPainter15drawRoundedRectERK6QRectFffN2Qt8SizeModeE @ 6327 NONAME - _ZN8QPainter15drawTiledPixmapERK6QRectFRK7QPixmapRK7QPointF @ 6328 NONAME - _ZN8QPainter16setMatrixEnabledEb @ 6329 NONAME - _ZN8QPainter16staticMetaObjectE @ 6330 NONAME DATA 16 - _ZN8QPainter17drawConvexPolygonEPK6QPointi @ 6331 NONAME - _ZN8QPainter17drawConvexPolygonEPK7QPointFi @ 6332 NONAME - _ZN8QPainter17restoreRedirectedEPK12QPaintDevice @ 6333 NONAME - _ZN8QPainter17setBackgroundModeEN2Qt6BGModeE @ 6334 NONAME - _ZN8QPainter17setWorldTransformERK10QTransformb @ 6335 NONAME - _ZN8QPainter18setCompositionModeENS_15CompositionModeE @ 6336 NONAME - _ZN8QPainter18setLayoutDirectionEN2Qt15LayoutDirectionE @ 6337 NONAME - _ZN8QPainter21setWorldMatrixEnabledEb @ 6338 NONAME - _ZN8QPainter23setViewTransformEnabledEb @ 6339 NONAME - _ZN8QPainter3endEv @ 6340 NONAME - _ZN8QPainter4saveEv @ 6341 NONAME - _ZN8QPainter5beginEP12QPaintDevice @ 6342 NONAME - _ZN8QPainter5scaleEff @ 6343 NONAME - _ZN8QPainter5shearEff @ 6344 NONAME - _ZN8QPainter6rotateEf @ 6345 NONAME - _ZN8QPainter6setPenEN2Qt8PenStyleE @ 6346 NONAME - _ZN8QPainter6setPenERK4QPen @ 6347 NONAME - _ZN8QPainter6setPenERK6QColor @ 6348 NONAME - _ZN8QPainter7drawArcERK6QRectFii @ 6349 NONAME - _ZN8QPainter7drawPieERK6QRectFii @ 6350 NONAME - _ZN8QPainter7restoreEv @ 6351 NONAME - _ZN8QPainter7setFontERK5QFont @ 6352 NONAME - _ZN8QPainter8drawPathERK12QPainterPath @ 6353 NONAME - _ZN8QPainter8drawTextERK5QRectiRK7QStringPS0_ @ 6354 NONAME - _ZN8QPainter8drawTextERK6QRectFRK7QStringRK11QTextOption @ 6355 NONAME - _ZN8QPainter8drawTextERK6QRectFiRK7QStringPS0_ @ 6356 NONAME - _ZN8QPainter8drawTextERK7QPointFRK7QString @ 6357 NONAME - _ZN8QPainter8drawTextERK7QPointFRK7QStringii @ 6358 NONAME - _ZN8QPainter8fillPathERK12QPainterPathRK6QBrush @ 6359 NONAME - _ZN8QPainter8fillRectERK5QRectRK6QBrush @ 6360 NONAME - _ZN8QPainter8fillRectERK5QRectRK6QColor @ 6361 NONAME - _ZN8QPainter8fillRectERK6QRectFRK6QBrush @ 6362 NONAME - _ZN8QPainter8fillRectERK6QRectFRK6QColor @ 6363 NONAME - _ZN8QPainter8initFromEPK7QWidget @ 6364 NONAME - _ZN8QPainter8setBrushEN2Qt10BrushStyleE @ 6365 NONAME - _ZN8QPainter8setBrushERK6QBrush @ 6366 NONAME - _ZN8QPainter9drawChordERK6QRectFii @ 6367 NONAME - _ZN8QPainter9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 6368 NONAME - _ZN8QPainter9drawImageERK7QPointFRK6QImage @ 6369 NONAME - _ZN8QPainter9drawLinesEPK5QLinei @ 6370 NONAME - _ZN8QPainter9drawLinesEPK6QLineFi @ 6371 NONAME - _ZN8QPainter9drawLinesEPK6QPointi @ 6372 NONAME - _ZN8QPainter9drawLinesEPK7QPointFi @ 6373 NONAME - _ZN8QPainter9drawRectsEPK5QRecti @ 6374 NONAME - _ZN8QPainter9drawRectsEPK6QRectFi @ 6375 NONAME - _ZN8QPainter9eraseRectERK6QRectF @ 6376 NONAME - _ZN8QPainter9setMatrixERK7QMatrixb @ 6377 NONAME - _ZN8QPainter9setWindowERK5QRect @ 6378 NONAME - _ZN8QPainter9translateERK7QPointF @ 6379 NONAME - _ZN8QPainterC1EP12QPaintDevice @ 6380 NONAME - _ZN8QPainterC1Ev @ 6381 NONAME - _ZN8QPainterC2EP12QPaintDevice @ 6382 NONAME - _ZN8QPainterC2Ev @ 6383 NONAME - _ZN8QPainterD1Ev @ 6384 NONAME - _ZN8QPainterD2Ev @ 6385 NONAME - _ZN8QPalette13setColorGroupENS_10ColorGroupERK6QBrushS3_S3_S3_S3_S3_S3_S3_S3_ @ 6386 NONAME - _ZN8QPalette13setColorGroupENS_10ColorGroupERK6QBrushS3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_ @ 6387 NONAME - _ZN8QPalette13setColorGroupENS_10ColorGroupERK6QBrushS3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_ @ 6388 NONAME - _ZN8QPalette16staticMetaObjectE @ 6389 NONAME DATA 16 - _ZN8QPalette4initEv @ 6390 NONAME - _ZN8QPalette6detachEv @ 6391 NONAME - _ZN8QPalette8setBrushENS_10ColorGroupENS_9ColorRoleERK6QBrush @ 6392 NONAME - _ZN8QPaletteC1EN2Qt11GlobalColorE @ 6393 NONAME - _ZN8QPaletteC1ERK6QBrushS2_S2_S2_S2_S2_S2_S2_S2_ @ 6394 NONAME - _ZN8QPaletteC1ERK6QColor @ 6395 NONAME - _ZN8QPaletteC1ERK6QColorS2_ @ 6396 NONAME - _ZN8QPaletteC1ERK6QColorS2_S2_S2_S2_S2_S2_ @ 6397 NONAME - _ZN8QPaletteC1ERKS_ @ 6398 NONAME - _ZN8QPaletteC1Ev @ 6399 NONAME - _ZN8QPaletteC2EN2Qt11GlobalColorE @ 6400 NONAME - _ZN8QPaletteC2ERK6QBrushS2_S2_S2_S2_S2_S2_S2_S2_ @ 6401 NONAME - _ZN8QPaletteC2ERK6QColor @ 6402 NONAME - _ZN8QPaletteC2ERK6QColorS2_ @ 6403 NONAME - _ZN8QPaletteC2ERK6QColorS2_S2_S2_S2_S2_S2_ @ 6404 NONAME - _ZN8QPaletteC2ERKS_ @ 6405 NONAME - _ZN8QPaletteC2Ev @ 6406 NONAME - _ZN8QPaletteD1Ev @ 6407 NONAME - _ZN8QPaletteD2Ev @ 6408 NONAME - _ZN8QPaletteaSERKS_ @ 6409 NONAME - _ZN8QPicture12inputFormatsEv @ 6410 NONAME - _ZN8QPicture13detach_helperEv @ 6411 NONAME - _ZN8QPicture13outputFormatsEv @ 6412 NONAME - _ZN8QPicture13pictureFormatERK7QString @ 6413 NONAME - _ZN8QPicture15inputFormatListEv @ 6414 NONAME - _ZN8QPicture15setBoundingRectERK5QRect @ 6415 NONAME - _ZN8QPicture16outputFormatListEv @ 6416 NONAME - _ZN8QPicture4execEP8QPainterR11QDataStreami @ 6417 NONAME - _ZN8QPicture4loadEP9QIODevicePKc @ 6418 NONAME - _ZN8QPicture4loadERK7QStringPKc @ 6419 NONAME - _ZN8QPicture4playEP8QPainter @ 6420 NONAME - _ZN8QPicture4saveEP9QIODevicePKc @ 6421 NONAME - _ZN8QPicture4saveERK7QStringPKc @ 6422 NONAME - _ZN8QPicture6detachEv @ 6423 NONAME - _ZN8QPicture7setDataEPKcj @ 6424 NONAME - _ZN8QPictureC1ER15QPicturePrivate @ 6425 NONAME - _ZN8QPictureC1ERKS_ @ 6426 NONAME - _ZN8QPictureC1Ei @ 6427 NONAME - _ZN8QPictureC2ER15QPicturePrivate @ 6428 NONAME - _ZN8QPictureC2ERKS_ @ 6429 NONAME - _ZN8QPictureC2Ei @ 6430 NONAME - _ZN8QPictureD0Ev @ 6431 NONAME - _ZN8QPictureD1Ev @ 6432 NONAME - _ZN8QPictureD2Ev @ 6433 NONAME - _ZN8QPictureaSERKS_ @ 6434 NONAME - _ZN8QPolygon9putPointsEiiPKi @ 6435 NONAME - _ZN8QPolygon9putPointsEiiRKS_i @ 6436 NONAME - _ZN8QPolygon9putPointsEiiiiz @ 6437 NONAME - _ZN8QPolygon9setPointsEiPKi @ 6438 NONAME - _ZN8QPolygon9setPointsEiiiz @ 6439 NONAME - _ZN8QPolygon9translateEii @ 6440 NONAME - _ZN8QPolygonC1ERK5QRectb @ 6441 NONAME - _ZN8QPolygonC1EiPKi @ 6442 NONAME - _ZN8QPolygonC2ERK5QRectb @ 6443 NONAME - _ZN8QPolygonC2EiPKi @ 6444 NONAME - _ZN8QSidebar11qt_metacallEN11QMetaObject4CallEiPPv @ 6445 NONAME - _ZN8QSidebar11qt_metacastEPKc @ 6446 NONAME - _ZN8QSidebar11removeEntryEv @ 6447 NONAME - _ZN8QSidebar12focusInEventEP11QFocusEvent @ 6448 NONAME - _ZN8QSidebar14dragEnterEventEP15QDragEnterEvent @ 6449 NONAME - _ZN8QSidebar15showContextMenuERK6QPoint @ 6450 NONAME - _ZN8QSidebar16staticMetaObjectE @ 6451 NONAME DATA 16 - _ZN8QSidebar4initEP16QFileSystemModelRK5QListI4QUrlE @ 6452 NONAME - _ZN8QSidebar5eventEP6QEvent @ 6453 NONAME - _ZN8QSidebar7clickedERK11QModelIndex @ 6454 NONAME - _ZN8QSidebar7goToUrlERK4QUrl @ 6455 NONAME - _ZN8QSidebar9selectUrlERK4QUrl @ 6456 NONAME - _ZN8QSidebarC1EP7QWidget @ 6457 NONAME - _ZN8QSidebarC2EP7QWidget @ 6458 NONAME - _ZN8QSidebarD0Ev @ 6459 NONAME - _ZN8QSidebarD1Ev @ 6460 NONAME - _ZN8QSidebarD2Ev @ 6461 NONAME - _ZN8QSpinBox10setMaximumEi @ 6462 NONAME - _ZN8QSpinBox10setMinimumEi @ 6463 NONAME - _ZN8QSpinBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6464 NONAME - _ZN8QSpinBox11qt_metacastEPKc @ 6465 NONAME - _ZN8QSpinBox12valueChangedERK7QString @ 6466 NONAME - _ZN8QSpinBox12valueChangedEi @ 6467 NONAME - _ZN8QSpinBox13setSingleStepEi @ 6468 NONAME - _ZN8QSpinBox16staticMetaObjectE @ 6469 NONAME DATA 16 - _ZN8QSpinBox5eventEP6QEvent @ 6470 NONAME - _ZN8QSpinBox8setRangeEii @ 6471 NONAME - _ZN8QSpinBox8setValueEi @ 6472 NONAME - _ZN8QSpinBox9setPrefixERK7QString @ 6473 NONAME - _ZN8QSpinBox9setSuffixERK7QString @ 6474 NONAME - _ZN8QSpinBoxC1EP7QWidget @ 6475 NONAME - _ZN8QSpinBoxC2EP7QWidget @ 6476 NONAME - _ZN8QStroker10joinPointsEffRK6QLineFNS_12LineJoinModeE @ 6477 NONAME - _ZN8QStroker14capForJoinModeENS_12LineJoinModeE @ 6478 NONAME - _ZN8QStroker14joinModeForCapEN2Qt11PenCapStyleE @ 6479 NONAME - _ZN8QStroker15joinForJoinModeENS_12LineJoinModeE @ 6480 NONAME - _ZN8QStroker15joinModeForJoinEN2Qt12PenJoinStyleE @ 6481 NONAME - _ZN8QStroker21processCurrentSubpathEv @ 6482 NONAME - _ZN8QStrokerC1Ev @ 6483 NONAME - _ZN8QStrokerC2Ev @ 6484 NONAME - _ZN8QStrokerD0Ev @ 6485 NONAME - _ZN8QStrokerD1Ev @ 6486 NONAME - _ZN8QStrokerD2Ev @ 6487 NONAME - _ZN8QToolBar10childEventEP11QChildEvent @ 6488 NONAME - _ZN8QToolBar10paintEventEP11QPaintEvent @ 6489 NONAME - _ZN8QToolBar10setMovableEb @ 6490 NONAME - _ZN8QToolBar11actionEventEP12QActionEvent @ 6491 NONAME - _ZN8QToolBar11changeEventEP6QEvent @ 6492 NONAME - _ZN8QToolBar11qt_metacallEN11QMetaObject4CallEiPPv @ 6493 NONAME - _ZN8QToolBar11qt_metacastEPKc @ 6494 NONAME - _ZN8QToolBar11resizeEventEP12QResizeEvent @ 6495 NONAME - _ZN8QToolBar11setIconSizeERK5QSize @ 6496 NONAME - _ZN8QToolBar12addSeparatorEv @ 6497 NONAME - _ZN8QToolBar12insertWidgetEP7QActionP7QWidget @ 6498 NONAME - _ZN8QToolBar12setFloatableEb @ 6499 NONAME - _ZN8QToolBar14movableChangedEb @ 6500 NONAME - _ZN8QToolBar14setOrientationEN2Qt11OrientationE @ 6501 NONAME - _ZN8QToolBar15actionTriggeredEP7QAction @ 6502 NONAME - _ZN8QToolBar15iconSizeChangedERK5QSize @ 6503 NONAME - _ZN8QToolBar15insertSeparatorEP7QAction @ 6504 NONAME - _ZN8QToolBar15setAllowedAreasE6QFlagsIN2Qt11ToolBarAreaEE @ 6505 NONAME - _ZN8QToolBar16staticMetaObjectE @ 6506 NONAME DATA 16 - _ZN8QToolBar18orientationChangedEN2Qt11OrientationE @ 6507 NONAME - _ZN8QToolBar18setToolButtonStyleEN2Qt15ToolButtonStyleE @ 6508 NONAME - _ZN8QToolBar19allowedAreasChangedE6QFlagsIN2Qt11ToolBarAreaEE @ 6509 NONAME - _ZN8QToolBar22toolButtonStyleChangedEN2Qt15ToolButtonStyleE @ 6510 NONAME - _ZN8QToolBar5clearEv @ 6511 NONAME - _ZN8QToolBar5eventEP6QEvent @ 6512 NONAME - _ZN8QToolBar9addActionERK5QIconRK7QString @ 6513 NONAME - _ZN8QToolBar9addActionERK5QIconRK7QStringPK7QObjectPKc @ 6514 NONAME - _ZN8QToolBar9addActionERK7QString @ 6515 NONAME - _ZN8QToolBar9addActionERK7QStringPK7QObjectPKc @ 6516 NONAME - _ZN8QToolBar9addWidgetEP7QWidget @ 6517 NONAME - _ZN8QToolBarC1EP7QWidget @ 6518 NONAME - _ZN8QToolBarC1ERK7QStringP7QWidget @ 6519 NONAME - _ZN8QToolBarC2EP7QWidget @ 6520 NONAME - _ZN8QToolBarC2ERK7QStringP7QWidget @ 6521 NONAME - _ZN8QToolBarD0Ev @ 6522 NONAME - _ZN8QToolBarD1Ev @ 6523 NONAME - _ZN8QToolBarD2Ev @ 6524 NONAME - _ZN8QToolBox10insertItemEiP7QWidgetRK5QIconRK7QString @ 6525 NONAME - _ZN8QToolBox10removeItemEi @ 6526 NONAME - _ZN8QToolBox11changeEventEP6QEvent @ 6527 NONAME - _ZN8QToolBox11itemRemovedEi @ 6528 NONAME - _ZN8QToolBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6529 NONAME - _ZN8QToolBox11qt_metacastEPKc @ 6530 NONAME - _ZN8QToolBox11setItemIconEiRK5QIcon @ 6531 NONAME - _ZN8QToolBox11setItemTextEiRK7QString @ 6532 NONAME - _ZN8QToolBox12itemInsertedEi @ 6533 NONAME - _ZN8QToolBox14currentChangedEi @ 6534 NONAME - _ZN8QToolBox14setItemEnabledEib @ 6535 NONAME - _ZN8QToolBox14setItemToolTipEiRK7QString @ 6536 NONAME - _ZN8QToolBox15setCurrentIndexEi @ 6537 NONAME - _ZN8QToolBox16setCurrentWidgetEP7QWidget @ 6538 NONAME - _ZN8QToolBox16staticMetaObjectE @ 6539 NONAME DATA 16 - _ZN8QToolBox5eventEP6QEvent @ 6540 NONAME - _ZN8QToolBox9showEventEP10QShowEvent @ 6541 NONAME - _ZN8QToolBoxC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6542 NONAME - _ZN8QToolBoxC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6543 NONAME - _ZN8QToolBoxD0Ev @ 6544 NONAME - _ZN8QToolBoxD1Ev @ 6545 NONAME - _ZN8QToolBoxD2Ev @ 6546 NONAME - _ZN8QToolTip10setPaletteERK8QPalette @ 6547 NONAME - _ZN8QToolTip4fontEv @ 6548 NONAME - _ZN8QToolTip4textEv @ 6549 NONAME - _ZN8QToolTip7paletteEv @ 6550 NONAME - _ZN8QToolTip7setFontERK5QFont @ 6551 NONAME - _ZN8QToolTip8showTextERK6QPointRK7QStringP7QWidget @ 6552 NONAME - _ZN8QToolTip8showTextERK6QPointRK7QStringP7QWidgetRK5QRect @ 6553 NONAME - _ZN8QToolTip9isVisibleEv @ 6554 NONAME - _ZN9QCheckBox10paintEventEP11QPaintEvent @ 6555 NONAME - _ZN9QCheckBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6556 NONAME - _ZN9QCheckBox11qt_metacastEPKc @ 6557 NONAME - _ZN9QCheckBox11setTristateEb @ 6558 NONAME - _ZN9QCheckBox12stateChangedEi @ 6559 NONAME - _ZN9QCheckBox13checkStateSetEv @ 6560 NONAME - _ZN9QCheckBox13setCheckStateEN2Qt10CheckStateE @ 6561 NONAME - _ZN9QCheckBox14mouseMoveEventEP11QMouseEvent @ 6562 NONAME - _ZN9QCheckBox14nextCheckStateEv @ 6563 NONAME - _ZN9QCheckBox16staticMetaObjectE @ 6564 NONAME DATA 16 - _ZN9QCheckBox5eventEP6QEvent @ 6565 NONAME - _ZN9QCheckBoxC1EP7QWidget @ 6566 NONAME - _ZN9QCheckBoxC1ERK7QStringP7QWidget @ 6567 NONAME - _ZN9QCheckBoxC2EP7QWidget @ 6568 NONAME - _ZN9QCheckBoxC2ERK7QStringP7QWidget @ 6569 NONAME - _ZN9QColormap10initializeEv @ 6570 NONAME - _ZN9QColormap7cleanupEv @ 6571 NONAME - _ZN9QColormap8instanceEi @ 6572 NONAME - _ZN9QColormapC1ERKS_ @ 6573 NONAME - _ZN9QColormapC1Ev @ 6574 NONAME - _ZN9QColormapC2ERKS_ @ 6575 NONAME - _ZN9QColormapC2Ev @ 6576 NONAME - _ZN9QColormapD1Ev @ 6577 NONAME - _ZN9QColormapD2Ev @ 6578 NONAME - _ZN9QColormapaSERKS_ @ 6579 NONAME - _ZN9QComboBox10insertItemEiRK5QIconRK7QStringRK8QVariant @ 6580 NONAME - _ZN9QComboBox10paintEventEP11QPaintEvent @ 6581 NONAME - _ZN9QComboBox10removeItemEi @ 6582 NONAME - _ZN9QComboBox10wheelEventEP11QWheelEvent @ 6583 NONAME - _ZN9QComboBox11changeEventEP6QEvent @ 6584 NONAME - _ZN9QComboBox11highlightedERK7QString @ 6585 NONAME - _ZN9QComboBox11highlightedEi @ 6586 NONAME - _ZN9QComboBox11insertItemsEiRK11QStringList @ 6587 NONAME - _ZN9QComboBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6588 NONAME - _ZN9QComboBox11qt_metacastEPKc @ 6589 NONAME - _ZN9QComboBox11resizeEventEP12QResizeEvent @ 6590 NONAME - _ZN9QComboBox11setEditTextERK7QString @ 6591 NONAME - _ZN9QComboBox11setEditableEb @ 6592 NONAME - _ZN9QComboBox11setIconSizeERK5QSize @ 6593 NONAME - _ZN9QComboBox11setItemDataEiRK8QVarianti @ 6594 NONAME - _ZN9QComboBox11setItemIconEiRK5QIcon @ 6595 NONAME - _ZN9QComboBox11setItemTextEiRK7QString @ 6596 NONAME - _ZN9QComboBox11setLineEditEP9QLineEdit @ 6597 NONAME - _ZN9QComboBox11setMaxCountEi @ 6598 NONAME - _ZN9QComboBox12focusInEventEP11QFocusEvent @ 6599 NONAME - _ZN9QComboBox12setCompleterEP10QCompleter @ 6600 NONAME - _ZN9QComboBox12setValidatorEPK10QValidator @ 6601 NONAME - _ZN9QComboBox13clearEditTextEv @ 6602 NONAME - _ZN9QComboBox13focusOutEventEP11QFocusEvent @ 6603 NONAME - _ZN9QComboBox13keyPressEventEP9QKeyEvent @ 6604 NONAME - _ZN9QComboBox14setModelColumnEi @ 6605 NONAME - _ZN9QComboBox15editTextChangedERK7QString @ 6606 NONAME - _ZN9QComboBox15insertSeparatorEi @ 6607 NONAME - _ZN9QComboBox15keyReleaseEventEP9QKeyEvent @ 6608 NONAME - _ZN9QComboBox15mousePressEventEP11QMouseEvent @ 6609 NONAME - _ZN9QComboBox15setCurrentIndexEi @ 6610 NONAME - _ZN9QComboBox15setInsertPolicyENS_12InsertPolicyE @ 6611 NONAME - _ZN9QComboBox15setItemDelegateEP21QAbstractItemDelegate @ 6612 NONAME - _ZN9QComboBox16contextMenuEventEP17QContextMenuEvent @ 6613 NONAME - _ZN9QComboBox16inputMethodEventEP17QInputMethodEvent @ 6614 NONAME - _ZN9QComboBox16staticMetaObjectE @ 6615 NONAME DATA 16 - _ZN9QComboBox17mouseReleaseEventEP11QMouseEvent @ 6616 NONAME - _ZN9QComboBox17setAutoCompletionEb @ 6617 NONAME - _ZN9QComboBox17setRootModelIndexERK11QModelIndex @ 6618 NONAME - _ZN9QComboBox18setMaxVisibleItemsEi @ 6619 NONAME - _ZN9QComboBox19currentIndexChangedERK7QString @ 6620 NONAME - _ZN9QComboBox19currentIndexChangedEi @ 6621 NONAME - _ZN9QComboBox19setSizeAdjustPolicyENS_16SizeAdjustPolicyE @ 6622 NONAME - _ZN9QComboBox20setDuplicatesEnabledEb @ 6623 NONAME - _ZN9QComboBox24setMinimumContentsLengthEi @ 6624 NONAME - _ZN9QComboBox32setAutoCompletionCaseSensitivityEN2Qt15CaseSensitivityE @ 6625 NONAME - _ZN9QComboBox5clearEv @ 6626 NONAME - _ZN9QComboBox5eventEP6QEvent @ 6627 NONAME - _ZN9QComboBox7setViewEP17QAbstractItemView @ 6628 NONAME - _ZN9QComboBox8setFrameEb @ 6629 NONAME - _ZN9QComboBox8setModelEP18QAbstractItemModel @ 6630 NONAME - _ZN9QComboBox9activatedERK7QString @ 6631 NONAME - _ZN9QComboBox9activatedEi @ 6632 NONAME - _ZN9QComboBox9hideEventEP10QHideEvent @ 6633 NONAME - _ZN9QComboBox9hidePopupEv @ 6634 NONAME - _ZN9QComboBox9showEventEP10QShowEvent @ 6635 NONAME - _ZN9QComboBox9showPopupEv @ 6636 NONAME - _ZN9QComboBoxC1EP7QWidget @ 6637 NONAME - _ZN9QComboBoxC1ER16QComboBoxPrivateP7QWidget @ 6638 NONAME - _ZN9QComboBoxC2EP7QWidget @ 6639 NONAME - _ZN9QComboBoxC2ER16QComboBoxPrivateP7QWidget @ 6640 NONAME - _ZN9QComboBoxD0Ev @ 6641 NONAME - _ZN9QComboBoxD1Ev @ 6642 NONAME - _ZN9QComboBoxD2Ev @ 6643 NONAME - _ZN9QDateEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 6644 NONAME - _ZN9QDateEdit11qt_metacastEPKc @ 6645 NONAME - _ZN9QDateEdit16staticMetaObjectE @ 6646 NONAME DATA 16 - _ZN9QDateEditC1EP7QWidget @ 6647 NONAME - _ZN9QDateEditC1ERK5QDateP7QWidget @ 6648 NONAME - _ZN9QDateEditC2EP7QWidget @ 6649 NONAME - _ZN9QDateEditC2ERK5QDateP7QWidget @ 6650 NONAME - _ZN9QDirModel10setSortingE6QFlagsIN4QDir8SortFlagEE @ 6651 NONAME - _ZN9QDirModel11qt_metacallEN11QMetaObject4CallEiPPv @ 6652 NONAME - _ZN9QDirModel11qt_metacastEPKc @ 6653 NONAME - _ZN9QDirModel11setReadOnlyEb @ 6654 NONAME - _ZN9QDirModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 6655 NONAME - _ZN9QDirModel14setNameFiltersERK11QStringList @ 6656 NONAME - _ZN9QDirModel15setIconProviderEP17QFileIconProvider @ 6657 NONAME - _ZN9QDirModel16staticMetaObjectE @ 6658 NONAME DATA 16 - _ZN9QDirModel17setLazyChildCountEb @ 6659 NONAME - _ZN9QDirModel18setResolveSymlinksEb @ 6660 NONAME - _ZN9QDirModel4sortEiN2Qt9SortOrderE @ 6661 NONAME - _ZN9QDirModel5mkdirERK11QModelIndexRK7QString @ 6662 NONAME - _ZN9QDirModel5rmdirERK11QModelIndex @ 6663 NONAME - _ZN9QDirModel6removeERK11QModelIndex @ 6664 NONAME - _ZN9QDirModel7refreshERK11QModelIndex @ 6665 NONAME - _ZN9QDirModel7setDataERK11QModelIndexRK8QVarianti @ 6666 NONAME - _ZN9QDirModel9setFilterE6QFlagsIN4QDir6FilterEE @ 6667 NONAME - _ZN9QDirModelC1EP7QObject @ 6668 NONAME - _ZN9QDirModelC1ER16QDirModelPrivateP7QObject @ 6669 NONAME - _ZN9QDirModelC1ERK11QStringList6QFlagsIN4QDir6FilterEES3_INS4_8SortFlagEEP7QObject @ 6670 NONAME - _ZN9QDirModelC2EP7QObject @ 6671 NONAME - _ZN9QDirModelC2ER16QDirModelPrivateP7QObject @ 6672 NONAME - _ZN9QDirModelC2ERK11QStringList6QFlagsIN4QDir6FilterEES3_INS4_8SortFlagEEP7QObject @ 6673 NONAME - _ZN9QDirModelD0Ev @ 6674 NONAME - _ZN9QDirModelD1Ev @ 6675 NONAME - _ZN9QDirModelD2Ev @ 6676 NONAME - _ZN9QFontInfoC1ERK5QFont @ 6677 NONAME - _ZN9QFontInfoC1ERKS_ @ 6678 NONAME - _ZN9QFontInfoC2ERK5QFont @ 6679 NONAME - _ZN9QFontInfoC2ERKS_ @ 6680 NONAME - _ZN9QFontInfoD1Ev @ 6681 NONAME - _ZN9QFontInfoD2Ev @ 6682 NONAME - _ZN9QFontInfoaSERKS_ @ 6683 NONAME - _ZN9QGradient10setColorAtEfRK6QColor @ 6684 NONAME - _ZN9QGradient16staticMetaObjectE @ 6685 NONAME DATA 16 - _ZN9QGradient17setCoordinateModeENS_14CoordinateModeE @ 6686 NONAME - _ZN9QGradient20setInterpolationModeENS_17InterpolationModeE @ 6687 NONAME - _ZN9QGradient8setStopsERK7QVectorI5QPairIf6QColorEE @ 6688 NONAME - _ZN9QGradientC1Ev @ 6689 NONAME - _ZN9QGradientC2Ev @ 6690 NONAME - _ZN9QGradienteqERKS_ @ 6691 NONAME - _ZN9QGroupBox10childEventEP11QChildEvent @ 6692 NONAME - _ZN9QGroupBox10paintEventEP11QPaintEvent @ 6693 NONAME - _ZN9QGroupBox10setCheckedEb @ 6694 NONAME - _ZN9QGroupBox11changeEventEP6QEvent @ 6695 NONAME - _ZN9QGroupBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6696 NONAME - _ZN9QGroupBox11qt_metacastEPKc @ 6697 NONAME - _ZN9QGroupBox11resizeEventEP12QResizeEvent @ 6698 NONAME - _ZN9QGroupBox12focusInEventEP11QFocusEvent @ 6699 NONAME - _ZN9QGroupBox12setAlignmentEi @ 6700 NONAME - _ZN9QGroupBox12setCheckableEb @ 6701 NONAME - _ZN9QGroupBox14mouseMoveEventEP11QMouseEvent @ 6702 NONAME - _ZN9QGroupBox15mousePressEventEP11QMouseEvent @ 6703 NONAME - _ZN9QGroupBox16staticMetaObjectE @ 6704 NONAME DATA 16 - _ZN9QGroupBox17mouseReleaseEventEP11QMouseEvent @ 6705 NONAME - _ZN9QGroupBox5eventEP6QEvent @ 6706 NONAME - _ZN9QGroupBox7clickedEb @ 6707 NONAME - _ZN9QGroupBox7setFlatEb @ 6708 NONAME - _ZN9QGroupBox7toggledEb @ 6709 NONAME - _ZN9QGroupBox8setTitleERK7QString @ 6710 NONAME - _ZN9QGroupBoxC1EP7QWidget @ 6711 NONAME - _ZN9QGroupBoxC1ERK7QStringP7QWidget @ 6712 NONAME - _ZN9QGroupBoxC2EP7QWidget @ 6713 NONAME - _ZN9QGroupBoxC2ERK7QStringP7QWidget @ 6714 NONAME - _ZN9QGroupBoxD0Ev @ 6715 NONAME - _ZN9QGroupBoxD1Ev @ 6716 NONAME - _ZN9QGroupBoxD2Ev @ 6717 NONAME - _ZN9QKeyEvent22createExtendedKeyEventEN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEEjjjRK7QStringbt @ 6718 NONAME - _ZN9QKeyEventC1EN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEERK7QStringbt @ 6719 NONAME - _ZN9QKeyEventC2EN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEERK7QStringbt @ 6720 NONAME - _ZN9QKeyEventD0Ev @ 6721 NONAME - _ZN9QKeyEventD1Ev @ 6722 NONAME - _ZN9QKeyEventD2Ev @ 6723 NONAME - _ZN9QLineEdit10paintEventEP11QPaintEvent @ 6724 NONAME - _ZN9QLineEdit10textEditedERK7QString @ 6725 NONAME - _ZN9QLineEdit11changeEventEP6QEvent @ 6726 NONAME - _ZN9QLineEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 6727 NONAME - _ZN9QLineEdit11qt_metacastEPKc @ 6728 NONAME - _ZN9QLineEdit11setEchoModeENS_8EchoModeE @ 6729 NONAME - _ZN9QLineEdit11setModifiedEb @ 6730 NONAME - _ZN9QLineEdit11setReadOnlyEb @ 6731 NONAME - _ZN9QLineEdit11textChangedERK7QString @ 6732 NONAME - _ZN9QLineEdit12focusInEventEP11QFocusEvent @ 6733 NONAME - _ZN9QLineEdit12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 6734 NONAME - _ZN9QLineEdit12setCompleterEP10QCompleter @ 6735 NONAME - _ZN9QLineEdit12setInputMaskERK7QString @ 6736 NONAME - _ZN9QLineEdit12setMaxLengthEi @ 6737 NONAME - _ZN9QLineEdit12setSelectionEii @ 6738 NONAME - _ZN9QLineEdit12setValidatorEPK10QValidator @ 6739 NONAME - _ZN9QLineEdit13cursorForwardEbi @ 6740 NONAME - _ZN9QLineEdit13dragMoveEventEP14QDragMoveEvent @ 6741 NONAME - _ZN9QLineEdit13focusOutEventEP11QFocusEvent @ 6742 NONAME - _ZN9QLineEdit13keyPressEventEP9QKeyEvent @ 6743 NONAME - _ZN9QLineEdit13returnPressedEv @ 6744 NONAME - _ZN9QLineEdit14cursorBackwardEbi @ 6745 NONAME - _ZN9QLineEdit14dragEnterEventEP15QDragEnterEvent @ 6746 NONAME - _ZN9QLineEdit14dragLeaveEventEP15QDragLeaveEvent @ 6747 NONAME - _ZN9QLineEdit14mouseMoveEventEP11QMouseEvent @ 6748 NONAME - _ZN9QLineEdit14setDragEnabledEb @ 6749 NONAME - _ZN9QLineEdit14setTextMarginsEiiii @ 6750 NONAME - _ZN9QLineEdit15editingFinishedEv @ 6751 NONAME - _ZN9QLineEdit15mousePressEventEP11QMouseEvent @ 6752 NONAME - _ZN9QLineEdit16contextMenuEventEP17QContextMenuEvent @ 6753 NONAME - _ZN9QLineEdit16cursorPositionAtERK6QPoint @ 6754 NONAME - _ZN9QLineEdit16inputMethodEventEP17QInputMethodEvent @ 6755 NONAME - _ZN9QLineEdit16selectionChangedEv @ 6756 NONAME - _ZN9QLineEdit16staticMetaObjectE @ 6757 NONAME DATA 16 - _ZN9QLineEdit17cursorWordForwardEb @ 6758 NONAME - _ZN9QLineEdit17mouseReleaseEventEP11QMouseEvent @ 6759 NONAME - _ZN9QLineEdit17setCursorPositionEi @ 6760 NONAME - _ZN9QLineEdit18cursorWordBackwardEb @ 6761 NONAME - _ZN9QLineEdit21cursorPositionChangedEii @ 6762 NONAME - _ZN9QLineEdit21mouseDoubleClickEventEP11QMouseEvent @ 6763 NONAME - _ZN9QLineEdit25createStandardContextMenuEv @ 6764 NONAME - _ZN9QLineEdit3cutEv @ 6765 NONAME - _ZN9QLineEdit3delEv @ 6766 NONAME - _ZN9QLineEdit3endEb @ 6767 NONAME - _ZN9QLineEdit4homeEb @ 6768 NONAME - _ZN9QLineEdit4redoEv @ 6769 NONAME - _ZN9QLineEdit4undoEv @ 6770 NONAME - _ZN9QLineEdit5clearEv @ 6771 NONAME - _ZN9QLineEdit5eventEP6QEvent @ 6772 NONAME - _ZN9QLineEdit5pasteEv @ 6773 NONAME - _ZN9QLineEdit6insertERK7QString @ 6774 NONAME - _ZN9QLineEdit7setTextERK7QString @ 6775 NONAME - _ZN9QLineEdit8deselectEv @ 6776 NONAME - _ZN9QLineEdit8setFrameEb @ 6777 NONAME - _ZN9QLineEdit9backspaceEv @ 6778 NONAME - _ZN9QLineEdit9dropEventEP10QDropEvent @ 6779 NONAME - _ZN9QLineEdit9selectAllEv @ 6780 NONAME - _ZN9QLineEditC1EP7QWidget @ 6781 NONAME - _ZN9QLineEditC1ERK7QStringP7QWidget @ 6782 NONAME - _ZN9QLineEditC2EP7QWidget @ 6783 NONAME - _ZN9QLineEditC2ERK7QStringP7QWidget @ 6784 NONAME - _ZN9QLineEditD0Ev @ 6785 NONAME - _ZN9QLineEditD1Ev @ 6786 NONAME - _ZN9QLineEditD2Ev @ 6787 NONAME - _ZN9QListView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 6788 NONAME - _ZN9QListView10paintEventEP11QPaintEvent @ 6789 NONAME - _ZN9QListView10setSpacingEi @ 6790 NONAME - _ZN9QListView10timerEventEP11QTimerEvent @ 6791 NONAME - _ZN9QListView11dataChangedERK11QModelIndexS2_ @ 6792 NONAME - _ZN9QListView11qt_metacallEN11QMetaObject4CallEiPPv @ 6793 NONAME - _ZN9QListView11qt_metacastEPKc @ 6794 NONAME - _ZN9QListView11resizeEventEP12QResizeEvent @ 6795 NONAME - _ZN9QListView11setGridSizeERK5QSize @ 6796 NONAME - _ZN9QListView11setMovementENS_8MovementE @ 6797 NONAME - _ZN9QListView11setViewModeENS_8ViewModeE @ 6798 NONAME - _ZN9QListView11setWordWrapEb @ 6799 NONAME - _ZN9QListView11setWrappingEb @ 6800 NONAME - _ZN9QListView12indexesMovedERK5QListI11QModelIndexE @ 6801 NONAME - _ZN9QListView12internalDragE6QFlagsIN2Qt10DropActionEE @ 6802 NONAME - _ZN9QListView12internalDropEP10QDropEvent @ 6803 NONAME - _ZN9QListView12rowsInsertedERK11QModelIndexii @ 6804 NONAME - _ZN9QListView12setBatchSizeEi @ 6805 NONAME - _ZN9QListView12setRootIndexERK11QModelIndex @ 6806 NONAME - _ZN9QListView12setRowHiddenEib @ 6807 NONAME - _ZN9QListView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 6808 NONAME - _ZN9QListView13doItemsLayoutEv @ 6809 NONAME - _ZN9QListView13dragMoveEventEP14QDragMoveEvent @ 6810 NONAME - _ZN9QListView13setLayoutModeENS_10LayoutModeE @ 6811 NONAME - _ZN9QListView13setResizeModeENS_10ResizeModeE @ 6812 NONAME - _ZN9QListView14currentChangedERK11QModelIndexS2_ @ 6813 NONAME - _ZN9QListView14dragLeaveEventEP15QDragLeaveEvent @ 6814 NONAME - _ZN9QListView14mouseMoveEventEP11QMouseEvent @ 6815 NONAME - _ZN9QListView14resizeContentsEii @ 6816 NONAME - _ZN9QListView14setModelColumnEi @ 6817 NONAME - _ZN9QListView16scrollContentsByEii @ 6818 NONAME - _ZN9QListView16selectionChangedERK14QItemSelectionS2_ @ 6819 NONAME - _ZN9QListView16staticMetaObjectE @ 6820 NONAME DATA 16 - _ZN9QListView16updateGeometriesEv @ 6821 NONAME - _ZN9QListView17mouseReleaseEventEP11QMouseEvent @ 6822 NONAME - _ZN9QListView18clearPropertyFlagsEv @ 6823 NONAME - _ZN9QListView19setPositionForIndexERK6QPointRK11QModelIndex @ 6824 NONAME - _ZN9QListView19setUniformItemSizesEb @ 6825 NONAME - _ZN9QListView20rowsAboutToBeRemovedERK11QModelIndexii @ 6826 NONAME - _ZN9QListView23setSelectionRectVisibleEb @ 6827 NONAME - _ZN9QListView5eventEP6QEvent @ 6828 NONAME - _ZN9QListView5resetEv @ 6829 NONAME - _ZN9QListView7setFlowENS_4FlowE @ 6830 NONAME - _ZN9QListView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 6831 NONAME - _ZN9QListView9dropEventEP10QDropEvent @ 6832 NONAME - _ZN9QListView9startDragE6QFlagsIN2Qt10DropActionEE @ 6833 NONAME - _ZN9QListViewC1EP7QWidget @ 6834 NONAME - _ZN9QListViewC1ER16QListViewPrivateP7QWidget @ 6835 NONAME - _ZN9QListViewC2EP7QWidget @ 6836 NONAME - _ZN9QListViewC2ER16QListViewPrivateP7QWidget @ 6837 NONAME - _ZN9QListViewD0Ev @ 6838 NONAME - _ZN9QListViewD1Ev @ 6839 NONAME - _ZN9QListViewD2Ev @ 6840 NONAME - _ZN9QPolygonF9translateERK7QPointF @ 6841 NONAME - _ZN9QPolygonFC1ERK6QRectF @ 6842 NONAME - _ZN9QPolygonFC1ERK8QPolygon @ 6843 NONAME - _ZN9QPolygonFC2ERK6QRectF @ 6844 NONAME - _ZN9QPolygonFC2ERK8QPolygon @ 6845 NONAME - _ZN9QS60Style11qt_metacallEN11QMetaObject4CallEiPPv @ 6846 NONAME - _ZN9QS60Style11qt_metacastEPKc @ 6847 NONAME - _ZN9QS60Style16handleSkinChangeEv @ 6848 NONAME ABSENT - _ZN9QS60Style16setStylePropertyEPKcRK8QVariant @ 6849 NONAME - _ZN9QS60Style16staticMetaObjectE @ 6850 NONAME DATA 16 - _ZN9QS60Style32handleDynamicLayoutVariantSwitchEv @ 6851 NONAME ABSENT - _ZN9QS60Style6polishEP12QApplication @ 6852 NONAME - _ZN9QS60Style6polishEP7QWidget @ 6853 NONAME - _ZN9QS60Style8unpolishEP12QApplication @ 6854 NONAME - _ZN9QS60Style8unpolishEP7QWidget @ 6855 NONAME - _ZN9QS60StyleC1Ev @ 6856 NONAME - _ZN9QS60StyleC2Ev @ 6857 NONAME - _ZN9QS60StyleD0Ev @ 6858 NONAME - _ZN9QS60StyleD1Ev @ 6859 NONAME - _ZN9QS60StyleD2Ev @ 6860 NONAME - _ZN9QShortcut10setContextEN2Qt15ShortcutContextE @ 6861 NONAME - _ZN9QShortcut10setEnabledEb @ 6862 NONAME - _ZN9QShortcut11qt_metacallEN11QMetaObject4CallEiPPv @ 6863 NONAME - _ZN9QShortcut11qt_metacastEPKc @ 6864 NONAME - _ZN9QShortcut12setWhatsThisERK7QString @ 6865 NONAME - _ZN9QShortcut13setAutoRepeatEb @ 6866 NONAME - _ZN9QShortcut16staticMetaObjectE @ 6867 NONAME DATA 16 - _ZN9QShortcut20activatedAmbiguouslyEv @ 6868 NONAME - _ZN9QShortcut5eventEP6QEvent @ 6869 NONAME - _ZN9QShortcut6setKeyERK12QKeySequence @ 6870 NONAME - _ZN9QShortcut7contextEv @ 6871 NONAME - _ZN9QShortcut9activatedEv @ 6872 NONAME - _ZN9QShortcutC1EP7QWidget @ 6873 NONAME - _ZN9QShortcutC1ERK12QKeySequenceP7QWidgetPKcS6_N2Qt15ShortcutContextE @ 6874 NONAME - _ZN9QShortcutC2EP7QWidget @ 6875 NONAME - _ZN9QShortcutC2ERK12QKeySequenceP7QWidgetPKcS6_N2Qt15ShortcutContextE @ 6876 NONAME - _ZN9QShortcutD0Ev @ 6877 NONAME - _ZN9QShortcutD1Ev @ 6878 NONAME - _ZN9QShortcutD2Ev @ 6879 NONAME - _ZN9QSizeGrip10paintEventEP11QPaintEvent @ 6880 NONAME - _ZN9QSizeGrip10setVisibleEb @ 6881 NONAME - _ZN9QSizeGrip11eventFilterEP7QObjectP6QEvent @ 6882 NONAME - _ZN9QSizeGrip11qt_metacallEN11QMetaObject4CallEiPPv @ 6883 NONAME - _ZN9QSizeGrip11qt_metacastEPKc @ 6884 NONAME - _ZN9QSizeGrip14mouseMoveEventEP11QMouseEvent @ 6885 NONAME - _ZN9QSizeGrip15mousePressEventEP11QMouseEvent @ 6886 NONAME - _ZN9QSizeGrip16staticMetaObjectE @ 6887 NONAME DATA 16 - _ZN9QSizeGrip17mouseReleaseEventEP11QMouseEvent @ 6888 NONAME - _ZN9QSizeGrip5eventEP6QEvent @ 6889 NONAME - _ZN9QSizeGrip9hideEventEP10QHideEvent @ 6890 NONAME - _ZN9QSizeGrip9moveEventEP10QMoveEvent @ 6891 NONAME - _ZN9QSizeGrip9showEventEP10QShowEvent @ 6892 NONAME - _ZN9QSizeGripC1EP7QWidget @ 6893 NONAME - _ZN9QSizeGripC2EP7QWidget @ 6894 NONAME - _ZN9QSizeGripD0Ev @ 6895 NONAME - _ZN9QSizeGripD1Ev @ 6896 NONAME - _ZN9QSizeGripD2Ev @ 6897 NONAME - _ZN9QSplitter10childEventEP11QChildEvent @ 6898 NONAME - _ZN9QSplitter11changeEventEP6QEvent @ 6899 NONAME - _ZN9QSplitter11qt_metacallEN11QMetaObject4CallEiPPv @ 6900 NONAME - _ZN9QSplitter11qt_metacastEPKc @ 6901 NONAME - _ZN9QSplitter11resizeEventEP12QResizeEvent @ 6902 NONAME - _ZN9QSplitter12createHandleEv @ 6903 NONAME - _ZN9QSplitter12insertWidgetEiP7QWidget @ 6904 NONAME - _ZN9QSplitter12moveSplitterEii @ 6905 NONAME - _ZN9QSplitter12restoreStateERK10QByteArray @ 6906 NONAME - _ZN9QSplitter13setRubberBandEi @ 6907 NONAME - _ZN9QSplitter13splitterMovedEii @ 6908 NONAME - _ZN9QSplitter14setCollapsibleEib @ 6909 NONAME - _ZN9QSplitter14setHandleWidthEi @ 6910 NONAME - _ZN9QSplitter14setOrientationEN2Qt11OrientationE @ 6911 NONAME - _ZN9QSplitter15setOpaqueResizeEb @ 6912 NONAME - _ZN9QSplitter16setStretchFactorEii @ 6913 NONAME - _ZN9QSplitter16staticMetaObjectE @ 6914 NONAME DATA 16 - _ZN9QSplitter20closestLegalPositionEii @ 6915 NONAME - _ZN9QSplitter22setChildrenCollapsibleEb @ 6916 NONAME - _ZN9QSplitter5eventEP6QEvent @ 6917 NONAME - _ZN9QSplitter7refreshEv @ 6918 NONAME - _ZN9QSplitter8setSizesERK5QListIiE @ 6919 NONAME - _ZN9QSplitter9addWidgetEP7QWidget @ 6920 NONAME - _ZN9QSplitterC1EN2Qt11OrientationEP7QWidget @ 6921 NONAME - _ZN9QSplitterC1EP7QWidget @ 6922 NONAME - _ZN9QSplitterC2EN2Qt11OrientationEP7QWidget @ 6923 NONAME - _ZN9QSplitterC2EP7QWidget @ 6924 NONAME - _ZN9QSplitterD0Ev @ 6925 NONAME - _ZN9QSplitterD1Ev @ 6926 NONAME - _ZN9QSplitterD2Ev @ 6927 NONAME - _ZN9QTextEdit10insertHtmlERK7QString @ 6928 NONAME - _ZN9QTextEdit10moveCursorEN11QTextCursor13MoveOperationENS0_8MoveModeE @ 6929 NONAME - _ZN9QTextEdit10paintEventEP11QPaintEvent @ 6930 NONAME - _ZN9QTextEdit10timerEventEP11QTimerEvent @ 6931 NONAME - _ZN9QTextEdit10wheelEventEP11QWheelEvent @ 6932 NONAME - _ZN9QTextEdit11changeEventEP6QEvent @ 6933 NONAME - _ZN9QTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 6934 NONAME - _ZN9QTextEdit11qt_metacastEPKc @ 6935 NONAME - _ZN9QTextEdit11resizeEventEP12QResizeEvent @ 6936 NONAME - _ZN9QTextEdit11setDocumentEP13QTextDocument @ 6937 NONAME - _ZN9QTextEdit11setReadOnlyEb @ 6938 NONAME - _ZN9QTextEdit11textChangedEv @ 6939 NONAME - _ZN9QTextEdit12focusInEventEP11QFocusEvent @ 6940 NONAME - _ZN9QTextEdit12loadResourceEiRK4QUrl @ 6941 NONAME - _ZN9QTextEdit12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 6942 NONAME - _ZN9QTextEdit12setPlainTextERK7QString @ 6943 NONAME - _ZN9QTextEdit12setTextColorERK6QColor @ 6944 NONAME - _ZN9QTextEdit13copyAvailableEb @ 6945 NONAME - _ZN9QTextEdit13dragMoveEventEP14QDragMoveEvent @ 6946 NONAME - _ZN9QTextEdit13focusOutEventEP11QFocusEvent @ 6947 NONAME - _ZN9QTextEdit13keyPressEventEP9QKeyEvent @ 6948 NONAME - _ZN9QTextEdit13redoAvailableEb @ 6949 NONAME - _ZN9QTextEdit13setFontFamilyERK7QString @ 6950 NONAME - _ZN9QTextEdit13setFontItalicEb @ 6951 NONAME - _ZN9QTextEdit13setFontWeightEi @ 6952 NONAME - _ZN9QTextEdit13setTextCursorERK11QTextCursor @ 6953 NONAME - _ZN9QTextEdit13undoAvailableEb @ 6954 NONAME - _ZN9QTextEdit14dragEnterEventEP15QDragEnterEvent @ 6955 NONAME - _ZN9QTextEdit14dragLeaveEventEP15QDragLeaveEvent @ 6956 NONAME - _ZN9QTextEdit14mouseMoveEventEP11QMouseEvent @ 6957 NONAME - _ZN9QTextEdit14scrollToAnchorERK7QString @ 6958 NONAME - _ZN9QTextEdit14setCurrentFontERK5QFont @ 6959 NONAME - _ZN9QTextEdit14setCursorWidthEi @ 6960 NONAME - _ZN9QTextEdit15insertPlainTextERK7QString @ 6961 NONAME - _ZN9QTextEdit15keyReleaseEventEP9QKeyEvent @ 6962 NONAME - _ZN9QTextEdit15mousePressEventEP11QMouseEvent @ 6963 NONAME - _ZN9QTextEdit15setLineWrapModeENS_12LineWrapModeE @ 6964 NONAME - _ZN9QTextEdit15setTabStopWidthEi @ 6965 NONAME - _ZN9QTextEdit15setWordWrapModeEN11QTextOption8WrapModeE @ 6966 NONAME - _ZN9QTextEdit16contextMenuEventEP17QContextMenuEvent @ 6967 NONAME - _ZN9QTextEdit16inputMethodEventEP17QInputMethodEvent @ 6968 NONAME - _ZN9QTextEdit16scrollContentsByEii @ 6969 NONAME - _ZN9QTextEdit16selectionChangedEv @ 6970 NONAME - _ZN9QTextEdit16setFontPointSizeEf @ 6971 NONAME - _ZN9QTextEdit16setFontUnderlineEb @ 6972 NONAME - _ZN9QTextEdit16setOverwriteModeEb @ 6973 NONAME - _ZN9QTextEdit16staticMetaObjectE @ 6974 NONAME DATA 16 - _ZN9QTextEdit17mouseReleaseEventEP11QMouseEvent @ 6975 NONAME - _ZN9QTextEdit17setAcceptRichTextEb @ 6976 NONAME - _ZN9QTextEdit17setAutoFormattingE6QFlagsINS_18AutoFormattingFlagEE @ 6977 NONAME - _ZN9QTextEdit18focusNextPrevChildEb @ 6978 NONAME - _ZN9QTextEdit18insertFromMimeDataEPK9QMimeData @ 6979 NONAME - _ZN9QTextEdit18setExtraSelectionsERK5QListINS_14ExtraSelectionEE @ 6980 NONAME - _ZN9QTextEdit18setTabChangesFocusEb @ 6981 NONAME - _ZN9QTextEdit19ensureCursorVisibleEv @ 6982 NONAME - _ZN9QTextEdit20setCurrentCharFormatERK15QTextCharFormat @ 6983 NONAME - _ZN9QTextEdit21cursorPositionChangedEv @ 6984 NONAME - _ZN9QTextEdit21mouseDoubleClickEventEP11QMouseEvent @ 6985 NONAME - _ZN9QTextEdit22mergeCurrentCharFormatERK15QTextCharFormat @ 6986 NONAME - _ZN9QTextEdit22setTextBackgroundColorERK6QColor @ 6987 NONAME - _ZN9QTextEdit23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 6988 NONAME - _ZN9QTextEdit24currentCharFormatChangedERK15QTextCharFormat @ 6989 NONAME - _ZN9QTextEdit24setLineWrapColumnOrWidthEi @ 6990 NONAME - _ZN9QTextEdit25createStandardContextMenuERK6QPoint @ 6991 NONAME - _ZN9QTextEdit25createStandardContextMenuEv @ 6992 NONAME - _ZN9QTextEdit3cutEv @ 6993 NONAME - _ZN9QTextEdit4copyEv @ 6994 NONAME - _ZN9QTextEdit4findERK7QString6QFlagsIN13QTextDocument8FindFlagEE @ 6995 NONAME - _ZN9QTextEdit4redoEv @ 6996 NONAME - _ZN9QTextEdit4undoEv @ 6997 NONAME - _ZN9QTextEdit5clearEv @ 6998 NONAME - _ZN9QTextEdit5eventEP6QEvent @ 6999 NONAME - _ZN9QTextEdit5pasteEv @ 7000 NONAME - _ZN9QTextEdit6appendERK7QString @ 7001 NONAME - _ZN9QTextEdit6zoomInEi @ 7002 NONAME - _ZN9QTextEdit7setHtmlERK7QString @ 7003 NONAME - _ZN9QTextEdit7setTextERK7QString @ 7004 NONAME - _ZN9QTextEdit7zoomOutEi @ 7005 NONAME - _ZN9QTextEdit9dropEventEP10QDropEvent @ 7006 NONAME - _ZN9QTextEdit9selectAllEv @ 7007 NONAME - _ZN9QTextEdit9showEventEP10QShowEvent @ 7008 NONAME - _ZN9QTextEditC1EP7QWidget @ 7009 NONAME - _ZN9QTextEditC1ER16QTextEditPrivateP7QWidget @ 7010 NONAME - _ZN9QTextEditC1ERK7QStringP7QWidget @ 7011 NONAME - _ZN9QTextEditC2EP7QWidget @ 7012 NONAME - _ZN9QTextEditC2ER16QTextEditPrivateP7QWidget @ 7013 NONAME - _ZN9QTextEditC2ERK7QStringP7QWidget @ 7014 NONAME - _ZN9QTextEditD0Ev @ 7015 NONAME - _ZN9QTextEditD1Ev @ 7016 NONAME - _ZN9QTextEditD2Ev @ 7017 NONAME - _ZN9QTextLine11setPositionERK7QPointF @ 7018 NONAME - _ZN9QTextLine12setLineWidthEf @ 7019 NONAME - _ZN9QTextLine13layout_helperEi @ 7020 NONAME - _ZN9QTextLine13setNumColumnsEi @ 7021 NONAME - _ZN9QTextLine13setNumColumnsEif @ 7022 NONAME - _ZN9QTextList10removeItemEi @ 7023 NONAME - _ZN9QTextList11qt_metacallEN11QMetaObject4CallEiPPv @ 7024 NONAME - _ZN9QTextList11qt_metacastEPKc @ 7025 NONAME - _ZN9QTextList16staticMetaObjectE @ 7026 NONAME DATA 16 - _ZN9QTextList3addERK10QTextBlock @ 7027 NONAME - _ZN9QTextList6removeERK10QTextBlock @ 7028 NONAME - _ZN9QTextListC1EP13QTextDocument @ 7029 NONAME - _ZN9QTextListC2EP13QTextDocument @ 7030 NONAME - _ZN9QTextListD0Ev @ 7031 NONAME - _ZN9QTextListD1Ev @ 7032 NONAME - _ZN9QTextListD2Ev @ 7033 NONAME - _ZN9QTimeEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 7034 NONAME - _ZN9QTimeEdit11qt_metacastEPKc @ 7035 NONAME - _ZN9QTimeEdit16staticMetaObjectE @ 7036 NONAME DATA 16 - _ZN9QTimeEditC1EP7QWidget @ 7037 NONAME - _ZN9QTimeEditC1ERK5QTimeP7QWidget @ 7038 NONAME - _ZN9QTimeEditC2EP7QWidget @ 7039 NONAME - _ZN9QTimeEditC2ERK5QTimeP7QWidget @ 7040 NONAME - _ZN9QTreeView10hideColumnEi @ 7041 NONAME - _ZN9QTreeView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 7042 NONAME - _ZN9QTreeView10paintEventEP11QPaintEvent @ 7043 NONAME - _ZN9QTreeView10showColumnEi @ 7044 NONAME - _ZN9QTreeView10timerEventEP11QTimerEvent @ 7045 NONAME - _ZN9QTreeView11collapseAllEv @ 7046 NONAME - _ZN9QTreeView11columnMovedEv @ 7047 NONAME - _ZN9QTreeView11dataChangedERK11QModelIndexS2_ @ 7048 NONAME - _ZN9QTreeView11qt_metacallEN11QMetaObject4CallEiPPv @ 7049 NONAME - _ZN9QTreeView11qt_metacastEPKc @ 7050 NONAME - _ZN9QTreeView11rowsRemovedERK11QModelIndexii @ 7051 NONAME - _ZN9QTreeView11setAnimatedEb @ 7052 NONAME - _ZN9QTreeView11setExpandedERK11QModelIndexb @ 7053 NONAME - _ZN9QTreeView11setWordWrapEb @ 7054 NONAME - _ZN9QTreeView12rowsInsertedERK11QModelIndexii @ 7055 NONAME - _ZN9QTreeView12setRootIndexERK11QModelIndex @ 7056 NONAME - _ZN9QTreeView12setRowHiddenEiRK11QModelIndexb @ 7057 NONAME - _ZN9QTreeView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 7058 NONAME - _ZN9QTreeView12sortByColumnEi @ 7059 NONAME - _ZN9QTreeView12sortByColumnEiN2Qt9SortOrderE @ 7060 NONAME - _ZN9QTreeView13columnResizedEiii @ 7061 NONAME - _ZN9QTreeView13doItemsLayoutEv @ 7062 NONAME - _ZN9QTreeView13dragMoveEventEP14QDragMoveEvent @ 7063 NONAME - _ZN9QTreeView13expandToDepthEi @ 7064 NONAME - _ZN9QTreeView13keyPressEventEP9QKeyEvent @ 7065 NONAME - _ZN9QTreeView13viewportEventEP6QEvent @ 7066 NONAME - _ZN9QTreeView14currentChangedERK11QModelIndexS2_ @ 7067 NONAME - _ZN9QTreeView14keyboardSearchERK7QString @ 7068 NONAME - _ZN9QTreeView14mouseMoveEventEP11QMouseEvent @ 7069 NONAME - _ZN9QTreeView14setColumnWidthEii @ 7070 NONAME - _ZN9QTreeView14setIndentationEi @ 7071 NONAME - _ZN9QTreeView15mousePressEventEP11QMouseEvent @ 7072 NONAME - _ZN9QTreeView15setColumnHiddenEib @ 7073 NONAME - _ZN9QTreeView15setHeaderHiddenEb @ 7074 NONAME - _ZN9QTreeView16scrollContentsByEii @ 7075 NONAME - _ZN9QTreeView16selectionChangedERK14QItemSelectionS2_ @ 7076 NONAME - _ZN9QTreeView16staticMetaObjectE @ 7077 NONAME DATA 16 - _ZN9QTreeView16updateGeometriesEv @ 7078 NONAME - _ZN9QTreeView17mouseReleaseEventEP11QMouseEvent @ 7079 NONAME - _ZN9QTreeView17setSelectionModelEP19QItemSelectionModel @ 7080 NONAME - _ZN9QTreeView17setSortingEnabledEb @ 7081 NONAME - _ZN9QTreeView18columnCountChangedEii @ 7082 NONAME - _ZN9QTreeView18setAutoExpandDelayEi @ 7083 NONAME - _ZN9QTreeView18setItemsExpandableEb @ 7084 NONAME - _ZN9QTreeView18setRootIsDecoratedEb @ 7085 NONAME - _ZN9QTreeView20rowsAboutToBeRemovedERK11QModelIndexii @ 7086 NONAME - _ZN9QTreeView20setUniformRowHeightsEb @ 7087 NONAME - _ZN9QTreeView21mouseDoubleClickEventEP11QMouseEvent @ 7088 NONAME - _ZN9QTreeView21setFirstColumnSpannedEiRK11QModelIndexb @ 7089 NONAME - _ZN9QTreeView22resizeColumnToContentsEi @ 7090 NONAME - _ZN9QTreeView22setAllColumnsShowFocusEb @ 7091 NONAME - _ZN9QTreeView23setExpandsOnDoubleClickEb @ 7092 NONAME - _ZN9QTreeView25horizontalScrollbarActionEi @ 7093 NONAME - _ZN9QTreeView5resetEv @ 7094 NONAME - _ZN9QTreeView6expandERK11QModelIndex @ 7095 NONAME - _ZN9QTreeView8collapseERK11QModelIndex @ 7096 NONAME - _ZN9QTreeView8expandedERK11QModelIndex @ 7097 NONAME - _ZN9QTreeView8reexpandEv @ 7098 NONAME - _ZN9QTreeView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 7099 NONAME - _ZN9QTreeView8setModelEP18QAbstractItemModel @ 7100 NONAME - _ZN9QTreeView9collapsedERK11QModelIndex @ 7101 NONAME - _ZN9QTreeView9expandAllEv @ 7102 NONAME - _ZN9QTreeView9selectAllEv @ 7103 NONAME - _ZN9QTreeView9setHeaderEP11QHeaderView @ 7104 NONAME - _ZN9QTreeViewC1EP7QWidget @ 7105 NONAME - _ZN9QTreeViewC1ER16QTreeViewPrivateP7QWidget @ 7106 NONAME - _ZN9QTreeViewC2EP7QWidget @ 7107 NONAME - _ZN9QTreeViewC2ER16QTreeViewPrivateP7QWidget @ 7108 NONAME - _ZN9QTreeViewD0Ev @ 7109 NONAME - _ZN9QTreeViewD1Ev @ 7110 NONAME - _ZN9QTreeViewD2Ev @ 7111 NONAME - _ZN9QUndoView11qt_metacallEN11QMetaObject4CallEiPPv @ 7112 NONAME - _ZN9QUndoView11qt_metacastEPKc @ 7113 NONAME - _ZN9QUndoView12setCleanIconERK5QIcon @ 7114 NONAME - _ZN9QUndoView13setEmptyLabelERK7QString @ 7115 NONAME - _ZN9QUndoView16staticMetaObjectE @ 7116 NONAME DATA 16 - _ZN9QUndoView8setGroupEP10QUndoGroup @ 7117 NONAME - _ZN9QUndoView8setStackEP10QUndoStack @ 7118 NONAME - _ZN9QUndoViewC1EP10QUndoGroupP7QWidget @ 7119 NONAME - _ZN9QUndoViewC1EP10QUndoStackP7QWidget @ 7120 NONAME - _ZN9QUndoViewC1EP7QWidget @ 7121 NONAME - _ZN9QUndoViewC2EP10QUndoGroupP7QWidget @ 7122 NONAME - _ZN9QUndoViewC2EP10QUndoStackP7QWidget @ 7123 NONAME - _ZN9QUndoViewC2EP7QWidget @ 7124 NONAME - _ZN9QUndoViewD0Ev @ 7125 NONAME - _ZN9QUndoViewD1Ev @ 7126 NONAME - _ZN9QUndoViewD2Ev @ 7127 NONAME - _ZN9QUrlModel11dataChangedERK11QModelIndexS2_ @ 7128 NONAME - _ZN9QUrlModel11qt_metacallEN11QMetaObject4CallEiPPv @ 7129 NONAME - _ZN9QUrlModel11qt_metacastEPKc @ 7130 NONAME - _ZN9QUrlModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 7131 NONAME - _ZN9QUrlModel13layoutChangedEv @ 7132 NONAME - _ZN9QUrlModel16staticMetaObjectE @ 7133 NONAME DATA 16 - _ZN9QUrlModel18setFileSystemModelEP16QFileSystemModel @ 7134 NONAME - _ZN9QUrlModel6setUrlERK11QModelIndexRK4QUrlS2_ @ 7135 NONAME - _ZN9QUrlModel7addUrlsERK5QListI4QUrlEib @ 7136 NONAME - _ZN9QUrlModel7canDropEP15QDragEnterEvent @ 7137 NONAME - _ZN9QUrlModel7changedERK7QString @ 7138 NONAME - _ZN9QUrlModel7setDataERK11QModelIndexRK8QVarianti @ 7139 NONAME - _ZN9QUrlModel7setUrlsERK5QListI4QUrlE @ 7140 NONAME - _ZN9QUrlModelC1EP7QObject @ 7141 NONAME - _ZN9QUrlModelC2EP7QObject @ 7142 NONAME - _ZNK10QBoxLayout10metaObjectEv @ 7143 NONAME - _ZNK10QBoxLayout11maximumSizeEv @ 7144 NONAME - _ZNK10QBoxLayout11minimumSizeEv @ 7145 NONAME - _ZNK10QBoxLayout14heightForWidthEi @ 7146 NONAME - _ZNK10QBoxLayout17hasHeightForWidthEv @ 7147 NONAME - _ZNK10QBoxLayout19expandingDirectionsEv @ 7148 NONAME - _ZNK10QBoxLayout21minimumHeightForWidthEi @ 7149 NONAME - _ZNK10QBoxLayout5countEv @ 7150 NONAME - _ZNK10QBoxLayout6itemAtEi @ 7151 NONAME - _ZNK10QBoxLayout7spacingEv @ 7152 NONAME - _ZNK10QBoxLayout7stretchEi @ 7153 NONAME - _ZNK10QBoxLayout8sizeHintEv @ 7154 NONAME - _ZNK10QBoxLayout9directionEv @ 7155 NONAME - _ZNK10QClipboard10metaObjectEv @ 7156 NONAME - _ZNK10QClipboard12supportsModeENS_4ModeE @ 7157 NONAME - _ZNK10QClipboard13ownsClipboardEv @ 7158 NONAME - _ZNK10QClipboard13ownsSelectionEv @ 7159 NONAME - _ZNK10QClipboard14ownsFindBufferEv @ 7160 NONAME - _ZNK10QClipboard17supportsSelectionEv @ 7161 NONAME - _ZNK10QClipboard18supportsFindBufferEv @ 7162 NONAME - _ZNK10QClipboard4textENS_4ModeE @ 7163 NONAME - _ZNK10QClipboard4textER7QStringNS_4ModeE @ 7164 NONAME - _ZNK10QClipboard5imageENS_4ModeE @ 7165 NONAME - _ZNK10QClipboard6pixmapENS_4ModeE @ 7166 NONAME - _ZNK10QClipboard8mimeDataENS_4ModeE @ 7167 NONAME - _ZNK10QClipboard8ownsModeENS_4ModeE @ 7168 NONAME - _ZNK10QCompleter10currentRowEv @ 7169 NONAME - _ZNK10QCompleter10metaObjectEv @ 7170 NONAME - _ZNK10QCompleter10wrapAroundEv @ 7171 NONAME - _ZNK10QCompleter12currentIndexEv @ 7172 NONAME - _ZNK10QCompleter12modelSortingEv @ 7173 NONAME - _ZNK10QCompleter13pathFromIndexERK11QModelIndex @ 7174 NONAME - _ZNK10QCompleter14completionModeEv @ 7175 NONAME - _ZNK10QCompleter14completionRoleEv @ 7176 NONAME - _ZNK10QCompleter15caseSensitivityEv @ 7177 NONAME - _ZNK10QCompleter15completionCountEv @ 7178 NONAME - _ZNK10QCompleter15completionModelEv @ 7179 NONAME - _ZNK10QCompleter16completionColumnEv @ 7180 NONAME - _ZNK10QCompleter16completionPrefixEv @ 7181 NONAME - _ZNK10QCompleter17currentCompletionEv @ 7182 NONAME - _ZNK10QCompleter5modelEv @ 7183 NONAME - _ZNK10QCompleter5popupEv @ 7184 NONAME - _ZNK10QCompleter6widgetEv @ 7185 NONAME - _ZNK10QCompleter9splitPathERK7QString @ 7186 NONAME - _ZNK10QDropEvent11encodedDataEPKc @ 7187 NONAME - _ZNK10QDropEvent6formatEi @ 7188 NONAME - _ZNK10QDropEvent6sourceEv @ 7189 NONAME - _ZNK10QDropEvent8providesEPKc @ 7190 NONAME - _ZNK10QLCDNumber10metaObjectEv @ 7191 NONAME - _ZNK10QLCDNumber12segmentStyleEv @ 7192 NONAME - _ZNK10QLCDNumber13checkOverflowEd @ 7193 NONAME - _ZNK10QLCDNumber13checkOverflowEi @ 7194 NONAME - _ZNK10QLCDNumber17smallDecimalPointEv @ 7195 NONAME - _ZNK10QLCDNumber4modeEv @ 7196 NONAME - _ZNK10QLCDNumber5valueEv @ 7197 NONAME - _ZNK10QLCDNumber8intValueEv @ 7198 NONAME - _ZNK10QLCDNumber8sizeHintEv @ 7199 NONAME - _ZNK10QLCDNumber9numDigitsEv @ 7200 NONAME - _ZNK10QPictureIO10parametersEv @ 7201 NONAME - _ZNK10QPictureIO11descriptionEv @ 7202 NONAME - _ZNK10QPictureIO5gammaEv @ 7203 NONAME - _ZNK10QPictureIO6formatEv @ 7204 NONAME - _ZNK10QPictureIO6statusEv @ 7205 NONAME - _ZNK10QPictureIO7pictureEv @ 7206 NONAME - _ZNK10QPictureIO7qualityEv @ 7207 NONAME - _ZNK10QPictureIO8fileNameEv @ 7208 NONAME - _ZNK10QPictureIO8ioDeviceEv @ 7209 NONAME - _ZNK10QScrollBar10metaObjectEv @ 7210 NONAME - _ZNK10QScrollBar15initStyleOptionEP18QStyleOptionSlider @ 7211 NONAME - _ZNK10QScrollBar8sizeHintEv @ 7212 NONAME - _ZNK10QStatusBar10metaObjectEv @ 7213 NONAME - _ZNK10QStatusBar14currentMessageEv @ 7214 NONAME - _ZNK10QStatusBar17isSizeGripEnabledEv @ 7215 NONAME - _ZNK10QTabWidget10metaObjectEv @ 7216 NONAME - _ZNK10QTabWidget10tabToolTipEi @ 7217 NONAME - _ZNK10QTabWidget11tabPositionEv @ 7218 NONAME - _ZNK10QTabWidget12cornerWidgetEN2Qt6CornerE @ 7219 NONAME - _ZNK10QTabWidget12currentIndexEv @ 7220 NONAME - _ZNK10QTabWidget12documentModeEv @ 7221 NONAME - _ZNK10QTabWidget12isTabEnabledEi @ 7222 NONAME - _ZNK10QTabWidget12tabWhatsThisEi @ 7223 NONAME - _ZNK10QTabWidget12tabsClosableEv @ 7224 NONAME - _ZNK10QTabWidget13currentWidgetEv @ 7225 NONAME - _ZNK10QTabWidget15initStyleOptionEP26QStyleOptionTabWidgetFrame @ 7226 NONAME - _ZNK10QTabWidget15minimumSizeHintEv @ 7227 NONAME - _ZNK10QTabWidget17usesScrollButtonsEv @ 7228 NONAME - _ZNK10QTabWidget5countEv @ 7229 NONAME - _ZNK10QTabWidget6tabBarEv @ 7230 NONAME - _ZNK10QTabWidget6widgetEi @ 7231 NONAME - _ZNK10QTabWidget7indexOfEP7QWidget @ 7232 NONAME - _ZNK10QTabWidget7tabIconEi @ 7233 NONAME - _ZNK10QTabWidget7tabTextEi @ 7234 NONAME - _ZNK10QTabWidget8iconSizeEv @ 7235 NONAME - _ZNK10QTabWidget8sizeHintEv @ 7236 NONAME - _ZNK10QTabWidget8tabShapeEv @ 7237 NONAME - _ZNK10QTabWidget9elideModeEv @ 7238 NONAME - _ZNK10QTabWidget9isMovableEv @ 7239 NONAME - _ZNK10QTableView10columnSpanEii @ 7240 NONAME - _ZNK10QTableView10metaObjectEv @ 7241 NONAME - _ZNK10QTableView10visualRectERK11QModelIndex @ 7242 NONAME - _ZNK10QTableView11columnWidthEi @ 7243 NONAME - _ZNK10QTableView11isRowHiddenEi @ 7244 NONAME - _ZNK10QTableView11viewOptionsEv @ 7245 NONAME - _ZNK10QTableView11visualIndexERK11QModelIndex @ 7246 NONAME - _ZNK10QTableView13isIndexHiddenERK11QModelIndex @ 7247 NONAME - _ZNK10QTableView14isColumnHiddenEi @ 7248 NONAME - _ZNK10QTableView14sizeHintForRowEi @ 7249 NONAME - _ZNK10QTableView14verticalHeaderEv @ 7250 NONAME - _ZNK10QTableView14verticalOffsetEv @ 7251 NONAME - _ZNK10QTableView15selectedIndexesEv @ 7252 NONAME - _ZNK10QTableView16horizontalHeaderEv @ 7253 NONAME - _ZNK10QTableView16horizontalOffsetEv @ 7254 NONAME - _ZNK10QTableView16isSortingEnabledEv @ 7255 NONAME - _ZNK10QTableView17sizeHintForColumnEi @ 7256 NONAME - _ZNK10QTableView19rowViewportPositionEi @ 7257 NONAME - _ZNK10QTableView21isCornerButtonEnabledEv @ 7258 NONAME - _ZNK10QTableView22columnViewportPositionEi @ 7259 NONAME - _ZNK10QTableView24visualRegionForSelectionERK14QItemSelection @ 7260 NONAME - _ZNK10QTableView5rowAtEi @ 7261 NONAME - _ZNK10QTableView7indexAtERK6QPoint @ 7262 NONAME - _ZNK10QTableView7rowSpanEii @ 7263 NONAME - _ZNK10QTableView8columnAtEi @ 7264 NONAME - _ZNK10QTableView8showGridEv @ 7265 NONAME - _ZNK10QTableView8wordWrapEv @ 7266 NONAME - _ZNK10QTableView9gridStyleEv @ 7267 NONAME - _ZNK10QTableView9rowHeightEi @ 7268 NONAME - _ZNK10QTextBlock10charFormatEv @ 7269 NONAME - _ZNK10QTextBlock11blockFormatEv @ 7270 NONAME - _ZNK10QTextBlock11blockNumberEv @ 7271 NONAME - _ZNK10QTextBlock15charFormatIndexEv @ 7272 NONAME - _ZNK10QTextBlock15firstLineNumberEv @ 7273 NONAME - _ZNK10QTextBlock16blockFormatIndexEv @ 7274 NONAME - _ZNK10QTextBlock3endEv @ 7275 NONAME - _ZNK10QTextBlock4nextEv @ 7276 NONAME - _ZNK10QTextBlock4textEv @ 7277 NONAME - _ZNK10QTextBlock5beginEv @ 7278 NONAME - _ZNK10QTextBlock6layoutEv @ 7279 NONAME - _ZNK10QTextBlock6lengthEv @ 7280 NONAME - _ZNK10QTextBlock8containsEi @ 7281 NONAME - _ZNK10QTextBlock8documentEv @ 7282 NONAME - _ZNK10QTextBlock8iterator8fragmentEv @ 7283 NONAME - _ZNK10QTextBlock8positionEv @ 7284 NONAME - _ZNK10QTextBlock8previousEv @ 7285 NONAME - _ZNK10QTextBlock8revisionEv @ 7286 NONAME - _ZNK10QTextBlock8textListEv @ 7287 NONAME - _ZNK10QTextBlock8userDataEv @ 7288 NONAME - _ZNK10QTextBlock9isVisibleEv @ 7289 NONAME - _ZNK10QTextBlock9lineCountEv @ 7290 NONAME - _ZNK10QTextBlock9userStateEv @ 7291 NONAME - _ZNK10QTextFrame10layoutDataEv @ 7292 NONAME - _ZNK10QTextFrame10metaObjectEv @ 7293 NONAME - _ZNK10QTextFrame11childFramesEv @ 7294 NONAME - _ZNK10QTextFrame11parentFrameEv @ 7295 NONAME - _ZNK10QTextFrame12lastPositionEv @ 7296 NONAME - _ZNK10QTextFrame13firstPositionEv @ 7297 NONAME - _ZNK10QTextFrame18lastCursorPositionEv @ 7298 NONAME - _ZNK10QTextFrame19firstCursorPositionEv @ 7299 NONAME - _ZNK10QTextFrame3endEv @ 7300 NONAME - _ZNK10QTextFrame5beginEv @ 7301 NONAME - _ZNK10QTextFrame8iterator12currentBlockEv @ 7302 NONAME - _ZNK10QTextFrame8iterator12currentFrameEv @ 7303 NONAME - _ZNK10QTextTable10metaObjectEv @ 7304 NONAME - _ZNK10QTextTable4rowsEv @ 7305 NONAME - _ZNK10QTextTable6cellAtERK11QTextCursor @ 7306 NONAME - _ZNK10QTextTable6cellAtEi @ 7307 NONAME - _ZNK10QTextTable6cellAtEii @ 7308 NONAME - _ZNK10QTextTable6rowEndERK11QTextCursor @ 7309 NONAME - _ZNK10QTextTable7columnsEv @ 7310 NONAME - _ZNK10QTextTable8rowStartERK11QTextCursor @ 7311 NONAME - _ZNK10QTransform10transposedEv @ 7312 NONAME - _ZNK10QTransform12mapToPolygonERK5QRect @ 7313 NONAME - _ZNK10QTransform3mapERK12QPainterPath @ 7314 NONAME - _ZNK10QTransform3mapERK5QLine @ 7315 NONAME - _ZNK10QTransform3mapERK6QLineF @ 7316 NONAME - _ZNK10QTransform3mapERK6QPoint @ 7317 NONAME - _ZNK10QTransform3mapERK7QPointF @ 7318 NONAME - _ZNK10QTransform3mapERK7QRegion @ 7319 NONAME - _ZNK10QTransform3mapERK8QPolygon @ 7320 NONAME - _ZNK10QTransform3mapERK9QPolygonF @ 7321 NONAME - _ZNK10QTransform3mapEffPfS0_ @ 7322 NONAME - _ZNK10QTransform3mapEiiPiS0_ @ 7323 NONAME - _ZNK10QTransform4typeEv @ 7324 NONAME - _ZNK10QTransform7adjointEv @ 7325 NONAME - _ZNK10QTransform7mapRectERK5QRect @ 7326 NONAME - _ZNK10QTransform7mapRectERK6QRectF @ 7327 NONAME - _ZNK10QTransform8invertedEPb @ 7328 NONAME - _ZNK10QTransform8toAffineEv @ 7329 NONAME - _ZNK10QTransformcv8QVariantEv @ 7330 NONAME - _ZNK10QTransformeqERKS_ @ 7331 NONAME - _ZNK10QTransformmlERKS_ @ 7332 NONAME - _ZNK10QTransformneERKS_ @ 7333 NONAME - _ZNK10QUndoGroup10metaObjectEv @ 7334 NONAME - _ZNK10QUndoGroup11activeStackEv @ 7335 NONAME - _ZNK10QUndoGroup16createRedoActionEP7QObjectRK7QString @ 7336 NONAME - _ZNK10QUndoGroup16createUndoActionEP7QObjectRK7QString @ 7337 NONAME - _ZNK10QUndoGroup6stacksEv @ 7338 NONAME - _ZNK10QUndoGroup7canRedoEv @ 7339 NONAME - _ZNK10QUndoGroup7canUndoEv @ 7340 NONAME - _ZNK10QUndoGroup7isCleanEv @ 7341 NONAME - _ZNK10QUndoGroup8redoTextEv @ 7342 NONAME - _ZNK10QUndoGroup8undoTextEv @ 7343 NONAME - _ZNK10QUndoStack10cleanIndexEv @ 7344 NONAME - _ZNK10QUndoStack10metaObjectEv @ 7345 NONAME - _ZNK10QUndoStack16createRedoActionEP7QObjectRK7QString @ 7346 NONAME - _ZNK10QUndoStack16createUndoActionEP7QObjectRK7QString @ 7347 NONAME - _ZNK10QUndoStack4textEi @ 7348 NONAME - _ZNK10QUndoStack5countEv @ 7349 NONAME - _ZNK10QUndoStack5indexEv @ 7350 NONAME - _ZNK10QUndoStack7canRedoEv @ 7351 NONAME - _ZNK10QUndoStack7canUndoEv @ 7352 NONAME - _ZNK10QUndoStack7commandEi @ 7353 NONAME - _ZNK10QUndoStack7isCleanEv @ 7354 NONAME - _ZNK10QUndoStack8isActiveEv @ 7355 NONAME - _ZNK10QUndoStack8redoTextEv @ 7356 NONAME - _ZNK10QUndoStack8undoTextEv @ 7357 NONAME - _ZNK10QUndoStack9undoLimitEv @ 7358 NONAME - _ZNK10QValidator10metaObjectEv @ 7359 NONAME - _ZNK10QValidator5fixupER7QString @ 7360 NONAME - _ZNK10QValidator6localeEv @ 7361 NONAME - _ZNK10QWorkspace10backgroundEv @ 7362 NONAME - _ZNK10QWorkspace10metaObjectEv @ 7363 NONAME - _ZNK10QWorkspace10windowListENS_11WindowOrderE @ 7364 NONAME - _ZNK10QWorkspace12activeWindowEv @ 7365 NONAME - _ZNK10QWorkspace17scrollBarsEnabledEv @ 7366 NONAME - _ZNK10QWorkspace8sizeHintEv @ 7367 NONAME - _ZNK10QZipReader10extractAllERK7QString @ 7368 NONAME - _ZNK10QZipReader10isReadableEv @ 7369 NONAME - _ZNK10QZipReader11entryInfoAtEi @ 7370 NONAME - _ZNK10QZipReader12fileInfoListEv @ 7371 NONAME - _ZNK10QZipReader5countEv @ 7372 NONAME - _ZNK10QZipReader6existsEv @ 7373 NONAME - _ZNK10QZipReader6statusEv @ 7374 NONAME - _ZNK10QZipReader8fileDataERK7QString @ 7375 NONAME - _ZNK10QZipWriter10isWritableEv @ 7376 NONAME - _ZNK10QZipWriter17compressionPolicyEv @ 7377 NONAME - _ZNK10QZipWriter19creationPermissionsEv @ 7378 NONAME - _ZNK10QZipWriter6existsEv @ 7379 NONAME - _ZNK10QZipWriter6statusEv @ 7380 NONAME - _ZNK11QColumnView10metaObjectEv @ 7381 NONAME - _ZNK11QColumnView10visualRectERK11QModelIndex @ 7382 NONAME - _ZNK11QColumnView12columnWidthsEv @ 7383 NONAME - _ZNK11QColumnView13isIndexHiddenERK11QModelIndex @ 7384 NONAME - _ZNK11QColumnView13previewWidgetEv @ 7385 NONAME - _ZNK11QColumnView14verticalOffsetEv @ 7386 NONAME - _ZNK11QColumnView16horizontalOffsetEv @ 7387 NONAME - _ZNK11QColumnView16initializeColumnEP17QAbstractItemView @ 7388 NONAME - _ZNK11QColumnView18resizeGripsVisibleEv @ 7389 NONAME - _ZNK11QColumnView24visualRegionForSelectionERK14QItemSelection @ 7390 NONAME - _ZNK11QColumnView7indexAtERK6QPoint @ 7391 NONAME - _ZNK11QColumnView8sizeHintEv @ 7392 NONAME - _ZNK11QDockWidget10metaObjectEv @ 7393 NONAME - _ZNK11QDockWidget12allowedAreasEv @ 7394 NONAME - _ZNK11QDockWidget14titleBarWidgetEv @ 7395 NONAME - _ZNK11QDockWidget15initStyleOptionEP22QStyleOptionDockWidget @ 7396 NONAME - _ZNK11QDockWidget16toggleViewActionEv @ 7397 NONAME - _ZNK11QDockWidget6widgetEv @ 7398 NONAME - _ZNK11QDockWidget8featuresEv @ 7399 NONAME - _ZNK11QFileDialog10acceptModeEv @ 7400 NONAME - _ZNK11QFileDialog10isReadOnlyEv @ 7401 NONAME - _ZNK11QFileDialog10metaObjectEv @ 7402 NONAME - _ZNK11QFileDialog10proxyModelEv @ 7403 NONAME - _ZNK11QFileDialog10testOptionENS_6OptionE @ 7404 NONAME - _ZNK11QFileDialog11nameFiltersEv @ 7405 NONAME - _ZNK11QFileDialog11sidebarUrlsEv @ 7406 NONAME - _ZNK11QFileDialog12iconProviderEv @ 7407 NONAME - _ZNK11QFileDialog12itemDelegateEv @ 7408 NONAME - _ZNK11QFileDialog13defaultSuffixEv @ 7409 NONAME - _ZNK11QFileDialog13selectedFilesEv @ 7410 NONAME - _ZNK11QFileDialog14selectedFilterEv @ 7411 NONAME - _ZNK11QFileDialog15resolveSymlinksEv @ 7412 NONAME - _ZNK11QFileDialog16confirmOverwriteEv @ 7413 NONAME - _ZNK11QFileDialog18selectedNameFilterEv @ 7414 NONAME - _ZNK11QFileDialog26isNameFilterDetailsVisibleEv @ 7415 NONAME - _ZNK11QFileDialog6filterEv @ 7416 NONAME - _ZNK11QFileDialog7filtersEv @ 7417 NONAME - _ZNK11QFileDialog7historyEv @ 7418 NONAME - _ZNK11QFileDialog7optionsEv @ 7419 NONAME - _ZNK11QFileDialog8fileModeEv @ 7420 NONAME - _ZNK11QFileDialog8viewModeEv @ 7421 NONAME - _ZNK11QFileDialog9directoryEv @ 7422 NONAME - _ZNK11QFileDialog9labelTextENS_11DialogLabelE @ 7423 NONAME - _ZNK11QFileDialog9saveStateEv @ 7424 NONAME - _ZNK11QFocusEvent6reasonEv @ 7425 NONAME - _ZNK11QFocusFrame10metaObjectEv @ 7426 NONAME - _ZNK11QFocusFrame15initStyleOptionEP12QStyleOption @ 7427 NONAME - _ZNK11QFocusFrame6widgetEv @ 7428 NONAME - _ZNK11QFontDialog10metaObjectEv @ 7429 NONAME - _ZNK11QFontDialog10testOptionENS_16FontDialogOptionE @ 7430 NONAME - _ZNK11QFontDialog11currentFontEv @ 7431 NONAME - _ZNK11QFontDialog12selectedFontEv @ 7432 NONAME - _ZNK11QFontDialog7optionsEv @ 7433 NONAME - _ZNK11QFontEngine10glyphCacheEN21QFontEngineGlyphCache4TypeERK10QTransform @ 7434 NONAME - _ZNK11QFontEngine10glyphCacheEPvRK10QTransform @ 7435 NONAME - _ZNK11QFontEngine10glyphCountEv @ 7436 NONAME - _ZNK11QFontEngine10metaObjectEv @ 7437 NONAME ABSENT - _ZNK11QFontEngine10propertiesEv @ 7438 NONAME - _ZNK11QFontEngine12getSfntTableEj @ 7439 NONAME - _ZNK11QFontEngine12harfbuzzFaceEv @ 7440 NONAME - _ZNK11QFontEngine12harfbuzzFontEv @ 7441 NONAME - _ZNK11QFontEngine13lineThicknessEv @ 7442 NONAME - _ZNK11QFontEngine16averageCharWidthEv @ 7443 NONAME - _ZNK11QFontEngine17underlinePositionEv @ 7444 NONAME - _ZNK11QFontEngine7xHeightEv @ 7445 NONAME - _ZNK11QFontEngine9doKerningEP12QGlyphLayout6QFlagsIN11QTextEngine10ShaperFlagEE @ 7446 NONAME - _ZNK11QFormLayout10metaObjectEv @ 7447 NONAME - _ZNK11QFormLayout11minimumSizeEv @ 7448 NONAME - _ZNK11QFormLayout13formAlignmentEv @ 7449 NONAME - _ZNK11QFormLayout13labelForFieldEP7QLayout @ 7450 NONAME - _ZNK11QFormLayout13labelForFieldEP7QWidget @ 7451 NONAME - _ZNK11QFormLayout13rowWrapPolicyEv @ 7452 NONAME - _ZNK11QFormLayout14heightForWidthEi @ 7453 NONAME - _ZNK11QFormLayout14labelAlignmentEv @ 7454 NONAME - _ZNK11QFormLayout15getItemPositionEiPiPNS_8ItemRoleE @ 7455 NONAME - _ZNK11QFormLayout15verticalSpacingEv @ 7456 NONAME - _ZNK11QFormLayout17fieldGrowthPolicyEv @ 7457 NONAME - _ZNK11QFormLayout17getLayoutPositionEP7QLayoutPiPNS_8ItemRoleE @ 7458 NONAME - _ZNK11QFormLayout17getWidgetPositionEP7QWidgetPiPNS_8ItemRoleE @ 7459 NONAME - _ZNK11QFormLayout17hasHeightForWidthEv @ 7460 NONAME - _ZNK11QFormLayout17horizontalSpacingEv @ 7461 NONAME - _ZNK11QFormLayout19expandingDirectionsEv @ 7462 NONAME - _ZNK11QFormLayout5countEv @ 7463 NONAME - _ZNK11QFormLayout6itemAtEi @ 7464 NONAME - _ZNK11QFormLayout6itemAtEiNS_8ItemRoleE @ 7465 NONAME - _ZNK11QFormLayout7spacingEv @ 7466 NONAME - _ZNK11QFormLayout8rowCountEv @ 7467 NONAME - _ZNK11QFormLayout8sizeHintEv @ 7468 NONAME - _ZNK11QGridLayout10metaObjectEv @ 7469 NONAME - _ZNK11QGridLayout10rowStretchEi @ 7470 NONAME - _ZNK11QGridLayout11columnCountEv @ 7471 NONAME - _ZNK11QGridLayout11maximumSizeEv @ 7472 NONAME - _ZNK11QGridLayout11minimumSizeEv @ 7473 NONAME - _ZNK11QGridLayout12originCornerEv @ 7474 NONAME - _ZNK11QGridLayout13columnStretchEi @ 7475 NONAME - _ZNK11QGridLayout14heightForWidthEi @ 7476 NONAME - _ZNK11QGridLayout14itemAtPositionEii @ 7477 NONAME - _ZNK11QGridLayout15verticalSpacingEv @ 7478 NONAME - _ZNK11QGridLayout16rowMinimumHeightEi @ 7479 NONAME - _ZNK11QGridLayout17hasHeightForWidthEv @ 7480 NONAME - _ZNK11QGridLayout17horizontalSpacingEv @ 7481 NONAME - _ZNK11QGridLayout18columnMinimumWidthEi @ 7482 NONAME - _ZNK11QGridLayout19expandingDirectionsEv @ 7483 NONAME - _ZNK11QGridLayout21minimumHeightForWidthEi @ 7484 NONAME - _ZNK11QGridLayout5countEv @ 7485 NONAME - _ZNK11QGridLayout6itemAtEi @ 7486 NONAME - _ZNK11QGridLayout7spacingEv @ 7487 NONAME - _ZNK11QGridLayout8cellRectEii @ 7488 NONAME - _ZNK11QGridLayout8rowCountEv @ 7489 NONAME - _ZNK11QGridLayout8sizeHintEv @ 7490 NONAME - _ZNK11QHBoxLayout10metaObjectEv @ 7491 NONAME - _ZNK11QHeaderView10metaObjectEv @ 7492 NONAME - _ZNK11QHeaderView10resizeModeEi @ 7493 NONAME - _ZNK11QHeaderView10visualRectERK11QModelIndex @ 7494 NONAME - _ZNK11QHeaderView11isClickableEv @ 7495 NONAME - _ZNK11QHeaderView11orientationEv @ 7496 NONAME - _ZNK11QHeaderView11sectionSizeEi @ 7497 NONAME - _ZNK11QHeaderView11visualIndexEi @ 7498 NONAME - _ZNK11QHeaderView12logicalIndexEi @ 7499 NONAME - _ZNK11QHeaderView12paintSectionEP8QPainterRK5QRecti @ 7500 NONAME - _ZNK11QHeaderView13isIndexHiddenERK11QModelIndex @ 7501 NONAME - _ZNK11QHeaderView13sectionsMovedEv @ 7502 NONAME - _ZNK11QHeaderView13visualIndexAtEi @ 7503 NONAME - _ZNK11QHeaderView14logicalIndexAtEi @ 7504 NONAME - _ZNK11QHeaderView14sectionsHiddenEv @ 7505 NONAME - _ZNK11QHeaderView14verticalOffsetEv @ 7506 NONAME - _ZNK11QHeaderView15initStyleOptionEP18QStyleOptionHeader @ 7507 NONAME - _ZNK11QHeaderView15isSectionHiddenEi @ 7508 NONAME - _ZNK11QHeaderView15sectionPositionEi @ 7509 NONAME - _ZNK11QHeaderView15sectionSizeHintEi @ 7510 NONAME - _ZNK11QHeaderView16defaultAlignmentEv @ 7511 NONAME - _ZNK11QHeaderView16horizontalOffsetEv @ 7512 NONAME - _ZNK11QHeaderView17highlightSectionsEv @ 7513 NONAME - _ZNK11QHeaderView18defaultSectionSizeEv @ 7514 NONAME - _ZNK11QHeaderView18hiddenSectionCountEv @ 7515 NONAME - _ZNK11QHeaderView18minimumSectionSizeEv @ 7516 NONAME - _ZNK11QHeaderView18sortIndicatorOrderEv @ 7517 NONAME - _ZNK11QHeaderView18stretchLastSectionEv @ 7518 NONAME - _ZNK11QHeaderView19stretchSectionCountEv @ 7519 NONAME - _ZNK11QHeaderView20isSortIndicatorShownEv @ 7520 NONAME - _ZNK11QHeaderView20sortIndicatorSectionEv @ 7521 NONAME - _ZNK11QHeaderView23cascadingSectionResizesEv @ 7522 NONAME - _ZNK11QHeaderView23sectionSizeFromContentsEi @ 7523 NONAME - _ZNK11QHeaderView23sectionViewportPositionEi @ 7524 NONAME - _ZNK11QHeaderView24visualRegionForSelectionERK14QItemSelection @ 7525 NONAME - _ZNK11QHeaderView5countEv @ 7526 NONAME - _ZNK11QHeaderView6lengthEv @ 7527 NONAME - _ZNK11QHeaderView6offsetEv @ 7528 NONAME - _ZNK11QHeaderView7indexAtERK6QPoint @ 7529 NONAME - _ZNK11QHeaderView8sizeHintEv @ 7530 NONAME - _ZNK11QHeaderView9isMovableEv @ 7531 NONAME - _ZNK11QHeaderView9saveStateEv @ 7532 NONAME - _ZNK11QLayoutItem12controlTypesEv @ 7533 NONAME - _ZNK11QLayoutItem14heightForWidthEi @ 7534 NONAME - _ZNK11QLayoutItem17hasHeightForWidthEv @ 7535 NONAME - _ZNK11QLayoutItem21minimumHeightForWidthEi @ 7536 NONAME - _ZNK11QListWidget10currentRowEv @ 7537 NONAME - _ZNK11QListWidget10itemWidgetEP15QListWidgetItem @ 7538 NONAME - _ZNK11QListWidget10metaObjectEv @ 7539 NONAME - _ZNK11QListWidget11currentItemEv @ 7540 NONAME - _ZNK11QListWidget12isItemHiddenEPK15QListWidgetItem @ 7541 NONAME - _ZNK11QListWidget13indexFromItemEP15QListWidgetItem @ 7542 NONAME - _ZNK11QListWidget13itemFromIndexERK11QModelIndex @ 7543 NONAME - _ZNK11QListWidget13selectedItemsEv @ 7544 NONAME - _ZNK11QListWidget14isItemSelectedEPK15QListWidgetItem @ 7545 NONAME - _ZNK11QListWidget14visualItemRectEPK15QListWidgetItem @ 7546 NONAME - _ZNK11QListWidget16isSortingEnabledEv @ 7547 NONAME - _ZNK11QListWidget20supportedDropActionsEv @ 7548 NONAME - _ZNK11QListWidget3rowEPK15QListWidgetItem @ 7549 NONAME - _ZNK11QListWidget4itemEi @ 7550 NONAME - _ZNK11QListWidget5countEv @ 7551 NONAME - _ZNK11QListWidget5itemsEPK9QMimeData @ 7552 NONAME - _ZNK11QListWidget6itemAtERK6QPoint @ 7553 NONAME - _ZNK11QListWidget8mimeDataE5QListIP15QListWidgetItemE @ 7554 NONAME - _ZNK11QListWidget9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEE @ 7555 NONAME - _ZNK11QListWidget9mimeTypesEv @ 7556 NONAME - _ZNK11QListWidget9sortOrderEv @ 7557 NONAME - _ZNK11QMainWindow10isAnimatedEv @ 7558 NONAME - _ZNK11QMainWindow10menuWidgetEv @ 7559 NONAME - _ZNK11QMainWindow10metaObjectEv @ 7560 NONAME - _ZNK11QMainWindow11dockOptionsEv @ 7561 NONAME - _ZNK11QMainWindow11isSeparatorERK6QPoint @ 7562 NONAME - _ZNK11QMainWindow11tabPositionEN2Qt14DockWidgetAreaE @ 7563 NONAME - _ZNK11QMainWindow11toolBarAreaEP8QToolBar @ 7564 NONAME - _ZNK11QMainWindow12documentModeEv @ 7565 NONAME - _ZNK11QMainWindow12toolBarBreakEP8QToolBar @ 7566 NONAME - _ZNK11QMainWindow13centralWidgetEv @ 7567 NONAME - _ZNK11QMainWindow14dockWidgetAreaEP11QDockWidget @ 7568 NONAME - _ZNK11QMainWindow15toolButtonStyleEv @ 7569 NONAME - _ZNK11QMainWindow19tabifiedDockWidgetsEP11QDockWidget @ 7570 NONAME - _ZNK11QMainWindow20isDockNestingEnabledEv @ 7571 NONAME - _ZNK11QMainWindow27unifiedTitleAndToolBarOnMacEv @ 7572 NONAME - _ZNK11QMainWindow6cornerEN2Qt6CornerE @ 7573 NONAME - _ZNK11QMainWindow7menuBarEv @ 7574 NONAME - _ZNK11QMainWindow8iconSizeEv @ 7575 NONAME - _ZNK11QMainWindow8tabShapeEv @ 7576 NONAME - _ZNK11QMainWindow9saveStateEi @ 7577 NONAME - _ZNK11QMainWindow9statusBarEv @ 7578 NONAME - _ZNK11QMessageBox10buttonRoleEP15QAbstractButton @ 7579 NONAME - _ZNK11QMessageBox10buttonTextEi @ 7580 NONAME - _ZNK11QMessageBox10iconPixmapEv @ 7581 NONAME - _ZNK11QMessageBox10metaObjectEv @ 7582 NONAME - _ZNK11QMessageBox10textFormatEv @ 7583 NONAME - _ZNK11QMessageBox12detailedTextEv @ 7584 NONAME - _ZNK11QMessageBox12escapeButtonEv @ 7585 NONAME - _ZNK11QMessageBox13clickedButtonEv @ 7586 NONAME - _ZNK11QMessageBox13defaultButtonEv @ 7587 NONAME - _ZNK11QMessageBox14standardButtonEP15QAbstractButton @ 7588 NONAME - _ZNK11QMessageBox15informativeTextEv @ 7589 NONAME - _ZNK11QMessageBox15standardButtonsEv @ 7590 NONAME - _ZNK11QMessageBox4iconEv @ 7591 NONAME - _ZNK11QMessageBox4textEv @ 7592 NONAME - _ZNK11QMessageBox6buttonENS_14StandardButtonE @ 7593 NONAME - _ZNK11QMessageBox7buttonsEv @ 7594 NONAME - _ZNK11QMessageBox8sizeHintEv @ 7595 NONAME - _ZNK11QMimeSource8providesEPKc @ 7596 NONAME - _ZNK11QMouseEvent4posFEv @ 7597 NONAME - _ZNK11QPixmapData11transformedERK10QTransformN2Qt18TransformationModeE @ 7598 NONAME - _ZNK11QPixmapData12alphaChannelEv @ 7599 NONAME - _ZNK11QPixmapData4maskEv @ 7600 NONAME - _ZNK11QProxyModel10headerDataEiN2Qt11OrientationEi @ 7601 NONAME - _ZNK11QProxyModel10metaObjectEv @ 7602 NONAME - _ZNK11QProxyModel11columnCountERK11QModelIndex @ 7603 NONAME - _ZNK11QProxyModel11hasChildrenERK11QModelIndex @ 7604 NONAME - _ZNK11QProxyModel13setProxyModelERK11QModelIndex @ 7605 NONAME - _ZNK11QProxyModel14connectToModelEPK18QAbstractItemModel @ 7606 NONAME - _ZNK11QProxyModel14setSourceModelERK11QModelIndex @ 7607 NONAME - _ZNK11QProxyModel19disconnectFromModelEPK18QAbstractItemModel @ 7608 NONAME - _ZNK11QProxyModel20supportedDropActionsEv @ 7609 NONAME - _ZNK11QProxyModel4dataERK11QModelIndexi @ 7610 NONAME - _ZNK11QProxyModel4spanERK11QModelIndex @ 7611 NONAME - _ZNK11QProxyModel5flagsERK11QModelIndex @ 7612 NONAME - _ZNK11QProxyModel5indexEiiRK11QModelIndex @ 7613 NONAME - _ZNK11QProxyModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 7614 NONAME - _ZNK11QProxyModel5modelEv @ 7615 NONAME - _ZNK11QProxyModel6parentERK11QModelIndex @ 7616 NONAME - _ZNK11QProxyModel8mimeDataERK5QListI11QModelIndexE @ 7617 NONAME - _ZNK11QProxyModel8rowCountERK11QModelIndex @ 7618 NONAME - _ZNK11QProxyModel9mimeTypesEv @ 7619 NONAME - _ZNK11QPushButton10metaObjectEv @ 7620 NONAME - _ZNK11QPushButton11autoDefaultEv @ 7621 NONAME - _ZNK11QPushButton15initStyleOptionEP18QStyleOptionButton @ 7622 NONAME - _ZNK11QPushButton15minimumSizeHintEv @ 7623 NONAME - _ZNK11QPushButton4menuEv @ 7624 NONAME - _ZNK11QPushButton6isFlatEv @ 7625 NONAME - _ZNK11QPushButton8sizeHintEv @ 7626 NONAME - _ZNK11QPushButton9isDefaultEv @ 7627 NONAME - _ZNK11QRubberBand10metaObjectEv @ 7628 NONAME - _ZNK11QRubberBand15initStyleOptionEP22QStyleOptionRubberBand @ 7629 NONAME - _ZNK11QRubberBand5shapeEv @ 7630 NONAME - _ZNK11QScrollArea10metaObjectEv @ 7631 NONAME - _ZNK11QScrollArea15widgetResizableEv @ 7632 NONAME - _ZNK11QScrollArea6widgetEv @ 7633 NONAME - _ZNK11QScrollArea8sizeHintEv @ 7634 NONAME - _ZNK11QScrollArea9alignmentEv @ 7635 NONAME - _ZNK11QSizePolicy11controlTypeEv @ 7636 NONAME - _ZNK11QSizePolicycv8QVariantEv @ 7637 NONAME - _ZNK11QSpacerItem11maximumSizeEv @ 7638 NONAME - _ZNK11QSpacerItem11minimumSizeEv @ 7639 NONAME - _ZNK11QSpacerItem19expandingDirectionsEv @ 7640 NONAME - _ZNK11QSpacerItem7isEmptyEv @ 7641 NONAME - _ZNK11QSpacerItem8geometryEv @ 7642 NONAME - _ZNK11QSpacerItem8sizeHintEv @ 7643 NONAME - _ZNK11QTextCursor10atBlockEndEv @ 7644 NONAME - _ZNK11QTextCursor10charFormatEv @ 7645 NONAME - _ZNK11QTextCursor11blockFormatEv @ 7646 NONAME - _ZNK11QTextCursor11blockNumberEv @ 7647 NONAME - _ZNK11QTextCursor11currentListEv @ 7648 NONAME - _ZNK11QTextCursor12atBlockStartEv @ 7649 NONAME - _ZNK11QTextCursor12columnNumberEv @ 7650 NONAME - _ZNK11QTextCursor12currentFrameEv @ 7651 NONAME - _ZNK11QTextCursor12currentTableEv @ 7652 NONAME - _ZNK11QTextCursor12hasSelectionEv @ 7653 NONAME - _ZNK11QTextCursor12selectedTextEv @ 7654 NONAME - _ZNK11QTextCursor12selectionEndEv @ 7655 NONAME - _ZNK11QTextCursor14selectionStartEv @ 7656 NONAME - _ZNK11QTextCursor15blockCharFormatEv @ 7657 NONAME - _ZNK11QTextCursor16visualNavigationEv @ 7658 NONAME - _ZNK11QTextCursor18selectedTableCellsEPiS0_S0_S0_ @ 7659 NONAME - _ZNK11QTextCursor19hasComplexSelectionEv @ 7660 NONAME - _ZNK11QTextCursor5atEndEv @ 7661 NONAME - _ZNK11QTextCursor5blockEv @ 7662 NONAME - _ZNK11QTextCursor6anchorEv @ 7663 NONAME - _ZNK11QTextCursor6isNullEv @ 7664 NONAME - _ZNK11QTextCursor7atStartEv @ 7665 NONAME - _ZNK11QTextCursor8documentEv @ 7666 NONAME - _ZNK11QTextCursor8isCopyOfERKS_ @ 7667 NONAME - _ZNK11QTextCursor8positionEv @ 7668 NONAME - _ZNK11QTextCursor9selectionEv @ 7669 NONAME - _ZNK11QTextCursoreqERKS_ @ 7670 NONAME - _ZNK11QTextCursorgeERKS_ @ 7671 NONAME - _ZNK11QTextCursorgtERKS_ @ 7672 NONAME - _ZNK11QTextCursorleERKS_ @ 7673 NONAME - _ZNK11QTextCursorltERKS_ @ 7674 NONAME - _ZNK11QTextCursorneERKS_ @ 7675 NONAME - _ZNK11QTextEngine10attributesEv @ 7676 NONAME - _ZNK11QTextEngine10elidedTextEN2Qt13TextElideModeERK6QFixedi @ 7677 NONAME - _ZNK11QTextEngine10fontEngineERK11QScriptItemP6QFixedS4_ @ 7678 NONAME - _ZNK11QTextEngine11boundingBoxEii @ 7679 NONAME - _ZNK11QTextEngine11formatIndexEPK11QScriptItem @ 7680 NONAME - _ZNK11QTextEngine11setBoundaryEi @ 7681 NONAME - _ZNK11QTextEngine15atWordSeparatorEi @ 7682 NONAME - _ZNK11QTextEngine16tightBoundingBoxEii @ 7683 NONAME - _ZNK11QTextEngine17calculateTabWidthEi6QFixed @ 7684 NONAME - _ZNK11QTextEngine21addRequiredBoundariesEv @ 7685 NONAME - _ZNK11QTextEngine21shapeTextWithHarfbuzzEi @ 7686 NONAME - _ZNK11QTextEngine24resolveAdditionalFormatsEv @ 7687 NONAME - _ZNK11QTextEngine4fontERK11QScriptItem @ 7688 NONAME - _ZNK11QTextEngine5shapeEi @ 7689 NONAME - _ZNK11QTextEngine5widthEii @ 7690 NONAME - _ZNK11QTextEngine6formatEPK11QScriptItem @ 7691 NONAME - _ZNK11QTextEngine7atSpaceEi @ 7692 NONAME - _ZNK11QTextEngine7itemizeEv @ 7693 NONAME - _ZNK11QTextEngine8findItemEi @ 7694 NONAME - _ZNK11QTextEngine8validateEv @ 7695 NONAME - _ZNK11QTextEngine9shapeTextEi @ 7696 NONAME - _ZNK11QTextEngine9splitItemEii @ 7697 NONAME - _ZNK11QTextFormat10propertiesEv @ 7698 NONAME - _ZNK11QTextFormat11hasPropertyEi @ 7699 NONAME - _ZNK11QTextFormat11intPropertyEi @ 7700 NONAME - _ZNK11QTextFormat11objectIndexEv @ 7701 NONAME - _ZNK11QTextFormat11penPropertyEi @ 7702 NONAME - _ZNK11QTextFormat12boolPropertyEi @ 7703 NONAME - _ZNK11QTextFormat12toCharFormatEv @ 7704 NONAME - _ZNK11QTextFormat12toListFormatEv @ 7705 NONAME - _ZNK11QTextFormat13brushPropertyEi @ 7706 NONAME - _ZNK11QTextFormat13colorPropertyEi @ 7707 NONAME - _ZNK11QTextFormat13propertyCountEv @ 7708 NONAME - _ZNK11QTextFormat13toBlockFormatEv @ 7709 NONAME - _ZNK11QTextFormat13toFrameFormatEv @ 7710 NONAME - _ZNK11QTextFormat13toImageFormatEv @ 7711 NONAME - _ZNK11QTextFormat13toTableFormatEv @ 7712 NONAME - _ZNK11QTextFormat14doublePropertyEi @ 7713 NONAME - _ZNK11QTextFormat14lengthPropertyEi @ 7714 NONAME - _ZNK11QTextFormat14stringPropertyEi @ 7715 NONAME - _ZNK11QTextFormat17toTableCellFormatEv @ 7716 NONAME - _ZNK11QTextFormat20lengthVectorPropertyEi @ 7717 NONAME - _ZNK11QTextFormat4typeEv @ 7718 NONAME - _ZNK11QTextFormat8propertyEi @ 7719 NONAME - _ZNK11QTextFormatcv8QVariantEv @ 7720 NONAME - _ZNK11QTextFormateqERKS_ @ 7721 NONAME - _ZNK11QTextLayout10drawCursorEP8QPainterRK7QPointFi @ 7722 NONAME - _ZNK11QTextLayout10drawCursorEP8QPainterRK7QPointFii @ 7723 NONAME - _ZNK11QTextLayout10textOptionEv @ 7724 NONAME - _ZNK11QTextLayout12boundingRectEv @ 7725 NONAME - _ZNK11QTextLayout12cacheEnabledEv @ 7726 NONAME - _ZNK11QTextLayout12maximumWidthEv @ 7727 NONAME - _ZNK11QTextLayout12minimumWidthEv @ 7728 NONAME - _ZNK11QTextLayout15preeditAreaTextEv @ 7729 NONAME - _ZNK11QTextLayout17additionalFormatsEv @ 7730 NONAME - _ZNK11QTextLayout18nextCursorPositionEiNS_10CursorModeE @ 7731 NONAME - _ZNK11QTextLayout19lineForTextPositionEi @ 7732 NONAME - _ZNK11QTextLayout19preeditAreaPositionEv @ 7733 NONAME - _ZNK11QTextLayout21isValidCursorPositionEi @ 7734 NONAME - _ZNK11QTextLayout22previousCursorPositionEiNS_10CursorModeE @ 7735 NONAME - _ZNK11QTextLayout4drawEP8QPainterRK7QPointFRK7QVectorINS_11FormatRangeEERK6QRectF @ 7736 NONAME - _ZNK11QTextLayout4fontEv @ 7737 NONAME - _ZNK11QTextLayout4textEv @ 7738 NONAME - _ZNK11QTextLayout6lineAtEi @ 7739 NONAME - _ZNK11QTextLayout8positionEv @ 7740 NONAME - _ZNK11QTextLayout9lineCountEv @ 7741 NONAME - _ZNK11QTextLengthcv8QVariantEv @ 7742 NONAME - _ZNK11QTextObject10metaObjectEv @ 7743 NONAME - _ZNK11QTextObject11formatIndexEv @ 7744 NONAME - _ZNK11QTextObject11objectIndexEv @ 7745 NONAME - _ZNK11QTextObject6formatEv @ 7746 NONAME - _ZNK11QTextObject8documentEv @ 7747 NONAME - _ZNK11QTextObject9docHandleEv @ 7748 NONAME - _ZNK11QTextOption4tabsEv @ 7749 NONAME - _ZNK11QTextOption8tabArrayEv @ 7750 NONAME - _ZNK11QToolButton10metaObjectEv @ 7751 NONAME - _ZNK11QToolButton13defaultActionEv @ 7752 NONAME - _ZNK11QToolButton15initStyleOptionEP22QStyleOptionToolButton @ 7753 NONAME - _ZNK11QToolButton15minimumSizeHintEv @ 7754 NONAME - _ZNK11QToolButton15toolButtonStyleEv @ 7755 NONAME - _ZNK11QToolButton4menuEv @ 7756 NONAME - _ZNK11QToolButton8sizeHintEv @ 7757 NONAME - _ZNK11QToolButton9arrowTypeEv @ 7758 NONAME - _ZNK11QToolButton9autoRaiseEv @ 7759 NONAME - _ZNK11QToolButton9hitButtonERK6QPoint @ 7760 NONAME - _ZNK11QToolButton9popupModeEv @ 7761 NONAME - _ZNK11QTreeWidget10headerItemEv @ 7762 NONAME - _ZNK11QTreeWidget10itemWidgetEP15QTreeWidgetItemi @ 7763 NONAME - _ZNK11QTreeWidget10metaObjectEv @ 7764 NONAME - _ZNK11QTreeWidget10sortColumnEv @ 7765 NONAME - _ZNK11QTreeWidget11columnCountEv @ 7766 NONAME - _ZNK11QTreeWidget11currentItemEv @ 7767 NONAME - _ZNK11QTreeWidget12isItemHiddenEPK15QTreeWidgetItem @ 7768 NONAME - _ZNK11QTreeWidget12topLevelItemEi @ 7769 NONAME - _ZNK11QTreeWidget13currentColumnEv @ 7770 NONAME - _ZNK11QTreeWidget13indexFromItemEP15QTreeWidgetItemi @ 7771 NONAME - _ZNK11QTreeWidget13itemFromIndexERK11QModelIndex @ 7772 NONAME - _ZNK11QTreeWidget13selectedItemsEv @ 7773 NONAME - _ZNK11QTreeWidget14isItemExpandedEPK15QTreeWidgetItem @ 7774 NONAME - _ZNK11QTreeWidget14isItemSelectedEPK15QTreeWidgetItem @ 7775 NONAME - _ZNK11QTreeWidget14visualItemRectEPK15QTreeWidgetItem @ 7776 NONAME - _ZNK11QTreeWidget16isSortingEnabledEv @ 7777 NONAME - _ZNK11QTreeWidget17invisibleRootItemEv @ 7778 NONAME - _ZNK11QTreeWidget17topLevelItemCountEv @ 7779 NONAME - _ZNK11QTreeWidget19indexOfTopLevelItemEP15QTreeWidgetItem @ 7780 NONAME - _ZNK11QTreeWidget20supportedDropActionsEv @ 7781 NONAME - _ZNK11QTreeWidget24isFirstItemColumnSpannedEPK15QTreeWidgetItem @ 7782 NONAME - _ZNK11QTreeWidget5itemsEPK9QMimeData @ 7783 NONAME - _ZNK11QTreeWidget6itemAtERK6QPoint @ 7784 NONAME - _ZNK11QTreeWidget8mimeDataE5QListIP15QTreeWidgetItemE @ 7785 NONAME - _ZNK11QTreeWidget9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEEi @ 7786 NONAME - _ZNK11QTreeWidget9itemAboveEPK15QTreeWidgetItem @ 7787 NONAME - _ZNK11QTreeWidget9itemBelowEPK15QTreeWidgetItem @ 7788 NONAME - _ZNK11QTreeWidget9mimeTypesEv @ 7789 NONAME - _ZNK11QVBoxLayout10metaObjectEv @ 7790 NONAME - _ZNK11QVectorPath16controlPointRectEv @ 7791 NONAME - _ZNK11QWidgetItem11maximumSizeEv @ 7792 NONAME - _ZNK11QWidgetItem11minimumSizeEv @ 7793 NONAME - _ZNK11QWidgetItem14heightForWidthEi @ 7794 NONAME - _ZNK11QWidgetItem17hasHeightForWidthEv @ 7795 NONAME - _ZNK11QWidgetItem19expandingDirectionsEv @ 7796 NONAME - _ZNK11QWidgetItem7isEmptyEv @ 7797 NONAME - _ZNK11QWidgetItem8geometryEv @ 7798 NONAME - _ZNK11QWidgetItem8sizeHintEv @ 7799 NONAME - _ZNK11QWingedEdge16findInsertStatusEii @ 7800 NONAME - _ZNK11QWingedEdge4nextERKNS_15TraversalStatusE @ 7801 NONAME - _ZNK11QWingedEdge5deltaEiii @ 7802 NONAME - _ZNK11QWingedEdge6toPathEv @ 7803 NONAME - _ZNK11QWingedEdge8isInsideEff @ 7804 NONAME - _ZNK11QWizardPage10buttonTextEN7QWizard12WizardButtonE @ 7805 NONAME - _ZNK11QWizardPage10isCompleteEv @ 7806 NONAME - _ZNK11QWizardPage10metaObjectEv @ 7807 NONAME - _ZNK11QWizardPage11isFinalPageEv @ 7808 NONAME - _ZNK11QWizardPage12isCommitPageEv @ 7809 NONAME - _ZNK11QWizardPage5fieldERK7QString @ 7810 NONAME - _ZNK11QWizardPage5titleEv @ 7811 NONAME - _ZNK11QWizardPage6nextIdEv @ 7812 NONAME - _ZNK11QWizardPage6pixmapEN7QWizard12WizardPixmapE @ 7813 NONAME - _ZNK11QWizardPage6wizardEv @ 7814 NONAME - _ZNK11QWizardPage8subTitleEv @ 7815 NONAME - _ZNK12QActionGroup10metaObjectEv @ 7816 NONAME - _ZNK12QActionGroup11isExclusiveEv @ 7817 NONAME - _ZNK12QActionGroup13checkedActionEv @ 7818 NONAME - _ZNK12QActionGroup7actionsEv @ 7819 NONAME - _ZNK12QActionGroup9isEnabledEv @ 7820 NONAME - _ZNK12QActionGroup9isVisibleEv @ 7821 NONAME - _ZNK12QApplication10metaObjectEv @ 7822 NONAME - _ZNK12QApplication10sessionKeyEv @ 7823 NONAME - _ZNK12QApplication10styleSheetEv @ 7824 NONAME - _ZNK12QApplication12inputContextEv @ 7825 NONAME - _ZNK12QApplication14autoSipEnabledEv @ 7826 NONAME - _ZNK12QApplication17isSessionRestoredEv @ 7827 NONAME - _ZNK12QApplication9sessionIdEv @ 7828 NONAME - _ZNK12QButtonGroup10metaObjectEv @ 7829 NONAME - _ZNK12QButtonGroup13checkedButtonEv @ 7830 NONAME - _ZNK12QButtonGroup2idEP15QAbstractButton @ 7831 NONAME - _ZNK12QButtonGroup6buttonEi @ 7832 NONAME - _ZNK12QButtonGroup7buttonsEv @ 7833 NONAME - _ZNK12QButtonGroup9checkedIdEv @ 7834 NONAME - _ZNK12QButtonGroup9exclusiveEv @ 7835 NONAME - _ZNK12QColorDialog10metaObjectEv @ 7836 NONAME - _ZNK12QColorDialog10testOptionENS_17ColorDialogOptionE @ 7837 NONAME - _ZNK12QColorDialog12currentColorEv @ 7838 NONAME - _ZNK12QColorDialog13selectedColorEv @ 7839 NONAME - _ZNK12QColorDialog7optionsEv @ 7840 NONAME - _ZNK12QCommonStyle10metaObjectEv @ 7841 NONAME - _ZNK12QCommonStyle11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 7842 NONAME - _ZNK12QCommonStyle11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 7843 NONAME - _ZNK12QCommonStyle13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 7844 NONAME - _ZNK12QCommonStyle14standardPixmapEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 7845 NONAME - _ZNK12QCommonStyle14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget @ 7846 NONAME - _ZNK12QCommonStyle14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 7847 NONAME - _ZNK12QCommonStyle16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 7848 NONAME - _ZNK12QCommonStyle18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 7849 NONAME - _ZNK12QCommonStyle19generatedIconPixmapEN5QIcon4ModeERK7QPixmapPK12QStyleOption @ 7850 NONAME - _ZNK12QCommonStyle21hitTestComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexRK6QPointPK7QWidget @ 7851 NONAME - _ZNK12QCommonStyle26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 7852 NONAME - _ZNK12QCommonStyle9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 7853 NONAME - _ZNK12QDragManager10dragCursorEN2Qt10DropActionE @ 7854 NONAME ABSENT - _ZNK12QDragManager10metaObjectEv @ 7855 NONAME ABSENT - _ZNK12QDragManager13defaultActionE6QFlagsIN2Qt10DropActionEES0_INS1_16KeyboardModifierEE @ 7856 NONAME ABSENT - _ZNK12QDragManager20hasCustomDragCursorsEv @ 7857 NONAME ABSENT - _ZNK12QFontMetrics10elidedTextERK7QStringN2Qt13TextElideModeEii @ 7858 NONAME - _ZNK12QFontMetrics11leftBearingE5QChar @ 7859 NONAME - _ZNK12QFontMetrics11lineSpacingEv @ 7860 NONAME - _ZNK12QFontMetrics11overlinePosEv @ 7861 NONAME - _ZNK12QFontMetrics12boundingRectE5QChar @ 7862 NONAME - _ZNK12QFontMetrics12boundingRectERK5QRectiRK7QStringiPi @ 7863 NONAME - _ZNK12QFontMetrics12boundingRectERK7QString @ 7864 NONAME - _ZNK12QFontMetrics12rightBearingE5QChar @ 7865 NONAME - _ZNK12QFontMetrics12strikeOutPosEv @ 7866 NONAME - _ZNK12QFontMetrics12underlinePosEv @ 7867 NONAME - _ZNK12QFontMetrics14minLeftBearingEv @ 7868 NONAME - _ZNK12QFontMetrics15minRightBearingEv @ 7869 NONAME - _ZNK12QFontMetrics16averageCharWidthEv @ 7870 NONAME - _ZNK12QFontMetrics17tightBoundingRectERK7QString @ 7871 NONAME - _ZNK12QFontMetrics4sizeEiRK7QStringiPi @ 7872 NONAME - _ZNK12QFontMetrics5widthE5QChar @ 7873 NONAME - _ZNK12QFontMetrics5widthERK7QStringi @ 7874 NONAME - _ZNK12QFontMetrics6ascentEv @ 7875 NONAME - _ZNK12QFontMetrics6heightEv @ 7876 NONAME - _ZNK12QFontMetrics6inFontE5QChar @ 7877 NONAME - _ZNK12QFontMetrics7descentEv @ 7878 NONAME - _ZNK12QFontMetrics7leadingEv @ 7879 NONAME - _ZNK12QFontMetrics7xHeightEv @ 7880 NONAME - _ZNK12QFontMetrics8maxWidthEv @ 7881 NONAME - _ZNK12QFontMetrics9charWidthERK7QStringi @ 7882 NONAME - _ZNK12QFontMetrics9lineWidthEv @ 7883 NONAME - _ZNK12QFontMetricseqERKS_ @ 7884 NONAME - _ZNK12QFontPrivate15engineForScriptEi @ 7885 NONAME - _ZNK12QFontPrivate20smallCapsFontPrivateEv @ 7886 NONAME - _ZNK12QFontPrivate26alterCharForCapitalizationER5QChar @ 7887 NONAME - _ZNK12QImageReader10imageCountEv @ 7888 NONAME - _ZNK12QImageReader10scaledSizeEv @ 7889 NONAME - _ZNK12QImageReader11errorStringEv @ 7890 NONAME - _ZNK12QImageReader11imageFormatEv @ 7891 NONAME - _ZNK12QImageReader14nextImageDelayEv @ 7892 NONAME - _ZNK12QImageReader14scaledClipRectEv @ 7893 NONAME - _ZNK12QImageReader14supportsOptionEN15QImageIOHandler11ImageOptionE @ 7894 NONAME - _ZNK12QImageReader15backgroundColorEv @ 7895 NONAME - _ZNK12QImageReader16currentImageRectEv @ 7896 NONAME - _ZNK12QImageReader17supportsAnimationEv @ 7897 NONAME - _ZNK12QImageReader18currentImageNumberEv @ 7898 NONAME - _ZNK12QImageReader21autoDetectImageFormatEv @ 7899 NONAME - _ZNK12QImageReader4sizeEv @ 7900 NONAME - _ZNK12QImageReader4textERK7QString @ 7901 NONAME - _ZNK12QImageReader5errorEv @ 7902 NONAME - _ZNK12QImageReader6deviceEv @ 7903 NONAME - _ZNK12QImageReader6formatEv @ 7904 NONAME - _ZNK12QImageReader7canReadEv @ 7905 NONAME - _ZNK12QImageReader7qualityEv @ 7906 NONAME - _ZNK12QImageReader8clipRectEv @ 7907 NONAME - _ZNK12QImageReader8fileNameEv @ 7908 NONAME - _ZNK12QImageReader8textKeysEv @ 7909 NONAME - _ZNK12QImageReader9loopCountEv @ 7910 NONAME - _ZNK12QImageWriter11compressionEv @ 7911 NONAME - _ZNK12QImageWriter11descriptionEv @ 7912 NONAME - _ZNK12QImageWriter11errorStringEv @ 7913 NONAME - _ZNK12QImageWriter14supportsOptionEN15QImageIOHandler11ImageOptionE @ 7914 NONAME - _ZNK12QImageWriter5errorEv @ 7915 NONAME - _ZNK12QImageWriter5gammaEv @ 7916 NONAME - _ZNK12QImageWriter6deviceEv @ 7917 NONAME - _ZNK12QImageWriter6formatEv @ 7918 NONAME - _ZNK12QImageWriter7qualityEv @ 7919 NONAME - _ZNK12QImageWriter8canWriteEv @ 7920 NONAME - _ZNK12QImageWriter8fileNameEv @ 7921 NONAME - _ZNK12QInputDialog10intMaximumEv @ 7922 NONAME - _ZNK12QInputDialog10intMinimumEv @ 7923 NONAME - _ZNK12QInputDialog10metaObjectEv @ 7924 NONAME - _ZNK12QInputDialog10testOptionENS_17InputDialogOptionE @ 7925 NONAME - _ZNK12QInputDialog11doubleValueEv @ 7926 NONAME - _ZNK12QInputDialog12okButtonTextEv @ 7927 NONAME - _ZNK12QInputDialog12textEchoModeEv @ 7928 NONAME - _ZNK12QInputDialog13comboBoxItemsEv @ 7929 NONAME - _ZNK12QInputDialog13doubleMaximumEv @ 7930 NONAME - _ZNK12QInputDialog13doubleMinimumEv @ 7931 NONAME - _ZNK12QInputDialog14doubleDecimalsEv @ 7932 NONAME - _ZNK12QInputDialog15minimumSizeHintEv @ 7933 NONAME - _ZNK12QInputDialog16cancelButtonTextEv @ 7934 NONAME - _ZNK12QInputDialog18isComboBoxEditableEv @ 7935 NONAME - _ZNK12QInputDialog7intStepEv @ 7936 NONAME - _ZNK12QInputDialog7optionsEv @ 7937 NONAME - _ZNK12QInputDialog8intValueEv @ 7938 NONAME - _ZNK12QInputDialog8sizeHintEv @ 7939 NONAME - _ZNK12QInputDialog9inputModeEv @ 7940 NONAME - _ZNK12QInputDialog9labelTextEv @ 7941 NONAME - _ZNK12QInputDialog9textValueEv @ 7942 NONAME - _ZNK12QKeySequence10isDetachedEv @ 7943 NONAME - _ZNK12QKeySequence5countEv @ 7944 NONAME - _ZNK12QKeySequence7isEmptyEv @ 7945 NONAME - _ZNK12QKeySequence7matchesERKS_ @ 7946 NONAME - _ZNK12QKeySequence8toStringENS_14SequenceFormatE @ 7947 NONAME - _ZNK12QKeySequencecv7QStringEv @ 7948 NONAME - _ZNK12QKeySequencecv8QVariantEv @ 7949 NONAME - _ZNK12QKeySequencecviEv @ 7950 NONAME - _ZNK12QKeySequenceeqERKS_ @ 7951 NONAME - _ZNK12QKeySequenceixEj @ 7952 NONAME - _ZNK12QKeySequenceltERKS_ @ 7953 NONAME - _ZNK12QPaintDevice6metricENS_17PaintDeviceMetricE @ 7954 NONAME - _ZNK12QPaintEngine10systemClipEv @ 7955 NONAME - _ZNK12QPaintEngine10systemRectEv @ 7956 NONAME - _ZNK12QPaintEngine11paintDeviceEv @ 7957 NONAME - _ZNK12QPaintEngine16coordinateOffsetEv @ 7958 NONAME - _ZNK12QPaintEngine7painterEv @ 7959 NONAME - _ZNK12QPainterPath10intersectsERK6QRectF @ 7960 NONAME - _ZNK12QPainterPath10intersectsERKS_ @ 7961 NONAME - _ZNK12QPainterPath10simplifiedEv @ 7962 NONAME - _ZNK12QPainterPath10subtractedERKS_ @ 7963 NONAME - _ZNK12QPainterPath10toReversedEv @ 7964 NONAME - _ZNK12QPainterPath11intersectedERKS_ @ 7965 NONAME - _ZNK12QPainterPath12boundingRectEv @ 7966 NONAME - _ZNK12QPainterPath13toFillPolygonERK10QTransform @ 7967 NONAME - _ZNK12QPainterPath13toFillPolygonERK7QMatrix @ 7968 NONAME - _ZNK12QPainterPath14angleAtPercentEf @ 7969 NONAME - _ZNK12QPainterPath14pointAtPercentEf @ 7970 NONAME - _ZNK12QPainterPath14slopeAtPercentEf @ 7971 NONAME - _ZNK12QPainterPath14toFillPolygonsERK10QTransform @ 7972 NONAME - _ZNK12QPainterPath14toFillPolygonsERK7QMatrix @ 7973 NONAME - _ZNK12QPainterPath15currentPositionEv @ 7974 NONAME - _ZNK12QPainterPath15percentAtLengthEf @ 7975 NONAME - _ZNK12QPainterPath16controlPointRectEv @ 7976 NONAME - _ZNK12QPainterPath17toSubpathPolygonsERK10QTransform @ 7977 NONAME - _ZNK12QPainterPath17toSubpathPolygonsERK7QMatrix @ 7978 NONAME - _ZNK12QPainterPath18subtractedInvertedERKS_ @ 7979 NONAME - _ZNK12QPainterPath19computeBoundingRectEv @ 7980 NONAME - _ZNK12QPainterPath23computeControlPointRectEv @ 7981 NONAME - _ZNK12QPainterPath6lengthEv @ 7982 NONAME - _ZNK12QPainterPath6unitedERKS_ @ 7983 NONAME - _ZNK12QPainterPath8containsERK6QRectF @ 7984 NONAME - _ZNK12QPainterPath8containsERK7QPointF @ 7985 NONAME - _ZNK12QPainterPath8containsERKS_ @ 7986 NONAME - _ZNK12QPainterPath8fillRuleEv @ 7987 NONAME - _ZNK12QPainterPathanERKS_ @ 7988 NONAME - _ZNK12QPainterPatheqERKS_ @ 7989 NONAME - _ZNK12QPainterPathmiERKS_ @ 7990 NONAME - _ZNK12QPainterPathneERKS_ @ 7991 NONAME - _ZNK12QPainterPathorERKS_ @ 7992 NONAME - _ZNK12QPainterPathplERKS_ @ 7993 NONAME - _ZNK12QProgressBar10metaObjectEv @ 7994 NONAME - _ZNK12QProgressBar11orientationEv @ 7995 NONAME - _ZNK12QProgressBar13isTextVisibleEv @ 7996 NONAME - _ZNK12QProgressBar15initStyleOptionEP23QStyleOptionProgressBar @ 7997 NONAME - _ZNK12QProgressBar15minimumSizeHintEv @ 7998 NONAME - _ZNK12QProgressBar4textEv @ 7999 NONAME - _ZNK12QProgressBar5valueEv @ 8000 NONAME - _ZNK12QProgressBar6formatEv @ 8001 NONAME - _ZNK12QProgressBar7maximumEv @ 8002 NONAME - _ZNK12QProgressBar7minimumEv @ 8003 NONAME - _ZNK12QProgressBar8sizeHintEv @ 8004 NONAME - _ZNK12QProgressBar9alignmentEv @ 8005 NONAME - _ZNK12QRadioButton10metaObjectEv @ 8006 NONAME - _ZNK12QRadioButton15initStyleOptionEP18QStyleOptionButton @ 8007 NONAME - _ZNK12QRadioButton8sizeHintEv @ 8008 NONAME - _ZNK12QRadioButton9hitButtonERK6QPoint @ 8009 NONAME - _ZNK12QStylePlugin10metaObjectEv @ 8010 NONAME - _ZNK12QTableWidget10cellWidgetEii @ 8011 NONAME - _ZNK12QTableWidget10currentRowEv @ 8012 NONAME - _ZNK12QTableWidget10metaObjectEv @ 8013 NONAME - _ZNK12QTableWidget11columnCountEv @ 8014 NONAME - _ZNK12QTableWidget11currentItemEv @ 8015 NONAME - _ZNK12QTableWidget12visualColumnEi @ 8016 NONAME - _ZNK12QTableWidget13currentColumnEv @ 8017 NONAME - _ZNK12QTableWidget13indexFromItemEP16QTableWidgetItem @ 8018 NONAME - _ZNK12QTableWidget13itemFromIndexERK11QModelIndex @ 8019 NONAME - _ZNK12QTableWidget13itemPrototypeEv @ 8020 NONAME - _ZNK12QTableWidget14isItemSelectedEPK16QTableWidgetItem @ 8021 NONAME - _ZNK12QTableWidget14selectedRangesEv @ 8022 NONAME - _ZNK12QTableWidget14visualItemRectEPK16QTableWidgetItem @ 8023 NONAME - _ZNK12QTableWidget16isSortingEnabledEv @ 8024 NONAME - _ZNK12QTableWidget18verticalHeaderItemEi @ 8025 NONAME - _ZNK12QTableWidget20horizontalHeaderItemEi @ 8026 NONAME - _ZNK12QTableWidget20supportedDropActionsEv @ 8027 NONAME - _ZNK12QTableWidget3rowEPK16QTableWidgetItem @ 8028 NONAME - _ZNK12QTableWidget4itemEii @ 8029 NONAME - _ZNK12QTableWidget5itemsEPK9QMimeData @ 8030 NONAME - _ZNK12QTableWidget6columnEPK16QTableWidgetItem @ 8031 NONAME - _ZNK12QTableWidget6itemAtERK6QPoint @ 8032 NONAME - _ZNK12QTableWidget8mimeDataE5QListIP16QTableWidgetItemE @ 8033 NONAME - _ZNK12QTableWidget8rowCountEv @ 8034 NONAME - _ZNK12QTableWidget9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEE @ 8035 NONAME - _ZNK12QTableWidget9mimeTypesEv @ 8036 NONAME - _ZNK12QTableWidget9visualRowEi @ 8037 NONAME - _ZNK12QTextBrowser10historyUrlEi @ 8038 NONAME - _ZNK12QTextBrowser10metaObjectEv @ 8039 NONAME - _ZNK12QTextBrowser11searchPathsEv @ 8040 NONAME - _ZNK12QTextBrowser12historyTitleEi @ 8041 NONAME - _ZNK12QTextBrowser17openExternalLinksEv @ 8042 NONAME - _ZNK12QTextBrowser18isForwardAvailableEv @ 8043 NONAME - _ZNK12QTextBrowser19forwardHistoryCountEv @ 8044 NONAME - _ZNK12QTextBrowser19isBackwardAvailableEv @ 8045 NONAME - _ZNK12QTextBrowser20backwardHistoryCountEv @ 8046 NONAME - _ZNK12QTextBrowser6sourceEv @ 8047 NONAME - _ZNK12QTextBrowser9openLinksEv @ 8048 NONAME - _ZNK12QTextControl10cursorRectERK11QTextCursor @ 8049 NONAME - _ZNK12QTextControl10cursorRectEv @ 8050 NONAME - _ZNK12QTextControl10metaObjectEv @ 8051 NONAME - _ZNK12QTextControl10textCursorEv @ 8052 NONAME - _ZNK12QTextControl11cursorWidthEv @ 8053 NONAME - _ZNK12QTextControl13overwriteModeEv @ 8054 NONAME - _ZNK12QTextControl13selectionRectERK11QTextCursor @ 8055 NONAME - _ZNK12QTextControl13selectionRectEv @ 8056 NONAME - _ZNK12QTextControl14acceptRichTextEv @ 8057 NONAME - _ZNK12QTextControl14anchorAtCursorEv @ 8058 NONAME - _ZNK12QTextControl14anchorPositionERK7QString @ 8059 NONAME - _ZNK12QTextControl15extraSelectionsEv @ 8060 NONAME - _ZNK12QTextControl15getPaintContextEP7QWidget @ 8061 NONAME - _ZNK12QTextControl16inputMethodQueryEN2Qt16InputMethodQueryE @ 8062 NONAME - _ZNK12QTextControl17blockBoundingRectERK10QTextBlock @ 8063 NONAME - _ZNK12QTextControl17currentCharFormatEv @ 8064 NONAME - _ZNK12QTextControl17cursorForPositionERK7QPointF @ 8065 NONAME - _ZNK12QTextControl17openExternalLinksEv @ 8066 NONAME - _ZNK12QTextControl20textInteractionFlagsEv @ 8067 NONAME - _ZNK12QTextControl21canInsertFromMimeDataEPK9QMimeData @ 8068 NONAME - _ZNK12QTextControl22cursorIsFocusIndicatorEv @ 8069 NONAME - _ZNK12QTextControl27createMimeDataFromSelectionEv @ 8070 NONAME - _ZNK12QTextControl4sizeEv @ 8071 NONAME - _ZNK12QTextControl7hitTestERK7QPointFN2Qt15HitTestAccuracyE @ 8072 NONAME - _ZNK12QTextControl7paletteEv @ 8073 NONAME - _ZNK12QTextControl8anchorAtERK7QPointF @ 8074 NONAME - _ZNK12QTextControl8canPasteEv @ 8075 NONAME - _ZNK12QTextControl8documentEv @ 8076 NONAME - _ZNK12QTextControl9textWidthEv @ 8077 NONAME - _ZNK12QToolBarItem7isEmptyEv @ 8078 NONAME ABSENT - _ZNK12QUndoCommand10childCountEv @ 8079 NONAME - _ZNK12QUndoCommand2idEv @ 8080 NONAME - _ZNK12QUndoCommand4textEv @ 8081 NONAME - _ZNK12QUndoCommand5childEi @ 8082 NONAME - _ZNK13QDateTimeEdit10metaObjectEv @ 8083 NONAME - _ZNK13QDateTimeEdit11maximumDateEv @ 8084 NONAME - _ZNK13QDateTimeEdit11maximumTimeEv @ 8085 NONAME - _ZNK13QDateTimeEdit11minimumDateEv @ 8086 NONAME - _ZNK13QDateTimeEdit11minimumTimeEv @ 8087 NONAME - _ZNK13QDateTimeEdit11sectionTextENS_7SectionE @ 8088 NONAME - _ZNK13QDateTimeEdit11stepEnabledEv @ 8089 NONAME - _ZNK13QDateTimeEdit12sectionCountEv @ 8090 NONAME - _ZNK13QDateTimeEdit13calendarPopupEv @ 8091 NONAME - _ZNK13QDateTimeEdit13displayFormatEv @ 8092 NONAME - _ZNK13QDateTimeEdit14calendarWidgetEv @ 8093 NONAME - _ZNK13QDateTimeEdit14currentSectionEv @ 8094 NONAME - _ZNK13QDateTimeEdit15initStyleOptionEP19QStyleOptionSpinBox @ 8095 NONAME - _ZNK13QDateTimeEdit15maximumDateTimeEv @ 8096 NONAME - _ZNK13QDateTimeEdit15minimumDateTimeEv @ 8097 NONAME - _ZNK13QDateTimeEdit16dateTimeFromTextERK7QString @ 8098 NONAME - _ZNK13QDateTimeEdit16textFromDateTimeERK9QDateTime @ 8099 NONAME - _ZNK13QDateTimeEdit17displayedSectionsEv @ 8100 NONAME - _ZNK13QDateTimeEdit19currentSectionIndexEv @ 8101 NONAME - _ZNK13QDateTimeEdit4dateEv @ 8102 NONAME - _ZNK13QDateTimeEdit4timeEv @ 8103 NONAME - _ZNK13QDateTimeEdit5fixupER7QString @ 8104 NONAME - _ZNK13QDateTimeEdit8dateTimeEv @ 8105 NONAME - _ZNK13QDateTimeEdit8sizeHintEv @ 8106 NONAME - _ZNK13QDateTimeEdit8timeSpecEv @ 8107 NONAME - _ZNK13QDateTimeEdit8validateER7QStringRi @ 8108 NONAME - _ZNK13QDateTimeEdit9sectionAtEi @ 8109 NONAME - _ZNK13QErrorMessage10metaObjectEv @ 8110 NONAME - _ZNK13QFontComboBox10metaObjectEv @ 8111 NONAME - _ZNK13QFontComboBox11currentFontEv @ 8112 NONAME - _ZNK13QFontComboBox11fontFiltersEv @ 8113 NONAME - _ZNK13QFontComboBox13writingSystemEv @ 8114 NONAME - _ZNK13QFontComboBox8sizeHintEv @ 8115 NONAME - _ZNK13QFontDatabase10isScalableERK7QStringS2_ @ 8116 NONAME - _ZNK13QFontDatabase12isFixedPitchERK7QStringS2_ @ 8117 NONAME - _ZNK13QFontDatabase14writingSystemsERK7QString @ 8118 NONAME - _ZNK13QFontDatabase14writingSystemsEv @ 8119 NONAME - _ZNK13QFontDatabase16isBitmapScalableERK7QStringS2_ @ 8120 NONAME - _ZNK13QFontDatabase18isSmoothlyScalableERK7QStringS2_ @ 8121 NONAME - _ZNK13QFontDatabase4boldERK7QStringS2_ @ 8122 NONAME - _ZNK13QFontDatabase4fontERK7QStringS2_i @ 8123 NONAME - _ZNK13QFontDatabase6italicERK7QStringS2_ @ 8124 NONAME - _ZNK13QFontDatabase6stylesERK7QString @ 8125 NONAME - _ZNK13QFontDatabase6weightERK7QStringS2_ @ 8126 NONAME - _ZNK13QFontDatabase8familiesENS_13WritingSystemE @ 8127 NONAME - _ZNK13QFontMetricsF10elidedTextERK7QStringN2Qt13TextElideModeEfi @ 8128 NONAME - _ZNK13QFontMetricsF11leftBearingE5QChar @ 8129 NONAME - _ZNK13QFontMetricsF11lineSpacingEv @ 8130 NONAME - _ZNK13QFontMetricsF11overlinePosEv @ 8131 NONAME - _ZNK13QFontMetricsF12boundingRectE5QChar @ 8132 NONAME - _ZNK13QFontMetricsF12boundingRectERK6QRectFiRK7QStringiPi @ 8133 NONAME - _ZNK13QFontMetricsF12boundingRectERK7QString @ 8134 NONAME - _ZNK13QFontMetricsF12rightBearingE5QChar @ 8135 NONAME - _ZNK13QFontMetricsF12strikeOutPosEv @ 8136 NONAME - _ZNK13QFontMetricsF12underlinePosEv @ 8137 NONAME - _ZNK13QFontMetricsF14minLeftBearingEv @ 8138 NONAME - _ZNK13QFontMetricsF15minRightBearingEv @ 8139 NONAME - _ZNK13QFontMetricsF16averageCharWidthEv @ 8140 NONAME - _ZNK13QFontMetricsF17tightBoundingRectERK7QString @ 8141 NONAME - _ZNK13QFontMetricsF4sizeEiRK7QStringiPi @ 8142 NONAME - _ZNK13QFontMetricsF5widthE5QChar @ 8143 NONAME - _ZNK13QFontMetricsF5widthERK7QString @ 8144 NONAME - _ZNK13QFontMetricsF6ascentEv @ 8145 NONAME - _ZNK13QFontMetricsF6heightEv @ 8146 NONAME - _ZNK13QFontMetricsF6inFontE5QChar @ 8147 NONAME - _ZNK13QFontMetricsF7descentEv @ 8148 NONAME - _ZNK13QFontMetricsF7leadingEv @ 8149 NONAME - _ZNK13QFontMetricsF7xHeightEv @ 8150 NONAME - _ZNK13QFontMetricsF8maxWidthEv @ 8151 NONAME - _ZNK13QFontMetricsF9lineWidthEv @ 8152 NONAME - _ZNK13QFontMetricsFeqERKS_ @ 8153 NONAME - _ZNK13QGraphicsItem10childItemsEv @ 8154 NONAME - _ZNK13QGraphicsItem10isObscuredERK6QRectF @ 8155 NONAME - _ZNK13QGraphicsItem10isObscuredEv @ 8156 NONAME - _ZNK13QGraphicsItem10isSelectedEv @ 8157 NONAME - _ZNK13QGraphicsItem10mapToSceneERK12QPainterPath @ 8158 NONAME - _ZNK13QGraphicsItem10mapToSceneERK6QRectF @ 8159 NONAME - _ZNK13QGraphicsItem10mapToSceneERK7QPointF @ 8160 NONAME - _ZNK13QGraphicsItem10mapToSceneERK9QPolygonF @ 8161 NONAME - _ZNK13QGraphicsItem10opaqueAreaEv @ 8162 NONAME - _ZNK13QGraphicsItem10parentItemEv @ 8163 NONAME - _ZNK13QGraphicsItem11acceptDropsEv @ 8164 NONAME - _ZNK13QGraphicsItem11isVisibleToEPKS_ @ 8165 NONAME - _ZNK13QGraphicsItem11mapFromItemEPKS_RK12QPainterPath @ 8166 NONAME - _ZNK13QGraphicsItem11mapFromItemEPKS_RK6QRectF @ 8167 NONAME - _ZNK13QGraphicsItem11mapFromItemEPKS_RK7QPointF @ 8168 NONAME - _ZNK13QGraphicsItem11mapFromItemEPKS_RK9QPolygonF @ 8169 NONAME - _ZNK13QGraphicsItem11mapToParentERK12QPainterPath @ 8170 NONAME - _ZNK13QGraphicsItem11mapToParentERK6QRectF @ 8171 NONAME - _ZNK13QGraphicsItem11mapToParentERK7QPointF @ 8172 NONAME - _ZNK13QGraphicsItem11mapToParentERK9QPolygonF @ 8173 NONAME - _ZNK13QGraphicsItem11sceneMatrixEv @ 8174 NONAME - _ZNK13QGraphicsItem12isAncestorOfEPKS_ @ 8175 NONAME - _ZNK13QGraphicsItem12isObscuredByEPKS_ @ 8176 NONAME - _ZNK13QGraphicsItem12isUnderMouseEv @ 8177 NONAME - _ZNK13QGraphicsItem12mapFromSceneERK12QPainterPath @ 8178 NONAME - _ZNK13QGraphicsItem12mapFromSceneERK6QRectF @ 8179 NONAME - _ZNK13QGraphicsItem12mapFromSceneERK7QPointF @ 8180 NONAME - _ZNK13QGraphicsItem12mapFromSceneERK9QPolygonF @ 8181 NONAME - _ZNK13QGraphicsItem12parentWidgetEv @ 8182 NONAME - _ZNK13QGraphicsItem12topLevelItemEv @ 8183 NONAME - _ZNK13QGraphicsItem13itemTransformEPKS_Pb @ 8184 NONAME - _ZNK13QGraphicsItem13mapFromParentERK12QPainterPath @ 8185 NONAME - _ZNK13QGraphicsItem13mapFromParentERK6QRectF @ 8186 NONAME - _ZNK13QGraphicsItem13mapFromParentERK7QPointF @ 8187 NONAME - _ZNK13QGraphicsItem13mapFromParentERK9QPolygonF @ 8188 NONAME - _ZNK13QGraphicsItem13mapRectToItemEPKS_RK6QRectF @ 8189 NONAME - _ZNK13QGraphicsItem14boundingRegionERK10QTransform @ 8190 NONAME - _ZNK13QGraphicsItem14collidingItemsEN2Qt17ItemSelectionModeE @ 8191 NONAME - _ZNK13QGraphicsItem14mapRectToSceneERK6QRectF @ 8192 NONAME - _ZNK13QGraphicsItem14sceneTransformEv @ 8193 NONAME - _ZNK13QGraphicsItem14topLevelWidgetEv @ 8194 NONAME - _ZNK13QGraphicsItem15deviceTransformERK10QTransform @ 8195 NONAME - _ZNK13QGraphicsItem15mapRectFromItemEPKS_RK6QRectF @ 8196 NONAME - _ZNK13QGraphicsItem15mapRectToParentERK6QRectF @ 8197 NONAME - _ZNK13QGraphicsItem16collidesWithItemEPKS_N2Qt17ItemSelectionModeE @ 8198 NONAME - _ZNK13QGraphicsItem16collidesWithPathERK12QPainterPathN2Qt17ItemSelectionModeE @ 8199 NONAME - _ZNK13QGraphicsItem16effectiveOpacityEv @ 8200 NONAME - _ZNK13QGraphicsItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 8201 NONAME - _ZNK13QGraphicsItem16mapRectFromSceneERK6QRectF @ 8202 NONAME - _ZNK13QGraphicsItem17acceptHoverEventsEv @ 8203 NONAME - _ZNK13QGraphicsItem17mapRectFromParentERK6QRectF @ 8204 NONAME - _ZNK13QGraphicsItem17sceneBoundingRectEv @ 8205 NONAME - _ZNK13QGraphicsItem17supportsExtensionENS_9ExtensionE @ 8206 NONAME - _ZNK13QGraphicsItem18acceptsHoverEventsEv @ 8207 NONAME - _ZNK13QGraphicsItem18commonAncestorItemEPKS_ @ 8208 NONAME - _ZNK13QGraphicsItem18handlesChildEventsEv @ 8209 NONAME - _ZNK13QGraphicsItem20acceptedMouseButtonsEv @ 8210 NONAME - _ZNK13QGraphicsItem20childrenBoundingRectEv @ 8211 NONAME - _ZNK13QGraphicsItem25boundingRegionGranularityEv @ 8212 NONAME - _ZNK13QGraphicsItem3posEv @ 8213 NONAME - _ZNK13QGraphicsItem4dataEi @ 8214 NONAME - _ZNK13QGraphicsItem4typeEv @ 8215 NONAME - _ZNK13QGraphicsItem5flagsEv @ 8216 NONAME - _ZNK13QGraphicsItem5groupEv @ 8217 NONAME - _ZNK13QGraphicsItem5sceneEv @ 8218 NONAME - _ZNK13QGraphicsItem5shapeEv @ 8219 NONAME - _ZNK13QGraphicsItem6matrixEv @ 8220 NONAME - _ZNK13QGraphicsItem6windowEv @ 8221 NONAME - _ZNK13QGraphicsItem6zValueEv @ 8222 NONAME - _ZNK13QGraphicsItem7opacityEv @ 8223 NONAME - _ZNK13QGraphicsItem7toolTipEv @ 8224 NONAME - _ZNK13QGraphicsItem8childrenEv @ 8225 NONAME - _ZNK13QGraphicsItem8clipPathEv @ 8226 NONAME - _ZNK13QGraphicsItem8containsERK7QPointF @ 8227 NONAME - _ZNK13QGraphicsItem8hasFocusEv @ 8228 NONAME - _ZNK13QGraphicsItem8isWidgetEv @ 8229 NONAME - _ZNK13QGraphicsItem8isWindowEv @ 8230 NONAME - _ZNK13QGraphicsItem8scenePosEv @ 8231 NONAME - _ZNK13QGraphicsItem9cacheModeEv @ 8232 NONAME - _ZNK13QGraphicsItem9extensionERK8QVariant @ 8233 NONAME - _ZNK13QGraphicsItem9isClippedEv @ 8234 NONAME - _ZNK13QGraphicsItem9isEnabledEv @ 8235 NONAME - _ZNK13QGraphicsItem9isVisibleEv @ 8236 NONAME - _ZNK13QGraphicsItem9mapToItemEPKS_RK12QPainterPath @ 8237 NONAME - _ZNK13QGraphicsItem9mapToItemEPKS_RK6QRectF @ 8238 NONAME - _ZNK13QGraphicsItem9mapToItemEPKS_RK7QPointF @ 8239 NONAME - _ZNK13QGraphicsItem9mapToItemEPKS_RK9QPolygonF @ 8240 NONAME - _ZNK13QGraphicsItem9transformEv @ 8241 NONAME - _ZNK13QGraphicsView10mapToSceneERK12QPainterPath @ 8242 NONAME - _ZNK13QGraphicsView10mapToSceneERK5QRect @ 8243 NONAME - _ZNK13QGraphicsView10mapToSceneERK6QPoint @ 8244 NONAME - _ZNK13QGraphicsView10mapToSceneERK8QPolygon @ 8245 NONAME - _ZNK13QGraphicsView10metaObjectEv @ 8246 NONAME - _ZNK13QGraphicsView11renderHintsEv @ 8247 NONAME - _ZNK13QGraphicsView12mapFromSceneERK12QPainterPath @ 8248 NONAME - _ZNK13QGraphicsView12mapFromSceneERK6QRectF @ 8249 NONAME - _ZNK13QGraphicsView12mapFromSceneERK7QPointF @ 8250 NONAME - _ZNK13QGraphicsView12mapFromSceneERK9QPolygonF @ 8251 NONAME - _ZNK13QGraphicsView12resizeAnchorEv @ 8252 NONAME - _ZNK13QGraphicsView13isInteractiveEv @ 8253 NONAME - _ZNK13QGraphicsView15backgroundBrushEv @ 8254 NONAME - _ZNK13QGraphicsView15foregroundBrushEv @ 8255 NONAME - _ZNK13QGraphicsView16inputMethodQueryEN2Qt16InputMethodQueryE @ 8256 NONAME - _ZNK13QGraphicsView17optimizationFlagsEv @ 8257 NONAME - _ZNK13QGraphicsView17viewportTransformEv @ 8258 NONAME - _ZNK13QGraphicsView18viewportUpdateModeEv @ 8259 NONAME - _ZNK13QGraphicsView20transformationAnchorEv @ 8260 NONAME - _ZNK13QGraphicsView23rubberBandSelectionModeEv @ 8261 NONAME - _ZNK13QGraphicsView5itemsERK12QPainterPathN2Qt17ItemSelectionModeE @ 8262 NONAME - _ZNK13QGraphicsView5itemsERK5QRectN2Qt17ItemSelectionModeE @ 8263 NONAME - _ZNK13QGraphicsView5itemsERK6QPoint @ 8264 NONAME - _ZNK13QGraphicsView5itemsERK8QPolygonN2Qt17ItemSelectionModeE @ 8265 NONAME - _ZNK13QGraphicsView5itemsEv @ 8266 NONAME - _ZNK13QGraphicsView5sceneEv @ 8267 NONAME - _ZNK13QGraphicsView6itemAtERK6QPoint @ 8268 NONAME - _ZNK13QGraphicsView6matrixEv @ 8269 NONAME - _ZNK13QGraphicsView8dragModeEv @ 8270 NONAME - _ZNK13QGraphicsView8sizeHintEv @ 8271 NONAME - _ZNK13QGraphicsView9alignmentEv @ 8272 NONAME - _ZNK13QGraphicsView9cacheModeEv @ 8273 NONAME - _ZNK13QGraphicsView9sceneRectEv @ 8274 NONAME - _ZNK13QGraphicsView9transformEv @ 8275 NONAME - _ZNK13QIconEngineV23keyEv @ 8276 NONAME - _ZNK13QIconEngineV25cloneEv @ 8277 NONAME - _ZNK13QIconEngineV25writeER11QDataStream @ 8278 NONAME - _ZNK13QInputContext10metaObjectEv @ 8279 NONAME - _ZNK13QInputContext11focusWidgetEv @ 8280 NONAME - _ZNK13QInputContext14standardFormatENS_14StandardFormatE @ 8281 NONAME - _ZNK13QInputContext4fontEv @ 8282 NONAME - _ZNK13QIntValidator10metaObjectEv @ 8283 NONAME - _ZNK13QIntValidator8validateER7QStringRi @ 8284 NONAME - _ZNK13QItemDelegate10decorationERK20QStyleOptionViewItemRK8QVariant @ 8285 NONAME - _ZNK13QItemDelegate10metaObjectEv @ 8286 NONAME - _ZNK13QItemDelegate10setOptionsERK11QModelIndexRK20QStyleOptionViewItem @ 8287 NONAME - _ZNK13QItemDelegate11drawDisplayEP8QPainterRK20QStyleOptionViewItemRK5QRectRK7QString @ 8288 NONAME - _ZNK13QItemDelegate11hasClippingEv @ 8289 NONAME - _ZNK13QItemDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 8290 NONAME - _ZNK13QItemDelegate12setModelDataEP7QWidgetP18QAbstractItemModelRK11QModelIndex @ 8291 NONAME - _ZNK13QItemDelegate13setEditorDataEP7QWidgetRK11QModelIndex @ 8292 NONAME - _ZNK13QItemDelegate13textRectangleEP8QPainterRK5QRectRK5QFontRK7QString @ 8293 NONAME - _ZNK13QItemDelegate14drawBackgroundEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex @ 8294 NONAME - _ZNK13QItemDelegate14drawDecorationEP8QPainterRK20QStyleOptionViewItemRK5QRectRK7QPixmap @ 8295 NONAME - _ZNK13QItemDelegate17itemEditorFactoryEv @ 8296 NONAME - _ZNK13QItemDelegate20updateEditorGeometryEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 8297 NONAME - _ZNK13QItemDelegate4rectERK20QStyleOptionViewItemRK11QModelIndexi @ 8298 NONAME - _ZNK13QItemDelegate5checkERK20QStyleOptionViewItemRK5QRectRK8QVariant @ 8299 NONAME - _ZNK13QItemDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex @ 8300 NONAME - _ZNK13QItemDelegate8doLayoutERK20QStyleOptionViewItemP5QRectS4_S4_b @ 8301 NONAME - _ZNK13QItemDelegate8selectedERK7QPixmapRK8QPaletteb @ 8302 NONAME - _ZNK13QItemDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex @ 8303 NONAME - _ZNK13QItemDelegate9drawCheckEP8QPainterRK20QStyleOptionViewItemRK5QRectN2Qt10CheckStateE @ 8304 NONAME - _ZNK13QItemDelegate9drawFocusEP8QPainterRK20QStyleOptionViewItemRK5QRect @ 8305 NONAME - _ZNK13QMdiSubWindow10metaObjectEv @ 8306 NONAME - _ZNK13QMdiSubWindow10systemMenuEv @ 8307 NONAME - _ZNK13QMdiSubWindow10testOptionENS_15SubWindowOptionE @ 8308 NONAME - _ZNK13QMdiSubWindow15minimumSizeHintEv @ 8309 NONAME - _ZNK13QMdiSubWindow16keyboardPageStepEv @ 8310 NONAME - _ZNK13QMdiSubWindow18keyboardSingleStepEv @ 8311 NONAME - _ZNK13QMdiSubWindow22maximizedButtonsWidgetEv @ 8312 NONAME - _ZNK13QMdiSubWindow29maximizedSystemMenuIconWidgetEv @ 8313 NONAME - _ZNK13QMdiSubWindow6widgetEv @ 8314 NONAME - _ZNK13QMdiSubWindow7mdiAreaEv @ 8315 NONAME - _ZNK13QMdiSubWindow8isShadedEv @ 8316 NONAME - _ZNK13QMdiSubWindow8sizeHintEv @ 8317 NONAME - _ZNK13QPixmapFilter10metaObjectEv @ 8318 NONAME - _ZNK13QPixmapFilter15boundingRectForERK6QRectF @ 8319 NONAME - _ZNK13QPixmapFilter4typeEv @ 8320 NONAME - _ZNK13QSplashScreen10metaObjectEv @ 8321 NONAME - _ZNK13QSplashScreen6pixmapEv @ 8322 NONAME - _ZNK13QStandardItem11columnCountEv @ 8323 NONAME - _ZNK13QStandardItem11hasChildrenEv @ 8324 NONAME - _ZNK13QStandardItem3rowEv @ 8325 NONAME - _ZNK13QStandardItem4dataEi @ 8326 NONAME - _ZNK13QStandardItem4typeEv @ 8327 NONAME - _ZNK13QStandardItem5childEii @ 8328 NONAME - _ZNK13QStandardItem5cloneEv @ 8329 NONAME - _ZNK13QStandardItem5flagsEv @ 8330 NONAME - _ZNK13QStandardItem5indexEv @ 8331 NONAME - _ZNK13QStandardItem5modelEv @ 8332 NONAME - _ZNK13QStandardItem5writeER11QDataStream @ 8333 NONAME - _ZNK13QStandardItem6columnEv @ 8334 NONAME - _ZNK13QStandardItem6parentEv @ 8335 NONAME - _ZNK13QStandardItem8rowCountEv @ 8336 NONAME - _ZNK13QStandardItemltERKS_ @ 8337 NONAME - _ZNK13QTextDocument10allFormatsEv @ 8338 NONAME - _ZNK13QTextDocument10blockCountEv @ 8339 NONAME - _ZNK13QTextDocument10firstBlockEv @ 8340 NONAME - _ZNK13QTextDocument10idealWidthEv @ 8341 NONAME - _ZNK13QTextDocument10isModifiedEv @ 8342 NONAME - _ZNK13QTextDocument10metaObjectEv @ 8343 NONAME - _ZNK13QTextDocument11characterAtEi @ 8344 NONAME - _ZNK13QTextDocument11defaultFontEv @ 8345 NONAME - _ZNK13QTextDocument11indentWidthEv @ 8346 NONAME - _ZNK13QTextDocument11toPlainTextEv @ 8347 NONAME - _ZNK13QTextDocument14characterCountEv @ 8348 NONAME - _ZNK13QTextDocument14documentLayoutEv @ 8349 NONAME - _ZNK13QTextDocument14documentMarginEv @ 8350 NONAME - _ZNK13QTextDocument15isRedoAvailableEv @ 8351 NONAME - _ZNK13QTextDocument15isUndoAvailableEv @ 8352 NONAME - _ZNK13QTextDocument15metaInformationENS_15MetaInformationE @ 8353 NONAME - _ZNK13QTextDocument15objectForFormatERK11QTextFormat @ 8354 NONAME - _ZNK13QTextDocument16useDesignMetricsEv @ 8355 NONAME - _ZNK13QTextDocument17defaultStyleSheetEv @ 8356 NONAME - _ZNK13QTextDocument17defaultTextOptionEv @ 8357 NONAME - _ZNK13QTextDocument17findBlockByNumberEi @ 8358 NONAME - _ZNK13QTextDocument17isUndoRedoEnabledEv @ 8359 NONAME - _ZNK13QTextDocument17maximumBlockCountEv @ 8360 NONAME - _ZNK13QTextDocument21findBlockByLineNumberEi @ 8361 NONAME - _ZNK13QTextDocument3endEv @ 8362 NONAME - _ZNK13QTextDocument4findERK7QRegExpRK11QTextCursor6QFlagsINS_8FindFlagEE @ 8363 NONAME - _ZNK13QTextDocument4findERK7QRegExpi6QFlagsINS_8FindFlagEE @ 8364 NONAME - _ZNK13QTextDocument4findERK7QStringRK11QTextCursor6QFlagsINS_8FindFlagEE @ 8365 NONAME - _ZNK13QTextDocument4findERK7QStringi6QFlagsINS_8FindFlagEE @ 8366 NONAME - _ZNK13QTextDocument4sizeEv @ 8367 NONAME - _ZNK13QTextDocument5beginEv @ 8368 NONAME - _ZNK13QTextDocument5cloneEP7QObject @ 8369 NONAME - _ZNK13QTextDocument6objectEi @ 8370 NONAME - _ZNK13QTextDocument6toHtmlERK10QByteArray @ 8371 NONAME - _ZNK13QTextDocument7frameAtEi @ 8372 NONAME - _ZNK13QTextDocument7isEmptyEv @ 8373 NONAME - _ZNK13QTextDocument8pageSizeEv @ 8374 NONAME - _ZNK13QTextDocument8resourceEiRK4QUrl @ 8375 NONAME - _ZNK13QTextDocument8revisionEv @ 8376 NONAME - _ZNK13QTextDocument9docHandleEv @ 8377 NONAME - _ZNK13QTextDocument9findBlockEi @ 8378 NONAME - _ZNK13QTextDocument9lastBlockEv @ 8379 NONAME - _ZNK13QTextDocument9lineCountEv @ 8380 NONAME - _ZNK13QTextDocument9pageCountEv @ 8381 NONAME - _ZNK13QTextDocument9rootFrameEv @ 8382 NONAME - _ZNK13QTextDocument9textWidthEv @ 8383 NONAME - _ZNK13QTextFragment10charFormatEv @ 8384 NONAME - _ZNK13QTextFragment15charFormatIndexEv @ 8385 NONAME - _ZNK13QTextFragment4textEv @ 8386 NONAME - _ZNK13QTextFragment6lengthEv @ 8387 NONAME - _ZNK13QTextFragment8containsEi @ 8388 NONAME - _ZNK13QTextFragment8positionEv @ 8389 NONAME - _ZNK13QWidgetAction10metaObjectEv @ 8390 NONAME - _ZNK13QWidgetAction13defaultWidgetEv @ 8391 NONAME - _ZNK13QWidgetAction14createdWidgetsEv @ 8392 NONAME - _ZNK13QWidgetItemV211maximumSizeEv @ 8393 NONAME - _ZNK13QWidgetItemV211minimumSizeEv @ 8394 NONAME - _ZNK13QWidgetItemV214heightForWidthEi @ 8395 NONAME - _ZNK13QWidgetItemV222updateCacheIfNecessaryEv @ 8396 NONAME - _ZNK13QWidgetItemV28sizeHintEv @ 8397 NONAME - _ZNK13QWindowsStyle10metaObjectEv @ 8398 NONAME - _ZNK13QWindowsStyle11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 8399 NONAME - _ZNK13QWindowsStyle11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 8400 NONAME - _ZNK13QWindowsStyle13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 8401 NONAME - _ZNK13QWindowsStyle14standardPixmapEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 8402 NONAME - _ZNK13QWindowsStyle14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 8403 NONAME - _ZNK13QWindowsStyle16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 8404 NONAME - _ZNK13QWindowsStyle18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 8405 NONAME - _ZNK13QWindowsStyle26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 8406 NONAME - _ZNK13QWindowsStyle9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 8407 NONAME - _ZNK14QDesktopWidget10metaObjectEv @ 8408 NONAME - _ZNK14QDesktopWidget10numScreensEv @ 8409 NONAME - _ZNK14QDesktopWidget12screenNumberEPK7QWidget @ 8410 NONAME - _ZNK14QDesktopWidget12screenNumberERK6QPoint @ 8411 NONAME - _ZNK14QDesktopWidget13primaryScreenEv @ 8412 NONAME - _ZNK14QDesktopWidget14screenGeometryEi @ 8413 NONAME - _ZNK14QDesktopWidget16isVirtualDesktopEv @ 8414 NONAME - _ZNK14QDesktopWidget17availableGeometryEi @ 8415 NONAME - _ZNK14QDoubleSpinBox10metaObjectEv @ 8416 NONAME - _ZNK14QDoubleSpinBox10singleStepEv @ 8417 NONAME - _ZNK14QDoubleSpinBox13textFromValueEd @ 8418 NONAME - _ZNK14QDoubleSpinBox13valueFromTextERK7QString @ 8419 NONAME - _ZNK14QDoubleSpinBox5fixupER7QString @ 8420 NONAME - _ZNK14QDoubleSpinBox5valueEv @ 8421 NONAME - _ZNK14QDoubleSpinBox6prefixEv @ 8422 NONAME - _ZNK14QDoubleSpinBox6suffixEv @ 8423 NONAME - _ZNK14QDoubleSpinBox7maximumEv @ 8424 NONAME - _ZNK14QDoubleSpinBox7minimumEv @ 8425 NONAME - _ZNK14QDoubleSpinBox8decimalsEv @ 8426 NONAME - _ZNK14QDoubleSpinBox8validateER7QStringRi @ 8427 NONAME - _ZNK14QDoubleSpinBox9cleanTextEv @ 8428 NONAME - _ZNK14QGraphicsScene10metaObjectEv @ 8429 NONAME - _ZNK14QGraphicsScene11stickyFocusEv @ 8430 NONAME - _ZNK14QGraphicsScene12activeWindowEv @ 8431 NONAME - _ZNK14QGraphicsScene12bspTreeDepthEv @ 8432 NONAME - _ZNK14QGraphicsScene13selectedItemsEv @ 8433 NONAME - _ZNK14QGraphicsScene13selectionAreaEv @ 8434 NONAME - _ZNK14QGraphicsScene14collidingItemsEPK13QGraphicsItemN2Qt17ItemSelectionModeE @ 8435 NONAME - _ZNK14QGraphicsScene15backgroundBrushEv @ 8436 NONAME - _ZNK14QGraphicsScene15foregroundBrushEv @ 8437 NONAME - _ZNK14QGraphicsScene15itemIndexMethodEv @ 8438 NONAME - _ZNK14QGraphicsScene16inputMethodQueryEN2Qt16InputMethodQueryE @ 8439 NONAME - _ZNK14QGraphicsScene16mouseGrabberItemEv @ 8440 NONAME - _ZNK14QGraphicsScene17itemsBoundingRectEv @ 8441 NONAME - _ZNK14QGraphicsScene18isSortCacheEnabledEv @ 8442 NONAME - _ZNK14QGraphicsScene4fontEv @ 8443 NONAME - _ZNK14QGraphicsScene5itemsERK12QPainterPathN2Qt17ItemSelectionModeE @ 8444 NONAME - _ZNK14QGraphicsScene5itemsERK6QRectFN2Qt17ItemSelectionModeE @ 8445 NONAME - _ZNK14QGraphicsScene5itemsERK7QPointF @ 8446 NONAME - _ZNK14QGraphicsScene5itemsERK9QPolygonFN2Qt17ItemSelectionModeE @ 8447 NONAME - _ZNK14QGraphicsScene5itemsEv @ 8448 NONAME - _ZNK14QGraphicsScene5styleEv @ 8449 NONAME - _ZNK14QGraphicsScene5viewsEv @ 8450 NONAME - _ZNK14QGraphicsScene6itemAtERK7QPointF @ 8451 NONAME - _ZNK14QGraphicsScene7paletteEv @ 8452 NONAME - _ZNK14QGraphicsScene8hasFocusEv @ 8453 NONAME - _ZNK14QGraphicsScene9focusItemEv @ 8454 NONAME - _ZNK14QGraphicsScene9sceneRectEv @ 8455 NONAME - _ZNK14QImageIOPlugin10metaObjectEv @ 8456 NONAME - _ZNK14QItemSelection7indexesEv @ 8457 NONAME - _ZNK14QItemSelection8containsERK11QModelIndex @ 8458 NONAME - _ZNK14QLayoutPrivate9getMarginEPiiN6QStyle11PixelMetricE @ 8459 NONAME - _ZNK14QPaintEngineEx11createStateEP13QPainterState @ 8460 NONAME - _ZNK14QPlainTextEdit10blockCountEv @ 8461 NONAME - _ZNK14QPlainTextEdit10cursorRectERK11QTextCursor @ 8462 NONAME - _ZNK14QPlainTextEdit10cursorRectEv @ 8463 NONAME - _ZNK14QPlainTextEdit10isReadOnlyEv @ 8464 NONAME - _ZNK14QPlainTextEdit10metaObjectEv @ 8465 NONAME - _ZNK14QPlainTextEdit10textCursorEv @ 8466 NONAME - _ZNK14QPlainTextEdit11cursorWidthEv @ 8467 NONAME - _ZNK14QPlainTextEdit12lineWrapModeEv @ 8468 NONAME - _ZNK14QPlainTextEdit12tabStopWidthEv @ 8469 NONAME - _ZNK14QPlainTextEdit12wordWrapModeEv @ 8470 NONAME - _ZNK14QPlainTextEdit13contentOffsetEv @ 8471 NONAME - _ZNK14QPlainTextEdit13overwriteModeEv @ 8472 NONAME - _ZNK14QPlainTextEdit14centerOnScrollEv @ 8473 NONAME - _ZNK14QPlainTextEdit15extraSelectionsEv @ 8474 NONAME - _ZNK14QPlainTextEdit15getPaintContextEv @ 8475 NONAME - _ZNK14QPlainTextEdit15tabChangesFocusEv @ 8476 NONAME - _ZNK14QPlainTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 8477 NONAME - _ZNK14QPlainTextEdit17backgroundVisibleEv @ 8478 NONAME - _ZNK14QPlainTextEdit17blockBoundingRectERK10QTextBlock @ 8479 NONAME - _ZNK14QPlainTextEdit17currentCharFormatEv @ 8480 NONAME - _ZNK14QPlainTextEdit17cursorForPositionERK6QPoint @ 8481 NONAME - _ZNK14QPlainTextEdit17firstVisibleBlockEv @ 8482 NONAME - _ZNK14QPlainTextEdit20textInteractionFlagsEv @ 8483 NONAME - _ZNK14QPlainTextEdit21blockBoundingGeometryERK10QTextBlock @ 8484 NONAME - _ZNK14QPlainTextEdit21canInsertFromMimeDataEPK9QMimeData @ 8485 NONAME - _ZNK14QPlainTextEdit27createMimeDataFromSelectionEv @ 8486 NONAME - _ZNK14QPlainTextEdit8canPasteEv @ 8487 NONAME - _ZNK14QPlainTextEdit8documentEv @ 8488 NONAME - _ZNK14QStackedLayout10metaObjectEv @ 8489 NONAME - _ZNK14QStackedLayout11minimumSizeEv @ 8490 NONAME - _ZNK14QStackedLayout12currentIndexEv @ 8491 NONAME - _ZNK14QStackedLayout12stackingModeEv @ 8492 NONAME - _ZNK14QStackedLayout13currentWidgetEv @ 8493 NONAME - _ZNK14QStackedLayout5countEv @ 8494 NONAME - _ZNK14QStackedLayout6itemAtEi @ 8495 NONAME - _ZNK14QStackedLayout6widgetEi @ 8496 NONAME - _ZNK14QStackedLayout8sizeHintEv @ 8497 NONAME - _ZNK14QStackedWidget10metaObjectEv @ 8498 NONAME - _ZNK14QStackedWidget12currentIndexEv @ 8499 NONAME - _ZNK14QStackedWidget13currentWidgetEv @ 8500 NONAME - _ZNK14QStackedWidget5countEv @ 8501 NONAME - _ZNK14QStackedWidget6widgetEi @ 8502 NONAME - _ZNK14QStackedWidget7indexOfEP7QWidget @ 8503 NONAME - _ZNK14QTextOdfWriter12writeFormatsER16QXmlStreamWriter4QSetIiE @ 8504 NONAME - _ZNK14QTextOdfWriter15writeListFormatER16QXmlStreamWriter15QTextListFormati @ 8505 NONAME - _ZNK14QTextOdfWriter16writeBlockFormatER16QXmlStreamWriter16QTextBlockFormati @ 8506 NONAME - _ZNK14QTextOdfWriter16writeFrameFormatER16QXmlStreamWriter16QTextFrameFormati @ 8507 NONAME - _ZNK14QTextOdfWriter20writeCharacterFormatER16QXmlStreamWriter15QTextCharFormati @ 8508 NONAME - _ZNK14QTextOdfWriter20writeInlineCharacterER16QXmlStreamWriterRK13QTextFragment @ 8509 NONAME - _ZNK14QTextOdfWriter20writeTableCellFormatER16QXmlStreamWriter20QTextTableCellFormati @ 8510 NONAME - _ZNK14QTextTableCell10columnSpanEv @ 8511 NONAME - _ZNK14QTextTableCell12lastPositionEv @ 8512 NONAME - _ZNK14QTextTableCell13firstPositionEv @ 8513 NONAME - _ZNK14QTextTableCell18lastCursorPositionEv @ 8514 NONAME - _ZNK14QTextTableCell19firstCursorPositionEv @ 8515 NONAME - _ZNK14QTextTableCell20tableCellFormatIndexEv @ 8516 NONAME - _ZNK14QTextTableCell3endEv @ 8517 NONAME - _ZNK14QTextTableCell3rowEv @ 8518 NONAME - _ZNK14QTextTableCell5beginEv @ 8519 NONAME - _ZNK14QTextTableCell6columnEv @ 8520 NONAME - _ZNK14QTextTableCell6formatEv @ 8521 NONAME - _ZNK14QTextTableCell7rowSpanEv @ 8522 NONAME - _ZNK14QToolBarLayout10handleRectEv @ 8523 NONAME ABSENT - _ZNK14QToolBarLayout10metaObjectEv @ 8524 NONAME ABSENT - _ZNK14QToolBarLayout11minimumSizeEv @ 8525 NONAME ABSENT - _ZNK14QToolBarLayout12expandedSizeERK5QSize @ 8526 NONAME ABSENT - _ZNK14QToolBarLayout13hasExpandFlagEv @ 8527 NONAME ABSENT - _ZNK14QToolBarLayout15updateGeomArrayEv @ 8528 NONAME ABSENT - _ZNK14QToolBarLayout19expandingDirectionsEv @ 8529 NONAME ABSENT - _ZNK14QToolBarLayout5countEv @ 8530 NONAME ABSENT - _ZNK14QToolBarLayout6itemAtEi @ 8531 NONAME ABSENT - _ZNK14QToolBarLayout7indexOfEP7QAction @ 8532 NONAME ABSENT - _ZNK14QToolBarLayout7isEmptyEv @ 8533 NONAME ABSENT - _ZNK14QToolBarLayout7movableEv @ 8534 NONAME ABSENT - _ZNK14QToolBarLayout8sizeHintEv @ 8535 NONAME ABSENT - _ZNK14QWidgetPrivate10clipRegionEv @ 8536 NONAME - _ZNK14QWidgetPrivate10frameStrutEv @ 8537 NONAME - _ZNK14QWidgetPrivate12adjustedSizeEv @ 8538 NONAME - _ZNK14QWidgetPrivate12inputContextEv @ 8539 NONAME - _ZNK14QWidgetPrivate12isOverlappedERK5QRect @ 8540 NONAME - _ZNK14QWidgetPrivate13hasBackgroundEv @ 8541 NONAME ABSENT - _ZNK14QWidgetPrivate13isAboutToShowEv @ 8542 NONAME - _ZNK14QWidgetPrivate13paintOnScreenEv @ 8543 NONAME - _ZNK14QWidgetPrivate14childAt_helperERK6QPointb @ 8544 NONAME - _ZNK14QWidgetPrivate15getOpaqueRegionEv @ 8545 NONAME - _ZNK14QWidgetPrivate15paintBackgroundEP8QPainterRK7QRegionRK6QPointi @ 8546 NONAME ABSENT - _ZNK14QWidgetPrivate17getOpaqueChildrenEv @ 8547 NONAME - _ZNK14QWidgetPrivate17naturalWidgetFontEj @ 8548 NONAME - _ZNK14QWidgetPrivate19clipToEffectiveMaskER7QRegion @ 8549 NONAME - _ZNK14QWidgetPrivate20getLayoutItemMarginsEPiS0_S0_S0_ @ 8550 NONAME - _ZNK14QWidgetPrivate20naturalWidgetPaletteEj @ 8551 NONAME - _ZNK14QWidgetPrivate21isBackgroundInheritedEv @ 8552 NONAME ABSENT - _ZNK14QWidgetPrivate22fromOrToLayoutItemRectERK5QRecti @ 8553 NONAME ABSENT - _ZNK14QWidgetPrivate22subtractOpaqueChildrenER7QRegionRK5QRect @ 8554 NONAME - _ZNK14QWidgetPrivate22subtractOpaqueSiblingsER7QRegionPbb @ 8555 NONAME - _ZNK14QWidgetPrivate8clipRectEv @ 8556 NONAME - _ZNK14QWindowSurface10grabWidgetEPK7QWidgetRK5QRect @ 8557 NONAME - _ZNK14QWindowSurface14staticContentsEv @ 8558 NONAME - _ZNK14QWindowSurface17hasStaticContentsEv @ 8559 NONAME - _ZNK14QWindowSurface24hasStaticContentsSupportEv @ 8560 NONAME - _ZNK14QWindowSurface6offsetEPK7QWidget @ 8561 NONAME - _ZNK14QWindowSurface6windowEv @ 8562 NONAME - _ZNK14QWindowSurface8geometryEv @ 8563 NONAME - _ZNK15QAbstractButton10autoRepeatEv @ 8564 NONAME - _ZNK15QAbstractButton10metaObjectEv @ 8565 NONAME - _ZNK15QAbstractButton11isCheckableEv @ 8566 NONAME - _ZNK15QAbstractButton13autoExclusiveEv @ 8567 NONAME - _ZNK15QAbstractButton15autoRepeatDelayEv @ 8568 NONAME - _ZNK15QAbstractButton18autoRepeatIntervalEv @ 8569 NONAME - _ZNK15QAbstractButton4iconEv @ 8570 NONAME - _ZNK15QAbstractButton4textEv @ 8571 NONAME - _ZNK15QAbstractButton5groupEv @ 8572 NONAME - _ZNK15QAbstractButton6isDownEv @ 8573 NONAME - _ZNK15QAbstractButton8iconSizeEv @ 8574 NONAME - _ZNK15QAbstractButton8shortcutEv @ 8575 NONAME - _ZNK15QAbstractButton9hitButtonERK6QPoint @ 8576 NONAME - _ZNK15QAbstractButton9isCheckedEv @ 8577 NONAME - _ZNK15QAbstractSlider10metaObjectEv @ 8578 NONAME - _ZNK15QAbstractSlider10singleStepEv @ 8579 NONAME - _ZNK15QAbstractSlider11hasTrackingEv @ 8580 NONAME - _ZNK15QAbstractSlider11orientationEv @ 8581 NONAME - _ZNK15QAbstractSlider12isSliderDownEv @ 8582 NONAME - _ZNK15QAbstractSlider12repeatActionEv @ 8583 NONAME - _ZNK15QAbstractSlider14sliderPositionEv @ 8584 NONAME - _ZNK15QAbstractSlider16invertedControlsEv @ 8585 NONAME - _ZNK15QAbstractSlider18invertedAppearanceEv @ 8586 NONAME - _ZNK15QAbstractSlider5valueEv @ 8587 NONAME - _ZNK15QAbstractSlider7maximumEv @ 8588 NONAME - _ZNK15QAbstractSlider7minimumEv @ 8589 NONAME - _ZNK15QAbstractSlider8pageStepEv @ 8590 NONAME - _ZNK15QCalendarWidget10metaObjectEv @ 8591 NONAME - _ZNK15QCalendarWidget10monthShownEv @ 8592 NONAME - _ZNK15QCalendarWidget11maximumDateEv @ 8593 NONAME - _ZNK15QCalendarWidget11minimumDateEv @ 8594 NONAME - _ZNK15QCalendarWidget12selectedDateEv @ 8595 NONAME - _ZNK15QCalendarWidget13isGridVisibleEv @ 8596 NONAME - _ZNK15QCalendarWidget13selectionModeEv @ 8597 NONAME - _ZNK15QCalendarWidget14dateTextFormatERK5QDate @ 8598 NONAME - _ZNK15QCalendarWidget14dateTextFormatEv @ 8599 NONAME - _ZNK15QCalendarWidget14firstDayOfWeekEv @ 8600 NONAME - _ZNK15QCalendarWidget15isHeaderVisibleEv @ 8601 NONAME - _ZNK15QCalendarWidget15minimumSizeHintEv @ 8602 NONAME - _ZNK15QCalendarWidget16headerTextFormatEv @ 8603 NONAME - _ZNK15QCalendarWidget17isDateEditEnabledEv @ 8604 NONAME - _ZNK15QCalendarWidget17weekdayTextFormatEN2Qt9DayOfWeekE @ 8605 NONAME - _ZNK15QCalendarWidget19dateEditAcceptDelayEv @ 8606 NONAME - _ZNK15QCalendarWidget20verticalHeaderFormatEv @ 8607 NONAME - _ZNK15QCalendarWidget22horizontalHeaderFormatEv @ 8608 NONAME - _ZNK15QCalendarWidget8sizeHintEv @ 8609 NONAME - _ZNK15QCalendarWidget9paintCellEP8QPainterRK5QRectRK5QDate @ 8610 NONAME - _ZNK15QCalendarWidget9yearShownEv @ 8611 NONAME - _ZNK15QColumnViewGrip10metaObjectEv @ 8612 NONAME - _ZNK15QDockAreaLayout11minimumSizeEv @ 8613 NONAME - _ZNK15QDockAreaLayout11usedTabBarsEv @ 8614 NONAME - _ZNK15QDockAreaLayout13findSeparatorERK6QPoint @ 8615 NONAME - _ZNK15QDockAreaLayout13separatorRectE5QListIiE @ 8616 NONAME ABSENT - _ZNK15QDockAreaLayout13separatorRectEi @ 8617 NONAME - _ZNK15QDockAreaLayout15paintSeparatorsEP8QPainterP7QWidgetRK7QRegionRK6QPoint @ 8618 NONAME - _ZNK15QDockAreaLayout15separatorRegionEv @ 8619 NONAME - _ZNK15QDockAreaLayout18indexOfPlaceHolderERK7QString @ 8620 NONAME - _ZNK15QDockAreaLayout20usedSeparatorWidgetsEv @ 8621 NONAME - _ZNK15QDockAreaLayout22updateSeparatorWidgetsEv @ 8622 NONAME - _ZNK15QDockAreaLayout4infoE5QListIiE @ 8623 NONAME ABSENT - _ZNK15QDockAreaLayout6itemAtEPii @ 8624 NONAME - _ZNK15QDockAreaLayout7gapRectE5QListIiE @ 8625 NONAME ABSENT - _ZNK15QDockAreaLayout7indexOfEP7QWidget @ 8626 NONAME - _ZNK15QDockAreaLayout7isValidEv @ 8627 NONAME - _ZNK15QDockAreaLayout8gapIndexERK6QPoint @ 8628 NONAME - _ZNK15QDockAreaLayout8itemRectE5QListIiE @ 8629 NONAME ABSENT - _ZNK15QDockAreaLayout8sizeHintEv @ 8630 NONAME - _ZNK15QDockAreaLayout9saveStateER11QDataStream @ 8631 NONAME - _ZNK15QGraphicsLayout11isActivatedEv @ 8632 NONAME - _ZNK15QGraphicsLayout18getContentsMarginsEPfS0_S0_S0_ @ 8633 NONAME - _ZNK15QGraphicsWidget10metaObjectEv @ 8634 NONAME - _ZNK15QGraphicsWidget10windowTypeEv @ 8635 NONAME - _ZNK15QGraphicsWidget11focusPolicyEv @ 8636 NONAME - _ZNK15QGraphicsWidget11focusWidgetEv @ 8637 NONAME - _ZNK15QGraphicsWidget11windowFlagsEv @ 8638 NONAME - _ZNK15QGraphicsWidget11windowTitleEv @ 8639 NONAME - _ZNK15QGraphicsWidget12boundingRectEv @ 8640 NONAME - _ZNK15QGraphicsWidget13testAttributeEN2Qt15WidgetAttributeE @ 8641 NONAME - _ZNK15QGraphicsWidget14isActiveWindowEv @ 8642 NONAME - _ZNK15QGraphicsWidget15initStyleOptionEP12QStyleOption @ 8643 NONAME - _ZNK15QGraphicsWidget15layoutDirectionEv @ 8644 NONAME - _ZNK15QGraphicsWidget15windowFrameRectEv @ 8645 NONAME - _ZNK15QGraphicsWidget18getContentsMarginsEPfS0_S0_S0_ @ 8646 NONAME - _ZNK15QGraphicsWidget19windowFrameGeometryEv @ 8647 NONAME - _ZNK15QGraphicsWidget20windowFrameSectionAtERK7QPointF @ 8648 NONAME - _ZNK15QGraphicsWidget21getWindowFrameMarginsEPfS0_S0_S0_ @ 8649 NONAME - _ZNK15QGraphicsWidget4fontEv @ 8650 NONAME - _ZNK15QGraphicsWidget4sizeEv @ 8651 NONAME - _ZNK15QGraphicsWidget4typeEv @ 8652 NONAME - _ZNK15QGraphicsWidget5shapeEv @ 8653 NONAME - _ZNK15QGraphicsWidget5styleEv @ 8654 NONAME - _ZNK15QGraphicsWidget6layoutEv @ 8655 NONAME - _ZNK15QGraphicsWidget7actionsEv @ 8656 NONAME - _ZNK15QGraphicsWidget7paletteEv @ 8657 NONAME - _ZNK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF @ 8658 NONAME - _ZNK15QImageIOHandler10imageCountEv @ 8659 NONAME - _ZNK15QImageIOHandler14nextImageDelayEv @ 8660 NONAME - _ZNK15QImageIOHandler14supportsOptionENS_11ImageOptionE @ 8661 NONAME - _ZNK15QImageIOHandler16currentImageRectEv @ 8662 NONAME - _ZNK15QImageIOHandler18currentImageNumberEv @ 8663 NONAME - _ZNK15QImageIOHandler4nameEv @ 8664 NONAME - _ZNK15QImageIOHandler6deviceEv @ 8665 NONAME - _ZNK15QImageIOHandler6formatEv @ 8666 NONAME - _ZNK15QImageIOHandler6optionENS_11ImageOptionE @ 8667 NONAME - _ZNK15QImageIOHandler9loopCountEv @ 8668 NONAME - _ZNK15QImageIOHandler9setFormatERK10QByteArray @ 8669 NONAME - _ZNK15QLinearGradient5startEv @ 8670 NONAME - _ZNK15QLinearGradient9finalStopEv @ 8671 NONAME - _ZNK15QListWidgetItem4dataEi @ 8672 NONAME - _ZNK15QListWidgetItem5cloneEv @ 8673 NONAME - _ZNK15QListWidgetItem5writeER11QDataStream @ 8674 NONAME - _ZNK15QListWidgetItemltERKS_ @ 8675 NONAME - _ZNK15QProgressDialog10metaObjectEv @ 8676 NONAME - _ZNK15QProgressDialog11wasCanceledEv @ 8677 NONAME - _ZNK15QProgressDialog15minimumDurationEv @ 8678 NONAME - _ZNK15QProgressDialog5valueEv @ 8679 NONAME - _ZNK15QProgressDialog7maximumEv @ 8680 NONAME - _ZNK15QProgressDialog7minimumEv @ 8681 NONAME - _ZNK15QProgressDialog8sizeHintEv @ 8682 NONAME - _ZNK15QProgressDialog9autoCloseEv @ 8683 NONAME - _ZNK15QProgressDialog9autoResetEv @ 8684 NONAME - _ZNK15QProgressDialog9labelTextEv @ 8685 NONAME - _ZNK15QRadialGradient10focalPointEv @ 8686 NONAME - _ZNK15QRadialGradient6centerEv @ 8687 NONAME - _ZNK15QRadialGradient6radiusEv @ 8688 NONAME - _ZNK15QSessionManager10metaObjectEv @ 8689 NONAME - _ZNK15QSplitterHandle10metaObjectEv @ 8690 NONAME - _ZNK15QSplitterHandle11orientationEv @ 8691 NONAME - _ZNK15QSplitterHandle12opaqueResizeEv @ 8692 NONAME - _ZNK15QSplitterHandle8sizeHintEv @ 8693 NONAME - _ZNK15QSplitterHandle8splitterEv @ 8694 NONAME - _ZNK15QTextBlockGroup10metaObjectEv @ 8695 NONAME - _ZNK15QTextBlockGroup9blockListEv @ 8696 NONAME - _ZNK15QTextCharFormat10anchorNameEv @ 8697 NONAME - _ZNK15QTextCharFormat11anchorNamesEv @ 8698 NONAME - _ZNK15QTextCharFormat13fontUnderlineEv @ 8699 NONAME - _ZNK15QTextCharFormat4fontEv @ 8700 NONAME - _ZNK15QTreeWidgetItem18childrenCheckStateEi @ 8701 NONAME - _ZNK15QTreeWidgetItem18executePendingSortEv @ 8702 NONAME - _ZNK15QTreeWidgetItem20childIndicatorPolicyEv @ 8703 NONAME - _ZNK15QTreeWidgetItem4dataEii @ 8704 NONAME - _ZNK15QTreeWidgetItem5cloneEv @ 8705 NONAME - _ZNK15QTreeWidgetItem5flagsEv @ 8706 NONAME - _ZNK15QTreeWidgetItem5writeER11QDataStream @ 8707 NONAME - _ZNK15QTreeWidgetItemltERKS_ @ 8708 NONAME - _ZNK16QAbstractSpinBox10isReadOnlyEv @ 8709 NONAME - _ZNK16QAbstractSpinBox10metaObjectEv @ 8710 NONAME - _ZNK16QAbstractSpinBox11stepEnabledEv @ 8711 NONAME - _ZNK16QAbstractSpinBox13buttonSymbolsEv @ 8712 NONAME - _ZNK16QAbstractSpinBox13isAcceleratedEv @ 8713 NONAME - _ZNK16QAbstractSpinBox14correctionModeEv @ 8714 NONAME - _ZNK16QAbstractSpinBox15initStyleOptionEP19QStyleOptionSpinBox @ 8715 NONAME - _ZNK16QAbstractSpinBox15minimumSizeHintEv @ 8716 NONAME - _ZNK16QAbstractSpinBox16inputMethodQueryEN2Qt16InputMethodQueryE @ 8717 NONAME - _ZNK16QAbstractSpinBox16keyboardTrackingEv @ 8718 NONAME - _ZNK16QAbstractSpinBox16specialValueTextEv @ 8719 NONAME - _ZNK16QAbstractSpinBox18hasAcceptableInputEv @ 8720 NONAME - _ZNK16QAbstractSpinBox4textEv @ 8721 NONAME - _ZNK16QAbstractSpinBox5fixupER7QString @ 8722 NONAME - _ZNK16QAbstractSpinBox8hasFrameEv @ 8723 NONAME - _ZNK16QAbstractSpinBox8lineEditEv @ 8724 NONAME - _ZNK16QAbstractSpinBox8sizeHintEv @ 8725 NONAME - _ZNK16QAbstractSpinBox8validateER7QStringRi @ 8726 NONAME - _ZNK16QAbstractSpinBox8wrappingEv @ 8727 NONAME - _ZNK16QAbstractSpinBox9alignmentEv @ 8728 NONAME - _ZNK16QConicalGradient5angleEv @ 8729 NONAME - _ZNK16QConicalGradient6centerEv @ 8730 NONAME - _ZNK16QDialogButtonBox10buttonRoleEP15QAbstractButton @ 8731 NONAME - _ZNK16QDialogButtonBox10metaObjectEv @ 8732 NONAME - _ZNK16QDialogButtonBox11orientationEv @ 8733 NONAME - _ZNK16QDialogButtonBox13centerButtonsEv @ 8734 NONAME - _ZNK16QDialogButtonBox14standardButtonEP15QAbstractButton @ 8735 NONAME - _ZNK16QDialogButtonBox15standardButtonsEv @ 8736 NONAME - _ZNK16QDialogButtonBox6buttonENS_14StandardButtonE @ 8737 NONAME - _ZNK16QDialogButtonBox7buttonsEv @ 8738 NONAME - _ZNK16QDoubleValidator10metaObjectEv @ 8739 NONAME - _ZNK16QDoubleValidator8notationEv @ 8740 NONAME - _ZNK16QDoubleValidator8validateER7QStringRi @ 8741 NONAME - _ZNK16QFileSystemModel10headerDataEiN2Qt11OrientationEi @ 8742 NONAME - _ZNK16QFileSystemModel10isReadOnlyEv @ 8743 NONAME - _ZNK16QFileSystemModel10metaObjectEv @ 8744 NONAME - _ZNK16QFileSystemModel10myComputerEi @ 8745 NONAME - _ZNK16QFileSystemModel11columnCountERK11QModelIndex @ 8746 NONAME - _ZNK16QFileSystemModel11hasChildrenERK11QModelIndex @ 8747 NONAME - _ZNK16QFileSystemModel11nameFiltersEv @ 8748 NONAME - _ZNK16QFileSystemModel11permissionsERK11QModelIndex @ 8749 NONAME - _ZNK16QFileSystemModel12canFetchMoreERK11QModelIndex @ 8750 NONAME - _ZNK16QFileSystemModel12iconProviderEv @ 8751 NONAME - _ZNK16QFileSystemModel12lastModifiedERK11QModelIndex @ 8752 NONAME - _ZNK16QFileSystemModel13rootDirectoryEv @ 8753 NONAME - _ZNK16QFileSystemModel15resolveSymlinksEv @ 8754 NONAME - _ZNK16QFileSystemModel18nameFilterDisablesEv @ 8755 NONAME - _ZNK16QFileSystemModel20supportedDropActionsEv @ 8756 NONAME - _ZNK16QFileSystemModel4dataERK11QModelIndexi @ 8757 NONAME - _ZNK16QFileSystemModel4sizeERK11QModelIndex @ 8758 NONAME - _ZNK16QFileSystemModel4typeERK11QModelIndex @ 8759 NONAME - _ZNK16QFileSystemModel5flagsERK11QModelIndex @ 8760 NONAME - _ZNK16QFileSystemModel5indexERK7QStringi @ 8761 NONAME - _ZNK16QFileSystemModel5indexEiiRK11QModelIndex @ 8762 NONAME - _ZNK16QFileSystemModel5isDirERK11QModelIndex @ 8763 NONAME - _ZNK16QFileSystemModel6filterEv @ 8764 NONAME - _ZNK16QFileSystemModel6parentERK11QModelIndex @ 8765 NONAME - _ZNK16QFileSystemModel6removeERK11QModelIndex @ 8766 NONAME - _ZNK16QFileSystemModel8filePathERK11QModelIndex @ 8767 NONAME - _ZNK16QFileSystemModel8mimeDataERK5QListI11QModelIndexE @ 8768 NONAME - _ZNK16QFileSystemModel8rootPathEv @ 8769 NONAME - _ZNK16QFileSystemModel8rowCountERK11QModelIndex @ 8770 NONAME - _ZNK16QFileSystemModel9mimeTypesEv @ 8771 NONAME - _ZNK16QFontEngineMulti12maxCharWidthEv @ 8772 NONAME ABSENT - _ZNK16QFontEngineMulti12stringToCMapEPK5QChariP12QGlyphLayoutPi6QFlagsIN11QTextEngine10ShaperFlagEE @ 8773 NONAME ABSENT - _ZNK16QFontEngineMulti13lineThicknessEv @ 8774 NONAME ABSENT - _ZNK16QFontEngineMulti14minLeftBearingEv @ 8775 NONAME ABSENT - _ZNK16QFontEngineMulti14recalcAdvancesEP12QGlyphLayout6QFlagsIN11QTextEngine10ShaperFlagEE @ 8776 NONAME ABSENT - _ZNK16QFontEngineMulti15minRightBearingEv @ 8777 NONAME ABSENT - _ZNK16QFontEngineMulti16averageCharWidthEv @ 8778 NONAME ABSENT - _ZNK16QFontEngineMulti17underlinePositionEv @ 8779 NONAME ABSENT - _ZNK16QFontEngineMulti6ascentEv @ 8780 NONAME ABSENT - _ZNK16QFontEngineMulti6engineEi @ 8781 NONAME ABSENT - _ZNK16QFontEngineMulti7descentEv @ 8782 NONAME ABSENT - _ZNK16QFontEngineMulti7leadingEv @ 8783 NONAME ABSENT - _ZNK16QFontEngineMulti7xHeightEv @ 8784 NONAME ABSENT - _ZNK16QFontEngineMulti9doKerningEP12QGlyphLayout6QFlagsIN11QTextEngine10ShaperFlagEE @ 8785 NONAME ABSENT - _ZNK16QRegExpValidator10metaObjectEv @ 8786 NONAME - _ZNK16QRegExpValidator8validateER7QStringRi @ 8787 NONAME - _ZNK16QStringListModel10metaObjectEv @ 8788 NONAME - _ZNK16QStringListModel10stringListEv @ 8789 NONAME - _ZNK16QStringListModel20supportedDropActionsEv @ 8790 NONAME - _ZNK16QStringListModel4dataERK11QModelIndexi @ 8791 NONAME - _ZNK16QStringListModel5flagsERK11QModelIndex @ 8792 NONAME - _ZNK16QStringListModel8rowCountERK11QModelIndex @ 8793 NONAME - _ZNK16QStyleSheetStyle10initWidgetEPK7QWidget @ 8794 NONAME - _ZNK16QStyleSheetStyle10metaObjectEv @ 8795 NONAME - _ZNK16QStyleSheetStyle10renderRuleEPK7QWidgetPK12QStyleOptioni @ 8796 NONAME - _ZNK16QStyleSheetStyle10renderRuleEPK7QWidgetiy @ 8797 NONAME - _ZNK16QStyleSheetStyle10styleRulesEPK7QWidget @ 8798 NONAME - _ZNK16QStyleSheetStyle11defaultSizeEPK7QWidget5QSizeRK5QRecti @ 8799 NONAME - _ZNK16QStyleSheetStyle11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 8800 NONAME - _ZNK16QStyleSheetStyle11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 8801 NONAME - _ZNK16QStyleSheetStyle12drawItemTextEP8QPainterRK5QRectiRK8QPalettebRK7QStringNS5_9ColorRoleE @ 8802 NONAME - _ZNK16QStyleSheetStyle12hasStyleRuleEPK7QWidgeti @ 8803 NONAME - _ZNK16QStyleSheetStyle12itemTextRectERK12QFontMetricsRK5QRectibRK7QString @ 8804 NONAME - _ZNK16QStyleSheetStyle12positionRectEPK7QWidgetRK11QRenderRuleS5_iRK5QRectN2Qt15LayoutDirectionE @ 8805 NONAME - _ZNK16QStyleSheetStyle12positionRectEPK7QWidgetRK11QRenderRuleiRK5QRectN2Qt15LayoutDirectionE @ 8806 NONAME - _ZNK16QStyleSheetStyle13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 8807 NONAME - _ZNK16QStyleSheetStyle13layoutSpacingEN11QSizePolicy11ControlTypeES1_N2Qt11OrientationEPK12QStyleOptionPK7QWidget @ 8808 NONAME - _ZNK16QStyleSheetStyle14drawItemPixmapEP8QPainterRK5QRectiRK7QPixmap @ 8809 NONAME - _ZNK16QStyleSheetStyle14itemPixmapRectERK5QRectiRK7QPixmap @ 8810 NONAME - _ZNK16QStyleSheetStyle14saveWidgetFontEP7QWidgetRK5QFont @ 8811 NONAME - _ZNK16QStyleSheetStyle14standardPixmapEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 8812 NONAME - _ZNK16QStyleSheetStyle14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget @ 8813 NONAME - _ZNK16QStyleSheetStyle14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 8814 NONAME - _ZNK16QStyleSheetStyle14titleBarLayoutEPK7QWidgetPK20QStyleOptionTitleBar @ 8815 NONAME - _ZNK16QStyleSheetStyle15clearWidgetFontEP7QWidget @ 8816 NONAME - _ZNK16QStyleSheetStyle15standardPaletteEv @ 8817 NONAME - _ZNK16QStyleSheetStyle16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 8818 NONAME - _ZNK16QStyleSheetStyle18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 8819 NONAME - _ZNK16QStyleSheetStyle19generatedIconPixmapEN5QIcon4ModeERK7QPixmapPK12QStyleOption @ 8820 NONAME - _ZNK16QStyleSheetStyle20getDefaultStyleSheetEv @ 8821 NONAME - _ZNK16QStyleSheetStyle20updateStyleSheetFontEP7QWidget @ 8822 NONAME - _ZNK16QStyleSheetStyle21hitTestComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexRK6QPointPK7QWidget @ 8823 NONAME - _ZNK16QStyleSheetStyle26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 8824 NONAME - _ZNK16QStyleSheetStyle27layoutSpacingImplementationEN11QSizePolicy11ControlTypeES1_N2Qt11OrientationEPK12QStyleOptionPK7QWidget @ 8825 NONAME - _ZNK16QStyleSheetStyle9baseStyleEv @ 8826 NONAME - _ZNK16QStyleSheetStyle9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 8827 NONAME - _ZNK16QTableWidgetItem4dataEi @ 8828 NONAME - _ZNK16QTableWidgetItem5cloneEv @ 8829 NONAME - _ZNK16QTableWidgetItem5writeER11QDataStream @ 8830 NONAME - _ZNK16QTableWidgetItemltERKS_ @ 8831 NONAME - _ZNK16QTextBlockFormat12tabPositionsEv @ 8832 NONAME - _ZNK16QTextFrameFormat10leftMarginEv @ 8833 NONAME - _ZNK16QTextFrameFormat11rightMarginEv @ 8834 NONAME - _ZNK16QTextFrameFormat12bottomMarginEv @ 8835 NONAME - _ZNK16QTextFrameFormat9topMarginEv @ 8836 NONAME - _ZNK17QAbstractItemView10metaObjectEv @ 8837 NONAME - _ZNK17QAbstractItemView11dragEnabledEv @ 8838 NONAME - _ZNK17QAbstractItemView11indexWidgetERK11QModelIndex @ 8839 NONAME - _ZNK17QAbstractItemView11viewOptionsEv @ 8840 NONAME - _ZNK17QAbstractItemView12currentIndexEv @ 8841 NONAME - _ZNK17QAbstractItemView12dragDropModeEv @ 8842 NONAME - _ZNK17QAbstractItemView12editTriggersEv @ 8843 NONAME - _ZNK17QAbstractItemView12itemDelegateERK11QModelIndex @ 8844 NONAME - _ZNK17QAbstractItemView12itemDelegateEv @ 8845 NONAME - _ZNK17QAbstractItemView13hasAutoScrollEv @ 8846 NONAME - _ZNK17QAbstractItemView13selectionModeEv @ 8847 NONAME - _ZNK17QAbstractItemView13textElideModeEv @ 8848 NONAME - _ZNK17QAbstractItemView14selectionModelEv @ 8849 NONAME - _ZNK17QAbstractItemView14sizeHintForRowEi @ 8850 NONAME - _ZNK17QAbstractItemView15selectedIndexesEv @ 8851 NONAME - _ZNK17QAbstractItemView16autoScrollMarginEv @ 8852 NONAME - _ZNK17QAbstractItemView16inputMethodQueryEN2Qt16InputMethodQueryE @ 8853 NONAME - _ZNK17QAbstractItemView16selectionCommandERK11QModelIndexPK6QEvent @ 8854 NONAME - _ZNK17QAbstractItemView16sizeHintForIndexERK11QModelIndex @ 8855 NONAME - _ZNK17QAbstractItemView16tabKeyNavigationEv @ 8856 NONAME - _ZNK17QAbstractItemView17dirtyRegionOffsetEv @ 8857 NONAME - _ZNK17QAbstractItemView17selectionBehaviorEv @ 8858 NONAME - _ZNK17QAbstractItemView17showDropIndicatorEv @ 8859 NONAME - _ZNK17QAbstractItemView17sizeHintForColumnEi @ 8860 NONAME - _ZNK17QAbstractItemView18itemDelegateForRowEi @ 8861 NONAME - _ZNK17QAbstractItemView18verticalScrollModeEv @ 8862 NONAME - _ZNK17QAbstractItemView20alternatingRowColorsEv @ 8863 NONAME - _ZNK17QAbstractItemView20horizontalScrollModeEv @ 8864 NONAME - _ZNK17QAbstractItemView20verticalStepsPerItemEv @ 8865 NONAME - _ZNK17QAbstractItemView21dragDropOverwriteModeEv @ 8866 NONAME - _ZNK17QAbstractItemView21dropIndicatorPositionEv @ 8867 NONAME - _ZNK17QAbstractItemView21itemDelegateForColumnEi @ 8868 NONAME - _ZNK17QAbstractItemView22horizontalStepsPerItemEv @ 8869 NONAME - _ZNK17QAbstractItemView5modelEv @ 8870 NONAME - _ZNK17QAbstractItemView5stateEv @ 8871 NONAME - _ZNK17QAbstractItemView8iconSizeEv @ 8872 NONAME - _ZNK17QAbstractItemView9rootIndexEv @ 8873 NONAME - _ZNK17QDataWidgetMapper10metaObjectEv @ 8874 NONAME - _ZNK17QDataWidgetMapper11orientationEv @ 8875 NONAME - _ZNK17QDataWidgetMapper12currentIndexEv @ 8876 NONAME - _ZNK17QDataWidgetMapper12itemDelegateEv @ 8877 NONAME - _ZNK17QDataWidgetMapper12submitPolicyEv @ 8878 NONAME - _ZNK17QDataWidgetMapper13mappedSectionEP7QWidget @ 8879 NONAME - _ZNK17QDataWidgetMapper14mappedWidgetAtEi @ 8880 NONAME - _ZNK17QDataWidgetMapper18mappedPropertyNameEP7QWidget @ 8881 NONAME - _ZNK17QDataWidgetMapper5modelEv @ 8882 NONAME - _ZNK17QDataWidgetMapper9rootIndexEv @ 8883 NONAME - _ZNK17QDockWidgetLayout10metaObjectEv @ 8884 NONAME - _ZNK17QDockWidgetLayout11itemForRoleENS_4RoleE @ 8885 NONAME - _ZNK17QDockWidgetLayout11maximumSizeEv @ 8886 NONAME - _ZNK17QDockWidgetLayout11minimumSizeEv @ 8887 NONAME - _ZNK17QDockWidgetLayout11titleHeightEv @ 8888 NONAME - _ZNK17QDockWidgetLayout13widgetForRoleENS_4RoleE @ 8889 NONAME - _ZNK17QDockWidgetLayout15sizeFromContentERK5QSizeb @ 8890 NONAME - _ZNK17QDockWidgetLayout16nativeWindowDecoEb @ 8891 NONAME - _ZNK17QDockWidgetLayout16nativeWindowDecoEv @ 8892 NONAME - _ZNK17QDockWidgetLayout17minimumTitleWidthEv @ 8893 NONAME - _ZNK17QDockWidgetLayout5countEv @ 8894 NONAME - _ZNK17QDockWidgetLayout6itemAtEi @ 8895 NONAME - _ZNK17QDockWidgetLayout8sizeHintEv @ 8896 NONAME - _ZNK17QFileIconProvider4iconENS_8IconTypeE @ 8897 NONAME - _ZNK17QFileIconProvider4iconERK9QFileInfo @ 8898 NONAME - _ZNK17QFileIconProvider4typeERK9QFileInfo @ 8899 NONAME - _ZNK17QFileInfoGatherer10metaObjectEv @ 8900 NONAME - _ZNK17QFileInfoGatherer12iconProviderEv @ 8901 NONAME - _ZNK17QFileInfoGatherer12nameResolvedERK7QStringS2_ @ 8902 NONAME - _ZNK17QFileInfoGatherer14newListOfFilesERK7QStringRK11QStringList @ 8903 NONAME - _ZNK17QFileInfoGatherer15resolveSymlinksEv @ 8904 NONAME - _ZNK17QFileInfoGatherer18translateDriveNameERK9QFileInfo @ 8905 NONAME - _ZNK17QFileInfoGatherer20translatePermissionsERK9QFileInfo @ 8906 NONAME - _ZNK17QFileInfoGatherer7getInfoERK9QFileInfo @ 8907 NONAME - _ZNK17QGraphicsLineItem10opaqueAreaEv @ 8908 NONAME - _ZNK17QGraphicsLineItem12boundingRectEv @ 8909 NONAME - _ZNK17QGraphicsLineItem12isObscuredByEPK13QGraphicsItem @ 8910 NONAME - _ZNK17QGraphicsLineItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 8911 NONAME - _ZNK17QGraphicsLineItem3penEv @ 8912 NONAME - _ZNK17QGraphicsLineItem4lineEv @ 8913 NONAME - _ZNK17QGraphicsLineItem4typeEv @ 8914 NONAME - _ZNK17QGraphicsLineItem5shapeEv @ 8915 NONAME - _ZNK17QGraphicsLineItem8containsERK7QPointF @ 8916 NONAME - _ZNK17QGraphicsLineItem9extensionERK8QVariant @ 8917 NONAME - _ZNK17QGraphicsPathItem10opaqueAreaEv @ 8918 NONAME - _ZNK17QGraphicsPathItem12boundingRectEv @ 8919 NONAME - _ZNK17QGraphicsPathItem12isObscuredByEPK13QGraphicsItem @ 8920 NONAME - _ZNK17QGraphicsPathItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 8921 NONAME - _ZNK17QGraphicsPathItem4pathEv @ 8922 NONAME - _ZNK17QGraphicsPathItem4typeEv @ 8923 NONAME - _ZNK17QGraphicsPathItem5shapeEv @ 8924 NONAME - _ZNK17QGraphicsPathItem8containsERK7QPointF @ 8925 NONAME - _ZNK17QGraphicsPathItem9extensionERK8QVariant @ 8926 NONAME - _ZNK17QGraphicsRectItem10opaqueAreaEv @ 8927 NONAME - _ZNK17QGraphicsRectItem12boundingRectEv @ 8928 NONAME - _ZNK17QGraphicsRectItem12isObscuredByEPK13QGraphicsItem @ 8929 NONAME - _ZNK17QGraphicsRectItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 8930 NONAME - _ZNK17QGraphicsRectItem4rectEv @ 8931 NONAME - _ZNK17QGraphicsRectItem4typeEv @ 8932 NONAME - _ZNK17QGraphicsRectItem5shapeEv @ 8933 NONAME - _ZNK17QGraphicsRectItem8containsERK7QPointF @ 8934 NONAME - _ZNK17QGraphicsRectItem9extensionERK8QVariant @ 8935 NONAME - _ZNK17QGraphicsTextItem10metaObjectEv @ 8936 NONAME - _ZNK17QGraphicsTextItem10opaqueAreaEv @ 8937 NONAME - _ZNK17QGraphicsTextItem10textCursorEv @ 8938 NONAME - _ZNK17QGraphicsTextItem11toPlainTextEv @ 8939 NONAME - _ZNK17QGraphicsTextItem12boundingRectEv @ 8940 NONAME - _ZNK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem @ 8941 NONAME - _ZNK17QGraphicsTextItem15tabChangesFocusEv @ 8942 NONAME - _ZNK17QGraphicsTextItem16defaultTextColorEv @ 8943 NONAME - _ZNK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 8944 NONAME - _ZNK17QGraphicsTextItem17openExternalLinksEv @ 8945 NONAME - _ZNK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 8946 NONAME - _ZNK17QGraphicsTextItem20textInteractionFlagsEv @ 8947 NONAME - _ZNK17QGraphicsTextItem4fontEv @ 8948 NONAME - _ZNK17QGraphicsTextItem4typeEv @ 8949 NONAME - _ZNK17QGraphicsTextItem5shapeEv @ 8950 NONAME - _ZNK17QGraphicsTextItem6toHtmlEv @ 8951 NONAME - _ZNK17QGraphicsTextItem8containsERK7QPointF @ 8952 NONAME - _ZNK17QGraphicsTextItem8documentEv @ 8953 NONAME - _ZNK17QGraphicsTextItem9extensionERK8QVariant @ 8954 NONAME - _ZNK17QGraphicsTextItem9textWidthEv @ 8955 NONAME - _ZNK17QIconEnginePlugin10metaObjectEv @ 8956 NONAME - _ZNK17QMainWindowLayout10metaObjectEv @ 8957 NONAME - _ZNK17QMainWindowLayout11minimumSizeEv @ 8958 NONAME - _ZNK17QMainWindowLayout11tabPositionEN2Qt14DockWidgetAreaE @ 8959 NONAME - _ZNK17QMainWindowLayout11toolBarAreaEP8QToolBar @ 8960 NONAME - _ZNK17QMainWindowLayout12documentModeEv @ 8961 NONAME - _ZNK17QMainWindowLayout12toolBarBreakEP8QToolBar @ 8962 NONAME - _ZNK17QMainWindowLayout13centralWidgetEv @ 8963 NONAME - _ZNK17QMainWindowLayout13usesHIToolBarEP8QToolBar @ 8964 NONAME - _ZNK17QMainWindowLayout14dockWidgetAreaEP11QDockWidget @ 8965 NONAME - _ZNK17QMainWindowLayout18getStyleOptionInfoEP19QStyleOptionToolBarP8QToolBar @ 8966 NONAME - _ZNK17QMainWindowLayout5countEv @ 8967 NONAME - _ZNK17QMainWindowLayout6cornerEN2Qt6CornerE @ 8968 NONAME - _ZNK17QMainWindowLayout6itemAtEi @ 8969 NONAME - _ZNK17QMainWindowLayout8sizeHintEv @ 8970 NONAME - _ZNK17QMainWindowLayout8tabShapeEv @ 8971 NONAME - _ZNK17QMainWindowLayout9saveStateER11QDataStream @ 8972 NONAME - _ZNK17QMainWindowLayout9statusBarEv @ 8973 NONAME - _ZNK17QPaintEngineState10clipRegionEv @ 8974 NONAME - _ZNK17QPaintEngineState11brushOriginEv @ 8975 NONAME - _ZNK17QPaintEngineState11renderHintsEv @ 8976 NONAME - _ZNK17QPaintEngineState13clipOperationEv @ 8977 NONAME - _ZNK17QPaintEngineState13isClipEnabledEv @ 8978 NONAME - _ZNK17QPaintEngineState14backgroundModeEv @ 8979 NONAME - _ZNK17QPaintEngineState15backgroundBrushEv @ 8980 NONAME - _ZNK17QPaintEngineState15compositionModeEv @ 8981 NONAME - _ZNK17QPaintEngineState17penNeedsResolvingEv @ 8982 NONAME - _ZNK17QPaintEngineState19brushNeedsResolvingEv @ 8983 NONAME - _ZNK17QPaintEngineState3penEv @ 8984 NONAME - _ZNK17QPaintEngineState4fontEv @ 8985 NONAME - _ZNK17QPaintEngineState5brushEv @ 8986 NONAME - _ZNK17QPaintEngineState6matrixEv @ 8987 NONAME - _ZNK17QPaintEngineState7opacityEv @ 8988 NONAME - _ZNK17QPaintEngineState7painterEv @ 8989 NONAME - _ZNK17QPaintEngineState8clipPathEv @ 8990 NONAME - _ZNK17QPaintEngineState9transformEv @ 8991 NONAME - _ZNK17QRasterPixmapData11paintEngineEv @ 8992 NONAME - _ZNK17QRasterPixmapData15hasAlphaChannelEv @ 8993 NONAME - _ZNK17QRasterPixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 8994 NONAME - _ZNK17QRasterPixmapData7toImageEv @ 8995 NONAME - _ZNK17QTextImageHandler10metaObjectEv @ 8996 NONAME ABSENT - _ZNK17QTextInlineObject11formatIndexEv @ 8997 NONAME - _ZNK17QTextInlineObject12textPositionEv @ 8998 NONAME - _ZNK17QTextInlineObject13textDirectionEv @ 8999 NONAME - _ZNK17QTextInlineObject4rectEv @ 9000 NONAME - _ZNK17QTextInlineObject5widthEv @ 9001 NONAME - _ZNK17QTextInlineObject6ascentEv @ 9002 NONAME - _ZNK17QTextInlineObject6formatEv @ 9003 NONAME - _ZNK17QTextInlineObject6heightEv @ 9004 NONAME - _ZNK17QTextInlineObject7descentEv @ 9005 NONAME - _ZNK18QCommandLinkButton10metaObjectEv @ 9006 NONAME - _ZNK18QCommandLinkButton11descriptionEv @ 9007 NONAME - _ZNK18QCommandLinkButton14heightForWidthEi @ 9008 NONAME - _ZNK18QCommandLinkButton15minimumSizeHintEv @ 9009 NONAME - _ZNK18QCommandLinkButton8sizeHintEv @ 9010 NONAME - _ZNK18QFileDialogPrivate10typedFilesEv @ 9011 NONAME - _ZNK18QFileDialogPrivate11currentViewEv @ 9012 NONAME - _ZNK18QFileDialogPrivate23addDefaultSuffixToFilesE11QStringList @ 9013 NONAME - _ZNK18QFileDialogPrivate8lineEditEv @ 9014 NONAME - _ZNK18QGraphicsItemGroup10opaqueAreaEv @ 9015 NONAME - _ZNK18QGraphicsItemGroup12boundingRectEv @ 9016 NONAME - _ZNK18QGraphicsItemGroup12isObscuredByEPK13QGraphicsItem @ 9017 NONAME - _ZNK18QGraphicsItemGroup4typeEv @ 9018 NONAME - _ZNK18QItemEditorFactory12createEditorEN8QVariant4TypeEP7QWidget @ 9019 NONAME - _ZNK18QItemEditorFactory17valuePropertyNameEN8QVariant4TypeE @ 9020 NONAME - _ZNK18QStandardItemModel10headerDataEiN2Qt11OrientationEi @ 9021 NONAME - _ZNK18QStandardItemModel10metaObjectEv @ 9022 NONAME - _ZNK18QStandardItemModel11columnCountERK11QModelIndex @ 9023 NONAME - _ZNK18QStandardItemModel11hasChildrenERK11QModelIndex @ 9024 NONAME - _ZNK18QStandardItemModel13indexFromItemEPK13QStandardItem @ 9025 NONAME - _ZNK18QStandardItemModel13itemFromIndexERK11QModelIndex @ 9026 NONAME - _ZNK18QStandardItemModel13itemPrototypeEv @ 9027 NONAME - _ZNK18QStandardItemModel17invisibleRootItemEv @ 9028 NONAME - _ZNK18QStandardItemModel18verticalHeaderItemEi @ 9029 NONAME - _ZNK18QStandardItemModel20horizontalHeaderItemEi @ 9030 NONAME - _ZNK18QStandardItemModel20supportedDropActionsEv @ 9031 NONAME - _ZNK18QStandardItemModel4dataERK11QModelIndexi @ 9032 NONAME - _ZNK18QStandardItemModel4itemEii @ 9033 NONAME - _ZNK18QStandardItemModel5flagsERK11QModelIndex @ 9034 NONAME - _ZNK18QStandardItemModel5indexEiiRK11QModelIndex @ 9035 NONAME - _ZNK18QStandardItemModel6parentERK11QModelIndex @ 9036 NONAME - _ZNK18QStandardItemModel8itemDataERK11QModelIndex @ 9037 NONAME - _ZNK18QStandardItemModel8mimeDataERK5QListI11QModelIndexE @ 9038 NONAME - _ZNK18QStandardItemModel8rowCountERK11QModelIndex @ 9039 NONAME - _ZNK18QStandardItemModel8sortRoleEv @ 9040 NONAME - _ZNK18QStandardItemModel9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEEi @ 9041 NONAME - _ZNK18QStandardItemModel9mimeTypesEv @ 9042 NONAME - _ZNK18QSyntaxHighlighter10metaObjectEv @ 9043 NONAME - _ZNK18QSyntaxHighlighter12currentBlockEv @ 9044 NONAME - _ZNK18QSyntaxHighlighter17currentBlockStateEv @ 9045 NONAME - _ZNK18QSyntaxHighlighter18previousBlockStateEv @ 9046 NONAME - _ZNK18QSyntaxHighlighter20currentBlockUserDataEv @ 9047 NONAME - _ZNK18QSyntaxHighlighter6formatEi @ 9048 NONAME - _ZNK18QSyntaxHighlighter8documentEv @ 9049 NONAME - _ZNK19QAbstractProxyModel10headerDataEiN2Qt11OrientationEi @ 9050 NONAME - _ZNK19QAbstractProxyModel10metaObjectEv @ 9051 NONAME - _ZNK19QAbstractProxyModel11sourceModelEv @ 9052 NONAME - _ZNK19QAbstractProxyModel20mapSelectionToSourceERK14QItemSelection @ 9053 NONAME - _ZNK19QAbstractProxyModel22mapSelectionFromSourceERK14QItemSelection @ 9054 NONAME - _ZNK19QAbstractProxyModel4dataERK11QModelIndexi @ 9055 NONAME - _ZNK19QAbstractProxyModel5flagsERK11QModelIndex @ 9056 NONAME - _ZNK19QAbstractProxyModel8itemDataERK11QModelIndex @ 9057 NONAME - _ZNK19QAbstractScrollArea10metaObjectEv @ 9058 NONAME - _ZNK19QAbstractScrollArea12cornerWidgetEv @ 9059 NONAME - _ZNK19QAbstractScrollArea15minimumSizeHintEv @ 9060 NONAME - _ZNK19QAbstractScrollArea17verticalScrollBarEv @ 9061 NONAME - _ZNK19QAbstractScrollArea19horizontalScrollBarEv @ 9062 NONAME - _ZNK19QAbstractScrollArea19maximumViewportSizeEv @ 9063 NONAME - _ZNK19QAbstractScrollArea23verticalScrollBarPolicyEv @ 9064 NONAME - _ZNK19QAbstractScrollArea25horizontalScrollBarPolicyEv @ 9065 NONAME - _ZNK19QAbstractScrollArea8sizeHintEv @ 9066 NONAME - _ZNK19QAbstractScrollArea8viewportEv @ 9067 NONAME - _ZNK19QApplicationPrivate11inPopupModeEv @ 9068 NONAME - _ZNK19QApplicationPrivate7appNameEv @ 9069 NONAME - _ZNK19QCoeFepInputContext10metaObjectEv @ 9070 NONAME - _ZNK19QCoeFepInputContext15GetFormatForFepER11TCharFormati @ 9071 NONAME - _ZNK19QCoeFepInputContext20DocumentLengthForFepEv @ 9072 NONAME - _ZNK19QCoeFepInputContext22GetEditorContentForFepER6TDes16ii @ 9073 NONAME - _ZNK19QCoeFepInputContext24GetCursorSelectionForFepER16TCursorSelection @ 9074 NONAME - _ZNK19QCoeFepInputContext27DocumentMaximumLengthForFepEv @ 9075 NONAME - _ZNK19QCoeFepInputContext27GetScreenCoordinatesForFepLER6TPointRiS2_i @ 9076 NONAME - _ZNK19QDockAreaLayoutInfo11maximumSizeEv @ 9077 NONAME - _ZNK19QDockAreaLayoutInfo11minimumSizeEv @ 9078 NONAME - _ZNK19QDockAreaLayoutInfo11usedTabBarsEv @ 9079 NONAME - _ZNK19QDockAreaLayoutInfo12currentTabIdEv @ 9080 NONAME - _ZNK19QDockAreaLayoutInfo12updateTabBarEv @ 9081 NONAME - _ZNK19QDockAreaLayoutInfo13findSeparatorERK6QPoint @ 9082 NONAME - _ZNK19QDockAreaLayoutInfo13separatorRectE5QListIiE @ 9083 NONAME ABSENT - _ZNK19QDockAreaLayoutInfo13separatorRectEi @ 9084 NONAME - _ZNK19QDockAreaLayoutInfo14tabBarSizeHintEv @ 9085 NONAME - _ZNK19QDockAreaLayoutInfo14tabContentRectEv @ 9086 NONAME - _ZNK19QDockAreaLayoutInfo15paintSeparatorsEP8QPainterP7QWidgetRK7QRegionRK6QPoint @ 9087 NONAME - _ZNK19QDockAreaLayoutInfo15separatorRegionEv @ 9088 NONAME - _ZNK19QDockAreaLayoutInfo16mainWindowLayoutEv @ 9089 NONAME - _ZNK19QDockAreaLayoutInfo17tabBarMinimumSizeEv @ 9090 NONAME - _ZNK19QDockAreaLayoutInfo18indexOfPlaceHolderERK7QString @ 9091 NONAME - _ZNK19QDockAreaLayoutInfo20usedSeparatorWidgetsEv @ 9092 NONAME - _ZNK19QDockAreaLayoutInfo22updateSeparatorWidgetsEv @ 9093 NONAME - _ZNK19QDockAreaLayoutInfo4nextEi @ 9094 NONAME - _ZNK19QDockAreaLayoutInfo4prevEi @ 9095 NONAME - _ZNK19QDockAreaLayoutInfo4sizeEv @ 9096 NONAME - _ZNK19QDockAreaLayoutInfo6itemAtEPii @ 9097 NONAME - _ZNK19QDockAreaLayoutInfo7indexOfEP7QWidget @ 9098 NONAME - _ZNK19QDockAreaLayoutInfo7isEmptyEv @ 9099 NONAME - _ZNK19QDockAreaLayoutInfo8gapIndexERK6QPointbNS_7TabModeE @ 9100 NONAME - _ZNK19QDockAreaLayoutInfo8itemRectE5QListIiE @ 9101 NONAME ABSENT - _ZNK19QDockAreaLayoutInfo8itemRectEi @ 9102 NONAME - _ZNK19QDockAreaLayoutInfo8sizeHintEv @ 9103 NONAME - _ZNK19QDockAreaLayoutInfo9expansiveEN2Qt11OrientationE @ 9104 NONAME - _ZNK19QDockAreaLayoutInfo9saveStateER11QDataStream @ 9105 NONAME - _ZNK19QEventDispatcherS6010metaObjectEv @ 9106 NONAME - _ZNK19QGraphicsGridLayout10rowSpacingEi @ 9107 NONAME - _ZNK19QGraphicsGridLayout11columnCountEv @ 9108 NONAME - _ZNK19QGraphicsGridLayout12rowAlignmentEi @ 9109 NONAME - _ZNK19QGraphicsGridLayout13columnSpacingEi @ 9110 NONAME - _ZNK19QGraphicsGridLayout15columnAlignmentEi @ 9111 NONAME - _ZNK19QGraphicsGridLayout15verticalSpacingEv @ 9112 NONAME - _ZNK19QGraphicsGridLayout16rowMaximumHeightEi @ 9113 NONAME - _ZNK19QGraphicsGridLayout16rowMinimumHeightEi @ 9114 NONAME - _ZNK19QGraphicsGridLayout16rowStretchFactorEi @ 9115 NONAME - _ZNK19QGraphicsGridLayout17horizontalSpacingEv @ 9116 NONAME - _ZNK19QGraphicsGridLayout18columnMaximumWidthEi @ 9117 NONAME - _ZNK19QGraphicsGridLayout18columnMinimumWidthEi @ 9118 NONAME - _ZNK19QGraphicsGridLayout18rowPreferredHeightEi @ 9119 NONAME - _ZNK19QGraphicsGridLayout19columnStretchFactorEi @ 9120 NONAME - _ZNK19QGraphicsGridLayout20columnPreferredWidthEi @ 9121 NONAME - _ZNK19QGraphicsGridLayout5countEv @ 9122 NONAME - _ZNK19QGraphicsGridLayout6itemAtEi @ 9123 NONAME - _ZNK19QGraphicsGridLayout6itemAtEii @ 9124 NONAME - _ZNK19QGraphicsGridLayout8rowCountEv @ 9125 NONAME - _ZNK19QGraphicsGridLayout8sizeHintEN2Qt8SizeHintERK6QSizeF @ 9126 NONAME - _ZNK19QGraphicsGridLayout9alignmentEP19QGraphicsLayoutItem @ 9127 NONAME - _ZNK19QGraphicsLayoutItem10sizePolicyEv @ 9128 NONAME - _ZNK19QGraphicsLayoutItem11maximumSizeEv @ 9129 NONAME - _ZNK19QGraphicsLayoutItem11minimumSizeEv @ 9130 NONAME - _ZNK19QGraphicsLayoutItem12contentsRectEv @ 9131 NONAME - _ZNK19QGraphicsLayoutItem12graphicsItemEv @ 9132 NONAME - _ZNK19QGraphicsLayoutItem13ownedByLayoutEv @ 9133 NONAME - _ZNK19QGraphicsLayoutItem13preferredSizeEv @ 9134 NONAME - _ZNK19QGraphicsLayoutItem16parentLayoutItemEv @ 9135 NONAME - _ZNK19QGraphicsLayoutItem17effectiveSizeHintEN2Qt8SizeHintERK6QSizeF @ 9136 NONAME - _ZNK19QGraphicsLayoutItem18getContentsMarginsEPfS0_S0_S0_ @ 9137 NONAME - _ZNK19QGraphicsLayoutItem8geometryEv @ 9138 NONAME - _ZNK19QGraphicsLayoutItem8isLayoutEv @ 9139 NONAME - _ZNK19QGraphicsPixmapItem10opaqueAreaEv @ 9140 NONAME - _ZNK19QGraphicsPixmapItem12boundingRectEv @ 9141 NONAME - _ZNK19QGraphicsPixmapItem12isObscuredByEPK13QGraphicsItem @ 9142 NONAME - _ZNK19QGraphicsPixmapItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9143 NONAME - _ZNK19QGraphicsPixmapItem18transformationModeEv @ 9144 NONAME - _ZNK19QGraphicsPixmapItem4typeEv @ 9145 NONAME - _ZNK19QGraphicsPixmapItem5shapeEv @ 9146 NONAME - _ZNK19QGraphicsPixmapItem6offsetEv @ 9147 NONAME - _ZNK19QGraphicsPixmapItem6pixmapEv @ 9148 NONAME - _ZNK19QGraphicsPixmapItem8containsERK7QPointF @ 9149 NONAME - _ZNK19QGraphicsPixmapItem9extensionERK8QVariant @ 9150 NONAME - _ZNK19QGraphicsPixmapItem9shapeModeEv @ 9151 NONAME - _ZNK19QGraphicsSceneEvent6widgetEv @ 9152 NONAME - _ZNK19QIconEnginePluginV210metaObjectEv @ 9153 NONAME - _ZNK19QInputContextPlugin10metaObjectEv @ 9154 NONAME - _ZNK19QItemSelectionModel10isSelectedERK11QModelIndex @ 9155 NONAME - _ZNK19QItemSelectionModel10metaObjectEv @ 9156 NONAME - _ZNK19QItemSelectionModel12currentIndexEv @ 9157 NONAME - _ZNK19QItemSelectionModel12hasSelectionEv @ 9158 NONAME - _ZNK19QItemSelectionModel12selectedRowsEi @ 9159 NONAME - _ZNK19QItemSelectionModel13isRowSelectedEiRK11QModelIndex @ 9160 NONAME - _ZNK19QItemSelectionModel15selectedColumnsEi @ 9161 NONAME - _ZNK19QItemSelectionModel15selectedIndexesEv @ 9162 NONAME - _ZNK19QItemSelectionModel16isColumnSelectedEiRK11QModelIndex @ 9163 NONAME - _ZNK19QItemSelectionModel22rowIntersectsSelectionEiRK11QModelIndex @ 9164 NONAME - _ZNK19QItemSelectionModel25columnIntersectsSelectionEiRK11QModelIndex @ 9165 NONAME - _ZNK19QItemSelectionModel5modelEv @ 9166 NONAME - _ZNK19QItemSelectionModel9selectionEv @ 9167 NONAME - _ZNK19QItemSelectionRange10intersectsERKS_ @ 9168 NONAME - _ZNK19QItemSelectionRange7indexesEv @ 9169 NONAME - _ZNK19QItemSelectionRange9intersectERKS_ @ 9170 NONAME - _ZNK19QPainterPathStroker10dashOffsetEv @ 9171 NONAME - _ZNK19QPainterPathStroker10miterLimitEv @ 9172 NONAME - _ZNK19QPainterPathStroker11dashPatternEv @ 9173 NONAME - _ZNK19QPainterPathStroker12createStrokeERK12QPainterPath @ 9174 NONAME - _ZNK19QPainterPathStroker14curveThresholdEv @ 9175 NONAME - _ZNK19QPainterPathStroker5widthEv @ 9176 NONAME - _ZNK19QPainterPathStroker8capStyleEv @ 9177 NONAME - _ZNK19QPainterPathStroker9joinStyleEv @ 9178 NONAME - _ZNK19QStyledItemDelegate10metaObjectEv @ 9179 NONAME - _ZNK19QStyledItemDelegate11displayTextERK8QVariantRK7QLocale @ 9180 NONAME - _ZNK19QStyledItemDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 9181 NONAME - _ZNK19QStyledItemDelegate12setModelDataEP7QWidgetP18QAbstractItemModelRK11QModelIndex @ 9182 NONAME - _ZNK19QStyledItemDelegate13setEditorDataEP7QWidgetRK11QModelIndex @ 9183 NONAME - _ZNK19QStyledItemDelegate15initStyleOptionEP20QStyleOptionViewItemRK11QModelIndex @ 9184 NONAME - _ZNK19QStyledItemDelegate17itemEditorFactoryEv @ 9185 NONAME - _ZNK19QStyledItemDelegate20updateEditorGeometryEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 9186 NONAME - _ZNK19QStyledItemDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex @ 9187 NONAME - _ZNK19QStyledItemDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex @ 9188 NONAME - _ZNK19QTextDocumentLayout10idealWidthEv @ 9189 NONAME - _ZNK19QTextDocumentLayout10metaObjectEv @ 9190 NONAME - _ZNK19QTextDocumentLayout11cursorWidthEv @ 9191 NONAME - _ZNK19QTextDocumentLayout12documentSizeEv @ 9192 NONAME - _ZNK19QTextDocumentLayout12layoutStatusEv @ 9193 NONAME - _ZNK19QTextDocumentLayout16dynamicPageCountEv @ 9194 NONAME - _ZNK19QTextDocumentLayout17blockBoundingRectERK10QTextBlock @ 9195 NONAME - _ZNK19QTextDocumentLayout17frameBoundingRectEP10QTextFrame @ 9196 NONAME - _ZNK19QTextDocumentLayout19contentHasAlignmentEv @ 9197 NONAME - _ZNK19QTextDocumentLayout19dynamicDocumentSizeEv @ 9198 NONAME - _ZNK19QTextDocumentLayout7hitTestERK7QPointFN2Qt15HitTestAccuracyE @ 9199 NONAME - _ZNK19QTextDocumentLayout9pageCountEv @ 9200 NONAME - _ZNK19QTextDocumentWriter5codecEv @ 9201 NONAME - _ZNK19QTextDocumentWriter6deviceEv @ 9202 NONAME - _ZNK19QTextDocumentWriter6formatEv @ 9203 NONAME - _ZNK19QTextDocumentWriter8fileNameEv @ 9204 NONAME - _ZNK19QWidgetBackingStore11dirtyRegionEP7QWidget @ 9205 NONAME - _ZNK19QWidgetBackingStore14staticContentsEP7QWidgetRK5QRect @ 9206 NONAME - _ZNK20QGraphicsEllipseItem10opaqueAreaEv @ 9207 NONAME - _ZNK20QGraphicsEllipseItem10startAngleEv @ 9208 NONAME - _ZNK20QGraphicsEllipseItem12boundingRectEv @ 9209 NONAME - _ZNK20QGraphicsEllipseItem12isObscuredByEPK13QGraphicsItem @ 9210 NONAME - _ZNK20QGraphicsEllipseItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9211 NONAME - _ZNK20QGraphicsEllipseItem4rectEv @ 9212 NONAME - _ZNK20QGraphicsEllipseItem4typeEv @ 9213 NONAME - _ZNK20QGraphicsEllipseItem5shapeEv @ 9214 NONAME - _ZNK20QGraphicsEllipseItem8containsERK7QPointF @ 9215 NONAME - _ZNK20QGraphicsEllipseItem9extensionERK8QVariant @ 9216 NONAME - _ZNK20QGraphicsEllipseItem9spanAngleEv @ 9217 NONAME - _ZNK20QGraphicsItemPrivate13isProxyWidgetEv @ 9218 NONAME - _ZNK20QGraphicsItemPrivate14extraItemCacheEv @ 9219 NONAME - _ZNK20QGraphicsItemPrivate19genericMapFromSceneERK7QPointFPK7QWidget @ 9220 NONAME - _ZNK20QGraphicsItemPrivate20discardUpdateRequestEbbbb @ 9221 NONAME - _ZNK20QGraphicsItemPrivate21itemIsUntransformableEv @ 9222 NONAME ABSENT - _ZNK20QGraphicsItemPrivate22inputMethodQueryHelperEN2Qt16InputMethodQueryE @ 9223 NONAME - _ZNK20QGraphicsPolygonItem10opaqueAreaEv @ 9224 NONAME - _ZNK20QGraphicsPolygonItem12boundingRectEv @ 9225 NONAME - _ZNK20QGraphicsPolygonItem12isObscuredByEPK13QGraphicsItem @ 9226 NONAME - _ZNK20QGraphicsPolygonItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9227 NONAME - _ZNK20QGraphicsPolygonItem4typeEv @ 9228 NONAME - _ZNK20QGraphicsPolygonItem5shapeEv @ 9229 NONAME - _ZNK20QGraphicsPolygonItem7polygonEv @ 9230 NONAME - _ZNK20QGraphicsPolygonItem8containsERK7QPointF @ 9231 NONAME - _ZNK20QGraphicsPolygonItem8fillRuleEv @ 9232 NONAME - _ZNK20QGraphicsPolygonItem9extensionERK8QVariant @ 9233 NONAME - _ZNK20QGraphicsProxyWidget10metaObjectEv @ 9234 NONAME - _ZNK20QGraphicsProxyWidget13subWidgetRectEPK7QWidget @ 9235 NONAME - _ZNK20QGraphicsProxyWidget4typeEv @ 9236 NONAME - _ZNK20QGraphicsProxyWidget6widgetEv @ 9237 NONAME - _ZNK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF @ 9238 NONAME - _ZNK20QGraphicsViewPrivate11itemsInAreaERK12QPainterPathN2Qt17ItemSelectionModeENS3_9SortOrderE @ 9239 NONAME ABSENT - _ZNK20QGraphicsViewPrivate13mapToViewRectEPK13QGraphicsItemRK6QRectF @ 9240 NONAME - _ZNK20QGraphicsViewPrivate14verticalScrollEv @ 9241 NONAME - _ZNK20QGraphicsViewPrivate15mapToViewRegionEPK13QGraphicsItemRK6QRectF @ 9242 NONAME - _ZNK20QGraphicsViewPrivate16horizontalScrollEv @ 9243 NONAME - _ZNK20QGraphicsViewPrivate16rubberBandRegionEPK7QWidgetRK5QRect @ 9244 NONAME - _ZNK20QGraphicsViewPrivate20generateStyleOptionsERK5QListIP13QGraphicsItemEPS2_P24QStyleOptionGraphicsItemRK10QTransformbRK7QRegion @ 9245 NONAME ABSENT - _ZNK20QGraphicsViewPrivate9findItemsERK7QRegionPb @ 9246 NONAME ABSENT - _ZNK20QPictureFormatPlugin10metaObjectEv @ 9247 NONAME - _ZNK20QTextDocumentPrivate14objectForIndexEi @ 9248 NONAME - _ZNK20QTextDocumentPrivate15objectForFormatERK11QTextFormat @ 9249 NONAME - _ZNK20QTextDocumentPrivate15objectForFormatEi @ 9250 NONAME - _ZNK20QTextDocumentPrivate18nextCursorPositionEiN11QTextLayout10CursorModeE @ 9251 NONAME - _ZNK20QTextDocumentPrivate20blockCharFormatIndexEi @ 9252 NONAME - _ZNK20QTextDocumentPrivate22previousCursorPositionEiN11QTextLayout10CursorModeE @ 9253 NONAME - _ZNK20QTextDocumentPrivate7frameAtEi @ 9254 NONAME - _ZNK20QTextDocumentPrivate9plainTextEv @ 9255 NONAME - _ZNK20QTextDocumentPrivate9rootFrameEv @ 9256 NONAME - _ZNK20QWidgetResizeHandler10metaObjectEv @ 9257 NONAME - _ZNK20QWidgetResizeHandler8isActiveENS_6ActionE @ 9258 NONAME - _ZNK21QAbstractItemDelegate10metaObjectEv @ 9259 NONAME - _ZNK21QAbstractItemDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 9260 NONAME - _ZNK21QAbstractItemDelegate12setModelDataEP7QWidgetP18QAbstractItemModelRK11QModelIndex @ 9261 NONAME - _ZNK21QAbstractItemDelegate13setEditorDataEP7QWidgetRK11QModelIndex @ 9262 NONAME - _ZNK21QAbstractItemDelegate20updateEditorGeometryEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 9263 NONAME - _ZNK21QGraphicsLinearLayout11itemSpacingEi @ 9264 NONAME - _ZNK21QGraphicsLinearLayout11orientationEv @ 9265 NONAME - _ZNK21QGraphicsLinearLayout13stretchFactorEP19QGraphicsLayoutItem @ 9266 NONAME - _ZNK21QGraphicsLinearLayout5countEv @ 9267 NONAME - _ZNK21QGraphicsLinearLayout6itemAtEi @ 9268 NONAME - _ZNK21QGraphicsLinearLayout7spacingEv @ 9269 NONAME - _ZNK21QGraphicsLinearLayout8sizeHintEN2Qt8SizeHintERK6QSizeF @ 9270 NONAME - _ZNK21QGraphicsLinearLayout9alignmentEP19QGraphicsLayoutItem @ 9271 NONAME - _ZNK21QGraphicsSystemPlugin10metaObjectEv @ 9272 NONAME - _ZNK21QPixmapColorizeFilter10metaObjectEv @ 9273 NONAME - _ZNK21QPixmapColorizeFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 9274 NONAME - _ZNK21QPixmapColorizeFilter5colorEv @ 9275 NONAME - _ZNK21QSortFilterProxyModel10filterRoleEv @ 9276 NONAME - _ZNK21QSortFilterProxyModel10headerDataEiN2Qt11OrientationEi @ 9277 NONAME - _ZNK21QSortFilterProxyModel10metaObjectEv @ 9278 NONAME - _ZNK21QSortFilterProxyModel10sortColumnEv @ 9279 NONAME - _ZNK21QSortFilterProxyModel11columnCountERK11QModelIndex @ 9280 NONAME - _ZNK21QSortFilterProxyModel11hasChildrenERK11QModelIndex @ 9281 NONAME - _ZNK21QSortFilterProxyModel11mapToSourceERK11QModelIndex @ 9282 NONAME - _ZNK21QSortFilterProxyModel12canFetchMoreERK11QModelIndex @ 9283 NONAME - _ZNK21QSortFilterProxyModel12filterRegExpEv @ 9284 NONAME - _ZNK21QSortFilterProxyModel13mapFromSourceERK11QModelIndex @ 9285 NONAME - _ZNK21QSortFilterProxyModel15filterKeyColumnEv @ 9286 NONAME - _ZNK21QSortFilterProxyModel16filterAcceptsRowEiRK11QModelIndex @ 9287 NONAME - _ZNK21QSortFilterProxyModel17dynamicSortFilterEv @ 9288 NONAME - _ZNK21QSortFilterProxyModel17isSortLocaleAwareEv @ 9289 NONAME - _ZNK21QSortFilterProxyModel19filterAcceptsColumnEiRK11QModelIndex @ 9290 NONAME - _ZNK21QSortFilterProxyModel19sortCaseSensitivityEv @ 9291 NONAME - _ZNK21QSortFilterProxyModel20mapSelectionToSourceERK14QItemSelection @ 9292 NONAME - _ZNK21QSortFilterProxyModel20supportedDropActionsEv @ 9293 NONAME - _ZNK21QSortFilterProxyModel21filterCaseSensitivityEv @ 9294 NONAME - _ZNK21QSortFilterProxyModel22mapSelectionFromSourceERK14QItemSelection @ 9295 NONAME - _ZNK21QSortFilterProxyModel4dataERK11QModelIndexi @ 9296 NONAME - _ZNK21QSortFilterProxyModel4spanERK11QModelIndex @ 9297 NONAME - _ZNK21QSortFilterProxyModel5buddyERK11QModelIndex @ 9298 NONAME - _ZNK21QSortFilterProxyModel5flagsERK11QModelIndex @ 9299 NONAME - _ZNK21QSortFilterProxyModel5indexEiiRK11QModelIndex @ 9300 NONAME - _ZNK21QSortFilterProxyModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 9301 NONAME - _ZNK21QSortFilterProxyModel6parentERK11QModelIndex @ 9302 NONAME - _ZNK21QSortFilterProxyModel8lessThanERK11QModelIndexS2_ @ 9303 NONAME - _ZNK21QSortFilterProxyModel8mimeDataERK5QListI11QModelIndexE @ 9304 NONAME - _ZNK21QSortFilterProxyModel8rowCountERK11QModelIndex @ 9305 NONAME - _ZNK21QSortFilterProxyModel8sortRoleEv @ 9306 NONAME - _ZNK21QSortFilterProxyModel9mimeTypesEv @ 9307 NONAME - _ZNK21QSortFilterProxyModel9sortOrderEv @ 9308 NONAME - _ZNK21QTextDocumentFragment11toPlainTextEv @ 9309 NONAME - _ZNK21QTextDocumentFragment6toHtmlERK10QByteArray @ 9310 NONAME - _ZNK21QTextDocumentFragment6toHtmlEv @ 9311 NONAME - _ZNK21QTextDocumentFragment7isEmptyEv @ 9312 NONAME - _ZNK21QTextFormatCollection12objectFormatEi @ 9313 NONAME - _ZNK21QTextFormatCollection15hasFormatCachedERK11QTextFormat @ 9314 NONAME - _ZNK21QTextFormatCollection17objectFormatIndexEi @ 9315 NONAME - _ZNK21QTextFormatCollection6formatEi @ 9316 NONAME - _ZNK22QGraphicsItemAnimation10metaObjectEv @ 9317 NONAME - _ZNK22QGraphicsItemAnimation10rotationAtEf @ 9318 NONAME - _ZNK22QGraphicsItemAnimation12rotationListEv @ 9319 NONAME - _ZNK22QGraphicsItemAnimation14xTranslationAtEf @ 9320 NONAME - _ZNK22QGraphicsItemAnimation14yTranslationAtEf @ 9321 NONAME - _ZNK22QGraphicsItemAnimation15translationListEv @ 9322 NONAME - _ZNK22QGraphicsItemAnimation15verticalScaleAtEf @ 9323 NONAME - _ZNK22QGraphicsItemAnimation15verticalShearAtEf @ 9324 NONAME - _ZNK22QGraphicsItemAnimation17horizontalScaleAtEf @ 9325 NONAME - _ZNK22QGraphicsItemAnimation17horizontalShearAtEf @ 9326 NONAME - _ZNK22QGraphicsItemAnimation4itemEv @ 9327 NONAME - _ZNK22QGraphicsItemAnimation5posAtEf @ 9328 NONAME - _ZNK22QGraphicsItemAnimation7posListEv @ 9329 NONAME - _ZNK22QGraphicsItemAnimation8matrixAtEf @ 9330 NONAME - _ZNK22QGraphicsItemAnimation8timeLineEv @ 9331 NONAME - _ZNK22QGraphicsItemAnimation9scaleListEv @ 9332 NONAME - _ZNK22QGraphicsItemAnimation9shearListEv @ 9333 NONAME - _ZNK22QGraphicsLayoutPrivate15visualDirectionEv @ 9334 NONAME - _ZNK22QGraphicsLayoutPrivate9getMarginEPffN6QStyle11PixelMetricE @ 9335 NONAME - _ZNK22QGraphicsWidgetPrivate13hasDecorationEv @ 9336 NONAME ABSENT - _ZNK22QGraphicsWidgetPrivate14titleBarHeightERK20QStyleOptionTitleBar @ 9337 NONAME ABSENT - _ZNK22QGraphicsWidgetPrivate17naturalWidgetFontEv @ 9338 NONAME ABSENT - _ZNK22QGraphicsWidgetPrivate20getLayoutItemMarginsEPfS0_S0_S0_ @ 9339 NONAME ABSENT - _ZNK22QGraphicsWidgetPrivate20naturalWidgetPaletteEv @ 9340 NONAME ABSENT - _ZNK23QFileSystemModelPrivate15passNameFiltersEPKNS_15QFileSystemNodeE @ 9341 NONAME - _ZNK23QFileSystemModelPrivate18filtersAcceptsNodeEPKNS_15QFileSystemNodeE @ 9342 NONAME - _ZNK23QFileSystemModelPrivate4iconERK11QModelIndex @ 9343 NONAME - _ZNK23QFileSystemModelPrivate4nameERK11QModelIndex @ 9344 NONAME - _ZNK23QFileSystemModelPrivate4nodeERK11QModelIndex @ 9345 NONAME - _ZNK23QFileSystemModelPrivate4nodeERK7QStringb @ 9346 NONAME - _ZNK23QFileSystemModelPrivate4sizeERK11QModelIndex @ 9347 NONAME - _ZNK23QFileSystemModelPrivate4timeERK11QModelIndex @ 9348 NONAME - _ZNK23QFileSystemModelPrivate4typeERK11QModelIndex @ 9349 NONAME - _ZNK23QFileSystemModelPrivate5indexEPKNS_15QFileSystemNodeE @ 9350 NONAME - _ZNK23QFileSystemModelPrivate8filePathERK11QModelIndex @ 9351 NONAME - _ZNK23QGraphicsSceneHelpEvent8scenePosEv @ 9352 NONAME - _ZNK23QGraphicsSceneHelpEvent9screenPosEv @ 9353 NONAME - _ZNK23QGraphicsSceneMoveEvent6newPosEv @ 9354 NONAME - _ZNK23QGraphicsSceneMoveEvent6oldPosEv @ 9355 NONAME - _ZNK23QGraphicsSimpleTextItem10opaqueAreaEv @ 9356 NONAME - _ZNK23QGraphicsSimpleTextItem12boundingRectEv @ 9357 NONAME - _ZNK23QGraphicsSimpleTextItem12isObscuredByEPK13QGraphicsItem @ 9358 NONAME - _ZNK23QGraphicsSimpleTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9359 NONAME - _ZNK23QGraphicsSimpleTextItem4fontEv @ 9360 NONAME - _ZNK23QGraphicsSimpleTextItem4textEv @ 9361 NONAME - _ZNK23QGraphicsSimpleTextItem4typeEv @ 9362 NONAME - _ZNK23QGraphicsSimpleTextItem5shapeEv @ 9363 NONAME - _ZNK23QGraphicsSimpleTextItem8containsERK7QPointF @ 9364 NONAME - _ZNK23QGraphicsSimpleTextItem9extensionERK8QVariant @ 9365 NONAME - _ZNK23QImageTextureGlyphCache11glyphMarginEv @ 9366 NONAME ABSENT - _ZNK23QPixmapDropShadowFilter10blurRadiusEv @ 9367 NONAME - _ZNK23QPixmapDropShadowFilter10metaObjectEv @ 9368 NONAME - _ZNK23QPixmapDropShadowFilter15boundingRectForERK6QRectF @ 9369 NONAME - _ZNK23QPixmapDropShadowFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 9370 NONAME - _ZNK23QPixmapDropShadowFilter5colorEv @ 9371 NONAME - _ZNK23QPixmapDropShadowFilter6offsetEv @ 9372 NONAME - _ZNK23QTreeWidgetItemIterator12matchesFlagsEPK15QTreeWidgetItem @ 9373 NONAME - _ZNK23QWindowStateChangeEvent10isOverrideEv @ 9374 NONAME - _ZNK24QAbstractItemViewPrivate10shouldEditEN17QAbstractItemView11EditTriggerERK11QModelIndex @ 9375 NONAME - _ZNK24QAbstractItemViewPrivate13viewOptionsV4Ev @ 9376 NONAME - _ZNK24QAbstractItemViewPrivate14editorForIndexERK11QModelIndex @ 9377 NONAME - _ZNK24QAbstractItemViewPrivate14indexForEditorEP7QWidget @ 9378 NONAME - _ZNK24QAbstractItemViewPrivate14renderToPixmapERK5QListI11QModelIndexEP5QRect @ 9379 NONAME - _ZNK24QAbstractItemViewPrivate16shouldAutoScrollERK6QPoint @ 9380 NONAME - _ZNK24QAbstractItemViewPrivate17sendDelegateEventERK11QModelIndexP6QEvent @ 9381 NONAME - _ZNK24QAbstractItemViewPrivate18shouldForwardEventEN17QAbstractItemView11EditTriggerEPK6QEvent @ 9382 NONAME - _ZNK24QAbstractItemViewPrivate21multiSelectionCommandERK11QModelIndexPK6QEvent @ 9383 NONAME - _ZNK24QAbstractItemViewPrivate24extendedSelectionCommandERK11QModelIndexPK6QEvent @ 9384 NONAME - _ZNK24QAbstractItemViewPrivate24selectedDraggableIndexesEv @ 9385 NONAME - _ZNK24QAbstractItemViewPrivate26contiguousSelectionCommandERK11QModelIndexPK6QEvent @ 9386 NONAME - _ZNK24QAbstractItemViewPrivate27interruptDelayedItemsLayoutEv @ 9387 NONAME - _ZNK24QAbstractItemViewPrivate8positionERK6QPointRK5QRectRK11QModelIndex @ 9388 NONAME - _ZNK24QComboBoxPrivateScroller10metaObjectEv @ 9389 NONAME - _ZNK24QGraphicsSceneHoverEvent12lastScenePosEv @ 9390 NONAME - _ZNK24QGraphicsSceneHoverEvent13lastScreenPosEv @ 9391 NONAME - _ZNK24QGraphicsSceneHoverEvent3posEv @ 9392 NONAME - _ZNK24QGraphicsSceneHoverEvent7lastPosEv @ 9393 NONAME - _ZNK24QGraphicsSceneHoverEvent8scenePosEv @ 9394 NONAME - _ZNK24QGraphicsSceneHoverEvent9modifiersEv @ 9395 NONAME - _ZNK24QGraphicsSceneHoverEvent9screenPosEv @ 9396 NONAME - _ZNK24QGraphicsSceneMouseEvent12lastScenePosEv @ 9397 NONAME - _ZNK24QGraphicsSceneMouseEvent13buttonDownPosEN2Qt11MouseButtonE @ 9398 NONAME - _ZNK24QGraphicsSceneMouseEvent13lastScreenPosEv @ 9399 NONAME - _ZNK24QGraphicsSceneMouseEvent18buttonDownScenePosEN2Qt11MouseButtonE @ 9400 NONAME - _ZNK24QGraphicsSceneMouseEvent19buttonDownScreenPosEN2Qt11MouseButtonE @ 9401 NONAME - _ZNK24QGraphicsSceneMouseEvent3posEv @ 9402 NONAME - _ZNK24QGraphicsSceneMouseEvent6buttonEv @ 9403 NONAME - _ZNK24QGraphicsSceneMouseEvent7buttonsEv @ 9404 NONAME - _ZNK24QGraphicsSceneMouseEvent7lastPosEv @ 9405 NONAME - _ZNK24QGraphicsSceneMouseEvent8scenePosEv @ 9406 NONAME - _ZNK24QGraphicsSceneMouseEvent9modifiersEv @ 9407 NONAME - _ZNK24QGraphicsSceneMouseEvent9screenPosEv @ 9408 NONAME - _ZNK24QGraphicsSceneWheelEvent11orientationEv @ 9409 NONAME - _ZNK24QGraphicsSceneWheelEvent3posEv @ 9410 NONAME - _ZNK24QGraphicsSceneWheelEvent5deltaEv @ 9411 NONAME - _ZNK24QGraphicsSceneWheelEvent7buttonsEv @ 9412 NONAME - _ZNK24QGraphicsSceneWheelEvent8scenePosEv @ 9413 NONAME - _ZNK24QGraphicsSceneWheelEvent9modifiersEv @ 9414 NONAME - _ZNK24QGraphicsSceneWheelEvent9screenPosEv @ 9415 NONAME - _ZNK24QPixmapConvolutionFilter10metaObjectEv @ 9416 NONAME - _ZNK24QPixmapConvolutionFilter15boundingRectForERK6QRectF @ 9417 NONAME - _ZNK24QPixmapConvolutionFilter17convolutionKernelEv @ 9418 NONAME - _ZNK24QPixmapConvolutionFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 9419 NONAME - _ZNK24QPixmapConvolutionFilter4rowsEv @ 9420 NONAME - _ZNK24QPixmapConvolutionFilter7columnsEv @ 9421 NONAME - _ZNK24QPlainTextDocumentLayout10metaObjectEv @ 9422 NONAME - _ZNK24QPlainTextDocumentLayout11cursorWidthEv @ 9423 NONAME - _ZNK24QPlainTextDocumentLayout12documentSizeEv @ 9424 NONAME - _ZNK24QPlainTextDocumentLayout17blockBoundingRectERK10QTextBlock @ 9425 NONAME - _ZNK24QPlainTextDocumentLayout17ensureBlockLayoutERK10QTextBlock @ 9426 NONAME - _ZNK24QPlainTextDocumentLayout17frameBoundingRectEP10QTextFrame @ 9427 NONAME - _ZNK24QPlainTextDocumentLayout4privEv @ 9428 NONAME - _ZNK24QPlainTextDocumentLayout7hitTestERK7QPointFN2Qt15HitTestAccuracyE @ 9429 NONAME - _ZNK24QPlainTextDocumentLayout9pageCountEv @ 9430 NONAME - _ZNK24QPlainTextDocumentLayout9textWidthEv @ 9431 NONAME - _ZNK25QComboBoxPrivateContainer10metaObjectEv @ 9432 NONAME - _ZNK25QComboBoxPrivateContainer16comboStyleOptionEv @ 9433 NONAME - _ZNK25QComboBoxPrivateContainer7spacingEv @ 9434 NONAME - _ZNK25QComboBoxPrivateContainer8itemViewEv @ 9435 NONAME - _ZNK25QGraphicsSceneResizeEvent7newSizeEv @ 9436 NONAME - _ZNK25QGraphicsSceneResizeEvent7oldSizeEv @ 9437 NONAME - _ZNK26QAbstractGraphicsShapeItem10opaqueAreaEv @ 9438 NONAME - _ZNK26QAbstractGraphicsShapeItem12isObscuredByEPK13QGraphicsItem @ 9439 NONAME - _ZNK26QAbstractGraphicsShapeItem3penEv @ 9440 NONAME - _ZNK26QAbstractGraphicsShapeItem5brushEv @ 9441 NONAME - _ZNK26QAbstractScrollAreaPrivate14contentsOffsetEv @ 9442 NONAME - _ZNK26QGraphicsLayoutItemPrivate10parentItemEv @ 9443 NONAME - _ZNK26QGraphicsLayoutItemPrivate18effectiveSizeHintsERK6QSizeF @ 9444 NONAME - _ZNK27QAbstractTextDocumentLayout10metaObjectEv @ 9445 NONAME - _ZNK27QAbstractTextDocumentLayout11paintDeviceEv @ 9446 NONAME - _ZNK27QAbstractTextDocumentLayout16handlerForObjectEi @ 9447 NONAME - _ZNK27QAbstractTextDocumentLayout8anchorAtERK7QPointF @ 9448 NONAME - _ZNK27QAbstractTextDocumentLayout8documentEv @ 9449 NONAME - _ZNK27QGraphicsSceneDragDropEvent10dropActionEv @ 9450 NONAME - _ZNK27QGraphicsSceneDragDropEvent14proposedActionEv @ 9451 NONAME - _ZNK27QGraphicsSceneDragDropEvent15possibleActionsEv @ 9452 NONAME - _ZNK27QGraphicsSceneDragDropEvent3posEv @ 9453 NONAME - _ZNK27QGraphicsSceneDragDropEvent6sourceEv @ 9454 NONAME - _ZNK27QGraphicsSceneDragDropEvent7buttonsEv @ 9455 NONAME - _ZNK27QGraphicsSceneDragDropEvent8mimeDataEv @ 9456 NONAME - _ZNK27QGraphicsSceneDragDropEvent8scenePosEv @ 9457 NONAME - _ZNK27QGraphicsSceneDragDropEvent9modifiersEv @ 9458 NONAME - _ZNK27QGraphicsSceneDragDropEvent9screenPosEv @ 9459 NONAME - _ZNK30QGraphicsSceneContextMenuEvent3posEv @ 9460 NONAME - _ZNK30QGraphicsSceneContextMenuEvent6reasonEv @ 9461 NONAME - _ZNK30QGraphicsSceneContextMenuEvent8scenePosEv @ 9462 NONAME - _ZNK30QGraphicsSceneContextMenuEvent9modifiersEv @ 9463 NONAME - _ZNK30QGraphicsSceneContextMenuEvent9screenPosEv @ 9464 NONAME - _ZNK4QCss11Declaration10brushValueERK8QPalette @ 9465 NONAME - _ZNK4QCss11Declaration10colorValueERK8QPalette @ 9466 NONAME - _ZNK4QCss11Declaration10styleValueEv @ 9467 NONAME - _ZNK4QCss11Declaration11brushValuesEP6QBrushRK8QPalette @ 9468 NONAME - _ZNK4QCss11Declaration11colorValuesEP6QColorRK8QPalette @ 9469 NONAME - _ZNK4QCss11Declaration11originValueEv @ 9470 NONAME - _ZNK4QCss11Declaration11repeatValueEv @ 9471 NONAME - _ZNK4QCss11Declaration11styleValuesEPNS_11BorderStyleE @ 9472 NONAME - _ZNK4QCss11Declaration13positionValueEv @ 9473 NONAME - _ZNK4QCss11Declaration14alignmentValueEv @ 9474 NONAME - _ZNK4QCss11Declaration15attachmentValueEv @ 9475 NONAME - _ZNK4QCss11Declaration16borderImageValueEP7QStringPiPNS_8TileModeES5_ @ 9476 NONAME - _ZNK4QCss11Declaration18styleFeaturesValueEv @ 9477 NONAME - _ZNK4QCss11Declaration8intValueEPiPKc @ 9478 NONAME - _ZNK4QCss11Declaration8uriValueEv @ 9479 NONAME - _ZNK4QCss11Declaration9iconValueEv @ 9480 NONAME - _ZNK4QCss11Declaration9realValueEPfPKc @ 9481 NONAME - _ZNK4QCss11Declaration9rectValueEv @ 9482 NONAME - _ZNK4QCss11Declaration9sizeValueEv @ 9483 NONAME - _ZNK4QCss13StyleSelector14nodeNameEqualsENS0_7NodePtrERK7QString @ 9484 NONAME - _ZNK4QCss13StyleSelector7nodeIdsENS0_7NodePtrE @ 9485 NONAME - _ZNK4QCss5Value8toStringEv @ 9486 NONAME - _ZNK4QCss6Parser13unquotedLexemEv @ 9487 NONAME - _ZNK4QCss6Symbol5lexemEv @ 9488 NONAME - _ZNK4QCss8Selector11pseudoClassEPy @ 9489 NONAME - _ZNK4QCss8Selector11specificityEv @ 9490 NONAME - _ZNK4QCss8Selector13pseudoElementEv @ 9491 NONAME - _ZNK4QPen10dashOffsetEv @ 9492 NONAME - _ZNK4QPen10isCosmeticEv @ 9493 NONAME - _ZNK4QPen10miterLimitEv @ 9494 NONAME - _ZNK4QPen11dashPatternEv @ 9495 NONAME - _ZNK4QPen5brushEv @ 9496 NONAME - _ZNK4QPen5colorEv @ 9497 NONAME - _ZNK4QPen5styleEv @ 9498 NONAME - _ZNK4QPen5widthEv @ 9499 NONAME - _ZNK4QPen6widthFEv @ 9500 NONAME - _ZNK4QPen7isSolidEv @ 9501 NONAME - _ZNK4QPen8capStyleEv @ 9502 NONAME - _ZNK4QPen9joinStyleEv @ 9503 NONAME - _ZNK4QPencv8QVariantEv @ 9504 NONAME - _ZNK4QPeneqERKS_ @ 9505 NONAME - _ZNK5QDial10metaObjectEv @ 9506 NONAME - _ZNK5QDial11notchTargetEv @ 9507 NONAME - _ZNK5QDial14notchesVisibleEv @ 9508 NONAME - _ZNK5QDial15initStyleOptionEP18QStyleOptionSlider @ 9509 NONAME - _ZNK5QDial15minimumSizeHintEv @ 9510 NONAME - _ZNK5QDial8sizeHintEv @ 9511 NONAME - _ZNK5QDial8wrappingEv @ 9512 NONAME - _ZNK5QDial9notchSizeEv @ 9513 NONAME - _ZNK5QDrag10metaObjectEv @ 9514 NONAME - _ZNK5QDrag6pixmapEv @ 9515 NONAME - _ZNK5QDrag6sourceEv @ 9516 NONAME - _ZNK5QDrag6targetEv @ 9517 NONAME - _ZNK5QDrag7hotSpotEv @ 9518 NONAME - _ZNK5QDrag8mimeDataEv @ 9519 NONAME - _ZNK5QFont10exactMatchEv @ 9520 NONAME - _ZNK5QFont10fixedPitchEv @ 9521 NONAME - _ZNK5QFont10pointSizeFEv @ 9522 NONAME - _ZNK5QFont11wordSpacingEv @ 9523 NONAME - _ZNK5QFont13defaultFamilyEv @ 9524 NONAME - _ZNK5QFont13letterSpacingEv @ 9525 NONAME - _ZNK5QFont13styleStrategyEv @ 9526 NONAME - _ZNK5QFont14capitalizationEv @ 9527 NONAME - _ZNK5QFont16lastResortFamilyEv @ 9528 NONAME - _ZNK5QFont17letterSpacingTypeEv @ 9529 NONAME - _ZNK5QFont3keyEv @ 9530 NONAME - _ZNK5QFont5styleEv @ 9531 NONAME - _ZNK5QFont6familyEv @ 9532 NONAME - _ZNK5QFont6weightEv @ 9533 NONAME - _ZNK5QFont7kerningEv @ 9534 NONAME - _ZNK5QFont7rawModeEv @ 9535 NONAME - _ZNK5QFont7resolveERKS_ @ 9536 NONAME - _ZNK5QFont7stretchEv @ 9537 NONAME - _ZNK5QFont8isCopyOfERKS_ @ 9538 NONAME - _ZNK5QFont8overlineEv @ 9539 NONAME - _ZNK5QFont8toStringEv @ 9540 NONAME - _ZNK5QFont9pixelSizeEv @ 9541 NONAME - _ZNK5QFont9pointSizeEv @ 9542 NONAME - _ZNK5QFont9strikeOutEv @ 9543 NONAME - _ZNK5QFont9styleHintEv @ 9544 NONAME - _ZNK5QFont9underlineEv @ 9545 NONAME - _ZNK5QFontcv8QVariantEv @ 9546 NONAME - _ZNK5QFonteqERKS_ @ 9547 NONAME - _ZNK5QFontltERKS_ @ 9548 NONAME - _ZNK5QFontneERKS_ @ 9549 NONAME - _ZNK5QIcon10actualSizeERK5QSizeNS_4ModeENS_5StateE @ 9550 NONAME - _ZNK5QIcon10isDetachedEv @ 9551 NONAME - _ZNK5QIcon12serialNumberEv @ 9552 NONAME - _ZNK5QIcon14availableSizesENS_4ModeENS_5StateE @ 9553 NONAME - _ZNK5QIcon5paintEP8QPainterRK5QRect6QFlagsIN2Qt13AlignmentFlagEENS_4ModeENS_5StateE @ 9554 NONAME - _ZNK5QIcon6isNullEv @ 9555 NONAME - _ZNK5QIcon6pixmapERK5QSizeNS_4ModeENS_5StateE @ 9556 NONAME - _ZNK5QIcon8cacheKeyEv @ 9557 NONAME - _ZNK5QIconcv8QVariantEv @ 9558 NONAME - _ZNK5QMenu10menuActionEv @ 9559 NONAME - _ZNK5QMenu10metaObjectEv @ 9560 NONAME - _ZNK5QMenu11columnCountEv @ 9561 NONAME - _ZNK5QMenu12activeActionEv @ 9562 NONAME - _ZNK5QMenu13defaultActionEv @ 9563 NONAME - _ZNK5QMenu14actionGeometryEP7QAction @ 9564 NONAME - _ZNK5QMenu15initStyleOptionEP20QStyleOptionMenuItemPK7QAction @ 9565 NONAME - _ZNK5QMenu16isTearOffEnabledEv @ 9566 NONAME - _ZNK5QMenu20isTearOffMenuVisibleEv @ 9567 NONAME - _ZNK5QMenu21separatorsCollapsibleEv @ 9568 NONAME - _ZNK5QMenu4iconEv @ 9569 NONAME - _ZNK5QMenu5titleEv @ 9570 NONAME - _ZNK5QMenu7isEmptyEv @ 9571 NONAME - _ZNK5QMenu8actionAtERK6QPoint @ 9572 NONAME - _ZNK5QMenu8sizeHintEv @ 9573 NONAME - _ZNK6QBrush12textureImageEv @ 9574 NONAME - _ZNK6QBrush7textureEv @ 9575 NONAME - _ZNK6QBrush8gradientEv @ 9576 NONAME - _ZNK6QBrush8isOpaqueEv @ 9577 NONAME - _ZNK6QBrushcv8QVariantEv @ 9578 NONAME - _ZNK6QBrusheqERKS_ @ 9579 NONAME - _ZNK6QColor10saturationEv @ 9580 NONAME - _ZNK6QColor11saturationFEv @ 9581 NONAME - _ZNK6QColor3hueEv @ 9582 NONAME - _ZNK6QColor3redEv @ 9583 NONAME - _ZNK6QColor3rgbEv @ 9584 NONAME - _ZNK6QColor4blueEv @ 9585 NONAME - _ZNK6QColor4cyanEv @ 9586 NONAME - _ZNK6QColor4darkEi @ 9587 NONAME - _ZNK6QColor4hueFEv @ 9588 NONAME - _ZNK6QColor4nameEv @ 9589 NONAME - _ZNK6QColor4redFEv @ 9590 NONAME - _ZNK6QColor4rgbaEv @ 9591 NONAME - _ZNK6QColor5alphaEv @ 9592 NONAME - _ZNK6QColor5blackEv @ 9593 NONAME - _ZNK6QColor5blueFEv @ 9594 NONAME - _ZNK6QColor5cyanFEv @ 9595 NONAME - _ZNK6QColor5greenEv @ 9596 NONAME - _ZNK6QColor5lightEi @ 9597 NONAME - _ZNK6QColor5toHsvEv @ 9598 NONAME - _ZNK6QColor5toRgbEv @ 9599 NONAME - _ZNK6QColor5valueEv @ 9600 NONAME - _ZNK6QColor6alphaFEv @ 9601 NONAME - _ZNK6QColor6blackFEv @ 9602 NONAME - _ZNK6QColor6getHsvEPiS0_S0_S0_ @ 9603 NONAME - _ZNK6QColor6getRgbEPiS0_S0_S0_ @ 9604 NONAME - _ZNK6QColor6greenFEv @ 9605 NONAME - _ZNK6QColor6toCmykEv @ 9606 NONAME - _ZNK6QColor6valueFEv @ 9607 NONAME - _ZNK6QColor6yellowEv @ 9608 NONAME - _ZNK6QColor7getHsvFEPfS0_S0_S0_ @ 9609 NONAME - _ZNK6QColor7getRgbFEPfS0_S0_S0_ @ 9610 NONAME - _ZNK6QColor7magentaEv @ 9611 NONAME - _ZNK6QColor7yellowFEv @ 9612 NONAME - _ZNK6QColor8magentaFEv @ 9613 NONAME - _ZNK6QColor9convertToENS_4SpecE @ 9614 NONAME - _ZNK6QColorcv8QVariantEv @ 9615 NONAME - _ZNK6QColoreqERKS_ @ 9616 NONAME - _ZNK6QColorneERKS_ @ 9617 NONAME - _ZNK6QFrame10frameShapeEv @ 9618 NONAME - _ZNK6QFrame10frameStyleEv @ 9619 NONAME - _ZNK6QFrame10frameWidthEv @ 9620 NONAME - _ZNK6QFrame10metaObjectEv @ 9621 NONAME - _ZNK6QFrame11frameShadowEv @ 9622 NONAME - _ZNK6QFrame12midLineWidthEv @ 9623 NONAME - _ZNK6QFrame8sizeHintEv @ 9624 NONAME - _ZNK6QFrame9frameRectEv @ 9625 NONAME - _ZNK6QFrame9lineWidthEv @ 9626 NONAME - _ZNK6QImage10colorTableEv @ 9627 NONAME - _ZNK6QImage10isDetachedEv @ 9628 NONAME - _ZNK6QImage10pixelIndexEii @ 9629 NONAME - _ZNK6QImage10rgbSwappedEv @ 9630 NONAME - _ZNK6QImage11isGrayscaleEv @ 9631 NONAME - _ZNK6QImage11paintEngineEv @ 9632 NONAME - _ZNK6QImage11transformedERK10QTransformN2Qt18TransformationModeE @ 9633 NONAME - _ZNK6QImage11transformedERK7QMatrixN2Qt18TransformationModeE @ 9634 NONAME - _ZNK6QImage12alphaChannelEv @ 9635 NONAME - _ZNK6QImage12bytesPerLineEv @ 9636 NONAME - _ZNK6QImage12serialNumberEv @ 9637 NONAME - _ZNK6QImage13dotsPerMeterXEv @ 9638 NONAME - _ZNK6QImage13dotsPerMeterYEv @ 9639 NONAME - _ZNK6QImage13scaledToWidthEiN2Qt18TransformationModeE @ 9640 NONAME - _ZNK6QImage13textLanguagesEv @ 9641 NONAME - _ZNK6QImage14scaledToHeightEiN2Qt18TransformationModeE @ 9642 NONAME - _ZNK6QImage15convertToFormatENS_6FormatE6QFlagsIN2Qt19ImageConversionFlagEE @ 9643 NONAME - _ZNK6QImage15convertToFormatENS_6FormatERK7QVectorIjE6QFlagsIN2Qt19ImageConversionFlagEE @ 9644 NONAME - _ZNK6QImage15createAlphaMaskE6QFlagsIN2Qt19ImageConversionFlagEE @ 9645 NONAME - _ZNK6QImage15hasAlphaChannelEv @ 9646 NONAME - _ZNK6QImage19createHeuristicMaskEb @ 9647 NONAME - _ZNK6QImage19createMaskFromColorEjN2Qt8MaskModeE @ 9648 NONAME - _ZNK6QImage4bitsEv @ 9649 NONAME - _ZNK6QImage4copyERK5QRect @ 9650 NONAME - _ZNK6QImage4rectEv @ 9651 NONAME - _ZNK6QImage4saveEP9QIODevicePKci @ 9652 NONAME - _ZNK6QImage4saveERK7QStringPKci @ 9653 NONAME - _ZNK6QImage4sizeEv @ 9654 NONAME - _ZNK6QImage4textEPKcS1_ @ 9655 NONAME - _ZNK6QImage4textERK17QImageTextKeyLang @ 9656 NONAME - _ZNK6QImage4textERK7QString @ 9657 NONAME - _ZNK6QImage5colorEi @ 9658 NONAME - _ZNK6QImage5depthEv @ 9659 NONAME - _ZNK6QImage5pixelEii @ 9660 NONAME - _ZNK6QImage5validEii @ 9661 NONAME - _ZNK6QImage5widthEv @ 9662 NONAME - _ZNK6QImage6formatEv @ 9663 NONAME - _ZNK6QImage6heightEv @ 9664 NONAME - _ZNK6QImage6isNullEv @ 9665 NONAME - _ZNK6QImage6metricEN12QPaintDevice17PaintDeviceMetricE @ 9666 NONAME - _ZNK6QImage6offsetEv @ 9667 NONAME - _ZNK6QImage6scaledERK5QSizeN2Qt15AspectRatioModeENS3_18TransformationModeE @ 9668 NONAME - _ZNK6QImage7allGrayEv @ 9669 NONAME - _ZNK6QImage7devTypeEv @ 9670 NONAME - _ZNK6QImage8cacheKeyEv @ 9671 NONAME - _ZNK6QImage8mirroredEbb @ 9672 NONAME - _ZNK6QImage8numBytesEv @ 9673 NONAME - _ZNK6QImage8scanLineEi @ 9674 NONAME - _ZNK6QImage8textKeysEv @ 9675 NONAME - _ZNK6QImage8textListEv @ 9676 NONAME - _ZNK6QImage9numColorsEv @ 9677 NONAME - _ZNK6QImagecv8QVariantEv @ 9678 NONAME - _ZNK6QImageeqERKS_ @ 9679 NONAME - _ZNK6QImageneERKS_ @ 9680 NONAME - _ZNK6QLabel10metaObjectEv @ 9681 NONAME - _ZNK6QLabel10textFormatEv @ 9682 NONAME - _ZNK6QLabel14heightForWidthEi @ 9683 NONAME - _ZNK6QLabel15minimumSizeHintEv @ 9684 NONAME - _ZNK6QLabel17hasScaledContentsEv @ 9685 NONAME - _ZNK6QLabel17openExternalLinksEv @ 9686 NONAME - _ZNK6QLabel20textInteractionFlagsEv @ 9687 NONAME - _ZNK6QLabel4textEv @ 9688 NONAME - _ZNK6QLabel5buddyEv @ 9689 NONAME - _ZNK6QLabel5movieEv @ 9690 NONAME - _ZNK6QLabel6indentEv @ 9691 NONAME - _ZNK6QLabel6marginEv @ 9692 NONAME - _ZNK6QLabel6pixmapEv @ 9693 NONAME - _ZNK6QLabel7pictureEv @ 9694 NONAME - _ZNK6QLabel8sizeHintEv @ 9695 NONAME - _ZNK6QLabel8wordWrapEv @ 9696 NONAME - _ZNK6QLabel9alignmentEv @ 9697 NONAME - _ZNK6QMovie10frameCountEv @ 9698 NONAME - _ZNK6QMovie10metaObjectEv @ 9699 NONAME - _ZNK6QMovie12currentImageEv @ 9700 NONAME - _ZNK6QMovie13currentPixmapEv @ 9701 NONAME - _ZNK6QMovie14nextFrameDelayEv @ 9702 NONAME - _ZNK6QMovie15backgroundColorEv @ 9703 NONAME - _ZNK6QMovie18currentFrameNumberEv @ 9704 NONAME - _ZNK6QMovie5speedEv @ 9705 NONAME - _ZNK6QMovie5stateEv @ 9706 NONAME - _ZNK6QMovie6deviceEv @ 9707 NONAME - _ZNK6QMovie6formatEv @ 9708 NONAME - _ZNK6QMovie7isValidEv @ 9709 NONAME - _ZNK6QMovie8fileNameEv @ 9710 NONAME - _ZNK6QMovie9cacheModeEv @ 9711 NONAME - _ZNK6QMovie9frameRectEv @ 9712 NONAME - _ZNK6QMovie9loopCountEv @ 9713 NONAME - _ZNK6QSound10isFinishedEv @ 9714 NONAME - _ZNK6QSound10metaObjectEv @ 9715 NONAME - _ZNK6QSound14loopsRemainingEv @ 9716 NONAME - _ZNK6QSound5loopsEv @ 9717 NONAME - _ZNK6QSound8fileNameEv @ 9718 NONAME - _ZNK6QStyle10metaObjectEv @ 9719 NONAME - _ZNK6QStyle12drawItemTextEP8QPainterRK5QRectiRK8QPalettebRK7QStringNS5_9ColorRoleE @ 9720 NONAME - _ZNK6QStyle12itemTextRectERK12QFontMetricsRK5QRectibRK7QString @ 9721 NONAME - _ZNK6QStyle12standardIconENS_14StandardPixmapEPK12QStyleOptionPK7QWidget @ 9722 NONAME - _ZNK6QStyle13layoutSpacingEN11QSizePolicy11ControlTypeES1_N2Qt11OrientationEPK12QStyleOptionPK7QWidget @ 9723 NONAME - _ZNK6QStyle14drawItemPixmapEP8QPainterRK5QRectiRK7QPixmap @ 9724 NONAME - _ZNK6QStyle14itemPixmapRectERK5QRectiRK7QPixmap @ 9725 NONAME - _ZNK6QStyle15standardPaletteEv @ 9726 NONAME - _ZNK6QStyle21combinedLayoutSpacingE6QFlagsIN11QSizePolicy11ControlTypeEES3_N2Qt11OrientationEP12QStyleOptionP7QWidget @ 9727 NONAME - _ZNK6QStyle26standardIconImplementationENS_14StandardPixmapEPK12QStyleOptionPK7QWidget @ 9728 NONAME - _ZNK6QStyle27layoutSpacingImplementationEN11QSizePolicy11ControlTypeES1_N2Qt11OrientationEPK12QStyleOptionPK7QWidget @ 9729 NONAME - _ZNK7QAction10autoRepeatEv @ 9730 NONAME - _ZNK7QAction10metaObjectEv @ 9731 NONAME - _ZNK7QAction11actionGroupEv @ 9732 NONAME - _ZNK7QAction11isCheckableEv @ 9733 NONAME - _ZNK7QAction11isSeparatorEv @ 9734 NONAME - _ZNK7QAction11softKeyRoleEv @ 9735 NONAME - _ZNK7QAction12parentWidgetEv @ 9736 NONAME - _ZNK7QAction15shortcutContextEv @ 9737 NONAME - _ZNK7QAction17associatedWidgetsEv @ 9738 NONAME - _ZNK7QAction19isIconVisibleInMenuEv @ 9739 NONAME - _ZNK7QAction25associatedGraphicsWidgetsEv @ 9740 NONAME - _ZNK7QAction4dataEv @ 9741 NONAME - _ZNK7QAction4fontEv @ 9742 NONAME - _ZNK7QAction4iconEv @ 9743 NONAME - _ZNK7QAction4menuEv @ 9744 NONAME - _ZNK7QAction4textEv @ 9745 NONAME - _ZNK7QAction7toolTipEv @ 9746 NONAME - _ZNK7QAction8iconTextEv @ 9747 NONAME - _ZNK7QAction8menuRoleEv @ 9748 NONAME - _ZNK7QAction8shortcutEv @ 9749 NONAME - _ZNK7QAction9isCheckedEv @ 9750 NONAME - _ZNK7QAction9isEnabledEv @ 9751 NONAME - _ZNK7QAction9isVisibleEv @ 9752 NONAME - _ZNK7QAction9shortcutsEv @ 9753 NONAME - _ZNK7QAction9statusTipEv @ 9754 NONAME - _ZNK7QAction9whatsThisEv @ 9755 NONAME - _ZNK7QBezier10addIfCloseEPff @ 9756 NONAME - _ZNK7QBezier12addToPolygonEP9QPolygonF @ 9757 NONAME - _ZNK7QBezier16bezierOnIntervalEff @ 9758 NONAME - _ZNK7QBezier17addToPolygonMixedEP9QPolygonF @ 9759 NONAME - _ZNK7QBezier17stationaryYPointsERfS0_ @ 9760 NONAME - _ZNK7QBezier21addToPolygonIterativeEP9QPolygonF @ 9761 NONAME - _ZNK7QBezier5tForYEfff @ 9762 NONAME - _ZNK7QBezier6boundsEv @ 9763 NONAME - _ZNK7QBezier6lengthEf @ 9764 NONAME - _ZNK7QBezier7shiftedEPS_iff @ 9765 NONAME - _ZNK7QBezier9tAtLengthEf @ 9766 NONAME - _ZNK7QBezier9toPolygonEv @ 9767 NONAME - _ZNK7QBitmap11transformedERK10QTransform @ 9768 NONAME - _ZNK7QBitmap11transformedERK7QMatrix @ 9769 NONAME - _ZNK7QBitmapcv8QVariantEv @ 9770 NONAME - _ZNK7QDialog10metaObjectEv @ 9771 NONAME - _ZNK7QDialog11orientationEv @ 9772 NONAME - _ZNK7QDialog15minimumSizeHintEv @ 9773 NONAME - _ZNK7QDialog17isSizeGripEnabledEv @ 9774 NONAME - _ZNK7QDialog6resultEv @ 9775 NONAME - _ZNK7QDialog8sizeHintEv @ 9776 NONAME - _ZNK7QDialog9extensionEv @ 9777 NONAME - _ZNK7QLayout10metaObjectEv @ 9778 NONAME - _ZNK7QLayout11maximumSizeEv @ 9779 NONAME - _ZNK7QLayout11minimumSizeEv @ 9780 NONAME - _ZNK7QLayout12contentsRectEv @ 9781 NONAME - _ZNK7QLayout12parentWidgetEv @ 9782 NONAME - _ZNK7QLayout13alignmentRectERK5QRect @ 9783 NONAME - _ZNK7QLayout13totalSizeHintEv @ 9784 NONAME - _ZNK7QLayout14sizeConstraintEv @ 9785 NONAME - _ZNK7QLayout16totalMaximumSizeEv @ 9786 NONAME - _ZNK7QLayout16totalMinimumSizeEv @ 9787 NONAME - _ZNK7QLayout18getContentsMarginsEPiS0_S0_S0_ @ 9788 NONAME - _ZNK7QLayout19expandingDirectionsEv @ 9789 NONAME - _ZNK7QLayout19totalHeightForWidthEi @ 9790 NONAME - _ZNK7QLayout6marginEv @ 9791 NONAME - _ZNK7QLayout7indexOfEP7QWidget @ 9792 NONAME - _ZNK7QLayout7isEmptyEv @ 9793 NONAME - _ZNK7QLayout7menuBarEv @ 9794 NONAME - _ZNK7QLayout7spacingEv @ 9795 NONAME - _ZNK7QLayout8geometryEv @ 9796 NONAME - _ZNK7QLayout9isEnabledEv @ 9797 NONAME - _ZNK7QMatrix12mapToPolygonERK5QRect @ 9798 NONAME - _ZNK7QMatrix3mapERK12QPainterPath @ 9799 NONAME - _ZNK7QMatrix3mapERK5QLine @ 9800 NONAME - _ZNK7QMatrix3mapERK6QLineF @ 9801 NONAME - _ZNK7QMatrix3mapERK6QPoint @ 9802 NONAME - _ZNK7QMatrix3mapERK7QPointF @ 9803 NONAME - _ZNK7QMatrix3mapERK7QRegion @ 9804 NONAME - _ZNK7QMatrix3mapERK8QPolygon @ 9805 NONAME - _ZNK7QMatrix3mapERK9QPolygonF @ 9806 NONAME - _ZNK7QMatrix3mapEffPfS0_ @ 9807 NONAME - _ZNK7QMatrix3mapEiiPiS0_ @ 9808 NONAME - _ZNK7QMatrix7mapRectERK5QRect @ 9809 NONAME - _ZNK7QMatrix7mapRectERK6QRectF @ 9810 NONAME - _ZNK7QMatrix8invertedEPb @ 9811 NONAME - _ZNK7QMatrixcv8QVariantEv @ 9812 NONAME - _ZNK7QMatrixeqERKS_ @ 9813 NONAME - _ZNK7QMatrixmlERKS_ @ 9814 NONAME - _ZNK7QMatrixneERKS_ @ 9815 NONAME - _ZNK7QPixmap10isDetachedEv @ 9816 NONAME - _ZNK7QPixmap10pixmapDataEv @ 9817 NONAME - _ZNK7QPixmap11paintEngineEv @ 9818 NONAME - _ZNK7QPixmap11transformedERK10QTransformN2Qt18TransformationModeE @ 9819 NONAME - _ZNK7QPixmap11transformedERK7QMatrixN2Qt18TransformationModeE @ 9820 NONAME - _ZNK7QPixmap12alphaChannelEv @ 9821 NONAME - _ZNK7QPixmap12serialNumberEv @ 9822 NONAME - _ZNK7QPixmap13scaledToWidthEiN2Qt18TransformationModeE @ 9823 NONAME - _ZNK7QPixmap14scaledToHeightEiN2Qt18TransformationModeE @ 9824 NONAME - _ZNK7QPixmap15hasAlphaChannelEv @ 9825 NONAME - _ZNK7QPixmap19createHeuristicMaskEb @ 9826 NONAME - _ZNK7QPixmap19createMaskFromColorERK6QColor @ 9827 NONAME - _ZNK7QPixmap19createMaskFromColorERK6QColorN2Qt8MaskModeE @ 9828 NONAME - _ZNK7QPixmap19toSymbianCFbsBitmapEv @ 9829 NONAME - _ZNK7QPixmap4copyERK5QRect @ 9830 NONAME - _ZNK7QPixmap4maskEv @ 9831 NONAME - _ZNK7QPixmap4rectEv @ 9832 NONAME - _ZNK7QPixmap4saveEP9QIODevicePKci @ 9833 NONAME - _ZNK7QPixmap4saveERK7QStringPKci @ 9834 NONAME - _ZNK7QPixmap4sizeEv @ 9835 NONAME - _ZNK7QPixmap5depthEv @ 9836 NONAME - _ZNK7QPixmap5widthEv @ 9837 NONAME - _ZNK7QPixmap6heightEv @ 9838 NONAME - _ZNK7QPixmap6isNullEv @ 9839 NONAME - _ZNK7QPixmap6metricEN12QPaintDevice17PaintDeviceMetricE @ 9840 NONAME - _ZNK7QPixmap6scaledERK5QSizeN2Qt15AspectRatioModeENS3_18TransformationModeE @ 9841 NONAME - _ZNK7QPixmap7devTypeEv @ 9842 NONAME - _ZNK7QPixmap7toImageEv @ 9843 NONAME - _ZNK7QPixmap8cacheKeyEv @ 9844 NONAME - _ZNK7QPixmap8hasAlphaEv @ 9845 NONAME - _ZNK7QPixmap9doImageIOEP12QImageWriteri @ 9846 NONAME - _ZNK7QPixmap9isQBitmapEv @ 9847 NONAME - _ZNK7QPixmapcv8QVariantEv @ 9848 NONAME - _ZNK7QRegion10intersectsERK5QRect @ 9849 NONAME - _ZNK7QRegion10intersectsERKS_ @ 9850 NONAME - _ZNK7QRegion10translatedEii @ 9851 NONAME - _ZNK7QRegion12boundingRectEv @ 9852 NONAME - _ZNK7QRegion3eorERKS_ @ 9853 NONAME - _ZNK7QRegion4copyEv @ 9854 NONAME - _ZNK7QRegion5rectsEv @ 9855 NONAME - _ZNK7QRegion5uniteERK5QRect @ 9856 NONAME - _ZNK7QRegion5uniteERKS_ @ 9857 NONAME - _ZNK7QRegion7isEmptyEv @ 9858 NONAME - _ZNK7QRegion8containsERK5QRect @ 9859 NONAME - _ZNK7QRegion8containsERK6QPoint @ 9860 NONAME - _ZNK7QRegion8numRectsEv @ 9861 NONAME - _ZNK7QRegion8subtractERKS_ @ 9862 NONAME - _ZNK7QRegion9intersectERK5QRect @ 9863 NONAME - _ZNK7QRegion9intersectERKS_ @ 9864 NONAME - _ZNK7QRegionanERK5QRect @ 9865 NONAME - _ZNK7QRegionanERKS_ @ 9866 NONAME - _ZNK7QRegioncv8QVariantEv @ 9867 NONAME - _ZNK7QRegioneoERKS_ @ 9868 NONAME - _ZNK7QRegioneqERKS_ @ 9869 NONAME - _ZNK7QRegionmiERKS_ @ 9870 NONAME - _ZNK7QRegionorERKS_ @ 9871 NONAME - _ZNK7QRegionplERK5QRect @ 9872 NONAME - _ZNK7QRegionplERKS_ @ 9873 NONAME - _ZNK7QSlider10metaObjectEv @ 9874 NONAME - _ZNK7QSlider12tickIntervalEv @ 9875 NONAME - _ZNK7QSlider12tickPositionEv @ 9876 NONAME - _ZNK7QSlider15initStyleOptionEP18QStyleOptionSlider @ 9877 NONAME - _ZNK7QSlider15minimumSizeHintEv @ 9878 NONAME - _ZNK7QSlider8sizeHintEv @ 9879 NONAME - _ZNK7QTabBar10metaObjectEv @ 9880 NONAME - _ZNK7QTabBar10tabToolTipEi @ 9881 NONAME - _ZNK7QTabBar11tabSizeHintEi @ 9882 NONAME - _ZNK7QTabBar12currentIndexEv @ 9883 NONAME - _ZNK7QTabBar12documentModeEv @ 9884 NONAME - _ZNK7QTabBar12isTabEnabledEi @ 9885 NONAME - _ZNK7QTabBar12tabTextColorEi @ 9886 NONAME - _ZNK7QTabBar12tabWhatsThisEi @ 9887 NONAME - _ZNK7QTabBar12tabsClosableEv @ 9888 NONAME - _ZNK7QTabBar15initStyleOptionEP15QStyleOptionTabi @ 9889 NONAME - _ZNK7QTabBar15minimumSizeHintEv @ 9890 NONAME - _ZNK7QTabBar17usesScrollButtonsEv @ 9891 NONAME - _ZNK7QTabBar25selectionBehaviorOnRemoveEv @ 9892 NONAME - _ZNK7QTabBar5countEv @ 9893 NONAME - _ZNK7QTabBar5shapeEv @ 9894 NONAME - _ZNK7QTabBar5tabAtERK6QPoint @ 9895 NONAME - _ZNK7QTabBar7tabDataEi @ 9896 NONAME - _ZNK7QTabBar7tabIconEi @ 9897 NONAME - _ZNK7QTabBar7tabRectEi @ 9898 NONAME - _ZNK7QTabBar7tabTextEi @ 9899 NONAME - _ZNK7QTabBar8drawBaseEv @ 9900 NONAME - _ZNK7QTabBar8iconSizeEv @ 9901 NONAME - _ZNK7QTabBar8sizeHintEv @ 9902 NONAME - _ZNK7QTabBar9elideModeEv @ 9903 NONAME - _ZNK7QTabBar9expandingEv @ 9904 NONAME - _ZNK7QTabBar9isMovableEv @ 9905 NONAME - _ZNK7QTabBar9tabButtonEiNS_14ButtonPositionE @ 9906 NONAME - _ZNK7QWidget10focusProxyEv @ 9907 NONAME - _ZNK7QWidget10metaObjectEv @ 9908 NONAME - _ZNK7QWidget10sizePolicyEv @ 9909 NONAME - _ZNK7QWidget10styleSheetEv @ 9910 NONAME - _ZNK7QWidget10windowIconEv @ 9911 NONAME - _ZNK7QWidget10windowRoleEv @ 9912 NONAME - _ZNK7QWidget11acceptDropsEv @ 9913 NONAME - _ZNK7QWidget11focusPolicyEv @ 9914 NONAME - _ZNK7QWidget11focusWidgetEv @ 9915 NONAME - _ZNK7QWidget11isEnabledToEPS_ @ 9916 NONAME - _ZNK7QWidget11isMaximizedEv @ 9917 NONAME - _ZNK7QWidget11isMinimizedEv @ 9918 NONAME - _ZNK7QWidget11isVisibleToEPS_ @ 9919 NONAME - _ZNK7QWidget11mapToGlobalERK6QPoint @ 9920 NONAME - _ZNK7QWidget11mapToParentERK6QPoint @ 9921 NONAME - _ZNK7QWidget11maximumSizeEv @ 9922 NONAME - _ZNK7QWidget11minimumSizeEv @ 9923 NONAME - _ZNK7QWidget11paintEngineEv @ 9924 NONAME - _ZNK7QWidget11windowStateEv @ 9925 NONAME - _ZNK7QWidget11windowTitleEv @ 9926 NONAME - _ZNK7QWidget12childrenRectEv @ 9927 NONAME - _ZNK7QWidget12contentsRectEv @ 9928 NONAME - _ZNK7QWidget12hasEditFocusEv @ 9929 NONAME - _ZNK7QWidget12isAncestorOfEPKS_ @ 9930 NONAME - _ZNK7QWidget12isFullScreenEv @ 9931 NONAME - _ZNK7QWidget12saveGeometryEv @ 9932 NONAME - _ZNK7QWidget13frameGeometryEv @ 9933 NONAME - _ZNK7QWidget13mapFromGlobalERK6QPoint @ 9934 NONAME - _ZNK7QWidget13mapFromParentERK6QPoint @ 9935 NONAME - _ZNK7QWidget13sizeIncrementEv @ 9936 NONAME - _ZNK7QWidget13visibleRegionEv @ 9937 NONAME - _ZNK7QWidget13windowOpacityEv @ 9938 NONAME - _ZNK7QWidget13windowSurfaceEv @ 9939 NONAME - _ZNK7QWidget14backgroundRoleEv @ 9940 NONAME - _ZNK7QWidget14childrenRegionEv @ 9941 NONAME - _ZNK7QWidget14effectiveWinIdEv @ 9942 NONAME - _ZNK7QWidget14ensurePolishedEv @ 9943 NONAME - _ZNK7QWidget14foregroundRoleEv @ 9944 NONAME - _ZNK7QWidget14heightForWidthEi @ 9945 NONAME - _ZNK7QWidget14isActiveWindowEv @ 9946 NONAME - _ZNK7QWidget14normalGeometryEv @ 9947 NONAME - _ZNK7QWidget14windowFilePathEv @ 9948 NONAME - _ZNK7QWidget14windowIconTextEv @ 9949 NONAME - _ZNK7QWidget14windowModalityEv @ 9950 NONAME - _ZNK7QWidget15layoutDirectionEv @ 9951 NONAME - _ZNK7QWidget15minimumSizeHintEv @ 9952 NONAME - _ZNK7QWidget16inputMethodHintsEv @ 9953 NONAME - _ZNK7QWidget16inputMethodQueryEN2Qt16InputMethodQueryE @ 9954 NONAME - _ZNK7QWidget16isWindowModifiedEv @ 9955 NONAME - _ZNK7QWidget16nextInFocusChainEv @ 9956 NONAME - _ZNK7QWidget17contextMenuPolicyEv @ 9957 NONAME - _ZNK7QWidget18autoFillBackgroundEv @ 9958 NONAME - _ZNK7QWidget18getContentsMarginsEPiS0_S0_S0_ @ 9959 NONAME - _ZNK7QWidget18nativeParentWidgetEv @ 9960 NONAME - _ZNK7QWidget19graphicsProxyWidgetEv @ 9961 NONAME - _ZNK7QWidget1xEv @ 9962 NONAME - _ZNK7QWidget1yEv @ 9963 NONAME - _ZNK7QWidget20testAttribute_helperEN2Qt15WidgetAttributeE @ 9964 NONAME - _ZNK7QWidget3posEv @ 9965 NONAME - _ZNK7QWidget4maskEv @ 9966 NONAME - _ZNK7QWidget5mapToEPS_RK6QPoint @ 9967 NONAME - _ZNK7QWidget5styleEv @ 9968 NONAME - _ZNK7QWidget5winIdEv @ 9969 NONAME - _ZNK7QWidget6handleEv @ 9970 NONAME - _ZNK7QWidget6layoutEv @ 9971 NONAME - _ZNK7QWidget6localeEv @ 9972 NONAME - _ZNK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE @ 9973 NONAME - _ZNK7QWidget6windowEv @ 9974 NONAME - _ZNK7QWidget7actionsEv @ 9975 NONAME - _ZNK7QWidget7childAtERK6QPoint @ 9976 NONAME - _ZNK7QWidget7devTypeEv @ 9977 NONAME - _ZNK7QWidget7mapFromEPS_RK6QPoint @ 9978 NONAME - _ZNK7QWidget7paletteEv @ 9979 NONAME - _ZNK7QWidget7toolTipEv @ 9980 NONAME - _ZNK7QWidget8baseSizeEv @ 9981 NONAME - _ZNK7QWidget8hasFocusEv @ 9982 NONAME - _ZNK7QWidget8sizeHintEv @ 9983 NONAME - _ZNK7QWidget8softKeysEv @ 9984 NONAME ABSENT - _ZNK7QWidget9frameSizeEv @ 9985 NONAME - _ZNK7QWidget9statusTipEv @ 9986 NONAME - _ZNK7QWidget9whatsThisEv @ 9987 NONAME - _ZNK7QWizard10buttonTextENS_12WizardButtonE @ 9988 NONAME - _ZNK7QWizard10metaObjectEv @ 9989 NONAME - _ZNK7QWizard10testOptionENS_12WizardOptionE @ 9990 NONAME - _ZNK7QWizard11currentPageEv @ 9991 NONAME - _ZNK7QWizard11titleFormatEv @ 9992 NONAME - _ZNK7QWizard11wizardStyleEv @ 9993 NONAME - _ZNK7QWizard12visitedPagesEv @ 9994 NONAME - _ZNK7QWizard14hasVisitedPageEi @ 9995 NONAME - _ZNK7QWizard14subTitleFormatEv @ 9996 NONAME - _ZNK7QWizard4pageEi @ 9997 NONAME - _ZNK7QWizard5fieldERK7QString @ 9998 NONAME - _ZNK7QWizard6buttonENS_12WizardButtonE @ 9999 NONAME - _ZNK7QWizard6nextIdEv @ 10000 NONAME - _ZNK7QWizard6pixmapENS_12WizardPixmapE @ 10001 NONAME - _ZNK7QWizard7optionsEv @ 10002 NONAME - _ZNK7QWizard7pageIdsEv @ 10003 NONAME - _ZNK7QWizard7startIdEv @ 10004 NONAME - _ZNK7QWizard8sizeHintEv @ 10005 NONAME - _ZNK7QWizard9currentIdEv @ 10006 NONAME - _ZNK8QMdiArea10backgroundEv @ 10007 NONAME - _ZNK8QMdiArea10metaObjectEv @ 10008 NONAME - _ZNK8QMdiArea10testOptionENS_10AreaOptionE @ 10009 NONAME - _ZNK8QMdiArea11tabPositionEv @ 10010 NONAME - _ZNK8QMdiArea12documentModeEv @ 10011 NONAME - _ZNK8QMdiArea13subWindowListENS_11WindowOrderE @ 10012 NONAME - _ZNK8QMdiArea15activationOrderEv @ 10013 NONAME - _ZNK8QMdiArea15activeSubWindowEv @ 10014 NONAME - _ZNK8QMdiArea15minimumSizeHintEv @ 10015 NONAME - _ZNK8QMdiArea16currentSubWindowEv @ 10016 NONAME - _ZNK8QMdiArea8sizeHintEv @ 10017 NONAME - _ZNK8QMdiArea8tabShapeEv @ 10018 NONAME - _ZNK8QMdiArea8viewModeEv @ 10019 NONAME - _ZNK8QMenuBar10metaObjectEv @ 10020 NONAME - _ZNK8QMenuBar11isDefaultUpEv @ 10021 NONAME - _ZNK8QMenuBar12activeActionEv @ 10022 NONAME - _ZNK8QMenuBar12cornerWidgetEN2Qt6CornerE @ 10023 NONAME - _ZNK8QMenuBar14actionGeometryEP7QAction @ 10024 NONAME - _ZNK8QMenuBar14heightForWidthEi @ 10025 NONAME - _ZNK8QMenuBar15initStyleOptionEP20QStyleOptionMenuItemPK7QAction @ 10026 NONAME - _ZNK8QMenuBar15minimumSizeHintEv @ 10027 NONAME - _ZNK8QMenuBar8actionAtERK6QPoint @ 10028 NONAME - _ZNK8QMenuBar8sizeHintEv @ 10029 NONAME - _ZNK8QPainter10backgroundEv @ 10030 NONAME - _ZNK8QPainter10clipRegionEv @ 10031 NONAME - _ZNK8QPainter11brushOriginEv @ 10032 NONAME - _ZNK8QPainter11fontMetricsEv @ 10033 NONAME - _ZNK8QPainter11hasClippingEv @ 10034 NONAME - _ZNK8QPainter11paintEngineEv @ 10035 NONAME - _ZNK8QPainter11renderHintsEv @ 10036 NONAME - _ZNK8QPainter11worldMatrixEv @ 10037 NONAME - _ZNK8QPainter12deviceMatrixEv @ 10038 NONAME - _ZNK8QPainter13matrixEnabledEv @ 10039 NONAME - _ZNK8QPainter14backgroundModeEv @ 10040 NONAME - _ZNK8QPainter14combinedMatrixEv @ 10041 NONAME - _ZNK8QPainter14worldTransformEv @ 10042 NONAME - _ZNK8QPainter15compositionModeEv @ 10043 NONAME - _ZNK8QPainter15deviceTransformEv @ 10044 NONAME - _ZNK8QPainter15layoutDirectionEv @ 10045 NONAME - _ZNK8QPainter17combinedTransformEv @ 10046 NONAME - _ZNK8QPainter18worldMatrixEnabledEv @ 10047 NONAME - _ZNK8QPainter20viewTransformEnabledEv @ 10048 NONAME - _ZNK8QPainter3penEv @ 10049 NONAME - _ZNK8QPainter4fontEv @ 10050 NONAME - _ZNK8QPainter5brushEv @ 10051 NONAME - _ZNK8QPainter6deviceEv @ 10052 NONAME - _ZNK8QPainter6matrixEv @ 10053 NONAME - _ZNK8QPainter6windowEv @ 10054 NONAME - _ZNK8QPainter7opacityEv @ 10055 NONAME - _ZNK8QPainter8clipPathEv @ 10056 NONAME - _ZNK8QPainter8fontInfoEv @ 10057 NONAME - _ZNK8QPainter8isActiveEv @ 10058 NONAME - _ZNK8QPainter8viewportEv @ 10059 NONAME - _ZNK8QPainter9transformEv @ 10060 NONAME - _ZNK8QPalette10isBrushSetENS_10ColorGroupENS_9ColorRoleE @ 10061 NONAME - _ZNK8QPalette12serialNumberEv @ 10062 NONAME - _ZNK8QPalette5brushENS_10ColorGroupENS_9ColorRoleE @ 10063 NONAME - _ZNK8QPalette7isEqualENS_10ColorGroupES0_ @ 10064 NONAME - _ZNK8QPalette7resolveERKS_ @ 10065 NONAME - _ZNK8QPalette8cacheKeyEv @ 10066 NONAME - _ZNK8QPalette8isCopyOfERKS_ @ 10067 NONAME - _ZNK8QPalettecv8QVariantEv @ 10068 NONAME - _ZNK8QPaletteeqERKS_ @ 10069 NONAME - _ZNK8QPicture10isDetachedEv @ 10070 NONAME - _ZNK8QPicture11paintEngineEv @ 10071 NONAME - _ZNK8QPicture12boundingRectEv @ 10072 NONAME - _ZNK8QPicture4dataEv @ 10073 NONAME - _ZNK8QPicture4sizeEv @ 10074 NONAME - _ZNK8QPicture6isNullEv @ 10075 NONAME - _ZNK8QPicture6metricEN12QPaintDevice17PaintDeviceMetricE @ 10076 NONAME - _ZNK8QPicture7devTypeEv @ 10077 NONAME - _ZNK8QPolygon10subtractedERKS_ @ 10078 NONAME - _ZNK8QPolygon11intersectedERKS_ @ 10079 NONAME - _ZNK8QPolygon12boundingRectEv @ 10080 NONAME - _ZNK8QPolygon13containsPointERK6QPointN2Qt8FillRuleE @ 10081 NONAME - _ZNK8QPolygon5pointEiPiS0_ @ 10082 NONAME - _ZNK8QPolygon6unitedERKS_ @ 10083 NONAME - _ZNK8QPolygoncv8QVariantEv @ 10084 NONAME - _ZNK8QSidebar10metaObjectEv @ 10085 NONAME - _ZNK8QSidebar8sizeHintEv @ 10086 NONAME - _ZNK8QSpinBox10metaObjectEv @ 10087 NONAME - _ZNK8QSpinBox10singleStepEv @ 10088 NONAME - _ZNK8QSpinBox13textFromValueEi @ 10089 NONAME - _ZNK8QSpinBox13valueFromTextERK7QString @ 10090 NONAME - _ZNK8QSpinBox5fixupER7QString @ 10091 NONAME - _ZNK8QSpinBox5valueEv @ 10092 NONAME - _ZNK8QSpinBox6prefixEv @ 10093 NONAME - _ZNK8QSpinBox6suffixEv @ 10094 NONAME - _ZNK8QSpinBox7maximumEv @ 10095 NONAME - _ZNK8QSpinBox7minimumEv @ 10096 NONAME - _ZNK8QSpinBox8validateER7QStringRi @ 10097 NONAME - _ZNK8QSpinBox9cleanTextEv @ 10098 NONAME - _ZNK8QToolBar10isFloatingEv @ 10099 NONAME - _ZNK8QToolBar10metaObjectEv @ 10100 NONAME - _ZNK8QToolBar11isFloatableEv @ 10101 NONAME - _ZNK8QToolBar11orientationEv @ 10102 NONAME - _ZNK8QToolBar12allowedAreasEv @ 10103 NONAME - _ZNK8QToolBar14actionGeometryEP7QAction @ 10104 NONAME - _ZNK8QToolBar15initStyleOptionEP19QStyleOptionToolBar @ 10105 NONAME - _ZNK8QToolBar15toolButtonStyleEv @ 10106 NONAME - _ZNK8QToolBar15widgetForActionEP7QAction @ 10107 NONAME - _ZNK8QToolBar16toggleViewActionEv @ 10108 NONAME - _ZNK8QToolBar8actionAtERK6QPoint @ 10109 NONAME - _ZNK8QToolBar8iconSizeEv @ 10110 NONAME - _ZNK8QToolBar9isMovableEv @ 10111 NONAME - _ZNK8QToolBox10metaObjectEv @ 10112 NONAME - _ZNK8QToolBox11itemToolTipEi @ 10113 NONAME - _ZNK8QToolBox12currentIndexEv @ 10114 NONAME - _ZNK8QToolBox13currentWidgetEv @ 10115 NONAME - _ZNK8QToolBox13isItemEnabledEi @ 10116 NONAME - _ZNK8QToolBox5countEv @ 10117 NONAME - _ZNK8QToolBox6widgetEi @ 10118 NONAME - _ZNK8QToolBox7indexOfEP7QWidget @ 10119 NONAME - _ZNK8QToolBox8itemIconEi @ 10120 NONAME - _ZNK8QToolBox8itemTextEi @ 10121 NONAME - _ZNK9QCheckBox10checkStateEv @ 10122 NONAME - _ZNK9QCheckBox10isTristateEv @ 10123 NONAME - _ZNK9QCheckBox10metaObjectEv @ 10124 NONAME - _ZNK9QCheckBox15initStyleOptionEP18QStyleOptionButton @ 10125 NONAME - _ZNK9QCheckBox8sizeHintEv @ 10126 NONAME - _ZNK9QCheckBox9hitButtonERK6QPoint @ 10127 NONAME - _ZNK9QColormap4modeEv @ 10128 NONAME - _ZNK9QColormap4sizeEv @ 10129 NONAME - _ZNK9QColormap5depthEv @ 10130 NONAME - _ZNK9QColormap5pixelERK6QColor @ 10131 NONAME - _ZNK9QColormap7colorAtEj @ 10132 NONAME - _ZNK9QColormap8colormapEv @ 10133 NONAME - _ZNK9QComboBox10isEditableEv @ 10134 NONAME - _ZNK9QComboBox10metaObjectEv @ 10135 NONAME - _ZNK9QComboBox11currentTextEv @ 10136 NONAME - _ZNK9QComboBox11modelColumnEv @ 10137 NONAME - _ZNK9QComboBox12currentIndexEv @ 10138 NONAME - _ZNK9QComboBox12insertPolicyEv @ 10139 NONAME - _ZNK9QComboBox12itemDelegateEv @ 10140 NONAME - _ZNK9QComboBox14autoCompletionEv @ 10141 NONAME - _ZNK9QComboBox14rootModelIndexEv @ 10142 NONAME - _ZNK9QComboBox15initStyleOptionEP20QStyleOptionComboBox @ 10143 NONAME - _ZNK9QComboBox15maxVisibleItemsEv @ 10144 NONAME - _ZNK9QComboBox15minimumSizeHintEv @ 10145 NONAME - _ZNK9QComboBox16inputMethodQueryEN2Qt16InputMethodQueryE @ 10146 NONAME - _ZNK9QComboBox16sizeAdjustPolicyEv @ 10147 NONAME - _ZNK9QComboBox17duplicatesEnabledEv @ 10148 NONAME - _ZNK9QComboBox21minimumContentsLengthEv @ 10149 NONAME - _ZNK9QComboBox29autoCompletionCaseSensitivityEv @ 10150 NONAME - _ZNK9QComboBox4viewEv @ 10151 NONAME - _ZNK9QComboBox5countEv @ 10152 NONAME - _ZNK9QComboBox5modelEv @ 10153 NONAME - _ZNK9QComboBox8findDataERK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 10154 NONAME - _ZNK9QComboBox8hasFrameEv @ 10155 NONAME - _ZNK9QComboBox8iconSizeEv @ 10156 NONAME - _ZNK9QComboBox8itemDataEii @ 10157 NONAME - _ZNK9QComboBox8itemIconEi @ 10158 NONAME - _ZNK9QComboBox8itemTextEi @ 10159 NONAME - _ZNK9QComboBox8lineEditEv @ 10160 NONAME - _ZNK9QComboBox8maxCountEv @ 10161 NONAME - _ZNK9QComboBox8sizeHintEv @ 10162 NONAME - _ZNK9QComboBox9completerEv @ 10163 NONAME - _ZNK9QComboBox9validatorEv @ 10164 NONAME - _ZNK9QDateEdit10metaObjectEv @ 10165 NONAME - _ZNK9QDirModel10headerDataEiN2Qt11OrientationEi @ 10166 NONAME - _ZNK9QDirModel10isReadOnlyEv @ 10167 NONAME - _ZNK9QDirModel10metaObjectEv @ 10168 NONAME - _ZNK9QDirModel11columnCountERK11QModelIndex @ 10169 NONAME - _ZNK9QDirModel11hasChildrenERK11QModelIndex @ 10170 NONAME - _ZNK9QDirModel11nameFiltersEv @ 10171 NONAME - _ZNK9QDirModel12iconProviderEv @ 10172 NONAME - _ZNK9QDirModel14lazyChildCountEv @ 10173 NONAME - _ZNK9QDirModel15resolveSymlinksEv @ 10174 NONAME - _ZNK9QDirModel20supportedDropActionsEv @ 10175 NONAME - _ZNK9QDirModel4dataERK11QModelIndexi @ 10176 NONAME - _ZNK9QDirModel5flagsERK11QModelIndex @ 10177 NONAME - _ZNK9QDirModel5indexERK7QStringi @ 10178 NONAME - _ZNK9QDirModel5indexEiiRK11QModelIndex @ 10179 NONAME - _ZNK9QDirModel5isDirERK11QModelIndex @ 10180 NONAME - _ZNK9QDirModel6filterEv @ 10181 NONAME - _ZNK9QDirModel6parentERK11QModelIndex @ 10182 NONAME - _ZNK9QDirModel7sortingEv @ 10183 NONAME - _ZNK9QDirModel8fileIconERK11QModelIndex @ 10184 NONAME - _ZNK9QDirModel8fileInfoERK11QModelIndex @ 10185 NONAME - _ZNK9QDirModel8fileNameERK11QModelIndex @ 10186 NONAME - _ZNK9QDirModel8filePathERK11QModelIndex @ 10187 NONAME - _ZNK9QDirModel8mimeDataERK5QListI11QModelIndexE @ 10188 NONAME - _ZNK9QDirModel8rowCountERK11QModelIndex @ 10189 NONAME - _ZNK9QDirModel9mimeTypesEv @ 10190 NONAME - _ZNK9QFontInfo10exactMatchEv @ 10191 NONAME - _ZNK9QFontInfo10fixedPitchEv @ 10192 NONAME - _ZNK9QFontInfo10pointSizeFEv @ 10193 NONAME - _ZNK9QFontInfo5styleEv @ 10194 NONAME - _ZNK9QFontInfo6familyEv @ 10195 NONAME - _ZNK9QFontInfo6italicEv @ 10196 NONAME - _ZNK9QFontInfo6weightEv @ 10197 NONAME - _ZNK9QFontInfo7rawModeEv @ 10198 NONAME - _ZNK9QFontInfo8overlineEv @ 10199 NONAME - _ZNK9QFontInfo9pixelSizeEv @ 10200 NONAME - _ZNK9QFontInfo9pointSizeEv @ 10201 NONAME - _ZNK9QFontInfo9strikeOutEv @ 10202 NONAME - _ZNK9QFontInfo9styleHintEv @ 10203 NONAME - _ZNK9QFontInfo9underlineEv @ 10204 NONAME - _ZNK9QGradient14coordinateModeEv @ 10205 NONAME - _ZNK9QGradient17interpolationModeEv @ 10206 NONAME - _ZNK9QGradient5stopsEv @ 10207 NONAME - _ZNK9QGradienteqERKS_ @ 10208 NONAME - _ZNK9QGroupBox10metaObjectEv @ 10209 NONAME - _ZNK9QGroupBox11isCheckableEv @ 10210 NONAME - _ZNK9QGroupBox15initStyleOptionEP20QStyleOptionGroupBox @ 10211 NONAME - _ZNK9QGroupBox15minimumSizeHintEv @ 10212 NONAME - _ZNK9QGroupBox5titleEv @ 10213 NONAME - _ZNK9QGroupBox6isFlatEv @ 10214 NONAME - _ZNK9QGroupBox9alignmentEv @ 10215 NONAME - _ZNK9QGroupBox9isCheckedEv @ 10216 NONAME - _ZNK9QKeyEvent14nativeScanCodeEv @ 10217 NONAME - _ZNK9QKeyEvent15nativeModifiersEv @ 10218 NONAME - _ZNK9QKeyEvent16nativeVirtualKeyEv @ 10219 NONAME - _ZNK9QKeyEvent7matchesEN12QKeySequence11StandardKeyE @ 10220 NONAME - _ZNK9QKeyEvent9modifiersEv @ 10221 NONAME - _ZNK9QLineEdit10cursorRectEv @ 10222 NONAME - _ZNK9QLineEdit10isModifiedEv @ 10223 NONAME - _ZNK9QLineEdit10isReadOnlyEv @ 10224 NONAME - _ZNK9QLineEdit10metaObjectEv @ 10225 NONAME - _ZNK9QLineEdit11displayTextEv @ 10226 NONAME - _ZNK9QLineEdit11dragEnabledEv @ 10227 NONAME - _ZNK9QLineEdit12selectedTextEv @ 10228 NONAME - _ZNK9QLineEdit14cursorPositionEv @ 10229 NONAME - _ZNK9QLineEdit14getTextMarginsEPiS0_S0_S0_ @ 10230 NONAME - _ZNK9QLineEdit14selectionStartEv @ 10231 NONAME - _ZNK9QLineEdit15hasSelectedTextEv @ 10232 NONAME - _ZNK9QLineEdit15initStyleOptionEP17QStyleOptionFrame @ 10233 NONAME - _ZNK9QLineEdit15isRedoAvailableEv @ 10234 NONAME - _ZNK9QLineEdit15isUndoAvailableEv @ 10235 NONAME - _ZNK9QLineEdit15minimumSizeHintEv @ 10236 NONAME - _ZNK9QLineEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 10237 NONAME - _ZNK9QLineEdit18hasAcceptableInputEv @ 10238 NONAME - _ZNK9QLineEdit4copyEv @ 10239 NONAME - _ZNK9QLineEdit4textEv @ 10240 NONAME - _ZNK9QLineEdit8echoModeEv @ 10241 NONAME - _ZNK9QLineEdit8hasFrameEv @ 10242 NONAME - _ZNK9QLineEdit8sizeHintEv @ 10243 NONAME - _ZNK9QLineEdit9alignmentEv @ 10244 NONAME - _ZNK9QLineEdit9completerEv @ 10245 NONAME - _ZNK9QLineEdit9inputMaskEv @ 10246 NONAME - _ZNK9QLineEdit9maxLengthEv @ 10247 NONAME - _ZNK9QLineEdit9validatorEv @ 10248 NONAME - _ZNK9QListView10isWrappingEv @ 10249 NONAME - _ZNK9QListView10layoutModeEv @ 10250 NONAME - _ZNK9QListView10metaObjectEv @ 10251 NONAME - _ZNK9QListView10resizeModeEv @ 10252 NONAME - _ZNK9QListView10visualRectERK11QModelIndex @ 10253 NONAME - _ZNK9QListView11isRowHiddenEi @ 10254 NONAME - _ZNK9QListView11modelColumnEv @ 10255 NONAME - _ZNK9QListView11viewOptionsEv @ 10256 NONAME - _ZNK9QListView11visualIndexERK11QModelIndex @ 10257 NONAME - _ZNK9QListView12contentsSizeEv @ 10258 NONAME - _ZNK9QListView12rectForIndexERK11QModelIndex @ 10259 NONAME - _ZNK9QListView13isIndexHiddenERK11QModelIndex @ 10260 NONAME - _ZNK9QListView14verticalOffsetEv @ 10261 NONAME - _ZNK9QListView15selectedIndexesEv @ 10262 NONAME - _ZNK9QListView16horizontalOffsetEv @ 10263 NONAME - _ZNK9QListView16uniformItemSizesEv @ 10264 NONAME - _ZNK9QListView22isSelectionRectVisibleEv @ 10265 NONAME - _ZNK9QListView24visualRegionForSelectionERK14QItemSelection @ 10266 NONAME - _ZNK9QListView4flowEv @ 10267 NONAME - _ZNK9QListView7indexAtERK6QPoint @ 10268 NONAME - _ZNK9QListView7spacingEv @ 10269 NONAME - _ZNK9QListView8gridSizeEv @ 10270 NONAME - _ZNK9QListView8movementEv @ 10271 NONAME - _ZNK9QListView8viewModeEv @ 10272 NONAME - _ZNK9QListView8wordWrapEv @ 10273 NONAME - _ZNK9QListView9batchSizeEv @ 10274 NONAME - _ZNK9QPolygonF10subtractedERKS_ @ 10275 NONAME - _ZNK9QPolygonF11intersectedERKS_ @ 10276 NONAME - _ZNK9QPolygonF12boundingRectEv @ 10277 NONAME - _ZNK9QPolygonF13containsPointERK7QPointFN2Qt8FillRuleE @ 10278 NONAME - _ZNK9QPolygonF6unitedERKS_ @ 10279 NONAME - _ZNK9QPolygonF9toPolygonEv @ 10280 NONAME - _ZNK9QS60Style10metaObjectEv @ 10281 NONAME - _ZNK9QS60Style11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 10282 NONAME - _ZNK9QS60Style11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 10283 NONAME - _ZNK9QS60Style13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 10284 NONAME - _ZNK9QS60Style13stylePropertyEPKc @ 10285 NONAME - _ZNK9QS60Style14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget @ 10286 NONAME - _ZNK9QS60Style14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 10287 NONAME - _ZNK9QS60Style16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 10288 NONAME - _ZNK9QS60Style18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 10289 NONAME - _ZNK9QS60Style26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 10290 NONAME - _ZNK9QS60Style9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 10291 NONAME - _ZNK9QShortcut10autoRepeatEv @ 10292 NONAME - _ZNK9QShortcut10metaObjectEv @ 10293 NONAME - _ZNK9QShortcut2idEv @ 10294 NONAME - _ZNK9QShortcut3keyEv @ 10295 NONAME - _ZNK9QShortcut9isEnabledEv @ 10296 NONAME - _ZNK9QShortcut9whatsThisEv @ 10297 NONAME - _ZNK9QSizeGrip10metaObjectEv @ 10298 NONAME - _ZNK9QSizeGrip8sizeHintEv @ 10299 NONAME - _ZNK9QSplitter10metaObjectEv @ 10300 NONAME - _ZNK9QSplitter11handleWidthEv @ 10301 NONAME - _ZNK9QSplitter11orientationEv @ 10302 NONAME - _ZNK9QSplitter12opaqueResizeEv @ 10303 NONAME - _ZNK9QSplitter13isCollapsibleEi @ 10304 NONAME - _ZNK9QSplitter15minimumSizeHintEv @ 10305 NONAME - _ZNK9QSplitter19childrenCollapsibleEv @ 10306 NONAME - _ZNK9QSplitter5countEv @ 10307 NONAME - _ZNK9QSplitter5sizesEv @ 10308 NONAME - _ZNK9QSplitter6handleEi @ 10309 NONAME - _ZNK9QSplitter6widgetEi @ 10310 NONAME - _ZNK9QSplitter7indexOfEP7QWidget @ 10311 NONAME - _ZNK9QSplitter8getRangeEiPiS0_ @ 10312 NONAME - _ZNK9QSplitter8sizeHintEv @ 10313 NONAME - _ZNK9QSplitter9saveStateEv @ 10314 NONAME - _ZNK9QTextEdit10cursorRectERK11QTextCursor @ 10315 NONAME - _ZNK9QTextEdit10cursorRectEv @ 10316 NONAME - _ZNK9QTextEdit10fontFamilyEv @ 10317 NONAME - _ZNK9QTextEdit10fontItalicEv @ 10318 NONAME - _ZNK9QTextEdit10fontWeightEv @ 10319 NONAME - _ZNK9QTextEdit10isReadOnlyEv @ 10320 NONAME - _ZNK9QTextEdit10metaObjectEv @ 10321 NONAME - _ZNK9QTextEdit10textCursorEv @ 10322 NONAME - _ZNK9QTextEdit11currentFontEv @ 10323 NONAME - _ZNK9QTextEdit11cursorWidthEv @ 10324 NONAME - _ZNK9QTextEdit12lineWrapModeEv @ 10325 NONAME - _ZNK9QTextEdit12tabStopWidthEv @ 10326 NONAME - _ZNK9QTextEdit12wordWrapModeEv @ 10327 NONAME - _ZNK9QTextEdit13fontPointSizeEv @ 10328 NONAME - _ZNK9QTextEdit13fontUnderlineEv @ 10329 NONAME - _ZNK9QTextEdit13overwriteModeEv @ 10330 NONAME - _ZNK9QTextEdit14acceptRichTextEv @ 10331 NONAME - _ZNK9QTextEdit14autoFormattingEv @ 10332 NONAME - _ZNK9QTextEdit15extraSelectionsEv @ 10333 NONAME - _ZNK9QTextEdit15tabChangesFocusEv @ 10334 NONAME - _ZNK9QTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 10335 NONAME - _ZNK9QTextEdit17currentCharFormatEv @ 10336 NONAME - _ZNK9QTextEdit17cursorForPositionERK6QPoint @ 10337 NONAME - _ZNK9QTextEdit19textBackgroundColorEv @ 10338 NONAME - _ZNK9QTextEdit20textInteractionFlagsEv @ 10339 NONAME - _ZNK9QTextEdit21canInsertFromMimeDataEPK9QMimeData @ 10340 NONAME - _ZNK9QTextEdit21lineWrapColumnOrWidthEv @ 10341 NONAME - _ZNK9QTextEdit27createMimeDataFromSelectionEv @ 10342 NONAME - _ZNK9QTextEdit8anchorAtERK6QPoint @ 10343 NONAME - _ZNK9QTextEdit8canPasteEv @ 10344 NONAME - _ZNK9QTextEdit8documentEv @ 10345 NONAME - _ZNK9QTextEdit9alignmentEv @ 10346 NONAME - _ZNK9QTextEdit9textColorEv @ 10347 NONAME - _ZNK9QTextItem11renderFlagsEv @ 10348 NONAME - _ZNK9QTextItem4fontEv @ 10349 NONAME - _ZNK9QTextItem4textEv @ 10350 NONAME - _ZNK9QTextItem5widthEv @ 10351 NONAME - _ZNK9QTextItem6ascentEv @ 10352 NONAME - _ZNK9QTextItem7descentEv @ 10353 NONAME - _ZNK9QTextLine10textLengthEv @ 10354 NONAME - _ZNK9QTextLine15naturalTextRectEv @ 10355 NONAME - _ZNK9QTextLine16naturalTextWidthEv @ 10356 NONAME - _ZNK9QTextLine1xEv @ 10357 NONAME - _ZNK9QTextLine1yEv @ 10358 NONAME - _ZNK9QTextLine4drawEP8QPainterRK7QPointFPKN11QTextLayout11FormatRangeE @ 10359 NONAME - _ZNK9QTextLine4rectEv @ 10360 NONAME - _ZNK9QTextLine5widthEv @ 10361 NONAME - _ZNK9QTextLine6ascentEv @ 10362 NONAME - _ZNK9QTextLine6heightEv @ 10363 NONAME - _ZNK9QTextLine7descentEv @ 10364 NONAME - _ZNK9QTextLine8positionEv @ 10365 NONAME - _ZNK9QTextLine9cursorToXEPiNS_4EdgeE @ 10366 NONAME - _ZNK9QTextLine9textStartEv @ 10367 NONAME - _ZNK9QTextLine9xToCursorEfNS_14CursorPositionE @ 10368 NONAME - _ZNK9QTextList10itemNumberERK10QTextBlock @ 10369 NONAME - _ZNK9QTextList10metaObjectEv @ 10370 NONAME - _ZNK9QTextList4itemEi @ 10371 NONAME - _ZNK9QTextList5countEv @ 10372 NONAME - _ZNK9QTextList8itemTextERK10QTextBlock @ 10373 NONAME - _ZNK9QTimeEdit10metaObjectEv @ 10374 NONAME - _ZNK9QTreeView10indexAboveERK11QModelIndex @ 10375 NONAME - _ZNK9QTreeView10indexBelowERK11QModelIndex @ 10376 NONAME - _ZNK9QTreeView10isAnimatedEv @ 10377 NONAME - _ZNK9QTreeView10isExpandedERK11QModelIndex @ 10378 NONAME - _ZNK9QTreeView10metaObjectEv @ 10379 NONAME - _ZNK9QTreeView10visualRectERK11QModelIndex @ 10380 NONAME - _ZNK9QTreeView11columnWidthEi @ 10381 NONAME - _ZNK9QTreeView11indentationEv @ 10382 NONAME - _ZNK9QTreeView11isRowHiddenEiRK11QModelIndex @ 10383 NONAME - _ZNK9QTreeView11visualIndexERK11QModelIndex @ 10384 NONAME - _ZNK9QTreeView12drawBranchesEP8QPainterRK5QRectRK11QModelIndex @ 10385 NONAME - _ZNK9QTreeView13isIndexHiddenERK11QModelIndex @ 10386 NONAME - _ZNK9QTreeView14isColumnHiddenEi @ 10387 NONAME - _ZNK9QTreeView14isHeaderHiddenEv @ 10388 NONAME - _ZNK9QTreeView14verticalOffsetEv @ 10389 NONAME - _ZNK9QTreeView15autoExpandDelayEv @ 10390 NONAME - _ZNK9QTreeView15itemsExpandableEv @ 10391 NONAME - _ZNK9QTreeView15rootIsDecoratedEv @ 10392 NONAME - _ZNK9QTreeView15selectedIndexesEv @ 10393 NONAME - _ZNK9QTreeView16horizontalOffsetEv @ 10394 NONAME - _ZNK9QTreeView16indexRowSizeHintERK11QModelIndex @ 10395 NONAME - _ZNK9QTreeView16isSortingEnabledEv @ 10396 NONAME - _ZNK9QTreeView17sizeHintForColumnEi @ 10397 NONAME - _ZNK9QTreeView17uniformRowHeightsEv @ 10398 NONAME - _ZNK9QTreeView19allColumnsShowFocusEv @ 10399 NONAME - _ZNK9QTreeView20expandsOnDoubleClickEv @ 10400 NONAME - _ZNK9QTreeView20isFirstColumnSpannedEiRK11QModelIndex @ 10401 NONAME - _ZNK9QTreeView22columnViewportPositionEi @ 10402 NONAME - _ZNK9QTreeView24visualRegionForSelectionERK14QItemSelection @ 10403 NONAME - _ZNK9QTreeView6headerEv @ 10404 NONAME - _ZNK9QTreeView7drawRowEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex @ 10405 NONAME - _ZNK9QTreeView7indexAtERK6QPoint @ 10406 NONAME - _ZNK9QTreeView8columnAtEi @ 10407 NONAME - _ZNK9QTreeView8drawTreeEP8QPainterRK7QRegion @ 10408 NONAME - _ZNK9QTreeView8wordWrapEv @ 10409 NONAME - _ZNK9QTreeView9rowHeightERK11QModelIndex @ 10410 NONAME - _ZNK9QUndoView10emptyLabelEv @ 10411 NONAME - _ZNK9QUndoView10metaObjectEv @ 10412 NONAME - _ZNK9QUndoView5groupEv @ 10413 NONAME - _ZNK9QUndoView5stackEv @ 10414 NONAME - _ZNK9QUndoView9cleanIconEv @ 10415 NONAME - _ZNK9QUrlModel10metaObjectEv @ 10416 NONAME - _ZNK9QUrlModel4urlsEv @ 10417 NONAME - _ZNK9QUrlModel5flagsERK11QModelIndex @ 10418 NONAME - _ZNK9QUrlModel8mimeDataERK5QListI11QModelIndexE @ 10419 NONAME - _ZNK9QUrlModel9mimeTypesEv @ 10420 NONAME - _ZTI10QBoxLayout @ 10421 NONAME - _ZTI10QClipboard @ 10422 NONAME - _ZTI10QColorWell @ 10423 NONAME ABSENT - _ZTI10QCompleter @ 10424 NONAME - _ZTI10QDropEvent @ 10425 NONAME - _ZTI10QFontCache @ 10426 NONAME ABSENT - _ZTI10QHelpEvent @ 10427 NONAME - _ZTI10QHideEvent @ 10428 NONAME - _ZTI10QKeyMapper @ 10429 NONAME ABSENT - _ZTI10QLCDNumber @ 10430 NONAME - _ZTI10QListModel @ 10431 NONAME ABSENT - _ZTI10QMoveEvent @ 10432 NONAME - _ZTI10QScrollBar @ 10433 NONAME - _ZTI10QShowEvent @ 10434 NONAME - _ZTI10QStatusBar @ 10435 NONAME - _ZTI10QTabWidget @ 10436 NONAME - _ZTI10QTableView @ 10437 NONAME - _ZTI10QTextFrame @ 10438 NONAME - _ZTI10QTextTable @ 10439 NONAME - _ZTI10QTreeModel @ 10440 NONAME ABSENT - _ZTI10QUndoGroup @ 10441 NONAME - _ZTI10QUndoModel @ 10442 NONAME ABSENT - _ZTI10QUndoStack @ 10443 NONAME - _ZTI10QValidator @ 10444 NONAME - _ZTI10QWellArray @ 10445 NONAME ABSENT - _ZTI10QWhatsThat @ 10446 NONAME ABSENT - _ZTI10QWorkspace @ 10447 NONAME - _ZTI11CloseButton @ 10448 NONAME ABSENT - _ZTI11QBmpHandler @ 10449 NONAME ABSENT - _ZTI11QCloseEvent @ 10450 NONAME - _ZTI11QColumnView @ 10451 NONAME - _ZTI11QDockWidget @ 10452 NONAME - _ZTI11QFileDialog @ 10453 NONAME - _ZTI11QFocusEvent @ 10454 NONAME - _ZTI11QFocusFrame @ 10455 NONAME - _ZTI11QFontDialog @ 10456 NONAME - _ZTI11QFontEngine @ 10457 NONAME - _ZTI11QFormLayout @ 10458 NONAME - _ZTI11QGridLayout @ 10459 NONAME - _ZTI11QHBoxLayout @ 10460 NONAME - _ZTI11QHeaderView @ 10461 NONAME - _ZTI11QHoverEvent @ 10462 NONAME - _ZTI11QIconEngine @ 10463 NONAME - _ZTI11QInputEvent @ 10464 NONAME - _ZTI11QKeyEventEx @ 10465 NONAME ABSENT - _ZTI11QLayoutItem @ 10466 NONAME - _ZTI11QListWidget @ 10467 NONAME - _ZTI11QMDIControl @ 10468 NONAME ABSENT - _ZTI11QMainWindow @ 10469 NONAME - _ZTI11QMessageBox @ 10470 NONAME - _ZTI11QMimeSource @ 10471 NONAME - _ZTI11QMouseEvent @ 10472 NONAME - _ZTI11QPaintEvent @ 10473 NONAME - _ZTI11QPixmapData @ 10474 NONAME - _ZTI11QPngHandler @ 10475 NONAME ABSENT - _ZTI11QPpmHandler @ 10476 NONAME ABSENT - _ZTI11QProxyModel @ 10477 NONAME - _ZTI11QPushButton @ 10478 NONAME - _ZTI11QRollEffect @ 10479 NONAME ABSENT - _ZTI11QRubberBand @ 10480 NONAME - _ZTI11QScrollArea @ 10481 NONAME - _ZTI11QSpacerItem @ 10482 NONAME - _ZTI11QStrokerOps @ 10483 NONAME - _ZTI11QTableModel @ 10484 NONAME ABSENT - _ZTI11QTextObject @ 10485 NONAME - _ZTI11QToolButton @ 10486 NONAME - _ZTI11QTreeWidget @ 10487 NONAME - _ZTI11QUndoAction @ 10488 NONAME ABSENT - _ZTI11QVBoxLayout @ 10489 NONAME - _ZTI11QWheelEvent @ 10490 NONAME - _ZTI11QWidgetItem @ 10491 NONAME - _ZTI11QWizardPage @ 10492 NONAME - _ZTI11QXbmHandler @ 10493 NONAME ABSENT - _ZTI11QXpmHandler @ 10494 NONAME ABSENT - _ZTI12QActionEvent @ 10495 NONAME - _ZTI12QActionGroup @ 10496 NONAME - _ZTI12QAlphaWidget @ 10497 NONAME ABSENT - _ZTI12QApplication @ 10498 NONAME - _ZTI12QAuBucketS60 @ 10499 NONAME ABSENT - _ZTI12QButtonGroup @ 10500 NONAME - _ZTI12QColorDialog @ 10501 NONAME - _ZTI12QColorPicker @ 10502 NONAME ABSENT - _ZTI12QColorShower @ 10503 NONAME ABSENT - _ZTI12QCommonStyle @ 10504 NONAME - _ZTI12QDashStroker @ 10505 NONAME - _ZTI12QDragManager @ 10506 NONAME ABSENT - _ZTI12QFSCompleter @ 10507 NONAME ABSENT - _ZTI12QInputDialog @ 10508 NONAME - _ZTI12QMenuPrivate @ 10509 NONAME ABSENT - _ZTI12QPaintDevice @ 10510 NONAME - _ZTI12QPaintEngine @ 10511 NONAME - _ZTI12QProgressBar @ 10512 NONAME - _ZTI12QRadioButton @ 10513 NONAME - _ZTI12QResizeEvent @ 10514 NONAME - _ZTI12QStylePlugin @ 10515 NONAME - _ZTI12QTableWidget @ 10516 NONAME - _ZTI12QTabletEvent @ 10517 NONAME - _ZTI12QTessellator @ 10518 NONAME - _ZTI12QTextBrowser @ 10519 NONAME - _ZTI12QTextControl @ 10520 NONAME - _ZTI12QToolBarItem @ 10521 NONAME ABSENT - _ZTI12QTornOffMenu @ 10522 NONAME ABSENT - _ZTI12QUndoCommand @ 10523 NONAME - _ZTI13QCalendarView @ 10524 NONAME ABSENT - _ZTI13QDateTimeEdit @ 10525 NONAME - _ZTI13QErrorMessage @ 10526 NONAME - _ZTI13QFontComboBox @ 10527 NONAME - _ZTI13QFontListView @ 10528 NONAME ABSENT - _ZTI13QFramePrivate @ 10529 NONAME ABSENT - _ZTI13QGraphicsItem @ 10530 NONAME - _ZTI13QGraphicsView @ 10531 NONAME - _ZTI13QIconEngineV2 @ 10532 NONAME - _ZTI13QInputContext @ 10533 NONAME - _ZTI13QIntValidator @ 10534 NONAME - _ZTI13QItemDelegate @ 10535 NONAME - _ZTI13QLongTapTimer @ 10536 NONAME ABSENT - _ZTI13QMdiSubWindow @ 10537 NONAME - _ZTI13QMouseEventEx @ 10538 NONAME ABSENT - _ZTI13QPainterState @ 10539 NONAME - _ZTI13QPixmapFilter @ 10540 NONAME - _ZTI13QSplashScreen @ 10541 NONAME - _ZTI13QStandardItem @ 10542 NONAME - _ZTI13QTextDocument @ 10543 NONAME - _ZTI13QWidgetAction @ 10544 NONAME - _ZTI13QWidgetItemV2 @ 10545 NONAME - _ZTI13QWindowsStyle @ 10546 NONAME - _ZTI13QWizardHeader @ 10547 NONAME ABSENT - _ZTI14QActionPrivate @ 10548 NONAME - _ZTI14QCalendarModel @ 10549 NONAME ABSENT - _ZTI14QCalendarPopup @ 10550 NONAME ABSENT - _ZTI14QDesktopWidget @ 10551 NONAME - _ZTI14QDoubleSpinBox @ 10552 NONAME - _ZTI14QDragMoveEvent @ 10553 NONAME - _ZTI14QFileOpenEvent @ 10554 NONAME - _ZTI14QFontEngineBox @ 10555 NONAME ABSENT - _ZTI14QFontEngineS60 @ 10556 NONAME ABSENT - _ZTI14QGraphicsScene @ 10557 NONAME - _ZTI14QIconDragEvent @ 10558 NONAME - _ZTI14QImageIOPlugin @ 10559 NONAME - _ZTI14QLayoutPrivate @ 10560 NONAME - _ZTI14QMdiAreaTabBar @ 10561 NONAME ABSENT - _ZTI14QPaintEngineEx @ 10562 NONAME - _ZTI14QPlainTextEdit @ 10563 NONAME - _ZTI14QShortcutEvent @ 10564 NONAME - _ZTI14QStackedLayout @ 10565 NONAME - _ZTI14QStackedWidget @ 10566 NONAME - _ZTI14QToolBarLayout @ 10567 NONAME ABSENT - _ZTI14QToolBoxButton @ 10568 NONAME ABSENT - _ZTI14QWidgetPrivate @ 10569 NONAME - _ZTI14QWindowSurface @ 10570 NONAME - _ZTI15QAbstractButton @ 10571 NONAME - _ZTI15QAbstractSlider @ 10572 NONAME - _ZTI15QCalendarWidget @ 10573 NONAME - _ZTI15QClipboardEvent @ 10574 NONAME - _ZTI15QColorShowLabel @ 10575 NONAME ABSENT - _ZTI15QColumnViewGrip @ 10576 NONAME - _ZTI15QDockWidgetItem @ 10577 NONAME ABSENT - _ZTI15QDragEnterEvent @ 10578 NONAME - _ZTI15QDragLeaveEvent @ 10579 NONAME - _ZTI15QGraphicsLayout @ 10580 NONAME - _ZTI15QGraphicsSystem @ 10581 NONAME - _ZTI15QGraphicsWidget @ 10582 NONAME - _ZTI15QImageIOHandler @ 10583 NONAME - _ZTI15QListWidgetItem @ 10584 NONAME - _ZTI15QMdiAreaPrivate @ 10585 NONAME ABSENT - _ZTI15QProgressDialog @ 10586 NONAME - _ZTI15QSessionManager @ 10587 NONAME - _ZTI15QSpinBoxPrivate @ 10588 NONAME ABSENT - _ZTI15QSplitterHandle @ 10589 NONAME - _ZTI15QStatusTipEvent @ 10590 NONAME - _ZTI15QSymbianControl @ 10591 NONAME ABSENT - _ZTI15QTextBlockGroup @ 10592 NONAME - _ZTI15QTreeWidgetItem @ 10593 NONAME - _ZTI15QWidgetAnimator @ 10594 NONAME ABSENT - _ZTI15QWorkspaceChild @ 10595 NONAME ABSENT - _ZTI16QAbstractSpinBox @ 10596 NONAME - _ZTI16QBooleanComboBox @ 10597 NONAME ABSENT - _ZTI16QCompletionModel @ 10598 NONAME ABSENT - _ZTI16QDialogButtonBox @ 10599 NONAME - _ZTI16QDoubleValidator @ 10600 NONAME - _ZTI16QFileSystemModel @ 10601 NONAME - _ZTI16QFontEngineMulti @ 10602 NONAME ABSENT - _ZTI16QListViewPrivate @ 10603 NONAME ABSENT - _ZTI16QMimeDataWrapper @ 10604 NONAME ABSENT - _ZTI16QRegExpValidator @ 10605 NONAME - _ZTI16QSideBarDelegate @ 10606 NONAME ABSENT - _ZTI16QStringListModel @ 10607 NONAME - _ZTI16QStyleSheetStyle @ 10608 NONAME - _ZTI16QTableWidgetItem @ 10609 NONAME - _ZTI16QWhatsThisAction @ 10610 NONAME ABSENT - _ZTI17QAbstractItemView @ 10611 NONAME - _ZTI17QBoxLayoutPrivate @ 10612 NONAME ABSENT - _ZTI17QCalendarDelegate @ 10613 NONAME ABSENT - _ZTI17QComboBoxDelegate @ 10614 NONAME ABSENT - _ZTI17QComboBoxListView @ 10615 NONAME ABSENT - _ZTI17QContextMenuEvent @ 10616 NONAME - _ZTI17QDataWidgetMapper @ 10617 NONAME - _ZTI17QDockWidgetLayout @ 10618 NONAME - _ZTI17QFileIconProvider @ 10619 NONAME - _ZTI17QFileInfoGatherer @ 10620 NONAME - _ZTI17QGraphicsLineItem @ 10621 NONAME - _ZTI17QGraphicsPathItem @ 10622 NONAME - _ZTI17QGraphicsRectItem @ 10623 NONAME - _ZTI17QGraphicsTextItem @ 10624 NONAME - _ZTI17QIconEnginePlugin @ 10625 NONAME - _ZTI17QInputMethodEvent @ 10626 NONAME - _ZTI17QInternalMimeData @ 10627 NONAME ABSENT - _ZTI17QKeyMapperPrivate @ 10628 NONAME ABSENT - _ZTI17QMainWindowLayout @ 10629 NONAME - _ZTI17QMainWindowTabBar @ 10630 NONAME ABSENT - _ZTI17QMenuBarExtension @ 10631 NONAME ABSENT - _ZTI17QPaintEngineState @ 10632 NONAME - _ZTI17QPixmapIconEngine @ 10633 NONAME ABSENT - _ZTI17QRasterPixmapData @ 10634 NONAME - _ZTI17QS60WindowSurface @ 10635 NONAME ABSENT - _ZTI17QSpinBoxValidator @ 10636 NONAME ABSENT - _ZTI17QTabWidgetPrivate @ 10637 NONAME ABSENT - _ZTI17QTextEditMimeData @ 10638 NONAME ABSENT - _ZTI17QTextFramePrivate @ 10639 NONAME ABSENT - _ZTI17QTextImageHandler @ 10640 NONAME ABSENT - _ZTI17QTextTablePrivate @ 10641 NONAME ABSENT - _ZTI17QToolBarExtension @ 10642 NONAME - _ZTI17QToolBarSeparator @ 10643 NONAME ABSENT - _ZTI17QUpdateLaterEvent @ 10644 NONAME ABSENT - _ZTI17QWhatsThisPrivate @ 10645 NONAME ABSENT - _ZTI18QColumnViewPrivate @ 10646 NONAME - _ZTI18QComboMenuDelegate @ 10647 NONAME ABSENT - _ZTI18QCommandLinkButton @ 10648 NONAME - _ZTI18QDragResponseEvent @ 10649 NONAME - _ZTI18QExpandingLineEdit @ 10650 NONAME ABSENT - _ZTI18QFileDialogPrivate @ 10651 NONAME - _ZTI18QGraphicsItemGroup @ 10652 NONAME - _ZTI18QItemEditorFactory @ 10653 NONAME - _ZTI18QMimeSourceWrapper @ 10654 NONAME ABSENT - _ZTI18QPixmapDataFactory @ 10655 NONAME ABSENT - _ZTI18QPrevNextCalButton @ 10656 NONAME ABSENT - _ZTI18QRasterPaintEngine @ 10657 NONAME ABSENT - _ZTI18QSortedModelEngine @ 10658 NONAME ABSENT - _ZTI18QStandardItemModel @ 10659 NONAME - _ZTI18QSyntaxHighlighter @ 10660 NONAME - _ZTI18QTableCornerButton @ 10661 NONAME ABSENT - _ZTI18QTextBlockUserData @ 10662 NONAME - _ZTI18QTextureGlyphCache @ 10663 NONAME - _ZTI18QWorkspaceTitleBar @ 10664 NONAME ABSENT - _ZTI19QAbstractProxyModel @ 10665 NONAME - _ZTI19QAbstractScrollArea @ 10666 NONAME - _ZTI19QApplicationPrivate @ 10667 NONAME - _ZTI19QCoeFepInputContext @ 10668 NONAME - _ZTI19QColumnViewDelegate @ 10669 NONAME ABSENT - _ZTI19QEventDispatcherS60 @ 10670 NONAME - _ZTI19QFileDialogComboBox @ 10671 NONAME ABSENT - _ZTI19QFileDialogLineEdit @ 10672 NONAME ABSENT - _ZTI19QFileDialogListView @ 10673 NONAME ABSENT - _ZTI19QFileDialogTreeView @ 10674 NONAME ABSENT - _ZTI19QFontEngineMultiS60 @ 10675 NONAME ABSENT - _ZTI19QFontFamilyDelegate @ 10676 NONAME ABSENT - _ZTI19QGraphicsGridLayout @ 10677 NONAME - _ZTI19QGraphicsLayoutItem @ 10678 NONAME - _ZTI19QGraphicsPixmapItem @ 10679 NONAME - _ZTI19QGraphicsSceneEvent @ 10680 NONAME - _ZTI19QIconEnginePluginV2 @ 10681 NONAME - _ZTI19QInputContextPlugin @ 10682 NONAME - _ZTI19QInputDialogSpinBox @ 10683 NONAME ABSENT - _ZTI19QItemSelectionModel @ 10684 NONAME - _ZTI19QListWidgetMimeData @ 10685 NONAME ABSENT - _ZTI19QPicturePaintEngine @ 10686 NONAME ABSENT - _ZTI19QStyledItemDelegate @ 10687 NONAME - _ZTI19QTextBrowserPrivate @ 10688 NONAME ABSENT - _ZTI19QTextDocumentLayout @ 10689 NONAME - _ZTI19QToolBarChangeEvent @ 10690 NONAME - _ZTI20QDateTimeEditPrivate @ 10691 NONAME ABSENT - _ZTI20QGraphicsEllipseItem @ 10692 NONAME - _ZTI20QGraphicsItemPrivate @ 10693 NONAME - _ZTI20QGraphicsPolygonItem @ 10694 NONAME - _ZTI20QGraphicsProxyWidget @ 10695 NONAME - _ZTI20QGraphicsViewPrivate @ 10696 NONAME - _ZTI20QPictureFormatPlugin @ 10697 NONAME - _ZTI20QRasterWindowSurface @ 10698 NONAME - _ZTI20QStandardItemPrivate @ 10699 NONAME ABSENT - _ZTI20QTableWidgetMimeData @ 10700 NONAME ABSENT - _ZTI20QTextDocumentPrivate @ 10701 NONAME - _ZTI20QTextFrameLayoutData @ 10702 NONAME - _ZTI20QTextObjectInterface @ 10703 NONAME - _ZTI20QUnsortedModelEngine @ 10704 NONAME ABSENT - _ZTI20QWidgetResizeHandler @ 10705 NONAME - _ZTI21QAbstractItemDelegate @ 10706 NONAME - _ZTI21QCalendarDayValidator @ 10707 NONAME ABSENT - _ZTI21QColorLuminancePicker @ 10708 NONAME ABSENT - _ZTI21QDesktopWidgetPrivate @ 10709 NONAME ABSENT - _ZTI21QDoubleSpinBoxPrivate @ 10710 NONAME ABSENT - _ZTI21QEmulationPaintEngine @ 10711 NONAME ABSENT - _ZTI21QErrorMessageTextView @ 10712 NONAME ABSENT - _ZTI21QFontEngineGlyphCache @ 10713 NONAME ABSENT - _ZTI21QGraphicsLinearLayout @ 10714 NONAME - _ZTI21QGraphicsSystemPlugin @ 10715 NONAME - _ZTI21QPaintEngineExPrivate @ 10716 NONAME - _ZTI21QPixmapColorizeFilter @ 10717 NONAME - _ZTI21QPlainTextEditControl @ 10718 NONAME ABSENT - _ZTI21QRasterGraphicsSystem @ 10719 NONAME ABSENT - _ZTI21QSortFilterProxyModel @ 10720 NONAME - _ZTI22QAbstractSliderPrivate @ 10721 NONAME ABSENT - _ZTI22QCalendarTextNavigator @ 10722 NONAME ABSENT - _ZTI22QCalendarYearValidator @ 10723 NONAME ABSENT - _ZTI22QDockWidgetTitleButton @ 10724 NONAME ABSENT - _ZTI22QGraphicsItemAnimation @ 10725 NONAME - _ZTI22QGraphicsLayoutPrivate @ 10726 NONAME - _ZTI22QGraphicsWidgetPrivate @ 10727 NONAME ABSENT - _ZTI22QImageIOHandlerPrivate @ 10728 NONAME ABSENT - _ZTI22QStyleFactoryInterface @ 10729 NONAME - _ZTI22QTextHtmlStyleSelector @ 10730 NONAME ABSENT - _ZTI22QWhatsThisClickedEvent @ 10731 NONAME - _ZTI23QAbstractSpinBoxPrivate @ 10732 NONAME ABSENT - _ZTI23QActionToKeyEventMapper @ 10733 NONAME ABSENT - _ZTI23QCalendarMonthValidator @ 10734 NONAME ABSENT - _ZTI23QFileSystemModelPrivate @ 10735 NONAME - _ZTI23QGraphicsSceneHelpEvent @ 10736 NONAME - _ZTI23QGraphicsSceneMoveEvent @ 10737 NONAME - _ZTI23QGraphicsSimpleTextItem @ 10738 NONAME - _ZTI23QImageTextureGlyphCache @ 10739 NONAME ABSENT - _ZTI23QOpenUrlHandlerRegistry @ 10740 NONAME ABSENT - _ZTI23QPictureFormatInterface @ 10741 NONAME - _ZTI23QPixmapDropShadowFilter @ 10742 NONAME - _ZTI23QRasterPaintEngineState @ 10743 NONAME ABSENT - _ZTI23QWindowStateChangeEvent @ 10744 NONAME - _ZTI24QAbstractItemViewPrivate @ 10745 NONAME - _ZTI24QComboBoxPrivateScroller @ 10746 NONAME - _ZTI24QGraphicsSceneHoverEvent @ 10747 NONAME - _ZTI24QGraphicsSceneMouseEvent @ 10748 NONAME - _ZTI24QGraphicsSceneWheelEvent @ 10749 NONAME - _ZTI24QPixmapConvolutionFilter @ 10750 NONAME - _ZTI24QPlainTextDocumentLayout @ 10751 NONAME - _ZTI24QSimplePixmapDataFactory @ 10752 NONAME ABSENT - _ZTI25QAbstractScrollAreaFilter @ 10753 NONAME ABSENT - _ZTI25QComboBoxPrivateContainer @ 10754 NONAME - _ZTI25QDefaultItemEditorFactory @ 10755 NONAME ABSENT - _ZTI25QGraphicsSceneResizeEvent @ 10756 NONAME - _ZTI25QInputDialogDoubleSpinBox @ 10757 NONAME ABSENT - _ZTI25QRasterPaintEnginePrivate @ 10758 NONAME ABSENT - _ZTI25QStandardItemModelPrivate @ 10759 NONAME ABSENT - _ZTI26QAbstractGraphicsShapeItem @ 10760 NONAME - _ZTI26QAbstractProxyModelPrivate @ 10761 NONAME ABSENT - _ZTI26QAbstractScrollAreaPrivate @ 10762 NONAME - _ZTI26QGraphicsLayoutItemPrivate @ 10763 NONAME - _ZTI27QAbstractTextDocumentLayout @ 10764 NONAME - _ZTI27QGraphicsProxyWidgetPrivate @ 10765 NONAME ABSENT - _ZTI27QGraphicsSceneDragDropEvent @ 10766 NONAME - _ZTI27QIconEngineFactoryInterface @ 10767 NONAME - _ZTI28QSortFilterProxyModelPrivate @ 10768 NONAME ABSENT - _ZTI28QUnicodeControlCharacterMenu @ 10769 NONAME ABSENT - _ZTI29QIconEngineFactoryInterfaceV2 @ 10770 NONAME - _ZTI29QInputContextFactoryInterface @ 10771 NONAME - _ZTI30QGraphicsSceneContextMenuEvent @ 10772 NONAME - _ZTI31QGraphicsSystemFactoryInterface @ 10773 NONAME ABSENT - _ZTI31QImageIOHandlerFactoryInterface @ 10774 NONAME - _ZTI35QFontDatabaseS60StoreImplementation @ 10775 NONAME ABSENT - _ZTI5QDial @ 10776 NONAME - _ZTI5QDrag @ 10777 NONAME - _ZTI5QMenu @ 10778 NONAME - _ZTI6QFrame @ 10779 NONAME - _ZTI6QImage @ 10780 NONAME - _ZTI6QLabel @ 10781 NONAME - _ZTI6QMovie @ 10782 NONAME - _ZTI6QSound @ 10783 NONAME - _ZTI6QStyle @ 10784 NONAME - _ZTI7QAction @ 10785 NONAME - _ZTI7QBitmap @ 10786 NONAME - _ZTI7QDialog @ 10787 NONAME - _ZTI7QLayout @ 10788 NONAME - _ZTI7QPixmap @ 10789 NONAME - _ZTI7QSlider @ 10790 NONAME - _ZTI7QTabBar @ 10791 NONAME - _ZTI7QWidget @ 10792 NONAME - _ZTI7QWizard @ 10793 NONAME - _ZTI8QMdiArea @ 10794 NONAME - _ZTI8QMenuBar @ 10795 NONAME - _ZTI8QPMCache @ 10796 NONAME ABSENT - _ZTI8QPicture @ 10797 NONAME - _ZTI8QS60Beep @ 10798 NONAME ABSENT - _ZTI8QSidebar @ 10799 NONAME - _ZTI8QSpinBox @ 10800 NONAME - _ZTI8QStroker @ 10801 NONAME - _ZTI8QToolBar @ 10802 NONAME - _ZTI8QToolBox @ 10803 NONAME - _ZTI9QAuBucket @ 10804 NONAME ABSENT - _ZTI9QAuServer @ 10805 NONAME ABSENT - _ZTI9QCheckBox @ 10806 NONAME - _ZTI9QComboBox @ 10807 NONAME - _ZTI9QDateEdit @ 10808 NONAME - _ZTI9QDirModel @ 10809 NONAME - _ZTI9QDropData @ 10810 NONAME ABSENT - _ZTI9QGroupBox @ 10811 NONAME - _ZTI9QKeyEvent @ 10812 NONAME - _ZTI9QLineEdit @ 10813 NONAME - _ZTI9QListView @ 10814 NONAME - _ZTI9QS60Style @ 10815 NONAME - _ZTI9QShortcut @ 10816 NONAME - _ZTI9QSizeGrip @ 10817 NONAME - _ZTI9QSplitter @ 10818 NONAME - _ZTI9QTextEdit @ 10819 NONAME - _ZTI9QTextList @ 10820 NONAME - _ZTI9QTimeEdit @ 10821 NONAME - _ZTI9QTipLabel @ 10822 NONAME ABSENT - _ZTI9QTreeView @ 10823 NONAME - _ZTI9QUndoView @ 10824 NONAME - _ZTI9QUrlModel @ 10825 NONAME - _ZTIN4QCss13StyleSelectorE @ 10826 NONAME - _ZTIN4QMdi12ControlLabelE @ 10827 NONAME ABSENT - _ZTIN4QMdi12RegularTilerE @ 10828 NONAME ABSENT - _ZTIN4QMdi14SimpleCascaderE @ 10829 NONAME ABSENT - _ZTIN4QMdi16ControlContainerE @ 10830 NONAME ABSENT - _ZTIN4QMdi16ControllerWidgetE @ 10831 NONAME ABSENT - _ZTIN4QMdi16MinOverlapPlacerE @ 10832 NONAME ABSENT - _ZTIN4QMdi9IconTilerE @ 10833 NONAME ABSENT - _ZTV10QBoxLayout @ 10834 NONAME - _ZTV10QClipboard @ 10835 NONAME - _ZTV10QColorWell @ 10836 NONAME ABSENT - _ZTV10QCompleter @ 10837 NONAME - _ZTV10QDropEvent @ 10838 NONAME - _ZTV10QFontCache @ 10839 NONAME ABSENT - _ZTV10QHelpEvent @ 10840 NONAME - _ZTV10QHideEvent @ 10841 NONAME - _ZTV10QKeyMapper @ 10842 NONAME ABSENT - _ZTV10QLCDNumber @ 10843 NONAME - _ZTV10QListModel @ 10844 NONAME ABSENT - _ZTV10QMoveEvent @ 10845 NONAME - _ZTV10QScrollBar @ 10846 NONAME - _ZTV10QShowEvent @ 10847 NONAME - _ZTV10QStatusBar @ 10848 NONAME - _ZTV10QTabWidget @ 10849 NONAME - _ZTV10QTableView @ 10850 NONAME - _ZTV10QTextFrame @ 10851 NONAME - _ZTV10QTextTable @ 10852 NONAME - _ZTV10QTreeModel @ 10853 NONAME ABSENT - _ZTV10QUndoGroup @ 10854 NONAME - _ZTV10QUndoModel @ 10855 NONAME ABSENT - _ZTV10QUndoStack @ 10856 NONAME - _ZTV10QValidator @ 10857 NONAME - _ZTV10QWellArray @ 10858 NONAME ABSENT - _ZTV10QWhatsThat @ 10859 NONAME ABSENT - _ZTV10QWorkspace @ 10860 NONAME - _ZTV11CloseButton @ 10861 NONAME ABSENT - _ZTV11QBmpHandler @ 10862 NONAME ABSENT - _ZTV11QCloseEvent @ 10863 NONAME - _ZTV11QColumnView @ 10864 NONAME - _ZTV11QDockWidget @ 10865 NONAME - _ZTV11QFileDialog @ 10866 NONAME - _ZTV11QFocusEvent @ 10867 NONAME - _ZTV11QFocusFrame @ 10868 NONAME - _ZTV11QFontDialog @ 10869 NONAME - _ZTV11QFontEngine @ 10870 NONAME - _ZTV11QFormLayout @ 10871 NONAME - _ZTV11QGridLayout @ 10872 NONAME - _ZTV11QHBoxLayout @ 10873 NONAME - _ZTV11QHeaderView @ 10874 NONAME - _ZTV11QHoverEvent @ 10875 NONAME - _ZTV11QIconEngine @ 10876 NONAME - _ZTV11QInputEvent @ 10877 NONAME - _ZTV11QKeyEventEx @ 10878 NONAME ABSENT - _ZTV11QLayoutItem @ 10879 NONAME - _ZTV11QListWidget @ 10880 NONAME - _ZTV11QMDIControl @ 10881 NONAME ABSENT - _ZTV11QMainWindow @ 10882 NONAME - _ZTV11QMessageBox @ 10883 NONAME - _ZTV11QMimeSource @ 10884 NONAME - _ZTV11QMouseEvent @ 10885 NONAME - _ZTV11QPaintEvent @ 10886 NONAME - _ZTV11QPixmapData @ 10887 NONAME - _ZTV11QPngHandler @ 10888 NONAME ABSENT - _ZTV11QPpmHandler @ 10889 NONAME ABSENT - _ZTV11QProxyModel @ 10890 NONAME - _ZTV11QPushButton @ 10891 NONAME - _ZTV11QRollEffect @ 10892 NONAME ABSENT - _ZTV11QRubberBand @ 10893 NONAME - _ZTV11QScrollArea @ 10894 NONAME - _ZTV11QSpacerItem @ 10895 NONAME - _ZTV11QStrokerOps @ 10896 NONAME - _ZTV11QTableModel @ 10897 NONAME ABSENT - _ZTV11QTextObject @ 10898 NONAME - _ZTV11QToolButton @ 10899 NONAME - _ZTV11QTreeWidget @ 10900 NONAME - _ZTV11QUndoAction @ 10901 NONAME ABSENT - _ZTV11QVBoxLayout @ 10902 NONAME - _ZTV11QWheelEvent @ 10903 NONAME - _ZTV11QWidgetItem @ 10904 NONAME - _ZTV11QWizardPage @ 10905 NONAME - _ZTV11QXbmHandler @ 10906 NONAME ABSENT - _ZTV11QXpmHandler @ 10907 NONAME ABSENT - _ZTV12QActionEvent @ 10908 NONAME - _ZTV12QActionGroup @ 10909 NONAME - _ZTV12QAlphaWidget @ 10910 NONAME ABSENT - _ZTV12QApplication @ 10911 NONAME - _ZTV12QAuBucketS60 @ 10912 NONAME ABSENT - _ZTV12QButtonGroup @ 10913 NONAME - _ZTV12QColorDialog @ 10914 NONAME - _ZTV12QColorPicker @ 10915 NONAME ABSENT - _ZTV12QColorShower @ 10916 NONAME ABSENT - _ZTV12QCommonStyle @ 10917 NONAME - _ZTV12QDashStroker @ 10918 NONAME - _ZTV12QDragManager @ 10919 NONAME ABSENT - _ZTV12QFSCompleter @ 10920 NONAME ABSENT - _ZTV12QInputDialog @ 10921 NONAME - _ZTV12QMenuPrivate @ 10922 NONAME ABSENT - _ZTV12QPaintDevice @ 10923 NONAME - _ZTV12QPaintEngine @ 10924 NONAME - _ZTV12QProgressBar @ 10925 NONAME - _ZTV12QRadioButton @ 10926 NONAME - _ZTV12QResizeEvent @ 10927 NONAME - _ZTV12QStylePlugin @ 10928 NONAME - _ZTV12QTableWidget @ 10929 NONAME - _ZTV12QTabletEvent @ 10930 NONAME - _ZTV12QTessellator @ 10931 NONAME - _ZTV12QTextBrowser @ 10932 NONAME - _ZTV12QTextControl @ 10933 NONAME - _ZTV12QToolBarItem @ 10934 NONAME ABSENT - _ZTV12QTornOffMenu @ 10935 NONAME ABSENT - _ZTV12QUndoCommand @ 10936 NONAME - _ZTV13QCalendarView @ 10937 NONAME ABSENT - _ZTV13QDateTimeEdit @ 10938 NONAME - _ZTV13QErrorMessage @ 10939 NONAME - _ZTV13QFontComboBox @ 10940 NONAME - _ZTV13QFontListView @ 10941 NONAME ABSENT - _ZTV13QFramePrivate @ 10942 NONAME ABSENT - _ZTV13QGraphicsItem @ 10943 NONAME - _ZTV13QGraphicsView @ 10944 NONAME - _ZTV13QIconEngineV2 @ 10945 NONAME - _ZTV13QInputContext @ 10946 NONAME - _ZTV13QIntValidator @ 10947 NONAME - _ZTV13QItemDelegate @ 10948 NONAME - _ZTV13QLongTapTimer @ 10949 NONAME ABSENT - _ZTV13QMdiSubWindow @ 10950 NONAME - _ZTV13QMouseEventEx @ 10951 NONAME ABSENT - _ZTV13QPainterState @ 10952 NONAME - _ZTV13QPixmapFilter @ 10953 NONAME - _ZTV13QSplashScreen @ 10954 NONAME - _ZTV13QStandardItem @ 10955 NONAME - _ZTV13QTextDocument @ 10956 NONAME - _ZTV13QWidgetAction @ 10957 NONAME - _ZTV13QWidgetItemV2 @ 10958 NONAME - _ZTV13QWindowsStyle @ 10959 NONAME - _ZTV13QWizardHeader @ 10960 NONAME ABSENT - _ZTV14QActionPrivate @ 10961 NONAME - _ZTV14QCalendarModel @ 10962 NONAME ABSENT - _ZTV14QCalendarPopup @ 10963 NONAME ABSENT - _ZTV14QDesktopWidget @ 10964 NONAME - _ZTV14QDoubleSpinBox @ 10965 NONAME - _ZTV14QDragMoveEvent @ 10966 NONAME - _ZTV14QFileOpenEvent @ 10967 NONAME - _ZTV14QFontEngineBox @ 10968 NONAME ABSENT - _ZTV14QFontEngineS60 @ 10969 NONAME ABSENT - _ZTV14QGraphicsScene @ 10970 NONAME - _ZTV14QIconDragEvent @ 10971 NONAME - _ZTV14QImageIOPlugin @ 10972 NONAME - _ZTV14QLayoutPrivate @ 10973 NONAME - _ZTV14QMdiAreaTabBar @ 10974 NONAME ABSENT - _ZTV14QPaintEngineEx @ 10975 NONAME - _ZTV14QPlainTextEdit @ 10976 NONAME - _ZTV14QShortcutEvent @ 10977 NONAME - _ZTV14QStackedLayout @ 10978 NONAME - _ZTV14QStackedWidget @ 10979 NONAME - _ZTV14QToolBarLayout @ 10980 NONAME ABSENT - _ZTV14QToolBoxButton @ 10981 NONAME ABSENT - _ZTV14QWidgetPrivate @ 10982 NONAME - _ZTV14QWindowSurface @ 10983 NONAME - _ZTV15QAbstractButton @ 10984 NONAME - _ZTV15QAbstractSlider @ 10985 NONAME - _ZTV15QCalendarWidget @ 10986 NONAME - _ZTV15QClipboardEvent @ 10987 NONAME - _ZTV15QColorShowLabel @ 10988 NONAME ABSENT - _ZTV15QColumnViewGrip @ 10989 NONAME - _ZTV15QDockWidgetItem @ 10990 NONAME ABSENT - _ZTV15QDragEnterEvent @ 10991 NONAME - _ZTV15QDragLeaveEvent @ 10992 NONAME - _ZTV15QGraphicsLayout @ 10993 NONAME - _ZTV15QGraphicsWidget @ 10994 NONAME - _ZTV15QImageIOHandler @ 10995 NONAME - _ZTV15QListWidgetItem @ 10996 NONAME - _ZTV15QMdiAreaPrivate @ 10997 NONAME ABSENT - _ZTV15QProgressDialog @ 10998 NONAME - _ZTV15QSessionManager @ 10999 NONAME - _ZTV15QSpinBoxPrivate @ 11000 NONAME ABSENT - _ZTV15QSplitterHandle @ 11001 NONAME - _ZTV15QStatusTipEvent @ 11002 NONAME - _ZTV15QSymbianControl @ 11003 NONAME ABSENT - _ZTV15QTextBlockGroup @ 11004 NONAME - _ZTV15QTreeWidgetItem @ 11005 NONAME - _ZTV15QWidgetAnimator @ 11006 NONAME ABSENT - _ZTV15QWorkspaceChild @ 11007 NONAME ABSENT - _ZTV16QAbstractSpinBox @ 11008 NONAME - _ZTV16QBooleanComboBox @ 11009 NONAME ABSENT - _ZTV16QCompletionModel @ 11010 NONAME ABSENT - _ZTV16QDialogButtonBox @ 11011 NONAME - _ZTV16QDoubleValidator @ 11012 NONAME - _ZTV16QFileSystemModel @ 11013 NONAME - _ZTV16QFontEngineMulti @ 11014 NONAME ABSENT - _ZTV16QListViewPrivate @ 11015 NONAME ABSENT - _ZTV16QMimeDataWrapper @ 11016 NONAME ABSENT - _ZTV16QRegExpValidator @ 11017 NONAME - _ZTV16QSideBarDelegate @ 11018 NONAME ABSENT - _ZTV16QStringListModel @ 11019 NONAME - _ZTV16QStyleSheetStyle @ 11020 NONAME - _ZTV16QTableWidgetItem @ 11021 NONAME - _ZTV16QWhatsThisAction @ 11022 NONAME ABSENT - _ZTV17QAbstractItemView @ 11023 NONAME - _ZTV17QBoxLayoutPrivate @ 11024 NONAME ABSENT - _ZTV17QCalendarDelegate @ 11025 NONAME ABSENT - _ZTV17QComboBoxDelegate @ 11026 NONAME ABSENT - _ZTV17QComboBoxListView @ 11027 NONAME ABSENT - _ZTV17QContextMenuEvent @ 11028 NONAME - _ZTV17QDataWidgetMapper @ 11029 NONAME - _ZTV17QDockWidgetLayout @ 11030 NONAME - _ZTV17QFileIconProvider @ 11031 NONAME - _ZTV17QFileInfoGatherer @ 11032 NONAME - _ZTV17QGraphicsLineItem @ 11033 NONAME - _ZTV17QGraphicsPathItem @ 11034 NONAME - _ZTV17QGraphicsRectItem @ 11035 NONAME - _ZTV17QGraphicsTextItem @ 11036 NONAME - _ZTV17QIconEnginePlugin @ 11037 NONAME - _ZTV17QInputMethodEvent @ 11038 NONAME - _ZTV17QInternalMimeData @ 11039 NONAME ABSENT - _ZTV17QKeyMapperPrivate @ 11040 NONAME ABSENT - _ZTV17QMainWindowLayout @ 11041 NONAME - _ZTV17QMainWindowTabBar @ 11042 NONAME ABSENT - _ZTV17QMenuBarExtension @ 11043 NONAME ABSENT - _ZTV17QPixmapIconEngine @ 11044 NONAME ABSENT - _ZTV17QRasterPixmapData @ 11045 NONAME - _ZTV17QS60WindowSurface @ 11046 NONAME ABSENT - _ZTV17QSpinBoxValidator @ 11047 NONAME ABSENT - _ZTV17QTabWidgetPrivate @ 11048 NONAME ABSENT - _ZTV17QTextEditMimeData @ 11049 NONAME ABSENT - _ZTV17QTextFramePrivate @ 11050 NONAME ABSENT - _ZTV17QTextImageHandler @ 11051 NONAME ABSENT - _ZTV17QTextTablePrivate @ 11052 NONAME ABSENT - _ZTV17QToolBarExtension @ 11053 NONAME - _ZTV17QToolBarSeparator @ 11054 NONAME ABSENT - _ZTV17QUpdateLaterEvent @ 11055 NONAME ABSENT - _ZTV17QWhatsThisPrivate @ 11056 NONAME ABSENT - _ZTV18QColumnViewPrivate @ 11057 NONAME - _ZTV18QComboMenuDelegate @ 11058 NONAME ABSENT - _ZTV18QCommandLinkButton @ 11059 NONAME - _ZTV18QDragResponseEvent @ 11060 NONAME - _ZTV18QExpandingLineEdit @ 11061 NONAME ABSENT - _ZTV18QFileDialogPrivate @ 11062 NONAME - _ZTV18QGraphicsItemGroup @ 11063 NONAME - _ZTV18QItemEditorFactory @ 11064 NONAME - _ZTV18QMimeSourceWrapper @ 11065 NONAME ABSENT - _ZTV18QPixmapDataFactory @ 11066 NONAME ABSENT - _ZTV18QPrevNextCalButton @ 11067 NONAME ABSENT - _ZTV18QRasterPaintEngine @ 11068 NONAME ABSENT - _ZTV18QSortedModelEngine @ 11069 NONAME ABSENT - _ZTV18QStandardItemModel @ 11070 NONAME - _ZTV18QSyntaxHighlighter @ 11071 NONAME - _ZTV18QTableCornerButton @ 11072 NONAME ABSENT - _ZTV18QTextBlockUserData @ 11073 NONAME - _ZTV18QTextureGlyphCache @ 11074 NONAME - _ZTV18QWorkspaceTitleBar @ 11075 NONAME ABSENT - _ZTV19QAbstractProxyModel @ 11076 NONAME - _ZTV19QAbstractScrollArea @ 11077 NONAME - _ZTV19QApplicationPrivate @ 11078 NONAME - _ZTV19QCoeFepInputContext @ 11079 NONAME - _ZTV19QColumnViewDelegate @ 11080 NONAME ABSENT - _ZTV19QEventDispatcherS60 @ 11081 NONAME - _ZTV19QFileDialogComboBox @ 11082 NONAME ABSENT - _ZTV19QFileDialogLineEdit @ 11083 NONAME ABSENT - _ZTV19QFileDialogListView @ 11084 NONAME ABSENT - _ZTV19QFileDialogTreeView @ 11085 NONAME ABSENT - _ZTV19QFontEngineMultiS60 @ 11086 NONAME ABSENT - _ZTV19QFontFamilyDelegate @ 11087 NONAME ABSENT - _ZTV19QGraphicsGridLayout @ 11088 NONAME - _ZTV19QGraphicsLayoutItem @ 11089 NONAME - _ZTV19QGraphicsPixmapItem @ 11090 NONAME - _ZTV19QGraphicsSceneEvent @ 11091 NONAME - _ZTV19QIconEnginePluginV2 @ 11092 NONAME - _ZTV19QInputContextPlugin @ 11093 NONAME - _ZTV19QInputDialogSpinBox @ 11094 NONAME ABSENT - _ZTV19QItemSelectionModel @ 11095 NONAME - _ZTV19QListWidgetMimeData @ 11096 NONAME ABSENT - _ZTV19QPicturePaintEngine @ 11097 NONAME ABSENT - _ZTV19QStyledItemDelegate @ 11098 NONAME - _ZTV19QTextBrowserPrivate @ 11099 NONAME ABSENT - _ZTV19QTextDocumentLayout @ 11100 NONAME - _ZTV19QToolBarChangeEvent @ 11101 NONAME - _ZTV20QDateTimeEditPrivate @ 11102 NONAME ABSENT - _ZTV20QGraphicsEllipseItem @ 11103 NONAME - _ZTV20QGraphicsItemPrivate @ 11104 NONAME - _ZTV20QGraphicsPolygonItem @ 11105 NONAME - _ZTV20QGraphicsProxyWidget @ 11106 NONAME - _ZTV20QGraphicsViewPrivate @ 11107 NONAME - _ZTV20QPictureFormatPlugin @ 11108 NONAME - _ZTV20QRasterWindowSurface @ 11109 NONAME - _ZTV20QStandardItemPrivate @ 11110 NONAME ABSENT - _ZTV20QTableWidgetMimeData @ 11111 NONAME ABSENT - _ZTV20QTextDocumentPrivate @ 11112 NONAME - _ZTV20QTextFrameLayoutData @ 11113 NONAME - _ZTV20QUnsortedModelEngine @ 11114 NONAME ABSENT - _ZTV20QWidgetResizeHandler @ 11115 NONAME - _ZTV21QAbstractItemDelegate @ 11116 NONAME - _ZTV21QCalendarDayValidator @ 11117 NONAME ABSENT - _ZTV21QColorLuminancePicker @ 11118 NONAME ABSENT - _ZTV21QDesktopWidgetPrivate @ 11119 NONAME ABSENT - _ZTV21QDoubleSpinBoxPrivate @ 11120 NONAME ABSENT - _ZTV21QEmulationPaintEngine @ 11121 NONAME ABSENT - _ZTV21QErrorMessageTextView @ 11122 NONAME ABSENT - _ZTV21QFontEngineGlyphCache @ 11123 NONAME ABSENT - _ZTV21QGraphicsLinearLayout @ 11124 NONAME - _ZTV21QGraphicsSystemPlugin @ 11125 NONAME - _ZTV21QPaintEngineExPrivate @ 11126 NONAME - _ZTV21QPixmapColorizeFilter @ 11127 NONAME - _ZTV21QPlainTextEditControl @ 11128 NONAME ABSENT - _ZTV21QRasterGraphicsSystem @ 11129 NONAME ABSENT - _ZTV21QSortFilterProxyModel @ 11130 NONAME - _ZTV22QAbstractSliderPrivate @ 11131 NONAME ABSENT - _ZTV22QCalendarTextNavigator @ 11132 NONAME ABSENT - _ZTV22QCalendarYearValidator @ 11133 NONAME ABSENT - _ZTV22QDockWidgetTitleButton @ 11134 NONAME ABSENT - _ZTV22QGraphicsItemAnimation @ 11135 NONAME - _ZTV22QGraphicsLayoutPrivate @ 11136 NONAME - _ZTV22QGraphicsWidgetPrivate @ 11137 NONAME ABSENT - _ZTV22QImageIOHandlerPrivate @ 11138 NONAME ABSENT - _ZTV22QTextHtmlStyleSelector @ 11139 NONAME ABSENT - _ZTV22QWhatsThisClickedEvent @ 11140 NONAME - _ZTV23QAbstractSpinBoxPrivate @ 11141 NONAME ABSENT - _ZTV23QActionToKeyEventMapper @ 11142 NONAME ABSENT - _ZTV23QCalendarMonthValidator @ 11143 NONAME ABSENT - _ZTV23QFileSystemModelPrivate @ 11144 NONAME - _ZTV23QGraphicsSceneHelpEvent @ 11145 NONAME - _ZTV23QGraphicsSceneMoveEvent @ 11146 NONAME - _ZTV23QGraphicsSimpleTextItem @ 11147 NONAME - _ZTV23QImageTextureGlyphCache @ 11148 NONAME ABSENT - _ZTV23QOpenUrlHandlerRegistry @ 11149 NONAME ABSENT - _ZTV23QPixmapDropShadowFilter @ 11150 NONAME - _ZTV23QRasterPaintEngineState @ 11151 NONAME ABSENT - _ZTV23QWindowStateChangeEvent @ 11152 NONAME - _ZTV24QAbstractItemViewPrivate @ 11153 NONAME - _ZTV24QComboBoxPrivateScroller @ 11154 NONAME - _ZTV24QGraphicsSceneHoverEvent @ 11155 NONAME - _ZTV24QGraphicsSceneMouseEvent @ 11156 NONAME - _ZTV24QGraphicsSceneWheelEvent @ 11157 NONAME - _ZTV24QPixmapConvolutionFilter @ 11158 NONAME - _ZTV24QPlainTextDocumentLayout @ 11159 NONAME - _ZTV24QSimplePixmapDataFactory @ 11160 NONAME ABSENT - _ZTV25QAbstractScrollAreaFilter @ 11161 NONAME ABSENT - _ZTV25QComboBoxPrivateContainer @ 11162 NONAME - _ZTV25QDefaultItemEditorFactory @ 11163 NONAME ABSENT - _ZTV25QGraphicsSceneResizeEvent @ 11164 NONAME - _ZTV25QInputDialogDoubleSpinBox @ 11165 NONAME ABSENT - _ZTV25QRasterPaintEnginePrivate @ 11166 NONAME ABSENT - _ZTV25QStandardItemModelPrivate @ 11167 NONAME ABSENT - _ZTV26QAbstractGraphicsShapeItem @ 11168 NONAME - _ZTV26QAbstractProxyModelPrivate @ 11169 NONAME ABSENT - _ZTV26QAbstractScrollAreaPrivate @ 11170 NONAME - _ZTV26QGraphicsLayoutItemPrivate @ 11171 NONAME - _ZTV27QAbstractTextDocumentLayout @ 11172 NONAME - _ZTV27QGraphicsProxyWidgetPrivate @ 11173 NONAME ABSENT - _ZTV27QGraphicsSceneDragDropEvent @ 11174 NONAME - _ZTV28QSortFilterProxyModelPrivate @ 11175 NONAME ABSENT - _ZTV28QUnicodeControlCharacterMenu @ 11176 NONAME ABSENT - _ZTV30QGraphicsSceneContextMenuEvent @ 11177 NONAME - _ZTV35QFontDatabaseS60StoreImplementation @ 11178 NONAME ABSENT - _ZTV5QDial @ 11179 NONAME - _ZTV5QDrag @ 11180 NONAME - _ZTV5QMenu @ 11181 NONAME - _ZTV6QFrame @ 11182 NONAME - _ZTV6QImage @ 11183 NONAME - _ZTV6QLabel @ 11184 NONAME - _ZTV6QMovie @ 11185 NONAME - _ZTV6QSound @ 11186 NONAME - _ZTV6QStyle @ 11187 NONAME - _ZTV7QAction @ 11188 NONAME - _ZTV7QBitmap @ 11189 NONAME - _ZTV7QDialog @ 11190 NONAME - _ZTV7QLayout @ 11191 NONAME - _ZTV7QPixmap @ 11192 NONAME - _ZTV7QSlider @ 11193 NONAME - _ZTV7QTabBar @ 11194 NONAME - _ZTV7QWidget @ 11195 NONAME - _ZTV7QWizard @ 11196 NONAME - _ZTV8QMdiArea @ 11197 NONAME - _ZTV8QMenuBar @ 11198 NONAME - _ZTV8QPMCache @ 11199 NONAME ABSENT - _ZTV8QPicture @ 11200 NONAME - _ZTV8QS60Beep @ 11201 NONAME ABSENT - _ZTV8QSidebar @ 11202 NONAME - _ZTV8QSpinBox @ 11203 NONAME - _ZTV8QStroker @ 11204 NONAME - _ZTV8QToolBar @ 11205 NONAME - _ZTV8QToolBox @ 11206 NONAME - _ZTV9QAuBucket @ 11207 NONAME ABSENT - _ZTV9QAuServer @ 11208 NONAME ABSENT - _ZTV9QCheckBox @ 11209 NONAME - _ZTV9QComboBox @ 11210 NONAME - _ZTV9QDateEdit @ 11211 NONAME - _ZTV9QDirModel @ 11212 NONAME - _ZTV9QDropData @ 11213 NONAME ABSENT - _ZTV9QGroupBox @ 11214 NONAME - _ZTV9QKeyEvent @ 11215 NONAME - _ZTV9QLineEdit @ 11216 NONAME - _ZTV9QListView @ 11217 NONAME - _ZTV9QS60Style @ 11218 NONAME - _ZTV9QShortcut @ 11219 NONAME - _ZTV9QSizeGrip @ 11220 NONAME - _ZTV9QSplitter @ 11221 NONAME - _ZTV9QTextEdit @ 11222 NONAME - _ZTV9QTextList @ 11223 NONAME - _ZTV9QTimeEdit @ 11224 NONAME - _ZTV9QTipLabel @ 11225 NONAME ABSENT - _ZTV9QTreeView @ 11226 NONAME - _ZTV9QUndoView @ 11227 NONAME - _ZTV9QUrlModel @ 11228 NONAME - _ZTVN4QCss13StyleSelectorE @ 11229 NONAME - _ZTVN4QMdi12ControlLabelE @ 11230 NONAME ABSENT - _ZTVN4QMdi12RegularTilerE @ 11231 NONAME ABSENT - _ZTVN4QMdi14SimpleCascaderE @ 11232 NONAME ABSENT - _ZTVN4QMdi16ControlContainerE @ 11233 NONAME ABSENT - _ZTVN4QMdi16ControllerWidgetE @ 11234 NONAME ABSENT - _ZTVN4QMdi16MinOverlapPlacerE @ 11235 NONAME ABSENT - _ZTVN4QMdi9IconTilerE @ 11236 NONAME ABSENT - _ZThn12_N10QDropEventD0Ev @ 11237 NONAME - _ZThn12_N10QDropEventD1Ev @ 11238 NONAME - _ZThn12_N14QDragMoveEventD0Ev @ 11239 NONAME - _ZThn12_N14QDragMoveEventD1Ev @ 11240 NONAME - _ZThn12_N15QDragEnterEventD0Ev @ 11241 NONAME - _ZThn12_N15QDragEnterEventD1Ev @ 11242 NONAME - _ZThn12_N19QCoeFepInputContext29SetStateTransferingOwnershipLEPN33MCoeFepAwareTextEditor_Extension16CStateE4TUid @ 11243 NONAME - _ZThn12_N19QCoeFepInputContext5StateE4TUid @ 11244 NONAME - _ZThn12_NK10QDropEvent11encodedDataEPKc @ 11245 NONAME - _ZThn12_NK10QDropEvent6formatEi @ 11246 NONAME - _ZThn12_NK10QDropEvent8providesEPKc @ 11247 NONAME - _ZThn16_N15QGraphicsWidget11setGeometryERK6QRectF @ 11248 NONAME - _ZThn16_N15QGraphicsWidget14updateGeometryEv @ 11249 NONAME - _ZThn16_N15QGraphicsWidgetD0Ev @ 11250 NONAME - _ZThn16_N15QGraphicsWidgetD1Ev @ 11251 NONAME - _ZThn16_N19QCoeFepInputContext15MopSupplyObjectE8TTypeUid @ 11252 NONAME - _ZThn16_N20QGraphicsProxyWidget11setGeometryERK6QRectF @ 11253 NONAME - _ZThn16_N20QGraphicsProxyWidgetD0Ev @ 11254 NONAME - _ZThn16_N20QGraphicsProxyWidgetD1Ev @ 11255 NONAME - _ZThn16_NK15QGraphicsWidget18getContentsMarginsEPfS0_S0_S0_ @ 11256 NONAME - _ZThn16_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF @ 11257 NONAME - _ZThn16_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF @ 11258 NONAME - _ZThn8_N10QBoxLayout10invalidateEv @ 11259 NONAME - _ZThn8_N10QBoxLayout11setGeometryERK5QRect @ 11260 NONAME - _ZThn8_N10QBoxLayoutD0Ev @ 11261 NONAME - _ZThn8_N10QBoxLayoutD1Ev @ 11262 NONAME - _ZThn8_N10QLCDNumberD0Ev @ 11263 NONAME - _ZThn8_N10QLCDNumberD1Ev @ 11264 NONAME - _ZThn8_N10QScrollBarD0Ev @ 11265 NONAME - _ZThn8_N10QScrollBarD1Ev @ 11266 NONAME - _ZThn8_N10QStatusBarD0Ev @ 11267 NONAME - _ZThn8_N10QStatusBarD1Ev @ 11268 NONAME - _ZThn8_N10QTabWidgetD0Ev @ 11269 NONAME - _ZThn8_N10QTabWidgetD1Ev @ 11270 NONAME - _ZThn8_N10QTableViewD0Ev @ 11271 NONAME - _ZThn8_N10QTableViewD1Ev @ 11272 NONAME - _ZThn8_N10QWorkspaceD0Ev @ 11273 NONAME - _ZThn8_N10QWorkspaceD1Ev @ 11274 NONAME - _ZThn8_N11QColumnViewD0Ev @ 11275 NONAME - _ZThn8_N11QColumnViewD1Ev @ 11276 NONAME - _ZThn8_N11QDockWidgetD0Ev @ 11277 NONAME - _ZThn8_N11QDockWidgetD1Ev @ 11278 NONAME - _ZThn8_N11QFileDialogD0Ev @ 11279 NONAME - _ZThn8_N11QFileDialogD1Ev @ 11280 NONAME - _ZThn8_N11QFocusFrameD0Ev @ 11281 NONAME - _ZThn8_N11QFocusFrameD1Ev @ 11282 NONAME - _ZThn8_N11QFontDialogD0Ev @ 11283 NONAME - _ZThn8_N11QFontDialogD1Ev @ 11284 NONAME - _ZThn8_N11QFormLayout10invalidateEv @ 11285 NONAME - _ZThn8_N11QFormLayout11setGeometryERK5QRect @ 11286 NONAME - _ZThn8_N11QFormLayoutD0Ev @ 11287 NONAME - _ZThn8_N11QFormLayoutD1Ev @ 11288 NONAME - _ZThn8_N11QGridLayout10invalidateEv @ 11289 NONAME - _ZThn8_N11QGridLayout11setGeometryERK5QRect @ 11290 NONAME - _ZThn8_N11QGridLayoutD0Ev @ 11291 NONAME - _ZThn8_N11QGridLayoutD1Ev @ 11292 NONAME - _ZThn8_N11QHBoxLayoutD0Ev @ 11293 NONAME - _ZThn8_N11QHBoxLayoutD1Ev @ 11294 NONAME - _ZThn8_N11QHeaderViewD0Ev @ 11295 NONAME - _ZThn8_N11QHeaderViewD1Ev @ 11296 NONAME - _ZThn8_N11QListWidgetD0Ev @ 11297 NONAME - _ZThn8_N11QListWidgetD1Ev @ 11298 NONAME - _ZThn8_N11QMainWindowD0Ev @ 11299 NONAME - _ZThn8_N11QMainWindowD1Ev @ 11300 NONAME - _ZThn8_N11QMessageBoxD0Ev @ 11301 NONAME - _ZThn8_N11QMessageBoxD1Ev @ 11302 NONAME - _ZThn8_N11QPushButtonD0Ev @ 11303 NONAME - _ZThn8_N11QPushButtonD1Ev @ 11304 NONAME - _ZThn8_N11QRubberBandD0Ev @ 11305 NONAME - _ZThn8_N11QRubberBandD1Ev @ 11306 NONAME - _ZThn8_N11QScrollAreaD0Ev @ 11307 NONAME - _ZThn8_N11QScrollAreaD1Ev @ 11308 NONAME - _ZThn8_N11QToolButtonD0Ev @ 11309 NONAME - _ZThn8_N11QToolButtonD1Ev @ 11310 NONAME - _ZThn8_N11QTreeWidgetD0Ev @ 11311 NONAME - _ZThn8_N11QTreeWidgetD1Ev @ 11312 NONAME - _ZThn8_N11QVBoxLayoutD0Ev @ 11313 NONAME - _ZThn8_N11QVBoxLayoutD1Ev @ 11314 NONAME - _ZThn8_N12QColorDialogD0Ev @ 11315 NONAME - _ZThn8_N12QColorDialogD1Ev @ 11316 NONAME - _ZThn8_N12QInputDialogD0Ev @ 11317 NONAME - _ZThn8_N12QInputDialogD1Ev @ 11318 NONAME - _ZThn8_N12QStylePluginD0Ev @ 11319 NONAME - _ZThn8_N12QStylePluginD1Ev @ 11320 NONAME - _ZThn8_N12QTableWidgetD0Ev @ 11321 NONAME - _ZThn8_N12QTableWidgetD1Ev @ 11322 NONAME - _ZThn8_N12QTextBrowserD0Ev @ 11323 NONAME - _ZThn8_N12QTextBrowserD1Ev @ 11324 NONAME - _ZThn8_N13QErrorMessageD0Ev @ 11325 NONAME - _ZThn8_N13QErrorMessageD1Ev @ 11326 NONAME - _ZThn8_N13QFontComboBoxD0Ev @ 11327 NONAME - _ZThn8_N13QFontComboBoxD1Ev @ 11328 NONAME - _ZThn8_N13QGraphicsViewD0Ev @ 11329 NONAME - _ZThn8_N13QGraphicsViewD1Ev @ 11330 NONAME - _ZThn8_N13QMdiSubWindowD0Ev @ 11331 NONAME - _ZThn8_N13QMdiSubWindowD1Ev @ 11332 NONAME - _ZThn8_N13QSplashScreenD0Ev @ 11333 NONAME - _ZThn8_N13QSplashScreenD1Ev @ 11334 NONAME - _ZThn8_N14QDesktopWidgetD0Ev @ 11335 NONAME - _ZThn8_N14QDesktopWidgetD1Ev @ 11336 NONAME - _ZThn8_N14QImageIOPluginD0Ev @ 11337 NONAME - _ZThn8_N14QImageIOPluginD1Ev @ 11338 NONAME - _ZThn8_N14QPlainTextEditD0Ev @ 11339 NONAME - _ZThn8_N14QPlainTextEditD1Ev @ 11340 NONAME - _ZThn8_N14QStackedLayout11setGeometryERK5QRect @ 11341 NONAME - _ZThn8_N14QStackedLayoutD0Ev @ 11342 NONAME - _ZThn8_N14QStackedLayoutD1Ev @ 11343 NONAME - _ZThn8_N14QStackedWidgetD0Ev @ 11344 NONAME - _ZThn8_N14QStackedWidgetD1Ev @ 11345 NONAME - _ZThn8_N14QToolBarLayout10invalidateEv @ 11346 NONAME ABSENT - _ZThn8_N14QToolBarLayout11setGeometryERK5QRect @ 11347 NONAME ABSENT - _ZThn8_N14QToolBarLayoutD0Ev @ 11348 NONAME ABSENT - _ZThn8_N14QToolBarLayoutD1Ev @ 11349 NONAME ABSENT - _ZThn8_N15QAbstractButtonD0Ev @ 11350 NONAME - _ZThn8_N15QAbstractButtonD1Ev @ 11351 NONAME - _ZThn8_N15QAbstractSliderD0Ev @ 11352 NONAME - _ZThn8_N15QAbstractSliderD1Ev @ 11353 NONAME - _ZThn8_N15QCalendarWidgetD0Ev @ 11354 NONAME - _ZThn8_N15QCalendarWidgetD1Ev @ 11355 NONAME - _ZThn8_N15QColumnViewGripD0Ev @ 11356 NONAME - _ZThn8_N15QColumnViewGripD1Ev @ 11357 NONAME - _ZThn8_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 11358 NONAME - _ZThn8_N15QGraphicsWidget10sceneEventEP6QEvent @ 11359 NONAME - _ZThn8_N15QGraphicsWidget12focusInEventEP11QFocusEvent @ 11360 NONAME - _ZThn8_N15QGraphicsWidget13focusOutEventEP11QFocusEvent @ 11361 NONAME - _ZThn8_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 11362 NONAME - _ZThn8_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 11363 NONAME - _ZThn8_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 11364 NONAME - _ZThn8_N15QGraphicsWidgetD0Ev @ 11365 NONAME - _ZThn8_N15QGraphicsWidgetD1Ev @ 11366 NONAME - _ZThn8_N15QProgressDialogD0Ev @ 11367 NONAME - _ZThn8_N15QProgressDialogD1Ev @ 11368 NONAME - _ZThn8_N16QAbstractSpinBoxD0Ev @ 11369 NONAME - _ZThn8_N16QAbstractSpinBoxD1Ev @ 11370 NONAME - _ZThn8_N16QDialogButtonBoxD0Ev @ 11371 NONAME - _ZThn8_N16QDialogButtonBoxD1Ev @ 11372 NONAME - _ZThn8_N17QAbstractItemViewD0Ev @ 11373 NONAME - _ZThn8_N17QAbstractItemViewD1Ev @ 11374 NONAME - _ZThn8_N17QDockWidgetLayout11setGeometryERK5QRect @ 11375 NONAME - _ZThn8_N17QDockWidgetLayoutD0Ev @ 11376 NONAME - _ZThn8_N17QDockWidgetLayoutD1Ev @ 11377 NONAME - _ZThn8_N17QGraphicsTextItem10sceneEventEP6QEvent @ 11378 NONAME - _ZThn8_N17QGraphicsTextItem12focusInEventEP11QFocusEvent @ 11379 NONAME - _ZThn8_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 11380 NONAME - _ZThn8_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 11381 NONAME - _ZThn8_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent @ 11382 NONAME - _ZThn8_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent @ 11383 NONAME - _ZThn8_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 11384 NONAME - _ZThn8_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 11385 NONAME - _ZThn8_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 11386 NONAME - _ZThn8_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 11387 NONAME - _ZThn8_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 11388 NONAME - _ZThn8_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 11389 NONAME - _ZThn8_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent @ 11390 NONAME - _ZThn8_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent @ 11391 NONAME - _ZThn8_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 11392 NONAME - _ZThn8_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent @ 11393 NONAME - _ZThn8_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 11394 NONAME - _ZThn8_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 11395 NONAME - _ZThn8_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 11396 NONAME - _ZThn8_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent @ 11397 NONAME - _ZThn8_N17QGraphicsTextItemD0Ev @ 11398 NONAME - _ZThn8_N17QGraphicsTextItemD1Ev @ 11399 NONAME - _ZThn8_N17QIconEnginePluginD0Ev @ 11400 NONAME - _ZThn8_N17QIconEnginePluginD1Ev @ 11401 NONAME - _ZThn8_N17QMainWindowLayout10invalidateEv @ 11402 NONAME - _ZThn8_N17QMainWindowLayout11setGeometryERK5QRect @ 11403 NONAME - _ZThn8_N17QMainWindowLayoutD0Ev @ 11404 NONAME - _ZThn8_N17QMainWindowLayoutD1Ev @ 11405 NONAME - _ZThn8_N17QTextImageHandler10drawObjectEP8QPainterRK6QRectFP13QTextDocumentiRK11QTextFormat @ 11406 NONAME ABSENT - _ZThn8_N17QTextImageHandler13intrinsicSizeEP13QTextDocumentiRK11QTextFormat @ 11407 NONAME ABSENT - _ZThn8_N19QAbstractScrollAreaD0Ev @ 11408 NONAME - _ZThn8_N19QAbstractScrollAreaD1Ev @ 11409 NONAME - _ZThn8_N19QCoeFepInputContext10Extension1ERi @ 11410 NONAME - _ZThn8_N19QCoeFepInputContext19CancelFepInlineEditEv @ 11411 NONAME - _ZThn8_N19QCoeFepInputContext19StartFepInlineEditLERK7TDesC16iiPK15MFormCustomDrawR29MFepInlineTextFormatRetrieverR39MFepPointerEventHandlerDuringInlineEdit @ 11412 NONAME - _ZThn8_N19QCoeFepInputContext20UpdateFepInlineTextLERK7TDesC16i @ 11413 NONAME - _ZThn8_N19QCoeFepInputContext22DoCommitFepInlineEditLEv @ 11414 NONAME - _ZThn8_N19QCoeFepInputContext25SetCursorSelectionForFepLERK16TCursorSelection @ 11415 NONAME - _ZThn8_N19QCoeFepInputContext33SetInlineEditingCursorVisibilityLEi @ 11416 NONAME - _ZThn8_N19QIconEnginePluginV2D0Ev @ 11417 NONAME - _ZThn8_N19QIconEnginePluginV2D1Ev @ 11418 NONAME - _ZThn8_N19QInputContextPluginD0Ev @ 11419 NONAME - _ZThn8_N19QInputContextPluginD1Ev @ 11420 NONAME - _ZThn8_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 11421 NONAME - _ZThn8_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent @ 11422 NONAME - _ZThn8_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent @ 11423 NONAME - _ZThn8_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 11424 NONAME - _ZThn8_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent @ 11425 NONAME - _ZThn8_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent @ 11426 NONAME - _ZThn8_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 11427 NONAME - _ZThn8_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 11428 NONAME - _ZThn8_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 11429 NONAME - _ZThn8_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 11430 NONAME - _ZThn8_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 11431 NONAME - _ZThn8_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 11432 NONAME - _ZThn8_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent @ 11433 NONAME - _ZThn8_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent @ 11434 NONAME - _ZThn8_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 11435 NONAME - _ZThn8_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 11436 NONAME - _ZThn8_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 11437 NONAME - _ZThn8_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 11438 NONAME - _ZThn8_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent @ 11439 NONAME - _ZThn8_N20QGraphicsProxyWidgetD0Ev @ 11440 NONAME - _ZThn8_N20QGraphicsProxyWidgetD1Ev @ 11441 NONAME - _ZThn8_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture @ 11442 NONAME - _ZThn8_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture @ 11443 NONAME - _ZThn8_N20QPictureFormatPluginD0Ev @ 11444 NONAME - _ZThn8_N20QPictureFormatPluginD1Ev @ 11445 NONAME - _ZThn8_N21QGraphicsSystemPluginD0Ev @ 11446 NONAME - _ZThn8_N21QGraphicsSystemPluginD1Ev @ 11447 NONAME - _ZThn8_N5QDialD0Ev @ 11448 NONAME - _ZThn8_N5QDialD1Ev @ 11449 NONAME - _ZThn8_N5QMenuD0Ev @ 11450 NONAME - _ZThn8_N5QMenuD1Ev @ 11451 NONAME - _ZThn8_N6QFrameD0Ev @ 11452 NONAME - _ZThn8_N6QFrameD1Ev @ 11453 NONAME - _ZThn8_N6QLabelD0Ev @ 11454 NONAME - _ZThn8_N6QLabelD1Ev @ 11455 NONAME - _ZThn8_N7QDialogD0Ev @ 11456 NONAME - _ZThn8_N7QDialogD1Ev @ 11457 NONAME - _ZThn8_N7QLayout10invalidateEv @ 11458 NONAME - _ZThn8_N7QLayout11setGeometryERK5QRect @ 11459 NONAME - _ZThn8_N7QLayout6layoutEv @ 11460 NONAME - _ZThn8_N7QLayoutD0Ev @ 11461 NONAME - _ZThn8_N7QLayoutD1Ev @ 11462 NONAME - _ZThn8_N7QSliderD0Ev @ 11463 NONAME - _ZThn8_N7QSliderD1Ev @ 11464 NONAME - _ZThn8_N7QTabBarD0Ev @ 11465 NONAME - _ZThn8_N7QTabBarD1Ev @ 11466 NONAME - _ZThn8_N7QWidgetD0Ev @ 11467 NONAME - _ZThn8_N7QWidgetD1Ev @ 11468 NONAME - _ZThn8_N7QWizardD0Ev @ 11469 NONAME - _ZThn8_N7QWizardD1Ev @ 11470 NONAME - _ZThn8_N8QMdiAreaD0Ev @ 11471 NONAME - _ZThn8_N8QMdiAreaD1Ev @ 11472 NONAME - _ZThn8_N8QMenuBarD0Ev @ 11473 NONAME - _ZThn8_N8QMenuBarD1Ev @ 11474 NONAME - _ZThn8_N8QSidebarD0Ev @ 11475 NONAME - _ZThn8_N8QSidebarD1Ev @ 11476 NONAME - _ZThn8_N8QToolBarD0Ev @ 11477 NONAME - _ZThn8_N8QToolBarD1Ev @ 11478 NONAME - _ZThn8_N8QToolBoxD0Ev @ 11479 NONAME - _ZThn8_N8QToolBoxD1Ev @ 11480 NONAME - _ZThn8_N9QComboBoxD0Ev @ 11481 NONAME - _ZThn8_N9QComboBoxD1Ev @ 11482 NONAME - _ZThn8_N9QGroupBoxD0Ev @ 11483 NONAME - _ZThn8_N9QGroupBoxD1Ev @ 11484 NONAME - _ZThn8_N9QLineEditD0Ev @ 11485 NONAME - _ZThn8_N9QLineEditD1Ev @ 11486 NONAME - _ZThn8_N9QListViewD0Ev @ 11487 NONAME - _ZThn8_N9QListViewD1Ev @ 11488 NONAME - _ZThn8_N9QSizeGripD0Ev @ 11489 NONAME - _ZThn8_N9QSizeGripD1Ev @ 11490 NONAME - _ZThn8_N9QSplitterD0Ev @ 11491 NONAME - _ZThn8_N9QSplitterD1Ev @ 11492 NONAME - _ZThn8_N9QTextEditD0Ev @ 11493 NONAME - _ZThn8_N9QTextEditD1Ev @ 11494 NONAME - _ZThn8_N9QTreeViewD0Ev @ 11495 NONAME - _ZThn8_N9QTreeViewD1Ev @ 11496 NONAME - _ZThn8_N9QUndoViewD0Ev @ 11497 NONAME - _ZThn8_N9QUndoViewD1Ev @ 11498 NONAME - _ZThn8_NK10QBoxLayout11maximumSizeEv @ 11499 NONAME - _ZThn8_NK10QBoxLayout11minimumSizeEv @ 11500 NONAME - _ZThn8_NK10QBoxLayout14heightForWidthEi @ 11501 NONAME - _ZThn8_NK10QBoxLayout17hasHeightForWidthEv @ 11502 NONAME - _ZThn8_NK10QBoxLayout19expandingDirectionsEv @ 11503 NONAME - _ZThn8_NK10QBoxLayout21minimumHeightForWidthEi @ 11504 NONAME - _ZThn8_NK10QBoxLayout8sizeHintEv @ 11505 NONAME - _ZThn8_NK11QFormLayout11minimumSizeEv @ 11506 NONAME - _ZThn8_NK11QFormLayout14heightForWidthEi @ 11507 NONAME - _ZThn8_NK11QFormLayout17hasHeightForWidthEv @ 11508 NONAME - _ZThn8_NK11QFormLayout19expandingDirectionsEv @ 11509 NONAME - _ZThn8_NK11QFormLayout8sizeHintEv @ 11510 NONAME - _ZThn8_NK11QGridLayout11maximumSizeEv @ 11511 NONAME - _ZThn8_NK11QGridLayout11minimumSizeEv @ 11512 NONAME - _ZThn8_NK11QGridLayout14heightForWidthEi @ 11513 NONAME - _ZThn8_NK11QGridLayout17hasHeightForWidthEv @ 11514 NONAME - _ZThn8_NK11QGridLayout19expandingDirectionsEv @ 11515 NONAME - _ZThn8_NK11QGridLayout21minimumHeightForWidthEi @ 11516 NONAME - _ZThn8_NK11QGridLayout8sizeHintEv @ 11517 NONAME - _ZThn8_NK14QStackedLayout11minimumSizeEv @ 11518 NONAME - _ZThn8_NK14QStackedLayout8sizeHintEv @ 11519 NONAME - _ZThn8_NK14QToolBarLayout11minimumSizeEv @ 11520 NONAME ABSENT - _ZThn8_NK14QToolBarLayout19expandingDirectionsEv @ 11521 NONAME ABSENT - _ZThn8_NK14QToolBarLayout7isEmptyEv @ 11522 NONAME ABSENT - _ZThn8_NK14QToolBarLayout8sizeHintEv @ 11523 NONAME ABSENT - _ZThn8_NK15QGraphicsWidget12boundingRectEv @ 11524 NONAME - _ZThn8_NK15QGraphicsWidget4typeEv @ 11525 NONAME - _ZThn8_NK15QGraphicsWidget5shapeEv @ 11526 NONAME - _ZThn8_NK17QDockWidgetLayout11maximumSizeEv @ 11527 NONAME - _ZThn8_NK17QDockWidgetLayout11minimumSizeEv @ 11528 NONAME - _ZThn8_NK17QDockWidgetLayout8sizeHintEv @ 11529 NONAME - _ZThn8_NK17QGraphicsTextItem10opaqueAreaEv @ 11530 NONAME - _ZThn8_NK17QGraphicsTextItem12boundingRectEv @ 11531 NONAME - _ZThn8_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem @ 11532 NONAME - _ZThn8_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 11533 NONAME - _ZThn8_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 11534 NONAME - _ZThn8_NK17QGraphicsTextItem4typeEv @ 11535 NONAME - _ZThn8_NK17QGraphicsTextItem5shapeEv @ 11536 NONAME - _ZThn8_NK17QGraphicsTextItem8containsERK7QPointF @ 11537 NONAME - _ZThn8_NK17QGraphicsTextItem9extensionERK8QVariant @ 11538 NONAME - _ZThn8_NK17QMainWindowLayout11minimumSizeEv @ 11539 NONAME - _ZThn8_NK17QMainWindowLayout8sizeHintEv @ 11540 NONAME - _ZThn8_NK19QCoeFepInputContext15GetFormatForFepER11TCharFormati @ 11541 NONAME - _ZThn8_NK19QCoeFepInputContext20DocumentLengthForFepEv @ 11542 NONAME - _ZThn8_NK19QCoeFepInputContext22GetEditorContentForFepER6TDes16ii @ 11543 NONAME - _ZThn8_NK19QCoeFepInputContext24GetCursorSelectionForFepER16TCursorSelection @ 11544 NONAME - _ZThn8_NK19QCoeFepInputContext27DocumentMaximumLengthForFepEv @ 11545 NONAME - _ZThn8_NK19QCoeFepInputContext27GetScreenCoordinatesForFepLER6TPointRiS2_i @ 11546 NONAME - _ZThn8_NK20QGraphicsProxyWidget4typeEv @ 11547 NONAME - _ZThn8_NK7QLayout11maximumSizeEv @ 11548 NONAME - _ZThn8_NK7QLayout11minimumSizeEv @ 11549 NONAME - _ZThn8_NK7QLayout19expandingDirectionsEv @ 11550 NONAME - _ZThn8_NK7QLayout7isEmptyEv @ 11551 NONAME - _ZThn8_NK7QLayout8geometryEv @ 11552 NONAME - _ZThn8_NK7QWidget11paintEngineEv @ 11553 NONAME - _ZThn8_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE @ 11554 NONAME - _ZThn8_NK7QWidget7devTypeEv @ 11555 NONAME - _Zls6QDebug6QFlagsIN13QGraphicsItem16GraphicsItemFlagEE @ 11556 NONAME - _Zls6QDebugN13QGraphicsItem16GraphicsItemFlagE @ 11557 NONAME - _Zls6QDebugN13QGraphicsItem18GraphicsItemChangeE @ 11558 NONAME - _Zls6QDebugP13QGraphicsItem @ 11559 NONAME - _Zls6QDebugPK6QEvent @ 11560 NONAME - _Zls6QDebugRK10QTransform @ 11561 NONAME - _Zls6QDebugRK12QKeySequence @ 11562 NONAME - _Zls6QDebugRK12QPainterPath @ 11563 NONAME - _Zls6QDebugRK19QItemSelectionRange @ 11564 NONAME - _Zls6QDebugRK4QPen @ 11565 NONAME - _Zls6QDebugRK5QFont @ 11566 NONAME - _Zls6QDebugRK6QBrush @ 11567 NONAME - _Zls6QDebugRK6QColor @ 11568 NONAME - _Zls6QDebugRK7QMatrix @ 11569 NONAME - _Zls6QDebugRK7QRegion @ 11570 NONAME - _Zls6QDebugRK8QPolygon @ 11571 NONAME - _Zls6QDebugRK9QPolygonF @ 11572 NONAME - _ZlsR11QDataStreamRK10QTransform @ 11573 NONAME - _ZlsR11QDataStreamRK11QSizePolicy @ 11574 NONAME - _ZlsR11QDataStreamRK11QTextFormat @ 11575 NONAME - _ZlsR11QDataStreamRK11QTextLength @ 11576 NONAME - _ZlsR11QDataStreamRK12QKeySequence @ 11577 NONAME - _ZlsR11QDataStreamRK12QPainterPath @ 11578 NONAME - _ZlsR11QDataStreamRK13QStandardItem @ 11579 NONAME - _ZlsR11QDataStreamRK15QListWidgetItem @ 11580 NONAME - _ZlsR11QDataStreamRK15QTreeWidgetItem @ 11581 NONAME - _ZlsR11QDataStreamRK16QTableWidgetItem @ 11582 NONAME - _ZlsR11QDataStreamRK4QPen @ 11583 NONAME - _ZlsR11QDataStreamRK5QFont @ 11584 NONAME - _ZlsR11QDataStreamRK5QIcon @ 11585 NONAME - _ZlsR11QDataStreamRK6QBrush @ 11586 NONAME - _ZlsR11QDataStreamRK6QColor @ 11587 NONAME - _ZlsR11QDataStreamRK6QImage @ 11588 NONAME - _ZlsR11QDataStreamRK7QMatrix @ 11589 NONAME - _ZlsR11QDataStreamRK7QPixmap @ 11590 NONAME - _ZlsR11QDataStreamRK7QRegion @ 11591 NONAME - _ZlsR11QDataStreamRK8QPalette @ 11592 NONAME - _ZlsR11QDataStreamRK8QPicture @ 11593 NONAME - _ZlsR11QDataStreamRK8QPolygon @ 11594 NONAME - _ZlsR11QDataStreamRK9QPolygonF @ 11595 NONAME - _ZlsR11QTextStreamRK9QSplitter @ 11596 NONAME - _ZlsR6QDebugRK11QVectorPath @ 11597 NONAME - _ZmlRK12QPainterPathRK7QMatrix @ 11598 NONAME - _ZrsR11QDataStreamR10QTransform @ 11599 NONAME - _ZrsR11QDataStreamR11QSizePolicy @ 11600 NONAME - _ZrsR11QDataStreamR11QTextFormat @ 11601 NONAME - _ZrsR11QDataStreamR11QTextLength @ 11602 NONAME - _ZrsR11QDataStreamR12QKeySequence @ 11603 NONAME - _ZrsR11QDataStreamR12QPainterPath @ 11604 NONAME - _ZrsR11QDataStreamR13QStandardItem @ 11605 NONAME - _ZrsR11QDataStreamR15QListWidgetItem @ 11606 NONAME - _ZrsR11QDataStreamR15QTreeWidgetItem @ 11607 NONAME - _ZrsR11QDataStreamR16QTableWidgetItem @ 11608 NONAME - _ZrsR11QDataStreamR4QPen @ 11609 NONAME - _ZrsR11QDataStreamR5QFont @ 11610 NONAME - _ZrsR11QDataStreamR5QIcon @ 11611 NONAME - _ZrsR11QDataStreamR6QBrush @ 11612 NONAME - _ZrsR11QDataStreamR6QColor @ 11613 NONAME - _ZrsR11QDataStreamR6QImage @ 11614 NONAME - _ZrsR11QDataStreamR7QMatrix @ 11615 NONAME - _ZrsR11QDataStreamR7QPixmap @ 11616 NONAME - _ZrsR11QDataStreamR7QRegion @ 11617 NONAME - _ZrsR11QDataStreamR8QPalette @ 11618 NONAME - _ZrsR11QDataStreamR8QPicture @ 11619 NONAME - _ZrsR11QDataStreamR8QPolygon @ 11620 NONAME - _ZrsR11QDataStreamR9QPolygonF @ 11621 NONAME - _ZrsR11QTextStreamR9QSplitter @ 11622 NONAME - qt_enable_test_font @ 11623 NONAME DATA 1 ABSENT - qt_filedialog_existing_directory_hook @ 11624 NONAME DATA 4 - qt_filedialog_open_filename_hook @ 11625 NONAME DATA 4 - qt_filedialog_open_filenames_hook @ 11626 NONAME DATA 4 - qt_filedialog_save_filename_hook @ 11627 NONAME DATA 4 - qt_image_cleanup_hook @ 11628 NONAME DATA 4 - qt_image_cleanup_hook_64 @ 11629 NONAME DATA 4 - qt_pixmap_cleanup_hook @ 11630 NONAME DATA 4 - qt_pixmap_cleanup_hook_64 @ 11631 NONAME DATA 4 - qt_tab_all_widgets @ 11632 NONAME DATA 1 - _Z17qDrawBorderPixmapP8QPainterRK5QRectRK8QMarginsRK7QPixmapS3_S6_RK10QTileRules @ 11633 NONAME ABSENT - _Z17qHasPixmapTextureRK6QBrush @ 11634 NONAME - _Z22qt_setQtEnableTestFontb @ 11635 NONAME - _Z25qt_translateRawTouchEventP7QWidgetN11QTouchEvent10DeviceTypeERK5QListINS1_10TouchPointEE @ 11636 NONAME - _ZN10QCompleter18setMaxVisibleItemsEi @ 11637 NONAME - _ZN10QMatrix4x411perspectiveEffff @ 11638 NONAME - _ZN10QMatrix4x415flipCoordinatesEv @ 11639 NONAME - _ZN10QMatrix4x416inferSpecialTypeEv @ 11640 NONAME - _ZN10QMatrix4x45orthoERK5QRect @ 11641 NONAME - _ZN10QMatrix4x45orthoERK6QRectF @ 11642 NONAME - _ZN10QMatrix4x45orthoEffffff @ 11643 NONAME - _ZN10QMatrix4x45scaleERK9QVector3D @ 11644 NONAME - _ZN10QMatrix4x45scaleEf @ 11645 NONAME - _ZN10QMatrix4x45scaleEff @ 11646 NONAME - _ZN10QMatrix4x45scaleEfff @ 11647 NONAME - _ZN10QMatrix4x46lookAtERK9QVector3DS2_S2_ @ 11648 NONAME - _ZN10QMatrix4x46rotateERK11QQuaternion @ 11649 NONAME - _ZN10QMatrix4x46rotateEfRK9QVector3D @ 11650 NONAME - _ZN10QMatrix4x46rotateEffff @ 11651 NONAME - _ZN10QMatrix4x47frustumEffffff @ 11652 NONAME - _ZN10QMatrix4x49translateERK9QVector3D @ 11653 NONAME - _ZN10QMatrix4x49translateEff @ 11654 NONAME - _ZN10QMatrix4x49translateEfff @ 11655 NONAME - _ZN10QMatrix4x4C1EPKf @ 11656 NONAME - _ZN10QMatrix4x4C1EPKfii @ 11657 NONAME - _ZN10QMatrix4x4C1ERK10QTransform @ 11658 NONAME - _ZN10QMatrix4x4C1ERK7QMatrix @ 11659 NONAME - _ZN10QMatrix4x4C2EPKf @ 11660 NONAME - _ZN10QMatrix4x4C2EPKfii @ 11661 NONAME - _ZN10QMatrix4x4C2ERK10QTransform @ 11662 NONAME - _ZN10QMatrix4x4C2ERK7QMatrix @ 11663 NONAME - _ZN10QMatrix4x4dVEf @ 11664 NONAME - _ZN11QColumnView12rowsInsertedERK11QModelIndexii @ 11665 NONAME - _ZN11QPanGesture11eventFilterEP7QObjectP6QEvent @ 11666 NONAME - _ZN11QPanGesture11filterEventEP6QEvent @ 11667 NONAME - _ZN11QPanGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 11668 NONAME - _ZN11QPanGesture11qt_metacastEPKc @ 11669 NONAME - _ZN11QPanGesture16staticMetaObjectE @ 11670 NONAME DATA 16 - _ZN11QPanGesture5eventEP6QEvent @ 11671 NONAME - _ZN11QPanGesture5resetEv @ 11672 NONAME - _ZN11QPanGestureC1EP7QWidget @ 11673 NONAME ABSENT - _ZN11QPanGestureC2EP7QWidget @ 11674 NONAME ABSENT - _ZN11QPixmapData6scrollEiiRK5QRect @ 11675 NONAME - _ZN11QProxyStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 11676 NONAME - _ZN11QProxyStyle11qt_metacastEPKc @ 11677 NONAME - _ZN11QProxyStyle12setBaseStyleEP6QStyle @ 11678 NONAME - _ZN11QProxyStyle16staticMetaObjectE @ 11679 NONAME DATA 16 - _ZN11QProxyStyle5eventEP6QEvent @ 11680 NONAME - _ZN11QProxyStyle6polishEP12QApplication @ 11681 NONAME - _ZN11QProxyStyle6polishEP7QWidget @ 11682 NONAME - _ZN11QProxyStyle6polishER8QPalette @ 11683 NONAME - _ZN11QProxyStyle8unpolishEP12QApplication @ 11684 NONAME - _ZN11QProxyStyle8unpolishEP7QWidget @ 11685 NONAME - _ZN11QProxyStyleC1EP6QStyle @ 11686 NONAME - _ZN11QProxyStyleC2EP6QStyle @ 11687 NONAME - _ZN11QProxyStyleD0Ev @ 11688 NONAME - _ZN11QProxyStyleD1Ev @ 11689 NONAME - _ZN11QProxyStyleD2Ev @ 11690 NONAME - _ZN11QQuaternion16fromAxisAndAngleERK9QVector3Df @ 11691 NONAME - _ZN11QQuaternion16fromAxisAndAngleEffff @ 11692 NONAME - _ZN11QQuaternion5nlerpERKS_S1_f @ 11693 NONAME - _ZN11QQuaternion5slerpERKS_S1_f @ 11694 NONAME - _ZN11QQuaternion9normalizeEv @ 11695 NONAME - _ZN11QTouchEvent10TouchPoint10setLastPosERK7QPointF @ 11696 NONAME - _ZN11QTouchEvent10TouchPoint11setPressureEf @ 11697 NONAME - _ZN11QTouchEvent10TouchPoint11setScenePosERK7QPointF @ 11698 NONAME - _ZN11QTouchEvent10TouchPoint11setStartPosERK7QPointF @ 11699 NONAME - _ZN11QTouchEvent10TouchPoint12setSceneRectERK6QRectF @ 11700 NONAME - _ZN11QTouchEvent10TouchPoint12setScreenPosERK7QPointF @ 11701 NONAME - _ZN11QTouchEvent10TouchPoint13setScreenRectERK6QRectF @ 11702 NONAME - _ZN11QTouchEvent10TouchPoint15setLastScenePosERK7QPointF @ 11703 NONAME - _ZN11QTouchEvent10TouchPoint16setLastScreenPosERK7QPointF @ 11704 NONAME - _ZN11QTouchEvent10TouchPoint16setNormalizedPosERK7QPointF @ 11705 NONAME - _ZN11QTouchEvent10TouchPoint16setStartScenePosERK7QPointF @ 11706 NONAME - _ZN11QTouchEvent10TouchPoint17setStartScreenPosERK7QPointF @ 11707 NONAME - _ZN11QTouchEvent10TouchPoint20setLastNormalizedPosERK7QPointF @ 11708 NONAME - _ZN11QTouchEvent10TouchPoint21setStartNormalizedPosERK7QPointF @ 11709 NONAME - _ZN11QTouchEvent10TouchPoint5setIdEi @ 11710 NONAME - _ZN11QTouchEvent10TouchPoint6setPosERK7QPointF @ 11711 NONAME - _ZN11QTouchEvent10TouchPoint7setRectERK6QRectF @ 11712 NONAME - _ZN11QTouchEvent10TouchPoint8setStateE6QFlagsIN2Qt15TouchPointStateEE @ 11713 NONAME - _ZN11QTouchEvent10TouchPointC1ERKS0_ @ 11714 NONAME - _ZN11QTouchEvent10TouchPointC1Ei @ 11715 NONAME - _ZN11QTouchEvent10TouchPointC2ERKS0_ @ 11716 NONAME - _ZN11QTouchEvent10TouchPointC2Ei @ 11717 NONAME - _ZN11QTouchEvent10TouchPointD1Ev @ 11718 NONAME - _ZN11QTouchEvent10TouchPointD2Ev @ 11719 NONAME - _ZN11QTouchEvent10TouchPointaSERKS0_ @ 11720 NONAME - _ZN11QTouchEventC1EN6QEvent4TypeENS_10DeviceTypeE6QFlagsIN2Qt16KeyboardModifierEES3_INS4_15TouchPointStateEERK5QListINS_10TouchPointEE @ 11721 NONAME - _ZN11QTouchEventC2EN6QEvent4TypeENS_10DeviceTypeE6QFlagsIN2Qt16KeyboardModifierEES3_INS4_15TouchPointStateEERK5QListINS_10TouchPointEE @ 11722 NONAME - _ZN11QTouchEventD0Ev @ 11723 NONAME - _ZN11QTouchEventD1Ev @ 11724 NONAME - _ZN11QTouchEventD2Ev @ 11725 NONAME - _ZN12QLineControl10addCommandERKNS_7CommandE @ 11726 NONAME - _ZN12QLineControl10moveCursorEib @ 11727 NONAME - _ZN12QLineControl10textEditedERK7QString @ 11728 NONAME - _ZN12QLineControl10timerEventEP11QTimerEvent @ 11729 NONAME - _ZN12QLineControl11qt_metacallEN11QMetaObject4CallEiPPv @ 11730 NONAME - _ZN12QLineControl11qt_metacastEPKc @ 11731 NONAME - _ZN12QLineControl11textChangedERK7QString @ 11732 NONAME - _ZN12QLineControl12finishChangeEibb @ 11733 NONAME - _ZN12QLineControl12internalRedoEv @ 11734 NONAME - _ZN12QLineControl12internalUndoEi @ 11735 NONAME - _ZN12QLineControl12processEventEP6QEvent @ 11736 NONAME - _ZN12QLineControl12setSelectionEii @ 11737 NONAME - _ZN12QLineControl12updateNeededERK5QRect @ 11738 NONAME - _ZN12QLineControl14internalDeleteEb @ 11739 NONAME - _ZN12QLineControl14internalInsertERK7QString @ 11740 NONAME - _ZN12QLineControl14parseInputMaskERK7QString @ 11741 NONAME - _ZN12QLineControl15editFocusChangeEb @ 11742 NONAME - _ZN12QLineControl15editingFinishedEv @ 11743 NONAME - _ZN12QLineControl15internalSetTextERK7QStringib @ 11744 NONAME - _ZN12QLineControl15processKeyEventEP9QKeyEvent @ 11745 NONAME - _ZN12QLineControl15selectWordAtPosEi @ 11746 NONAME - _ZN12QLineControl16selectionChangedEv @ 11747 NONAME - _ZN12QLineControl16staticMetaObjectE @ 11748 NONAME DATA 16 - _ZN12QLineControl17_q_deleteSelectedEv @ 11749 NONAME - _ZN12QLineControl17processMouseEventEP11QMouseEvent @ 11750 NONAME - _ZN12QLineControl17resetInputContextEv @ 11751 NONAME - _ZN12QLineControl17updateDisplayTextEv @ 11752 NONAME - _ZN12QLineControl18displayTextChangedERK7QString @ 11753 NONAME - _ZN12QLineControl18removeSelectedTextEv @ 11754 NONAME - _ZN12QLineControl19_q_clipboardChangedEv @ 11755 NONAME - _ZN12QLineControl20advanceToEnabledItemEi @ 11756 NONAME - _ZN12QLineControl20setCursorBlinkPeriodEi @ 11757 NONAME - _ZN12QLineControl21cursorPositionChangedEii @ 11758 NONAME - _ZN12QLineControl23processInputMethodEventEP17QInputMethodEvent @ 11759 NONAME - _ZN12QLineControl25emitCursorPositionChangedEv @ 11760 NONAME - _ZN12QLineControl25updatePasswordEchoEditingEb @ 11761 NONAME - _ZN12QLineControl3delEv @ 11762 NONAME - _ZN12QLineControl4drawEP8QPainterRK6QPointRK5QRecti @ 11763 NONAME - _ZN12QLineControl4initERK7QString @ 11764 NONAME - _ZN12QLineControl5clearEv @ 11765 NONAME - _ZN12QLineControl5fixupEv @ 11766 NONAME - _ZN12QLineControl5pasteEv @ 11767 NONAME - _ZN12QLineControl6insertERK7QString @ 11768 NONAME - _ZN12QLineControl8acceptedEv @ 11769 NONAME - _ZN12QLineControl8completeEi @ 11770 NONAME - _ZN12QLineControl9backspaceEv @ 11771 NONAME - _ZN12QPainterPath9translateEff @ 11772 NONAME - _ZN12QPixmapCache3KeyC1ERKS0_ @ 11773 NONAME - _ZN12QPixmapCache3KeyC1Ev @ 11774 NONAME - _ZN12QPixmapCache3KeyC2ERKS0_ @ 11775 NONAME - _ZN12QPixmapCache3KeyC2Ev @ 11776 NONAME - _ZN12QPixmapCache3KeyD1Ev @ 11777 NONAME - _ZN12QPixmapCache3KeyD2Ev @ 11778 NONAME - _ZN12QPixmapCache3KeyaSERKS0_ @ 11779 NONAME - _ZN12QPixmapCache4findERK7QStringP7QPixmap @ 11780 NONAME - _ZN12QPixmapCache4findERKNS_3KeyEP7QPixmap @ 11781 NONAME - _ZN12QPixmapCache6insertERK7QPixmap @ 11782 NONAME - _ZN12QPixmapCache6removeERKNS_3KeyE @ 11783 NONAME - _ZN12QPixmapCache7replaceERKNS_3KeyERK7QPixmap @ 11784 NONAME - _ZN13QFontDatabase21removeApplicationFontEi @ 11785 NONAME - _ZN13QGraphicsItem11setRotationEf @ 11786 NONAME - _ZN13QGraphicsItem13setFocusProxyEPS_ @ 11787 NONAME - _ZN13QGraphicsItem16toGraphicsObjectEv @ 11788 NONAME - _ZN13QGraphicsItem18setTransformationsERK5QListIP18QGraphicsTransformE @ 11789 NONAME - _ZN13QGraphicsItem19setInputMethodHintsE6QFlagsIN2Qt15InputMethodHintEE @ 11790 NONAME - _ZN13QGraphicsItem20setAcceptTouchEventsEb @ 11791 NONAME - _ZN13QGraphicsItem21setFiltersChildEventsEb @ 11792 NONAME - _ZN13QGraphicsItem23setTransformOriginPointERK7QPointF @ 11793 NONAME - _ZN13QGraphicsItem4setXEf @ 11794 NONAME - _ZN13QGraphicsItem4setYEf @ 11795 NONAME - _ZN13QGraphicsItem8setScaleEf @ 11796 NONAME - _ZN13QPinchGesture11eventFilterEP7QObjectP6QEvent @ 11797 NONAME - _ZN13QPinchGesture11filterEventEP6QEvent @ 11798 NONAME - _ZN13QPinchGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 11799 NONAME - _ZN13QPinchGesture11qt_metacastEPKc @ 11800 NONAME - _ZN13QPinchGesture16staticMetaObjectE @ 11801 NONAME DATA 16 - _ZN13QPinchGesture5eventEP6QEvent @ 11802 NONAME - _ZN13QPinchGesture5resetEv @ 11803 NONAME - _ZN13QPinchGestureC1EP7QWidget @ 11804 NONAME ABSENT - _ZN13QPinchGestureC2EP7QWidget @ 11805 NONAME ABSENT - _ZN14QDesktopWidget18screenCountChangedEi @ 11806 NONAME - _ZN14QGraphicsScale11qt_metacallEN11QMetaObject4CallEiPPv @ 11807 NONAME - _ZN14QGraphicsScale11qt_metacastEPKc @ 11808 NONAME - _ZN14QGraphicsScale12scaleChangedEv @ 11809 NONAME - _ZN14QGraphicsScale13originChangedEv @ 11810 NONAME - _ZN14QGraphicsScale16staticMetaObjectE @ 11811 NONAME DATA 16 - _ZN14QGraphicsScale9setOriginERK7QPointF @ 11812 NONAME ABSENT - _ZN14QGraphicsScale9setXScaleEf @ 11813 NONAME - _ZN14QGraphicsScale9setYScaleEf @ 11814 NONAME - _ZN14QGraphicsScaleC1EP7QObject @ 11815 NONAME - _ZN14QGraphicsScaleC2EP7QObject @ 11816 NONAME - _ZN14QGraphicsScaleD0Ev @ 11817 NONAME - _ZN14QGraphicsScaleD1Ev @ 11818 NONAME - _ZN14QGraphicsScaleD2Ev @ 11819 NONAME - _ZN14QGraphicsScene16setSelectionAreaERK12QPainterPathN2Qt17ItemSelectionModeERK10QTransform @ 11820 NONAME - _ZN14QGraphicsScene16setSelectionAreaERK12QPainterPathRK10QTransform @ 11821 NONAME - _ZN14QGraphicsScene9sendEventEP13QGraphicsItemP6QEvent @ 11822 NONAME - _ZN14QPaintEngineExC2Ev @ 11823 NONAME - _ZN14QWidgetPrivate10allWidgetsE @ 11824 NONAME DATA 4 - _ZN14QWidgetPrivate13setWSGeometryEbRK5QRect @ 11825 NONAME - _ZN14QWidgetPrivate33handleSymbianDeferredFocusChangedEv @ 11826 NONAME ABSENT - _ZN15QDockAreaLayout13separatorMoveERK5QListIiERK6QPointS6_ @ 11827 NONAME - _ZN15QDockAreaLayout4infoERK5QListIiE @ 11828 NONAME - _ZN15QDockAreaLayout4itemERK5QListIiE @ 11829 NONAME - _ZN15QDockAreaLayout4plugERK5QListIiE @ 11830 NONAME - _ZN15QDockAreaLayout6removeERK5QListIiE @ 11831 NONAME - _ZN15QDockAreaLayout6unplugERK5QListIiE @ 11832 NONAME - _ZN15QDockAreaLayout9insertGapERK5QListIiEP11QLayoutItem @ 11833 NONAME - _ZN15QGraphicsObject11qt_metacallEN11QMetaObject4CallEiPPv @ 11834 NONAME - _ZN15QGraphicsObject11qt_metacastEPKc @ 11835 NONAME - _ZN15QGraphicsObject12scaleChangedEv @ 11836 NONAME - _ZN15QGraphicsObject13parentChangedEv @ 11837 NONAME - _ZN15QGraphicsObject14enabledChangedEv @ 11838 NONAME - _ZN15QGraphicsObject14opacityChangedEv @ 11839 NONAME - _ZN15QGraphicsObject14visibleChangedEv @ 11840 NONAME - _ZN15QGraphicsObject15rotationChangedEv @ 11841 NONAME - _ZN15QGraphicsObject16staticMetaObjectE @ 11842 NONAME DATA 16 - _ZN15QGraphicsObject8xChangedEv @ 11843 NONAME - _ZN15QGraphicsObject8yChangedEv @ 11844 NONAME - _ZN15QGraphicsObject8zChangedEv @ 11845 NONAME - _ZN15QGraphicsObjectC2EP13QGraphicsItem @ 11846 NONAME - _ZN15QGraphicsObjectC2ER20QGraphicsItemPrivateP13QGraphicsItemP14QGraphicsScene @ 11847 NONAME - _ZN16QStyleSheetStyle17styleSheetPaletteEPK7QWidgetPK12QStyleOptionP8QPalette @ 11848 NONAME - _ZN17QGraphicsRotation11axisChangedEv @ 11849 NONAME - _ZN17QGraphicsRotation11qt_metacallEN11QMetaObject4CallEiPPv @ 11850 NONAME - _ZN17QGraphicsRotation11qt_metacastEPKc @ 11851 NONAME - _ZN17QGraphicsRotation12angleChangedEv @ 11852 NONAME - _ZN17QGraphicsRotation13originChangedEv @ 11853 NONAME - _ZN17QGraphicsRotation16staticMetaObjectE @ 11854 NONAME DATA 16 - _ZN17QGraphicsRotation7setAxisEN2Qt4AxisE @ 11855 NONAME - _ZN17QGraphicsRotation7setAxisERK9QVector3D @ 11856 NONAME - _ZN17QGraphicsRotation8setAngleEf @ 11857 NONAME - _ZN17QGraphicsRotation9setOriginERK7QPointF @ 11858 NONAME ABSENT - _ZN17QGraphicsRotationC1EP7QObject @ 11859 NONAME - _ZN17QGraphicsRotationC2EP7QObject @ 11860 NONAME - _ZN17QGraphicsRotationD0Ev @ 11861 NONAME - _ZN17QGraphicsRotationD1Ev @ 11862 NONAME - _ZN17QGraphicsRotationD2Ev @ 11863 NONAME - _ZN17QMainWindowLayout10timerEventEP11QTimerEvent @ 11864 NONAME - _ZN17QRasterPixmapData6scrollEiiRK5QRect @ 11865 NONAME - _ZN18QColumnViewPrivate18_q_columnsInsertedERK11QModelIndexii @ 11866 NONAME - _ZN18QColumnViewPrivate19checkColumnCreationERK11QModelIndex @ 11867 NONAME - _ZN18QGraphicsTransform11qt_metacallEN11QMetaObject4CallEiPPv @ 11868 NONAME - _ZN18QGraphicsTransform11qt_metacastEPKc @ 11869 NONAME - _ZN18QGraphicsTransform16staticMetaObjectE @ 11870 NONAME DATA 16 - _ZN18QGraphicsTransform6updateEv @ 11871 NONAME - _ZN18QGraphicsTransformC2EP7QObject @ 11872 NONAME - _ZN18QGraphicsTransformC2ER25QGraphicsTransformPrivateP7QObject @ 11873 NONAME - _ZN18QGraphicsTransformD0Ev @ 11874 NONAME - _ZN18QGraphicsTransformD1Ev @ 11875 NONAME - _ZN18QGraphicsTransformD2Ev @ 11876 NONAME - _ZN18QSyntaxHighlighter16rehighlightBlockERK10QTextBlock @ 11877 NONAME - _ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Eb @ 11878 NONAME - _ZN19QApplicationPrivate15desktopStyleKeyEv @ 11879 NONAME - _ZN19QApplicationPrivate17cleanupMultitouchEv @ 11880 NONAME - _ZN19QApplicationPrivate20initializeMultitouchEv @ 11881 NONAME - _ZN19QApplicationPrivate21cleanupMultitouch_sysEv @ 11882 NONAME - _ZN19QApplicationPrivate22translateRawTouchEventEP7QWidgetN11QTouchEvent10DeviceTypeERK5QListINS2_10TouchPointEE @ 11883 NONAME - _ZN19QApplicationPrivate23findClosestTouchPointIdERK7QPointF @ 11884 NONAME - _ZN19QApplicationPrivate24initializeMultitouch_sysEv @ 11885 NONAME - _ZN19QApplicationPrivate26updateTouchPointsForWidgetEP7QWidgetP11QTouchEvent @ 11886 NONAME - _ZN19QApplicationPrivate31giveFocusAccordingToFocusPolicyEP7QWidgetN2Qt11FocusPolicyENS2_11FocusReasonE @ 11887 NONAME - _ZN19QCoeFepInputContext11updateHintsEb @ 11888 NONAME - _ZN19QCoeFepInputContext21ReportAknEdStateEventEN19MAknEdStateObserver19EAknEdwinStateEventE @ 11889 NONAME - _ZN19QCoeFepInputContext29queueInputCapabilitiesChangedEv @ 11890 NONAME - _ZN19QCoeFepInputContext30ensureInputCapabilitiesChangedEv @ 11891 NONAME - _ZN19QDockAreaLayoutInfo13separatorMoveEii @ 11892 NONAME - _ZN19QDockAreaLayoutInfo4infoERK5QListIiE @ 11893 NONAME - _ZN19QDockAreaLayoutInfo4itemERK5QListIiE @ 11894 NONAME - _ZN19QDockAreaLayoutInfo4plugERK5QListIiE @ 11895 NONAME - _ZN19QDockAreaLayoutInfo6removeERK5QListIiE @ 11896 NONAME - _ZN19QDockAreaLayoutInfo6unplugERK5QListIiE @ 11897 NONAME - _ZN19QDockAreaLayoutInfo9insertGapERK5QListIiEP11QLayoutItem @ 11898 NONAME - _ZN19QGraphicsSceneIndex10deleteItemEP13QGraphicsItem @ 11899 NONAME - _ZN19QGraphicsSceneIndex10itemChangeEPK13QGraphicsItemNS0_18GraphicsItemChangeERK8QVariant @ 11900 NONAME - _ZN19QGraphicsSceneIndex11qt_metacallEN11QMetaObject4CallEiPPv @ 11901 NONAME - _ZN19QGraphicsSceneIndex11qt_metacastEPKc @ 11902 NONAME - _ZN19QGraphicsSceneIndex15updateSceneRectERK6QRectF @ 11903 NONAME - _ZN19QGraphicsSceneIndex16staticMetaObjectE @ 11904 NONAME DATA 16 - _ZN19QGraphicsSceneIndex25prepareBoundingRectChangeEPK13QGraphicsItem @ 11905 NONAME - _ZN19QGraphicsSceneIndex5clearEv @ 11906 NONAME - _ZN19QGraphicsSceneIndexC2EP14QGraphicsScene @ 11907 NONAME - _ZN19QGraphicsSceneIndexC2ER26QGraphicsSceneIndexPrivateP14QGraphicsScene @ 11908 NONAME - _ZN19QGraphicsSceneIndexD0Ev @ 11909 NONAME - _ZN19QGraphicsSceneIndexD1Ev @ 11910 NONAME - _ZN19QGraphicsSceneIndexD2Ev @ 11911 NONAME - _ZN19QKeyEventTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 11912 NONAME - _ZN19QKeyEventTransition11qt_metacastEPKc @ 11913 NONAME - _ZN19QKeyEventTransition12onTransitionEP6QEvent @ 11914 NONAME - _ZN19QKeyEventTransition16setModifiersMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 11915 NONAME - _ZN19QKeyEventTransition16staticMetaObjectE @ 11916 NONAME DATA 16 - _ZN19QKeyEventTransition6setKeyEi @ 11917 NONAME - _ZN19QKeyEventTransition9eventTestEP6QEvent @ 11918 NONAME - _ZN19QKeyEventTransitionC1EP6QState @ 11919 NONAME - _ZN19QKeyEventTransitionC1EP7QObjectN6QEvent4TypeEiP6QState @ 11920 NONAME - _ZN19QKeyEventTransitionC2EP6QState @ 11921 NONAME - _ZN19QKeyEventTransitionC2EP7QObjectN6QEvent4TypeEiP6QState @ 11922 NONAME - _ZN19QKeyEventTransitionD0Ev @ 11923 NONAME - _ZN19QKeyEventTransitionD1Ev @ 11924 NONAME - _ZN19QKeyEventTransitionD2Ev @ 11925 NONAME - _ZN20QGraphicsItemPrivate11removeChildEP13QGraphicsItem @ 11926 NONAME - _ZN20QGraphicsItemPrivate11setSubFocusEv @ 11927 NONAME ABSENT - _ZN20QGraphicsItemPrivate13clearSubFocusEv @ 11928 NONAME ABSENT - _ZN20QGraphicsItemPrivate15resetFocusProxyEv @ 11929 NONAME - _ZN20QGraphicsItemPrivate18setTransformHelperERK10QTransform @ 11930 NONAME - _ZN20QGraphicsItemPrivate19setParentItemHelperEP13QGraphicsItem @ 11931 NONAME - _ZN20QGraphicsItemPrivate20ensureSceneTransformEv @ 11932 NONAME ABSENT - _ZN20QGraphicsItemPrivate23appendGraphicsTransformEP18QGraphicsTransform @ 11933 NONAME - _ZN20QGraphicsItemPrivate26childrenBoundingRectHelperEP10QTransformP6QRectF @ 11934 NONAME - _ZN20QGraphicsItemPrivate29ensureSceneTransformRecursiveEPP13QGraphicsItem @ 11935 NONAME - _ZN20QGraphicsItemPrivate30updateSceneTransformFromParentEv @ 11936 NONAME - _ZN20QGraphicsItemPrivate8addChildEP13QGraphicsItem @ 11937 NONAME - _ZN20QGraphicsViewPrivate19translateTouchEventEPS_P11QTouchEvent @ 11938 NONAME - _ZN20QGraphicsViewPrivate21processPendingUpdatesEv @ 11939 NONAME - _ZN20QGraphicsViewPrivate28updateInputMethodSensitivityEv @ 11940 NONAME - _ZN20QTextDocumentPrivate10finishEditEv @ 11941 NONAME - _ZN21QMouseEventTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 11942 NONAME - _ZN21QMouseEventTransition11qt_metacastEPKc @ 11943 NONAME - _ZN21QMouseEventTransition12onTransitionEP6QEvent @ 11944 NONAME - _ZN21QMouseEventTransition16setModifiersMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 11945 NONAME - _ZN21QMouseEventTransition16staticMetaObjectE @ 11946 NONAME DATA 16 - _ZN21QMouseEventTransition7setPathERK12QPainterPath @ 11947 NONAME - _ZN21QMouseEventTransition9eventTestEP6QEvent @ 11948 NONAME - _ZN21QMouseEventTransition9setButtonEN2Qt11MouseButtonE @ 11949 NONAME - _ZN21QMouseEventTransitionC1EP6QState @ 11950 NONAME - _ZN21QMouseEventTransitionC1EP7QObjectN6QEvent4TypeEN2Qt11MouseButtonEP6QState @ 11951 NONAME - _ZN21QMouseEventTransitionC2EP6QState @ 11952 NONAME - _ZN21QMouseEventTransitionC2EP7QObjectN6QEvent4TypeEN2Qt11MouseButtonEP6QState @ 11953 NONAME - _ZN21QMouseEventTransitionD0Ev @ 11954 NONAME - _ZN21QMouseEventTransitionD1Ev @ 11955 NONAME - _ZN21QMouseEventTransitionD2Ev @ 11956 NONAME - _ZN21QPaintEngineExPrivate20replayClipOperationsEv @ 11957 NONAME - _ZN24QAbstractItemViewPrivate14checkMouseMoveERK21QPersistentModelIndex @ 11958 NONAME - _ZN24QAbstractItemViewPrivate9fetchMoreEv @ 11959 NONAME - _ZN24QBasicKeyEventTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 11960 NONAME - _ZN24QBasicKeyEventTransition11qt_metacastEPKc @ 11961 NONAME - _ZN24QBasicKeyEventTransition12onTransitionEP6QEvent @ 11962 NONAME - _ZN24QBasicKeyEventTransition12setEventTypeEN6QEvent4TypeE @ 11963 NONAME - _ZN24QBasicKeyEventTransition16setModifiersMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 11964 NONAME - _ZN24QBasicKeyEventTransition16staticMetaObjectE @ 11965 NONAME DATA 16 - _ZN24QBasicKeyEventTransition6setKeyEi @ 11966 NONAME - _ZN24QBasicKeyEventTransition9eventTestEP6QEvent @ 11967 NONAME - _ZN24QBasicKeyEventTransitionC1EN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEEP6QState @ 11968 NONAME - _ZN24QBasicKeyEventTransitionC1EN6QEvent4TypeEiP6QState @ 11969 NONAME - _ZN24QBasicKeyEventTransitionC1EP6QState @ 11970 NONAME - _ZN24QBasicKeyEventTransitionC2EN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEEP6QState @ 11971 NONAME - _ZN24QBasicKeyEventTransitionC2EN6QEvent4TypeEiP6QState @ 11972 NONAME - _ZN24QBasicKeyEventTransitionC2EP6QState @ 11973 NONAME - _ZN24QBasicKeyEventTransitionD0Ev @ 11974 NONAME - _ZN24QBasicKeyEventTransitionD1Ev @ 11975 NONAME - _ZN24QBasicKeyEventTransitionD2Ev @ 11976 NONAME - _ZN24QImagePixmapCleanupHooks12addImageHookEPFvxE @ 11977 NONAME - _ZN24QImagePixmapCleanupHooks13addPixmapHookEPFvP7QPixmapE @ 11978 NONAME - _ZN24QImagePixmapCleanupHooks15removeImageHookEPFvxE @ 11979 NONAME - _ZN24QImagePixmapCleanupHooks16removePixmapHookEPFvP7QPixmapE @ 11980 NONAME - _ZN24QImagePixmapCleanupHooks17executeImageHooksEx @ 11981 NONAME - _ZN24QImagePixmapCleanupHooks18executePixmapHooksEP7QPixmap @ 11982 NONAME - _ZN24QImagePixmapCleanupHooks8instanceEv @ 11983 NONAME - _ZN24QImagePixmapCleanupHooksC1Ev @ 11984 NONAME - _ZN24QImagePixmapCleanupHooksC2Ev @ 11985 NONAME - _ZN24QStyleOptionGraphicsItem26levelOfDetailFromTransformERK10QTransform @ 11986 NONAME - _ZN25QGraphicsSceneLinearIndex11qt_metacallEN11QMetaObject4CallEiPPv @ 11987 NONAME - _ZN25QGraphicsSceneLinearIndex11qt_metacastEPKc @ 11988 NONAME - _ZN25QGraphicsSceneLinearIndex16staticMetaObjectE @ 11989 NONAME DATA 16 - _ZN26QAbstractScrollAreaPrivate19_q_gestureTriggeredEv @ 11990 NONAME ABSENT - _ZN26QBasicMouseEventTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 11991 NONAME - _ZN26QBasicMouseEventTransition11qt_metacastEPKc @ 11992 NONAME - _ZN26QBasicMouseEventTransition12onTransitionEP6QEvent @ 11993 NONAME - _ZN26QBasicMouseEventTransition12setEventTypeEN6QEvent4TypeE @ 11994 NONAME - _ZN26QBasicMouseEventTransition16setModifiersMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 11995 NONAME - _ZN26QBasicMouseEventTransition16staticMetaObjectE @ 11996 NONAME DATA 16 - _ZN26QBasicMouseEventTransition7setPathERK12QPainterPath @ 11997 NONAME - _ZN26QBasicMouseEventTransition9eventTestEP6QEvent @ 11998 NONAME - _ZN26QBasicMouseEventTransition9setButtonEN2Qt11MouseButtonE @ 11999 NONAME - _ZN26QBasicMouseEventTransitionC1EN6QEvent4TypeEN2Qt11MouseButtonEP6QState @ 12000 NONAME - _ZN26QBasicMouseEventTransitionC1EP6QState @ 12001 NONAME - _ZN26QBasicMouseEventTransitionC2EN6QEvent4TypeEN2Qt11MouseButtonEP6QState @ 12002 NONAME - _ZN26QBasicMouseEventTransitionC2EP6QState @ 12003 NONAME - _ZN26QBasicMouseEventTransitionD0Ev @ 12004 NONAME - _ZN26QBasicMouseEventTransitionD1Ev @ 12005 NONAME - _ZN26QBasicMouseEventTransitionD2Ev @ 12006 NONAME - _ZN26QGraphicsLayoutItemPrivate16setSizeComponentEN2Qt8SizeHintENS_13SizeComponentEf @ 12007 NONAME - _ZN26QGraphicsLayoutItemPrivate19ensureUserSizeHintsEv @ 12008 NONAME - _ZN26QGraphicsLayoutItemPrivate7setSizeEN2Qt8SizeHintERK6QSizeF @ 12009 NONAME - _ZN26QGraphicsLayoutItemPrivateD0Ev @ 12010 NONAME - _ZN26QGraphicsLayoutItemPrivateD1Ev @ 12011 NONAME - _ZN26QGraphicsLayoutItemPrivateD2Ev @ 12012 NONAME - _ZN26QGraphicsSceneBspTreeIndex10itemChangeEPK13QGraphicsItemNS0_18GraphicsItemChangeERK8QVariant @ 12013 NONAME - _ZN26QGraphicsSceneBspTreeIndex10removeItemEP13QGraphicsItem @ 12014 NONAME - _ZN26QGraphicsSceneBspTreeIndex11qt_metacallEN11QMetaObject4CallEiPPv @ 12015 NONAME - _ZN26QGraphicsSceneBspTreeIndex11qt_metacastEPKc @ 12016 NONAME - _ZN26QGraphicsSceneBspTreeIndex12bspTreeDepthEv @ 12017 NONAME - _ZN26QGraphicsSceneBspTreeIndex15setBspTreeDepthEi @ 12018 NONAME - _ZN26QGraphicsSceneBspTreeIndex15updateSceneRectERK6QRectF @ 12019 NONAME - _ZN26QGraphicsSceneBspTreeIndex16staticMetaObjectE @ 12020 NONAME DATA 16 - _ZN26QGraphicsSceneBspTreeIndex25prepareBoundingRectChangeEPK13QGraphicsItem @ 12021 NONAME - _ZN26QGraphicsSceneBspTreeIndex5clearEv @ 12022 NONAME - _ZN26QGraphicsSceneBspTreeIndex5eventEP6QEvent @ 12023 NONAME - _ZN26QGraphicsSceneBspTreeIndex7addItemEP13QGraphicsItem @ 12024 NONAME - _ZN26QGraphicsSceneBspTreeIndexC1EP14QGraphicsScene @ 12025 NONAME - _ZN26QGraphicsSceneBspTreeIndexC2EP14QGraphicsScene @ 12026 NONAME - _ZN26QGraphicsSceneBspTreeIndexD0Ev @ 12027 NONAME - _ZN26QGraphicsSceneBspTreeIndexD1Ev @ 12028 NONAME - _ZN26QGraphicsSceneBspTreeIndexD2Ev @ 12029 NONAME - _ZN5QIcon12hasThemeIconERK7QString @ 12030 NONAME - _ZN5QIcon12setThemeNameERK7QString @ 12031 NONAME - _ZN5QIcon16themeSearchPathsEv @ 12032 NONAME - _ZN5QIcon19setThemeSearchPathsERK11QStringList @ 12033 NONAME - _ZN5QIcon9fromThemeERK7QStringRKS_ @ 12034 NONAME - _ZN5QIcon9themeNameEv @ 12035 NONAME - _ZN6QStyle8setProxyEPS_ @ 12036 NONAME - _ZN7QAction11setPriorityENS_8PriorityE @ 12037 NONAME - _ZN7QPixmap6scrollEiiRK5QRectP7QRegion @ 12038 NONAME - _ZN8QGesture11eventFilterEP7QObjectP6QEvent @ 12039 NONAME - _ZN8QGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 12040 NONAME - _ZN8QGesture11qt_metacastEPKc @ 12041 NONAME - _ZN8QGesture11updateStateEN2Qt12GestureStateE @ 12042 NONAME - _ZN8QGesture15setGraphicsItemEP13QGraphicsItem @ 12043 NONAME - _ZN8QGesture16staticMetaObjectE @ 12044 NONAME DATA 16 - _ZN8QGesture5resetEv @ 12045 NONAME - _ZN8QGesture7startedEv @ 12046 NONAME - _ZN8QGesture8finishedEv @ 12047 NONAME - _ZN8QGesture8canceledEv @ 12048 NONAME - _ZN8QGesture9triggeredEv @ 12049 NONAME - _ZN8QGestureC2EP7QObject @ 12050 NONAME ABSENT - _ZN8QGestureC2ER15QGesturePrivateP7QObject @ 12051 NONAME ABSENT - _ZN8QGestureD0Ev @ 12052 NONAME - _ZN8QGestureD1Ev @ 12053 NONAME - _ZN8QGestureD2Ev @ 12054 NONAME - _ZN8QMenuBar16setNativeMenuBarEb @ 12055 NONAME - _ZN9QVector2D10dotProductERKS_S1_ @ 12056 NONAME - _ZN9QVector2D9normalizeEv @ 12057 NONAME - _ZN9QVector2DC1ERK9QVector3D @ 12058 NONAME - _ZN9QVector2DC1ERK9QVector4D @ 12059 NONAME - _ZN9QVector2DC2ERK9QVector3D @ 12060 NONAME - _ZN9QVector2DC2ERK9QVector4D @ 12061 NONAME - _ZN9QVector3D10dotProductERKS_S1_ @ 12062 NONAME - _ZN9QVector3D12crossProductERKS_S1_ @ 12063 NONAME - _ZN9QVector3D6normalERKS_S1_ @ 12064 NONAME - _ZN9QVector3D6normalERKS_S1_S1_ @ 12065 NONAME - _ZN9QVector3D9normalizeEv @ 12066 NONAME - _ZN9QVector3DC1ERK9QVector2D @ 12067 NONAME - _ZN9QVector3DC1ERK9QVector2Df @ 12068 NONAME - _ZN9QVector3DC1ERK9QVector4D @ 12069 NONAME - _ZN9QVector3DC2ERK9QVector2D @ 12070 NONAME - _ZN9QVector3DC2ERK9QVector2Df @ 12071 NONAME - _ZN9QVector3DC2ERK9QVector4D @ 12072 NONAME - _ZN9QVector4D10dotProductERKS_S1_ @ 12073 NONAME - _ZN9QVector4D9normalizeEv @ 12074 NONAME - _ZN9QVector4DC1ERK9QVector2D @ 12075 NONAME - _ZN9QVector4DC1ERK9QVector2Dff @ 12076 NONAME - _ZN9QVector4DC1ERK9QVector3D @ 12077 NONAME - _ZN9QVector4DC1ERK9QVector3Df @ 12078 NONAME - _ZN9QVector4DC2ERK9QVector2D @ 12079 NONAME - _ZN9QVector4DC2ERK9QVector2Dff @ 12080 NONAME - _ZN9QVector4DC2ERK9QVector3D @ 12081 NONAME - _ZN9QVector4DC2ERK9QVector3Df @ 12082 NONAME - _ZNK10QCompleter15maxVisibleItemsEv @ 12083 NONAME - _ZNK10QMatrix4x410transposedEv @ 12084 NONAME - _ZNK10QMatrix4x411determinantEv @ 12085 NONAME - _ZNK10QMatrix4x411toTransformEv @ 12086 NONAME ABSENT - _ZNK10QMatrix4x412normalMatrixEv @ 12087 NONAME - _ZNK10QMatrix4x412toValueArrayEPf @ 12088 NONAME - _ZNK10QMatrix4x418extractTranslationEv @ 12089 NONAME - _ZNK10QMatrix4x418orthonormalInverseEv @ 12090 NONAME - _ZNK10QMatrix4x419extractAxisRotationERfR9QVector3D @ 12091 NONAME - _ZNK10QMatrix4x47mapRectERK5QRect @ 12092 NONAME - _ZNK10QMatrix4x47mapRectERK6QRectF @ 12093 NONAME - _ZNK10QMatrix4x48invertedEPb @ 12094 NONAME - _ZNK10QMatrix4x48toAffineEv @ 12095 NONAME - _ZNK11QPanGesture10lastOffsetEv @ 12096 NONAME - _ZNK11QPanGesture10metaObjectEv @ 12097 NONAME - _ZNK11QPanGesture11totalOffsetEv @ 12098 NONAME - _ZNK11QProxyStyle10metaObjectEv @ 12099 NONAME - _ZNK11QProxyStyle11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 12100 NONAME - _ZNK11QProxyStyle11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 12101 NONAME - _ZNK11QProxyStyle12drawItemTextEP8QPainterRK5QRectiRK8QPalettebRK7QStringNS5_9ColorRoleE @ 12102 NONAME - _ZNK11QProxyStyle12itemTextRectERK12QFontMetricsRK5QRectibRK7QString @ 12103 NONAME - _ZNK11QProxyStyle13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 12104 NONAME - _ZNK11QProxyStyle14drawItemPixmapEP8QPainterRK5QRectiRK7QPixmap @ 12105 NONAME - _ZNK11QProxyStyle14itemPixmapRectERK5QRectiRK7QPixmap @ 12106 NONAME - _ZNK11QProxyStyle14standardPixmapEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 12107 NONAME - _ZNK11QProxyStyle14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget @ 12108 NONAME - _ZNK11QProxyStyle14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 12109 NONAME - _ZNK11QProxyStyle15standardPaletteEv @ 12110 NONAME - _ZNK11QProxyStyle16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 12111 NONAME - _ZNK11QProxyStyle18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 12112 NONAME - _ZNK11QProxyStyle19generatedIconPixmapEN5QIcon4ModeERK7QPixmapPK12QStyleOption @ 12113 NONAME - _ZNK11QProxyStyle21hitTestComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexRK6QPointPK7QWidget @ 12114 NONAME - _ZNK11QProxyStyle26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 12115 NONAME - _ZNK11QProxyStyle27layoutSpacingImplementationEN11QSizePolicy11ControlTypeES1_N2Qt11OrientationEPK12QStyleOptionPK7QWidget @ 12116 NONAME - _ZNK11QProxyStyle9baseStyleEv @ 12117 NONAME - _ZNK11QProxyStyle9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 12118 NONAME - _ZNK11QQuaternion10normalizedEv @ 12119 NONAME - _ZNK11QQuaternion12rotateVectorERK9QVector3D @ 12120 NONAME - _ZNK11QQuaternion13lengthSquaredEv @ 12121 NONAME - _ZNK11QQuaternion6lengthEv @ 12122 NONAME - _ZNK11QTouchEvent10TouchPoint10screenRectEv @ 12123 NONAME - _ZNK11QTouchEvent10TouchPoint12lastScenePosEv @ 12124 NONAME - _ZNK11QTouchEvent10TouchPoint13lastScreenPosEv @ 12125 NONAME - _ZNK11QTouchEvent10TouchPoint13normalizedPosEv @ 12126 NONAME - _ZNK11QTouchEvent10TouchPoint13startScenePosEv @ 12127 NONAME - _ZNK11QTouchEvent10TouchPoint14startScreenPosEv @ 12128 NONAME - _ZNK11QTouchEvent10TouchPoint17lastNormalizedPosEv @ 12129 NONAME - _ZNK11QTouchEvent10TouchPoint18startNormalizedPosEv @ 12130 NONAME - _ZNK11QTouchEvent10TouchPoint2idEv @ 12131 NONAME - _ZNK11QTouchEvent10TouchPoint3posEv @ 12132 NONAME - _ZNK11QTouchEvent10TouchPoint4rectEv @ 12133 NONAME - _ZNK11QTouchEvent10TouchPoint5stateEv @ 12134 NONAME - _ZNK11QTouchEvent10TouchPoint7lastPosEv @ 12135 NONAME - _ZNK11QTouchEvent10TouchPoint8pressureEv @ 12136 NONAME - _ZNK11QTouchEvent10TouchPoint8scenePosEv @ 12137 NONAME - _ZNK11QTouchEvent10TouchPoint8startPosEv @ 12138 NONAME - _ZNK11QTouchEvent10TouchPoint9isPrimaryEv @ 12139 NONAME - _ZNK11QTouchEvent10TouchPoint9sceneRectEv @ 12140 NONAME - _ZNK11QTouchEvent10TouchPoint9screenPosEv @ 12141 NONAME - _ZNK11QVectorPath20convertToPainterPathEv @ 12142 NONAME ABSENT - _ZNK12QLineControl10cursorRectEv @ 12143 NONAME - _ZNK12QLineControl10findInMaskEibb5QChar @ 12144 NONAME - _ZNK12QLineControl10maskStringEjRK7QStringb @ 12145 NONAME - _ZNK12QLineControl10metaObjectEv @ 12146 NONAME - _ZNK12QLineControl11clearStringEjj @ 12147 NONAME - _ZNK12QLineControl11stripStringERK7QString @ 12148 NONAME - _ZNK12QLineControl12isValidInputE5QCharS0_ @ 12149 NONAME - _ZNK12QLineControl18hasAcceptableInputERK7QString @ 12150 NONAME - _ZNK12QLineControl4copyEN10QClipboard4ModeE @ 12151 NONAME - _ZNK12QLineControl6xToPosEiN9QTextLine14CursorPositionE @ 12152 NONAME - _ZNK12QPainterPath10translatedEff @ 12153 NONAME - _ZNK12QPixmapCache3KeyeqERKS0_ @ 12154 NONAME - _ZNK13QGraphicsItem10focusProxyEv @ 12155 NONAME - _ZNK13QGraphicsItem12parentObjectEv @ 12156 NONAME - _ZNK13QGraphicsItem15transformationsEv @ 12157 NONAME - _ZNK13QGraphicsItem16inputMethodHintsEv @ 12158 NONAME - _ZNK13QGraphicsItem16toGraphicsObjectEv @ 12159 NONAME - _ZNK13QGraphicsItem17acceptTouchEventsEv @ 12160 NONAME - _ZNK13QGraphicsItem18filtersChildEventsEv @ 12161 NONAME - _ZNK13QGraphicsItem20transformOriginPointEv @ 12162 NONAME - _ZNK13QGraphicsItem5scaleEv @ 12163 NONAME - _ZNK13QGraphicsItem8rotationEv @ 12164 NONAME - _ZNK13QGraphicsItem9focusItemEv @ 12165 NONAME - _ZNK13QGraphicsView13isTransformedEv @ 12166 NONAME - _ZNK13QPinchGesture10metaObjectEv @ 12167 NONAME - _ZNK13QPinchGesture11centerPointEv @ 12168 NONAME - _ZNK13QPinchGesture11scaleFactorEv @ 12169 NONAME - _ZNK13QPinchGesture13rotationAngleEv @ 12170 NONAME - _ZNK13QPinchGesture15lastCenterPointEv @ 12171 NONAME - _ZNK13QPinchGesture15lastScaleFactorEv @ 12172 NONAME - _ZNK13QPinchGesture16startCenterPointEv @ 12173 NONAME - _ZNK13QPinchGesture17lastRotationAngleEv @ 12174 NONAME - _ZNK14QGraphicsScale10metaObjectEv @ 12175 NONAME - _ZNK14QGraphicsScale6originEv @ 12176 NONAME - _ZNK14QGraphicsScale6xScaleEv @ 12177 NONAME - _ZNK14QGraphicsScale6yScaleEv @ 12178 NONAME - _ZNK14QGraphicsScale7applyToEP10QTransform @ 12179 NONAME ABSENT - _ZNK14QGraphicsScene5itemsEN2Qt9SortOrderE @ 12180 NONAME - _ZNK14QGraphicsScene5itemsERK12QPainterPathN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 12181 NONAME - _ZNK14QGraphicsScene5itemsERK6QRectFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 12182 NONAME - _ZNK14QGraphicsScene5itemsERK7QPointFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 12183 NONAME - _ZNK14QGraphicsScene5itemsERK9QPolygonFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 12184 NONAME - _ZNK14QGraphicsScene6itemAtERK7QPointFRK10QTransform @ 12185 NONAME - _ZNK14QWidgetPrivate15paintBackgroundEP8QPainterRK7QRegioni @ 12186 NONAME - _ZNK15QDockAreaLayout13separatorRectERK5QListIiE @ 12187 NONAME - _ZNK15QDockAreaLayout4infoERK5QListIiE @ 12188 NONAME - _ZNK15QDockAreaLayout7gapRectERK5QListIiE @ 12189 NONAME - _ZNK15QDockAreaLayout8itemRectERK5QListIiE @ 12190 NONAME - _ZNK15QGraphicsObject10metaObjectEv @ 12191 NONAME - _ZNK17QGraphicsRotation10metaObjectEv @ 12192 NONAME - _ZNK17QGraphicsRotation4axisEv @ 12193 NONAME - _ZNK17QGraphicsRotation5angleEv @ 12194 NONAME - _ZNK17QGraphicsRotation6originEv @ 12195 NONAME - _ZNK17QGraphicsRotation7applyToEP10QTransform @ 12196 NONAME ABSENT - _ZNK18QGraphicsTransform10metaObjectEv @ 12197 NONAME - _ZNK18QGraphicsTransform9transformEv @ 12198 NONAME ABSENT - _ZNK18QTextureGlyphCache18textureMapForGlyphEj @ 12199 NONAME - _ZNK19QDockAreaLayoutInfo12hasFixedSizeEv @ 12200 NONAME - _ZNK19QDockAreaLayoutInfo13separatorRectERK5QListIiE @ 12201 NONAME - _ZNK19QDockAreaLayoutInfo8itemRectERK5QListIiE @ 12202 NONAME - _ZNK19QGraphicsSceneIndex10metaObjectEv @ 12203 NONAME - _ZNK19QGraphicsSceneIndex13estimateItemsERK7QPointFN2Qt9SortOrderE @ 12204 NONAME - _ZNK19QGraphicsSceneIndex21estimateTopLevelItemsERK6QRectFN2Qt9SortOrderE @ 12205 NONAME - _ZNK19QGraphicsSceneIndex5itemsERK12QPainterPathN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 12206 NONAME - _ZNK19QGraphicsSceneIndex5itemsERK6QRectFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 12207 NONAME - _ZNK19QGraphicsSceneIndex5itemsERK7QPointFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 12208 NONAME - _ZNK19QGraphicsSceneIndex5itemsERK9QPolygonFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 12209 NONAME - _ZNK19QGraphicsSceneIndex5sceneEv @ 12210 NONAME - _ZNK19QKeyEventTransition10metaObjectEv @ 12211 NONAME - _ZNK19QKeyEventTransition13modifiersMaskEv @ 12212 NONAME - _ZNK19QKeyEventTransition3keyEv @ 12213 NONAME - _ZNK20QGraphicsItemPrivate15initStyleOptionEP24QStyleOptionGraphicsItemRK10QTransformRK7QRegionb @ 12214 NONAME - _ZNK20QGraphicsItemPrivate19maybeExtraItemCacheEv @ 12215 NONAME - _ZNK20QGraphicsItemPrivate24combineTransformToParentEP10QTransformPKS0_ @ 12216 NONAME - _ZNK20QGraphicsItemPrivate26combineTransformFromParentEP10QTransformPKS0_ @ 12217 NONAME - _ZNK20QGraphicsViewPrivate10mapToSceneERK6QRectF @ 12218 NONAME - _ZNK20QGraphicsViewPrivate10mapToSceneERK7QPointF @ 12219 NONAME - _ZNK20QGraphicsViewPrivate9findItemsERK7QRegionPbRK10QTransform @ 12220 NONAME - _ZNK21QMouseEventTransition10metaObjectEv @ 12221 NONAME - _ZNK21QMouseEventTransition13modifiersMaskEv @ 12222 NONAME - _ZNK21QMouseEventTransition4pathEv @ 12223 NONAME - _ZNK21QMouseEventTransition6buttonEv @ 12224 NONAME - _ZNK21QPaintEngineExPrivate17hasClipOperationsEv @ 12225 NONAME - _ZNK24QAbstractItemViewPrivate19draggablePaintPairsERK5QListI11QModelIndexEP5QRect @ 12226 NONAME - _ZNK24QBasicKeyEventTransition10metaObjectEv @ 12227 NONAME - _ZNK24QBasicKeyEventTransition13modifiersMaskEv @ 12228 NONAME - _ZNK24QBasicKeyEventTransition3keyEv @ 12229 NONAME - _ZNK24QBasicKeyEventTransition9eventTypeEv @ 12230 NONAME - _ZNK25QGraphicsSceneLinearIndex10metaObjectEv @ 12231 NONAME - _ZNK26QBasicMouseEventTransition10metaObjectEv @ 12232 NONAME - _ZNK26QBasicMouseEventTransition13modifiersMaskEv @ 12233 NONAME - _ZNK26QBasicMouseEventTransition4pathEv @ 12234 NONAME - _ZNK26QBasicMouseEventTransition6buttonEv @ 12235 NONAME - _ZNK26QBasicMouseEventTransition9eventTypeEv @ 12236 NONAME - _ZNK26QGraphicsSceneBspTreeIndex10metaObjectEv @ 12237 NONAME - _ZNK26QGraphicsSceneBspTreeIndex13estimateItemsERK6QRectFN2Qt9SortOrderE @ 12238 NONAME - _ZNK26QGraphicsSceneBspTreeIndex21estimateTopLevelItemsERK6QRectFN2Qt9SortOrderE @ 12239 NONAME - _ZNK26QGraphicsSceneBspTreeIndex5itemsEN2Qt9SortOrderE @ 12240 NONAME - _ZNK6QStyle5proxyEv @ 12241 NONAME - _ZNK7QAction8priorityEv @ 12242 NONAME - _ZNK7QWidget20previousInFocusChainEv @ 12243 NONAME - _ZNK8QGesture10metaObjectEv @ 12244 NONAME - _ZNK8QGesture12graphicsItemEv @ 12245 NONAME - _ZNK8QGesture5stateEv @ 12246 NONAME - _ZNK8QMenuBar15isNativeMenuBarEv @ 12247 NONAME - _ZNK8QPolygon10translatedEii @ 12248 NONAME - _ZNK9QPolygonF10translatedERK7QPointF @ 12249 NONAME - _ZNK9QVector2D10normalizedEv @ 12250 NONAME - _ZNK9QVector2D10toVector3DEv @ 12251 NONAME - _ZNK9QVector2D10toVector4DEv @ 12252 NONAME - _ZNK9QVector2D13lengthSquaredEv @ 12253 NONAME - _ZNK9QVector2D6lengthEv @ 12254 NONAME - _ZNK9QVector3D10normalizedEv @ 12255 NONAME - _ZNK9QVector3D10toVector2DEv @ 12256 NONAME - _ZNK9QVector3D10toVector4DEv @ 12257 NONAME - _ZNK9QVector3D13lengthSquaredEv @ 12258 NONAME - _ZNK9QVector3D14distanceToLineERKS_S1_ @ 12259 NONAME - _ZNK9QVector3D15distanceToPlaneERKS_S1_ @ 12260 NONAME - _ZNK9QVector3D15distanceToPlaneERKS_S1_S1_ @ 12261 NONAME - _ZNK9QVector3D6lengthEv @ 12262 NONAME - _ZNK9QVector4D10normalizedEv @ 12263 NONAME - _ZNK9QVector4D10toVector2DEv @ 12264 NONAME - _ZNK9QVector4D10toVector3DEv @ 12265 NONAME - _ZNK9QVector4D13lengthSquaredEv @ 12266 NONAME - _ZNK9QVector4D16toVector2DAffineEv @ 12267 NONAME - _ZNK9QVector4D16toVector3DAffineEv @ 12268 NONAME - _ZNK9QVector4D6lengthEv @ 12269 NONAME - _ZTI11QPanGesture @ 12270 NONAME - _ZTI11QProxyStyle @ 12271 NONAME - _ZTI11QTouchEvent @ 12272 NONAME - _ZTI12QLineControl @ 12273 NONAME - _ZTI13QPinchGesture @ 12274 NONAME - _ZTI14QGraphicsScale @ 12275 NONAME - _ZTI15QGraphicsObject @ 12276 NONAME - _ZTI17QGraphicsRotation @ 12277 NONAME - _ZTI18QGraphicsTransform @ 12278 NONAME - _ZTI19QGraphicsSceneIndex @ 12279 NONAME - _ZTI19QKeyEventTransition @ 12280 NONAME - _ZTI21QMouseEventTransition @ 12281 NONAME - _ZTI24QBasicKeyEventTransition @ 12282 NONAME - _ZTI25QGraphicsSceneLinearIndex @ 12283 NONAME - _ZTI26QBasicMouseEventTransition @ 12284 NONAME - _ZTI26QGraphicsSceneBspTreeIndex @ 12285 NONAME - _ZTI8QGesture @ 12286 NONAME - _ZTV11QPanGesture @ 12287 NONAME - _ZTV11QProxyStyle @ 12288 NONAME - _ZTV11QTouchEvent @ 12289 NONAME - _ZTV12QLineControl @ 12290 NONAME - _ZTV13QPinchGesture @ 12291 NONAME - _ZTV14QGraphicsScale @ 12292 NONAME - _ZTV15QGraphicsObject @ 12293 NONAME - _ZTV17QGraphicsRotation @ 12294 NONAME - _ZTV18QGraphicsTransform @ 12295 NONAME - _ZTV19QGraphicsSceneIndex @ 12296 NONAME - _ZTV19QKeyEventTransition @ 12297 NONAME - _ZTV21QMouseEventTransition @ 12298 NONAME - _ZTV24QBasicKeyEventTransition @ 12299 NONAME - _ZTV25QGraphicsSceneLinearIndex @ 12300 NONAME - _ZTV26QBasicMouseEventTransition @ 12301 NONAME - _ZTV26QGraphicsSceneBspTreeIndex @ 12302 NONAME - _ZTV8QGesture @ 12303 NONAME - _ZdvRK10QMatrix4x4f @ 12304 NONAME - _Zls6QDebugRK10QMatrix4x4 @ 12305 NONAME - _Zls6QDebugRK11QQuaternion @ 12306 NONAME - _Zls6QDebugRK9QVector2D @ 12307 NONAME - _Zls6QDebugRK9QVector3D @ 12308 NONAME - _Zls6QDebugRK9QVector4D @ 12309 NONAME - _ZlsR11QDataStreamRK10QMatrix4x4 @ 12310 NONAME - _ZlsR11QDataStreamRK11QQuaternion @ 12311 NONAME - _ZlsR11QDataStreamRK9QVector2D @ 12312 NONAME - _ZlsR11QDataStreamRK9QVector3D @ 12313 NONAME - _ZlsR11QDataStreamRK9QVector4D @ 12314 NONAME - _ZrsR11QDataStreamR10QMatrix4x4 @ 12315 NONAME - _ZrsR11QDataStreamR11QQuaternion @ 12316 NONAME - _ZrsR11QDataStreamR9QVector2D @ 12317 NONAME - _ZrsR11QDataStreamR9QVector3D @ 12318 NONAME - _ZrsR11QDataStreamR9QVector4D @ 12319 NONAME - _ZN11QPanGestureC1EP7QWidgetP7QObject @ 12320 NONAME - _ZN11QPanGestureC2EP7QWidgetP7QObject @ 12321 NONAME - _ZN13QGraphicsItem17setGraphicsEffectEP15QGraphicsEffect @ 12322 NONAME - _ZN13QPinchGestureC1EP7QWidgetP7QObject @ 12323 NONAME - _ZN13QPinchGestureC2EP7QWidgetP7QObject @ 12324 NONAME - _ZN14QGraphicsScale9setOriginERK9QVector3D @ 12325 NONAME - _ZN14QGraphicsScale9setZScaleEf @ 12326 NONAME - _ZN15QGraphicsEffect10setEnabledEb @ 12327 NONAME - _ZN15QGraphicsEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 12328 NONAME - _ZN15QGraphicsEffect11qt_metacastEPKc @ 12329 NONAME - _ZN15QGraphicsEffect13sourceChangedE6QFlagsINS_10ChangeFlagEE @ 12330 NONAME - _ZN15QGraphicsEffect14enabledChangedEb @ 12331 NONAME - _ZN15QGraphicsEffect16staticMetaObjectE @ 12332 NONAME DATA 16 - _ZN15QGraphicsEffect18updateBoundingRectEv @ 12333 NONAME - _ZN15QGraphicsEffectC2EP7QObject @ 12334 NONAME - _ZN15QGraphicsEffectC2ER22QGraphicsEffectPrivateP7QObject @ 12335 NONAME - _ZN15QGraphicsEffectD0Ev @ 12336 NONAME - _ZN15QGraphicsEffectD1Ev @ 12337 NONAME - _ZN15QGraphicsEffectD2Ev @ 12338 NONAME - _ZN17QGraphicsRotation9setOriginERK9QVector3D @ 12339 NONAME - _ZN17QPixmapBlurFilter10setQualityEN2Qt18TransformationModeE @ 12340 NONAME ABSENT - _ZN17QPixmapBlurFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 12341 NONAME - _ZN17QPixmapBlurFilter11qt_metacastEPKc @ 12342 NONAME - _ZN17QPixmapBlurFilter16staticMetaObjectE @ 12343 NONAME DATA 16 - _ZN17QPixmapBlurFilter9setRadiusEi @ 12344 NONAME - _ZN17QPixmapBlurFilterC1EP7QObject @ 12345 NONAME - _ZN17QPixmapBlurFilterC2EP7QObject @ 12346 NONAME - _ZN17QPixmapBlurFilterD0Ev @ 12347 NONAME - _ZN17QPixmapBlurFilterD1Ev @ 12348 NONAME - _ZN17QPixmapBlurFilterD2Ev @ 12349 NONAME - _ZN19QGraphicsBlurEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 12350 NONAME - _ZN19QGraphicsBlurEffect11qt_metacastEPKc @ 12351 NONAME - _ZN19QGraphicsBlurEffect13setBlurRadiusEi @ 12352 NONAME - _ZN19QGraphicsBlurEffect16staticMetaObjectE @ 12353 NONAME DATA 16 - _ZN19QGraphicsBlurEffect17blurRadiusChangedEi @ 12354 NONAME - _ZN19QGraphicsBlurEffect4drawEP8QPainterP21QGraphicsEffectSource @ 12355 NONAME - _ZN19QGraphicsBlurEffectC1EP7QObject @ 12356 NONAME - _ZN19QGraphicsBlurEffectC2EP7QObject @ 12357 NONAME - _ZN19QGraphicsBlurEffectD0Ev @ 12358 NONAME - _ZN19QGraphicsBlurEffectD1Ev @ 12359 NONAME - _ZN19QGraphicsBlurEffectD2Ev @ 12360 NONAME - _ZN20QGraphicsItemPrivate12resolveDepthEv @ 12361 NONAME - _ZN20QGraphicsItemPrivate26invalidateDepthRecursivelyEv @ 12362 NONAME - _ZN21QGraphicsAnchorLayout10invalidateEv @ 12363 NONAME - _ZN21QGraphicsAnchorLayout10setSpacingEf @ 12364 NONAME - _ZN21QGraphicsAnchorLayout11setGeometryERK6QRectF @ 12365 NONAME - _ZN21QGraphicsAnchorLayout12removeAnchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_ @ 12366 NONAME ABSENT - _ZN21QGraphicsAnchorLayout16addCornerAnchorsEP19QGraphicsLayoutItemN2Qt6CornerES1_S3_ @ 12367 NONAME - _ZN21QGraphicsAnchorLayout16setAnchorSpacingEPK19QGraphicsLayoutItemN2Qt11AnchorPointES2_S4_f @ 12368 NONAME ABSENT - _ZN21QGraphicsAnchorLayout18setVerticalSpacingEf @ 12369 NONAME - _ZN21QGraphicsAnchorLayout18unsetAnchorSpacingEPK19QGraphicsLayoutItemN2Qt11AnchorPointES2_S4_ @ 12370 NONAME ABSENT - _ZN21QGraphicsAnchorLayout20setHorizontalSpacingEf @ 12371 NONAME - _ZN21QGraphicsAnchorLayout8removeAtEi @ 12372 NONAME - _ZN21QGraphicsAnchorLayout9addAnchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_ @ 12373 NONAME - _ZN21QGraphicsAnchorLayoutC1EP19QGraphicsLayoutItem @ 12374 NONAME - _ZN21QGraphicsAnchorLayoutC2EP19QGraphicsLayoutItem @ 12375 NONAME - _ZN21QGraphicsAnchorLayoutD0Ev @ 12376 NONAME - _ZN21QGraphicsAnchorLayoutD1Ev @ 12377 NONAME - _ZN21QGraphicsAnchorLayoutD2Ev @ 12378 NONAME - _ZN21QGraphicsEffectSource11qt_metacallEN11QMetaObject4CallEiPPv @ 12379 NONAME - _ZN21QGraphicsEffectSource11qt_metacastEPKc @ 12380 NONAME - _ZN21QGraphicsEffectSource16staticMetaObjectE @ 12381 NONAME DATA 16 - _ZN21QGraphicsEffectSource4drawEP8QPainter @ 12382 NONAME - _ZN21QGraphicsEffectSource6updateEv @ 12383 NONAME - _ZN21QGraphicsEffectSourceC1ER28QGraphicsEffectSourcePrivateP7QObject @ 12384 NONAME - _ZN21QGraphicsEffectSourceC2ER28QGraphicsEffectSourcePrivateP7QObject @ 12385 NONAME - _ZN21QGraphicsEffectSourceD0Ev @ 12386 NONAME - _ZN21QGraphicsEffectSourceD1Ev @ 12387 NONAME - _ZN21QGraphicsEffectSourceD2Ev @ 12388 NONAME - _ZN23QGraphicsColorizeEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 12389 NONAME - _ZN23QGraphicsColorizeEffect11qt_metacastEPKc @ 12390 NONAME - _ZN23QGraphicsColorizeEffect12colorChangedERK6QColor @ 12391 NONAME - _ZN23QGraphicsColorizeEffect16staticMetaObjectE @ 12392 NONAME DATA 16 - _ZN23QGraphicsColorizeEffect4drawEP8QPainterP21QGraphicsEffectSource @ 12393 NONAME - _ZN23QGraphicsColorizeEffect8setColorERK6QColor @ 12394 NONAME - _ZN23QGraphicsColorizeEffectC1EP7QObject @ 12395 NONAME - _ZN23QGraphicsColorizeEffectC2EP7QObject @ 12396 NONAME - _ZN23QGraphicsColorizeEffectD0Ev @ 12397 NONAME - _ZN23QGraphicsColorizeEffectD1Ev @ 12398 NONAME - _ZN23QGraphicsColorizeEffectD2Ev @ 12399 NONAME - _ZN23QGraphicsPixelizeEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 12400 NONAME - _ZN23QGraphicsPixelizeEffect11qt_metacastEPKc @ 12401 NONAME - _ZN23QGraphicsPixelizeEffect12setPixelSizeEi @ 12402 NONAME - _ZN23QGraphicsPixelizeEffect16pixelSizeChangedEi @ 12403 NONAME - _ZN23QGraphicsPixelizeEffect16staticMetaObjectE @ 12404 NONAME DATA 16 - _ZN23QGraphicsPixelizeEffect4drawEP8QPainterP21QGraphicsEffectSource @ 12405 NONAME - _ZN23QGraphicsPixelizeEffectC1EP7QObject @ 12406 NONAME - _ZN23QGraphicsPixelizeEffectC2EP7QObject @ 12407 NONAME - _ZN23QGraphicsPixelizeEffectD0Ev @ 12408 NONAME - _ZN23QGraphicsPixelizeEffectD1Ev @ 12409 NONAME - _ZN23QGraphicsPixelizeEffectD2Ev @ 12410 NONAME - _ZN23QPixmapDropShadowFilter13setBlurRadiusEi @ 12411 NONAME - _ZN24QGraphicsGrayscaleEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 12412 NONAME - _ZN24QGraphicsGrayscaleEffect11qt_metacastEPKc @ 12413 NONAME - _ZN24QGraphicsGrayscaleEffect16staticMetaObjectE @ 12414 NONAME DATA 16 - _ZN24QGraphicsGrayscaleEffect4drawEP8QPainterP21QGraphicsEffectSource @ 12415 NONAME - _ZN24QGraphicsGrayscaleEffectC1EP7QObject @ 12416 NONAME - _ZN24QGraphicsGrayscaleEffectC2EP7QObject @ 12417 NONAME - _ZN24QGraphicsGrayscaleEffectD0Ev @ 12418 NONAME - _ZN24QGraphicsGrayscaleEffectD1Ev @ 12419 NONAME - _ZN24QGraphicsGrayscaleEffectD2Ev @ 12420 NONAME - _ZN25QGraphicsDropShadowEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 12421 NONAME - _ZN25QGraphicsDropShadowEffect11qt_metacastEPKc @ 12422 NONAME - _ZN25QGraphicsDropShadowEffect12colorChangedERK6QColor @ 12423 NONAME - _ZN25QGraphicsDropShadowEffect13offsetChangedERK7QPointF @ 12424 NONAME - _ZN25QGraphicsDropShadowEffect13setBlurRadiusEi @ 12425 NONAME - _ZN25QGraphicsDropShadowEffect16staticMetaObjectE @ 12426 NONAME DATA 16 - _ZN25QGraphicsDropShadowEffect17blurRadiusChangedEi @ 12427 NONAME - _ZN25QGraphicsDropShadowEffect4drawEP8QPainterP21QGraphicsEffectSource @ 12428 NONAME - _ZN25QGraphicsDropShadowEffect8setColorERK6QColor @ 12429 NONAME - _ZN25QGraphicsDropShadowEffect9setOffsetERK7QPointF @ 12430 NONAME - _ZN25QGraphicsDropShadowEffectC1EP7QObject @ 12431 NONAME - _ZN25QGraphicsDropShadowEffectC2EP7QObject @ 12432 NONAME - _ZN25QGraphicsDropShadowEffectD0Ev @ 12433 NONAME - _ZN25QGraphicsDropShadowEffectD1Ev @ 12434 NONAME - _ZN25QGraphicsDropShadowEffectD2Ev @ 12435 NONAME - _ZN7QWidget17setGraphicsEffectEP15QGraphicsEffect @ 12436 NONAME - _ZN8QGesture16setGestureTargetEP7QObject @ 12437 NONAME - _ZN8QGestureC2EP7QObjectS1_ @ 12438 NONAME - _ZN8QGestureC2ER15QGesturePrivateP7QObjectS3_ @ 12439 NONAME - _ZNK10QMatrix4x411toTransformEf @ 12440 NONAME - _ZNK10QMatrix4x4cv8QVariantEv @ 12441 NONAME - _ZNK11QQuaternioncv8QVariantEv @ 12442 NONAME - _ZNK13QGraphicsItem14graphicsEffectEv @ 12443 NONAME - _ZNK14QGraphicsScale6zScaleEv @ 12444 NONAME - _ZNK14QGraphicsScale7applyToEP10QMatrix4x4 @ 12445 NONAME - _ZNK15QGraphicsEffect10metaObjectEv @ 12446 NONAME - _ZNK15QGraphicsEffect12boundingRectEv @ 12447 NONAME - _ZNK15QGraphicsEffect15boundingRectForERK6QRectF @ 12448 NONAME - _ZNK15QGraphicsEffect6sourceEv @ 12449 NONAME - _ZNK15QGraphicsEffect9isEnabledEv @ 12450 NONAME - _ZNK17QGraphicsRotation7applyToEP10QMatrix4x4 @ 12451 NONAME - _ZNK17QPixmapBlurFilter10metaObjectEv @ 12452 NONAME - _ZNK17QPixmapBlurFilter15boundingRectForERK6QRectF @ 12453 NONAME - _ZNK17QPixmapBlurFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 12454 NONAME - _ZNK17QPixmapBlurFilter6radiusEv @ 12455 NONAME - _ZNK17QPixmapBlurFilter7qualityEv @ 12456 NONAME ABSENT - _ZNK19QGraphicsBlurEffect10blurRadiusEv @ 12457 NONAME - _ZNK19QGraphicsBlurEffect10metaObjectEv @ 12458 NONAME - _ZNK19QGraphicsBlurEffect15boundingRectForERK6QRectF @ 12459 NONAME - _ZNK20QGraphicsItemPrivate21effectiveBoundingRectEv @ 12460 NONAME - _ZNK20QGraphicsItemPrivate26sceneEffectiveBoundingRectEv @ 12461 NONAME - _ZNK20QGraphicsItemPrivate5depthEv @ 12462 NONAME - _ZNK21QGraphicsAnchorLayout13anchorSpacingEPK19QGraphicsLayoutItemN2Qt11AnchorPointES2_S4_ @ 12463 NONAME ABSENT - _ZNK21QGraphicsAnchorLayout15verticalSpacingEv @ 12464 NONAME - _ZNK21QGraphicsAnchorLayout17horizontalSpacingEv @ 12465 NONAME - _ZNK21QGraphicsAnchorLayout5countEv @ 12466 NONAME - _ZNK21QGraphicsAnchorLayout6itemAtEi @ 12467 NONAME - _ZNK21QGraphicsAnchorLayout8sizeHintEN2Qt8SizeHintERK6QSizeF @ 12468 NONAME - _ZNK21QGraphicsEffectSource10deviceRectEv @ 12469 NONAME - _ZNK21QGraphicsEffectSource10metaObjectEv @ 12470 NONAME - _ZNK21QGraphicsEffectSource11styleOptionEv @ 12471 NONAME - _ZNK21QGraphicsEffectSource12boundingRectEN2Qt16CoordinateSystemE @ 12472 NONAME - _ZNK21QGraphicsEffectSource12graphicsItemEv @ 12473 NONAME - _ZNK21QGraphicsEffectSource6pixmapEN2Qt16CoordinateSystemEP6QPoint @ 12474 NONAME - _ZNK21QGraphicsEffectSource6widgetEv @ 12475 NONAME - _ZNK21QGraphicsEffectSource8isPixmapEv @ 12476 NONAME - _ZNK23QGraphicsColorizeEffect10metaObjectEv @ 12477 NONAME - _ZNK23QGraphicsColorizeEffect5colorEv @ 12478 NONAME - _ZNK23QGraphicsPixelizeEffect10metaObjectEv @ 12479 NONAME - _ZNK23QGraphicsPixelizeEffect9pixelSizeEv @ 12480 NONAME - _ZNK24QGraphicsGrayscaleEffect10metaObjectEv @ 12481 NONAME - _ZNK25QGraphicsDropShadowEffect10blurRadiusEv @ 12482 NONAME - _ZNK25QGraphicsDropShadowEffect10metaObjectEv @ 12483 NONAME - _ZNK25QGraphicsDropShadowEffect15boundingRectForERK6QRectF @ 12484 NONAME - _ZNK25QGraphicsDropShadowEffect5colorEv @ 12485 NONAME - _ZNK25QGraphicsDropShadowEffect6offsetEv @ 12486 NONAME - _ZNK7QWidget14graphicsEffectEv @ 12487 NONAME - _ZNK8QGesture13gestureTargetEv @ 12488 NONAME - _ZNK9QVector2Dcv8QVariantEv @ 12489 NONAME - _ZNK9QVector3Dcv8QVariantEv @ 12490 NONAME - _ZNK9QVector4Dcv8QVariantEv @ 12491 NONAME - _ZTI15QGraphicsEffect @ 12492 NONAME - _ZTI17QPixmapBlurFilter @ 12493 NONAME - _ZTI19QGraphicsBlurEffect @ 12494 NONAME - _ZTI21QGraphicsAnchorLayout @ 12495 NONAME - _ZTI21QGraphicsEffectSource @ 12496 NONAME - _ZTI22QGraphicsEffectPrivate @ 12497 NONAME - _ZTI23QGraphicsColorizeEffect @ 12498 NONAME - _ZTI23QGraphicsPixelizeEffect @ 12499 NONAME - _ZTI24QGraphicsGrayscaleEffect @ 12500 NONAME - _ZTI25QGraphicsDropShadowEffect @ 12501 NONAME - _ZTV15QGraphicsEffect @ 12502 NONAME - _ZTV17QPixmapBlurFilter @ 12503 NONAME - _ZTV19QGraphicsBlurEffect @ 12504 NONAME - _ZTV21QGraphicsAnchorLayout @ 12505 NONAME - _ZTV21QGraphicsEffectSource @ 12506 NONAME - _ZTV22QGraphicsEffectPrivate @ 12507 NONAME - _ZTV23QGraphicsColorizeEffect @ 12508 NONAME - _ZTV23QGraphicsPixelizeEffect @ 12509 NONAME - _ZTV24QGraphicsGrayscaleEffect @ 12510 NONAME - _ZTV25QGraphicsDropShadowEffect @ 12511 NONAME - _ZN10QBoxLayout19getStaticMetaObjectEv @ 12512 NONAME - _ZN10QClipboard19getStaticMetaObjectEv @ 12513 NONAME - _ZN10QCompleter19getStaticMetaObjectEv @ 12514 NONAME - _ZN10QLCDNumber19getStaticMetaObjectEv @ 12515 NONAME - _ZN10QScrollBar19getStaticMetaObjectEv @ 12516 NONAME - _ZN10QStatusBar19getStaticMetaObjectEv @ 12517 NONAME - _ZN10QTabWidget19getStaticMetaObjectEv @ 12518 NONAME - _ZN10QTableView19getStaticMetaObjectEv @ 12519 NONAME - _ZN10QTextFrame19getStaticMetaObjectEv @ 12520 NONAME - _ZN10QTextTable19getStaticMetaObjectEv @ 12521 NONAME - _ZN10QUndoGroup19getStaticMetaObjectEv @ 12522 NONAME - _ZN10QUndoStack19getStaticMetaObjectEv @ 12523 NONAME - _ZN10QValidator19getStaticMetaObjectEv @ 12524 NONAME - _ZN10QWorkspace19getStaticMetaObjectEv @ 12525 NONAME - _ZN11QColumnView19getStaticMetaObjectEv @ 12526 NONAME - _ZN11QDockWidget19getStaticMetaObjectEv @ 12527 NONAME - _ZN11QFileDialog19getStaticMetaObjectEv @ 12528 NONAME - _ZN11QFocusFrame19getStaticMetaObjectEv @ 12529 NONAME - _ZN11QFontDialog19getStaticMetaObjectEv @ 12530 NONAME - _ZN11QFormLayout19getStaticMetaObjectEv @ 12531 NONAME - _ZN11QGridLayout19getStaticMetaObjectEv @ 12532 NONAME - _ZN11QHBoxLayout19getStaticMetaObjectEv @ 12533 NONAME - _ZN11QHeaderView19getStaticMetaObjectEv @ 12534 NONAME - _ZN11QListWidget19getStaticMetaObjectEv @ 12535 NONAME - _ZN11QMainWindow19getStaticMetaObjectEv @ 12536 NONAME - _ZN11QMessageBox19getStaticMetaObjectEv @ 12537 NONAME - _ZN11QPanGesture19getStaticMetaObjectEv @ 12538 NONAME - _ZN11QPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 12539 NONAME - _ZN11QProxyModel19getStaticMetaObjectEv @ 12540 NONAME - _ZN11QProxyStyle19getStaticMetaObjectEv @ 12541 NONAME - _ZN11QPushButton19getStaticMetaObjectEv @ 12542 NONAME - _ZN11QRubberBand19getStaticMetaObjectEv @ 12543 NONAME - _ZN11QScrollArea19getStaticMetaObjectEv @ 12544 NONAME - _ZN11QSizePolicy19getStaticMetaObjectEv @ 12545 NONAME - _ZN11QTextFormat19getStaticMetaObjectEv @ 12546 NONAME - _ZN11QTextObject19getStaticMetaObjectEv @ 12547 NONAME - _ZN11QToolButton19getStaticMetaObjectEv @ 12548 NONAME - _ZN11QTreeWidget19getStaticMetaObjectEv @ 12549 NONAME - _ZN11QVBoxLayout19getStaticMetaObjectEv @ 12550 NONAME - _ZN11QWizardPage19getStaticMetaObjectEv @ 12551 NONAME - _ZN12QActionGroup19getStaticMetaObjectEv @ 12552 NONAME - _ZN12QApplication14navigationModeEv @ 12553 NONAME - _ZN12QApplication14overrideCursorEv @ 12554 NONAME - _ZN12QApplication17setNavigationModeEN2Qt14NavigationModeE @ 12555 NONAME - _ZN12QApplication17setOverrideCursorERK7QCursor @ 12556 NONAME - _ZN12QApplication19getStaticMetaObjectEv @ 12557 NONAME - _ZN12QApplication20changeOverrideCursorERK7QCursor @ 12558 NONAME - _ZN12QApplication21restoreOverrideCursorEv @ 12559 NONAME - _ZN12QButtonGroup19getStaticMetaObjectEv @ 12560 NONAME - _ZN12QColorDialog19getStaticMetaObjectEv @ 12561 NONAME - _ZN12QCommonStyle19getStaticMetaObjectEv @ 12562 NONAME - _ZN12QImageReader26setDecideFormatFromContentEb @ 12563 NONAME - _ZN12QInputDialog19getStaticMetaObjectEv @ 12564 NONAME - _ZN12QLineControl19getStaticMetaObjectEv @ 12565 NONAME - _ZN12QPaintBuffer13beginNewFrameEv @ 12566 NONAME - _ZN12QPaintBuffer15setBoundingRectERK6QRectF @ 12567 NONAME - _ZN12QPaintBufferC1ERKS_ @ 12568 NONAME - _ZN12QPaintBufferC1Ev @ 12569 NONAME - _ZN12QPaintBufferC2ERKS_ @ 12570 NONAME - _ZN12QPaintBufferC2Ev @ 12571 NONAME - _ZN12QPaintBufferD0Ev @ 12572 NONAME - _ZN12QPaintBufferD1Ev @ 12573 NONAME - _ZN12QPaintBufferD2Ev @ 12574 NONAME - _ZN12QPaintBufferaSERKS_ @ 12575 NONAME - _ZN12QProgressBar19getStaticMetaObjectEv @ 12576 NONAME - _ZN12QRadioButton19getStaticMetaObjectEv @ 12577 NONAME - _ZN12QStylePlugin19getStaticMetaObjectEv @ 12578 NONAME - _ZN12QTableWidget19getStaticMetaObjectEv @ 12579 NONAME - _ZN12QTextBrowser19getStaticMetaObjectEv @ 12580 NONAME - _ZN12QTextControl19getStaticMetaObjectEv @ 12581 NONAME - _ZN13QDateTimeEdit19getStaticMetaObjectEv @ 12582 NONAME - _ZN13QErrorMessage19getStaticMetaObjectEv @ 12583 NONAME - _ZN13QFontComboBox19getStaticMetaObjectEv @ 12584 NONAME - _ZN13QFontDatabase19getStaticMetaObjectEv @ 12585 NONAME - _ZN13QGraphicsItem11unsetCursorEv @ 12586 NONAME - _ZN13QGraphicsItem9setActiveEb @ 12587 NONAME - _ZN13QGraphicsItem9setCursorERK7QCursor @ 12588 NONAME - _ZN13QGraphicsView19getStaticMetaObjectEv @ 12589 NONAME - _ZN13QInputContext19getStaticMetaObjectEv @ 12590 NONAME - _ZN13QIntValidator19getStaticMetaObjectEv @ 12591 NONAME - _ZN13QItemDelegate19getStaticMetaObjectEv @ 12592 NONAME - _ZN13QMdiSubWindow19getStaticMetaObjectEv @ 12593 NONAME - _ZN13QPinchGesture19getStaticMetaObjectEv @ 12594 NONAME - _ZN13QPixmapFilter19getStaticMetaObjectEv @ 12595 NONAME - _ZN13QSplashScreen19getStaticMetaObjectEv @ 12596 NONAME - _ZN13QSwipeGesture11eventFilterEP7QObjectP6QEvent @ 12597 NONAME - _ZN13QSwipeGesture11filterEventEP6QEvent @ 12598 NONAME - _ZN13QSwipeGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 12599 NONAME - _ZN13QSwipeGesture11qt_metacastEPKc @ 12600 NONAME - _ZN13QSwipeGesture16staticMetaObjectE @ 12601 NONAME DATA 16 - _ZN13QSwipeGesture19getStaticMetaObjectEv @ 12602 NONAME - _ZN13QSwipeGesture5resetEv @ 12603 NONAME - _ZN13QSwipeGestureC1EP7QWidgetP7QObject @ 12604 NONAME - _ZN13QSwipeGestureC2EP7QWidgetP7QObject @ 12605 NONAME - _ZN13QTextDocument19getStaticMetaObjectEv @ 12606 NONAME - _ZN13QWidgetAction19getStaticMetaObjectEv @ 12607 NONAME - _ZN13QWindowsStyle19getStaticMetaObjectEv @ 12608 NONAME - _ZN14QDesktopWidget19getStaticMetaObjectEv @ 12609 NONAME - _ZN14QDoubleSpinBox19getStaticMetaObjectEv @ 12610 NONAME - _ZN14QGraphicsScale19getStaticMetaObjectEv @ 12611 NONAME - _ZN14QGraphicsScene14setActivePanelEP13QGraphicsItem @ 12612 NONAME - _ZN14QGraphicsScene19getStaticMetaObjectEv @ 12613 NONAME - _ZN14QImageIOPlugin19getStaticMetaObjectEv @ 12614 NONAME - _ZN14QPlainTextEdit19getStaticMetaObjectEv @ 12615 NONAME - _ZN14QStackedLayout19getStaticMetaObjectEv @ 12616 NONAME - _ZN14QStackedWidget19getStaticMetaObjectEv @ 12617 NONAME - _ZN14QWidgetPrivate13setCursor_sysERK7QCursor @ 12618 NONAME - _ZN14QWidgetPrivate15unsetCursor_sysEv @ 12619 NONAME - _ZN15QAbstractButton19getStaticMetaObjectEv @ 12620 NONAME - _ZN15QAbstractSlider19getStaticMetaObjectEv @ 12621 NONAME - _ZN15QCalendarWidget19getStaticMetaObjectEv @ 12622 NONAME - _ZN15QColumnViewGrip19getStaticMetaObjectEv @ 12623 NONAME - _ZN15QGraphicsAnchor10setSpacingEf @ 12624 NONAME - _ZN15QGraphicsAnchor11qt_metacallEN11QMetaObject4CallEiPPv @ 12625 NONAME - _ZN15QGraphicsAnchor11qt_metacastEPKc @ 12626 NONAME - _ZN15QGraphicsAnchor12unsetSpacingEv @ 12627 NONAME - _ZN15QGraphicsAnchor16staticMetaObjectE @ 12628 NONAME DATA 16 - _ZN15QGraphicsAnchor19getStaticMetaObjectEv @ 12629 NONAME - _ZN15QGraphicsAnchorC1EP21QGraphicsAnchorLayout @ 12630 NONAME - _ZN15QGraphicsAnchorC2EP21QGraphicsAnchorLayout @ 12631 NONAME - _ZN15QGraphicsAnchorD0Ev @ 12632 NONAME - _ZN15QGraphicsAnchorD1Ev @ 12633 NONAME - _ZN15QGraphicsAnchorD2Ev @ 12634 NONAME - _ZN15QGraphicsEffect19getStaticMetaObjectEv @ 12635 NONAME - _ZN15QGraphicsEffect6updateEv @ 12636 NONAME - _ZN15QGraphicsObject19getStaticMetaObjectEv @ 12637 NONAME - _ZN15QGraphicsWidget19getStaticMetaObjectEv @ 12638 NONAME - _ZN15QProgressDialog19getStaticMetaObjectEv @ 12639 NONAME - _ZN15QSessionManager19getStaticMetaObjectEv @ 12640 NONAME - _ZN15QSplitterHandle19getStaticMetaObjectEv @ 12641 NONAME - _ZN15QTextBlockGroup19getStaticMetaObjectEv @ 12642 NONAME - _ZN16QAbstractSpinBox19getStaticMetaObjectEv @ 12643 NONAME - _ZN16QDialogButtonBox19getStaticMetaObjectEv @ 12644 NONAME - _ZN16QDoubleValidator19getStaticMetaObjectEv @ 12645 NONAME - _ZN16QFileSystemModel19getStaticMetaObjectEv @ 12646 NONAME - _ZN16QPainterReplayer14setupTransformEP8QPainter @ 12647 NONAME - _ZN16QPainterReplayer4drawERK12QPaintBufferP8QPainteri @ 12648 NONAME - _ZN16QPainterReplayer7processERK19QPaintBufferCommand @ 12649 NONAME - _ZN16QRegExpValidator19getStaticMetaObjectEv @ 12650 NONAME - _ZN16QStringListModel19getStaticMetaObjectEv @ 12651 NONAME - _ZN16QStyleSheetStyle19getStaticMetaObjectEv @ 12652 NONAME - _ZN17QAbstractItemView19getStaticMetaObjectEv @ 12653 NONAME - _ZN17QDataWidgetMapper19getStaticMetaObjectEv @ 12654 NONAME - _ZN17QDockWidgetLayout19getStaticMetaObjectEv @ 12655 NONAME - _ZN17QFileInfoGatherer19getStaticMetaObjectEv @ 12656 NONAME - _ZN17QGraphicsRotation19getStaticMetaObjectEv @ 12657 NONAME - _ZN17QGraphicsTextItem19getStaticMetaObjectEv @ 12658 NONAME - _ZN17QIconEnginePlugin19getStaticMetaObjectEv @ 12659 NONAME - _ZN17QMainWindowLayout19getStaticMetaObjectEv @ 12660 NONAME - _ZN17QPixmapBlurFilter19getStaticMetaObjectEv @ 12661 NONAME - _ZN18QCommandLinkButton19getStaticMetaObjectEv @ 12662 NONAME - _ZN18QGraphicsTransform19getStaticMetaObjectEv @ 12663 NONAME - _ZN18QStandardItemModel19getStaticMetaObjectEv @ 12664 NONAME - _ZN18QSyntaxHighlighter19getStaticMetaObjectEv @ 12665 NONAME - _ZN19QAbstractProxyModel19getStaticMetaObjectEv @ 12666 NONAME - _ZN19QAbstractScrollArea19getStaticMetaObjectEv @ 12667 NONAME - _ZN19QApplicationPrivate14navigationModeE @ 12668 NONAME DATA 4 - _ZN19QApplicationPrivate17setNavigationModeEN2Qt14NavigationModeE @ 12669 NONAME - _ZN19QCoeFepInputContext19getStaticMetaObjectEv @ 12670 NONAME - _ZN19QEventDispatcherS6019getStaticMetaObjectEv @ 12671 NONAME - _ZN19QGraphicsBlurEffect19getStaticMetaObjectEv @ 12672 NONAME - _ZN19QGraphicsSceneIndex19getStaticMetaObjectEv @ 12673 NONAME - _ZN19QIconEnginePluginV219getStaticMetaObjectEv @ 12674 NONAME - _ZN19QInputContextPlugin19getStaticMetaObjectEv @ 12675 NONAME - _ZN19QItemSelectionModel19getStaticMetaObjectEv @ 12676 NONAME - _ZN19QKeyEventTransition19getStaticMetaObjectEv @ 12677 NONAME - _ZN19QStyledItemDelegate19getStaticMetaObjectEv @ 12678 NONAME - _ZN19QTextDocumentLayout19getStaticMetaObjectEv @ 12679 NONAME - _ZN20QGraphicsItemPrivate11setSubFocusEP13QGraphicsItem @ 12680 NONAME - _ZN20QGraphicsItemPrivate13clearSubFocusEP13QGraphicsItem @ 12681 NONAME - _ZN20QGraphicsItemPrivate14setFocusHelperEN2Qt11FocusReasonEb @ 12682 NONAME - _ZN20QGraphicsItemPrivate18subFocusItemChangeEv @ 12683 NONAME - _ZN20QGraphicsProxyWidget19getStaticMetaObjectEv @ 12684 NONAME - _ZN20QGraphicsViewPrivate20_q_setViewportCursorERK7QCursor @ 12685 NONAME - _ZN20QGraphicsViewPrivate22_q_unsetViewportCursorEv @ 12686 NONAME - _ZN20QPaintBufferResource11qt_metacallEN11QMetaObject4CallEiPPv @ 12687 NONAME - _ZN20QPaintBufferResource11qt_metacastEPKc @ 12688 NONAME - _ZN20QPaintBufferResource16staticMetaObjectE @ 12689 NONAME DATA 16 - _ZN20QPaintBufferResource19getStaticMetaObjectEv @ 12690 NONAME - _ZN20QPaintBufferResource5valueEPK19QPaintBufferPrivate @ 12691 NONAME - _ZN20QPaintBufferResource6insertEPK19QPaintBufferPrivatePv @ 12692 NONAME - _ZN20QPaintBufferResource6removeEPK19QPaintBufferPrivate @ 12693 NONAME - _ZN20QPaintBufferResourceC1EPFvPvEP7QObject @ 12694 NONAME - _ZN20QPaintBufferResourceC2EPFvPvEP7QObject @ 12695 NONAME - _ZN20QPaintBufferResourceD0Ev @ 12696 NONAME - _ZN20QPaintBufferResourceD1Ev @ 12697 NONAME - _ZN20QPaintBufferResourceD2Ev @ 12698 NONAME - _ZN20QPictureFormatPlugin19getStaticMetaObjectEv @ 12699 NONAME - _ZN20QWidgetResizeHandler19getStaticMetaObjectEv @ 12700 NONAME - _ZN21QAbstractItemDelegate19getStaticMetaObjectEv @ 12701 NONAME - _ZN21QGraphicsAnchorLayout10addAnchorsEP19QGraphicsLayoutItemS1_6QFlagsIN2Qt11OrientationEE @ 12702 NONAME - _ZN21QGraphicsAnchorLayout6anchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_ @ 12703 NONAME - _ZN21QGraphicsEffectSource19getStaticMetaObjectEv @ 12704 NONAME - _ZN21QGraphicsSystemPlugin19getStaticMetaObjectEv @ 12705 NONAME - _ZN21QMouseEventTransition19getStaticMetaObjectEv @ 12706 NONAME - _ZN21QPixmapColorizeFilter11setStrengthEf @ 12707 NONAME - _ZN21QPixmapColorizeFilter19getStaticMetaObjectEv @ 12708 NONAME - _ZN21QSortFilterProxyModel19getStaticMetaObjectEv @ 12709 NONAME - _ZN22QGraphicsItemAnimation19getStaticMetaObjectEv @ 12710 NONAME - _ZN22QGraphicsOpacityEffect10setOpacityEf @ 12711 NONAME - _ZN22QGraphicsOpacityEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 12712 NONAME - _ZN22QGraphicsOpacityEffect11qt_metacastEPKc @ 12713 NONAME - _ZN22QGraphicsOpacityEffect14opacityChangedEf @ 12714 NONAME - _ZN22QGraphicsOpacityEffect14setOpacityMaskERK6QBrush @ 12715 NONAME - _ZN22QGraphicsOpacityEffect16staticMetaObjectE @ 12716 NONAME DATA 16 - _ZN22QGraphicsOpacityEffect18opacityMaskChangedERK6QBrush @ 12717 NONAME - _ZN22QGraphicsOpacityEffect19getStaticMetaObjectEv @ 12718 NONAME - _ZN22QGraphicsOpacityEffect4drawEP8QPainterP21QGraphicsEffectSource @ 12719 NONAME - _ZN22QGraphicsOpacityEffectC1EP7QObject @ 12720 NONAME - _ZN22QGraphicsOpacityEffectC2EP7QObject @ 12721 NONAME - _ZN22QGraphicsOpacityEffectD0Ev @ 12722 NONAME - _ZN22QGraphicsOpacityEffectD1Ev @ 12723 NONAME - _ZN22QGraphicsOpacityEffectD2Ev @ 12724 NONAME - _ZN22QPaintEngineExReplayer7processERK19QPaintBufferCommand @ 12725 NONAME - _ZN23QGraphicsColorizeEffect11setStrengthEf @ 12726 NONAME - _ZN23QGraphicsColorizeEffect15strengthChangedEf @ 12727 NONAME - _ZN23QGraphicsColorizeEffect19getStaticMetaObjectEv @ 12728 NONAME - _ZN23QGraphicsPixelizeEffect19getStaticMetaObjectEv @ 12729 NONAME - _ZN23QPaintBufferSignalProxy11qt_metacallEN11QMetaObject4CallEiPPv @ 12730 NONAME - _ZN23QPaintBufferSignalProxy11qt_metacastEPKc @ 12731 NONAME - _ZN23QPaintBufferSignalProxy14aboutToDestroyEPK19QPaintBufferPrivate @ 12732 NONAME - _ZN23QPaintBufferSignalProxy16staticMetaObjectE @ 12733 NONAME DATA 16 - _ZN23QPaintBufferSignalProxy19getStaticMetaObjectEv @ 12734 NONAME - _ZN23QPaintBufferSignalProxy8instanceEv @ 12735 NONAME - _ZN23QPixmapDropShadowFilter19getStaticMetaObjectEv @ 12736 NONAME - _ZN24QBasicKeyEventTransition19getStaticMetaObjectEv @ 12737 NONAME - _ZN24QComboBoxPrivateScroller19getStaticMetaObjectEv @ 12738 NONAME - _ZN24QGraphicsGrayscaleEffect11setStrengthEf @ 12739 NONAME - _ZN24QGraphicsGrayscaleEffect15strengthChangedEf @ 12740 NONAME - _ZN24QGraphicsGrayscaleEffect19getStaticMetaObjectEv @ 12741 NONAME - _ZN24QPixmapConvolutionFilter19getStaticMetaObjectEv @ 12742 NONAME - _ZN24QPlainTextDocumentLayout19getStaticMetaObjectEv @ 12743 NONAME - _ZN25QComboBoxPrivateContainer19getStaticMetaObjectEv @ 12744 NONAME - _ZN25QGraphicsDropShadowEffect19getStaticMetaObjectEv @ 12745 NONAME - _ZN25QGraphicsSceneLinearIndex19getStaticMetaObjectEv @ 12746 NONAME - _ZN26QBasicMouseEventTransition19getStaticMetaObjectEv @ 12747 NONAME - _ZN26QGraphicsSceneBspTreeIndex19getStaticMetaObjectEv @ 12748 NONAME - _ZN27QAbstractTextDocumentLayout19getStaticMetaObjectEv @ 12749 NONAME - _ZN5QDial19getStaticMetaObjectEv @ 12750 NONAME - _ZN5QDrag19getStaticMetaObjectEv @ 12751 NONAME - _ZN5QFont19getStaticMetaObjectEv @ 12752 NONAME - _ZN5QMenu19getStaticMetaObjectEv @ 12753 NONAME - _ZN6QColor6setHslEiiii @ 12754 NONAME - _ZN6QColor7fromHslEiiii @ 12755 NONAME - _ZN6QColor7setHslFEffff @ 12756 NONAME - _ZN6QColor8fromHslFEffff @ 12757 NONAME - _ZN6QFrame19getStaticMetaObjectEv @ 12758 NONAME - _ZN6QLabel19getStaticMetaObjectEv @ 12759 NONAME - _ZN6QMovie19getStaticMetaObjectEv @ 12760 NONAME - _ZN6QSound19getStaticMetaObjectEv @ 12761 NONAME - _ZN6QStyle19getStaticMetaObjectEv @ 12762 NONAME - _ZN7QAction19getStaticMetaObjectEv @ 12763 NONAME - _ZN7QCursor8setShapeEN2Qt11CursorShapeE @ 12764 NONAME - _ZN7QCursorC1EN2Qt11CursorShapeE @ 12765 NONAME - _ZN7QCursorC1ERK7QBitmapS2_ii @ 12766 NONAME - _ZN7QCursorC1ERK7QPixmapii @ 12767 NONAME - _ZN7QCursorC1ERKS_ @ 12768 NONAME - _ZN7QCursorC1Ev @ 12769 NONAME - _ZN7QCursorC2EN2Qt11CursorShapeE @ 12770 NONAME - _ZN7QCursorC2ERK7QBitmapS2_ii @ 12771 NONAME - _ZN7QCursorC2ERK7QPixmapii @ 12772 NONAME - _ZN7QCursorC2ERKS_ @ 12773 NONAME - _ZN7QCursorC2Ev @ 12774 NONAME - _ZN7QCursorD1Ev @ 12775 NONAME - _ZN7QCursorD2Ev @ 12776 NONAME - _ZN7QCursoraSERKS_ @ 12777 NONAME - _ZN7QDialog19getStaticMetaObjectEv @ 12778 NONAME - _ZN7QLayout19getStaticMetaObjectEv @ 12779 NONAME - _ZN7QSlider19getStaticMetaObjectEv @ 12780 NONAME - _ZN7QTabBar19getStaticMetaObjectEv @ 12781 NONAME - _ZN7QWidget11unsetCursorEv @ 12782 NONAME - _ZN7QWidget18setContentsMarginsERK8QMargins @ 12783 NONAME - _ZN7QWidget19getStaticMetaObjectEv @ 12784 NONAME - _ZN7QWidget9grabMouseERK7QCursor @ 12785 NONAME - _ZN7QWidget9setCursorERK7QCursor @ 12786 NONAME - _ZN7QWizard19getStaticMetaObjectEv @ 12787 NONAME - _ZN8QGesture19getStaticMetaObjectEv @ 12788 NONAME - _ZN8QMdiArea19getStaticMetaObjectEv @ 12789 NONAME - _ZN8QMenuBar19getStaticMetaObjectEv @ 12790 NONAME - _ZN8QPainter17endNativePaintingEv @ 12791 NONAME - _ZN8QPainter19beginNativePaintingEv @ 12792 NONAME - _ZN8QPainter19getStaticMetaObjectEv @ 12793 NONAME - _ZN8QPalette19getStaticMetaObjectEv @ 12794 NONAME - _ZN8QSidebar19getStaticMetaObjectEv @ 12795 NONAME - _ZN8QSpinBox19getStaticMetaObjectEv @ 12796 NONAME - _ZN8QToolBar19getStaticMetaObjectEv @ 12797 NONAME - _ZN8QToolBox19getStaticMetaObjectEv @ 12798 NONAME - _ZN9QCheckBox19getStaticMetaObjectEv @ 12799 NONAME - _ZN9QComboBox19getStaticMetaObjectEv @ 12800 NONAME - _ZN9QDateEdit19getStaticMetaObjectEv @ 12801 NONAME - _ZN9QDirModel19getStaticMetaObjectEv @ 12802 NONAME - _ZN9QGradient19getStaticMetaObjectEv @ 12803 NONAME - _ZN9QGroupBox19getStaticMetaObjectEv @ 12804 NONAME - _ZN9QLineEdit19getStaticMetaObjectEv @ 12805 NONAME - _ZN9QListView19getStaticMetaObjectEv @ 12806 NONAME - _ZN9QS60Style19getStaticMetaObjectEv @ 12807 NONAME - _ZN9QS60Style5eventEP6QEvent @ 12808 NONAME - _ZN9QShortcut19getStaticMetaObjectEv @ 12809 NONAME - _ZN9QSizeGrip19getStaticMetaObjectEv @ 12810 NONAME - _ZN9QSplitter19getStaticMetaObjectEv @ 12811 NONAME - _ZN9QTextEdit19getStaticMetaObjectEv @ 12812 NONAME - _ZN9QTextList19getStaticMetaObjectEv @ 12813 NONAME - _ZN9QTimeEdit19getStaticMetaObjectEv @ 12814 NONAME - _ZN9QTreeView19getStaticMetaObjectEv @ 12815 NONAME - _ZN9QUndoView19getStaticMetaObjectEv @ 12816 NONAME - _ZN9QUrlModel19getStaticMetaObjectEv @ 12817 NONAME - _ZNK11QPanGesture6offsetEv @ 12818 NONAME - _ZNK12QImageReader23decideFormatFromContentEv @ 12819 NONAME - _ZNK12QPaintBuffer11paintEngineEv @ 12820 NONAME - _ZNK12QPaintBuffer12boundingRectEv @ 12821 NONAME - _ZNK12QPaintBuffer4drawEP8QPainteri @ 12822 NONAME - _ZNK12QPaintBuffer6metricEN12QPaintDevice17PaintDeviceMetricE @ 12823 NONAME - _ZNK12QPaintBuffer7devTypeEv @ 12824 NONAME - _ZNK12QPaintBuffer7isEmptyEv @ 12825 NONAME - _ZNK12QPaintBuffer9numFramesEv @ 12826 NONAME - _ZNK13QGraphicsItem14focusScopeItemEv @ 12827 NONAME - _ZNK13QGraphicsItem5panelEv @ 12828 NONAME - _ZNK13QGraphicsItem6cursorEv @ 12829 NONAME - _ZNK13QGraphicsItem7isPanelEv @ 12830 NONAME - _ZNK13QGraphicsItem8isActiveEv @ 12831 NONAME - _ZNK13QGraphicsItem9hasCursorEv @ 12832 NONAME - _ZNK13QPinchGesture11whatChangedEv @ 12833 NONAME - _ZNK13QPinchGesture16totalScaleFactorEv @ 12834 NONAME - _ZNK13QPinchGesture18totalRotationAngleEv @ 12835 NONAME - _ZNK13QSwipeGesture10metaObjectEv @ 12836 NONAME - _ZNK13QSwipeGesture10swipeAngleEv @ 12837 NONAME - _ZNK13QSwipeGesture17verticalDirectionEv @ 12838 NONAME - _ZNK13QSwipeGesture19horizontalDirectionEv @ 12839 NONAME - _ZNK14QGraphicsScene11activePanelEv @ 12840 NONAME - _ZNK14QGraphicsScene8isActiveEv @ 12841 NONAME - _ZNK15QGraphicsAnchor10metaObjectEv @ 12842 NONAME - _ZNK15QGraphicsAnchor7spacingEv @ 12843 NONAME - _ZNK20QPaintBufferResource10metaObjectEv @ 12844 NONAME - _ZNK21QPixmapColorizeFilter8strengthEv @ 12845 NONAME - _ZNK22QGraphicsOpacityEffect10metaObjectEv @ 12846 NONAME - _ZNK22QGraphicsOpacityEffect11opacityMaskEv @ 12847 NONAME - _ZNK22QGraphicsOpacityEffect7opacityEv @ 12848 NONAME - _ZNK23QGraphicsColorizeEffect8strengthEv @ 12849 NONAME - _ZNK23QPaintBufferSignalProxy10metaObjectEv @ 12850 NONAME - _ZNK24QGraphicsGrayscaleEffect8strengthEv @ 12851 NONAME - _ZNK6QColor10lightnessFEv @ 12852 NONAME - _ZNK6QColor13hslSaturationEv @ 12853 NONAME - _ZNK6QColor13hsvSaturationEv @ 12854 NONAME - _ZNK6QColor14hslSaturationFEv @ 12855 NONAME - _ZNK6QColor14hsvSaturationFEv @ 12856 NONAME - _ZNK6QColor5toHslEv @ 12857 NONAME - _ZNK6QColor6getHslEPiS0_S0_S0_ @ 12858 NONAME - _ZNK6QColor6hslHueEv @ 12859 NONAME - _ZNK6QColor6hsvHueEv @ 12860 NONAME - _ZNK6QColor7getHslFEPfS0_S0_S0_ @ 12861 NONAME - _ZNK6QColor7hslHueFEv @ 12862 NONAME - _ZNK6QColor7hsvHueFEv @ 12863 NONAME - _ZNK6QColor9lightnessEv @ 12864 NONAME - _ZNK7QCursor4maskEv @ 12865 NONAME - _ZNK7QCursor5shapeEv @ 12866 NONAME - _ZNK7QCursor6bitmapEv @ 12867 NONAME - _ZNK7QCursor6handleEv @ 12868 NONAME - _ZNK7QCursor6pixmapEv @ 12869 NONAME - _ZNK7QCursor7hotSpotEv @ 12870 NONAME - _ZNK7QCursorcv8QVariantEv @ 12871 NONAME - _ZNK7QWidget15contentsMarginsEv @ 12872 NONAME - _ZNK7QWidget6cursorEv @ 12873 NONAME - _ZTI10AnchorData @ 12874 NONAME ABSENT ; ## - _ZTI11PixmapEntry @ 12875 NONAME ABSENT ; ## - _ZTI12QPaintBuffer @ 12876 NONAME ; ## - _ZTI13QS60MainAppUi @ 12877 NONAME ; ## - _ZTI13QSwipeGesture @ 12878 NONAME ; ## - _ZTI13ScalableEntry @ 12879 NONAME ABSENT ; ## - _ZTI15QGesturePrivate @ 12880 NONAME ABSENT ; ## - _ZTI15QGraphicsAnchor @ 12881 NONAME ; ## - _ZTI16QPainterReplayer @ 12882 NONAME ; ## - _ZTI16QS60MainDocument @ 12883 NONAME ; ## - _ZTI16QTreeViewPrivate @ 12884 NONAME ABSENT ; ## - _ZTI17QIconLoaderEngine @ 12885 NONAME ABSENT ; ## - _ZTI17QIconModeViewBase @ 12886 NONAME ABSENT ; ## - _ZTI17QListModeViewBase @ 12887 NONAME ABSENT ; ## - _ZTI18ParallelAnchorData @ 12888 NONAME ABSENT ; ## - _ZTI18QHeaderViewPrivate @ 12889 NONAME ABSENT ; ## - _ZTI18QPaintBufferEngine @ 12890 NONAME ABSENT ; ## - _ZTI18QPanGesturePrivate @ 12891 NONAME ABSENT ; ## - _ZTI19QCommonListViewBase @ 12892 NONAME ABSENT ; ## - _ZTI19QS60MainApplication @ 12893 NONAME ; ## - _ZTI20QPaintBufferResource @ 12894 NONAME ; ## - _ZTI20QPinchGesturePrivate @ 12895 NONAME ABSENT ; ## - _ZTI20QSwipeGesturePrivate @ 12896 NONAME ABSENT ; ## - _ZTI20SequentialAnchorData @ 12897 NONAME ABSENT ; ## - _ZTI22QGraphicsAnchorPrivate @ 12898 NONAME ABSENT ; ## - _ZTI22QGraphicsOpacityEffect @ 12899 NONAME ; ## - _ZTI22QPaintEngineExReplayer @ 12900 NONAME ; ## - _ZTI23QPaintBufferSignalProxy @ 12901 NONAME ; ## - _ZTI26QGraphicsSceneIndexPrivate @ 12902 NONAME ABSENT ; ## - _ZTI26QWidgetEffectSourcePrivate @ 12903 NONAME ABSENT ; ## - _ZTI32QGraphicsItemEffectSourcePrivate @ 12904 NONAME ABSENT ; ## - _ZTI8QSimplex @ 12905 NONAME ABSENT ; ## - _ZTV10AnchorData @ 12906 NONAME ABSENT ; ## - _ZTV11PixmapEntry @ 12907 NONAME ABSENT ; ## - _ZTV12QPaintBuffer @ 12908 NONAME ; ## - _ZTV13QS60MainAppUi @ 12909 NONAME ; ## - _ZTV13QSwipeGesture @ 12910 NONAME ; ## - _ZTV13ScalableEntry @ 12911 NONAME ABSENT ; ## - _ZTV15QGesturePrivate @ 12912 NONAME ABSENT ; ## - _ZTV15QGraphicsAnchor @ 12913 NONAME ; ## - _ZTV16QPainterReplayer @ 12914 NONAME ; ## - _ZTV16QS60MainDocument @ 12915 NONAME ; ## - _ZTV16QTreeViewPrivate @ 12916 NONAME ABSENT ; ## - _ZTV17QIconLoaderEngine @ 12917 NONAME ABSENT ; ## - _ZTV17QIconModeViewBase @ 12918 NONAME ABSENT ; ## - _ZTV17QListModeViewBase @ 12919 NONAME ABSENT ; ## - _ZTV18ParallelAnchorData @ 12920 NONAME ABSENT ; ## - _ZTV18QHeaderViewPrivate @ 12921 NONAME ABSENT ; ## - _ZTV18QPaintBufferEngine @ 12922 NONAME ABSENT ; ## - _ZTV18QPanGesturePrivate @ 12923 NONAME ABSENT ; ## - _ZTV19QCommonListViewBase @ 12924 NONAME ABSENT ; ## - _ZTV19QS60MainApplication @ 12925 NONAME ; ## - _ZTV20QPaintBufferResource @ 12926 NONAME ; ## - _ZTV20QPinchGesturePrivate @ 12927 NONAME ABSENT ; ## - _ZTV20QSwipeGesturePrivate @ 12928 NONAME ABSENT ; ## - _ZTV20SequentialAnchorData @ 12929 NONAME ABSENT ; ## - _ZTV22QGraphicsAnchorPrivate @ 12930 NONAME ABSENT ; ## - _ZTV22QGraphicsOpacityEffect @ 12931 NONAME ; ## - _ZTV22QPaintEngineExReplayer @ 12932 NONAME ; ## - _ZTV23QPaintBufferSignalProxy @ 12933 NONAME ; ## - _ZTV26QGraphicsSceneIndexPrivate @ 12934 NONAME ABSENT ; ## - _ZTV26QWidgetEffectSourcePrivate @ 12935 NONAME ABSENT ; ## - _ZTV32QGraphicsItemEffectSourcePrivate @ 12936 NONAME ABSENT ; ## - _ZTV8QSimplex @ 12937 NONAME ABSENT ; ## - _ZlsR11QDataStreamRK12QPaintBuffer @ 12938 NONAME - _ZlsR11QDataStreamRK7QCursor @ 12939 NONAME - _ZrsR11QDataStreamR12QPaintBuffer @ 12940 NONAME - _ZrsR11QDataStreamR7QCursor @ 12941 NONAME - _ZN11QPixmapData12toNativeTypeENS_10NativeTypeE @ 12942 NONAME - _ZN11QPixmapData14fromNativeTypeEPvNS_10NativeTypeE @ 12943 NONAME - _ZN12QApplicationC1EPFP15CApaApplicationvERiPPc @ 12944 NONAME - _ZN12QApplicationC1EPFP15CApaApplicationvERiPPci @ 12945 NONAME - _ZN12QApplicationC2EPFP15CApaApplicationvERiPPc @ 12946 NONAME - _ZN12QApplicationC2EPFP15CApaApplicationvERiPPci @ 12947 NONAME - _ZN13QS60MainAppUi10ConstructLEv @ 12948 NONAME - _ZN13QS60MainAppUi12RestoreMenuLEP11CCoeControliN16MEikMenuObserver9TMenuTypeE @ 12949 NONAME - _ZN13QS60MainAppUi14HandleCommandLEi @ 12950 NONAME - _ZN13QS60MainAppUi14HandleWsEventLERK8TWsEventP11CCoeControl @ 12951 NONAME - _ZN13QS60MainAppUi15DynInitMenuBarLEiP11CEikMenuBar @ 12952 NONAME - _ZN13QS60MainAppUi16DynInitMenuPaneLEiP12CEikMenuPane @ 12953 NONAME - _ZN13QS60MainAppUi21HandleResourceChangeLEi @ 12954 NONAME - _ZN13QS60MainAppUi26HandleStatusPaneSizeChangeEv @ 12955 NONAME - _ZN13QS60MainAppUiC1Ev @ 12956 NONAME - _ZN13QS60MainAppUiC2Ev @ 12957 NONAME - _ZN13QS60MainAppUiD0Ev @ 12958 NONAME - _ZN13QS60MainAppUiD1Ev @ 12959 NONAME - _ZN13QS60MainAppUiD2Ev @ 12960 NONAME - _ZN14QPaintEngineEx15drawRoundedRectERK6QRectFffN2Qt8SizeModeE @ 12961 NONAME - _ZN14QWidgetPrivate19navigateToDirectionENS_9DirectionE @ 12962 NONAME - _ZN14QWidgetPrivate19registerTouchWindowEv @ 12963 NONAME - _ZN14QWidgetPrivate27widgetInNavigationDirectionENS_9DirectionE @ 12964 NONAME - _ZN15QGraphicsLayout18addChildLayoutItemEP19QGraphicsLayoutItem @ 12965 NONAME - _ZN15QSoftKeyManager11qt_metacallEN11QMetaObject4CallEiPPv @ 12966 NONAME - _ZN15QSoftKeyManager11qt_metacastEPKc @ 12967 NONAME - _ZN15QSoftKeyManager12createActionENS_15StandardSoftKeyEP7QWidget @ 12968 NONAME - _ZN15QSoftKeyManager12sendKeyEventEv @ 12969 NONAME - _ZN15QSoftKeyManager13handleCommandEi @ 12970 NONAME - _ZN15QSoftKeyManager14updateSoftKeysEv @ 12971 NONAME - _ZN15QSoftKeyManager16staticMetaObjectE @ 12972 NONAME DATA 16 - _ZN15QSoftKeyManager17createKeyedActionENS_15StandardSoftKeyEN2Qt3KeyEP7QWidget @ 12973 NONAME - _ZN15QSoftKeyManager19getStaticMetaObjectEv @ 12974 NONAME - _ZN15QSoftKeyManager19standardSoftKeyTextENS_15StandardSoftKeyE @ 12975 NONAME - _ZN15QSoftKeyManager5eventEP6QEvent @ 12976 NONAME - _ZN15QSoftKeyManager8instanceEv @ 12977 NONAME - _ZN15QSoftKeyManagerC1Ev @ 12978 NONAME - _ZN15QSoftKeyManagerC2Ev @ 12979 NONAME - _ZN16QS60MainDocument12CreateAppUiLEv @ 12980 NONAME - _ZN16QS60MainDocumentC1ER15CEikApplication @ 12981 NONAME - _ZN16QS60MainDocumentC2ER15CEikApplication @ 12982 NONAME - _ZN16QS60MainDocumentD0Ev @ 12983 NONAME - _ZN16QS60MainDocumentD1Ev @ 12984 NONAME - _ZN16QS60MainDocumentD2Ev @ 12985 NONAME - _ZN17QPixmapBlurFilter11setBlurHintENS_8BlurHintE @ 12986 NONAME ABSENT - _ZN19QGraphicsBlurEffect11setBlurHintENS_8BlurHintE @ 12987 NONAME ABSENT - _ZN19QGraphicsBlurEffect15blurHintChangedENS_8BlurHintE @ 12988 NONAME ABSENT - _ZN19QS60MainApplication15CreateDocumentLEv @ 12989 NONAME - _ZN19QS60MainApplicationC1Ev @ 12990 NONAME - _ZN19QS60MainApplicationC2Ev @ 12991 NONAME - _ZN19QS60MainApplicationD0Ev @ 12992 NONAME - _ZN19QS60MainApplicationD1Ev @ 12993 NONAME - _ZN19QS60MainApplicationD2Ev @ 12994 NONAME - _ZN7QDialog19s60AdjustedPositionEv @ 12995 NONAME - _ZN7QDialog5eventEP6QEvent @ 12996 NONAME - _ZN7QPixmap19fromSymbianRSgImageEP8RSgImage @ 12997 NONAME - _ZNK15QSoftKeyManager10metaObjectEv @ 12998 NONAME - _ZNK17QPixmapBlurFilter8blurHintEv @ 12999 NONAME - _ZNK19QGraphicsBlurEffect8blurHintEv @ 13000 NONAME - _ZNK19QS60MainApplication16ResourceFileNameEv @ 13001 NONAME - _ZNK19QS60MainApplication9AppDllUidEv @ 13002 NONAME - _ZNK21QGraphicsAnchorLayout12hasConflictsEv @ 13003 NONAME ABSENT - _ZNK7QPixmap17toSymbianRSgImageEv @ 13004 NONAME - _ZTI15QSoftKeyManager @ 13005 NONAME - _ZTV15QSoftKeyManager @ 13006 NONAME - _ZThn24_N13QS60MainAppUi12RestoreMenuLEP11CCoeControliN16MEikMenuObserver9TMenuTypeE @ 13007 NONAME - _ZThn24_N13QS60MainAppUi15DynInitMenuBarLEiP11CEikMenuBar @ 13008 NONAME - _ZThn24_N13QS60MainAppUi16DynInitMenuPaneLEiP12CEikMenuPane @ 13009 NONAME - _ZThn88_N13QS60MainAppUi26HandleStatusPaneSizeChangeEv @ 13010 NONAME - _Z12qDrawPixmapsP8QPainterPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS1_11DrawingHintEE @ 13011 NONAME - _Z17qDrawBorderPixmapP8QPainterRK5QRectRK8QMarginsRK7QPixmapS3_S6_RK10QTileRules6QFlagsIN17QDrawBorderPixmap11DrawingHintEE @ 13012 NONAME - _ZN10QImageData6createEPhiiiN6QImage6FormatEb @ 13013 NONAME - _ZN10QImageData6createERK5QSizeN6QImage6FormatEi @ 13014 NONAME - _ZN10QImageDataC1Ev @ 13015 NONAME - _ZN10QImageDataC2Ev @ 13016 NONAME - _ZN10QImageDataD1Ev @ 13017 NONAME - _ZN10QImageDataD2Ev @ 13018 NONAME - _ZN13QGraphicsItem11stackBeforeEPKS_ @ 13019 NONAME - _ZN13QGraphicsItem16setPanelModalityENS_13PanelModalityE @ 13020 NONAME - _ZN14QPaintEngineEx11drawPixmapsEPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS0_11DrawingHintEE @ 13021 NONAME - _ZN14QWidgetPrivate21activateSymbianWindowEv @ 13022 NONAME - _ZN17QAbstractItemView20setDefaultDropActionEN2Qt10DropActionE @ 13023 NONAME - _ZN17QPixmapBlurFilter11setBlurHintEN2Qt10RenderHintE @ 13024 NONAME - _ZN19QApplicationPrivate16load_testabilityE @ 13025 NONAME DATA 1 - _ZN19QGraphicsBlurEffect11setBlurHintEN2Qt10RenderHintE @ 13026 NONAME - _ZN19QGraphicsBlurEffect15blurHintChangedEN2Qt10RenderHintE @ 13027 NONAME - _ZN20QGraphicsBloomEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 13028 NONAME - _ZN20QGraphicsBloomEffect11qt_metacastEPKc @ 13029 NONAME - _ZN20QGraphicsBloomEffect11setBlurHintEN2Qt10RenderHintE @ 13030 NONAME - _ZN20QGraphicsBloomEffect11setStrengthEf @ 13031 NONAME - _ZN20QGraphicsBloomEffect13setBlurRadiusEi @ 13032 NONAME - _ZN20QGraphicsBloomEffect13setBrightnessEi @ 13033 NONAME - _ZN20QGraphicsBloomEffect15blurHintChangedEN2Qt10RenderHintE @ 13034 NONAME - _ZN20QGraphicsBloomEffect15strengthChangedEf @ 13035 NONAME - _ZN20QGraphicsBloomEffect16staticMetaObjectE @ 13036 NONAME DATA 16 - _ZN20QGraphicsBloomEffect17blurRadiusChangedEi @ 13037 NONAME - _ZN20QGraphicsBloomEffect17brightnessChangedEi @ 13038 NONAME - _ZN20QGraphicsBloomEffect19getStaticMetaObjectEv @ 13039 NONAME - _ZN20QGraphicsBloomEffect4drawEP8QPainterP21QGraphicsEffectSource @ 13040 NONAME - _ZN20QGraphicsBloomEffectC1EP7QObject @ 13041 NONAME - _ZN20QGraphicsBloomEffectC2EP7QObject @ 13042 NONAME - _ZN20QGraphicsBloomEffectD0Ev @ 13043 NONAME - _ZN20QGraphicsBloomEffectD1Ev @ 13044 NONAME - _ZN20QGraphicsBloomEffectD2Ev @ 13045 NONAME - _ZN20QGraphicsItemPrivate28ensureSequentialSiblingIndexEv @ 13046 NONAME - _ZN28QGraphicsAnchorLayoutPrivate11solveMinMaxE5QListIP18QSimplexConstraintE9GraphPathPfS5_ @ 13047 NONAME - _ZN28QGraphicsAnchorLayoutPrivate12oppositeEdgeEN2Qt11AnchorPointE @ 13048 NONAME - _ZN28QGraphicsAnchorLayoutPrivate12removeAnchorEP12AnchorVertexS1_ @ 13049 NONAME - _ZN28QGraphicsAnchorLayoutPrivate12removeVertexEP19QGraphicsLayoutItemN2Qt11AnchorPointE @ 13050 NONAME - _ZN28QGraphicsAnchorLayoutPrivate13getGraphPartsENS_11OrientationE @ 13051 NONAME - _ZN28QGraphicsAnchorLayoutPrivate13removeAnchorsEP19QGraphicsLayoutItem @ 13052 NONAME - _ZN28QGraphicsAnchorLayoutPrivate13setAnchorSizeEP10AnchorDataPKf @ 13053 NONAME - _ZN28QGraphicsAnchorLayoutPrivate13simplifyGraphENS_11OrientationE @ 13054 NONAME - _ZN28QGraphicsAnchorLayoutPrivate14solvePreferredE5QListIP18QSimplexConstraintE @ 13055 NONAME - _ZN28QGraphicsAnchorLayoutPrivate15calculateGraphsENS_11OrientationE @ 13056 NONAME - _ZN28QGraphicsAnchorLayoutPrivate15calculateGraphsEv @ 13057 NONAME - _ZN28QGraphicsAnchorLayoutPrivate15createItemEdgesEP19QGraphicsLayoutItem @ 13058 NONAME - _ZN28QGraphicsAnchorLayoutPrivate15edgeOrientationEN2Qt11AnchorPointE @ 13059 NONAME - _ZN28QGraphicsAnchorLayoutPrivate15interpolateEdgeEP12AnchorVertexP10AnchorDataNS_11OrientationE @ 13060 NONAME - _ZN28QGraphicsAnchorLayoutPrivate16addAnchor_helperEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_P10AnchorData @ 13061 NONAME - _ZN28QGraphicsAnchorLayoutPrivate17addInternalVertexEP19QGraphicsLayoutItemN2Qt11AnchorPointE @ 13062 NONAME - _ZN28QGraphicsAnchorLayoutPrivate17createLayoutEdgesEv @ 13063 NONAME - _ZN28QGraphicsAnchorLayoutPrivate17deleteLayoutEdgesEv @ 13064 NONAME - _ZN28QGraphicsAnchorLayoutPrivate18setItemsGeometriesERK6QRectF @ 13065 NONAME - _ZN28QGraphicsAnchorLayoutPrivate19createCenterAnchorsEP19QGraphicsLayoutItemN2Qt11AnchorPointE @ 13066 NONAME - _ZN28QGraphicsAnchorLayoutPrivate19removeAnchor_helperEP12AnchorVertexS1_ @ 13067 NONAME - _ZN28QGraphicsAnchorLayoutPrivate19removeCenterAnchorsEP19QGraphicsLayoutItemN2Qt11AnchorPointEb @ 13068 NONAME - _ZN28QGraphicsAnchorLayoutPrivate20constraintsFromPathsENS_11OrientationE @ 13069 NONAME - _ZN28QGraphicsAnchorLayoutPrivate20correctEdgeDirectionERP19QGraphicsLayoutItemRN2Qt11AnchorPointES2_S5_ @ 13070 NONAME - _ZN28QGraphicsAnchorLayoutPrivate20removeInternalVertexEP19QGraphicsLayoutItemN2Qt11AnchorPointE @ 13071 NONAME - _ZN28QGraphicsAnchorLayoutPrivate22restoreSimplifiedGraphENS_11OrientationE @ 13072 NONAME - _ZN28QGraphicsAnchorLayoutPrivate22simplifyGraphIterationENS_11OrientationE @ 13073 NONAME - _ZN28QGraphicsAnchorLayoutPrivate23removeCenterConstraintsEP19QGraphicsLayoutItemNS_11OrientationE @ 13074 NONAME - _ZN28QGraphicsAnchorLayoutPrivate23setupEdgesInterpolationENS_11OrientationE @ 13075 NONAME - _ZN28QGraphicsAnchorLayoutPrivate24calculateVertexPositionsENS_11OrientationE @ 13076 NONAME - _ZN28QGraphicsAnchorLayoutPrivate24constraintsFromSizeHintsERK5QListIP10AnchorDataE @ 13077 NONAME - _ZN28QGraphicsAnchorLayoutPrivate24interpolateParallelEdgesEP12AnchorVertexP18ParallelAnchorDataNS_11OrientationE @ 13078 NONAME - _ZN28QGraphicsAnchorLayoutPrivate26interpolateSequentialEdgesEP12AnchorVertexP20SequentialAnchorDataNS_11OrientationE @ 13079 NONAME - _ZN28QGraphicsAnchorLayoutPrivate27setAnchorSizeHintsFromItemsENS_11OrientationE @ 13080 NONAME - _ZN28QGraphicsAnchorLayoutPrivate9addAnchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_Pf @ 13081 NONAME - _ZN28QGraphicsAnchorLayoutPrivate9findPathsENS_11OrientationE @ 13082 NONAME - _ZN28QGraphicsAnchorLayoutPrivate9getAnchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_ @ 13083 NONAME - _ZN28QGraphicsAnchorLayoutPrivateC1Ev @ 13084 NONAME - _ZN28QGraphicsAnchorLayoutPrivateC2Ev @ 13085 NONAME - _ZNK10QImageData19checkForAlphaPixelsEv @ 13086 NONAME - _ZNK10QImageData9doImageIOEPK6QImageP12QImageWriteri @ 13087 NONAME - _ZNK13QGraphicsItem13panelModalityEv @ 13088 NONAME - _ZNK13QGraphicsItem21isBlockedByModalPanelEPPS_ @ 13089 NONAME - _ZNK17QAbstractItemView17defaultDropActionEv @ 13090 NONAME - _ZNK20QGraphicsBloomEffect10blurRadiusEv @ 13091 NONAME - _ZNK20QGraphicsBloomEffect10brightnessEv @ 13092 NONAME - _ZNK20QGraphicsBloomEffect10metaObjectEv @ 13093 NONAME - _ZNK20QGraphicsBloomEffect15boundingRectForERK6QRectF @ 13094 NONAME - _ZNK20QGraphicsBloomEffect8blurHintEv @ 13095 NONAME - _ZNK20QGraphicsBloomEffect8strengthEv @ 13096 NONAME - _ZNK28QGraphicsAnchorLayoutPrivate10anchorSizeEPK10AnchorDataPfS3_S3_ @ 13097 NONAME - _ZNK28QGraphicsAnchorLayoutPrivate12hasConflictsEv @ 13098 NONAME - _ZNK28QGraphicsAnchorLayoutPrivate16effectiveSpacingENS_11OrientationE @ 13099 NONAME - _ZTI20QGraphicsBloomEffect @ 13100 NONAME - _ZTI28QGraphicsAnchorLayoutPrivate @ 13101 NONAME - _ZTV20QGraphicsBloomEffect @ 13102 NONAME - _ZTV28QGraphicsAnchorLayoutPrivate @ 13103 NONAME - _ZN17QToolBarExtension10paintEventEP11QPaintEvent @ 13104 NONAME - _ZN17QToolBarExtension11qt_metacallEN11QMetaObject4CallEiPPv @ 13105 NONAME - _ZN17QToolBarExtension11qt_metacastEPKc @ 13106 NONAME - _ZN17QToolBarExtension14setOrientationEN2Qt11OrientationE @ 13107 NONAME - _ZN17QToolBarExtension16staticMetaObjectE @ 13108 NONAME DATA 16 - _ZN17QToolBarExtension19getStaticMetaObjectEv @ 13109 NONAME - _ZN17QToolBarExtensionC1EP7QWidget @ 13110 NONAME - _ZN17QToolBarExtensionC2EP7QWidget @ 13111 NONAME - _ZN18QGuiPlatformPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 13112 NONAME - _ZN18QGuiPlatformPlugin11qt_metacastEPKc @ 13113 NONAME - _ZN18QGuiPlatformPlugin12platformHintENS_12PlatformHintE @ 13114 NONAME - _ZN18QGuiPlatformPlugin14fileSystemIconERK9QFileInfo @ 13115 NONAME - _ZN18QGuiPlatformPlugin16staticMetaObjectE @ 13116 NONAME DATA 16 - _ZN18QGuiPlatformPlugin19getStaticMetaObjectEv @ 13117 NONAME - _ZN18QGuiPlatformPlugin19systemIconThemeNameEv @ 13118 NONAME - _ZN18QGuiPlatformPlugin20iconThemeSearchPathsEv @ 13119 NONAME - _ZN18QGuiPlatformPlugin7paletteEv @ 13120 NONAME - _ZN18QGuiPlatformPlugin9styleNameEv @ 13121 NONAME - _ZN18QGuiPlatformPluginC1EP7QObject @ 13122 NONAME - _ZN18QGuiPlatformPluginC2EP7QObject @ 13123 NONAME - _ZN18QGuiPlatformPluginD0Ev @ 13124 NONAME - _ZN18QGuiPlatformPluginD1Ev @ 13125 NONAME - _ZN18QGuiPlatformPluginD2Ev @ 13126 NONAME - _ZN28QGraphicsAnchorLayoutPrivate14solveExpandingE5QListIP18QSimplexConstraintE @ 13127 NONAME - _ZN28QGraphicsAnchorLayoutPrivate21identifyNonFloatItemsE4QSetIP10AnchorDataENS_11OrientationE @ 13128 NONAME - _ZN28QGraphicsAnchorLayoutPrivate28identifyNonFloatItems_helperEPK10AnchorDataNS_11OrientationE @ 13129 NONAME - _ZNK17QToolBarExtension10metaObjectEv @ 13130 NONAME - _ZNK17QToolBarExtension8sizeHintEv @ 13131 NONAME - _ZNK18QGuiPlatformPlugin10metaObjectEv @ 13132 NONAME - _ZTI18QGuiPlatformPlugin @ 13133 NONAME - _ZTI27QGuiPlatformPluginInterface @ 13134 NONAME - _ZTV18QGuiPlatformPlugin @ 13135 NONAME - _ZThn8_N18QGuiPlatformPluginD0Ev @ 13136 NONAME - _ZThn8_N18QGuiPlatformPluginD1Ev @ 13137 NONAME + _ZN10QBoxLayout19getStaticMetaObjectEv @ 62 NONAME + _ZN10QBoxLayout6takeAtEi @ 63 NONAME + _ZN10QBoxLayout7addItemEP11QLayoutItem @ 64 NONAME + _ZN10QBoxLayout8addStrutEi @ 65 NONAME + _ZN10QBoxLayout9addLayoutEP7QLayouti @ 66 NONAME + _ZN10QBoxLayout9addWidgetEP7QWidgeti6QFlagsIN2Qt13AlignmentFlagEE @ 67 NONAME + _ZN10QBoxLayoutC1ENS_9DirectionEP7QWidget @ 68 NONAME + _ZN10QBoxLayoutC2ENS_9DirectionEP7QWidget @ 69 NONAME + _ZN10QBoxLayoutD0Ev @ 70 NONAME + _ZN10QBoxLayoutD1Ev @ 71 NONAME + _ZN10QBoxLayoutD2Ev @ 72 NONAME + _ZN10QClipboard11dataChangedEv @ 73 NONAME + _ZN10QClipboard11emitChangedENS_4ModeE @ 74 NONAME + _ZN10QClipboard11qt_metacallEN11QMetaObject4CallEiPPv @ 75 NONAME + _ZN10QClipboard11qt_metacastEPKc @ 76 NONAME + _ZN10QClipboard11setMimeDataEP9QMimeDataNS_4ModeE @ 77 NONAME + _ZN10QClipboard13connectNotifyEPKc @ 78 NONAME + _ZN10QClipboard14ownerDestroyedEv @ 79 NONAME + _ZN10QClipboard16selectionChangedEv @ 80 NONAME + _ZN10QClipboard16staticMetaObjectE @ 81 NONAME DATA 16 + _ZN10QClipboard17findBufferChangedEv @ 82 NONAME + _ZN10QClipboard19getStaticMetaObjectEv @ 83 NONAME + _ZN10QClipboard5clearENS_4ModeE @ 84 NONAME + _ZN10QClipboard5eventEP6QEvent @ 85 NONAME + _ZN10QClipboard7changedENS_4ModeE @ 86 NONAME + _ZN10QClipboard7setTextERK7QStringNS_4ModeE @ 87 NONAME + _ZN10QClipboard8setImageERK6QImageNS_4ModeE @ 88 NONAME + _ZN10QClipboard9setPixmapERK7QPixmapNS_4ModeE @ 89 NONAME + _ZN10QClipboardC1EP7QObject @ 90 NONAME + _ZN10QClipboardC2EP7QObject @ 91 NONAME + _ZN10QClipboardD0Ev @ 92 NONAME + _ZN10QClipboardD1Ev @ 93 NONAME + _ZN10QClipboardD2Ev @ 94 NONAME + _ZN10QCompleter11eventFilterEP7QObjectP6QEvent @ 95 NONAME + _ZN10QCompleter11highlightedERK11QModelIndex @ 96 NONAME + _ZN10QCompleter11highlightedERK7QString @ 97 NONAME + _ZN10QCompleter11qt_metacallEN11QMetaObject4CallEiPPv @ 98 NONAME + _ZN10QCompleter11qt_metacastEPKc @ 99 NONAME + _ZN10QCompleter13setCurrentRowEi @ 100 NONAME + _ZN10QCompleter13setWrapAroundEb @ 101 NONAME + _ZN10QCompleter15setModelSortingENS_12ModelSortingE @ 102 NONAME + _ZN10QCompleter16staticMetaObjectE @ 103 NONAME DATA 16 + _ZN10QCompleter17setCompletionModeENS_14CompletionModeE @ 104 NONAME + _ZN10QCompleter17setCompletionRoleEi @ 105 NONAME + _ZN10QCompleter18setCaseSensitivityEN2Qt15CaseSensitivityE @ 106 NONAME + _ZN10QCompleter18setMaxVisibleItemsEi @ 107 NONAME + _ZN10QCompleter19getStaticMetaObjectEv @ 108 NONAME + _ZN10QCompleter19setCompletionColumnEi @ 109 NONAME + _ZN10QCompleter19setCompletionPrefixERK7QString @ 110 NONAME + _ZN10QCompleter5eventEP6QEvent @ 111 NONAME + _ZN10QCompleter8completeERK5QRect @ 112 NONAME + _ZN10QCompleter8setModelEP18QAbstractItemModel @ 113 NONAME + _ZN10QCompleter8setPopupEP17QAbstractItemView @ 114 NONAME + _ZN10QCompleter9activatedERK11QModelIndex @ 115 NONAME + _ZN10QCompleter9activatedERK7QString @ 116 NONAME + _ZN10QCompleter9setWidgetEP7QWidget @ 117 NONAME + _ZN10QCompleterC1EP18QAbstractItemModelP7QObject @ 118 NONAME + _ZN10QCompleterC1EP7QObject @ 119 NONAME + _ZN10QCompleterC1ERK11QStringListP7QObject @ 120 NONAME + _ZN10QCompleterC2EP18QAbstractItemModelP7QObject @ 121 NONAME + _ZN10QCompleterC2EP7QObject @ 122 NONAME + _ZN10QCompleterC2ERK11QStringListP7QObject @ 123 NONAME + _ZN10QCompleterD0Ev @ 124 NONAME + _ZN10QCompleterD1Ev @ 125 NONAME + _ZN10QCompleterD2Ev @ 126 NONAME + _ZN10QDropEvent13setDropActionEN2Qt10DropActionE @ 127 NONAME + _ZN10QDropEventC1ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEEN6QEvent4TypeE @ 128 NONAME + _ZN10QDropEventC2ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEEN6QEvent4TypeE @ 129 NONAME + _ZN10QDropEventD0Ev @ 130 NONAME + _ZN10QDropEventD1Ev @ 131 NONAME + _ZN10QDropEventD2Ev @ 132 NONAME + _ZN10QHelpEventC1EN6QEvent4TypeERK6QPointS4_ @ 133 NONAME + _ZN10QHelpEventC2EN6QEvent4TypeERK6QPointS4_ @ 134 NONAME + _ZN10QHelpEventD0Ev @ 135 NONAME + _ZN10QHelpEventD1Ev @ 136 NONAME + _ZN10QHelpEventD2Ev @ 137 NONAME + _ZN10QHideEventC1Ev @ 138 NONAME + _ZN10QHideEventC2Ev @ 139 NONAME + _ZN10QHideEventD0Ev @ 140 NONAME + _ZN10QHideEventD1Ev @ 141 NONAME + _ZN10QHideEventD2Ev @ 142 NONAME + _ZN10QImageData6createEPhiiiN6QImage6FormatEb @ 143 NONAME + _ZN10QImageData6createERK5QSizeN6QImage6FormatEi @ 144 NONAME + _ZN10QImageDataC1Ev @ 145 NONAME + _ZN10QImageDataC2Ev @ 146 NONAME + _ZN10QImageDataD1Ev @ 147 NONAME + _ZN10QImageDataD2Ev @ 148 NONAME + _ZN10QLCDNumber10paintEventEP11QPaintEvent @ 149 NONAME + _ZN10QLCDNumber10setBinModeEv @ 150 NONAME + _ZN10QLCDNumber10setDecModeEv @ 151 NONAME + _ZN10QLCDNumber10setHexModeEv @ 152 NONAME + _ZN10QLCDNumber10setOctModeEv @ 153 NONAME + _ZN10QLCDNumber11qt_metacallEN11QMetaObject4CallEiPPv @ 154 NONAME + _ZN10QLCDNumber11qt_metacastEPKc @ 155 NONAME + _ZN10QLCDNumber12setNumDigitsEi @ 156 NONAME + _ZN10QLCDNumber15setSegmentStyleENS_12SegmentStyleE @ 157 NONAME + _ZN10QLCDNumber16staticMetaObjectE @ 158 NONAME DATA 16 + _ZN10QLCDNumber19getStaticMetaObjectEv @ 159 NONAME + _ZN10QLCDNumber20setSmallDecimalPointEb @ 160 NONAME + _ZN10QLCDNumber5eventEP6QEvent @ 161 NONAME + _ZN10QLCDNumber7displayERK7QString @ 162 NONAME + _ZN10QLCDNumber7displayEd @ 163 NONAME + _ZN10QLCDNumber7displayEi @ 164 NONAME + _ZN10QLCDNumber7setModeENS_4ModeE @ 165 NONAME + _ZN10QLCDNumber8overflowEv @ 166 NONAME + _ZN10QLCDNumberC1EP7QWidget @ 167 NONAME + _ZN10QLCDNumberC1EjP7QWidget @ 168 NONAME + _ZN10QLCDNumberC2EP7QWidget @ 169 NONAME + _ZN10QLCDNumberC2EjP7QWidget @ 170 NONAME + _ZN10QLCDNumberD0Ev @ 171 NONAME + _ZN10QLCDNumberD1Ev @ 172 NONAME + _ZN10QLCDNumberD2Ev @ 173 NONAME + _ZN10QMatrix4x411perspectiveEffff @ 174 NONAME + _ZN10QMatrix4x415flipCoordinatesEv @ 175 NONAME + _ZN10QMatrix4x416inferSpecialTypeEv @ 176 NONAME + _ZN10QMatrix4x45orthoERK5QRect @ 177 NONAME + _ZN10QMatrix4x45orthoERK6QRectF @ 178 NONAME + _ZN10QMatrix4x45orthoEffffff @ 179 NONAME + _ZN10QMatrix4x45scaleERK9QVector3D @ 180 NONAME + _ZN10QMatrix4x45scaleEf @ 181 NONAME + _ZN10QMatrix4x45scaleEff @ 182 NONAME + _ZN10QMatrix4x45scaleEfff @ 183 NONAME + _ZN10QMatrix4x46lookAtERK9QVector3DS2_S2_ @ 184 NONAME + _ZN10QMatrix4x46rotateERK11QQuaternion @ 185 NONAME + _ZN10QMatrix4x46rotateEfRK9QVector3D @ 186 NONAME + _ZN10QMatrix4x46rotateEffff @ 187 NONAME + _ZN10QMatrix4x47frustumEffffff @ 188 NONAME + _ZN10QMatrix4x49translateERK9QVector3D @ 189 NONAME + _ZN10QMatrix4x49translateEff @ 190 NONAME + _ZN10QMatrix4x49translateEfff @ 191 NONAME + _ZN10QMatrix4x4C1EPKf @ 192 NONAME + _ZN10QMatrix4x4C1EPKfii @ 193 NONAME + _ZN10QMatrix4x4C1ERK10QTransform @ 194 NONAME + _ZN10QMatrix4x4C1ERK7QMatrix @ 195 NONAME + _ZN10QMatrix4x4C2EPKf @ 196 NONAME + _ZN10QMatrix4x4C2EPKfii @ 197 NONAME + _ZN10QMatrix4x4C2ERK10QTransform @ 198 NONAME + _ZN10QMatrix4x4C2ERK7QMatrix @ 199 NONAME + _ZN10QMatrix4x4dVEf @ 200 NONAME + _ZN10QMoveEventC1ERK6QPointS2_ @ 201 NONAME + _ZN10QMoveEventC2ERK6QPointS2_ @ 202 NONAME + _ZN10QMoveEventD0Ev @ 203 NONAME + _ZN10QMoveEventD1Ev @ 204 NONAME + _ZN10QMoveEventD2Ev @ 205 NONAME + _ZN10QPictureIO10setPictureERK8QPicture @ 206 NONAME + _ZN10QPictureIO10setQualityEi @ 207 NONAME + _ZN10QPictureIO11setFileNameERK7QString @ 208 NONAME + _ZN10QPictureIO11setIODeviceEP9QIODevice @ 209 NONAME + _ZN10QPictureIO12inputFormatsEv @ 210 NONAME + _ZN10QPictureIO13outputFormatsEv @ 211 NONAME + _ZN10QPictureIO13pictureFormatEP9QIODevice @ 212 NONAME + _ZN10QPictureIO13pictureFormatERK7QString @ 213 NONAME + _ZN10QPictureIO13setParametersEPKc @ 214 NONAME + _ZN10QPictureIO14setDescriptionERK7QString @ 215 NONAME + _ZN10QPictureIO15defineIOHandlerEPKcS1_S1_PFvPS_ES4_ @ 216 NONAME + _ZN10QPictureIO4initEv @ 217 NONAME + _ZN10QPictureIO4readEv @ 218 NONAME + _ZN10QPictureIO5writeEv @ 219 NONAME + _ZN10QPictureIO8setGammaEf @ 220 NONAME + _ZN10QPictureIO9setFormatEPKc @ 221 NONAME + _ZN10QPictureIO9setStatusEi @ 222 NONAME + _ZN10QPictureIOC1EP9QIODevicePKc @ 223 NONAME + _ZN10QPictureIOC1ERK7QStringPKc @ 224 NONAME + _ZN10QPictureIOC1Ev @ 225 NONAME + _ZN10QPictureIOC2EP9QIODevicePKc @ 226 NONAME + _ZN10QPictureIOC2ERK7QStringPKc @ 227 NONAME + _ZN10QPictureIOC2Ev @ 228 NONAME + _ZN10QPictureIOD1Ev @ 229 NONAME + _ZN10QPictureIOD2Ev @ 230 NONAME + _ZN10QScrollBar10paintEventEP11QPaintEvent @ 231 NONAME + _ZN10QScrollBar11qt_metacallEN11QMetaObject4CallEiPPv @ 232 NONAME + _ZN10QScrollBar11qt_metacastEPKc @ 233 NONAME + _ZN10QScrollBar12sliderChangeEN15QAbstractSlider12SliderChangeE @ 234 NONAME + _ZN10QScrollBar14mouseMoveEventEP11QMouseEvent @ 235 NONAME + _ZN10QScrollBar15mousePressEventEP11QMouseEvent @ 236 NONAME + _ZN10QScrollBar16contextMenuEventEP17QContextMenuEvent @ 237 NONAME + _ZN10QScrollBar16staticMetaObjectE @ 238 NONAME DATA 16 + _ZN10QScrollBar17mouseReleaseEventEP11QMouseEvent @ 239 NONAME + _ZN10QScrollBar19getStaticMetaObjectEv @ 240 NONAME + _ZN10QScrollBar5eventEP6QEvent @ 241 NONAME + _ZN10QScrollBar9hideEventEP10QHideEvent @ 242 NONAME + _ZN10QScrollBarC1EN2Qt11OrientationEP7QWidget @ 243 NONAME + _ZN10QScrollBarC1EP7QWidget @ 244 NONAME + _ZN10QScrollBarC2EN2Qt11OrientationEP7QWidget @ 245 NONAME + _ZN10QScrollBarC2EP7QWidget @ 246 NONAME + _ZN10QScrollBarD0Ev @ 247 NONAME + _ZN10QScrollBarD1Ev @ 248 NONAME + _ZN10QScrollBarD2Ev @ 249 NONAME + _ZN10QShowEventC1Ev @ 250 NONAME + _ZN10QShowEventC2Ev @ 251 NONAME + _ZN10QShowEventD0Ev @ 252 NONAME + _ZN10QShowEventD1Ev @ 253 NONAME + _ZN10QShowEventD2Ev @ 254 NONAME + _ZN10QStatusBar10hideOrShowEv @ 255 NONAME + _ZN10QStatusBar10paintEventEP11QPaintEvent @ 256 NONAME + _ZN10QStatusBar11qt_metacallEN11QMetaObject4CallEiPPv @ 257 NONAME + _ZN10QStatusBar11qt_metacastEPKc @ 258 NONAME + _ZN10QStatusBar11resizeEventEP12QResizeEvent @ 259 NONAME + _ZN10QStatusBar11showMessageERK7QStringi @ 260 NONAME + _ZN10QStatusBar12clearMessageEv @ 261 NONAME + _ZN10QStatusBar12insertWidgetEiP7QWidgeti @ 262 NONAME + _ZN10QStatusBar12removeWidgetEP7QWidget @ 263 NONAME + _ZN10QStatusBar14messageChangedERK7QString @ 264 NONAME + _ZN10QStatusBar16staticMetaObjectE @ 265 NONAME DATA 16 + _ZN10QStatusBar18addPermanentWidgetEP7QWidgeti @ 266 NONAME + _ZN10QStatusBar18setSizeGripEnabledEb @ 267 NONAME + _ZN10QStatusBar19getStaticMetaObjectEv @ 268 NONAME + _ZN10QStatusBar21insertPermanentWidgetEiP7QWidgeti @ 269 NONAME + _ZN10QStatusBar5eventEP6QEvent @ 270 NONAME + _ZN10QStatusBar8reformatEv @ 271 NONAME + _ZN10QStatusBar9addWidgetEP7QWidgeti @ 272 NONAME + _ZN10QStatusBar9showEventEP10QShowEvent @ 273 NONAME + _ZN10QStatusBarC1EP7QWidget @ 274 NONAME + _ZN10QStatusBarC2EP7QWidget @ 275 NONAME + _ZN10QStatusBarD0Ev @ 276 NONAME + _ZN10QStatusBarD1Ev @ 277 NONAME + _ZN10QStatusBarD2Ev @ 278 NONAME + _ZN10QTabWidget10paintEventEP11QPaintEvent @ 279 NONAME + _ZN10QTabWidget10setMovableEb @ 280 NONAME + _ZN10QTabWidget10setTabIconEiRK5QIcon @ 281 NONAME + _ZN10QTabWidget10setTabTextEiRK7QString @ 282 NONAME + _ZN10QTabWidget10tabRemovedEi @ 283 NONAME + _ZN10QTabWidget11changeEventEP6QEvent @ 284 NONAME + _ZN10QTabWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 285 NONAME + _ZN10QTabWidget11qt_metacastEPKc @ 286 NONAME + _ZN10QTabWidget11resizeEventEP12QResizeEvent @ 287 NONAME + _ZN10QTabWidget11setIconSizeERK5QSize @ 288 NONAME + _ZN10QTabWidget11setTabShapeENS_8TabShapeE @ 289 NONAME + _ZN10QTabWidget11setUpLayoutEb @ 290 NONAME + _ZN10QTabWidget11tabInsertedEi @ 291 NONAME + _ZN10QTabWidget12setElideModeEN2Qt13TextElideModeE @ 292 NONAME + _ZN10QTabWidget13keyPressEventEP9QKeyEvent @ 293 NONAME + _ZN10QTabWidget13setTabEnabledEib @ 294 NONAME + _ZN10QTabWidget13setTabToolTipEiRK7QString @ 295 NONAME + _ZN10QTabWidget14currentChangedEi @ 296 NONAME + _ZN10QTabWidget14setTabPositionENS_11TabPositionE @ 297 NONAME + _ZN10QTabWidget15setCornerWidgetEP7QWidgetN2Qt6CornerE @ 298 NONAME + _ZN10QTabWidget15setCurrentIndexEi @ 299 NONAME + _ZN10QTabWidget15setDocumentModeEb @ 300 NONAME + _ZN10QTabWidget15setTabWhatsThisEiRK7QString @ 301 NONAME + _ZN10QTabWidget15setTabsClosableEb @ 302 NONAME + _ZN10QTabWidget16setCurrentWidgetEP7QWidget @ 303 NONAME + _ZN10QTabWidget16staticMetaObjectE @ 304 NONAME DATA 16 + _ZN10QTabWidget17tabCloseRequestedEi @ 305 NONAME + _ZN10QTabWidget19getStaticMetaObjectEv @ 306 NONAME + _ZN10QTabWidget20setUsesScrollButtonsEb @ 307 NONAME + _ZN10QTabWidget5clearEv @ 308 NONAME + _ZN10QTabWidget5eventEP6QEvent @ 309 NONAME + _ZN10QTabWidget6addTabEP7QWidgetRK5QIconRK7QString @ 310 NONAME + _ZN10QTabWidget6addTabEP7QWidgetRK7QString @ 311 NONAME + _ZN10QTabWidget9insertTabEiP7QWidgetRK5QIconRK7QString @ 312 NONAME + _ZN10QTabWidget9insertTabEiP7QWidgetRK7QString @ 313 NONAME + _ZN10QTabWidget9removeTabEi @ 314 NONAME + _ZN10QTabWidget9setTabBarEP7QTabBar @ 315 NONAME + _ZN10QTabWidget9showEventEP10QShowEvent @ 316 NONAME + _ZN10QTabWidgetC1EP7QWidget @ 317 NONAME + _ZN10QTabWidgetC2EP7QWidget @ 318 NONAME + _ZN10QTabWidgetD0Ev @ 319 NONAME + _ZN10QTabWidgetD1Ev @ 320 NONAME + _ZN10QTabWidgetD2Ev @ 321 NONAME + _ZN10QTableView10clearSpansEv @ 322 NONAME + _ZN10QTableView10hideColumnEi @ 323 NONAME + _ZN10QTableView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 324 NONAME + _ZN10QTableView10paintEventEP11QPaintEvent @ 325 NONAME + _ZN10QTableView10rowResizedEiii @ 326 NONAME + _ZN10QTableView10showColumnEi @ 327 NONAME + _ZN10QTableView10timerEventEP11QTimerEvent @ 328 NONAME + _ZN10QTableView11columnMovedEiii @ 329 NONAME + _ZN10QTableView11qt_metacallEN11QMetaObject4CallEiPPv @ 330 NONAME + _ZN10QTableView11qt_metacastEPKc @ 331 NONAME + _ZN10QTableView11setShowGridEb @ 332 NONAME + _ZN10QTableView11setWordWrapEb @ 333 NONAME + _ZN10QTableView12selectColumnEi @ 334 NONAME + _ZN10QTableView12setGridStyleEN2Qt8PenStyleE @ 335 NONAME + _ZN10QTableView12setRootIndexERK11QModelIndex @ 336 NONAME + _ZN10QTableView12setRowHeightEii @ 337 NONAME + _ZN10QTableView12setRowHiddenEib @ 338 NONAME + _ZN10QTableView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 339 NONAME + _ZN10QTableView12sortByColumnEi @ 340 NONAME + _ZN10QTableView12sortByColumnEiN2Qt9SortOrderE @ 341 NONAME + _ZN10QTableView13columnResizedEiii @ 342 NONAME + _ZN10QTableView14currentChangedERK11QModelIndexS2_ @ 343 NONAME + _ZN10QTableView14setColumnWidthEii @ 344 NONAME + _ZN10QTableView15rowCountChangedEii @ 345 NONAME + _ZN10QTableView15setColumnHiddenEib @ 346 NONAME + _ZN10QTableView16scrollContentsByEii @ 347 NONAME + _ZN10QTableView16selectionChangedERK14QItemSelectionS2_ @ 348 NONAME + _ZN10QTableView16staticMetaObjectE @ 349 NONAME DATA 16 + _ZN10QTableView16updateGeometriesEv @ 350 NONAME + _ZN10QTableView17setSelectionModelEP19QItemSelectionModel @ 351 NONAME + _ZN10QTableView17setSortingEnabledEb @ 352 NONAME + _ZN10QTableView17setVerticalHeaderEP11QHeaderView @ 353 NONAME + _ZN10QTableView18columnCountChangedEii @ 354 NONAME + _ZN10QTableView19getStaticMetaObjectEv @ 355 NONAME + _ZN10QTableView19resizeRowToContentsEi @ 356 NONAME + _ZN10QTableView19setHorizontalHeaderEP11QHeaderView @ 357 NONAME + _ZN10QTableView20resizeRowsToContentsEv @ 358 NONAME + _ZN10QTableView22resizeColumnToContentsEi @ 359 NONAME + _ZN10QTableView22setCornerButtonEnabledEb @ 360 NONAME + _ZN10QTableView23resizeColumnsToContentsEv @ 361 NONAME + _ZN10QTableView23verticalScrollbarActionEi @ 362 NONAME + _ZN10QTableView25horizontalScrollbarActionEi @ 363 NONAME + _ZN10QTableView7hideRowEi @ 364 NONAME + _ZN10QTableView7setSpanEiiii @ 365 NONAME + _ZN10QTableView7showRowEi @ 366 NONAME + _ZN10QTableView8rowMovedEiii @ 367 NONAME + _ZN10QTableView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 368 NONAME + _ZN10QTableView8setModelEP18QAbstractItemModel @ 369 NONAME + _ZN10QTableView9selectRowEi @ 370 NONAME + _ZN10QTableViewC1EP7QWidget @ 371 NONAME + _ZN10QTableViewC1ER17QTableViewPrivateP7QWidget @ 372 NONAME + _ZN10QTableViewC2EP7QWidget @ 373 NONAME + _ZN10QTableViewC2ER17QTableViewPrivateP7QWidget @ 374 NONAME + _ZN10QTableViewD0Ev @ 375 NONAME + _ZN10QTableViewD1Ev @ 376 NONAME + _ZN10QTableViewD2Ev @ 377 NONAME + _ZN10QTextBlock10setVisibleEb @ 378 NONAME + _ZN10QTextBlock11clearLayoutEv @ 379 NONAME + _ZN10QTextBlock11setRevisionEi @ 380 NONAME + _ZN10QTextBlock11setUserDataEP18QTextBlockUserData @ 381 NONAME + _ZN10QTextBlock12setLineCountEi @ 382 NONAME + _ZN10QTextBlock12setUserStateEi @ 383 NONAME + _ZN10QTextBlock8iteratormmEv @ 384 NONAME + _ZN10QTextBlock8iteratorppEv @ 385 NONAME + _ZN10QTextFrame11qt_metacallEN11QMetaObject4CallEiPPv @ 386 NONAME + _ZN10QTextFrame11qt_metacastEPKc @ 387 NONAME + _ZN10QTextFrame13setLayoutDataEP20QTextFrameLayoutData @ 388 NONAME + _ZN10QTextFrame16staticMetaObjectE @ 389 NONAME DATA 16 + _ZN10QTextFrame19getStaticMetaObjectEv @ 390 NONAME + _ZN10QTextFrame8iteratorC1EPS_iii @ 391 NONAME + _ZN10QTextFrame8iteratorC1ERKS0_ @ 392 NONAME + _ZN10QTextFrame8iteratorC1Ev @ 393 NONAME + _ZN10QTextFrame8iteratorC2EPS_iii @ 394 NONAME + _ZN10QTextFrame8iteratorC2ERKS0_ @ 395 NONAME + _ZN10QTextFrame8iteratorC2Ev @ 396 NONAME + _ZN10QTextFrame8iteratoraSERKS0_ @ 397 NONAME + _ZN10QTextFrame8iteratormmEv @ 398 NONAME + _ZN10QTextFrame8iteratorppEv @ 399 NONAME + _ZN10QTextFrameC1EP13QTextDocument @ 400 NONAME + _ZN10QTextFrameC1ER17QTextFramePrivateP13QTextDocument @ 401 NONAME + _ZN10QTextFrameC2EP13QTextDocument @ 402 NONAME + _ZN10QTextFrameC2ER17QTextFramePrivateP13QTextDocument @ 403 NONAME + _ZN10QTextFrameD0Ev @ 404 NONAME + _ZN10QTextFrameD1Ev @ 405 NONAME + _ZN10QTextFrameD2Ev @ 406 NONAME + _ZN10QTextTable10appendRowsEi @ 407 NONAME + _ZN10QTextTable10insertRowsEii @ 408 NONAME + _ZN10QTextTable10mergeCellsERK11QTextCursor @ 409 NONAME + _ZN10QTextTable10mergeCellsEiiii @ 410 NONAME + _ZN10QTextTable10removeRowsEii @ 411 NONAME + _ZN10QTextTable11qt_metacallEN11QMetaObject4CallEiPPv @ 412 NONAME + _ZN10QTextTable11qt_metacastEPKc @ 413 NONAME + _ZN10QTextTable13appendColumnsEi @ 414 NONAME + _ZN10QTextTable13insertColumnsEii @ 415 NONAME + _ZN10QTextTable13removeColumnsEii @ 416 NONAME + _ZN10QTextTable16staticMetaObjectE @ 417 NONAME DATA 16 + _ZN10QTextTable19getStaticMetaObjectEv @ 418 NONAME + _ZN10QTextTable6resizeEii @ 419 NONAME + _ZN10QTextTable9setFormatERK16QTextTableFormat @ 420 NONAME + _ZN10QTextTable9splitCellEiiii @ 421 NONAME + _ZN10QTextTableC1EP13QTextDocument @ 422 NONAME + _ZN10QTextTableC2EP13QTextDocument @ 423 NONAME + _ZN10QTextTableD0Ev @ 424 NONAME + _ZN10QTextTableD1Ev @ 425 NONAME + _ZN10QTextTableD2Ev @ 426 NONAME + _ZN10QTransform10quadToQuadERK9QPolygonFS2_RS_ @ 427 NONAME + _ZN10QTransform12quadToSquareERK9QPolygonFRS_ @ 428 NONAME + _ZN10QTransform12squareToQuadERK9QPolygonFRS_ @ 429 NONAME + _ZN10QTransform13fromTranslateEff @ 430 NONAME + _ZN10QTransform13rotateRadiansEfN2Qt4AxisE @ 431 NONAME + _ZN10QTransform5resetEv @ 432 NONAME + _ZN10QTransform5scaleEff @ 433 NONAME + _ZN10QTransform5shearEff @ 434 NONAME + _ZN10QTransform6rotateEfN2Qt4AxisE @ 435 NONAME + _ZN10QTransform9fromScaleEff @ 436 NONAME + _ZN10QTransform9setMatrixEfffffffff @ 437 NONAME + _ZN10QTransform9translateEff @ 438 NONAME + _ZN10QTransformC1ERK7QMatrix @ 439 NONAME + _ZN10QTransformC1Effffff @ 440 NONAME + _ZN10QTransformC1Efffffffff @ 441 NONAME + _ZN10QTransformC1Ev @ 442 NONAME + _ZN10QTransformC2ERK7QMatrix @ 443 NONAME + _ZN10QTransformC2Effffff @ 444 NONAME + _ZN10QTransformC2Efffffffff @ 445 NONAME + _ZN10QTransformC2Ev @ 446 NONAME + _ZN10QTransformaSERKS_ @ 447 NONAME + _ZN10QTransformmLERKS_ @ 448 NONAME + _ZN10QUndoGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 449 NONAME + _ZN10QUndoGroup11qt_metacastEPKc @ 450 NONAME + _ZN10QUndoGroup11removeStackEP10QUndoStack @ 451 NONAME + _ZN10QUndoGroup12cleanChangedEb @ 452 NONAME + _ZN10QUndoGroup12indexChangedEi @ 453 NONAME + _ZN10QUndoGroup14canRedoChangedEb @ 454 NONAME + _ZN10QUndoGroup14canUndoChangedEb @ 455 NONAME + _ZN10QUndoGroup14setActiveStackEP10QUndoStack @ 456 NONAME + _ZN10QUndoGroup15redoTextChangedERK7QString @ 457 NONAME + _ZN10QUndoGroup15undoTextChangedERK7QString @ 458 NONAME + _ZN10QUndoGroup16staticMetaObjectE @ 459 NONAME DATA 16 + _ZN10QUndoGroup18activeStackChangedEP10QUndoStack @ 460 NONAME + _ZN10QUndoGroup19getStaticMetaObjectEv @ 461 NONAME + _ZN10QUndoGroup4redoEv @ 462 NONAME + _ZN10QUndoGroup4undoEv @ 463 NONAME + _ZN10QUndoGroup8addStackEP10QUndoStack @ 464 NONAME + _ZN10QUndoGroupC1EP7QObject @ 465 NONAME + _ZN10QUndoGroupC2EP7QObject @ 466 NONAME + _ZN10QUndoGroupD0Ev @ 467 NONAME + _ZN10QUndoGroupD1Ev @ 468 NONAME + _ZN10QUndoGroupD2Ev @ 469 NONAME + _ZN10QUndoStack10beginMacroERK7QString @ 470 NONAME + _ZN10QUndoStack11qt_metacallEN11QMetaObject4CallEiPPv @ 471 NONAME + _ZN10QUndoStack11qt_metacastEPKc @ 472 NONAME + _ZN10QUndoStack12cleanChangedEb @ 473 NONAME + _ZN10QUndoStack12indexChangedEi @ 474 NONAME + _ZN10QUndoStack12setUndoLimitEi @ 475 NONAME + _ZN10QUndoStack14canRedoChangedEb @ 476 NONAME + _ZN10QUndoStack14canUndoChangedEb @ 477 NONAME + _ZN10QUndoStack15redoTextChangedERK7QString @ 478 NONAME + _ZN10QUndoStack15undoTextChangedERK7QString @ 479 NONAME + _ZN10QUndoStack16staticMetaObjectE @ 480 NONAME DATA 16 + _ZN10QUndoStack19getStaticMetaObjectEv @ 481 NONAME + _ZN10QUndoStack4pushEP12QUndoCommand @ 482 NONAME + _ZN10QUndoStack4redoEv @ 483 NONAME + _ZN10QUndoStack4undoEv @ 484 NONAME + _ZN10QUndoStack5clearEv @ 485 NONAME + _ZN10QUndoStack8endMacroEv @ 486 NONAME + _ZN10QUndoStack8setCleanEv @ 487 NONAME + _ZN10QUndoStack8setIndexEi @ 488 NONAME + _ZN10QUndoStack9setActiveEb @ 489 NONAME + _ZN10QUndoStackC1EP7QObject @ 490 NONAME + _ZN10QUndoStackC2EP7QObject @ 491 NONAME + _ZN10QUndoStackD0Ev @ 492 NONAME + _ZN10QUndoStackD1Ev @ 493 NONAME + _ZN10QUndoStackD2Ev @ 494 NONAME + _ZN10QValidator11qt_metacallEN11QMetaObject4CallEiPPv @ 495 NONAME + _ZN10QValidator11qt_metacastEPKc @ 496 NONAME + _ZN10QValidator16staticMetaObjectE @ 497 NONAME DATA 16 + _ZN10QValidator19getStaticMetaObjectEv @ 498 NONAME + _ZN10QValidator9setLocaleERK7QLocale @ 499 NONAME + _ZN10QValidatorC2EP7QObject @ 500 NONAME + _ZN10QValidatorC2ER14QObjectPrivateP7QObject @ 501 NONAME + _ZN10QValidatorC2ER17QValidatorPrivateP7QObject @ 502 NONAME + _ZN10QValidatorD0Ev @ 503 NONAME + _ZN10QValidatorD1Ev @ 504 NONAME + _ZN10QValidatorD2Ev @ 505 NONAME + _ZN10QWhatsThis12createActionEP7QObject @ 506 NONAME + _ZN10QWhatsThis15inWhatsThisModeEv @ 507 NONAME + _ZN10QWhatsThis18enterWhatsThisModeEv @ 508 NONAME + _ZN10QWhatsThis18leaveWhatsThisModeEv @ 509 NONAME + _ZN10QWhatsThis8hideTextEv @ 510 NONAME + _ZN10QWhatsThis8showTextERK6QPointRK7QStringP7QWidget @ 511 NONAME + _ZN10QWhatsThisC1Ev @ 512 NONAME + _ZN10QWhatsThisC2Ev @ 513 NONAME + _ZN10QWorkspace10childEventEP11QChildEvent @ 514 NONAME + _ZN10QWorkspace10paintEventEP11QPaintEvent @ 515 NONAME + _ZN10QWorkspace10wheelEventEP11QWheelEvent @ 516 NONAME + _ZN10QWorkspace11changeEventEP6QEvent @ 517 NONAME + _ZN10QWorkspace11eventFilterEP7QObjectP6QEvent @ 518 NONAME + _ZN10QWorkspace11qt_metacallEN11QMetaObject4CallEiPPv @ 519 NONAME + _ZN10QWorkspace11qt_metacastEPKc @ 520 NONAME + _ZN10QWorkspace11resizeEventEP12QResizeEvent @ 521 NONAME + _ZN10QWorkspace12arrangeIconsEv @ 522 NONAME + _ZN10QWorkspace13setBackgroundERK6QBrush @ 523 NONAME + _ZN10QWorkspace15closeAllWindowsEv @ 524 NONAME + _ZN10QWorkspace15setActiveWindowEP7QWidget @ 525 NONAME + _ZN10QWorkspace15windowActivatedEP7QWidget @ 526 NONAME + _ZN10QWorkspace16staticMetaObjectE @ 527 NONAME DATA 16 + _ZN10QWorkspace17closeActiveWindowEv @ 528 NONAME + _ZN10QWorkspace18activateNextWindowEv @ 529 NONAME + _ZN10QWorkspace19getStaticMetaObjectEv @ 530 NONAME + _ZN10QWorkspace20setScrollBarsEnabledEb @ 531 NONAME + _ZN10QWorkspace22activatePreviousWindowEv @ 532 NONAME + _ZN10QWorkspace4tileEv @ 533 NONAME + _ZN10QWorkspace5eventEP6QEvent @ 534 NONAME + _ZN10QWorkspace7cascadeEv @ 535 NONAME + _ZN10QWorkspace9addWindowEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 536 NONAME + _ZN10QWorkspace9hideEventEP10QHideEvent @ 537 NONAME + _ZN10QWorkspace9showEventEP10QShowEvent @ 538 NONAME + _ZN10QWorkspaceC1EP7QWidget @ 539 NONAME + _ZN10QWorkspaceC2EP7QWidget @ 540 NONAME + _ZN10QWorkspaceD0Ev @ 541 NONAME + _ZN10QWorkspaceD1Ev @ 542 NONAME + _ZN10QWorkspaceD2Ev @ 543 NONAME + _ZN11QCloseEventC1Ev @ 544 NONAME + _ZN11QCloseEventC2Ev @ 545 NONAME + _ZN11QCloseEventD0Ev @ 546 NONAME + _ZN11QCloseEventD1Ev @ 547 NONAME + _ZN11QCloseEventD2Ev @ 548 NONAME + _ZN11QColumnView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 549 NONAME + _ZN11QColumnView11qt_metacallEN11QMetaObject4CallEiPPv @ 550 NONAME + _ZN11QColumnView11qt_metacastEPKc @ 551 NONAME + _ZN11QColumnView11resizeEventEP12QResizeEvent @ 552 NONAME + _ZN11QColumnView12createColumnERK11QModelIndex @ 553 NONAME + _ZN11QColumnView12rowsInsertedERK11QModelIndexii @ 554 NONAME + _ZN11QColumnView12setRootIndexERK11QModelIndex @ 555 NONAME + _ZN11QColumnView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 556 NONAME + _ZN11QColumnView14currentChangedERK11QModelIndexS2_ @ 557 NONAME + _ZN11QColumnView15setColumnWidthsERK5QListIiE @ 558 NONAME + _ZN11QColumnView16scrollContentsByEii @ 559 NONAME + _ZN11QColumnView16setPreviewWidgetEP7QWidget @ 560 NONAME + _ZN11QColumnView16staticMetaObjectE @ 561 NONAME DATA 16 + _ZN11QColumnView17setSelectionModelEP19QItemSelectionModel @ 562 NONAME + _ZN11QColumnView19getStaticMetaObjectEv @ 563 NONAME + _ZN11QColumnView19updatePreviewWidgetERK11QModelIndex @ 564 NONAME + _ZN11QColumnView21setResizeGripsVisibleEb @ 565 NONAME + _ZN11QColumnView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 566 NONAME + _ZN11QColumnView8setModelEP18QAbstractItemModel @ 567 NONAME + _ZN11QColumnView9selectAllEv @ 568 NONAME + _ZN11QColumnViewC1EP7QWidget @ 569 NONAME + _ZN11QColumnViewC1ER18QColumnViewPrivateP7QWidget @ 570 NONAME + _ZN11QColumnViewC2EP7QWidget @ 571 NONAME + _ZN11QColumnViewC2ER18QColumnViewPrivateP7QWidget @ 572 NONAME + _ZN11QColumnViewD0Ev @ 573 NONAME + _ZN11QColumnViewD1Ev @ 574 NONAME + _ZN11QColumnViewD2Ev @ 575 NONAME + _ZN11QDockWidget10closeEventEP11QCloseEvent @ 576 NONAME + _ZN11QDockWidget10paintEventEP11QPaintEvent @ 577 NONAME + _ZN11QDockWidget11changeEventEP6QEvent @ 578 NONAME + _ZN11QDockWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 579 NONAME + _ZN11QDockWidget11qt_metacastEPKc @ 580 NONAME + _ZN11QDockWidget11setFeaturesE6QFlagsINS_17DockWidgetFeatureEE @ 581 NONAME + _ZN11QDockWidget11setFloatingEb @ 582 NONAME + _ZN11QDockWidget15featuresChangedE6QFlagsINS_17DockWidgetFeatureEE @ 583 NONAME + _ZN11QDockWidget15setAllowedAreasE6QFlagsIN2Qt14DockWidgetAreaEE @ 584 NONAME + _ZN11QDockWidget15topLevelChangedEb @ 585 NONAME + _ZN11QDockWidget16staticMetaObjectE @ 586 NONAME DATA 16 + _ZN11QDockWidget17setTitleBarWidgetEP7QWidget @ 587 NONAME + _ZN11QDockWidget17visibilityChangedEb @ 588 NONAME + _ZN11QDockWidget19allowedAreasChangedE6QFlagsIN2Qt14DockWidgetAreaEE @ 589 NONAME + _ZN11QDockWidget19dockLocationChangedEN2Qt14DockWidgetAreaE @ 590 NONAME + _ZN11QDockWidget19getStaticMetaObjectEv @ 591 NONAME + _ZN11QDockWidget5eventEP6QEvent @ 592 NONAME + _ZN11QDockWidget9setWidgetEP7QWidget @ 593 NONAME + _ZN11QDockWidgetC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 594 NONAME + _ZN11QDockWidgetC1ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 595 NONAME + _ZN11QDockWidgetC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 596 NONAME + _ZN11QDockWidgetC2ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 597 NONAME + _ZN11QDockWidgetD0Ev @ 598 NONAME + _ZN11QDockWidgetD1Ev @ 599 NONAME + _ZN11QDockWidgetD2Ev @ 600 NONAME + _ZN11QFileDialog10selectFileERK7QString @ 601 NONAME + _ZN11QFileDialog10setFiltersERK11QStringList @ 602 NONAME + _ZN11QFileDialog10setHistoryERK11QStringList @ 603 NONAME + _ZN11QFileDialog10setOptionsE6QFlagsINS_6OptionEE @ 604 NONAME + _ZN11QFileDialog10setVisibleEb @ 605 NONAME + _ZN11QFileDialog11changeEventEP6QEvent @ 606 NONAME + _ZN11QFileDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 607 NONAME + _ZN11QFileDialog11qt_metacastEPKc @ 608 NONAME + _ZN11QFileDialog11setFileModeENS_8FileModeE @ 609 NONAME + _ZN11QFileDialog11setReadOnlyEb @ 610 NONAME + _ZN11QFileDialog11setViewModeENS_8ViewModeE @ 611 NONAME + _ZN11QFileDialog12fileSelectedERK7QString @ 612 NONAME + _ZN11QFileDialog12restoreStateERK10QByteArray @ 613 NONAME + _ZN11QFileDialog12selectFilterERK7QString @ 614 NONAME + _ZN11QFileDialog12setDirectoryERK7QString @ 615 NONAME + _ZN11QFileDialog12setLabelTextENS_11DialogLabelERK7QString @ 616 NONAME + _ZN11QFileDialog13filesSelectedERK11QStringList @ 617 NONAME + _ZN11QFileDialog13setAcceptModeENS_10AcceptModeE @ 618 NONAME + _ZN11QFileDialog13setNameFilterERK7QString @ 619 NONAME + _ZN11QFileDialog13setProxyModelEP19QAbstractProxyModel @ 620 NONAME + _ZN11QFileDialog14currentChangedERK7QString @ 621 NONAME + _ZN11QFileDialog14filterSelectedERK7QString @ 622 NONAME + _ZN11QFileDialog14setNameFiltersERK11QStringList @ 623 NONAME + _ZN11QFileDialog14setSidebarUrlsERK5QListI4QUrlE @ 624 NONAME + _ZN11QFileDialog15getOpenFileNameEP7QWidgetRK7QStringS4_S4_PS2_6QFlagsINS_6OptionEE @ 625 NONAME + _ZN11QFileDialog15getSaveFileNameEP7QWidgetRK7QStringS4_S4_PS2_6QFlagsINS_6OptionEE @ 626 NONAME + _ZN11QFileDialog15setIconProviderEP17QFileIconProvider @ 627 NONAME + _ZN11QFileDialog15setItemDelegateEP21QAbstractItemDelegate @ 628 NONAME + _ZN11QFileDialog16directoryEnteredERK7QString @ 629 NONAME + _ZN11QFileDialog16getOpenFileNamesEP7QWidgetRK7QStringS4_S4_PS2_6QFlagsINS_6OptionEE @ 630 NONAME + _ZN11QFileDialog16selectNameFilterERK7QString @ 631 NONAME + _ZN11QFileDialog16setDefaultSuffixERK7QString @ 632 NONAME + _ZN11QFileDialog16staticMetaObjectE @ 633 NONAME DATA 16 + _ZN11QFileDialog18setResolveSymlinksEb @ 634 NONAME + _ZN11QFileDialog19getStaticMetaObjectEv @ 635 NONAME + _ZN11QFileDialog19setConfirmOverwriteEb @ 636 NONAME + _ZN11QFileDialog20getExistingDirectoryEP7QWidgetRK7QStringS4_6QFlagsINS_6OptionEE @ 637 NONAME + _ZN11QFileDialog27setNameFilterDetailsVisibleEb @ 638 NONAME + _ZN11QFileDialog4doneEi @ 639 NONAME + _ZN11QFileDialog4openEP7QObjectPKc @ 640 NONAME + _ZN11QFileDialog6acceptEv @ 641 NONAME + _ZN11QFileDialog9setFilterE6QFlagsIN4QDir6FilterEE @ 642 NONAME + _ZN11QFileDialog9setFilterERK7QString @ 643 NONAME + _ZN11QFileDialog9setOptionENS_6OptionEb @ 644 NONAME + _ZN11QFileDialogC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 645 NONAME + _ZN11QFileDialogC1EP7QWidgetRK7QStringS4_S4_ @ 646 NONAME + _ZN11QFileDialogC1ERK15QFileDialogArgs @ 647 NONAME + _ZN11QFileDialogC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 648 NONAME + _ZN11QFileDialogC2EP7QWidgetRK7QStringS4_S4_ @ 649 NONAME + _ZN11QFileDialogC2ERK15QFileDialogArgs @ 650 NONAME + _ZN11QFileDialogD0Ev @ 651 NONAME + _ZN11QFileDialogD1Ev @ 652 NONAME + _ZN11QFileDialogD2Ev @ 653 NONAME + _ZN11QFocusEvent6reasonEv @ 654 NONAME + _ZN11QFocusEventC1EN6QEvent4TypeEN2Qt11FocusReasonE @ 655 NONAME + _ZN11QFocusEventC2EN6QEvent4TypeEN2Qt11FocusReasonE @ 656 NONAME + _ZN11QFocusEventD0Ev @ 657 NONAME + _ZN11QFocusEventD1Ev @ 658 NONAME + _ZN11QFocusEventD2Ev @ 659 NONAME + _ZN11QFocusFrame10paintEventEP11QPaintEvent @ 660 NONAME + _ZN11QFocusFrame11eventFilterEP7QObjectP6QEvent @ 661 NONAME + _ZN11QFocusFrame11qt_metacallEN11QMetaObject4CallEiPPv @ 662 NONAME + _ZN11QFocusFrame11qt_metacastEPKc @ 663 NONAME + _ZN11QFocusFrame16staticMetaObjectE @ 664 NONAME DATA 16 + _ZN11QFocusFrame19getStaticMetaObjectEv @ 665 NONAME + _ZN11QFocusFrame5eventEP6QEvent @ 666 NONAME + _ZN11QFocusFrame9setWidgetEP7QWidget @ 667 NONAME + _ZN11QFocusFrameC1EP7QWidget @ 668 NONAME + _ZN11QFocusFrameC2EP7QWidget @ 669 NONAME + _ZN11QFocusFrameD0Ev @ 670 NONAME + _ZN11QFocusFrameD1Ev @ 671 NONAME + _ZN11QFocusFrameD2Ev @ 672 NONAME + _ZN11QFontDialog10setOptionsE6QFlagsINS_16FontDialogOptionEE @ 673 NONAME + _ZN11QFontDialog10setVisibleEb @ 674 NONAME + _ZN11QFontDialog11changeEventEP6QEvent @ 675 NONAME + _ZN11QFontDialog11eventFilterEP7QObjectP6QEvent @ 676 NONAME + _ZN11QFontDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 677 NONAME + _ZN11QFontDialog11qt_metacastEPKc @ 678 NONAME + _ZN11QFontDialog12fontSelectedERK5QFont @ 679 NONAME + _ZN11QFontDialog14setCurrentFontERK5QFont @ 680 NONAME + _ZN11QFontDialog16staticMetaObjectE @ 681 NONAME DATA 16 + _ZN11QFontDialog18currentFontChangedERK5QFont @ 682 NONAME + _ZN11QFontDialog19getStaticMetaObjectEv @ 683 NONAME + _ZN11QFontDialog4doneEi @ 684 NONAME + _ZN11QFontDialog4openEP7QObjectPKc @ 685 NONAME + _ZN11QFontDialog7getFontEPbP7QWidget @ 686 NONAME + _ZN11QFontDialog7getFontEPbRK5QFontP7QWidget @ 687 NONAME + _ZN11QFontDialog7getFontEPbRK5QFontP7QWidgetRK7QString @ 688 NONAME + _ZN11QFontDialog7getFontEPbRK5QFontP7QWidgetRK7QString6QFlagsINS_16FontDialogOptionEE @ 689 NONAME + _ZN11QFontDialog9setOptionENS_16FontDialogOptionEb @ 690 NONAME + _ZN11QFontDialogC1EP7QWidget @ 691 NONAME + _ZN11QFontDialogC1ERK5QFontP7QWidget @ 692 NONAME + _ZN11QFontDialogC2EP7QWidget @ 693 NONAME + _ZN11QFontDialogC2ERK5QFontP7QWidget @ 694 NONAME + _ZN11QFontDialogD0Ev @ 695 NONAME + _ZN11QFontDialogD1Ev @ 696 NONAME + _ZN11QFontDialogD2Ev @ 697 NONAME + _ZN11QFontEngine11boundingBoxEjRK10QTransform @ 698 NONAME + _ZN11QFontEngine11grayPaletteEv @ 699 NONAME + _ZN11QFontEngine13setGlyphCacheEN21QFontEngineGlyphCache4TypeEPS0_ @ 700 NONAME + _ZN11QFontEngine13setGlyphCacheEPvP21QFontEngineGlyphCache @ 701 NONAME + _ZN11QFontEngine15addGlyphsToPathEPjP11QFixedPointiP12QPainterPath6QFlagsIN9QTextItem10RenderFlagEE @ 702 NONAME + _ZN11QFontEngine16addOutlineToPathEffRK12QGlyphLayoutP12QPainterPath6QFlagsIN9QTextItem10RenderFlagEE @ 703 NONAME + _ZN11QFontEngine16alphaMapForGlyphEj @ 704 NONAME + _ZN11QFontEngine16alphaMapForGlyphEjRK10QTransform @ 705 NONAME + _ZN11QFontEngine16expireGlyphCacheEv @ 706 NONAME + _ZN11QFontEngine16getUnscaledGlyphEjP12QPainterPathP15glyph_metrics_t @ 707 NONAME + _ZN11QFontEngine16loadKerningPairsE6QFixed @ 708 NONAME + _ZN11QFontEngine16tightBoundingBoxERK12QGlyphLayout @ 709 NONAME + _ZN11QFontEngine17getGlyphPositionsERK12QGlyphLayoutRK10QTransform6QFlagsIN9QTextItem10RenderFlagEER15QVarLengthArrayIjLi256EERSA_I11QFixedPointLi256EE @ 710 NONAME + _ZN11QFontEngine17getPointInOutlineEjijPiS0_Pj @ 711 NONAME + _ZN11QFontEngine19addBitmapFontToPathEffRK12QGlyphLayoutP12QPainterPath6QFlagsIN9QTextItem10RenderFlagEE @ 712 NONAME + _ZN11QFontEngine19alphaRGBMapForGlyphEjiRK10QTransform @ 713 NONAME + _ZN11QFontEngine20removeGlyphFromCacheEj @ 714 NONAME + _ZN11QFontEngine21getTrueTypeGlyphIndexEPKhj @ 715 NONAME + _ZN11QFontEngine7getCMapEPKhjPbPi @ 716 NONAME + _ZN11QFontEngineC2Ev @ 717 NONAME + _ZN11QFontEngineD0Ev @ 718 NONAME + _ZN11QFontEngineD1Ev @ 719 NONAME + _ZN11QFontEngineD2Ev @ 720 NONAME + _ZN11QFormLayout10invalidateEv @ 721 NONAME + _ZN11QFormLayout10setSpacingEi @ 722 NONAME + _ZN11QFormLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 723 NONAME + _ZN11QFormLayout11qt_metacastEPKc @ 724 NONAME + _ZN11QFormLayout11setGeometryERK5QRect @ 725 NONAME + _ZN11QFormLayout16setFormAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 726 NONAME + _ZN11QFormLayout16setRowWrapPolicyENS_13RowWrapPolicyE @ 727 NONAME + _ZN11QFormLayout16staticMetaObjectE @ 728 NONAME DATA 16 + _ZN11QFormLayout17setLabelAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 729 NONAME + _ZN11QFormLayout18resetFormAlignmentEv @ 730 NONAME + _ZN11QFormLayout18resetRowWrapPolicyEv @ 731 NONAME + _ZN11QFormLayout18setVerticalSpacingEi @ 732 NONAME + _ZN11QFormLayout19getStaticMetaObjectEv @ 733 NONAME + _ZN11QFormLayout19resetLabelAlignmentEv @ 734 NONAME + _ZN11QFormLayout20setFieldGrowthPolicyENS_17FieldGrowthPolicyE @ 735 NONAME + _ZN11QFormLayout20setHorizontalSpacingEi @ 736 NONAME + _ZN11QFormLayout22resetFieldGrowthPolicyEv @ 737 NONAME + _ZN11QFormLayout6addRowEP7QLayout @ 738 NONAME + _ZN11QFormLayout6addRowEP7QWidget @ 739 NONAME + _ZN11QFormLayout6addRowEP7QWidgetP7QLayout @ 740 NONAME + _ZN11QFormLayout6addRowEP7QWidgetS1_ @ 741 NONAME + _ZN11QFormLayout6addRowERK7QStringP7QLayout @ 742 NONAME + _ZN11QFormLayout6addRowERK7QStringP7QWidget @ 743 NONAME + _ZN11QFormLayout6takeAtEi @ 744 NONAME + _ZN11QFormLayout7addItemEP11QLayoutItem @ 745 NONAME + _ZN11QFormLayout7setItemEiNS_8ItemRoleEP11QLayoutItem @ 746 NONAME + _ZN11QFormLayout9insertRowEiP7QLayout @ 747 NONAME + _ZN11QFormLayout9insertRowEiP7QWidget @ 748 NONAME + _ZN11QFormLayout9insertRowEiP7QWidgetP7QLayout @ 749 NONAME + _ZN11QFormLayout9insertRowEiP7QWidgetS1_ @ 750 NONAME + _ZN11QFormLayout9insertRowEiRK7QStringP7QLayout @ 751 NONAME + _ZN11QFormLayout9insertRowEiRK7QStringP7QWidget @ 752 NONAME + _ZN11QFormLayout9setLayoutEiNS_8ItemRoleEP7QLayout @ 753 NONAME + _ZN11QFormLayout9setWidgetEiNS_8ItemRoleEP7QWidget @ 754 NONAME + _ZN11QFormLayoutC1EP7QWidget @ 755 NONAME + _ZN11QFormLayoutC2EP7QWidget @ 756 NONAME + _ZN11QFormLayoutD0Ev @ 757 NONAME + _ZN11QFormLayoutD1Ev @ 758 NONAME + _ZN11QFormLayoutD2Ev @ 759 NONAME + _ZN11QGridLayout10invalidateEv @ 760 NONAME + _ZN11QGridLayout10setSpacingEi @ 761 NONAME + _ZN11QGridLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 762 NONAME + _ZN11QGridLayout11qt_metacastEPKc @ 763 NONAME + _ZN11QGridLayout11setGeometryERK5QRect @ 764 NONAME + _ZN11QGridLayout13setRowStretchEii @ 765 NONAME + _ZN11QGridLayout15getItemPositionEiPiS0_S0_S0_ @ 766 NONAME + _ZN11QGridLayout15setOriginCornerEN2Qt6CornerE @ 767 NONAME + _ZN11QGridLayout16setColumnStretchEii @ 768 NONAME + _ZN11QGridLayout16staticMetaObjectE @ 769 NONAME DATA 16 + _ZN11QGridLayout18setVerticalSpacingEi @ 770 NONAME + _ZN11QGridLayout19getStaticMetaObjectEv @ 771 NONAME + _ZN11QGridLayout19setRowMinimumHeightEii @ 772 NONAME + _ZN11QGridLayout20setHorizontalSpacingEi @ 773 NONAME + _ZN11QGridLayout21setColumnMinimumWidthEii @ 774 NONAME + _ZN11QGridLayout21setDefaultPositioningEiN2Qt11OrientationE @ 775 NONAME + _ZN11QGridLayout6takeAtEi @ 776 NONAME + _ZN11QGridLayout7addItemEP11QLayoutItem @ 777 NONAME + _ZN11QGridLayout7addItemEP11QLayoutItemiiii6QFlagsIN2Qt13AlignmentFlagEE @ 778 NONAME + _ZN11QGridLayout9addLayoutEP7QLayoutii6QFlagsIN2Qt13AlignmentFlagEE @ 779 NONAME + _ZN11QGridLayout9addLayoutEP7QLayoutiiii6QFlagsIN2Qt13AlignmentFlagEE @ 780 NONAME + _ZN11QGridLayout9addWidgetEP7QWidgetii6QFlagsIN2Qt13AlignmentFlagEE @ 781 NONAME + _ZN11QGridLayout9addWidgetEP7QWidgetiiii6QFlagsIN2Qt13AlignmentFlagEE @ 782 NONAME + _ZN11QGridLayoutC1EP7QWidget @ 783 NONAME + _ZN11QGridLayoutC1Ev @ 784 NONAME + _ZN11QGridLayoutC2EP7QWidget @ 785 NONAME + _ZN11QGridLayoutC2Ev @ 786 NONAME + _ZN11QGridLayoutD0Ev @ 787 NONAME + _ZN11QGridLayoutD1Ev @ 788 NONAME + _ZN11QGridLayoutD2Ev @ 789 NONAME + _ZN11QHBoxLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 790 NONAME + _ZN11QHBoxLayout11qt_metacastEPKc @ 791 NONAME + _ZN11QHBoxLayout16staticMetaObjectE @ 792 NONAME DATA 16 + _ZN11QHBoxLayout19getStaticMetaObjectEv @ 793 NONAME + _ZN11QHBoxLayoutC1EP7QWidget @ 794 NONAME + _ZN11QHBoxLayoutC1Ev @ 795 NONAME + _ZN11QHBoxLayoutC2EP7QWidget @ 796 NONAME + _ZN11QHBoxLayoutC2Ev @ 797 NONAME + _ZN11QHBoxLayoutD0Ev @ 798 NONAME + _ZN11QHBoxLayoutD1Ev @ 799 NONAME + _ZN11QHBoxLayoutD2Ev @ 800 NONAME + _ZN11QHeaderView10initializeEv @ 801 NONAME + _ZN11QHeaderView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 802 NONAME + _ZN11QHeaderView10paintEventEP11QPaintEvent @ 803 NONAME + _ZN11QHeaderView10setMovableEb @ 804 NONAME + _ZN11QHeaderView11dataChangedERK11QModelIndexS2_ @ 805 NONAME + _ZN11QHeaderView11moveSectionEii @ 806 NONAME + _ZN11QHeaderView11qt_metacallEN11QMetaObject4CallEiPPv @ 807 NONAME + _ZN11QHeaderView11qt_metacastEPKc @ 808 NONAME + _ZN11QHeaderView12restoreStateERK10QByteArray @ 809 NONAME + _ZN11QHeaderView12rowsInsertedERK11QModelIndexii @ 810 NONAME + _ZN11QHeaderView12sectionMovedEiii @ 811 NONAME + _ZN11QHeaderView12setClickableEb @ 812 NONAME + _ZN11QHeaderView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 813 NONAME + _ZN11QHeaderView12swapSectionsEii @ 814 NONAME + _ZN11QHeaderView13doItemsLayoutEv @ 815 NONAME + _ZN11QHeaderView13resizeSectionEii @ 816 NONAME + _ZN11QHeaderView13setResizeModeENS_10ResizeModeE @ 817 NONAME + _ZN11QHeaderView13setResizeModeEiNS_10ResizeModeE @ 818 NONAME + _ZN11QHeaderView13updateSectionEi @ 819 NONAME + _ZN11QHeaderView13viewportEventEP6QEvent @ 820 NONAME + _ZN11QHeaderView14currentChangedERK11QModelIndexS2_ @ 821 NONAME + _ZN11QHeaderView14mouseMoveEventEP11QMouseEvent @ 822 NONAME + _ZN11QHeaderView14resizeSectionsENS_10ResizeModeE @ 823 NONAME + _ZN11QHeaderView14resizeSectionsEv @ 824 NONAME + _ZN11QHeaderView14sectionClickedEi @ 825 NONAME + _ZN11QHeaderView14sectionEnteredEi @ 826 NONAME + _ZN11QHeaderView14sectionPressedEi @ 827 NONAME + _ZN11QHeaderView14sectionResizedEiii @ 828 NONAME + _ZN11QHeaderView15mousePressEventEP11QMouseEvent @ 829 NONAME + _ZN11QHeaderView16scrollContentsByEii @ 830 NONAME + _ZN11QHeaderView16sectionsInsertedERK11QModelIndexii @ 831 NONAME + _ZN11QHeaderView16setSectionHiddenEib @ 832 NONAME + _ZN11QHeaderView16setSortIndicatorEiN2Qt9SortOrderE @ 833 NONAME + _ZN11QHeaderView16staticMetaObjectE @ 834 NONAME DATA 16 + _ZN11QHeaderView16updateGeometriesEv @ 835 NONAME + _ZN11QHeaderView17geometriesChangedEv @ 836 NONAME + _ZN11QHeaderView17headerDataChangedEN2Qt11OrientationEii @ 837 NONAME + _ZN11QHeaderView17mouseReleaseEventEP11QMouseEvent @ 838 NONAME + _ZN11QHeaderView17sectionAutoResizeEiNS_10ResizeModeE @ 839 NONAME + _ZN11QHeaderView18initializeSectionsEii @ 840 NONAME + _ZN11QHeaderView18initializeSectionsEv @ 841 NONAME + _ZN11QHeaderView19getStaticMetaObjectEv @ 842 NONAME + _ZN11QHeaderView19sectionCountChangedEii @ 843 NONAME + _ZN11QHeaderView19setDefaultAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 844 NONAME + _ZN11QHeaderView20sectionDoubleClickedEi @ 845 NONAME + _ZN11QHeaderView20setHighlightSectionsEb @ 846 NONAME + _ZN11QHeaderView20sortIndicatorChangedEiN2Qt9SortOrderE @ 847 NONAME + _ZN11QHeaderView21mouseDoubleClickEventEP11QMouseEvent @ 848 NONAME + _ZN11QHeaderView21setDefaultSectionSizeEi @ 849 NONAME + _ZN11QHeaderView21setMinimumSectionSizeEi @ 850 NONAME + _ZN11QHeaderView21setSortIndicatorShownEb @ 851 NONAME + _ZN11QHeaderView21setStretchLastSectionEb @ 852 NONAME + _ZN11QHeaderView22setOffsetToLastSectionEv @ 853 NONAME + _ZN11QHeaderView24sectionsAboutToBeRemovedERK11QModelIndexii @ 854 NONAME + _ZN11QHeaderView26sectionHandleDoubleClickedEi @ 855 NONAME + _ZN11QHeaderView26setCascadingSectionResizesEb @ 856 NONAME + _ZN11QHeaderView26setOffsetToSectionPositionEi @ 857 NONAME + _ZN11QHeaderView5eventEP6QEvent @ 858 NONAME + _ZN11QHeaderView5resetEv @ 859 NONAME + _ZN11QHeaderView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 860 NONAME + _ZN11QHeaderView8setModelEP18QAbstractItemModel @ 861 NONAME + _ZN11QHeaderView9setOffsetEi @ 862 NONAME + _ZN11QHeaderViewC1EN2Qt11OrientationEP7QWidget @ 863 NONAME + _ZN11QHeaderViewC1ER18QHeaderViewPrivateN2Qt11OrientationEP7QWidget @ 864 NONAME + _ZN11QHeaderViewC2EN2Qt11OrientationEP7QWidget @ 865 NONAME + _ZN11QHeaderViewC2ER18QHeaderViewPrivateN2Qt11OrientationEP7QWidget @ 866 NONAME + _ZN11QHeaderViewD0Ev @ 867 NONAME + _ZN11QHeaderViewD1Ev @ 868 NONAME + _ZN11QHeaderViewD2Ev @ 869 NONAME + _ZN11QHoverEventC1EN6QEvent4TypeERK6QPointS4_ @ 870 NONAME + _ZN11QHoverEventC2EN6QEvent4TypeERK6QPointS4_ @ 871 NONAME + _ZN11QHoverEventD0Ev @ 872 NONAME + _ZN11QHoverEventD1Ev @ 873 NONAME + _ZN11QHoverEventD2Ev @ 874 NONAME + _ZN11QIconEngine10actualSizeERK5QSizeN5QIcon4ModeENS3_5StateE @ 875 NONAME + _ZN11QIconEngine6pixmapERK5QSizeN5QIcon4ModeENS3_5StateE @ 876 NONAME + _ZN11QIconEngine7addFileERK7QStringRK5QSizeN5QIcon4ModeENS6_5StateE @ 877 NONAME + _ZN11QIconEngine9addPixmapERK7QPixmapN5QIcon4ModeENS3_5StateE @ 878 NONAME + _ZN11QIconEngineD0Ev @ 879 NONAME + _ZN11QIconEngineD1Ev @ 880 NONAME + _ZN11QIconEngineD2Ev @ 881 NONAME + _ZN11QInputEventC1EN6QEvent4TypeE6QFlagsIN2Qt16KeyboardModifierEE @ 882 NONAME + _ZN11QInputEventC2EN6QEvent4TypeE6QFlagsIN2Qt16KeyboardModifierEE @ 883 NONAME + _ZN11QInputEventD0Ev @ 884 NONAME + _ZN11QInputEventD1Ev @ 885 NONAME + _ZN11QInputEventD2Ev @ 886 NONAME + _ZN11QLayoutItem10invalidateEv @ 887 NONAME + _ZN11QLayoutItem10spacerItemEv @ 888 NONAME + _ZN11QLayoutItem12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 889 NONAME + _ZN11QLayoutItem6layoutEv @ 890 NONAME + _ZN11QLayoutItem6widgetEv @ 891 NONAME + _ZN11QLayoutItemD0Ev @ 892 NONAME + _ZN11QLayoutItemD1Ev @ 893 NONAME + _ZN11QLayoutItemD2Ev @ 894 NONAME + _ZN11QListWidget10insertItemEiP15QListWidgetItem @ 895 NONAME + _ZN11QListWidget10insertItemEiRK7QString @ 896 NONAME + _ZN11QListWidget11insertItemsEiRK11QStringList @ 897 NONAME + _ZN11QListWidget11itemChangedEP15QListWidgetItem @ 898 NONAME + _ZN11QListWidget11itemClickedEP15QListWidgetItem @ 899 NONAME + _ZN11QListWidget11itemEnteredEP15QListWidgetItem @ 900 NONAME + _ZN11QListWidget11itemPressedEP15QListWidgetItem @ 901 NONAME + _ZN11QListWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 902 NONAME + _ZN11QListWidget11qt_metacastEPKc @ 903 NONAME + _ZN11QListWidget12dropMimeDataEiPK9QMimeDataN2Qt10DropActionE @ 904 NONAME + _ZN11QListWidget12scrollToItemEPK15QListWidgetItemN17QAbstractItemView10ScrollHintE @ 905 NONAME + _ZN11QListWidget13itemActivatedEP15QListWidgetItem @ 906 NONAME + _ZN11QListWidget13setCurrentRowEi @ 907 NONAME + _ZN11QListWidget13setCurrentRowEi6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 908 NONAME + _ZN11QListWidget13setItemHiddenEPK15QListWidgetItemb @ 909 NONAME + _ZN11QListWidget13setItemWidgetEP15QListWidgetItemP7QWidget @ 910 NONAME + _ZN11QListWidget14setCurrentItemEP15QListWidgetItem @ 911 NONAME + _ZN11QListWidget14setCurrentItemEP15QListWidgetItem6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 912 NONAME + _ZN11QListWidget15setItemSelectedEPK15QListWidgetItemb @ 913 NONAME + _ZN11QListWidget16staticMetaObjectE @ 914 NONAME DATA 16 + _ZN11QListWidget17currentRowChangedEi @ 915 NONAME + _ZN11QListWidget17itemDoubleClickedEP15QListWidgetItem @ 916 NONAME + _ZN11QListWidget17setSortingEnabledEb @ 917 NONAME + _ZN11QListWidget18currentItemChangedEP15QListWidgetItemS1_ @ 918 NONAME + _ZN11QListWidget18currentTextChangedERK7QString @ 919 NONAME + _ZN11QListWidget19getStaticMetaObjectEv @ 920 NONAME + _ZN11QListWidget20itemSelectionChangedEv @ 921 NONAME + _ZN11QListWidget20openPersistentEditorEP15QListWidgetItem @ 922 NONAME + _ZN11QListWidget21closePersistentEditorEP15QListWidgetItem @ 923 NONAME + _ZN11QListWidget5clearEv @ 924 NONAME + _ZN11QListWidget5eventEP6QEvent @ 925 NONAME + _ZN11QListWidget8editItemEP15QListWidgetItem @ 926 NONAME + _ZN11QListWidget8setModelEP18QAbstractItemModel @ 927 NONAME + _ZN11QListWidget8takeItemEi @ 928 NONAME + _ZN11QListWidget9dropEventEP10QDropEvent @ 929 NONAME + _ZN11QListWidget9sortItemsEN2Qt9SortOrderE @ 930 NONAME + _ZN11QListWidgetC1EP7QWidget @ 931 NONAME + _ZN11QListWidgetC2EP7QWidget @ 932 NONAME + _ZN11QListWidgetD0Ev @ 933 NONAME + _ZN11QListWidgetD1Ev @ 934 NONAME + _ZN11QListWidgetD2Ev @ 935 NONAME + _ZN11QMainWindow10addToolBarEN2Qt11ToolBarAreaEP8QToolBar @ 936 NONAME + _ZN11QMainWindow10addToolBarEP8QToolBar @ 937 NONAME + _ZN11QMainWindow10addToolBarERK7QString @ 938 NONAME + _ZN11QMainWindow10setMenuBarEP8QMenuBar @ 939 NONAME + _ZN11QMainWindow11qt_metacallEN11QMetaObject4CallEiPPv @ 940 NONAME + _ZN11QMainWindow11qt_metacastEPKc @ 941 NONAME + _ZN11QMainWindow11setAnimatedEb @ 942 NONAME + _ZN11QMainWindow11setIconSizeERK5QSize @ 943 NONAME + _ZN11QMainWindow11setTabShapeEN10QTabWidget8TabShapeE @ 944 NONAME + _ZN11QMainWindow12restoreStateERK10QByteArrayi @ 945 NONAME + _ZN11QMainWindow12setStatusBarEP10QStatusBar @ 946 NONAME + _ZN11QMainWindow13addDockWidgetEN2Qt14DockWidgetAreaEP11QDockWidget @ 947 NONAME + _ZN11QMainWindow13addDockWidgetEN2Qt14DockWidgetAreaEP11QDockWidgetNS0_11OrientationE @ 948 NONAME + _ZN11QMainWindow13insertToolBarEP8QToolBarS1_ @ 949 NONAME + _ZN11QMainWindow13removeToolBarEP8QToolBar @ 950 NONAME + _ZN11QMainWindow13setMenuWidgetEP7QWidget @ 951 NONAME + _ZN11QMainWindow14setDockOptionsE6QFlagsINS_10DockOptionEE @ 952 NONAME + _ZN11QMainWindow14setTabPositionE6QFlagsIN2Qt14DockWidgetAreaEEN10QTabWidget11TabPositionE @ 953 NONAME + _ZN11QMainWindow15addToolBarBreakEN2Qt11ToolBarAreaE @ 954 NONAME + _ZN11QMainWindow15createPopupMenuEv @ 955 NONAME + _ZN11QMainWindow15iconSizeChangedERK5QSize @ 956 NONAME + _ZN11QMainWindow15setDocumentModeEb @ 957 NONAME + _ZN11QMainWindow15splitDockWidgetEP11QDockWidgetS1_N2Qt11OrientationE @ 958 NONAME + _ZN11QMainWindow16contextMenuEventEP17QContextMenuEvent @ 959 NONAME + _ZN11QMainWindow16removeDockWidgetEP11QDockWidget @ 960 NONAME + _ZN11QMainWindow16setCentralWidgetEP7QWidget @ 961 NONAME + _ZN11QMainWindow16staticMetaObjectE @ 962 NONAME DATA 16 + _ZN11QMainWindow16tabifyDockWidgetEP11QDockWidgetS1_ @ 963 NONAME + _ZN11QMainWindow17restoreDockWidgetEP11QDockWidget @ 964 NONAME + _ZN11QMainWindow18insertToolBarBreakEP8QToolBar @ 965 NONAME + _ZN11QMainWindow18removeToolBarBreakEP8QToolBar @ 966 NONAME + _ZN11QMainWindow18setToolButtonStyleEN2Qt15ToolButtonStyleE @ 967 NONAME + _ZN11QMainWindow19getStaticMetaObjectEv @ 968 NONAME + _ZN11QMainWindow21setDockNestingEnabledEb @ 969 NONAME + _ZN11QMainWindow22toolButtonStyleChangedEN2Qt15ToolButtonStyleE @ 970 NONAME + _ZN11QMainWindow30setUnifiedTitleAndToolBarOnMacEb @ 971 NONAME + _ZN11QMainWindow5eventEP6QEvent @ 972 NONAME + _ZN11QMainWindow9setCornerEN2Qt6CornerENS0_14DockWidgetAreaE @ 973 NONAME + _ZN11QMainWindowC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 974 NONAME + _ZN11QMainWindowC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 975 NONAME + _ZN11QMainWindowD0Ev @ 976 NONAME + _ZN11QMainWindowD1Ev @ 977 NONAME + _ZN11QMainWindowD2Ev @ 978 NONAME + _ZN11QMessageBox10closeEventEP11QCloseEvent @ 979 NONAME + _ZN11QMessageBox11changeEventEP6QEvent @ 980 NONAME + _ZN11QMessageBox11informationEP7QWidgetRK7QStringS4_6QFlagsINS_14StandardButtonEES6_ @ 981 NONAME + _ZN11QMessageBox11informationEP7QWidgetRK7QStringS4_S4_S4_S4_ii @ 982 NONAME + _ZN11QMessageBox11informationEP7QWidgetRK7QStringS4_iii @ 983 NONAME + _ZN11QMessageBox11qt_metacallEN11QMetaObject4CallEiPPv @ 984 NONAME + _ZN11QMessageBox11qt_metacastEPKc @ 985 NONAME + _ZN11QMessageBox11resizeEventEP12QResizeEvent @ 986 NONAME + _ZN11QMessageBox12removeButtonEP15QAbstractButton @ 987 NONAME + _ZN11QMessageBox12standardIconENS_4IconE @ 988 NONAME + _ZN11QMessageBox13buttonClickedEP15QAbstractButton @ 989 NONAME + _ZN11QMessageBox13keyPressEventEP9QKeyEvent @ 990 NONAME + _ZN11QMessageBox13setButtonTextEiRK7QString @ 991 NONAME + _ZN11QMessageBox13setIconPixmapERK7QPixmap @ 992 NONAME + _ZN11QMessageBox13setTextFormatEN2Qt10TextFormatE @ 993 NONAME + _ZN11QMessageBox14setWindowTitleERK7QString @ 994 NONAME + _ZN11QMessageBox15setDetailedTextERK7QString @ 995 NONAME + _ZN11QMessageBox15setEscapeButtonENS_14StandardButtonE @ 996 NONAME + _ZN11QMessageBox15setEscapeButtonEP15QAbstractButton @ 997 NONAME + _ZN11QMessageBox16setDefaultButtonENS_14StandardButtonE @ 998 NONAME + _ZN11QMessageBox16setDefaultButtonEP11QPushButton @ 999 NONAME + _ZN11QMessageBox16staticMetaObjectE @ 1000 NONAME DATA 16 + _ZN11QMessageBox17setWindowModalityEN2Qt14WindowModalityE @ 1001 NONAME + _ZN11QMessageBox18setInformativeTextERK7QString @ 1002 NONAME + _ZN11QMessageBox18setStandardButtonsE6QFlagsINS_14StandardButtonEE @ 1003 NONAME + _ZN11QMessageBox19getStaticMetaObjectEv @ 1004 NONAME + _ZN11QMessageBox4openEP7QObjectPKc @ 1005 NONAME + _ZN11QMessageBox5aboutEP7QWidgetRK7QStringS4_ @ 1006 NONAME + _ZN11QMessageBox5eventEP6QEvent @ 1007 NONAME + _ZN11QMessageBox7aboutQtEP7QWidgetRK7QString @ 1008 NONAME + _ZN11QMessageBox7setIconENS_4IconE @ 1009 NONAME + _ZN11QMessageBox7setTextERK7QString @ 1010 NONAME + _ZN11QMessageBox7warningEP7QWidgetRK7QStringS4_6QFlagsINS_14StandardButtonEES6_ @ 1011 NONAME + _ZN11QMessageBox7warningEP7QWidgetRK7QStringS4_S4_S4_S4_ii @ 1012 NONAME + _ZN11QMessageBox7warningEP7QWidgetRK7QStringS4_iii @ 1013 NONAME + _ZN11QMessageBox8criticalEP7QWidgetRK7QStringS4_6QFlagsINS_14StandardButtonEES6_ @ 1014 NONAME + _ZN11QMessageBox8criticalEP7QWidgetRK7QStringS4_S4_S4_S4_ii @ 1015 NONAME + _ZN11QMessageBox8criticalEP7QWidgetRK7QStringS4_iii @ 1016 NONAME + _ZN11QMessageBox8questionEP7QWidgetRK7QStringS4_6QFlagsINS_14StandardButtonEES6_ @ 1017 NONAME + _ZN11QMessageBox8questionEP7QWidgetRK7QStringS4_S4_S4_S4_ii @ 1018 NONAME + _ZN11QMessageBox8questionEP7QWidgetRK7QStringS4_iii @ 1019 NONAME + _ZN11QMessageBox9addButtonENS_14StandardButtonE @ 1020 NONAME + _ZN11QMessageBox9addButtonEP15QAbstractButtonNS_10ButtonRoleE @ 1021 NONAME + _ZN11QMessageBox9addButtonERK7QStringNS_10ButtonRoleE @ 1022 NONAME + _ZN11QMessageBox9showEventEP10QShowEvent @ 1023 NONAME + _ZN11QMessageBoxC1ENS_4IconERK7QStringS3_6QFlagsINS_14StandardButtonEEP7QWidgetS4_IN2Qt10WindowTypeEE @ 1024 NONAME + _ZN11QMessageBoxC1EP7QWidget @ 1025 NONAME + _ZN11QMessageBoxC1ERK7QStringS2_NS_4IconEiiiP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 1026 NONAME + _ZN11QMessageBoxC2ENS_4IconERK7QStringS3_6QFlagsINS_14StandardButtonEEP7QWidgetS4_IN2Qt10WindowTypeEE @ 1027 NONAME + _ZN11QMessageBoxC2EP7QWidget @ 1028 NONAME + _ZN11QMessageBoxC2ERK7QStringS2_NS_4IconEiiiP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 1029 NONAME + _ZN11QMessageBoxD0Ev @ 1030 NONAME + _ZN11QMessageBoxD1Ev @ 1031 NONAME + _ZN11QMessageBoxD2Ev @ 1032 NONAME + _ZN11QMimeSourceD0Ev @ 1033 NONAME + _ZN11QMimeSourceD1Ev @ 1034 NONAME + _ZN11QMimeSourceD2Ev @ 1035 NONAME + _ZN11QMouseEvent24createExtendedMouseEventEN6QEvent4TypeERK7QPointFRK6QPointN2Qt11MouseButtonE6QFlagsIS9_ESA_INS8_16KeyboardModifierEE @ 1036 NONAME + _ZN11QMouseEventC1EN6QEvent4TypeERK6QPointN2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE @ 1037 NONAME + _ZN11QMouseEventC1EN6QEvent4TypeERK6QPointS4_N2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE @ 1038 NONAME + _ZN11QMouseEventC2EN6QEvent4TypeERK6QPointN2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE @ 1039 NONAME + _ZN11QMouseEventC2EN6QEvent4TypeERK6QPointS4_N2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE @ 1040 NONAME + _ZN11QMouseEventD0Ev @ 1041 NONAME + _ZN11QMouseEventD1Ev @ 1042 NONAME + _ZN11QMouseEventD2Ev @ 1043 NONAME + _ZN11QPaintEventC1ERK5QRect @ 1044 NONAME + _ZN11QPaintEventC1ERK7QRegion @ 1045 NONAME + _ZN11QPaintEventC2ERK5QRect @ 1046 NONAME + _ZN11QPaintEventC2ERK7QRegion @ 1047 NONAME + _ZN11QPaintEventD0Ev @ 1048 NONAME + _ZN11QPaintEventD1Ev @ 1049 NONAME + _ZN11QPaintEventD2Ev @ 1050 NONAME + _ZN11QPanGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 1051 NONAME + _ZN11QPanGesture11qt_metacastEPKc @ 1052 NONAME + _ZN11QPanGesture13setLastOffsetERK6QSizeF @ 1053 NONAME + _ZN11QPanGesture14setTotalOffsetERK6QSizeF @ 1054 NONAME + _ZN11QPanGesture15setAccelerationEf @ 1055 NONAME + _ZN11QPanGesture16staticMetaObjectE @ 1056 NONAME DATA 16 + _ZN11QPanGesture19getStaticMetaObjectEv @ 1057 NONAME + _ZN11QPanGesture9setOffsetERK6QSizeF @ 1058 NONAME + _ZN11QPanGestureC1EP7QObject @ 1059 NONAME + _ZN11QPanGestureC2EP7QObject @ 1060 NONAME + _ZN11QPixmapData12toNativeTypeENS_10NativeTypeE @ 1061 NONAME + _ZN11QPixmapData14fromNativeTypeEPvNS_10NativeTypeE @ 1062 NONAME + _ZN11QPixmapData15setAlphaChannelERK7QPixmap @ 1063 NONAME + _ZN11QPixmapData15setSerialNumberEi @ 1064 NONAME + _ZN11QPixmapData4copyEPKS_RK5QRect @ 1065 NONAME + _ZN11QPixmapData6bufferEv @ 1066 NONAME + _ZN11QPixmapData6scrollEiiRK5QRect @ 1067 NONAME + _ZN11QPixmapData7setMaskERK7QBitmap @ 1068 NONAME + _ZN11QPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 1069 NONAME + _ZN11QPixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 1070 NONAME + _ZN11QPixmapDataC2ENS_9PixelTypeEi @ 1071 NONAME + _ZN11QPixmapDataD0Ev @ 1072 NONAME + _ZN11QPixmapDataD1Ev @ 1073 NONAME + _ZN11QPixmapDataD2Ev @ 1074 NONAME + _ZN11QProxyModel10insertRowsEiiRK11QModelIndex @ 1075 NONAME + _ZN11QProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1076 NONAME + _ZN11QProxyModel11qt_metacastEPKc @ 1077 NONAME + _ZN11QProxyModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 1078 NONAME + _ZN11QProxyModel13insertColumnsEiiRK11QModelIndex @ 1079 NONAME + _ZN11QProxyModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 1080 NONAME + _ZN11QProxyModel16staticMetaObjectE @ 1081 NONAME DATA 16 + _ZN11QProxyModel19getStaticMetaObjectEv @ 1082 NONAME + _ZN11QProxyModel4sortEiN2Qt9SortOrderE @ 1083 NONAME + _ZN11QProxyModel6revertEv @ 1084 NONAME + _ZN11QProxyModel6submitEv @ 1085 NONAME + _ZN11QProxyModel7setDataERK11QModelIndexRK8QVarianti @ 1086 NONAME + _ZN11QProxyModel8setModelEP18QAbstractItemModel @ 1087 NONAME + _ZN11QProxyModel9fetchMoreERK11QModelIndex @ 1088 NONAME + _ZN11QProxyModelC1EP7QObject @ 1089 NONAME + _ZN11QProxyModelC1ER18QProxyModelPrivateP7QObject @ 1090 NONAME + _ZN11QProxyModelC2EP7QObject @ 1091 NONAME + _ZN11QProxyModelC2ER18QProxyModelPrivateP7QObject @ 1092 NONAME + _ZN11QProxyModelD0Ev @ 1093 NONAME + _ZN11QProxyModelD1Ev @ 1094 NONAME + _ZN11QProxyModelD2Ev @ 1095 NONAME + _ZN11QProxyStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 1096 NONAME + _ZN11QProxyStyle11qt_metacastEPKc @ 1097 NONAME + _ZN11QProxyStyle12setBaseStyleEP6QStyle @ 1098 NONAME + _ZN11QProxyStyle16staticMetaObjectE @ 1099 NONAME DATA 16 + _ZN11QProxyStyle19getStaticMetaObjectEv @ 1100 NONAME + _ZN11QProxyStyle5eventEP6QEvent @ 1101 NONAME + _ZN11QProxyStyle6polishEP12QApplication @ 1102 NONAME + _ZN11QProxyStyle6polishEP7QWidget @ 1103 NONAME + _ZN11QProxyStyle6polishER8QPalette @ 1104 NONAME + _ZN11QProxyStyle8unpolishEP12QApplication @ 1105 NONAME + _ZN11QProxyStyle8unpolishEP7QWidget @ 1106 NONAME + _ZN11QProxyStyleC1EP6QStyle @ 1107 NONAME + _ZN11QProxyStyleC2EP6QStyle @ 1108 NONAME + _ZN11QProxyStyleD0Ev @ 1109 NONAME + _ZN11QProxyStyleD1Ev @ 1110 NONAME + _ZN11QProxyStyleD2Ev @ 1111 NONAME + _ZN11QPushButton10paintEventEP11QPaintEvent @ 1112 NONAME + _ZN11QPushButton10setDefaultEb @ 1113 NONAME + _ZN11QPushButton11qt_metacallEN11QMetaObject4CallEiPPv @ 1114 NONAME + _ZN11QPushButton11qt_metacastEPKc @ 1115 NONAME + _ZN11QPushButton12focusInEventEP11QFocusEvent @ 1116 NONAME + _ZN11QPushButton13focusOutEventEP11QFocusEvent @ 1117 NONAME + _ZN11QPushButton13keyPressEventEP9QKeyEvent @ 1118 NONAME + _ZN11QPushButton14setAutoDefaultEb @ 1119 NONAME + _ZN11QPushButton16staticMetaObjectE @ 1120 NONAME DATA 16 + _ZN11QPushButton19getStaticMetaObjectEv @ 1121 NONAME + _ZN11QPushButton5eventEP6QEvent @ 1122 NONAME + _ZN11QPushButton7setFlatEb @ 1123 NONAME + _ZN11QPushButton7setMenuEP5QMenu @ 1124 NONAME + _ZN11QPushButton8showMenuEv @ 1125 NONAME + _ZN11QPushButtonC1EP7QWidget @ 1126 NONAME + _ZN11QPushButtonC1ER18QPushButtonPrivateP7QWidget @ 1127 NONAME + _ZN11QPushButtonC1ERK5QIconRK7QStringP7QWidget @ 1128 NONAME + _ZN11QPushButtonC1ERK7QStringP7QWidget @ 1129 NONAME + _ZN11QPushButtonC2EP7QWidget @ 1130 NONAME + _ZN11QPushButtonC2ER18QPushButtonPrivateP7QWidget @ 1131 NONAME + _ZN11QPushButtonC2ERK5QIconRK7QStringP7QWidget @ 1132 NONAME + _ZN11QPushButtonC2ERK7QStringP7QWidget @ 1133 NONAME + _ZN11QPushButtonD0Ev @ 1134 NONAME + _ZN11QPushButtonD1Ev @ 1135 NONAME + _ZN11QPushButtonD2Ev @ 1136 NONAME + _ZN11QQuaternion16fromAxisAndAngleERK9QVector3Df @ 1137 NONAME + _ZN11QQuaternion16fromAxisAndAngleEffff @ 1138 NONAME + _ZN11QQuaternion5nlerpERKS_S1_f @ 1139 NONAME + _ZN11QQuaternion5slerpERKS_S1_f @ 1140 NONAME + _ZN11QQuaternion9normalizeEv @ 1141 NONAME + _ZN11QRubberBand10paintEventEP11QPaintEvent @ 1142 NONAME + _ZN11QRubberBand11changeEventEP6QEvent @ 1143 NONAME + _ZN11QRubberBand11qt_metacallEN11QMetaObject4CallEiPPv @ 1144 NONAME + _ZN11QRubberBand11qt_metacastEPKc @ 1145 NONAME + _ZN11QRubberBand11resizeEventEP12QResizeEvent @ 1146 NONAME + _ZN11QRubberBand11setGeometryERK5QRect @ 1147 NONAME + _ZN11QRubberBand16staticMetaObjectE @ 1148 NONAME DATA 16 + _ZN11QRubberBand19getStaticMetaObjectEv @ 1149 NONAME + _ZN11QRubberBand5eventEP6QEvent @ 1150 NONAME + _ZN11QRubberBand9moveEventEP10QMoveEvent @ 1151 NONAME + _ZN11QRubberBand9showEventEP10QShowEvent @ 1152 NONAME + _ZN11QRubberBandC1ENS_5ShapeEP7QWidget @ 1153 NONAME + _ZN11QRubberBandC2ENS_5ShapeEP7QWidget @ 1154 NONAME + _ZN11QRubberBandD0Ev @ 1155 NONAME + _ZN11QRubberBandD1Ev @ 1156 NONAME + _ZN11QRubberBandD2Ev @ 1157 NONAME + _ZN11QScrollArea10takeWidgetEv @ 1158 NONAME + _ZN11QScrollArea11eventFilterEP7QObjectP6QEvent @ 1159 NONAME + _ZN11QScrollArea11qt_metacallEN11QMetaObject4CallEiPPv @ 1160 NONAME + _ZN11QScrollArea11qt_metacastEPKc @ 1161 NONAME + _ZN11QScrollArea11resizeEventEP12QResizeEvent @ 1162 NONAME + _ZN11QScrollArea12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 1163 NONAME + _ZN11QScrollArea13ensureVisibleEiiii @ 1164 NONAME + _ZN11QScrollArea16scrollContentsByEii @ 1165 NONAME + _ZN11QScrollArea16staticMetaObjectE @ 1166 NONAME DATA 16 + _ZN11QScrollArea18focusNextPrevChildEb @ 1167 NONAME + _ZN11QScrollArea18setWidgetResizableEb @ 1168 NONAME + _ZN11QScrollArea19ensureWidgetVisibleEP7QWidgetii @ 1169 NONAME + _ZN11QScrollArea19getStaticMetaObjectEv @ 1170 NONAME + _ZN11QScrollArea5eventEP6QEvent @ 1171 NONAME + _ZN11QScrollArea9setWidgetEP7QWidget @ 1172 NONAME + _ZN11QScrollAreaC1EP7QWidget @ 1173 NONAME + _ZN11QScrollAreaC1ER18QScrollAreaPrivateP7QWidget @ 1174 NONAME + _ZN11QScrollAreaC2EP7QWidget @ 1175 NONAME + _ZN11QScrollAreaC2ER18QScrollAreaPrivateP7QWidget @ 1176 NONAME + _ZN11QScrollAreaD0Ev @ 1177 NONAME + _ZN11QScrollAreaD1Ev @ 1178 NONAME + _ZN11QScrollAreaD2Ev @ 1179 NONAME + _ZN11QSizePolicy14setControlTypeENS_11ControlTypeE @ 1180 NONAME + _ZN11QSizePolicy16staticMetaObjectE @ 1181 NONAME DATA 16 + _ZN11QSizePolicy19getStaticMetaObjectEv @ 1182 NONAME + _ZN11QSpacerItem10changeSizeEiiN11QSizePolicy6PolicyES1_ @ 1183 NONAME + _ZN11QSpacerItem10spacerItemEv @ 1184 NONAME + _ZN11QSpacerItem11setGeometryERK5QRect @ 1185 NONAME + _ZN11QStrokerOps10strokePathERK12QPainterPathPvRK10QTransform @ 1186 NONAME + _ZN11QStrokerOps13strokeEllipseERK6QRectFPvRK10QTransform @ 1187 NONAME + _ZN11QStrokerOps13strokePolygonEPK7QPointFibPvRK10QTransform @ 1188 NONAME + _ZN11QStrokerOps3endEv @ 1189 NONAME + _ZN11QStrokerOps5beginEPv @ 1190 NONAME + _ZN11QStrokerOpsC2Ev @ 1191 NONAME + _ZN11QStrokerOpsD0Ev @ 1192 NONAME + _ZN11QStrokerOpsD1Ev @ 1193 NONAME + _ZN11QStrokerOpsD2Ev @ 1194 NONAME + _ZN11QTextCursor10createListEN15QTextListFormat5StyleE @ 1195 NONAME + _ZN11QTextCursor10createListERK15QTextListFormat @ 1196 NONAME + _ZN11QTextCursor10deleteCharEv @ 1197 NONAME + _ZN11QTextCursor10insertHtmlERK7QString @ 1198 NONAME + _ZN11QTextCursor10insertListEN15QTextListFormat5StyleE @ 1199 NONAME + _ZN11QTextCursor10insertListERK15QTextListFormat @ 1200 NONAME + _ZN11QTextCursor10insertTextERK7QString @ 1201 NONAME + _ZN11QTextCursor10insertTextERK7QStringRK15QTextCharFormat @ 1202 NONAME + _ZN11QTextCursor11insertBlockERK16QTextBlockFormat @ 1203 NONAME + _ZN11QTextCursor11insertBlockERK16QTextBlockFormatRK15QTextCharFormat @ 1204 NONAME + _ZN11QTextCursor11insertBlockEv @ 1205 NONAME + _ZN11QTextCursor11insertFrameERK16QTextFrameFormat @ 1206 NONAME + _ZN11QTextCursor11insertImageERK16QTextImageFormat @ 1207 NONAME + _ZN11QTextCursor11insertImageERK16QTextImageFormatN16QTextFrameFormat8PositionE @ 1208 NONAME + _ZN11QTextCursor11insertImageERK6QImageRK7QString @ 1209 NONAME + _ZN11QTextCursor11insertImageERK7QString @ 1210 NONAME + _ZN11QTextCursor11insertTableEii @ 1211 NONAME + _ZN11QTextCursor11insertTableEiiRK16QTextTableFormat @ 1212 NONAME + _ZN11QTextCursor11setPositionEiNS_8MoveModeE @ 1213 NONAME + _ZN11QTextCursor12endEditBlockEv @ 1214 NONAME + _ZN11QTextCursor12movePositionENS_13MoveOperationENS_8MoveModeEi @ 1215 NONAME + _ZN11QTextCursor13setCharFormatERK15QTextCharFormat @ 1216 NONAME + _ZN11QTextCursor14beginEditBlockEv @ 1217 NONAME + _ZN11QTextCursor14clearSelectionEv @ 1218 NONAME + _ZN11QTextCursor14insertFragmentERK21QTextDocumentFragment @ 1219 NONAME + _ZN11QTextCursor14setBlockFormatERK16QTextBlockFormat @ 1220 NONAME + _ZN11QTextCursor15mergeCharFormatERK15QTextCharFormat @ 1221 NONAME + _ZN11QTextCursor16mergeBlockFormatERK16QTextBlockFormat @ 1222 NONAME + _ZN11QTextCursor18deletePreviousCharEv @ 1223 NONAME + _ZN11QTextCursor18removeSelectedTextEv @ 1224 NONAME + _ZN11QTextCursor18setBlockCharFormatERK15QTextCharFormat @ 1225 NONAME + _ZN11QTextCursor19setVisualNavigationEb @ 1226 NONAME + _ZN11QTextCursor20mergeBlockCharFormatERK15QTextCharFormat @ 1227 NONAME + _ZN11QTextCursor21joinPreviousEditBlockEv @ 1228 NONAME + _ZN11QTextCursor6selectENS_13SelectionTypeE @ 1229 NONAME + _ZN11QTextCursorC1EP10QTextFrame @ 1230 NONAME + _ZN11QTextCursorC1EP13QTextDocument @ 1231 NONAME + _ZN11QTextCursorC1EP18QTextCursorPrivate @ 1232 NONAME + _ZN11QTextCursorC1EP20QTextDocumentPrivatei @ 1233 NONAME + _ZN11QTextCursorC1ERK10QTextBlock @ 1234 NONAME + _ZN11QTextCursorC1ERKS_ @ 1235 NONAME + _ZN11QTextCursorC1Ev @ 1236 NONAME + _ZN11QTextCursorC2EP10QTextFrame @ 1237 NONAME + _ZN11QTextCursorC2EP13QTextDocument @ 1238 NONAME + _ZN11QTextCursorC2EP18QTextCursorPrivate @ 1239 NONAME + _ZN11QTextCursorC2EP20QTextDocumentPrivatei @ 1240 NONAME + _ZN11QTextCursorC2ERK10QTextBlock @ 1241 NONAME + _ZN11QTextCursorC2ERKS_ @ 1242 NONAME + _ZN11QTextCursorC2Ev @ 1243 NONAME + _ZN11QTextCursorD1Ev @ 1244 NONAME + _ZN11QTextCursorD2Ev @ 1245 NONAME + _ZN11QTextCursoraSERKS_ @ 1246 NONAME + _ZN11QTextEngine10freeMemoryEv @ 1247 NONAME + _ZN11QTextEngine10invalidateEv @ 1248 NONAME + _ZN11QTextEngine11bidiReorderEiPKhPi @ 1249 NONAME + _ZN11QTextEngine13clearLineDataEv @ 1250 NONAME + _ZN11QTextEngine22indexAdditionalFormatsEv @ 1251 NONAME + _ZN11QTextEngine7justifyERK11QScriptLine @ 1252 NONAME + _ZN11QTextEngine9shapeLineERK11QScriptLine @ 1253 NONAME + _ZN11QTextEngineC1ERK7QStringRK5QFont @ 1254 NONAME + _ZN11QTextEngineC1Ev @ 1255 NONAME + _ZN11QTextEngineC2ERK7QStringRK5QFont @ 1256 NONAME + _ZN11QTextEngineC2Ev @ 1257 NONAME + _ZN11QTextEngineD1Ev @ 1258 NONAME + _ZN11QTextEngineD2Ev @ 1259 NONAME + _ZN11QTextFormat11setPropertyEiRK7QVectorI11QTextLengthE @ 1260 NONAME + _ZN11QTextFormat11setPropertyEiRK8QVariant @ 1261 NONAME + _ZN11QTextFormat13clearPropertyEi @ 1262 NONAME + _ZN11QTextFormat14setObjectIndexEi @ 1263 NONAME + _ZN11QTextFormat16staticMetaObjectE @ 1264 NONAME DATA 16 + _ZN11QTextFormat19getStaticMetaObjectEv @ 1265 NONAME + _ZN11QTextFormat5mergeERKS_ @ 1266 NONAME + _ZN11QTextFormatC1ERKS_ @ 1267 NONAME + _ZN11QTextFormatC1Ei @ 1268 NONAME + _ZN11QTextFormatC1Ev @ 1269 NONAME + _ZN11QTextFormatC2ERKS_ @ 1270 NONAME + _ZN11QTextFormatC2Ei @ 1271 NONAME + _ZN11QTextFormatC2Ev @ 1272 NONAME + _ZN11QTextFormatD1Ev @ 1273 NONAME + _ZN11QTextFormatD2Ev @ 1274 NONAME + _ZN11QTextFormataSERKS_ @ 1275 NONAME + _ZN11QTextLayout10createLineEv @ 1276 NONAME + _ZN11QTextLayout11beginLayoutEv @ 1277 NONAME + _ZN11QTextLayout11clearLayoutEv @ 1278 NONAME + _ZN11QTextLayout11setPositionERK7QPointF @ 1279 NONAME + _ZN11QTextLayout13setTextOptionERK11QTextOption @ 1280 NONAME + _ZN11QTextLayout14setPreeditAreaEiRK7QString @ 1281 NONAME + _ZN11QTextLayout15setCacheEnabledEb @ 1282 NONAME + _ZN11QTextLayout20setAdditionalFormatsERK5QListINS_11FormatRangeEE @ 1283 NONAME + _ZN11QTextLayout22clearAdditionalFormatsEv @ 1284 NONAME + _ZN11QTextLayout7setFontERK5QFont @ 1285 NONAME + _ZN11QTextLayout7setTextERK7QString @ 1286 NONAME + _ZN11QTextLayout8setFlagsEi @ 1287 NONAME + _ZN11QTextLayout9endLayoutEv @ 1288 NONAME + _ZN11QTextLayoutC1ERK10QTextBlock @ 1289 NONAME + _ZN11QTextLayoutC1ERK7QString @ 1290 NONAME + _ZN11QTextLayoutC1ERK7QStringRK5QFontP12QPaintDevice @ 1291 NONAME + _ZN11QTextLayoutC1Ev @ 1292 NONAME + _ZN11QTextLayoutC2ERK10QTextBlock @ 1293 NONAME + _ZN11QTextLayoutC2ERK7QString @ 1294 NONAME + _ZN11QTextLayoutC2ERK7QStringRK5QFontP12QPaintDevice @ 1295 NONAME + _ZN11QTextLayoutC2Ev @ 1296 NONAME + _ZN11QTextLayoutD1Ev @ 1297 NONAME + _ZN11QTextLayoutD2Ev @ 1298 NONAME + _ZN11QTextObject11qt_metacallEN11QMetaObject4CallEiPPv @ 1299 NONAME + _ZN11QTextObject11qt_metacastEPKc @ 1300 NONAME + _ZN11QTextObject16staticMetaObjectE @ 1301 NONAME DATA 16 + _ZN11QTextObject19getStaticMetaObjectEv @ 1302 NONAME + _ZN11QTextObject9setFormatERK11QTextFormat @ 1303 NONAME + _ZN11QTextObjectC1EP13QTextDocument @ 1304 NONAME + _ZN11QTextObjectC1ER18QTextObjectPrivateP13QTextDocument @ 1305 NONAME + _ZN11QTextObjectC2EP13QTextDocument @ 1306 NONAME + _ZN11QTextObjectC2ER18QTextObjectPrivateP13QTextDocument @ 1307 NONAME + _ZN11QTextObjectD0Ev @ 1308 NONAME + _ZN11QTextObjectD1Ev @ 1309 NONAME + _ZN11QTextObjectD2Ev @ 1310 NONAME + _ZN11QTextOption11setTabArrayE5QListIfE @ 1311 NONAME + _ZN11QTextOption7setTabsE5QListINS_3TabEE @ 1312 NONAME + _ZN11QTextOptionC1E6QFlagsIN2Qt13AlignmentFlagEE @ 1313 NONAME + _ZN11QTextOptionC1ERKS_ @ 1314 NONAME + _ZN11QTextOptionC1Ev @ 1315 NONAME + _ZN11QTextOptionC2E6QFlagsIN2Qt13AlignmentFlagEE @ 1316 NONAME + _ZN11QTextOptionC2ERKS_ @ 1317 NONAME + _ZN11QTextOptionC2Ev @ 1318 NONAME + _ZN11QTextOptionD1Ev @ 1319 NONAME + _ZN11QTextOptionD2Ev @ 1320 NONAME + _ZN11QTextOptionaSERKS_ @ 1321 NONAME + _ZN11QToolButton10enterEventEP6QEvent @ 1322 NONAME + _ZN11QToolButton10leaveEventEP6QEvent @ 1323 NONAME + _ZN11QToolButton10paintEventEP11QPaintEvent @ 1324 NONAME + _ZN11QToolButton10timerEventEP11QTimerEvent @ 1325 NONAME + _ZN11QToolButton11actionEventEP12QActionEvent @ 1326 NONAME + _ZN11QToolButton11changeEventEP6QEvent @ 1327 NONAME + _ZN11QToolButton11qt_metacallEN11QMetaObject4CallEiPPv @ 1328 NONAME + _ZN11QToolButton11qt_metacastEPKc @ 1329 NONAME + _ZN11QToolButton12setArrowTypeEN2Qt9ArrowTypeE @ 1330 NONAME + _ZN11QToolButton12setAutoRaiseEb @ 1331 NONAME + _ZN11QToolButton12setPopupModeENS_19ToolButtonPopupModeE @ 1332 NONAME + _ZN11QToolButton14nextCheckStateEv @ 1333 NONAME + _ZN11QToolButton15mousePressEventEP11QMouseEvent @ 1334 NONAME + _ZN11QToolButton16setDefaultActionEP7QAction @ 1335 NONAME + _ZN11QToolButton16staticMetaObjectE @ 1336 NONAME DATA 16 + _ZN11QToolButton17mouseReleaseEventEP11QMouseEvent @ 1337 NONAME + _ZN11QToolButton18setToolButtonStyleEN2Qt15ToolButtonStyleE @ 1338 NONAME + _ZN11QToolButton19getStaticMetaObjectEv @ 1339 NONAME + _ZN11QToolButton5eventEP6QEvent @ 1340 NONAME + _ZN11QToolButton7setMenuEP5QMenu @ 1341 NONAME + _ZN11QToolButton8showMenuEv @ 1342 NONAME + _ZN11QToolButton9triggeredEP7QAction @ 1343 NONAME + _ZN11QToolButtonC1EP7QWidget @ 1344 NONAME + _ZN11QToolButtonC1ER18QToolButtonPrivateP7QWidget @ 1345 NONAME + _ZN11QToolButtonC2EP7QWidget @ 1346 NONAME + _ZN11QToolButtonC2ER18QToolButtonPrivateP7QWidget @ 1347 NONAME + _ZN11QToolButtonD0Ev @ 1348 NONAME + _ZN11QToolButtonD1Ev @ 1349 NONAME + _ZN11QToolButtonD2Ev @ 1350 NONAME + _ZN11QTouchEvent10TouchPoint10setLastPosERK7QPointF @ 1351 NONAME + _ZN11QTouchEvent10TouchPoint11setPressureEf @ 1352 NONAME + _ZN11QTouchEvent10TouchPoint11setScenePosERK7QPointF @ 1353 NONAME + _ZN11QTouchEvent10TouchPoint11setStartPosERK7QPointF @ 1354 NONAME + _ZN11QTouchEvent10TouchPoint12setSceneRectERK6QRectF @ 1355 NONAME + _ZN11QTouchEvent10TouchPoint12setScreenPosERK7QPointF @ 1356 NONAME + _ZN11QTouchEvent10TouchPoint13setScreenRectERK6QRectF @ 1357 NONAME + _ZN11QTouchEvent10TouchPoint15setLastScenePosERK7QPointF @ 1358 NONAME + _ZN11QTouchEvent10TouchPoint16setLastScreenPosERK7QPointF @ 1359 NONAME + _ZN11QTouchEvent10TouchPoint16setNormalizedPosERK7QPointF @ 1360 NONAME + _ZN11QTouchEvent10TouchPoint16setStartScenePosERK7QPointF @ 1361 NONAME + _ZN11QTouchEvent10TouchPoint17setStartScreenPosERK7QPointF @ 1362 NONAME + _ZN11QTouchEvent10TouchPoint20setLastNormalizedPosERK7QPointF @ 1363 NONAME + _ZN11QTouchEvent10TouchPoint21setStartNormalizedPosERK7QPointF @ 1364 NONAME + _ZN11QTouchEvent10TouchPoint5setIdEi @ 1365 NONAME + _ZN11QTouchEvent10TouchPoint6setPosERK7QPointF @ 1366 NONAME + _ZN11QTouchEvent10TouchPoint7setRectERK6QRectF @ 1367 NONAME + _ZN11QTouchEvent10TouchPoint8setStateE6QFlagsIN2Qt15TouchPointStateEE @ 1368 NONAME + _ZN11QTouchEvent10TouchPointC1ERKS0_ @ 1369 NONAME + _ZN11QTouchEvent10TouchPointC1Ei @ 1370 NONAME + _ZN11QTouchEvent10TouchPointC2ERKS0_ @ 1371 NONAME + _ZN11QTouchEvent10TouchPointC2Ei @ 1372 NONAME + _ZN11QTouchEvent10TouchPointD1Ev @ 1373 NONAME + _ZN11QTouchEvent10TouchPointD2Ev @ 1374 NONAME + _ZN11QTouchEvent10TouchPointaSERKS0_ @ 1375 NONAME + _ZN11QTouchEventC1EN6QEvent4TypeENS_10DeviceTypeE6QFlagsIN2Qt16KeyboardModifierEES3_INS4_15TouchPointStateEERK5QListINS_10TouchPointEE @ 1376 NONAME + _ZN11QTouchEventC2EN6QEvent4TypeENS_10DeviceTypeE6QFlagsIN2Qt16KeyboardModifierEES3_INS4_15TouchPointStateEERK5QListINS_10TouchPointEE @ 1377 NONAME + _ZN11QTouchEventD0Ev @ 1378 NONAME + _ZN11QTouchEventD1Ev @ 1379 NONAME + _ZN11QTouchEventD2Ev @ 1380 NONAME + _ZN11QTreeWidget10expandItemEPK15QTreeWidgetItem @ 1381 NONAME + _ZN11QTreeWidget11itemChangedEP15QTreeWidgetItemi @ 1382 NONAME + _ZN11QTreeWidget11itemClickedEP15QTreeWidgetItemi @ 1383 NONAME + _ZN11QTreeWidget11itemEnteredEP15QTreeWidgetItemi @ 1384 NONAME + _ZN11QTreeWidget11itemPressedEP15QTreeWidgetItemi @ 1385 NONAME + _ZN11QTreeWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 1386 NONAME + _ZN11QTreeWidget11qt_metacastEPKc @ 1387 NONAME + _ZN11QTreeWidget12collapseItemEPK15QTreeWidgetItem @ 1388 NONAME + _ZN11QTreeWidget12dropMimeDataEP15QTreeWidgetItemiPK9QMimeDataN2Qt10DropActionE @ 1389 NONAME + _ZN11QTreeWidget12itemExpandedEP15QTreeWidgetItem @ 1390 NONAME + _ZN11QTreeWidget12scrollToItemEPK15QTreeWidgetItemN17QAbstractItemView10ScrollHintE @ 1391 NONAME + _ZN11QTreeWidget13itemActivatedEP15QTreeWidgetItemi @ 1392 NONAME + _ZN11QTreeWidget13itemCollapsedEP15QTreeWidgetItem @ 1393 NONAME + _ZN11QTreeWidget13setHeaderItemEP15QTreeWidgetItem @ 1394 NONAME + _ZN11QTreeWidget13setItemHiddenEPK15QTreeWidgetItemb @ 1395 NONAME + _ZN11QTreeWidget13setItemWidgetEP15QTreeWidgetItemiP7QWidget @ 1396 NONAME + _ZN11QTreeWidget14setColumnCountEi @ 1397 NONAME + _ZN11QTreeWidget14setCurrentItemEP15QTreeWidgetItem @ 1398 NONAME + _ZN11QTreeWidget14setCurrentItemEP15QTreeWidgetItemi @ 1399 NONAME + _ZN11QTreeWidget14setCurrentItemEP15QTreeWidgetItemi6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 1400 NONAME + _ZN11QTreeWidget15addTopLevelItemEP15QTreeWidgetItem @ 1401 NONAME + _ZN11QTreeWidget15setHeaderLabelsERK11QStringList @ 1402 NONAME + _ZN11QTreeWidget15setItemExpandedEPK15QTreeWidgetItemb @ 1403 NONAME + _ZN11QTreeWidget15setItemSelectedEPK15QTreeWidgetItemb @ 1404 NONAME + _ZN11QTreeWidget16addTopLevelItemsERK5QListIP15QTreeWidgetItemE @ 1405 NONAME + _ZN11QTreeWidget16staticMetaObjectE @ 1406 NONAME DATA 16 + _ZN11QTreeWidget16takeTopLevelItemEi @ 1407 NONAME + _ZN11QTreeWidget17itemDoubleClickedEP15QTreeWidgetItemi @ 1408 NONAME + _ZN11QTreeWidget17setSelectionModelEP19QItemSelectionModel @ 1409 NONAME + _ZN11QTreeWidget17setSortingEnabledEb @ 1410 NONAME + _ZN11QTreeWidget18currentItemChangedEP15QTreeWidgetItemS1_ @ 1411 NONAME + _ZN11QTreeWidget18insertTopLevelItemEiP15QTreeWidgetItem @ 1412 NONAME + _ZN11QTreeWidget19getStaticMetaObjectEv @ 1413 NONAME + _ZN11QTreeWidget19indexOfTopLevelItemEP15QTreeWidgetItem @ 1414 NONAME + _ZN11QTreeWidget19insertTopLevelItemsEiRK5QListIP15QTreeWidgetItemE @ 1415 NONAME + _ZN11QTreeWidget20itemSelectionChangedEv @ 1416 NONAME + _ZN11QTreeWidget20openPersistentEditorEP15QTreeWidgetItemi @ 1417 NONAME + _ZN11QTreeWidget21closePersistentEditorEP15QTreeWidgetItemi @ 1418 NONAME + _ZN11QTreeWidget25setFirstItemColumnSpannedEPK15QTreeWidgetItemb @ 1419 NONAME + _ZN11QTreeWidget5clearEv @ 1420 NONAME + _ZN11QTreeWidget5eventEP6QEvent @ 1421 NONAME + _ZN11QTreeWidget8editItemEP15QTreeWidgetItemi @ 1422 NONAME + _ZN11QTreeWidget8setModelEP18QAbstractItemModel @ 1423 NONAME + _ZN11QTreeWidget9dropEventEP10QDropEvent @ 1424 NONAME + _ZN11QTreeWidget9sortItemsEiN2Qt9SortOrderE @ 1425 NONAME + _ZN11QTreeWidgetC1EP7QWidget @ 1426 NONAME + _ZN11QTreeWidgetC2EP7QWidget @ 1427 NONAME + _ZN11QTreeWidgetD0Ev @ 1428 NONAME + _ZN11QTreeWidgetD1Ev @ 1429 NONAME + _ZN11QTreeWidgetD2Ev @ 1430 NONAME + _ZN11QVBoxLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 1431 NONAME + _ZN11QVBoxLayout11qt_metacastEPKc @ 1432 NONAME + _ZN11QVBoxLayout16staticMetaObjectE @ 1433 NONAME DATA 16 + _ZN11QVBoxLayout19getStaticMetaObjectEv @ 1434 NONAME + _ZN11QVBoxLayoutC1EP7QWidget @ 1435 NONAME + _ZN11QVBoxLayoutC1Ev @ 1436 NONAME + _ZN11QVBoxLayoutC2EP7QWidget @ 1437 NONAME + _ZN11QVBoxLayoutC2Ev @ 1438 NONAME + _ZN11QVBoxLayoutD0Ev @ 1439 NONAME + _ZN11QVBoxLayoutD1Ev @ 1440 NONAME + _ZN11QVBoxLayoutD2Ev @ 1441 NONAME + _ZN11QWheelEventC1ERK6QPointS2_i6QFlagsIN2Qt11MouseButtonEES3_INS4_16KeyboardModifierEENS4_11OrientationE @ 1442 NONAME + _ZN11QWheelEventC1ERK6QPointi6QFlagsIN2Qt11MouseButtonEES3_INS4_16KeyboardModifierEENS4_11OrientationE @ 1443 NONAME + _ZN11QWheelEventC2ERK6QPointS2_i6QFlagsIN2Qt11MouseButtonEES3_INS4_16KeyboardModifierEENS4_11OrientationE @ 1444 NONAME + _ZN11QWheelEventC2ERK6QPointi6QFlagsIN2Qt11MouseButtonEES3_INS4_16KeyboardModifierEENS4_11OrientationE @ 1445 NONAME + _ZN11QWheelEventD0Ev @ 1446 NONAME + _ZN11QWheelEventD1Ev @ 1447 NONAME + _ZN11QWheelEventD2Ev @ 1448 NONAME + _ZN11QWidgetItem11setGeometryERK5QRect @ 1449 NONAME + _ZN11QWidgetItem6widgetEv @ 1450 NONAME + _ZN11QWizardPage11cleanupPageEv @ 1451 NONAME + _ZN11QWizardPage11qt_metacallEN11QMetaObject4CallEiPPv @ 1452 NONAME + _ZN11QWizardPage11qt_metacastEPKc @ 1453 NONAME + _ZN11QWizardPage11setSubTitleERK7QString @ 1454 NONAME + _ZN11QWizardPage12setFinalPageEb @ 1455 NONAME + _ZN11QWizardPage12validatePageEv @ 1456 NONAME + _ZN11QWizardPage13registerFieldERK7QStringP7QWidgetPKcS6_ @ 1457 NONAME + _ZN11QWizardPage13setButtonTextEN7QWizard12WizardButtonERK7QString @ 1458 NONAME + _ZN11QWizardPage13setCommitPageEb @ 1459 NONAME + _ZN11QWizardPage14initializePageEv @ 1460 NONAME + _ZN11QWizardPage15completeChangedEv @ 1461 NONAME + _ZN11QWizardPage16staticMetaObjectE @ 1462 NONAME DATA 16 + _ZN11QWizardPage19getStaticMetaObjectEv @ 1463 NONAME + _ZN11QWizardPage8setFieldERK7QStringRK8QVariant @ 1464 NONAME + _ZN11QWizardPage8setTitleERK7QString @ 1465 NONAME + _ZN11QWizardPage9setPixmapEN7QWizard12WizardPixmapERK7QPixmap @ 1466 NONAME + _ZN11QWizardPageC1EP7QWidget @ 1467 NONAME + _ZN11QWizardPageC2EP7QWidget @ 1468 NONAME + _ZN12QActionEventC1EiP7QActionS1_ @ 1469 NONAME + _ZN12QActionEventC2EiP7QActionS1_ @ 1470 NONAME + _ZN12QActionEventD0Ev @ 1471 NONAME + _ZN12QActionEventD1Ev @ 1472 NONAME + _ZN12QActionEventD2Ev @ 1473 NONAME + _ZN12QActionGroup10setEnabledEb @ 1474 NONAME + _ZN12QActionGroup10setVisibleEb @ 1475 NONAME + _ZN12QActionGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1476 NONAME + _ZN12QActionGroup11qt_metacastEPKc @ 1477 NONAME + _ZN12QActionGroup12removeActionEP7QAction @ 1478 NONAME + _ZN12QActionGroup12setExclusiveEb @ 1479 NONAME + _ZN12QActionGroup16staticMetaObjectE @ 1480 NONAME DATA 16 + _ZN12QActionGroup19getStaticMetaObjectEv @ 1481 NONAME + _ZN12QActionGroup7hoveredEP7QAction @ 1482 NONAME + _ZN12QActionGroup8selectedEP7QAction @ 1483 NONAME + _ZN12QActionGroup9addActionEP7QAction @ 1484 NONAME + _ZN12QActionGroup9addActionERK5QIconRK7QString @ 1485 NONAME + _ZN12QActionGroup9addActionERK7QString @ 1486 NONAME + _ZN12QActionGroup9triggeredEP7QAction @ 1487 NONAME + _ZN12QActionGroupC1EP7QObject @ 1488 NONAME + _ZN12QActionGroupC2EP7QObject @ 1489 NONAME + _ZN12QActionGroupD0Ev @ 1490 NONAME + _ZN12QActionGroupD1Ev @ 1491 NONAME + _ZN12QActionGroupD2Ev @ 1492 NONAME + _ZN12QApplication10allWidgetsEv @ 1493 NONAME + _ZN12QApplication10commitDataER15QSessionManager @ 1494 NONAME + _ZN12QApplication10setPaletteERK8QPalettePKc @ 1495 NONAME + _ZN12QApplication10topLevelAtERK6QPoint @ 1496 NONAME + _ZN12QApplication10windowIconEv @ 1497 NONAME + _ZN12QApplication11focusWidgetEv @ 1498 NONAME + _ZN12QApplication11fontMetricsEv @ 1499 NONAME + _ZN12QApplication11globalStrutEv @ 1500 NONAME + _ZN12QApplication11qt_metacallEN11QMetaObject4CallEiPPv @ 1501 NONAME + _ZN12QApplication11qt_metacastEPKc @ 1502 NONAME + _ZN12QApplication12activeWindowEv @ 1503 NONAME + _ZN12QApplication12focusChangedEP7QWidgetS1_ @ 1504 NONAME + _ZN12QApplication12mouseButtonsEv @ 1505 NONAME + _ZN12QApplication12setColorSpecEi @ 1506 NONAME + _ZN12QApplication13compressEventEP6QEventP7QObjectP14QPostEventList @ 1507 NONAME + _ZN12QApplication13setStyleSheetERK7QString @ 1508 NONAME + _ZN12QApplication13setWindowIconERK5QIcon @ 1509 NONAME + _ZN12QApplication13startDragTimeEv @ 1510 NONAME + _ZN12QApplication14navigationModeEv @ 1511 NONAME + _ZN12QApplication14overrideCursorEv @ 1512 NONAME + _ZN12QApplication14s60EventFilterEP8TWsEvent @ 1513 NONAME + _ZN12QApplication14setGlobalStrutERK5QSize @ 1514 NONAME + _ZN12QApplication15closeAllWindowsEv @ 1515 NONAME + _ZN12QApplication15cursorFlashTimeEv @ 1516 NONAME + _ZN12QApplication15isEffectEnabledEN2Qt8UIEffectE @ 1517 NONAME + _ZN12QApplication15layoutDirectionEv @ 1518 NONAME + _ZN12QApplication15s60ProcessEventEP8TWsEvent @ 1519 NONAME + _ZN12QApplication15setActiveWindowEP7QWidget @ 1520 NONAME + _ZN12QApplication15setInputContextEP13QInputContext @ 1521 NONAME + _ZN12QApplication15topLevelWidgetsEv @ 1522 NONAME + _ZN12QApplication16lastWindowClosedEv @ 1523 NONAME + _ZN12QApplication16saveStateRequestER15QSessionManager @ 1524 NONAME + _ZN12QApplication16setEffectEnabledEN2Qt8UIEffectEb @ 1525 NONAME + _ZN12QApplication16setStartDragTimeEi @ 1526 NONAME + _ZN12QApplication16staticMetaObjectE @ 1527 NONAME DATA 16 + _ZN12QApplication16wheelScrollLinesEv @ 1528 NONAME + _ZN12QApplication17activeModalWidgetEv @ 1529 NONAME + _ZN12QApplication17activePopupWidgetEv @ 1530 NONAME + _ZN12QApplication17commitDataRequestER15QSessionManager @ 1531 NONAME + _ZN12QApplication17keyboardModifiersEv @ 1532 NONAME + _ZN12QApplication17setAutoSipEnabledEb @ 1533 NONAME + _ZN12QApplication17setGraphicsSystemERK7QString @ 1534 NONAME + _ZN12QApplication17setNavigationModeEN2Qt14NavigationModeE @ 1535 NONAME + _ZN12QApplication17setOverrideCursorERK7QCursor @ 1536 NONAME + _ZN12QApplication17startDragDistanceEv @ 1537 NONAME + _ZN12QApplication18setCursorFlashTimeEi @ 1538 NONAME + _ZN12QApplication18setLayoutDirectionEN2Qt15LayoutDirectionE @ 1539 NONAME + _ZN12QApplication19doubleClickIntervalEv @ 1540 NONAME + _ZN12QApplication19fontDatabaseChangedEv @ 1541 NONAME + _ZN12QApplication19getStaticMetaObjectEv @ 1542 NONAME + _ZN12QApplication19keyboardInputLocaleEv @ 1543 NONAME + _ZN12QApplication19setWheelScrollLinesEi @ 1544 NONAME + _ZN12QApplication20changeOverrideCursorERK7QCursor @ 1545 NONAME + _ZN12QApplication20desktopSettingsAwareEv @ 1546 NONAME + _ZN12QApplication20setStartDragDistanceEi @ 1547 NONAME + _ZN12QApplication20symbianHandleCommandEi @ 1548 NONAME + _ZN12QApplication21keyboardInputIntervalEv @ 1549 NONAME + _ZN12QApplication21restoreOverrideCursorEv @ 1550 NONAME + _ZN12QApplication21symbianResourceChangeEi @ 1551 NONAME + _ZN12QApplication22keyboardInputDirectionEv @ 1552 NONAME + _ZN12QApplication22quitOnLastWindowClosedEv @ 1553 NONAME + _ZN12QApplication22setDoubleClickIntervalEi @ 1554 NONAME + _ZN12QApplication23keypadNavigationEnabledEv @ 1555 NONAME + _ZN12QApplication23setDesktopSettingsAwareEb @ 1556 NONAME + _ZN12QApplication24setKeyboardInputIntervalEi @ 1557 NONAME + _ZN12QApplication25registerGestureRecognizerEP18QGestureRecognizer @ 1558 NONAME + _ZN12QApplication25setQuitOnLastWindowClosedEb @ 1559 NONAME + _ZN12QApplication26setKeypadNavigationEnabledEb @ 1560 NONAME + _ZN12QApplication27unregisterGestureRecognizerEN2Qt11GestureTypeE @ 1561 NONAME + _ZN12QApplication4beepEv @ 1562 NONAME + _ZN12QApplication4execEv @ 1563 NONAME + _ZN12QApplication4fontEPK7QWidget @ 1564 NONAME + _ZN12QApplication4fontEPKc @ 1565 NONAME + _ZN12QApplication4fontEv @ 1566 NONAME + _ZN12QApplication4typeEv @ 1567 NONAME + _ZN12QApplication5alertEP7QWidgeti @ 1568 NONAME + _ZN12QApplication5eventEP6QEvent @ 1569 NONAME + _ZN12QApplication5styleEv @ 1570 NONAME + _ZN12QApplication5syncXEv @ 1571 NONAME + _ZN12QApplication6notifyEP7QObjectP6QEvent @ 1572 NONAME + _ZN12QApplication7aboutQtEv @ 1573 NONAME + _ZN12QApplication7desktopEv @ 1574 NONAME + _ZN12QApplication7paletteEPK7QWidget @ 1575 NONAME + _ZN12QApplication7paletteEPKc @ 1576 NONAME + _ZN12QApplication7paletteEv @ 1577 NONAME + _ZN12QApplication7setFontERK5QFontPKc @ 1578 NONAME + _ZN12QApplication8setStyleEP6QStyle @ 1579 NONAME + _ZN12QApplication8setStyleERK7QString @ 1580 NONAME + _ZN12QApplication8widgetAtERK6QPoint @ 1581 NONAME + _ZN12QApplication9clipboardEv @ 1582 NONAME + _ZN12QApplication9colorSpecEv @ 1583 NONAME + _ZN12QApplication9saveStateER15QSessionManager @ 1584 NONAME + _ZN12QApplicationC1EPFP15CApaApplicationvERiPPc @ 1585 NONAME + _ZN12QApplicationC1EPFP15CApaApplicationvERiPPci @ 1586 NONAME + _ZN12QApplicationC1ERiPPc @ 1587 NONAME + _ZN12QApplicationC1ERiPPcNS_4TypeE @ 1588 NONAME + _ZN12QApplicationC1ERiPPcNS_4TypeEi @ 1589 NONAME + _ZN12QApplicationC1ERiPPcb @ 1590 NONAME + _ZN12QApplicationC1ERiPPcbi @ 1591 NONAME + _ZN12QApplicationC1ERiPPci @ 1592 NONAME + _ZN12QApplicationC2EPFP15CApaApplicationvERiPPc @ 1593 NONAME + _ZN12QApplicationC2EPFP15CApaApplicationvERiPPci @ 1594 NONAME + _ZN12QApplicationC2ERiPPc @ 1595 NONAME + _ZN12QApplicationC2ERiPPcNS_4TypeE @ 1596 NONAME + _ZN12QApplicationC2ERiPPcNS_4TypeEi @ 1597 NONAME + _ZN12QApplicationC2ERiPPcb @ 1598 NONAME + _ZN12QApplicationC2ERiPPcbi @ 1599 NONAME + _ZN12QApplicationC2ERiPPci @ 1600 NONAME + _ZN12QApplicationD0Ev @ 1601 NONAME + _ZN12QApplicationD1Ev @ 1602 NONAME + _ZN12QApplicationD2Ev @ 1603 NONAME + _ZN12QButtonGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1604 NONAME + _ZN12QButtonGroup11qt_metacastEPKc @ 1605 NONAME + _ZN12QButtonGroup12removeButtonEP15QAbstractButton @ 1606 NONAME + _ZN12QButtonGroup12setExclusiveEb @ 1607 NONAME + _ZN12QButtonGroup13buttonClickedEP15QAbstractButton @ 1608 NONAME + _ZN12QButtonGroup13buttonClickedEi @ 1609 NONAME + _ZN12QButtonGroup13buttonPressedEP15QAbstractButton @ 1610 NONAME + _ZN12QButtonGroup13buttonPressedEi @ 1611 NONAME + _ZN12QButtonGroup14buttonReleasedEP15QAbstractButton @ 1612 NONAME + _ZN12QButtonGroup14buttonReleasedEi @ 1613 NONAME + _ZN12QButtonGroup16staticMetaObjectE @ 1614 NONAME DATA 16 + _ZN12QButtonGroup19getStaticMetaObjectEv @ 1615 NONAME + _ZN12QButtonGroup5setIdEP15QAbstractButtoni @ 1616 NONAME + _ZN12QButtonGroup9addButtonEP15QAbstractButton @ 1617 NONAME + _ZN12QButtonGroup9addButtonEP15QAbstractButtoni @ 1618 NONAME + _ZN12QButtonGroupC1EP7QObject @ 1619 NONAME + _ZN12QButtonGroupC2EP7QObject @ 1620 NONAME + _ZN12QButtonGroupD0Ev @ 1621 NONAME + _ZN12QButtonGroupD1Ev @ 1622 NONAME + _ZN12QButtonGroupD2Ev @ 1623 NONAME + _ZN12QColorDialog10setOptionsE6QFlagsINS_17ColorDialogOptionEE @ 1624 NONAME + _ZN12QColorDialog10setVisibleEb @ 1625 NONAME + _ZN12QColorDialog11changeEventEP6QEvent @ 1626 NONAME + _ZN12QColorDialog11customColorEi @ 1627 NONAME + _ZN12QColorDialog11customCountEv @ 1628 NONAME + _ZN12QColorDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 1629 NONAME + _ZN12QColorDialog11qt_metacastEPKc @ 1630 NONAME + _ZN12QColorDialog13colorSelectedERK6QColor @ 1631 NONAME + _ZN12QColorDialog14setCustomColorEij @ 1632 NONAME + _ZN12QColorDialog15setCurrentColorERK6QColor @ 1633 NONAME + _ZN12QColorDialog16setStandardColorEij @ 1634 NONAME + _ZN12QColorDialog16staticMetaObjectE @ 1635 NONAME DATA 16 + _ZN12QColorDialog19currentColorChangedERK6QColor @ 1636 NONAME + _ZN12QColorDialog19getStaticMetaObjectEv @ 1637 NONAME + _ZN12QColorDialog4doneEi @ 1638 NONAME + _ZN12QColorDialog4openEP7QObjectPKc @ 1639 NONAME + _ZN12QColorDialog7getRgbaEjPbP7QWidget @ 1640 NONAME + _ZN12QColorDialog8getColorERK6QColorP7QWidget @ 1641 NONAME + _ZN12QColorDialog8getColorERK6QColorP7QWidgetRK7QString6QFlagsINS_17ColorDialogOptionEE @ 1642 NONAME + _ZN12QColorDialog9setOptionENS_17ColorDialogOptionEb @ 1643 NONAME + _ZN12QColorDialogC1EP7QWidget @ 1644 NONAME + _ZN12QColorDialogC1ERK6QColorP7QWidget @ 1645 NONAME + _ZN12QColorDialogC2EP7QWidget @ 1646 NONAME + _ZN12QColorDialogC2ERK6QColorP7QWidget @ 1647 NONAME + _ZN12QColorDialogD0Ev @ 1648 NONAME + _ZN12QColorDialogD1Ev @ 1649 NONAME + _ZN12QColorDialogD2Ev @ 1650 NONAME + _ZN12QCommonStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 1651 NONAME + _ZN12QCommonStyle11qt_metacastEPKc @ 1652 NONAME + _ZN12QCommonStyle16staticMetaObjectE @ 1653 NONAME DATA 16 + _ZN12QCommonStyle19getStaticMetaObjectEv @ 1654 NONAME + _ZN12QCommonStyle6polishEP12QApplication @ 1655 NONAME + _ZN12QCommonStyle6polishEP7QWidget @ 1656 NONAME + _ZN12QCommonStyle6polishER8QPalette @ 1657 NONAME + _ZN12QCommonStyle8unpolishEP12QApplication @ 1658 NONAME + _ZN12QCommonStyle8unpolishEP7QWidget @ 1659 NONAME + _ZN12QCommonStyleC1ER19QCommonStylePrivate @ 1660 NONAME + _ZN12QCommonStyleC1Ev @ 1661 NONAME + _ZN12QCommonStyleC2ER19QCommonStylePrivate @ 1662 NONAME + _ZN12QCommonStyleC2Ev @ 1663 NONAME + _ZN12QCommonStyleD0Ev @ 1664 NONAME + _ZN12QCommonStyleD1Ev @ 1665 NONAME + _ZN12QCommonStyleD2Ev @ 1666 NONAME + _ZN12QDashStroker15patternForStyleEN2Qt8PenStyleE @ 1667 NONAME + _ZN12QDashStroker21processCurrentSubpathEv @ 1668 NONAME + _ZN12QDashStrokerC1EP8QStroker @ 1669 NONAME + _ZN12QDashStrokerC2EP8QStroker @ 1670 NONAME + _ZN12QFontMetricsC1ERK5QFont @ 1671 NONAME + _ZN12QFontMetricsC1ERK5QFontP12QPaintDevice @ 1672 NONAME + _ZN12QFontMetricsC1ERKS_ @ 1673 NONAME + _ZN12QFontMetricsC2ERK5QFont @ 1674 NONAME + _ZN12QFontMetricsC2ERK5QFontP12QPaintDevice @ 1675 NONAME + _ZN12QFontMetricsC2ERKS_ @ 1676 NONAME + _ZN12QFontMetricsD1Ev @ 1677 NONAME + _ZN12QFontMetricsD2Ev @ 1678 NONAME + _ZN12QFontMetricsaSERKS_ @ 1679 NONAME + _ZN12QFontMetricseqERKS_ @ 1680 NONAME + _ZN12QFontPrivate7resolveEjPKS_ @ 1681 NONAME + _ZN12QFontPrivateC1ERKS_ @ 1682 NONAME + _ZN12QFontPrivateC1Ev @ 1683 NONAME + _ZN12QFontPrivateC2ERKS_ @ 1684 NONAME + _ZN12QFontPrivateC2Ev @ 1685 NONAME + _ZN12QFontPrivateD1Ev @ 1686 NONAME + _ZN12QFontPrivateD2Ev @ 1687 NONAME + _ZN12QImageReader10setQualityEi @ 1688 NONAME + _ZN12QImageReader11imageFormatEP9QIODevice @ 1689 NONAME + _ZN12QImageReader11imageFormatERK7QString @ 1690 NONAME + _ZN12QImageReader11jumpToImageEi @ 1691 NONAME + _ZN12QImageReader11setClipRectERK5QRect @ 1692 NONAME + _ZN12QImageReader11setFileNameERK7QString @ 1693 NONAME + _ZN12QImageReader13setScaledSizeERK5QSize @ 1694 NONAME + _ZN12QImageReader15jumpToNextImageEv @ 1695 NONAME + _ZN12QImageReader17setScaledClipRectERK5QRect @ 1696 NONAME + _ZN12QImageReader18setBackgroundColorERK6QColor @ 1697 NONAME + _ZN12QImageReader21supportedImageFormatsEv @ 1698 NONAME + _ZN12QImageReader24setAutoDetectImageFormatEb @ 1699 NONAME + _ZN12QImageReader26setDecideFormatFromContentEb @ 1700 NONAME + _ZN12QImageReader4readEP6QImage @ 1701 NONAME + _ZN12QImageReader4readEv @ 1702 NONAME + _ZN12QImageReader9setDeviceEP9QIODevice @ 1703 NONAME + _ZN12QImageReader9setFormatERK10QByteArray @ 1704 NONAME + _ZN12QImageReaderC1EP9QIODeviceRK10QByteArray @ 1705 NONAME + _ZN12QImageReaderC1ERK7QStringRK10QByteArray @ 1706 NONAME + _ZN12QImageReaderC1Ev @ 1707 NONAME + _ZN12QImageReaderC2EP9QIODeviceRK10QByteArray @ 1708 NONAME + _ZN12QImageReaderC2ERK7QStringRK10QByteArray @ 1709 NONAME + _ZN12QImageReaderC2Ev @ 1710 NONAME + _ZN12QImageReaderD1Ev @ 1711 NONAME + _ZN12QImageReaderD2Ev @ 1712 NONAME + _ZN12QImageWriter10setQualityEi @ 1713 NONAME + _ZN12QImageWriter11setFileNameERK7QString @ 1714 NONAME + _ZN12QImageWriter14setCompressionEi @ 1715 NONAME + _ZN12QImageWriter14setDescriptionERK7QString @ 1716 NONAME + _ZN12QImageWriter21supportedImageFormatsEv @ 1717 NONAME + _ZN12QImageWriter5writeERK6QImage @ 1718 NONAME + _ZN12QImageWriter7setTextERK7QStringS2_ @ 1719 NONAME + _ZN12QImageWriter8setGammaEf @ 1720 NONAME + _ZN12QImageWriter9setDeviceEP9QIODevice @ 1721 NONAME + _ZN12QImageWriter9setFormatERK10QByteArray @ 1722 NONAME + _ZN12QImageWriterC1EP9QIODeviceRK10QByteArray @ 1723 NONAME + _ZN12QImageWriterC1ERK7QStringRK10QByteArray @ 1724 NONAME + _ZN12QImageWriterC1Ev @ 1725 NONAME + _ZN12QImageWriterC2EP9QIODeviceRK10QByteArray @ 1726 NONAME + _ZN12QImageWriterC2ERK7QStringRK10QByteArray @ 1727 NONAME + _ZN12QImageWriterC2Ev @ 1728 NONAME + _ZN12QImageWriterD1Ev @ 1729 NONAME + _ZN12QImageWriterD2Ev @ 1730 NONAME + _ZN12QInputDialog10getIntegerEP7QWidgetRK7QStringS4_iiiiPb6QFlagsIN2Qt10WindowTypeEE @ 1731 NONAME + _ZN12QInputDialog10setIntStepEi @ 1732 NONAME + _ZN12QInputDialog10setOptionsE6QFlagsINS_17InputDialogOptionEE @ 1733 NONAME + _ZN12QInputDialog10setVisibleEb @ 1734 NONAME + _ZN12QInputDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 1735 NONAME + _ZN12QInputDialog11qt_metacastEPKc @ 1736 NONAME + _ZN12QInputDialog11setIntRangeEii @ 1737 NONAME + _ZN12QInputDialog11setIntValueEi @ 1738 NONAME + _ZN12QInputDialog12setInputModeENS_9InputModeE @ 1739 NONAME + _ZN12QInputDialog12setLabelTextERK7QString @ 1740 NONAME + _ZN12QInputDialog12setTextValueERK7QString @ 1741 NONAME + _ZN12QInputDialog13setIntMaximumEi @ 1742 NONAME + _ZN12QInputDialog13setIntMinimumEi @ 1743 NONAME + _ZN12QInputDialog14setDoubleRangeEdd @ 1744 NONAME + _ZN12QInputDialog14setDoubleValueEd @ 1745 NONAME + _ZN12QInputDialog15intValueChangedEi @ 1746 NONAME + _ZN12QInputDialog15setOkButtonTextERK7QString @ 1747 NONAME + _ZN12QInputDialog15setTextEchoModeEN9QLineEdit8EchoModeE @ 1748 NONAME + _ZN12QInputDialog16intValueSelectedEi @ 1749 NONAME + _ZN12QInputDialog16setComboBoxItemsERK11QStringList @ 1750 NONAME + _ZN12QInputDialog16setDoubleMaximumEd @ 1751 NONAME + _ZN12QInputDialog16setDoubleMinimumEd @ 1752 NONAME + _ZN12QInputDialog16staticMetaObjectE @ 1753 NONAME DATA 16 + _ZN12QInputDialog16textValueChangedERK7QString @ 1754 NONAME + _ZN12QInputDialog17setDoubleDecimalsEi @ 1755 NONAME + _ZN12QInputDialog17textValueSelectedERK7QString @ 1756 NONAME + _ZN12QInputDialog18doubleValueChangedEd @ 1757 NONAME + _ZN12QInputDialog19doubleValueSelectedEd @ 1758 NONAME + _ZN12QInputDialog19getStaticMetaObjectEv @ 1759 NONAME + _ZN12QInputDialog19setCancelButtonTextERK7QString @ 1760 NONAME + _ZN12QInputDialog19setComboBoxEditableEb @ 1761 NONAME + _ZN12QInputDialog4doneEi @ 1762 NONAME + _ZN12QInputDialog4openEP7QObjectPKc @ 1763 NONAME + _ZN12QInputDialog6getIntEP7QWidgetRK7QStringS4_iiiiPb6QFlagsIN2Qt10WindowTypeEE @ 1764 NONAME + _ZN12QInputDialog7getItemEP7QWidgetRK7QStringS4_RK11QStringListibPb6QFlagsIN2Qt10WindowTypeEE @ 1765 NONAME + _ZN12QInputDialog7getTextEP7QWidgetRK7QStringS4_N9QLineEdit8EchoModeES4_Pb6QFlagsIN2Qt10WindowTypeEE @ 1766 NONAME + _ZN12QInputDialog9getDoubleEP7QWidgetRK7QStringS4_dddiPb6QFlagsIN2Qt10WindowTypeEE @ 1767 NONAME + _ZN12QInputDialog9setOptionENS_17InputDialogOptionEb @ 1768 NONAME + _ZN12QInputDialogC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 1769 NONAME + _ZN12QInputDialogC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 1770 NONAME + _ZN12QInputDialogD0Ev @ 1771 NONAME + _ZN12QInputDialogD1Ev @ 1772 NONAME + _ZN12QInputDialogD2Ev @ 1773 NONAME + _ZN12QKeySequence10fromStringERK7QStringNS_14SequenceFormatE @ 1774 NONAME + _ZN12QKeySequence11keyBindingsENS_11StandardKeyE @ 1775 NONAME + _ZN12QKeySequence12decodeStringERK7QString @ 1776 NONAME + _ZN12QKeySequence12encodeStringEi @ 1777 NONAME + _ZN12QKeySequence6assignERK7QString @ 1778 NONAME + _ZN12QKeySequence6setKeyEii @ 1779 NONAME + _ZN12QKeySequence8mnemonicERK7QString @ 1780 NONAME + _ZN12QKeySequenceC1ENS_11StandardKeyE @ 1781 NONAME + _ZN12QKeySequenceC1ERK7QString @ 1782 NONAME + _ZN12QKeySequenceC1ERKS_ @ 1783 NONAME + _ZN12QKeySequenceC1Eiiii @ 1784 NONAME + _ZN12QKeySequenceC1Ev @ 1785 NONAME + _ZN12QKeySequenceC2ENS_11StandardKeyE @ 1786 NONAME + _ZN12QKeySequenceC2ERK7QString @ 1787 NONAME + _ZN12QKeySequenceC2ERKS_ @ 1788 NONAME + _ZN12QKeySequenceC2Eiiii @ 1789 NONAME + _ZN12QKeySequenceC2Ev @ 1790 NONAME + _ZN12QKeySequenceD1Ev @ 1791 NONAME + _ZN12QKeySequenceD2Ev @ 1792 NONAME + _ZN12QKeySequenceaSERKS_ @ 1793 NONAME + _ZN12QLineControl10addCommandERKNS_7CommandE @ 1794 NONAME + _ZN12QLineControl10moveCursorEib @ 1795 NONAME + _ZN12QLineControl10textEditedERK7QString @ 1796 NONAME + _ZN12QLineControl10timerEventEP11QTimerEvent @ 1797 NONAME + _ZN12QLineControl11qt_metacallEN11QMetaObject4CallEiPPv @ 1798 NONAME + _ZN12QLineControl11qt_metacastEPKc @ 1799 NONAME + _ZN12QLineControl11textChangedERK7QString @ 1800 NONAME + _ZN12QLineControl12finishChangeEibb @ 1801 NONAME + _ZN12QLineControl12internalRedoEv @ 1802 NONAME + _ZN12QLineControl12internalUndoEi @ 1803 NONAME + _ZN12QLineControl12processEventEP6QEvent @ 1804 NONAME + _ZN12QLineControl12setSelectionEii @ 1805 NONAME + _ZN12QLineControl12updateNeededERK5QRect @ 1806 NONAME + _ZN12QLineControl14internalDeleteEb @ 1807 NONAME + _ZN12QLineControl14internalInsertERK7QString @ 1808 NONAME + _ZN12QLineControl14parseInputMaskERK7QString @ 1809 NONAME + _ZN12QLineControl15editFocusChangeEb @ 1810 NONAME + _ZN12QLineControl15editingFinishedEv @ 1811 NONAME + _ZN12QLineControl15internalSetTextERK7QStringib @ 1812 NONAME + _ZN12QLineControl15processKeyEventEP9QKeyEvent @ 1813 NONAME + _ZN12QLineControl15selectWordAtPosEi @ 1814 NONAME + _ZN12QLineControl16selectionChangedEv @ 1815 NONAME + _ZN12QLineControl16staticMetaObjectE @ 1816 NONAME DATA 16 + _ZN12QLineControl17_q_deleteSelectedEv @ 1817 NONAME + _ZN12QLineControl17processMouseEventEP11QMouseEvent @ 1818 NONAME + _ZN12QLineControl17resetInputContextEv @ 1819 NONAME + _ZN12QLineControl17updateDisplayTextEv @ 1820 NONAME + _ZN12QLineControl18displayTextChangedERK7QString @ 1821 NONAME + _ZN12QLineControl18removeSelectedTextEv @ 1822 NONAME + _ZN12QLineControl19_q_clipboardChangedEv @ 1823 NONAME + _ZN12QLineControl19getStaticMetaObjectEv @ 1824 NONAME + _ZN12QLineControl20advanceToEnabledItemEi @ 1825 NONAME + _ZN12QLineControl20setCursorBlinkPeriodEi @ 1826 NONAME + _ZN12QLineControl21cursorPositionChangedEii @ 1827 NONAME + _ZN12QLineControl23processInputMethodEventEP17QInputMethodEvent @ 1828 NONAME + _ZN12QLineControl25emitCursorPositionChangedEv @ 1829 NONAME + _ZN12QLineControl25updatePasswordEchoEditingEb @ 1830 NONAME + _ZN12QLineControl3delEv @ 1831 NONAME + _ZN12QLineControl4drawEP8QPainterRK6QPointRK5QRecti @ 1832 NONAME + _ZN12QLineControl4initERK7QString @ 1833 NONAME + _ZN12QLineControl5clearEv @ 1834 NONAME + _ZN12QLineControl5fixupEv @ 1835 NONAME + _ZN12QLineControl5pasteEv @ 1836 NONAME + _ZN12QLineControl6insertERK7QString @ 1837 NONAME + _ZN12QLineControl8acceptedEv @ 1838 NONAME + _ZN12QLineControl8completeEi @ 1839 NONAME + _ZN12QLineControl9backspaceEv @ 1840 NONAME + _ZN12QPaintBuffer13beginNewFrameEv @ 1841 NONAME + _ZN12QPaintBuffer15setBoundingRectERK6QRectF @ 1842 NONAME + _ZN12QPaintBufferC1ERKS_ @ 1843 NONAME + _ZN12QPaintBufferC1Ev @ 1844 NONAME + _ZN12QPaintBufferC2ERKS_ @ 1845 NONAME + _ZN12QPaintBufferC2Ev @ 1846 NONAME + _ZN12QPaintBufferD0Ev @ 1847 NONAME + _ZN12QPaintBufferD1Ev @ 1848 NONAME + _ZN12QPaintBufferD2Ev @ 1849 NONAME + _ZN12QPaintBufferaSERKS_ @ 1850 NONAME + _ZN12QPaintDeviceC2Ev @ 1851 NONAME + _ZN12QPaintDeviceD0Ev @ 1852 NONAME + _ZN12QPaintDeviceD1Ev @ 1853 NONAME + _ZN12QPaintDeviceD2Ev @ 1854 NONAME + _ZN12QPaintEngine10drawPointsEPK6QPointi @ 1855 NONAME + _ZN12QPaintEngine10drawPointsEPK7QPointFi @ 1856 NONAME + _ZN12QPaintEngine11drawEllipseERK5QRect @ 1857 NONAME + _ZN12QPaintEngine11drawEllipseERK6QRectF @ 1858 NONAME + _ZN12QPaintEngine11drawPolygonEPK6QPointiNS_15PolygonDrawModeE @ 1859 NONAME + _ZN12QPaintEngine11drawPolygonEPK7QPointFiNS_15PolygonDrawModeE @ 1860 NONAME + _ZN12QPaintEngine12drawTextItemERK7QPointFRK9QTextItem @ 1861 NONAME + _ZN12QPaintEngine13setSystemClipERK7QRegion @ 1862 NONAME + _ZN12QPaintEngine13setSystemRectERK5QRect @ 1863 NONAME + _ZN12QPaintEngine14setPaintDeviceEP12QPaintDevice @ 1864 NONAME + _ZN12QPaintEngine15drawTiledPixmapERK6QRectFRK7QPixmapRK7QPointF @ 1865 NONAME + _ZN12QPaintEngine8drawPathERK12QPainterPath @ 1866 NONAME + _ZN12QPaintEngine9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 1867 NONAME + _ZN12QPaintEngine9drawLinesEPK5QLinei @ 1868 NONAME + _ZN12QPaintEngine9drawLinesEPK6QLineFi @ 1869 NONAME + _ZN12QPaintEngine9drawRectsEPK5QRecti @ 1870 NONAME + _ZN12QPaintEngine9drawRectsEPK6QRectFi @ 1871 NONAME + _ZN12QPaintEngine9syncStateEv @ 1872 NONAME + _ZN12QPaintEngineC2E6QFlagsINS_18PaintEngineFeatureEE @ 1873 NONAME + _ZN12QPaintEngineC2ER19QPaintEnginePrivate6QFlagsINS_18PaintEngineFeatureEE @ 1874 NONAME + _ZN12QPaintEngineD0Ev @ 1875 NONAME + _ZN12QPaintEngineD1Ev @ 1876 NONAME + _ZN12QPaintEngineD2Ev @ 1877 NONAME + _ZN12QPainterPath10addEllipseERK6QRectF @ 1878 NONAME + _ZN12QPainterPath10addPolygonERK9QPolygonF @ 1879 NONAME + _ZN12QPainterPath11connectPathERKS_ @ 1880 NONAME + _ZN12QPainterPath11setFillRuleEN2Qt8FillRuleE @ 1881 NONAME + _ZN12QPainterPath12addRoundRectERK6QRectFii @ 1882 NONAME + _ZN12QPainterPath12closeSubpathEv @ 1883 NONAME + _ZN12QPainterPath13detach_helperEv @ 1884 NONAME + _ZN12QPainterPath14addRoundedRectERK6QRectFffN2Qt8SizeModeE @ 1885 NONAME + _ZN12QPainterPath17ensureData_helperEv @ 1886 NONAME + _ZN12QPainterPath5arcToERK6QRectFff @ 1887 NONAME + _ZN12QPainterPath6lineToERK7QPointF @ 1888 NONAME + _ZN12QPainterPath6moveToERK7QPointF @ 1889 NONAME + _ZN12QPainterPath6quadToERK7QPointFS2_ @ 1890 NONAME + _ZN12QPainterPath7addPathERKS_ @ 1891 NONAME + _ZN12QPainterPath7addRectERK6QRectF @ 1892 NONAME + _ZN12QPainterPath7addTextERK7QPointFRK5QFontRK7QString @ 1893 NONAME + _ZN12QPainterPath7cubicToERK7QPointFS2_S2_ @ 1894 NONAME + _ZN12QPainterPath8setDirtyEb @ 1895 NONAME + _ZN12QPainterPath9addRegionERK7QRegion @ 1896 NONAME + _ZN12QPainterPath9arcMoveToERK6QRectFf @ 1897 NONAME + _ZN12QPainterPath9translateEff @ 1898 NONAME + _ZN12QPainterPathC1ERK7QPointF @ 1899 NONAME + _ZN12QPainterPathC1ERKS_ @ 1900 NONAME + _ZN12QPainterPathC1Ev @ 1901 NONAME + _ZN12QPainterPathC2ERK7QPointF @ 1902 NONAME + _ZN12QPainterPathC2ERKS_ @ 1903 NONAME + _ZN12QPainterPathC2Ev @ 1904 NONAME + _ZN12QPainterPathD1Ev @ 1905 NONAME + _ZN12QPainterPathD2Ev @ 1906 NONAME + _ZN12QPainterPathaNERKS_ @ 1907 NONAME + _ZN12QPainterPathaSERKS_ @ 1908 NONAME + _ZN12QPainterPathmIERKS_ @ 1909 NONAME + _ZN12QPainterPathoRERKS_ @ 1910 NONAME + _ZN12QPainterPathpLERKS_ @ 1911 NONAME + _ZN12QPixmapCache10cacheLimitEv @ 1912 NONAME + _ZN12QPixmapCache13setCacheLimitEi @ 1913 NONAME + _ZN12QPixmapCache3KeyC1ERKS0_ @ 1914 NONAME + _ZN12QPixmapCache3KeyC1Ev @ 1915 NONAME + _ZN12QPixmapCache3KeyC2ERKS0_ @ 1916 NONAME + _ZN12QPixmapCache3KeyC2Ev @ 1917 NONAME + _ZN12QPixmapCache3KeyD1Ev @ 1918 NONAME + _ZN12QPixmapCache3KeyD2Ev @ 1919 NONAME + _ZN12QPixmapCache3KeyaSERKS0_ @ 1920 NONAME + _ZN12QPixmapCache4findERK7QString @ 1921 NONAME + _ZN12QPixmapCache4findERK7QStringP7QPixmap @ 1922 NONAME + _ZN12QPixmapCache4findERK7QStringR7QPixmap @ 1923 NONAME + _ZN12QPixmapCache4findERKNS_3KeyEP7QPixmap @ 1924 NONAME + _ZN12QPixmapCache5clearEv @ 1925 NONAME + _ZN12QPixmapCache6insertERK7QPixmap @ 1926 NONAME + _ZN12QPixmapCache6insertERK7QStringRK7QPixmap @ 1927 NONAME + _ZN12QPixmapCache6removeERK7QString @ 1928 NONAME + _ZN12QPixmapCache6removeERKNS_3KeyE @ 1929 NONAME + _ZN12QPixmapCache7replaceERKNS_3KeyERK7QPixmap @ 1930 NONAME + _ZN12QProgressBar10paintEventEP11QPaintEvent @ 1931 NONAME + _ZN12QProgressBar10setMaximumEi @ 1932 NONAME + _ZN12QProgressBar10setMinimumEi @ 1933 NONAME + _ZN12QProgressBar11qt_metacallEN11QMetaObject4CallEiPPv @ 1934 NONAME + _ZN12QProgressBar11qt_metacastEPKc @ 1935 NONAME + _ZN12QProgressBar12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 1936 NONAME + _ZN12QProgressBar12valueChangedEi @ 1937 NONAME + _ZN12QProgressBar13textDirectionEv @ 1938 NONAME + _ZN12QProgressBar14setOrientationEN2Qt11OrientationE @ 1939 NONAME + _ZN12QProgressBar14setTextVisibleEb @ 1940 NONAME + _ZN12QProgressBar16setTextDirectionENS_9DirectionE @ 1941 NONAME + _ZN12QProgressBar16staticMetaObjectE @ 1942 NONAME DATA 16 + _ZN12QProgressBar18invertedAppearanceEv @ 1943 NONAME + _ZN12QProgressBar19getStaticMetaObjectEv @ 1944 NONAME + _ZN12QProgressBar21setInvertedAppearanceEb @ 1945 NONAME + _ZN12QProgressBar5eventEP6QEvent @ 1946 NONAME + _ZN12QProgressBar5resetEv @ 1947 NONAME + _ZN12QProgressBar8setRangeEii @ 1948 NONAME + _ZN12QProgressBar8setValueEi @ 1949 NONAME + _ZN12QProgressBar9setFormatERK7QString @ 1950 NONAME + _ZN12QProgressBarC1EP7QWidget @ 1951 NONAME + _ZN12QProgressBarC2EP7QWidget @ 1952 NONAME + _ZN12QRadioButton10paintEventEP11QPaintEvent @ 1953 NONAME + _ZN12QRadioButton11qt_metacallEN11QMetaObject4CallEiPPv @ 1954 NONAME + _ZN12QRadioButton11qt_metacastEPKc @ 1955 NONAME + _ZN12QRadioButton14mouseMoveEventEP11QMouseEvent @ 1956 NONAME + _ZN12QRadioButton16staticMetaObjectE @ 1957 NONAME DATA 16 + _ZN12QRadioButton19getStaticMetaObjectEv @ 1958 NONAME + _ZN12QRadioButton5eventEP6QEvent @ 1959 NONAME + _ZN12QRadioButtonC1EP7QWidget @ 1960 NONAME + _ZN12QRadioButtonC1ERK7QStringP7QWidget @ 1961 NONAME + _ZN12QRadioButtonC2EP7QWidget @ 1962 NONAME + _ZN12QRadioButtonC2ERK7QStringP7QWidget @ 1963 NONAME + _ZN12QResizeEventC1ERK5QSizeS2_ @ 1964 NONAME + _ZN12QResizeEventC2ERK5QSizeS2_ @ 1965 NONAME + _ZN12QResizeEventD0Ev @ 1966 NONAME + _ZN12QResizeEventD1Ev @ 1967 NONAME + _ZN12QResizeEventD2Ev @ 1968 NONAME + _ZN12QStyleOption4initEPK7QWidget @ 1969 NONAME + _ZN12QStyleOptionC1ERKS_ @ 1970 NONAME + _ZN12QStyleOptionC1Eii @ 1971 NONAME + _ZN12QStyleOptionC2ERKS_ @ 1972 NONAME + _ZN12QStyleOptionC2Eii @ 1973 NONAME + _ZN12QStyleOptionD1Ev @ 1974 NONAME + _ZN12QStyleOptionD2Ev @ 1975 NONAME + _ZN12QStyleOptionaSERKS_ @ 1976 NONAME + _ZN12QStylePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1977 NONAME + _ZN12QStylePlugin11qt_metacastEPKc @ 1978 NONAME + _ZN12QStylePlugin16staticMetaObjectE @ 1979 NONAME DATA 16 + _ZN12QStylePlugin19getStaticMetaObjectEv @ 1980 NONAME + _ZN12QStylePluginC2EP7QObject @ 1981 NONAME + _ZN12QStylePluginD0Ev @ 1982 NONAME + _ZN12QStylePluginD1Ev @ 1983 NONAME + _ZN12QStylePluginD2Ev @ 1984 NONAME + _ZN12QTableWidget11cellChangedEii @ 1985 NONAME + _ZN12QTableWidget11cellClickedEii @ 1986 NONAME + _ZN12QTableWidget11cellEnteredEii @ 1987 NONAME + _ZN12QTableWidget11cellPressedEii @ 1988 NONAME + _ZN12QTableWidget11itemChangedEP16QTableWidgetItem @ 1989 NONAME + _ZN12QTableWidget11itemClickedEP16QTableWidgetItem @ 1990 NONAME + _ZN12QTableWidget11itemEnteredEP16QTableWidgetItem @ 1991 NONAME + _ZN12QTableWidget11itemPressedEP16QTableWidgetItem @ 1992 NONAME + _ZN12QTableWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 1993 NONAME + _ZN12QTableWidget11qt_metacastEPKc @ 1994 NONAME + _ZN12QTableWidget11setRowCountEi @ 1995 NONAME + _ZN12QTableWidget12dropMimeDataEiiPK9QMimeDataN2Qt10DropActionE @ 1996 NONAME + _ZN12QTableWidget12insertColumnEi @ 1997 NONAME + _ZN12QTableWidget12removeColumnEi @ 1998 NONAME + _ZN12QTableWidget12scrollToItemEPK16QTableWidgetItemN17QAbstractItemView10ScrollHintE @ 1999 NONAME + _ZN12QTableWidget13cellActivatedEii @ 2000 NONAME + _ZN12QTableWidget13clearContentsEv @ 2001 NONAME + _ZN12QTableWidget13itemActivatedEP16QTableWidgetItem @ 2002 NONAME + _ZN12QTableWidget13selectedItemsEv @ 2003 NONAME + _ZN12QTableWidget13setCellWidgetEiiP7QWidget @ 2004 NONAME + _ZN12QTableWidget14setColumnCountEi @ 2005 NONAME + _ZN12QTableWidget14setCurrentCellEii @ 2006 NONAME + _ZN12QTableWidget14setCurrentCellEii6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 2007 NONAME + _ZN12QTableWidget14setCurrentItemEP16QTableWidgetItem @ 2008 NONAME + _ZN12QTableWidget14setCurrentItemEP16QTableWidgetItem6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 2009 NONAME + _ZN12QTableWidget15setItemSelectedEPK16QTableWidgetItemb @ 2010 NONAME + _ZN12QTableWidget16setItemPrototypeEPK16QTableWidgetItem @ 2011 NONAME + _ZN12QTableWidget16setRangeSelectedERK26QTableWidgetSelectionRangeb @ 2012 NONAME + _ZN12QTableWidget16staticMetaObjectE @ 2013 NONAME DATA 16 + _ZN12QTableWidget17cellDoubleClickedEii @ 2014 NONAME + _ZN12QTableWidget17itemDoubleClickedEP16QTableWidgetItem @ 2015 NONAME + _ZN12QTableWidget17setSortingEnabledEb @ 2016 NONAME + _ZN12QTableWidget18currentCellChangedEiiii @ 2017 NONAME + _ZN12QTableWidget18currentItemChangedEP16QTableWidgetItemS1_ @ 2018 NONAME + _ZN12QTableWidget19getStaticMetaObjectEv @ 2019 NONAME + _ZN12QTableWidget20itemSelectionChangedEv @ 2020 NONAME + _ZN12QTableWidget20openPersistentEditorEP16QTableWidgetItem @ 2021 NONAME + _ZN12QTableWidget21closePersistentEditorEP16QTableWidgetItem @ 2022 NONAME + _ZN12QTableWidget21setVerticalHeaderItemEiP16QTableWidgetItem @ 2023 NONAME + _ZN12QTableWidget22takeVerticalHeaderItemEi @ 2024 NONAME + _ZN12QTableWidget23setHorizontalHeaderItemEiP16QTableWidgetItem @ 2025 NONAME + _ZN12QTableWidget23setVerticalHeaderLabelsERK11QStringList @ 2026 NONAME + _ZN12QTableWidget24takeHorizontalHeaderItemEi @ 2027 NONAME + _ZN12QTableWidget25setHorizontalHeaderLabelsERK11QStringList @ 2028 NONAME + _ZN12QTableWidget5clearEv @ 2029 NONAME + _ZN12QTableWidget5eventEP6QEvent @ 2030 NONAME + _ZN12QTableWidget7setItemEiiP16QTableWidgetItem @ 2031 NONAME + _ZN12QTableWidget8editItemEP16QTableWidgetItem @ 2032 NONAME + _ZN12QTableWidget8setModelEP18QAbstractItemModel @ 2033 NONAME + _ZN12QTableWidget8takeItemEii @ 2034 NONAME + _ZN12QTableWidget9dropEventEP10QDropEvent @ 2035 NONAME + _ZN12QTableWidget9insertRowEi @ 2036 NONAME + _ZN12QTableWidget9removeRowEi @ 2037 NONAME + _ZN12QTableWidget9sortItemsEiN2Qt9SortOrderE @ 2038 NONAME + _ZN12QTableWidgetC1EP7QWidget @ 2039 NONAME + _ZN12QTableWidgetC1EiiP7QWidget @ 2040 NONAME + _ZN12QTableWidgetC2EP7QWidget @ 2041 NONAME + _ZN12QTableWidgetC2EiiP7QWidget @ 2042 NONAME + _ZN12QTableWidgetD0Ev @ 2043 NONAME + _ZN12QTableWidgetD1Ev @ 2044 NONAME + _ZN12QTableWidgetD2Ev @ 2045 NONAME + _ZN12QTabletEventC1EN6QEvent4TypeERK6QPointS4_RK7QPointFiifiiffi6QFlagsIN2Qt16KeyboardModifierEEx @ 2046 NONAME + _ZN12QTabletEventC2EN6QEvent4TypeERK6QPointS4_RK7QPointFiifiiffi6QFlagsIN2Qt16KeyboardModifierEEx @ 2047 NONAME + _ZN12QTabletEventD0Ev @ 2048 NONAME + _ZN12QTabletEventD1Ev @ 2049 NONAME + _ZN12QTabletEventD2Ev @ 2050 NONAME + _ZN12QTessellator10setWindingEb @ 2051 NONAME + _ZN12QTessellator10tessellateEPK7QPointFi @ 2052 NONAME + _ZN12QTessellator14tessellateRectERK7QPointFS2_f @ 2053 NONAME + _ZN12QTessellator16tessellateConvexEPK7QPointFi @ 2054 NONAME + _ZN12QTessellatorC2Ev @ 2055 NONAME + _ZN12QTessellatorD0Ev @ 2056 NONAME + _ZN12QTessellatorD1Ev @ 2057 NONAME + _ZN12QTessellatorD2Ev @ 2058 NONAME + _ZN12QTextBrowser10paintEventEP11QPaintEvent @ 2059 NONAME + _ZN12QTextBrowser11highlightedERK4QUrl @ 2060 NONAME + _ZN12QTextBrowser11highlightedERK7QString @ 2061 NONAME + _ZN12QTextBrowser11qt_metacallEN11QMetaObject4CallEiPPv @ 2062 NONAME + _ZN12QTextBrowser11qt_metacastEPKc @ 2063 NONAME + _ZN12QTextBrowser12clearHistoryEv @ 2064 NONAME + _ZN12QTextBrowser12loadResourceEiRK4QUrl @ 2065 NONAME + _ZN12QTextBrowser12setOpenLinksEb @ 2066 NONAME + _ZN12QTextBrowser13anchorClickedERK4QUrl @ 2067 NONAME + _ZN12QTextBrowser13focusOutEventEP11QFocusEvent @ 2068 NONAME + _ZN12QTextBrowser13keyPressEventEP9QKeyEvent @ 2069 NONAME + _ZN12QTextBrowser13sourceChangedERK4QUrl @ 2070 NONAME + _ZN12QTextBrowser14historyChangedEv @ 2071 NONAME + _ZN12QTextBrowser14mouseMoveEventEP11QMouseEvent @ 2072 NONAME + _ZN12QTextBrowser14setSearchPathsERK11QStringList @ 2073 NONAME + _ZN12QTextBrowser15mousePressEventEP11QMouseEvent @ 2074 NONAME + _ZN12QTextBrowser16forwardAvailableEb @ 2075 NONAME + _ZN12QTextBrowser16staticMetaObjectE @ 2076 NONAME DATA 16 + _ZN12QTextBrowser17backwardAvailableEb @ 2077 NONAME + _ZN12QTextBrowser17mouseReleaseEventEP11QMouseEvent @ 2078 NONAME + _ZN12QTextBrowser18focusNextPrevChildEb @ 2079 NONAME + _ZN12QTextBrowser19getStaticMetaObjectEv @ 2080 NONAME + _ZN12QTextBrowser20setOpenExternalLinksEb @ 2081 NONAME + _ZN12QTextBrowser4homeEv @ 2082 NONAME + _ZN12QTextBrowser5eventEP6QEvent @ 2083 NONAME + _ZN12QTextBrowser6reloadEv @ 2084 NONAME + _ZN12QTextBrowser7forwardEv @ 2085 NONAME + _ZN12QTextBrowser8backwardEv @ 2086 NONAME + _ZN12QTextBrowser9setSourceERK4QUrl @ 2087 NONAME + _ZN12QTextBrowserC1EP7QWidget @ 2088 NONAME + _ZN12QTextBrowserC2EP7QWidget @ 2089 NONAME + _ZN12QTextBrowserD0Ev @ 2090 NONAME + _ZN12QTextBrowserD1Ev @ 2091 NONAME + _ZN12QTextBrowserD2Ev @ 2092 NONAME + _ZN12QTextControl10adjustSizeEv @ 2093 NONAME + _ZN12QTextControl10appendHtmlERK7QString @ 2094 NONAME + _ZN12QTextControl10insertHtmlERK7QString @ 2095 NONAME + _ZN12QTextControl10moveCursorEN11QTextCursor13MoveOperationENS0_8MoveModeE @ 2096 NONAME + _ZN12QTextControl10setPaletteERK8QPalette @ 2097 NONAME + _ZN12QTextControl10timerEventEP11QTimerEvent @ 2098 NONAME + _ZN12QTextControl11linkHoveredERK7QString @ 2099 NONAME + _ZN12QTextControl11qt_metacallEN11QMetaObject4CallEiPPv @ 2100 NONAME + _ZN12QTextControl11qt_metacastEPKc @ 2101 NONAME + _ZN12QTextControl11setDocumentEP13QTextDocument @ 2102 NONAME + _ZN12QTextControl11textChangedEv @ 2103 NONAME + _ZN12QTextControl12drawContentsEP8QPainterRK6QRectFP7QWidget @ 2104 NONAME + _ZN12QTextControl12loadResourceEiRK4QUrl @ 2105 NONAME + _ZN12QTextControl12processEventEP6QEventRK7QMatrixP7QWidget @ 2106 NONAME + _ZN12QTextControl12processEventEP6QEventRK7QPointFP7QWidget @ 2107 NONAME + _ZN12QTextControl12setPlainTextERK7QString @ 2108 NONAME + _ZN12QTextControl12setTextWidthEf @ 2109 NONAME + _ZN12QTextControl13copyAvailableEb @ 2110 NONAME + _ZN12QTextControl13linkActivatedERK7QString @ 2111 NONAME + _ZN12QTextControl13redoAvailableEb @ 2112 NONAME + _ZN12QTextControl13setTextCursorERK11QTextCursor @ 2113 NONAME + _ZN12QTextControl13undoAvailableEb @ 2114 NONAME + _ZN12QTextControl13updateRequestERK6QRectF @ 2115 NONAME + _ZN12QTextControl14setCursorWidthEi @ 2116 NONAME + _ZN12QTextControl15appendPlainTextERK7QString @ 2117 NONAME + _ZN12QTextControl15insertPlainTextERK7QString @ 2118 NONAME + _ZN12QTextControl16selectionChangedEv @ 2119 NONAME + _ZN12QTextControl16setFocusToAnchorERK11QTextCursor @ 2120 NONAME + _ZN12QTextControl16setOverwriteModeEb @ 2121 NONAME + _ZN12QTextControl16staticMetaObjectE @ 2122 NONAME DATA 16 + _ZN12QTextControl17blockCountChangedEi @ 2123 NONAME + _ZN12QTextControl17microFocusChangedEv @ 2124 NONAME + _ZN12QTextControl17setAcceptRichTextEb @ 2125 NONAME + _ZN12QTextControl17visibilityRequestERK6QRectF @ 2126 NONAME + _ZN12QTextControl18findNextPrevAnchorERK11QTextCursorbRS0_ @ 2127 NONAME + _ZN12QTextControl18insertFromMimeDataEPK9QMimeData @ 2128 NONAME + _ZN12QTextControl18setExtraSelectionsERK5QListIN9QTextEdit14ExtraSelectionEE @ 2129 NONAME + _ZN12QTextControl19documentSizeChangedERK6QSizeF @ 2130 NONAME + _ZN12QTextControl19ensureCursorVisibleEv @ 2131 NONAME + _ZN12QTextControl19getStaticMetaObjectEv @ 2132 NONAME + _ZN12QTextControl19modificationChangedEb @ 2133 NONAME + _ZN12QTextControl20setCurrentCharFormatERK15QTextCharFormat @ 2134 NONAME + _ZN12QTextControl20setOpenExternalLinksEb @ 2135 NONAME + _ZN12QTextControl21cursorPositionChangedEv @ 2136 NONAME + _ZN12QTextControl22mergeCurrentCharFormatERK15QTextCharFormat @ 2137 NONAME + _ZN12QTextControl23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 2138 NONAME + _ZN12QTextControl24currentCharFormatChangedERK15QTextCharFormat @ 2139 NONAME + _ZN12QTextControl25createStandardContextMenuERK7QPointFP7QWidget @ 2140 NONAME + _ZN12QTextControl25setCursorIsFocusIndicatorEb @ 2141 NONAME + _ZN12QTextControl30setFocusToNextOrPreviousAnchorEb @ 2142 NONAME + _ZN12QTextControl3cutEv @ 2143 NONAME + _ZN12QTextControl4copyEv @ 2144 NONAME + _ZN12QTextControl4findERK7QString6QFlagsIN13QTextDocument8FindFlagEE @ 2145 NONAME + _ZN12QTextControl4redoEv @ 2146 NONAME + _ZN12QTextControl4undoEv @ 2147 NONAME + _ZN12QTextControl5clearEv @ 2148 NONAME + _ZN12QTextControl5eventEP6QEvent @ 2149 NONAME + _ZN12QTextControl5pasteEv @ 2150 NONAME + _ZN12QTextControl6appendERK7QString @ 2151 NONAME + _ZN12QTextControl7setHtmlERK7QString @ 2152 NONAME + _ZN12QTextControl8setFocusEbN2Qt11FocusReasonE @ 2153 NONAME + _ZN12QTextControl9selectAllEv @ 2154 NONAME + _ZN12QTextControlC1EP13QTextDocumentP7QObject @ 2155 NONAME + _ZN12QTextControlC1EP7QObject @ 2156 NONAME + _ZN12QTextControlC1ERK7QStringP7QObject @ 2157 NONAME + _ZN12QTextControlC2EP13QTextDocumentP7QObject @ 2158 NONAME + _ZN12QTextControlC2EP7QObject @ 2159 NONAME + _ZN12QTextControlC2ERK7QStringP7QObject @ 2160 NONAME + _ZN12QTextControlD0Ev @ 2161 NONAME + _ZN12QTextControlD1Ev @ 2162 NONAME + _ZN12QTextControlD2Ev @ 2163 NONAME + _ZN12QUndoCommand4redoEv @ 2164 NONAME + _ZN12QUndoCommand4undoEv @ 2165 NONAME + _ZN12QUndoCommand7setTextERK7QString @ 2166 NONAME + _ZN12QUndoCommand9mergeWithEPKS_ @ 2167 NONAME + _ZN12QUndoCommandC1EPS_ @ 2168 NONAME + _ZN12QUndoCommandC1ERK7QStringPS_ @ 2169 NONAME + _ZN12QUndoCommandC2EPS_ @ 2170 NONAME + _ZN12QUndoCommandC2ERK7QStringPS_ @ 2171 NONAME + _ZN12QUndoCommandD0Ev @ 2172 NONAME + _ZN12QUndoCommandD1Ev @ 2173 NONAME + _ZN12QUndoCommandD2Ev @ 2174 NONAME + _ZN13QDateTimeEdit10paintEventEP11QPaintEvent @ 2175 NONAME + _ZN13QDateTimeEdit10wheelEventEP11QWheelEvent @ 2176 NONAME + _ZN13QDateTimeEdit11dateChangedERK5QDate @ 2177 NONAME + _ZN13QDateTimeEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 2178 NONAME + _ZN13QDateTimeEdit11qt_metacastEPKc @ 2179 NONAME + _ZN13QDateTimeEdit11setDateTimeERK9QDateTime @ 2180 NONAME + _ZN13QDateTimeEdit11setTimeSpecEN2Qt8TimeSpecE @ 2181 NONAME + _ZN13QDateTimeEdit11timeChangedERK5QTime @ 2182 NONAME + _ZN13QDateTimeEdit12focusInEventEP11QFocusEvent @ 2183 NONAME + _ZN13QDateTimeEdit12setDateRangeERK5QDateS2_ @ 2184 NONAME + _ZN13QDateTimeEdit12setTimeRangeERK5QTimeS2_ @ 2185 NONAME + _ZN13QDateTimeEdit13keyPressEventEP9QKeyEvent @ 2186 NONAME + _ZN13QDateTimeEdit14setMaximumDateERK5QDate @ 2187 NONAME + _ZN13QDateTimeEdit14setMaximumTimeERK5QTime @ 2188 NONAME + _ZN13QDateTimeEdit14setMinimumDateERK5QDate @ 2189 NONAME + _ZN13QDateTimeEdit14setMinimumTimeERK5QTime @ 2190 NONAME + _ZN13QDateTimeEdit15dateTimeChangedERK9QDateTime @ 2191 NONAME + _ZN13QDateTimeEdit15mousePressEventEP11QMouseEvent @ 2192 NONAME + _ZN13QDateTimeEdit16clearMaximumDateEv @ 2193 NONAME + _ZN13QDateTimeEdit16clearMaximumTimeEv @ 2194 NONAME + _ZN13QDateTimeEdit16clearMinimumDateEv @ 2195 NONAME + _ZN13QDateTimeEdit16clearMinimumTimeEv @ 2196 NONAME + _ZN13QDateTimeEdit16setCalendarPopupEb @ 2197 NONAME + _ZN13QDateTimeEdit16setDateTimeRangeERK9QDateTimeS2_ @ 2198 NONAME + _ZN13QDateTimeEdit16setDisplayFormatERK7QString @ 2199 NONAME + _ZN13QDateTimeEdit16staticMetaObjectE @ 2200 NONAME DATA 16 + _ZN13QDateTimeEdit17setCalendarWidgetEP15QCalendarWidget @ 2201 NONAME + _ZN13QDateTimeEdit17setCurrentSectionENS_7SectionE @ 2202 NONAME + _ZN13QDateTimeEdit18focusNextPrevChildEb @ 2203 NONAME + _ZN13QDateTimeEdit18setMaximumDateTimeERK9QDateTime @ 2204 NONAME + _ZN13QDateTimeEdit18setMinimumDateTimeERK9QDateTime @ 2205 NONAME + _ZN13QDateTimeEdit18setSelectedSectionENS_7SectionE @ 2206 NONAME + _ZN13QDateTimeEdit19getStaticMetaObjectEv @ 2207 NONAME + _ZN13QDateTimeEdit20clearMaximumDateTimeEv @ 2208 NONAME + _ZN13QDateTimeEdit20clearMinimumDateTimeEv @ 2209 NONAME + _ZN13QDateTimeEdit22setCurrentSectionIndexEi @ 2210 NONAME + _ZN13QDateTimeEdit5clearEv @ 2211 NONAME + _ZN13QDateTimeEdit5eventEP6QEvent @ 2212 NONAME + _ZN13QDateTimeEdit6stepByEi @ 2213 NONAME + _ZN13QDateTimeEdit7setDateERK5QDate @ 2214 NONAME + _ZN13QDateTimeEdit7setTimeERK5QTime @ 2215 NONAME + _ZN13QDateTimeEditC1EP7QWidget @ 2216 NONAME + _ZN13QDateTimeEditC1ERK5QDateP7QWidget @ 2217 NONAME + _ZN13QDateTimeEditC1ERK5QTimeP7QWidget @ 2218 NONAME + _ZN13QDateTimeEditC1ERK8QVariantNS0_4TypeEP7QWidget @ 2219 NONAME + _ZN13QDateTimeEditC1ERK9QDateTimeP7QWidget @ 2220 NONAME + _ZN13QDateTimeEditC2EP7QWidget @ 2221 NONAME + _ZN13QDateTimeEditC2ERK5QDateP7QWidget @ 2222 NONAME + _ZN13QDateTimeEditC2ERK5QTimeP7QWidget @ 2223 NONAME + _ZN13QDateTimeEditC2ERK8QVariantNS0_4TypeEP7QWidget @ 2224 NONAME + _ZN13QDateTimeEditC2ERK9QDateTimeP7QWidget @ 2225 NONAME + _ZN13QErrorMessage11changeEventEP6QEvent @ 2226 NONAME + _ZN13QErrorMessage11qt_metacallEN11QMetaObject4CallEiPPv @ 2227 NONAME + _ZN13QErrorMessage11qt_metacastEPKc @ 2228 NONAME + _ZN13QErrorMessage11showMessageERK7QString @ 2229 NONAME + _ZN13QErrorMessage11showMessageERK7QStringS2_ @ 2230 NONAME + _ZN13QErrorMessage16staticMetaObjectE @ 2231 NONAME DATA 16 + _ZN13QErrorMessage19getStaticMetaObjectEv @ 2232 NONAME + _ZN13QErrorMessage4doneEi @ 2233 NONAME + _ZN13QErrorMessage9qtHandlerEv @ 2234 NONAME + _ZN13QErrorMessageC1EP7QWidget @ 2235 NONAME + _ZN13QErrorMessageC2EP7QWidget @ 2236 NONAME + _ZN13QErrorMessageD0Ev @ 2237 NONAME + _ZN13QErrorMessageD1Ev @ 2238 NONAME + _ZN13QErrorMessageD2Ev @ 2239 NONAME + _ZN13QFontComboBox11qt_metacallEN11QMetaObject4CallEiPPv @ 2240 NONAME + _ZN13QFontComboBox11qt_metacastEPKc @ 2241 NONAME + _ZN13QFontComboBox14setCurrentFontERK5QFont @ 2242 NONAME + _ZN13QFontComboBox14setFontFiltersE6QFlagsINS_10FontFilterEE @ 2243 NONAME + _ZN13QFontComboBox16setWritingSystemEN13QFontDatabase13WritingSystemE @ 2244 NONAME + _ZN13QFontComboBox16staticMetaObjectE @ 2245 NONAME DATA 16 + _ZN13QFontComboBox18currentFontChangedERK5QFont @ 2246 NONAME + _ZN13QFontComboBox19getStaticMetaObjectEv @ 2247 NONAME + _ZN13QFontComboBox5eventEP6QEvent @ 2248 NONAME + _ZN13QFontComboBoxC1EP7QWidget @ 2249 NONAME + _ZN13QFontComboBoxC2EP7QWidget @ 2250 NONAME + _ZN13QFontComboBoxD0Ev @ 2251 NONAME + _ZN13QFontComboBoxD1Ev @ 2252 NONAME + _ZN13QFontComboBoxD2Ev @ 2253 NONAME + _ZN13QFontDatabase10pointSizesERK7QStringS2_ @ 2254 NONAME + _ZN13QFontDatabase11smoothSizesERK7QStringS2_ @ 2255 NONAME + _ZN13QFontDatabase11styleStringERK5QFont @ 2256 NONAME + _ZN13QFontDatabase11styleStringERK9QFontInfo @ 2257 NONAME + _ZN13QFontDatabase13parseFontNameERK7QStringRS0_S3_ @ 2258 NONAME + _ZN13QFontDatabase13standardSizesEv @ 2259 NONAME + _ZN13QFontDatabase14createDatabaseEv @ 2260 NONAME + _ZN13QFontDatabase16staticMetaObjectE @ 2261 NONAME DATA 16 + _ZN13QFontDatabase17writingSystemNameENS_13WritingSystemE @ 2262 NONAME + _ZN13QFontDatabase18addApplicationFontERK7QString @ 2263 NONAME + _ZN13QFontDatabase19getStaticMetaObjectEv @ 2264 NONAME + _ZN13QFontDatabase19writingSystemSampleENS_13WritingSystemE @ 2265 NONAME + _ZN13QFontDatabase21removeApplicationFontEi @ 2266 NONAME + _ZN13QFontDatabase23applicationFontFamiliesEi @ 2267 NONAME + _ZN13QFontDatabase26addApplicationFontFromDataERK10QByteArray @ 2268 NONAME + _ZN13QFontDatabase29supportsThreadedFontRenderingEv @ 2269 NONAME + _ZN13QFontDatabase4loadEPK12QFontPrivatei @ 2270 NONAME + _ZN13QFontDatabase8findFontEiPK12QFontPrivateRK8QFontDef @ 2271 NONAME + _ZN13QFontDatabaseC1Ev @ 2272 NONAME + _ZN13QFontDatabaseC2Ev @ 2273 NONAME + _ZN13QFontMetricsFC1ERK12QFontMetrics @ 2274 NONAME + _ZN13QFontMetricsFC1ERK5QFont @ 2275 NONAME + _ZN13QFontMetricsFC1ERK5QFontP12QPaintDevice @ 2276 NONAME + _ZN13QFontMetricsFC1ERKS_ @ 2277 NONAME + _ZN13QFontMetricsFC2ERK12QFontMetrics @ 2278 NONAME + _ZN13QFontMetricsFC2ERK5QFont @ 2279 NONAME + _ZN13QFontMetricsFC2ERK5QFontP12QPaintDevice @ 2280 NONAME + _ZN13QFontMetricsFC2ERKS_ @ 2281 NONAME + _ZN13QFontMetricsFD1Ev @ 2282 NONAME + _ZN13QFontMetricsFD2Ev @ 2283 NONAME + _ZN13QFontMetricsFaSERK12QFontMetrics @ 2284 NONAME + _ZN13QFontMetricsFaSERKS_ @ 2285 NONAME + _ZN13QFontMetricsFeqERKS_ @ 2286 NONAME + _ZN13QGestureEvent11setAcceptedEP8QGestureb @ 2287 NONAME + _ZN13QGestureEvent6acceptEP8QGesture @ 2288 NONAME + _ZN13QGestureEvent6ignoreEP8QGesture @ 2289 NONAME + _ZN13QGestureEvent7gestureEN2Qt11GestureTypeE @ 2290 NONAME + _ZN13QGestureEventC1ERK5QListIP8QGestureE @ 2291 NONAME + _ZN13QGestureEventC2ERK5QListIP8QGestureE @ 2292 NONAME + _ZN13QGraphicsItem10addToIndexEv @ 2293 NONAME + _ZN13QGraphicsItem10clearFocusEv @ 2294 NONAME + _ZN13QGraphicsItem10itemChangeENS_18GraphicsItemChangeERK8QVariant @ 2295 NONAME + _ZN13QGraphicsItem10sceneEventEP6QEvent @ 2296 NONAME + _ZN13QGraphicsItem10setEnabledEb @ 2297 NONAME + _ZN13QGraphicsItem10setOpacityEf @ 2298 NONAME + _ZN13QGraphicsItem10setToolTipERK7QString @ 2299 NONAME + _ZN13QGraphicsItem10setVisibleEb @ 2300 NONAME + _ZN13QGraphicsItem10wheelEventEP24QGraphicsSceneWheelEvent @ 2301 NONAME + _ZN13QGraphicsItem11resetMatrixEv @ 2302 NONAME + _ZN13QGraphicsItem11setRotationEf @ 2303 NONAME + _ZN13QGraphicsItem11setSelectedEb @ 2304 NONAME + _ZN13QGraphicsItem11stackBeforeEPKS_ @ 2305 NONAME + _ZN13QGraphicsItem11ungrabMouseEv @ 2306 NONAME + _ZN13QGraphicsItem11unsetCursorEv @ 2307 NONAME + _ZN13QGraphicsItem12focusInEventEP11QFocusEvent @ 2308 NONAME + _ZN13QGraphicsItem12grabKeyboardEv @ 2309 NONAME + _ZN13QGraphicsItem12setCacheModeENS_9CacheModeERK5QSize @ 2310 NONAME + _ZN13QGraphicsItem12setExtensionENS_9ExtensionERK8QVariant @ 2311 NONAME + _ZN13QGraphicsItem12setTransformERK10QTransformb @ 2312 NONAME + _ZN13QGraphicsItem13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 2313 NONAME + _ZN13QGraphicsItem13ensureVisibleERK6QRectFii @ 2314 NONAME + _ZN13QGraphicsItem13focusOutEventEP11QFocusEvent @ 2315 NONAME + _ZN13QGraphicsItem13keyPressEventEP9QKeyEvent @ 2316 NONAME + _ZN13QGraphicsItem13setFocusProxyEPS_ @ 2317 NONAME + _ZN13QGraphicsItem13setParentItemEPS_ @ 2318 NONAME + _ZN13QGraphicsItem14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 2319 NONAME + _ZN13QGraphicsItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 2320 NONAME + _ZN13QGraphicsItem14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 2321 NONAME + _ZN13QGraphicsItem14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 2322 NONAME + _ZN13QGraphicsItem14resetTransformEv @ 2323 NONAME + _ZN13QGraphicsItem14setAcceptDropsEb @ 2324 NONAME + _ZN13QGraphicsItem14ungrabKeyboardEv @ 2325 NONAME + _ZN13QGraphicsItem15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 2326 NONAME + _ZN13QGraphicsItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 2327 NONAME + _ZN13QGraphicsItem15keyReleaseEventEP9QKeyEvent @ 2328 NONAME + _ZN13QGraphicsItem15mousePressEventEP24QGraphicsSceneMouseEvent @ 2329 NONAME + _ZN13QGraphicsItem15removeFromIndexEv @ 2330 NONAME + _ZN13QGraphicsItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 2331 NONAME + _ZN13QGraphicsItem16inputMethodEventEP17QInputMethodEvent @ 2332 NONAME + _ZN13QGraphicsItem16sceneEventFilterEPS_P6QEvent @ 2333 NONAME + _ZN13QGraphicsItem16setPanelModalityENS_13PanelModalityE @ 2334 NONAME + _ZN13QGraphicsItem16toGraphicsObjectEv @ 2335 NONAME + _ZN13QGraphicsItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 2336 NONAME + _ZN13QGraphicsItem17setGraphicsEffectEP15QGraphicsEffect @ 2337 NONAME + _ZN13QGraphicsItem18setTransformationsERK5QListIP18QGraphicsTransformE @ 2338 NONAME + _ZN13QGraphicsItem19setInputMethodHintsE6QFlagsIN2Qt15InputMethodHintEE @ 2339 NONAME + _ZN13QGraphicsItem20setAcceptHoverEventsEb @ 2340 NONAME + _ZN13QGraphicsItem20setAcceptTouchEventsEb @ 2341 NONAME + _ZN13QGraphicsItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 2342 NONAME + _ZN13QGraphicsItem21prepareGeometryChangeEv @ 2343 NONAME + _ZN13QGraphicsItem21setAcceptsHoverEventsEb @ 2344 NONAME + _ZN13QGraphicsItem21setFiltersChildEventsEb @ 2345 NONAME + _ZN13QGraphicsItem21setHandlesChildEventsEb @ 2346 NONAME + _ZN13QGraphicsItem22removeSceneEventFilterEPS_ @ 2347 NONAME + _ZN13QGraphicsItem23installSceneEventFilterEPS_ @ 2348 NONAME + _ZN13QGraphicsItem23setAcceptedMouseButtonsE6QFlagsIN2Qt11MouseButtonEE @ 2349 NONAME + _ZN13QGraphicsItem23setTransformOriginPointERK7QPointF @ 2350 NONAME + _ZN13QGraphicsItem28setBoundingRegionGranularityEf @ 2351 NONAME + _ZN13QGraphicsItem4setXEf @ 2352 NONAME + _ZN13QGraphicsItem4setYEf @ 2353 NONAME + _ZN13QGraphicsItem5scaleEff @ 2354 NONAME + _ZN13QGraphicsItem5shearEff @ 2355 NONAME + _ZN13QGraphicsItem6rotateEf @ 2356 NONAME + _ZN13QGraphicsItem6scrollEffRK6QRectF @ 2357 NONAME + _ZN13QGraphicsItem6setPosERK7QPointF @ 2358 NONAME + _ZN13QGraphicsItem6updateERK6QRectF @ 2359 NONAME + _ZN13QGraphicsItem7advanceEi @ 2360 NONAME + _ZN13QGraphicsItem7setDataEiRK8QVariant @ 2361 NONAME + _ZN13QGraphicsItem7setFlagENS_16GraphicsItemFlagEb @ 2362 NONAME + _ZN13QGraphicsItem8setFlagsE6QFlagsINS_16GraphicsItemFlagEE @ 2363 NONAME + _ZN13QGraphicsItem8setFocusEN2Qt11FocusReasonE @ 2364 NONAME + _ZN13QGraphicsItem8setGroupEP18QGraphicsItemGroup @ 2365 NONAME + _ZN13QGraphicsItem8setScaleEf @ 2366 NONAME + _ZN13QGraphicsItem9dropEventEP27QGraphicsSceneDragDropEvent @ 2367 NONAME + _ZN13QGraphicsItem9grabMouseEv @ 2368 NONAME + _ZN13QGraphicsItem9setActiveEb @ 2369 NONAME + _ZN13QGraphicsItem9setCursorERK7QCursor @ 2370 NONAME + _ZN13QGraphicsItem9setMatrixERK7QMatrixb @ 2371 NONAME + _ZN13QGraphicsItem9setZValueEf @ 2372 NONAME + _ZN13QGraphicsItem9translateEff @ 2373 NONAME + _ZN13QGraphicsItemC2EPS_P14QGraphicsScene @ 2374 NONAME + _ZN13QGraphicsItemC2ER20QGraphicsItemPrivatePS_P14QGraphicsScene @ 2375 NONAME + _ZN13QGraphicsItemD0Ev @ 2376 NONAME + _ZN13QGraphicsItemD1Ev @ 2377 NONAME + _ZN13QGraphicsItemD2Ev @ 2378 NONAME + _ZN13QGraphicsView10paintEventEP11QPaintEvent @ 2379 NONAME + _ZN13QGraphicsView10wheelEventEP11QWheelEvent @ 2380 NONAME + _ZN13QGraphicsView11qt_metacallEN11QMetaObject4CallEiPPv @ 2381 NONAME + _ZN13QGraphicsView11qt_metacastEPKc @ 2382 NONAME + _ZN13QGraphicsView11resetMatrixEv @ 2383 NONAME + _ZN13QGraphicsView11resizeEventEP12QResizeEvent @ 2384 NONAME + _ZN13QGraphicsView11setDragModeENS_8DragModeE @ 2385 NONAME + _ZN13QGraphicsView11updateSceneERK5QListI6QRectFE @ 2386 NONAME + _ZN13QGraphicsView12focusInEventEP11QFocusEvent @ 2387 NONAME + _ZN13QGraphicsView12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 2388 NONAME + _ZN13QGraphicsView12setCacheModeE6QFlagsINS_13CacheModeFlagEE @ 2389 NONAME + _ZN13QGraphicsView12setSceneRectERK6QRectF @ 2390 NONAME + _ZN13QGraphicsView12setTransformERK10QTransformb @ 2391 NONAME + _ZN13QGraphicsView13dragMoveEventEP14QDragMoveEvent @ 2392 NONAME + _ZN13QGraphicsView13ensureVisibleEPK13QGraphicsItemii @ 2393 NONAME + _ZN13QGraphicsView13ensureVisibleERK6QRectFii @ 2394 NONAME + _ZN13QGraphicsView13focusOutEventEP11QFocusEvent @ 2395 NONAME + _ZN13QGraphicsView13keyPressEventEP9QKeyEvent @ 2396 NONAME + _ZN13QGraphicsView13setRenderHintEN8QPainter10RenderHintEb @ 2397 NONAME + _ZN13QGraphicsView13setupViewportEP7QWidget @ 2398 NONAME + _ZN13QGraphicsView13viewportEventEP6QEvent @ 2399 NONAME + _ZN13QGraphicsView14dragEnterEventEP15QDragEnterEvent @ 2400 NONAME + _ZN13QGraphicsView14dragLeaveEventEP15QDragLeaveEvent @ 2401 NONAME + _ZN13QGraphicsView14drawBackgroundEP8QPainterRK6QRectF @ 2402 NONAME + _ZN13QGraphicsView14drawForegroundEP8QPainterRK6QRectF @ 2403 NONAME + _ZN13QGraphicsView14mouseMoveEventEP11QMouseEvent @ 2404 NONAME + _ZN13QGraphicsView14resetTransformEv @ 2405 NONAME + _ZN13QGraphicsView14setInteractiveEb @ 2406 NONAME + _ZN13QGraphicsView14setRenderHintsE6QFlagsIN8QPainter10RenderHintEE @ 2407 NONAME + _ZN13QGraphicsView15invalidateSceneERK6QRectF6QFlagsIN14QGraphicsScene10SceneLayerEE @ 2408 NONAME + _ZN13QGraphicsView15keyReleaseEventEP9QKeyEvent @ 2409 NONAME + _ZN13QGraphicsView15mousePressEventEP11QMouseEvent @ 2410 NONAME + _ZN13QGraphicsView15setResizeAnchorENS_14ViewportAnchorE @ 2411 NONAME + _ZN13QGraphicsView15updateSceneRectERK6QRectF @ 2412 NONAME + _ZN13QGraphicsView16contextMenuEventEP17QContextMenuEvent @ 2413 NONAME + _ZN13QGraphicsView16inputMethodEventEP17QInputMethodEvent @ 2414 NONAME + _ZN13QGraphicsView16scrollContentsByEii @ 2415 NONAME + _ZN13QGraphicsView16staticMetaObjectE @ 2416 NONAME DATA 16 + _ZN13QGraphicsView17mouseReleaseEventEP11QMouseEvent @ 2417 NONAME + _ZN13QGraphicsView18focusNextPrevChildEb @ 2418 NONAME + _ZN13QGraphicsView18resetCachedContentEv @ 2419 NONAME + _ZN13QGraphicsView18setBackgroundBrushERK6QBrush @ 2420 NONAME + _ZN13QGraphicsView18setForegroundBrushERK6QBrush @ 2421 NONAME + _ZN13QGraphicsView19getStaticMetaObjectEv @ 2422 NONAME + _ZN13QGraphicsView19setOptimizationFlagENS_16OptimizationFlagEb @ 2423 NONAME + _ZN13QGraphicsView20setOptimizationFlagsE6QFlagsINS_16OptimizationFlagEE @ 2424 NONAME + _ZN13QGraphicsView21mouseDoubleClickEventEP11QMouseEvent @ 2425 NONAME + _ZN13QGraphicsView21setViewportUpdateModeENS_18ViewportUpdateModeE @ 2426 NONAME + _ZN13QGraphicsView23setTransformationAnchorENS_14ViewportAnchorE @ 2427 NONAME + _ZN13QGraphicsView26setRubberBandSelectionModeEN2Qt17ItemSelectionModeE @ 2428 NONAME + _ZN13QGraphicsView5eventEP6QEvent @ 2429 NONAME + _ZN13QGraphicsView5scaleEff @ 2430 NONAME + _ZN13QGraphicsView5shearEff @ 2431 NONAME + _ZN13QGraphicsView6renderEP8QPainterRK6QRectFRK5QRectN2Qt15AspectRatioModeE @ 2432 NONAME + _ZN13QGraphicsView6rotateEf @ 2433 NONAME + _ZN13QGraphicsView8centerOnEPK13QGraphicsItem @ 2434 NONAME + _ZN13QGraphicsView8centerOnERK7QPointF @ 2435 NONAME + _ZN13QGraphicsView8setSceneEP14QGraphicsScene @ 2436 NONAME + _ZN13QGraphicsView9drawItemsEP8QPainteriPP13QGraphicsItemPK24QStyleOptionGraphicsItem @ 2437 NONAME + _ZN13QGraphicsView9dropEventEP10QDropEvent @ 2438 NONAME + _ZN13QGraphicsView9fitInViewEPK13QGraphicsItemN2Qt15AspectRatioModeE @ 2439 NONAME + _ZN13QGraphicsView9fitInViewERK6QRectFN2Qt15AspectRatioModeE @ 2440 NONAME + _ZN13QGraphicsView9setMatrixERK7QMatrixb @ 2441 NONAME + _ZN13QGraphicsView9showEventEP10QShowEvent @ 2442 NONAME + _ZN13QGraphicsView9translateEff @ 2443 NONAME + _ZN13QGraphicsViewC1EP14QGraphicsSceneP7QWidget @ 2444 NONAME + _ZN13QGraphicsViewC1EP7QWidget @ 2445 NONAME + _ZN13QGraphicsViewC1ER20QGraphicsViewPrivateP7QWidget @ 2446 NONAME + _ZN13QGraphicsViewC2EP14QGraphicsSceneP7QWidget @ 2447 NONAME + _ZN13QGraphicsViewC2EP7QWidget @ 2448 NONAME + _ZN13QGraphicsViewC2ER20QGraphicsViewPrivateP7QWidget @ 2449 NONAME + _ZN13QGraphicsViewD0Ev @ 2450 NONAME + _ZN13QGraphicsViewD1Ev @ 2451 NONAME + _ZN13QGraphicsViewD2Ev @ 2452 NONAME + _ZN13QIconEngineV212virtual_hookEiPv @ 2453 NONAME + _ZN13QIconEngineV214availableSizesEN5QIcon4ModeENS0_5StateE @ 2454 NONAME + _ZN13QIconEngineV24readER11QDataStream @ 2455 NONAME + _ZN13QInputContext11filterEventEPK6QEvent @ 2456 NONAME + _ZN13QInputContext11qt_metacallEN11QMetaObject4CallEiPPv @ 2457 NONAME + _ZN13QInputContext11qt_metacastEPKc @ 2458 NONAME + _ZN13QInputContext12mouseHandlerEiP11QMouseEvent @ 2459 NONAME + _ZN13QInputContext14s60FilterEventEP7QWidgetP8TWsEvent @ 2460 NONAME + _ZN13QInputContext14setFocusWidgetEP7QWidget @ 2461 NONAME + _ZN13QInputContext15widgetDestroyedEP7QWidget @ 2462 NONAME + _ZN13QInputContext16staticMetaObjectE @ 2463 NONAME DATA 16 + _ZN13QInputContext19getStaticMetaObjectEv @ 2464 NONAME + _ZN13QInputContext6updateEv @ 2465 NONAME + _ZN13QInputContext7actionsEv @ 2466 NONAME + _ZN13QInputContext9sendEventERK17QInputMethodEvent @ 2467 NONAME + _ZN13QInputContextC2EP7QObject @ 2468 NONAME + _ZN13QInputContextD0Ev @ 2469 NONAME + _ZN13QInputContextD1Ev @ 2470 NONAME + _ZN13QInputContextD2Ev @ 2471 NONAME + _ZN13QIntValidator11qt_metacallEN11QMetaObject4CallEiPPv @ 2472 NONAME + _ZN13QIntValidator11qt_metacastEPKc @ 2473 NONAME + _ZN13QIntValidator16staticMetaObjectE @ 2474 NONAME DATA 16 + _ZN13QIntValidator19getStaticMetaObjectEv @ 2475 NONAME + _ZN13QIntValidator6setTopEi @ 2476 NONAME + _ZN13QIntValidator8setRangeEii @ 2477 NONAME + _ZN13QIntValidator9setBottomEi @ 2478 NONAME + _ZN13QIntValidatorC1EP7QObject @ 2479 NONAME + _ZN13QIntValidatorC1EiiP7QObject @ 2480 NONAME + _ZN13QIntValidatorC2EP7QObject @ 2481 NONAME + _ZN13QIntValidatorC2EiiP7QObject @ 2482 NONAME + _ZN13QIntValidatorD0Ev @ 2483 NONAME + _ZN13QIntValidatorD1Ev @ 2484 NONAME + _ZN13QIntValidatorD2Ev @ 2485 NONAME + _ZN13QItemDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex @ 2486 NONAME + _ZN13QItemDelegate11eventFilterEP7QObjectP6QEvent @ 2487 NONAME + _ZN13QItemDelegate11qt_metacallEN11QMetaObject4CallEiPPv @ 2488 NONAME + _ZN13QItemDelegate11qt_metacastEPKc @ 2489 NONAME + _ZN13QItemDelegate11setClippingEb @ 2490 NONAME + _ZN13QItemDelegate16staticMetaObjectE @ 2491 NONAME DATA 16 + _ZN13QItemDelegate19getStaticMetaObjectEv @ 2492 NONAME + _ZN13QItemDelegate20setItemEditorFactoryEP18QItemEditorFactory @ 2493 NONAME + _ZN13QItemDelegateC1EP7QObject @ 2494 NONAME + _ZN13QItemDelegateC2EP7QObject @ 2495 NONAME + _ZN13QItemDelegateD0Ev @ 2496 NONAME + _ZN13QItemDelegateD1Ev @ 2497 NONAME + _ZN13QItemDelegateD2Ev @ 2498 NONAME + _ZN13QMdiSubWindow10childEventEP11QChildEvent @ 2499 NONAME + _ZN13QMdiSubWindow10closeEventEP11QCloseEvent @ 2500 NONAME + _ZN13QMdiSubWindow10leaveEventEP6QEvent @ 2501 NONAME + _ZN13QMdiSubWindow10paintEventEP11QPaintEvent @ 2502 NONAME + _ZN13QMdiSubWindow10showShadedEv @ 2503 NONAME + _ZN13QMdiSubWindow10timerEventEP11QTimerEvent @ 2504 NONAME + _ZN13QMdiSubWindow11changeEventEP6QEvent @ 2505 NONAME + _ZN13QMdiSubWindow11eventFilterEP7QObjectP6QEvent @ 2506 NONAME + _ZN13QMdiSubWindow11qt_metacallEN11QMetaObject4CallEiPPv @ 2507 NONAME + _ZN13QMdiSubWindow11qt_metacastEPKc @ 2508 NONAME + _ZN13QMdiSubWindow11resizeEventEP12QResizeEvent @ 2509 NONAME + _ZN13QMdiSubWindow12focusInEventEP11QFocusEvent @ 2510 NONAME + _ZN13QMdiSubWindow13focusOutEventEP11QFocusEvent @ 2511 NONAME + _ZN13QMdiSubWindow13keyPressEventEP9QKeyEvent @ 2512 NONAME + _ZN13QMdiSubWindow13setSystemMenuEP5QMenu @ 2513 NONAME + _ZN13QMdiSubWindow14mouseMoveEventEP11QMouseEvent @ 2514 NONAME + _ZN13QMdiSubWindow14showSystemMenuEv @ 2515 NONAME + _ZN13QMdiSubWindow15aboutToActivateEv @ 2516 NONAME + _ZN13QMdiSubWindow15mousePressEventEP11QMouseEvent @ 2517 NONAME + _ZN13QMdiSubWindow16contextMenuEventEP17QContextMenuEvent @ 2518 NONAME + _ZN13QMdiSubWindow16staticMetaObjectE @ 2519 NONAME DATA 16 + _ZN13QMdiSubWindow17mouseReleaseEventEP11QMouseEvent @ 2520 NONAME + _ZN13QMdiSubWindow18windowStateChangedE6QFlagsIN2Qt11WindowStateEES3_ @ 2521 NONAME + _ZN13QMdiSubWindow19getStaticMetaObjectEv @ 2522 NONAME + _ZN13QMdiSubWindow19setKeyboardPageStepEi @ 2523 NONAME + _ZN13QMdiSubWindow21mouseDoubleClickEventEP11QMouseEvent @ 2524 NONAME + _ZN13QMdiSubWindow21setKeyboardSingleStepEi @ 2525 NONAME + _ZN13QMdiSubWindow5eventEP6QEvent @ 2526 NONAME + _ZN13QMdiSubWindow9hideEventEP10QHideEvent @ 2527 NONAME + _ZN13QMdiSubWindow9moveEventEP10QMoveEvent @ 2528 NONAME + _ZN13QMdiSubWindow9setOptionENS_15SubWindowOptionEb @ 2529 NONAME + _ZN13QMdiSubWindow9setWidgetEP7QWidget @ 2530 NONAME + _ZN13QMdiSubWindow9showEventEP10QShowEvent @ 2531 NONAME + _ZN13QMdiSubWindowC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 2532 NONAME + _ZN13QMdiSubWindowC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 2533 NONAME + _ZN13QMdiSubWindowD0Ev @ 2534 NONAME + _ZN13QMdiSubWindowD1Ev @ 2535 NONAME + _ZN13QMdiSubWindowD2Ev @ 2536 NONAME + _ZN13QPainterState4initEP8QPainter @ 2537 NONAME + _ZN13QPainterStateC1EPKS_ @ 2538 NONAME + _ZN13QPainterStateC1Ev @ 2539 NONAME + _ZN13QPainterStateC2EPKS_ @ 2540 NONAME + _ZN13QPainterStateC2Ev @ 2541 NONAME + _ZN13QPainterStateD0Ev @ 2542 NONAME + _ZN13QPainterStateD1Ev @ 2543 NONAME + _ZN13QPainterStateD2Ev @ 2544 NONAME + _ZN13QPinchGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 2545 NONAME + _ZN13QPinchGesture11qt_metacastEPKc @ 2546 NONAME + _ZN13QPinchGesture14setCenterPointERK7QPointF @ 2547 NONAME + _ZN13QPinchGesture14setScaleFactorEf @ 2548 NONAME + _ZN13QPinchGesture14setWhatChangedE6QFlagsINS_10WhatChangeEE @ 2549 NONAME + _ZN13QPinchGesture16setRotationAngleEf @ 2550 NONAME + _ZN13QPinchGesture16staticMetaObjectE @ 2551 NONAME DATA 16 + _ZN13QPinchGesture18setLastCenterPointERK7QPointF @ 2552 NONAME + _ZN13QPinchGesture18setLastScaleFactorEf @ 2553 NONAME + _ZN13QPinchGesture19getStaticMetaObjectEv @ 2554 NONAME + _ZN13QPinchGesture19setStartCenterPointERK7QPointF @ 2555 NONAME + _ZN13QPinchGesture19setTotalScaleFactorEf @ 2556 NONAME + _ZN13QPinchGesture20setLastRotationAngleEf @ 2557 NONAME + _ZN13QPinchGesture21setTotalRotationAngleEf @ 2558 NONAME + _ZN13QPinchGestureC1EP7QObject @ 2559 NONAME + _ZN13QPinchGestureC2EP7QObject @ 2560 NONAME + _ZN13QPixmapFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 2561 NONAME + _ZN13QPixmapFilter11qt_metacastEPKc @ 2562 NONAME + _ZN13QPixmapFilter16staticMetaObjectE @ 2563 NONAME DATA 16 + _ZN13QPixmapFilter19getStaticMetaObjectEv @ 2564 NONAME + _ZN13QPixmapFilterC2ENS_10FilterTypeEP7QObject @ 2565 NONAME + _ZN13QPixmapFilterC2ER20QPixmapFilterPrivateNS_10FilterTypeEP7QObject @ 2566 NONAME + _ZN13QPixmapFilterD0Ev @ 2567 NONAME + _ZN13QPixmapFilterD1Ev @ 2568 NONAME + _ZN13QPixmapFilterD2Ev @ 2569 NONAME + _ZN13QS60MainAppUi10ConstructLEv @ 2570 NONAME + _ZN13QS60MainAppUi12RestoreMenuLEP11CCoeControliN16MEikMenuObserver9TMenuTypeE @ 2571 NONAME + _ZN13QS60MainAppUi14HandleCommandLEi @ 2572 NONAME + _ZN13QS60MainAppUi14HandleWsEventLERK8TWsEventP11CCoeControl @ 2573 NONAME + _ZN13QS60MainAppUi15DynInitMenuBarLEiP11CEikMenuBar @ 2574 NONAME + _ZN13QS60MainAppUi16DynInitMenuPaneLEiP12CEikMenuPane @ 2575 NONAME + _ZN13QS60MainAppUi21HandleResourceChangeLEi @ 2576 NONAME + _ZN13QS60MainAppUi26HandleStatusPaneSizeChangeEv @ 2577 NONAME + _ZN13QS60MainAppUiC1Ev @ 2578 NONAME + _ZN13QS60MainAppUiC2Ev @ 2579 NONAME + _ZN13QS60MainAppUiD0Ev @ 2580 NONAME + _ZN13QS60MainAppUiD1Ev @ 2581 NONAME + _ZN13QS60MainAppUiD2Ev @ 2582 NONAME + _ZN13QSplashScreen11qt_metacallEN11QMetaObject4CallEiPPv @ 2583 NONAME + _ZN13QSplashScreen11qt_metacastEPKc @ 2584 NONAME + _ZN13QSplashScreen11showMessageERK7QStringiRK6QColor @ 2585 NONAME + _ZN13QSplashScreen12clearMessageEv @ 2586 NONAME + _ZN13QSplashScreen12drawContentsEP8QPainter @ 2587 NONAME + _ZN13QSplashScreen14messageChangedERK7QString @ 2588 NONAME + _ZN13QSplashScreen15mousePressEventEP11QMouseEvent @ 2589 NONAME + _ZN13QSplashScreen16staticMetaObjectE @ 2590 NONAME DATA 16 + _ZN13QSplashScreen19getStaticMetaObjectEv @ 2591 NONAME + _ZN13QSplashScreen5eventEP6QEvent @ 2592 NONAME + _ZN13QSplashScreen6finishEP7QWidget @ 2593 NONAME + _ZN13QSplashScreen7repaintEv @ 2594 NONAME + _ZN13QSplashScreen9setPixmapERK7QPixmap @ 2595 NONAME + _ZN13QSplashScreenC1EP7QWidgetRK7QPixmap6QFlagsIN2Qt10WindowTypeEE @ 2596 NONAME + _ZN13QSplashScreenC1ERK7QPixmap6QFlagsIN2Qt10WindowTypeEE @ 2597 NONAME + _ZN13QSplashScreenC2EP7QWidgetRK7QPixmap6QFlagsIN2Qt10WindowTypeEE @ 2598 NONAME + _ZN13QSplashScreenC2ERK7QPixmap6QFlagsIN2Qt10WindowTypeEE @ 2599 NONAME + _ZN13QSplashScreenD0Ev @ 2600 NONAME + _ZN13QSplashScreenD1Ev @ 2601 NONAME + _ZN13QSplashScreenD2Ev @ 2602 NONAME + _ZN13QStandardItem10insertRowsEiRK5QListIPS_E @ 2603 NONAME + _ZN13QStandardItem10insertRowsEii @ 2604 NONAME + _ZN13QStandardItem10removeRowsEii @ 2605 NONAME + _ZN13QStandardItem10setEnabledEb @ 2606 NONAME + _ZN13QStandardItem10takeColumnEi @ 2607 NONAME + _ZN13QStandardItem11setEditableEb @ 2608 NONAME + _ZN13QStandardItem11setRowCountEi @ 2609 NONAME + _ZN13QStandardItem11setTristateEb @ 2610 NONAME + _ZN13QStandardItem12insertColumnEiRK5QListIPS_E @ 2611 NONAME + _ZN13QStandardItem12removeColumnEi @ 2612 NONAME + _ZN13QStandardItem12setCheckableEb @ 2613 NONAME + _ZN13QStandardItem12sortChildrenEiN2Qt9SortOrderE @ 2614 NONAME + _ZN13QStandardItem13insertColumnsEii @ 2615 NONAME + _ZN13QStandardItem13removeColumnsEii @ 2616 NONAME + _ZN13QStandardItem13setSelectableEb @ 2617 NONAME + _ZN13QStandardItem14setColumnCountEi @ 2618 NONAME + _ZN13QStandardItem14setDragEnabledEb @ 2619 NONAME + _ZN13QStandardItem14setDropEnabledEb @ 2620 NONAME + _ZN13QStandardItem15emitDataChangedEv @ 2621 NONAME + _ZN13QStandardItem4readER11QDataStream @ 2622 NONAME + _ZN13QStandardItem7setDataERK8QVarianti @ 2623 NONAME + _ZN13QStandardItem7takeRowEi @ 2624 NONAME + _ZN13QStandardItem8setChildEiiPS_ @ 2625 NONAME + _ZN13QStandardItem8setFlagsE6QFlagsIN2Qt8ItemFlagEE @ 2626 NONAME + _ZN13QStandardItem9insertRowEiRK5QListIPS_E @ 2627 NONAME + _ZN13QStandardItem9removeRowEi @ 2628 NONAME + _ZN13QStandardItem9takeChildEii @ 2629 NONAME + _ZN13QStandardItemC1ER20QStandardItemPrivate @ 2630 NONAME + _ZN13QStandardItemC1ERK5QIconRK7QString @ 2631 NONAME + _ZN13QStandardItemC1ERK7QString @ 2632 NONAME + _ZN13QStandardItemC1ERKS_ @ 2633 NONAME + _ZN13QStandardItemC1Eii @ 2634 NONAME + _ZN13QStandardItemC1Ev @ 2635 NONAME + _ZN13QStandardItemC2ER20QStandardItemPrivate @ 2636 NONAME + _ZN13QStandardItemC2ERK5QIconRK7QString @ 2637 NONAME + _ZN13QStandardItemC2ERK7QString @ 2638 NONAME + _ZN13QStandardItemC2ERKS_ @ 2639 NONAME + _ZN13QStandardItemC2Eii @ 2640 NONAME + _ZN13QStandardItemC2Ev @ 2641 NONAME + _ZN13QStandardItemD0Ev @ 2642 NONAME + _ZN13QStandardItemD1Ev @ 2643 NONAME + _ZN13QStandardItemD2Ev @ 2644 NONAME + _ZN13QStandardItemaSERKS_ @ 2645 NONAME + _ZN13QStyleFactory4keysEv @ 2646 NONAME + _ZN13QStyleFactory6createERK7QString @ 2647 NONAME + _ZN13QSwipeGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 2648 NONAME + _ZN13QSwipeGesture11qt_metacastEPKc @ 2649 NONAME + _ZN13QSwipeGesture13setSwipeAngleEf @ 2650 NONAME + _ZN13QSwipeGesture16staticMetaObjectE @ 2651 NONAME DATA 16 + _ZN13QSwipeGesture19getStaticMetaObjectEv @ 2652 NONAME + _ZN13QSwipeGesture20setVerticalDirectionENS_14SwipeDirectionE @ 2653 NONAME + _ZN13QSwipeGesture22setHorizontalDirectionENS_14SwipeDirectionE @ 2654 NONAME + _ZN13QSwipeGestureC1EP7QObject @ 2655 NONAME + _ZN13QSwipeGestureC2EP7QObject @ 2656 NONAME + _ZN13QTextDocument10adjustSizeEv @ 2657 NONAME + _ZN13QTextDocument11addResourceEiRK4QUrlRK8QVariant @ 2658 NONAME + _ZN13QTextDocument11qt_metacallEN11QMetaObject4CallEiPPv @ 2659 NONAME + _ZN13QTextDocument11qt_metacastEPKc @ 2660 NONAME + _ZN13QTextDocument11setModifiedEb @ 2661 NONAME + _ZN13QTextDocument11setPageSizeERK6QSizeF @ 2662 NONAME + _ZN13QTextDocument12createObjectERK11QTextFormat @ 2663 NONAME + _ZN13QTextDocument12drawContentsEP8QPainterRK6QRectF @ 2664 NONAME + _ZN13QTextDocument12loadResourceEiRK4QUrl @ 2665 NONAME + _ZN13QTextDocument12setPlainTextERK7QString @ 2666 NONAME + _ZN13QTextDocument12setTextWidthEf @ 2667 NONAME + _ZN13QTextDocument13redoAvailableEb @ 2668 NONAME + _ZN13QTextDocument13undoAvailableEb @ 2669 NONAME + _ZN13QTextDocument14appendUndoItemEP17QAbstractUndoItem @ 2670 NONAME + _ZN13QTextDocument14contentsChangeEiii @ 2671 NONAME + _ZN13QTextDocument14setDefaultFontERK5QFont @ 2672 NONAME + _ZN13QTextDocument14setIndentWidthEf @ 2673 NONAME + _ZN13QTextDocument15contentsChangedEv @ 2674 NONAME + _ZN13QTextDocument16staticMetaObjectE @ 2675 NONAME DATA 16 + _ZN13QTextDocument16undoCommandAddedEv @ 2676 NONAME + _ZN13QTextDocument17blockCountChangedEi @ 2677 NONAME + _ZN13QTextDocument17markContentsDirtyEii @ 2678 NONAME + _ZN13QTextDocument17setDocumentLayoutEP27QAbstractTextDocumentLayout @ 2679 NONAME + _ZN13QTextDocument17setDocumentMarginEf @ 2680 NONAME + _ZN13QTextDocument18setMetaInformationENS_15MetaInformationERK7QString @ 2681 NONAME + _ZN13QTextDocument18setUndoRedoEnabledEb @ 2682 NONAME + _ZN13QTextDocument19getStaticMetaObjectEv @ 2683 NONAME + _ZN13QTextDocument19modificationChangedEb @ 2684 NONAME + _ZN13QTextDocument19setUseDesignMetricsEb @ 2685 NONAME + _ZN13QTextDocument20setDefaultStyleSheetERK7QString @ 2686 NONAME + _ZN13QTextDocument20setDefaultTextOptionERK11QTextOption @ 2687 NONAME + _ZN13QTextDocument20setMaximumBlockCountEi @ 2688 NONAME + _ZN13QTextDocument21cursorPositionChangedERK11QTextCursor @ 2689 NONAME + _ZN13QTextDocument21documentLayoutChangedEv @ 2690 NONAME + _ZN13QTextDocument4redoEP11QTextCursor @ 2691 NONAME + _ZN13QTextDocument4redoEv @ 2692 NONAME + _ZN13QTextDocument4undoEP11QTextCursor @ 2693 NONAME + _ZN13QTextDocument4undoEv @ 2694 NONAME + _ZN13QTextDocument5clearEv @ 2695 NONAME + _ZN13QTextDocument7setHtmlERK7QString @ 2696 NONAME + _ZN13QTextDocumentC1EP7QObject @ 2697 NONAME + _ZN13QTextDocumentC1ER20QTextDocumentPrivateP7QObject @ 2698 NONAME + _ZN13QTextDocumentC1ERK7QStringP7QObject @ 2699 NONAME + _ZN13QTextDocumentC2EP7QObject @ 2700 NONAME + _ZN13QTextDocumentC2ER20QTextDocumentPrivateP7QObject @ 2701 NONAME + _ZN13QTextDocumentC2ERK7QStringP7QObject @ 2702 NONAME + _ZN13QTextDocumentD0Ev @ 2703 NONAME + _ZN13QTextDocumentD1Ev @ 2704 NONAME + _ZN13QTextDocumentD2Ev @ 2705 NONAME + _ZN13QWidgetAction11eventFilterEP7QObjectP6QEvent @ 2706 NONAME + _ZN13QWidgetAction11qt_metacallEN11QMetaObject4CallEiPPv @ 2707 NONAME + _ZN13QWidgetAction11qt_metacastEPKc @ 2708 NONAME + _ZN13QWidgetAction12createWidgetEP7QWidget @ 2709 NONAME + _ZN13QWidgetAction12deleteWidgetEP7QWidget @ 2710 NONAME + _ZN13QWidgetAction13releaseWidgetEP7QWidget @ 2711 NONAME + _ZN13QWidgetAction13requestWidgetEP7QWidget @ 2712 NONAME + _ZN13QWidgetAction16setDefaultWidgetEP7QWidget @ 2713 NONAME + _ZN13QWidgetAction16staticMetaObjectE @ 2714 NONAME DATA 16 + _ZN13QWidgetAction19getStaticMetaObjectEv @ 2715 NONAME + _ZN13QWidgetAction5eventEP6QEvent @ 2716 NONAME + _ZN13QWidgetActionC1EP7QObject @ 2717 NONAME + _ZN13QWidgetActionC2EP7QObject @ 2718 NONAME + _ZN13QWidgetActionD0Ev @ 2719 NONAME + _ZN13QWidgetActionD1Ev @ 2720 NONAME + _ZN13QWidgetActionD2Ev @ 2721 NONAME + _ZN13QWidgetItemV2C1EP7QWidget @ 2722 NONAME + _ZN13QWidgetItemV2C2EP7QWidget @ 2723 NONAME + _ZN13QWidgetItemV2D0Ev @ 2724 NONAME + _ZN13QWidgetItemV2D1Ev @ 2725 NONAME + _ZN13QWidgetItemV2D2Ev @ 2726 NONAME + _ZN13QWindowsStyle10timerEventEP11QTimerEvent @ 2727 NONAME + _ZN13QWindowsStyle11eventFilterEP7QObjectP6QEvent @ 2728 NONAME + _ZN13QWindowsStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 2729 NONAME + _ZN13QWindowsStyle11qt_metacastEPKc @ 2730 NONAME + _ZN13QWindowsStyle16staticMetaObjectE @ 2731 NONAME DATA 16 + _ZN13QWindowsStyle19getStaticMetaObjectEv @ 2732 NONAME + _ZN13QWindowsStyle6polishEP12QApplication @ 2733 NONAME + _ZN13QWindowsStyle6polishEP7QWidget @ 2734 NONAME + _ZN13QWindowsStyle6polishER8QPalette @ 2735 NONAME + _ZN13QWindowsStyle8unpolishEP12QApplication @ 2736 NONAME + _ZN13QWindowsStyle8unpolishEP7QWidget @ 2737 NONAME + _ZN13QWindowsStyleC1ER20QWindowsStylePrivate @ 2738 NONAME + _ZN13QWindowsStyleC1Ev @ 2739 NONAME + _ZN13QWindowsStyleC2ER20QWindowsStylePrivate @ 2740 NONAME + _ZN13QWindowsStyleC2Ev @ 2741 NONAME + _ZN13QWindowsStyleD0Ev @ 2742 NONAME + _ZN13QWindowsStyleD1Ev @ 2743 NONAME + _ZN13QWindowsStyleD2Ev @ 2744 NONAME + _ZN14QDesktopWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 2745 NONAME + _ZN14QDesktopWidget11qt_metacastEPKc @ 2746 NONAME + _ZN14QDesktopWidget11resizeEventEP12QResizeEvent @ 2747 NONAME + _ZN14QDesktopWidget15workAreaResizedEi @ 2748 NONAME + _ZN14QDesktopWidget16staticMetaObjectE @ 2749 NONAME DATA 16 + _ZN14QDesktopWidget18screenCountChangedEi @ 2750 NONAME + _ZN14QDesktopWidget19getStaticMetaObjectEv @ 2751 NONAME + _ZN14QDesktopWidget6screenEi @ 2752 NONAME + _ZN14QDesktopWidget7resizedEi @ 2753 NONAME + _ZN14QDesktopWidgetC1Ev @ 2754 NONAME + _ZN14QDesktopWidgetC2Ev @ 2755 NONAME + _ZN14QDesktopWidgetD0Ev @ 2756 NONAME + _ZN14QDesktopWidgetD1Ev @ 2757 NONAME + _ZN14QDesktopWidgetD2Ev @ 2758 NONAME + _ZN14QDoubleSpinBox10setMaximumEd @ 2759 NONAME + _ZN14QDoubleSpinBox10setMinimumEd @ 2760 NONAME + _ZN14QDoubleSpinBox11qt_metacallEN11QMetaObject4CallEiPPv @ 2761 NONAME + _ZN14QDoubleSpinBox11qt_metacastEPKc @ 2762 NONAME + _ZN14QDoubleSpinBox11setDecimalsEi @ 2763 NONAME + _ZN14QDoubleSpinBox12valueChangedERK7QString @ 2764 NONAME + _ZN14QDoubleSpinBox12valueChangedEd @ 2765 NONAME + _ZN14QDoubleSpinBox13setSingleStepEd @ 2766 NONAME + _ZN14QDoubleSpinBox16staticMetaObjectE @ 2767 NONAME DATA 16 + _ZN14QDoubleSpinBox19getStaticMetaObjectEv @ 2768 NONAME + _ZN14QDoubleSpinBox8setRangeEdd @ 2769 NONAME + _ZN14QDoubleSpinBox8setValueEd @ 2770 NONAME + _ZN14QDoubleSpinBox9setPrefixERK7QString @ 2771 NONAME + _ZN14QDoubleSpinBox9setSuffixERK7QString @ 2772 NONAME + _ZN14QDoubleSpinBoxC1EP7QWidget @ 2773 NONAME + _ZN14QDoubleSpinBoxC2EP7QWidget @ 2774 NONAME + _ZN14QDragMoveEventC1ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEEN6QEvent4TypeE @ 2775 NONAME + _ZN14QDragMoveEventC2ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEEN6QEvent4TypeE @ 2776 NONAME + _ZN14QDragMoveEventD0Ev @ 2777 NONAME + _ZN14QDragMoveEventD1Ev @ 2778 NONAME + _ZN14QDragMoveEventD2Ev @ 2779 NONAME + _ZN14QFileOpenEventC1ERK7QString @ 2780 NONAME + _ZN14QFileOpenEventC2ERK7QString @ 2781 NONAME + _ZN14QFileOpenEventD0Ev @ 2782 NONAME + _ZN14QFileOpenEventD1Ev @ 2783 NONAME + _ZN14QFileOpenEventD2Ev @ 2784 NONAME + _ZN14QGraphicsScale11qt_metacallEN11QMetaObject4CallEiPPv @ 2785 NONAME + _ZN14QGraphicsScale11qt_metacastEPKc @ 2786 NONAME + _ZN14QGraphicsScale12scaleChangedEv @ 2787 NONAME + _ZN14QGraphicsScale13originChangedEv @ 2788 NONAME + _ZN14QGraphicsScale16staticMetaObjectE @ 2789 NONAME DATA 16 + _ZN14QGraphicsScale19getStaticMetaObjectEv @ 2790 NONAME + _ZN14QGraphicsScale9setOriginERK9QVector3D @ 2791 NONAME + _ZN14QGraphicsScale9setXScaleEf @ 2792 NONAME + _ZN14QGraphicsScale9setYScaleEf @ 2793 NONAME + _ZN14QGraphicsScale9setZScaleEf @ 2794 NONAME + _ZN14QGraphicsScaleC1EP7QObject @ 2795 NONAME + _ZN14QGraphicsScaleC2EP7QObject @ 2796 NONAME + _ZN14QGraphicsScaleD0Ev @ 2797 NONAME + _ZN14QGraphicsScaleD1Ev @ 2798 NONAME + _ZN14QGraphicsScaleD2Ev @ 2799 NONAME + _ZN14QGraphicsScene10addEllipseERK6QRectFRK4QPenRK6QBrush @ 2800 NONAME + _ZN14QGraphicsScene10addPolygonERK9QPolygonFRK4QPenRK6QBrush @ 2801 NONAME + _ZN14QGraphicsScene10clearFocusEv @ 2802 NONAME + _ZN14QGraphicsScene10invalidateERK6QRectF6QFlagsINS_10SceneLayerEE @ 2803 NONAME + _ZN14QGraphicsScene10removeItemEP13QGraphicsItem @ 2804 NONAME + _ZN14QGraphicsScene10setPaletteERK8QPalette @ 2805 NONAME + _ZN14QGraphicsScene10wheelEventEP24QGraphicsSceneWheelEvent @ 2806 NONAME + _ZN14QGraphicsScene11eventFilterEP7QObjectP6QEvent @ 2807 NONAME + _ZN14QGraphicsScene11qt_metacallEN11QMetaObject4CallEiPPv @ 2808 NONAME + _ZN14QGraphicsScene11qt_metacastEPKc @ 2809 NONAME + _ZN14QGraphicsScene12focusInEventEP11QFocusEvent @ 2810 NONAME + _ZN14QGraphicsScene12setFocusItemEP13QGraphicsItemN2Qt11FocusReasonE @ 2811 NONAME + _ZN14QGraphicsScene12setSceneRectERK6QRectF @ 2812 NONAME + _ZN14QGraphicsScene13addSimpleTextERK7QStringRK5QFont @ 2813 NONAME + _ZN14QGraphicsScene13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 2814 NONAME + _ZN14QGraphicsScene13focusOutEventEP11QFocusEvent @ 2815 NONAME + _ZN14QGraphicsScene13keyPressEventEP9QKeyEvent @ 2816 NONAME + _ZN14QGraphicsScene14clearSelectionEv @ 2817 NONAME + _ZN14QGraphicsScene14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 2818 NONAME + _ZN14QGraphicsScene14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 2819 NONAME + _ZN14QGraphicsScene14drawBackgroundEP8QPainterRK6QRectF @ 2820 NONAME + _ZN14QGraphicsScene14drawForegroundEP8QPainterRK6QRectF @ 2821 NONAME + _ZN14QGraphicsScene14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 2822 NONAME + _ZN14QGraphicsScene14setActivePanelEP13QGraphicsItem @ 2823 NONAME + _ZN14QGraphicsScene14setStickyFocusEb @ 2824 NONAME + _ZN14QGraphicsScene15createItemGroupERK5QListIP13QGraphicsItemE @ 2825 NONAME + _ZN14QGraphicsScene15keyReleaseEventEP9QKeyEvent @ 2826 NONAME + _ZN14QGraphicsScene15mousePressEventEP24QGraphicsSceneMouseEvent @ 2827 NONAME + _ZN14QGraphicsScene15setActiveWindowEP15QGraphicsWidget @ 2828 NONAME + _ZN14QGraphicsScene15setBspTreeDepthEi @ 2829 NONAME + _ZN14QGraphicsScene16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 2830 NONAME + _ZN14QGraphicsScene16destroyItemGroupEP18QGraphicsItemGroup @ 2831 NONAME + _ZN14QGraphicsScene16inputMethodEventEP17QInputMethodEvent @ 2832 NONAME + _ZN14QGraphicsScene16sceneRectChangedERK6QRectF @ 2833 NONAME + _ZN14QGraphicsScene16selectionChangedEv @ 2834 NONAME + _ZN14QGraphicsScene16setSelectionAreaERK12QPainterPath @ 2835 NONAME + _ZN14QGraphicsScene16setSelectionAreaERK12QPainterPathN2Qt17ItemSelectionModeE @ 2836 NONAME + _ZN14QGraphicsScene16setSelectionAreaERK12QPainterPathN2Qt17ItemSelectionModeERK10QTransform @ 2837 NONAME + _ZN14QGraphicsScene16setSelectionAreaERK12QPainterPathRK10QTransform @ 2838 NONAME + _ZN14QGraphicsScene16staticMetaObjectE @ 2839 NONAME DATA 16 + _ZN14QGraphicsScene17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 2840 NONAME + _ZN14QGraphicsScene18focusNextPrevChildEb @ 2841 NONAME + _ZN14QGraphicsScene18setBackgroundBrushERK6QBrush @ 2842 NONAME + _ZN14QGraphicsScene18setForegroundBrushERK6QBrush @ 2843 NONAME + _ZN14QGraphicsScene18setItemIndexMethodENS_15ItemIndexMethodE @ 2844 NONAME + _ZN14QGraphicsScene19getStaticMetaObjectEv @ 2845 NONAME + _ZN14QGraphicsScene19setSortCacheEnabledEb @ 2846 NONAME + _ZN14QGraphicsScene21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 2847 NONAME + _ZN14QGraphicsScene5clearEv @ 2848 NONAME + _ZN14QGraphicsScene5eventEP6QEvent @ 2849 NONAME + _ZN14QGraphicsScene6renderEP8QPainterRK6QRectFS4_N2Qt15AspectRatioModeE @ 2850 NONAME + _ZN14QGraphicsScene6updateERK6QRectF @ 2851 NONAME + _ZN14QGraphicsScene7addItemEP13QGraphicsItem @ 2852 NONAME + _ZN14QGraphicsScene7addLineERK6QLineFRK4QPen @ 2853 NONAME + _ZN14QGraphicsScene7addPathERK12QPainterPathRK4QPenRK6QBrush @ 2854 NONAME + _ZN14QGraphicsScene7addRectERK6QRectFRK4QPenRK6QBrush @ 2855 NONAME + _ZN14QGraphicsScene7addTextERK7QStringRK5QFont @ 2856 NONAME + _ZN14QGraphicsScene7advanceEv @ 2857 NONAME + _ZN14QGraphicsScene7changedERK5QListI6QRectFE @ 2858 NONAME + _ZN14QGraphicsScene7setFontERK5QFont @ 2859 NONAME + _ZN14QGraphicsScene8setFocusEN2Qt11FocusReasonE @ 2860 NONAME + _ZN14QGraphicsScene8setStyleEP6QStyle @ 2861 NONAME + _ZN14QGraphicsScene9addPixmapERK7QPixmap @ 2862 NONAME + _ZN14QGraphicsScene9addWidgetEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 2863 NONAME + _ZN14QGraphicsScene9drawItemsEP8QPainteriPP13QGraphicsItemPK24QStyleOptionGraphicsItemP7QWidget @ 2864 NONAME + _ZN14QGraphicsScene9dropEventEP27QGraphicsSceneDragDropEvent @ 2865 NONAME + _ZN14QGraphicsScene9helpEventEP23QGraphicsSceneHelpEvent @ 2866 NONAME + _ZN14QGraphicsScene9sendEventEP13QGraphicsItemP6QEvent @ 2867 NONAME + _ZN14QGraphicsSceneC1EP7QObject @ 2868 NONAME + _ZN14QGraphicsSceneC1ERK6QRectFP7QObject @ 2869 NONAME + _ZN14QGraphicsSceneC1EffffP7QObject @ 2870 NONAME + _ZN14QGraphicsSceneC2EP7QObject @ 2871 NONAME + _ZN14QGraphicsSceneC2ERK6QRectFP7QObject @ 2872 NONAME + _ZN14QGraphicsSceneC2EffffP7QObject @ 2873 NONAME + _ZN14QGraphicsSceneD0Ev @ 2874 NONAME + _ZN14QGraphicsSceneD1Ev @ 2875 NONAME + _ZN14QGraphicsSceneD2Ev @ 2876 NONAME + _ZN14QIconDragEventC1Ev @ 2877 NONAME + _ZN14QIconDragEventC2Ev @ 2878 NONAME + _ZN14QIconDragEventD0Ev @ 2879 NONAME + _ZN14QIconDragEventD1Ev @ 2880 NONAME + _ZN14QIconDragEventD2Ev @ 2881 NONAME + _ZN14QImageIOPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 2882 NONAME + _ZN14QImageIOPlugin11qt_metacastEPKc @ 2883 NONAME + _ZN14QImageIOPlugin16staticMetaObjectE @ 2884 NONAME DATA 16 + _ZN14QImageIOPlugin19getStaticMetaObjectEv @ 2885 NONAME + _ZN14QImageIOPluginC2EP7QObject @ 2886 NONAME + _ZN14QImageIOPluginD0Ev @ 2887 NONAME + _ZN14QImageIOPluginD1Ev @ 2888 NONAME + _ZN14QImageIOPluginD2Ev @ 2889 NONAME + _ZN14QItemSelection5mergeERKS_6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 2890 NONAME + _ZN14QItemSelection5splitERK19QItemSelectionRangeS2_PS_ @ 2891 NONAME + _ZN14QItemSelection6selectERK11QModelIndexS2_ @ 2892 NONAME + _ZN14QItemSelectionC1ERK11QModelIndexS2_ @ 2893 NONAME + _ZN14QItemSelectionC2ERK11QModelIndexS2_ @ 2894 NONAME + _ZN14QLayoutPrivate16createSpacerItemEPK7QLayoutiiN11QSizePolicy6PolicyES4_ @ 2895 NONAME + _ZN14QLayoutPrivate16createWidgetItemEPK7QLayoutP7QWidget @ 2896 NONAME + _ZN14QLayoutPrivate20reparentChildWidgetsEP7QWidget @ 2897 NONAME + _ZN14QLayoutPrivate23spacerItemFactoryMethodE @ 2898 NONAME DATA 4 + _ZN14QLayoutPrivate23widgetItemFactoryMethodE @ 2899 NONAME DATA 4 + _ZN14QLayoutPrivate8doResizeERK5QSize @ 2900 NONAME + _ZN14QLayoutPrivateC1Ev @ 2901 NONAME + _ZN14QLayoutPrivateC2Ev @ 2902 NONAME + _ZN14QPaintEngineEx10drawPixmapERK7QPointFRK7QPixmap @ 2903 NONAME + _ZN14QPaintEngineEx10drawPointsEPK6QPointi @ 2904 NONAME + _ZN14QPaintEngineEx10drawPointsEPK7QPointFi @ 2905 NONAME + _ZN14QPaintEngineEx11drawEllipseERK5QRect @ 2906 NONAME + _ZN14QPaintEngineEx11drawEllipseERK6QRectF @ 2907 NONAME + _ZN14QPaintEngineEx11drawPixmapsEPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS0_11DrawingHintEE @ 2908 NONAME + _ZN14QPaintEngineEx11drawPolygonEPK6QPointiN12QPaintEngine15PolygonDrawModeE @ 2909 NONAME + _ZN14QPaintEngineEx11drawPolygonEPK7QPointFiN12QPaintEngine15PolygonDrawModeE @ 2910 NONAME + _ZN14QPaintEngineEx11updateStateERK17QPaintEngineState @ 2911 NONAME + _ZN14QPaintEngineEx15drawRoundedRectERK6QRectFffN2Qt8SizeModeE @ 2912 NONAME + _ZN14QPaintEngineEx15drawTiledPixmapERK6QRectFRK7QPixmapRK7QPointF @ 2913 NONAME + _ZN14QPaintEngineEx4clipERK12QPainterPathN2Qt13ClipOperationE @ 2914 NONAME + _ZN14QPaintEngineEx4clipERK5QRectN2Qt13ClipOperationE @ 2915 NONAME + _ZN14QPaintEngineEx4clipERK7QRegionN2Qt13ClipOperationE @ 2916 NONAME + _ZN14QPaintEngineEx4drawERK11QVectorPath @ 2917 NONAME + _ZN14QPaintEngineEx6strokeERK11QVectorPathRK4QPen @ 2918 NONAME + _ZN14QPaintEngineEx8drawPathERK12QPainterPath @ 2919 NONAME + _ZN14QPaintEngineEx8fillRectERK6QRectFRK6QBrush @ 2920 NONAME + _ZN14QPaintEngineEx8fillRectERK6QRectFRK6QColor @ 2921 NONAME + _ZN14QPaintEngineEx8setStateEP13QPainterState @ 2922 NONAME + _ZN14QPaintEngineEx9drawImageERK7QPointFRK6QImage @ 2923 NONAME + _ZN14QPaintEngineEx9drawLinesEPK5QLinei @ 2924 NONAME + _ZN14QPaintEngineEx9drawLinesEPK6QLineFi @ 2925 NONAME + _ZN14QPaintEngineEx9drawRectsEPK5QRecti @ 2926 NONAME + _ZN14QPaintEngineEx9drawRectsEPK6QRectFi @ 2927 NONAME + _ZN14QPaintEngineExC2ER21QPaintEngineExPrivate @ 2928 NONAME + _ZN14QPaintEngineExC2Ev @ 2929 NONAME + _ZN14QPlainTextEdit10appendHtmlERK7QString @ 2930 NONAME + _ZN14QPlainTextEdit10moveCursorEN11QTextCursor13MoveOperationENS0_8MoveModeE @ 2931 NONAME + _ZN14QPlainTextEdit10paintEventEP11QPaintEvent @ 2932 NONAME + _ZN14QPlainTextEdit10timerEventEP11QTimerEvent @ 2933 NONAME + _ZN14QPlainTextEdit10wheelEventEP11QWheelEvent @ 2934 NONAME + _ZN14QPlainTextEdit11changeEventEP6QEvent @ 2935 NONAME + _ZN14QPlainTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 2936 NONAME + _ZN14QPlainTextEdit11qt_metacastEPKc @ 2937 NONAME + _ZN14QPlainTextEdit11resizeEventEP12QResizeEvent @ 2938 NONAME + _ZN14QPlainTextEdit11setDocumentEP13QTextDocument @ 2939 NONAME + _ZN14QPlainTextEdit11setReadOnlyEb @ 2940 NONAME + _ZN14QPlainTextEdit11textChangedEv @ 2941 NONAME + _ZN14QPlainTextEdit12centerCursorEv @ 2942 NONAME + _ZN14QPlainTextEdit12focusInEventEP11QFocusEvent @ 2943 NONAME + _ZN14QPlainTextEdit12loadResourceEiRK4QUrl @ 2944 NONAME + _ZN14QPlainTextEdit12setPlainTextERK7QString @ 2945 NONAME + _ZN14QPlainTextEdit13copyAvailableEb @ 2946 NONAME + _ZN14QPlainTextEdit13dragMoveEventEP14QDragMoveEvent @ 2947 NONAME + _ZN14QPlainTextEdit13focusOutEventEP11QFocusEvent @ 2948 NONAME + _ZN14QPlainTextEdit13keyPressEventEP9QKeyEvent @ 2949 NONAME + _ZN14QPlainTextEdit13redoAvailableEb @ 2950 NONAME + _ZN14QPlainTextEdit13setTextCursorERK11QTextCursor @ 2951 NONAME + _ZN14QPlainTextEdit13undoAvailableEb @ 2952 NONAME + _ZN14QPlainTextEdit13updateRequestERK5QRecti @ 2953 NONAME + _ZN14QPlainTextEdit14dragEnterEventEP15QDragEnterEvent @ 2954 NONAME + _ZN14QPlainTextEdit14dragLeaveEventEP15QDragLeaveEvent @ 2955 NONAME + _ZN14QPlainTextEdit14mouseMoveEventEP11QMouseEvent @ 2956 NONAME + _ZN14QPlainTextEdit14setCursorWidthEi @ 2957 NONAME + _ZN14QPlainTextEdit15appendPlainTextERK7QString @ 2958 NONAME + _ZN14QPlainTextEdit15insertPlainTextERK7QString @ 2959 NONAME + _ZN14QPlainTextEdit15keyReleaseEventEP9QKeyEvent @ 2960 NONAME + _ZN14QPlainTextEdit15mousePressEventEP11QMouseEvent @ 2961 NONAME + _ZN14QPlainTextEdit15setLineWrapModeENS_12LineWrapModeE @ 2962 NONAME + _ZN14QPlainTextEdit15setTabStopWidthEi @ 2963 NONAME + _ZN14QPlainTextEdit15setWordWrapModeEN11QTextOption8WrapModeE @ 2964 NONAME + _ZN14QPlainTextEdit16contextMenuEventEP17QContextMenuEvent @ 2965 NONAME + _ZN14QPlainTextEdit16inputMethodEventEP17QInputMethodEvent @ 2966 NONAME + _ZN14QPlainTextEdit16scrollContentsByEii @ 2967 NONAME + _ZN14QPlainTextEdit16selectionChangedEv @ 2968 NONAME + _ZN14QPlainTextEdit16setOverwriteModeEb @ 2969 NONAME + _ZN14QPlainTextEdit16staticMetaObjectE @ 2970 NONAME DATA 16 + _ZN14QPlainTextEdit17blockCountChangedEi @ 2971 NONAME + _ZN14QPlainTextEdit17mouseReleaseEventEP11QMouseEvent @ 2972 NONAME + _ZN14QPlainTextEdit17setCenterOnScrollEb @ 2973 NONAME + _ZN14QPlainTextEdit18focusNextPrevChildEb @ 2974 NONAME + _ZN14QPlainTextEdit18insertFromMimeDataEPK9QMimeData @ 2975 NONAME + _ZN14QPlainTextEdit18setExtraSelectionsERK5QListIN9QTextEdit14ExtraSelectionEE @ 2976 NONAME + _ZN14QPlainTextEdit18setTabChangesFocusEb @ 2977 NONAME + _ZN14QPlainTextEdit19ensureCursorVisibleEv @ 2978 NONAME + _ZN14QPlainTextEdit19getStaticMetaObjectEv @ 2979 NONAME + _ZN14QPlainTextEdit19modificationChangedEb @ 2980 NONAME + _ZN14QPlainTextEdit20setBackgroundVisibleEb @ 2981 NONAME + _ZN14QPlainTextEdit20setCurrentCharFormatERK15QTextCharFormat @ 2982 NONAME + _ZN14QPlainTextEdit21cursorPositionChangedEv @ 2983 NONAME + _ZN14QPlainTextEdit21mouseDoubleClickEventEP11QMouseEvent @ 2984 NONAME + _ZN14QPlainTextEdit22mergeCurrentCharFormatERK15QTextCharFormat @ 2985 NONAME + _ZN14QPlainTextEdit23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 2986 NONAME + _ZN14QPlainTextEdit25createStandardContextMenuEv @ 2987 NONAME + _ZN14QPlainTextEdit3cutEv @ 2988 NONAME + _ZN14QPlainTextEdit4copyEv @ 2989 NONAME + _ZN14QPlainTextEdit4findERK7QString6QFlagsIN13QTextDocument8FindFlagEE @ 2990 NONAME + _ZN14QPlainTextEdit4redoEv @ 2991 NONAME + _ZN14QPlainTextEdit4undoEv @ 2992 NONAME + _ZN14QPlainTextEdit5clearEv @ 2993 NONAME + _ZN14QPlainTextEdit5eventEP6QEvent @ 2994 NONAME + _ZN14QPlainTextEdit5pasteEv @ 2995 NONAME + _ZN14QPlainTextEdit9dropEventEP10QDropEvent @ 2996 NONAME + _ZN14QPlainTextEdit9selectAllEv @ 2997 NONAME + _ZN14QPlainTextEdit9showEventEP10QShowEvent @ 2998 NONAME + _ZN14QPlainTextEditC1EP7QWidget @ 2999 NONAME + _ZN14QPlainTextEditC1ER21QPlainTextEditPrivateP7QWidget @ 3000 NONAME + _ZN14QPlainTextEditC1ERK7QStringP7QWidget @ 3001 NONAME + _ZN14QPlainTextEditC2EP7QWidget @ 3002 NONAME + _ZN14QPlainTextEditC2ER21QPlainTextEditPrivateP7QWidget @ 3003 NONAME + _ZN14QPlainTextEditC2ERK7QStringP7QWidget @ 3004 NONAME + _ZN14QPlainTextEditD0Ev @ 3005 NONAME + _ZN14QPlainTextEditD1Ev @ 3006 NONAME + _ZN14QPlainTextEditD2Ev @ 3007 NONAME + _ZN14QShortcutEventC1ERK12QKeySequenceib @ 3008 NONAME + _ZN14QShortcutEventC2ERK12QKeySequenceib @ 3009 NONAME + _ZN14QShortcutEventD0Ev @ 3010 NONAME + _ZN14QShortcutEventD1Ev @ 3011 NONAME + _ZN14QShortcutEventD2Ev @ 3012 NONAME + _ZN14QStackedLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 3013 NONAME + _ZN14QStackedLayout11qt_metacastEPKc @ 3014 NONAME + _ZN14QStackedLayout11setGeometryERK5QRect @ 3015 NONAME + _ZN14QStackedLayout12insertWidgetEiP7QWidget @ 3016 NONAME + _ZN14QStackedLayout13widgetRemovedEi @ 3017 NONAME + _ZN14QStackedLayout14currentChangedEi @ 3018 NONAME + _ZN14QStackedLayout15setCurrentIndexEi @ 3019 NONAME + _ZN14QStackedLayout15setStackingModeENS_12StackingModeE @ 3020 NONAME + _ZN14QStackedLayout16setCurrentWidgetEP7QWidget @ 3021 NONAME + _ZN14QStackedLayout16staticMetaObjectE @ 3022 NONAME DATA 16 + _ZN14QStackedLayout19getStaticMetaObjectEv @ 3023 NONAME + _ZN14QStackedLayout6takeAtEi @ 3024 NONAME + _ZN14QStackedLayout7addItemEP11QLayoutItem @ 3025 NONAME + _ZN14QStackedLayout9addWidgetEP7QWidget @ 3026 NONAME + _ZN14QStackedLayoutC1EP7QLayout @ 3027 NONAME + _ZN14QStackedLayoutC1EP7QWidget @ 3028 NONAME + _ZN14QStackedLayoutC1Ev @ 3029 NONAME + _ZN14QStackedLayoutC2EP7QLayout @ 3030 NONAME + _ZN14QStackedLayoutC2EP7QWidget @ 3031 NONAME + _ZN14QStackedLayoutC2Ev @ 3032 NONAME + _ZN14QStackedLayoutD0Ev @ 3033 NONAME + _ZN14QStackedLayoutD1Ev @ 3034 NONAME + _ZN14QStackedLayoutD2Ev @ 3035 NONAME + _ZN14QStackedWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 3036 NONAME + _ZN14QStackedWidget11qt_metacastEPKc @ 3037 NONAME + _ZN14QStackedWidget12insertWidgetEiP7QWidget @ 3038 NONAME + _ZN14QStackedWidget12removeWidgetEP7QWidget @ 3039 NONAME + _ZN14QStackedWidget13widgetRemovedEi @ 3040 NONAME + _ZN14QStackedWidget14currentChangedEi @ 3041 NONAME + _ZN14QStackedWidget15setCurrentIndexEi @ 3042 NONAME + _ZN14QStackedWidget16setCurrentWidgetEP7QWidget @ 3043 NONAME + _ZN14QStackedWidget16staticMetaObjectE @ 3044 NONAME DATA 16 + _ZN14QStackedWidget19getStaticMetaObjectEv @ 3045 NONAME + _ZN14QStackedWidget5eventEP6QEvent @ 3046 NONAME + _ZN14QStackedWidget9addWidgetEP7QWidget @ 3047 NONAME + _ZN14QStackedWidgetC1EP7QWidget @ 3048 NONAME + _ZN14QStackedWidgetC2EP7QWidget @ 3049 NONAME + _ZN14QStackedWidgetD0Ev @ 3050 NONAME + _ZN14QStackedWidgetD1Ev @ 3051 NONAME + _ZN14QStackedWidgetD2Ev @ 3052 NONAME + _ZN14QTextTableCell9setFormatERK15QTextCharFormat @ 3053 NONAME + _ZN14QWidgetPrivate10allWidgetsE @ 3054 NONAME DATA 4 + _ZN14QWidgetPrivate10create_sysEP11CCoeControlbb @ 3055 NONAME + _ZN14QWidgetPrivate10drawWidgetEP12QPaintDeviceRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore @ 3056 NONAME + _ZN14QWidgetPrivate10scrollRectERK5QRectii @ 3057 NONAME + _ZN14QWidgetPrivate10scroll_sysEii @ 3058 NONAME + _ZN14QWidgetPrivate10scroll_sysEiiRK5QRect @ 3059 NONAME + _ZN14QWidgetPrivate10updateFontERK5QFont @ 3060 NONAME + _ZN14QWidgetPrivate11adjustFlagsER6QFlagsIN2Qt10WindowTypeEEP7QWidget @ 3061 NONAME + _ZN14QWidgetPrivate11createExtraEv @ 3062 NONAME + _ZN14QWidgetPrivate11createWinIdEP11CCoeControl @ 3063 NONAME + _ZN14QWidgetPrivate11deleteExtraEv @ 3064 NONAME + _ZN14QWidgetPrivate11hide_helperEv @ 3065 NONAME + _ZN14QWidgetPrivate11pointToRectERK6QPointRK5QRect @ 3066 NONAME + _ZN14QWidgetPrivate11repaint_sysERK7QRegion @ 3067 NONAME + _ZN14QWidgetPrivate11resolveFontEv @ 3068 NONAME + _ZN14QWidgetPrivate11setMask_sysERK7QRegion @ 3069 NONAME + _ZN14QWidgetPrivate11show_helperEv @ 3070 NONAME + _ZN14QWidgetPrivate12close_helperENS_9CloseModeE @ 3071 NONAME + _ZN14QWidgetPrivate12hideChildrenEb @ 3072 NONAME + _ZN14QWidgetPrivate12inheritStyleEv @ 3073 NONAME + _ZN14QWidgetPrivate12maxInstancesE @ 3074 NONAME DATA 4 + _ZN14QWidgetPrivate12mouseGrabberE @ 3075 NONAME DATA 4 + _ZN14QWidgetPrivate12setFocus_sysEv @ 3076 NONAME + _ZN14QWidgetPrivate12setModal_sysEv @ 3077 NONAME + _ZN14QWidgetPrivate12showChildrenEb @ 3078 NONAME + _ZN14QWidgetPrivate13createTLExtraEv @ 3079 NONAME + _ZN14QWidgetPrivate13editingWidgetE @ 3080 NONAME DATA 4 + _ZN14QWidgetPrivate13render_helperEP8QPainterRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEE @ 3081 NONAME + _ZN14QWidgetPrivate13resolveLocaleEv @ 3082 NONAME + _ZN14QWidgetPrivate13setCursor_sysERK7QCursor @ 3083 NONAME + _ZN14QWidgetPrivate13setParent_sysEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3084 NONAME + _ZN14QWidgetPrivate13setWSGeometryEbRK5QRect @ 3085 NONAME + _ZN14QWidgetPrivate14createSysExtraEv @ 3086 NONAME + _ZN14QWidgetPrivate14deleteSysExtraEv @ 3087 NONAME + _ZN14QWidgetPrivate14resolvePaletteEv @ 3088 NONAME + _ZN14QWidgetPrivate14scrollChildrenEii @ 3089 NONAME + _ZN14QWidgetPrivate14show_recursiveEv @ 3090 NONAME + _ZN14QWidgetPrivate14stackUnder_sysEP7QWidget @ 3091 NONAME + _ZN14QWidgetPrivate14updateIsOpaqueEv @ 3092 NONAME + _ZN14QWidgetPrivate15instanceCounterE @ 3093 NONAME DATA 4 + _ZN14QWidgetPrivate15keyboardGrabberE @ 3094 NONAME DATA 4 + _ZN14QWidgetPrivate15prepareToRenderERK7QRegion6QFlagsIN7QWidget10RenderFlagEE @ 3095 NONAME + _ZN14QWidgetPrivate15setGeometry_sysEiiiib @ 3096 NONAME + _ZN14QWidgetPrivate15setStyle_helperEP6QStylebb @ 3097 NONAME + _ZN14QWidgetPrivate15unsetCursor_sysEv @ 3098 NONAME + _ZN14QWidgetPrivate16createTLSysExtraEv @ 3099 NONAME + _ZN14QWidgetPrivate16deleteTLSysExtraEv @ 3100 NONAME + _ZN14QWidgetPrivate16invalidateBufferERK5QRect @ 3101 NONAME + _ZN14QWidgetPrivate16invalidateBufferERK7QRegion @ 3102 NONAME + _ZN14QWidgetPrivate16registerDropSiteEb @ 3103 NONAME + _ZN14QWidgetPrivate16reparentChildrenEv @ 3104 NONAME + _ZN14QWidgetPrivate16setLocale_helperERK7QLocaleb @ 3105 NONAME + _ZN14QWidgetPrivate16syncBackingStoreERK7QRegion @ 3106 NONAME + _ZN14QWidgetPrivate16syncBackingStoreEv @ 3107 NONAME + _ZN14QWidgetPrivate16updateFrameStrutEv @ 3108 NONAME + _ZN14QWidgetPrivate17createRecursivelyEv @ 3109 NONAME + _ZN14QWidgetPrivate17s60UpdateIsOpaqueEv @ 3110 NONAME + _ZN14QWidgetPrivate17setEnabled_helperEb @ 3111 NONAME + _ZN14QWidgetPrivate17setPalette_helperERK8QPalette @ 3112 NONAME + _ZN14QWidgetPrivate17setWindowIcon_sysEb @ 3113 NONAME + _ZN14QWidgetPrivate18_q_showIfNotHiddenEv @ 3114 NONAME + _ZN14QWidgetPrivate18setConstraints_sysEv @ 3115 NONAME + _ZN14QWidgetPrivate18setWindowTitle_sysERK7QString @ 3116 NONAME + _ZN14QWidgetPrivate19navigateToDirectionENS_9DirectionE @ 3117 NONAME + _ZN14QWidgetPrivate19registerTouchWindowEv @ 3118 NONAME + _ZN14QWidgetPrivate19updateIsTranslucentEv @ 3119 NONAME + _ZN14QWidgetPrivate20reparentFocusWidgetsEP7QWidget @ 3120 NONAME + _ZN14QWidgetPrivate20setDirtyOpaqueRegionEv @ 3121 NONAME + _ZN14QWidgetPrivate20setLayoutItemMarginsEN6QStyle10SubElementEPK12QStyleOption @ 3122 NONAME + _ZN14QWidgetPrivate20setLayoutItemMarginsEiiii @ 3123 NONAME + _ZN14QWidgetPrivate20setWindowIcon_helperEv @ 3124 NONAME + _ZN14QWidgetPrivate20setWindowOpacity_sysEf @ 3125 NONAME + _ZN14QWidgetPrivate21activateSymbianWindowEv @ 3126 NONAME + _ZN14QWidgetPrivate21setMaximumSize_helperERiS0_ @ 3127 NONAME + _ZN14QWidgetPrivate21setMinimumSize_helperERiS0_ @ 3128 NONAME + _ZN14QWidgetPrivate21setWindowIconText_sysERK7QString @ 3129 NONAME + _ZN14QWidgetPrivate21setWindowTitle_helperERK7QString @ 3130 NONAME + _ZN14QWidgetPrivate21updateGeometry_helperEb @ 3131 NONAME + _ZN14QWidgetPrivate22paintSiblingsRecursiveEP12QPaintDeviceRK5QListIP7QObjectEiRK7QRegionRK6QPointiP8QPainterP19QWidgetBackingStore @ 3132 NONAME + _ZN14QWidgetPrivate22propagatePaletteChangeEv @ 3133 NONAME + _ZN14QWidgetPrivate22resolveLayoutDirectionEv @ 3134 NONAME + _ZN14QWidgetPrivate22updateSystemBackgroundEv @ 3135 NONAME + _ZN14QWidgetPrivate23deactivateWidgetCleanupEv @ 3136 NONAME + _ZN14QWidgetPrivate24setUpdatesEnabled_helperEb @ 3137 NONAME + _ZN14QWidgetPrivate24setWindowFilePath_helperERK7QString @ 3138 NONAME + _ZN14QWidgetPrivate24setWindowIconText_helperERK7QString @ 3139 NONAME + _ZN14QWidgetPrivate25setLayoutDirection_helperEN2Qt15LayoutDirectionE @ 3140 NONAME + _ZN14QWidgetPrivate26adjustQuitOnCloseAttributeEv @ 3141 NONAME + _ZN14QWidgetPrivate26createDefaultWindowSurfaceEv @ 3142 NONAME + _ZN14QWidgetPrivate26nearestGraphicsProxyWidgetEP7QWidget @ 3143 NONAME + _ZN14QWidgetPrivate27widgetInNavigationDirectionENS_9DirectionE @ 3144 NONAME + _ZN14QWidgetPrivate29invalidateBuffer_resizeHelperERK6QPointRK5QSize @ 3145 NONAME + _ZN14QWidgetPrivate30createDefaultWindowSurface_sysEv @ 3146 NONAME + _ZN14QWidgetPrivate30sendPendingMoveAndResizeEventsEbb @ 3147 NONAME + _ZN14QWidgetPrivate31activateChildLayoutsRecursivelyEv @ 3148 NONAME + _ZN14QWidgetPrivate4initEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3149 NONAME + _ZN14QWidgetPrivate6mapperE @ 3150 NONAME DATA 4 + _ZN14QWidgetPrivate8hide_sysEv @ 3151 NONAME + _ZN14QWidgetPrivate8moveRectERK5QRectii @ 3152 NONAME + _ZN14QWidgetPrivate8setWinIdEP11CCoeControl @ 3153 NONAME + _ZN14QWidgetPrivate8show_sysEv @ 3154 NONAME + _ZN14QWidgetPrivate9lower_sysEv @ 3155 NONAME + _ZN14QWidgetPrivate9raise_sysEv @ 3156 NONAME + _ZN14QWidgetPrivate9setOpaqueEb @ 3157 NONAME + _ZN14QWidgetPrivateC1Ei @ 3158 NONAME + _ZN14QWidgetPrivateC2Ei @ 3159 NONAME + _ZN14QWidgetPrivateD0Ev @ 3160 NONAME + _ZN14QWidgetPrivateD1Ev @ 3161 NONAME + _ZN14QWidgetPrivateD2Ev @ 3162 NONAME + _ZN14QWindowSurface10beginPaintERK7QRegion @ 3163 NONAME + _ZN14QWindowSurface11setGeometryERK5QRect @ 3164 NONAME + _ZN14QWindowSurface17setStaticContentsERK7QRegion @ 3165 NONAME + _ZN14QWindowSurface24setStaticContentsSupportEb @ 3166 NONAME + _ZN14QWindowSurface6bufferEPK7QWidget @ 3167 NONAME + _ZN14QWindowSurface6scrollERK7QRegionii @ 3168 NONAME + _ZN14QWindowSurface8endPaintERK7QRegion @ 3169 NONAME + _ZN14QWindowSurfaceC2EP7QWidget @ 3170 NONAME + _ZN14QWindowSurfaceD0Ev @ 3171 NONAME + _ZN14QWindowSurfaceD1Ev @ 3172 NONAME + _ZN14QWindowSurfaceD2Ev @ 3173 NONAME + _ZN15QAbstractButton10setCheckedEb @ 3174 NONAME + _ZN15QAbstractButton10timerEventEP11QTimerEvent @ 3175 NONAME + _ZN15QAbstractButton11changeEventEP6QEvent @ 3176 NONAME + _ZN15QAbstractButton11qt_metacallEN11QMetaObject4CallEiPPv @ 3177 NONAME + _ZN15QAbstractButton11qt_metacastEPKc @ 3178 NONAME + _ZN15QAbstractButton11setIconSizeERK5QSize @ 3179 NONAME + _ZN15QAbstractButton11setShortcutERK12QKeySequence @ 3180 NONAME + _ZN15QAbstractButton12animateClickEi @ 3181 NONAME + _ZN15QAbstractButton12focusInEventEP11QFocusEvent @ 3182 NONAME + _ZN15QAbstractButton12setCheckableEb @ 3183 NONAME + _ZN15QAbstractButton13checkStateSetEv @ 3184 NONAME + _ZN15QAbstractButton13focusOutEventEP11QFocusEvent @ 3185 NONAME + _ZN15QAbstractButton13keyPressEventEP9QKeyEvent @ 3186 NONAME + _ZN15QAbstractButton13setAutoRepeatEb @ 3187 NONAME + _ZN15QAbstractButton14mouseMoveEventEP11QMouseEvent @ 3188 NONAME + _ZN15QAbstractButton14nextCheckStateEv @ 3189 NONAME + _ZN15QAbstractButton15keyReleaseEventEP9QKeyEvent @ 3190 NONAME + _ZN15QAbstractButton15mousePressEventEP11QMouseEvent @ 3191 NONAME + _ZN15QAbstractButton16setAutoExclusiveEb @ 3192 NONAME + _ZN15QAbstractButton16staticMetaObjectE @ 3193 NONAME DATA 16 + _ZN15QAbstractButton17mouseReleaseEventEP11QMouseEvent @ 3194 NONAME + _ZN15QAbstractButton18setAutoRepeatDelayEi @ 3195 NONAME + _ZN15QAbstractButton19getStaticMetaObjectEv @ 3196 NONAME + _ZN15QAbstractButton21setAutoRepeatIntervalEi @ 3197 NONAME + _ZN15QAbstractButton5clickEv @ 3198 NONAME + _ZN15QAbstractButton5eventEP6QEvent @ 3199 NONAME + _ZN15QAbstractButton6toggleEv @ 3200 NONAME + _ZN15QAbstractButton7clickedEb @ 3201 NONAME + _ZN15QAbstractButton7pressedEv @ 3202 NONAME + _ZN15QAbstractButton7setDownEb @ 3203 NONAME + _ZN15QAbstractButton7setIconERK5QIcon @ 3204 NONAME + _ZN15QAbstractButton7setTextERK7QString @ 3205 NONAME + _ZN15QAbstractButton7toggledEb @ 3206 NONAME + _ZN15QAbstractButton8releasedEv @ 3207 NONAME + _ZN15QAbstractButtonC2EP7QWidget @ 3208 NONAME + _ZN15QAbstractButtonC2ER22QAbstractButtonPrivateP7QWidget @ 3209 NONAME + _ZN15QAbstractButtonD0Ev @ 3210 NONAME + _ZN15QAbstractButtonD1Ev @ 3211 NONAME + _ZN15QAbstractButtonD2Ev @ 3212 NONAME + _ZN15QAbstractSlider10setMaximumEi @ 3213 NONAME + _ZN15QAbstractSlider10setMinimumEi @ 3214 NONAME + _ZN15QAbstractSlider10timerEventEP11QTimerEvent @ 3215 NONAME + _ZN15QAbstractSlider10wheelEventEP11QWheelEvent @ 3216 NONAME + _ZN15QAbstractSlider11changeEventEP6QEvent @ 3217 NONAME + _ZN15QAbstractSlider11qt_metacallEN11QMetaObject4CallEiPPv @ 3218 NONAME + _ZN15QAbstractSlider11qt_metacastEPKc @ 3219 NONAME + _ZN15QAbstractSlider11setPageStepEi @ 3220 NONAME + _ZN15QAbstractSlider11setTrackingEb @ 3221 NONAME + _ZN15QAbstractSlider11sliderMovedEi @ 3222 NONAME + _ZN15QAbstractSlider12rangeChangedEii @ 3223 NONAME + _ZN15QAbstractSlider12sliderChangeENS_12SliderChangeE @ 3224 NONAME + _ZN15QAbstractSlider12valueChangedEi @ 3225 NONAME + _ZN15QAbstractSlider13keyPressEventEP9QKeyEvent @ 3226 NONAME + _ZN15QAbstractSlider13setSingleStepEi @ 3227 NONAME + _ZN15QAbstractSlider13setSliderDownEb @ 3228 NONAME + _ZN15QAbstractSlider13sliderPressedEv @ 3229 NONAME + _ZN15QAbstractSlider13triggerActionENS_12SliderActionE @ 3230 NONAME + _ZN15QAbstractSlider14setOrientationEN2Qt11OrientationE @ 3231 NONAME + _ZN15QAbstractSlider14sliderReleasedEv @ 3232 NONAME + _ZN15QAbstractSlider15actionTriggeredEi @ 3233 NONAME + _ZN15QAbstractSlider15setRepeatActionENS_12SliderActionEii @ 3234 NONAME + _ZN15QAbstractSlider16staticMetaObjectE @ 3235 NONAME DATA 16 + _ZN15QAbstractSlider17setSliderPositionEi @ 3236 NONAME + _ZN15QAbstractSlider19getStaticMetaObjectEv @ 3237 NONAME + _ZN15QAbstractSlider19setInvertedControlsEb @ 3238 NONAME + _ZN15QAbstractSlider21setInvertedAppearanceEb @ 3239 NONAME + _ZN15QAbstractSlider5eventEP6QEvent @ 3240 NONAME + _ZN15QAbstractSlider8setRangeEii @ 3241 NONAME + _ZN15QAbstractSlider8setValueEi @ 3242 NONAME + _ZN15QAbstractSliderC1EP7QWidget @ 3243 NONAME + _ZN15QAbstractSliderC1ER22QAbstractSliderPrivateP7QWidget @ 3244 NONAME + _ZN15QAbstractSliderC2EP7QWidget @ 3245 NONAME + _ZN15QAbstractSliderC2ER22QAbstractSliderPrivateP7QWidget @ 3246 NONAME + _ZN15QAbstractSliderD0Ev @ 3247 NONAME + _ZN15QAbstractSliderD1Ev @ 3248 NONAME + _ZN15QAbstractSliderD2Ev @ 3249 NONAME + _ZN15QCalendarWidget10updateCellERK5QDate @ 3250 NONAME + _ZN15QCalendarWidget11eventFilterEP7QObjectP6QEvent @ 3251 NONAME + _ZN15QCalendarWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 3252 NONAME + _ZN15QCalendarWidget11qt_metacastEPKc @ 3253 NONAME + _ZN15QCalendarWidget11resizeEventEP12QResizeEvent @ 3254 NONAME + _ZN15QCalendarWidget11updateCellsEv @ 3255 NONAME + _ZN15QCalendarWidget12setDateRangeERK5QDateS2_ @ 3256 NONAME + _ZN15QCalendarWidget12showNextYearEv @ 3257 NONAME + _ZN15QCalendarWidget13keyPressEventEP9QKeyEvent @ 3258 NONAME + _ZN15QCalendarWidget13showNextMonthEv @ 3259 NONAME + _ZN15QCalendarWidget14setCurrentPageEii @ 3260 NONAME + _ZN15QCalendarWidget14setGridVisibleEb @ 3261 NONAME + _ZN15QCalendarWidget14setMaximumDateERK5QDate @ 3262 NONAME + _ZN15QCalendarWidget14setMinimumDateERK5QDate @ 3263 NONAME + _ZN15QCalendarWidget15mousePressEventEP11QMouseEvent @ 3264 NONAME + _ZN15QCalendarWidget15setSelectedDateERK5QDate @ 3265 NONAME + _ZN15QCalendarWidget16selectionChangedEv @ 3266 NONAME + _ZN15QCalendarWidget16setHeaderVisibleEb @ 3267 NONAME + _ZN15QCalendarWidget16setSelectionModeENS_13SelectionModeE @ 3268 NONAME + _ZN15QCalendarWidget16showPreviousYearEv @ 3269 NONAME + _ZN15QCalendarWidget16showSelectedDateEv @ 3270 NONAME + _ZN15QCalendarWidget16staticMetaObjectE @ 3271 NONAME DATA 16 + _ZN15QCalendarWidget17setDateTextFormatERK5QDateRK15QTextCharFormat @ 3272 NONAME + _ZN15QCalendarWidget17setFirstDayOfWeekEN2Qt9DayOfWeekE @ 3273 NONAME + _ZN15QCalendarWidget17showPreviousMonthEv @ 3274 NONAME + _ZN15QCalendarWidget18currentPageChangedEii @ 3275 NONAME + _ZN15QCalendarWidget18setDateEditEnabledEb @ 3276 NONAME + _ZN15QCalendarWidget19getStaticMetaObjectEv @ 3277 NONAME + _ZN15QCalendarWidget19setHeaderTextFormatERK15QTextCharFormat @ 3278 NONAME + _ZN15QCalendarWidget20setWeekdayTextFormatEN2Qt9DayOfWeekERK15QTextCharFormat @ 3279 NONAME + _ZN15QCalendarWidget22setDateEditAcceptDelayEi @ 3280 NONAME + _ZN15QCalendarWidget23setNavigationBarVisibleEb @ 3281 NONAME + _ZN15QCalendarWidget23setVerticalHeaderFormatENS_20VerticalHeaderFormatE @ 3282 NONAME + _ZN15QCalendarWidget25setHorizontalHeaderFormatENS_22HorizontalHeaderFormatE @ 3283 NONAME + _ZN15QCalendarWidget5eventEP6QEvent @ 3284 NONAME + _ZN15QCalendarWidget7clickedERK5QDate @ 3285 NONAME + _ZN15QCalendarWidget9activatedERK5QDate @ 3286 NONAME + _ZN15QCalendarWidget9showTodayEv @ 3287 NONAME + _ZN15QCalendarWidgetC1EP7QWidget @ 3288 NONAME + _ZN15QCalendarWidgetC2EP7QWidget @ 3289 NONAME + _ZN15QCalendarWidgetD0Ev @ 3290 NONAME + _ZN15QCalendarWidgetD1Ev @ 3291 NONAME + _ZN15QCalendarWidgetD2Ev @ 3292 NONAME + _ZN15QClipboardEventC1EP13QEventPrivate @ 3293 NONAME + _ZN15QClipboardEventC2EP13QEventPrivate @ 3294 NONAME + _ZN15QClipboardEventD0Ev @ 3295 NONAME + _ZN15QClipboardEventD1Ev @ 3296 NONAME + _ZN15QClipboardEventD2Ev @ 3297 NONAME + _ZN15QDragEnterEventC1ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEE @ 3298 NONAME + _ZN15QDragEnterEventC2ERK6QPoint6QFlagsIN2Qt10DropActionEEPK9QMimeDataS3_INS4_11MouseButtonEES3_INS4_16KeyboardModifierEE @ 3299 NONAME + _ZN15QDragEnterEventD0Ev @ 3300 NONAME + _ZN15QDragEnterEventD1Ev @ 3301 NONAME + _ZN15QDragEnterEventD2Ev @ 3302 NONAME + _ZN15QDragLeaveEventC1Ev @ 3303 NONAME + _ZN15QDragLeaveEventC2Ev @ 3304 NONAME + _ZN15QDragLeaveEventD0Ev @ 3305 NONAME + _ZN15QDragLeaveEventD1Ev @ 3306 NONAME + _ZN15QDragLeaveEventD2Ev @ 3307 NONAME + _ZN15QGraphicsAnchor10setSpacingEf @ 3308 NONAME + _ZN15QGraphicsAnchor11qt_metacallEN11QMetaObject4CallEiPPv @ 3309 NONAME + _ZN15QGraphicsAnchor11qt_metacastEPKc @ 3310 NONAME + _ZN15QGraphicsAnchor12unsetSpacingEv @ 3311 NONAME + _ZN15QGraphicsAnchor16staticMetaObjectE @ 3312 NONAME DATA 16 + _ZN15QGraphicsAnchor19getStaticMetaObjectEv @ 3313 NONAME + _ZN15QGraphicsAnchorC1EP21QGraphicsAnchorLayout @ 3314 NONAME + _ZN15QGraphicsAnchorC2EP21QGraphicsAnchorLayout @ 3315 NONAME + _ZN15QGraphicsAnchorD0Ev @ 3316 NONAME + _ZN15QGraphicsAnchorD1Ev @ 3317 NONAME + _ZN15QGraphicsAnchorD2Ev @ 3318 NONAME + _ZN15QGraphicsEffect10setEnabledEb @ 3319 NONAME + _ZN15QGraphicsEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 3320 NONAME + _ZN15QGraphicsEffect11qt_metacastEPKc @ 3321 NONAME + _ZN15QGraphicsEffect13sourceChangedE6QFlagsINS_10ChangeFlagEE @ 3322 NONAME + _ZN15QGraphicsEffect14enabledChangedEb @ 3323 NONAME + _ZN15QGraphicsEffect16staticMetaObjectE @ 3324 NONAME DATA 16 + _ZN15QGraphicsEffect18updateBoundingRectEv @ 3325 NONAME + _ZN15QGraphicsEffect19getStaticMetaObjectEv @ 3326 NONAME + _ZN15QGraphicsEffect6updateEv @ 3327 NONAME + _ZN15QGraphicsEffectC2EP7QObject @ 3328 NONAME + _ZN15QGraphicsEffectC2ER22QGraphicsEffectPrivateP7QObject @ 3329 NONAME + _ZN15QGraphicsEffectD0Ev @ 3330 NONAME + _ZN15QGraphicsEffectD1Ev @ 3331 NONAME + _ZN15QGraphicsEffectD2Ev @ 3332 NONAME + _ZN15QGraphicsLayout10invalidateEv @ 3333 NONAME + _ZN15QGraphicsLayout11widgetEventEP6QEvent @ 3334 NONAME + _ZN15QGraphicsLayout14updateGeometryEv @ 3335 NONAME + _ZN15QGraphicsLayout18addChildLayoutItemEP19QGraphicsLayoutItem @ 3336 NONAME + _ZN15QGraphicsLayout18setContentsMarginsEffff @ 3337 NONAME + _ZN15QGraphicsLayout8activateEv @ 3338 NONAME + _ZN15QGraphicsLayoutC2EP19QGraphicsLayoutItem @ 3339 NONAME + _ZN15QGraphicsLayoutC2ER22QGraphicsLayoutPrivateP19QGraphicsLayoutItem @ 3340 NONAME + _ZN15QGraphicsLayoutD0Ev @ 3341 NONAME + _ZN15QGraphicsLayoutD1Ev @ 3342 NONAME + _ZN15QGraphicsLayoutD2Ev @ 3343 NONAME + _ZN15QGraphicsObject11grabGestureEN2Qt11GestureTypeENS0_14GestureContextE @ 3344 NONAME + _ZN15QGraphicsObject11qt_metacallEN11QMetaObject4CallEiPPv @ 3345 NONAME + _ZN15QGraphicsObject11qt_metacastEPKc @ 3346 NONAME + _ZN15QGraphicsObject12scaleChangedEv @ 3347 NONAME + _ZN15QGraphicsObject13parentChangedEv @ 3348 NONAME + _ZN15QGraphicsObject14enabledChangedEv @ 3349 NONAME + _ZN15QGraphicsObject14opacityChangedEv @ 3350 NONAME + _ZN15QGraphicsObject14visibleChangedEv @ 3351 NONAME + _ZN15QGraphicsObject15rotationChangedEv @ 3352 NONAME + _ZN15QGraphicsObject16staticMetaObjectE @ 3353 NONAME DATA 16 + _ZN15QGraphicsObject19getStaticMetaObjectEv @ 3354 NONAME + _ZN15QGraphicsObject8xChangedEv @ 3355 NONAME + _ZN15QGraphicsObject8yChangedEv @ 3356 NONAME + _ZN15QGraphicsObject8zChangedEv @ 3357 NONAME + _ZN15QGraphicsObjectC2EP13QGraphicsItem @ 3358 NONAME + _ZN15QGraphicsObjectC2ER20QGraphicsItemPrivateP13QGraphicsItemP14QGraphicsScene @ 3359 NONAME + _ZN15QGraphicsSystem23createDefaultPixmapDataEN11QPixmapData9PixelTypeE @ 3360 NONAME + _ZN15QGraphicsSystemD0Ev @ 3361 NONAME + _ZN15QGraphicsSystemD1Ev @ 3362 NONAME + _ZN15QGraphicsSystemD2Ev @ 3363 NONAME + _ZN15QGraphicsWidget10addActionsE5QListIP7QActionE @ 3364 NONAME + _ZN15QGraphicsWidget10adjustSizeEv @ 3365 NONAME + _ZN15QGraphicsWidget10closeEventEP11QCloseEvent @ 3366 NONAME + _ZN15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3367 NONAME + _ZN15QGraphicsWidget10sceneEventEP6QEvent @ 3368 NONAME + _ZN15QGraphicsWidget10setPaletteERK8QPalette @ 3369 NONAME + _ZN15QGraphicsWidget11changeEventEP6QEvent @ 3370 NONAME + _ZN15QGraphicsWidget11polishEventEv @ 3371 NONAME + _ZN15QGraphicsWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 3372 NONAME + _ZN15QGraphicsWidget11qt_metacastEPKc @ 3373 NONAME + _ZN15QGraphicsWidget11resizeEventEP25QGraphicsSceneResizeEvent @ 3374 NONAME + _ZN15QGraphicsWidget11setGeometryERK6QRectF @ 3375 NONAME + _ZN15QGraphicsWidget11setTabOrderEPS_S0_ @ 3376 NONAME + _ZN15QGraphicsWidget12focusInEventEP11QFocusEvent @ 3377 NONAME + _ZN15QGraphicsWidget12grabShortcutERK12QKeySequenceN2Qt15ShortcutContextE @ 3378 NONAME + _ZN15QGraphicsWidget12insertActionEP7QActionS1_ @ 3379 NONAME + _ZN15QGraphicsWidget12removeActionEP7QAction @ 3380 NONAME + _ZN15QGraphicsWidget12setAttributeEN2Qt15WidgetAttributeEb @ 3381 NONAME + _ZN15QGraphicsWidget13focusOutEventEP11QFocusEvent @ 3382 NONAME + _ZN15QGraphicsWidget13insertActionsEP7QAction5QListIS1_E @ 3383 NONAME + _ZN15QGraphicsWidget14grabMouseEventEP6QEvent @ 3384 NONAME + _ZN15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3385 NONAME + _ZN15QGraphicsWidget14propertyChangeERK7QStringRK8QVariant @ 3386 NONAME + _ZN15QGraphicsWidget14setFocusPolicyEN2Qt11FocusPolicyE @ 3387 NONAME + _ZN15QGraphicsWidget14setWindowFlagsE6QFlagsIN2Qt10WindowTypeEE @ 3388 NONAME + _ZN15QGraphicsWidget14setWindowTitleERK7QString @ 3389 NONAME + _ZN15QGraphicsWidget14updateGeometryEv @ 3390 NONAME + _ZN15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 3391 NONAME + _ZN15QGraphicsWidget15releaseShortcutEi @ 3392 NONAME + _ZN15QGraphicsWidget16paintWindowFrameEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3393 NONAME + _ZN15QGraphicsWidget16staticMetaObjectE @ 3394 NONAME DATA 16 + _ZN15QGraphicsWidget16ungrabMouseEventEP6QEvent @ 3395 NONAME + _ZN15QGraphicsWidget16windowFrameEventEP6QEvent @ 3396 NONAME + _ZN15QGraphicsWidget17grabKeyboardEventEP6QEvent @ 3397 NONAME + _ZN15QGraphicsWidget18focusNextPrevChildEb @ 3398 NONAME + _ZN15QGraphicsWidget18setContentsMarginsEffff @ 3399 NONAME + _ZN15QGraphicsWidget18setLayoutDirectionEN2Qt15LayoutDirectionE @ 3400 NONAME + _ZN15QGraphicsWidget18setShortcutEnabledEib @ 3401 NONAME + _ZN15QGraphicsWidget19getStaticMetaObjectEv @ 3402 NONAME + _ZN15QGraphicsWidget19ungrabKeyboardEventEP6QEvent @ 3403 NONAME + _ZN15QGraphicsWidget20unsetLayoutDirectionEv @ 3404 NONAME + _ZN15QGraphicsWidget21setShortcutAutoRepeatEib @ 3405 NONAME + _ZN15QGraphicsWidget21setWindowFrameMarginsEffff @ 3406 NONAME + _ZN15QGraphicsWidget23unsetWindowFrameMarginsEv @ 3407 NONAME + _ZN15QGraphicsWidget5closeEv @ 3408 NONAME + _ZN15QGraphicsWidget5eventEP6QEvent @ 3409 NONAME + _ZN15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3410 NONAME + _ZN15QGraphicsWidget6resizeERK6QSizeF @ 3411 NONAME + _ZN15QGraphicsWidget7setFontERK5QFont @ 3412 NONAME + _ZN15QGraphicsWidget8setStyleEP6QStyle @ 3413 NONAME + _ZN15QGraphicsWidget9addActionEP7QAction @ 3414 NONAME + _ZN15QGraphicsWidget9hideEventEP10QHideEvent @ 3415 NONAME + _ZN15QGraphicsWidget9moveEventEP23QGraphicsSceneMoveEvent @ 3416 NONAME + _ZN15QGraphicsWidget9setLayoutEP15QGraphicsLayout @ 3417 NONAME + _ZN15QGraphicsWidget9showEventEP10QShowEvent @ 3418 NONAME + _ZN15QGraphicsWidgetC1EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 3419 NONAME + _ZN15QGraphicsWidgetC1ER22QGraphicsWidgetPrivateP13QGraphicsItemP14QGraphicsScene6QFlagsIN2Qt10WindowTypeEE @ 3420 NONAME + _ZN15QGraphicsWidgetC2EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 3421 NONAME + _ZN15QGraphicsWidgetC2ER22QGraphicsWidgetPrivateP13QGraphicsItemP14QGraphicsScene6QFlagsIN2Qt10WindowTypeEE @ 3422 NONAME + _ZN15QGraphicsWidgetD0Ev @ 3423 NONAME + _ZN15QGraphicsWidgetD1Ev @ 3424 NONAME + _ZN15QGraphicsWidgetD2Ev @ 3425 NONAME + _ZN15QImageIOHandler11jumpToImageEi @ 3426 NONAME + _ZN15QImageIOHandler15jumpToNextImageEv @ 3427 NONAME + _ZN15QImageIOHandler5writeERK6QImage @ 3428 NONAME + _ZN15QImageIOHandler9setDeviceEP9QIODevice @ 3429 NONAME + _ZN15QImageIOHandler9setFormatERK10QByteArray @ 3430 NONAME + _ZN15QImageIOHandler9setOptionENS_11ImageOptionERK8QVariant @ 3431 NONAME + _ZN15QImageIOHandlerC2ER22QImageIOHandlerPrivate @ 3432 NONAME + _ZN15QImageIOHandlerC2Ev @ 3433 NONAME + _ZN15QImageIOHandlerD0Ev @ 3434 NONAME + _ZN15QImageIOHandlerD1Ev @ 3435 NONAME + _ZN15QImageIOHandlerD2Ev @ 3436 NONAME + _ZN15QLinearGradient12setFinalStopERK7QPointF @ 3437 NONAME + _ZN15QLinearGradient8setStartERK7QPointF @ 3438 NONAME + _ZN15QLinearGradientC1ERK7QPointFS2_ @ 3439 NONAME + _ZN15QLinearGradientC1Effff @ 3440 NONAME + _ZN15QLinearGradientC1Ev @ 3441 NONAME + _ZN15QLinearGradientC2ERK7QPointFS2_ @ 3442 NONAME + _ZN15QLinearGradientC2Effff @ 3443 NONAME + _ZN15QLinearGradientC2Ev @ 3444 NONAME + _ZN15QListWidgetItem4readER11QDataStream @ 3445 NONAME + _ZN15QListWidgetItem7setDataEiRK8QVariant @ 3446 NONAME + _ZN15QListWidgetItem8setFlagsE6QFlagsIN2Qt8ItemFlagEE @ 3447 NONAME + _ZN15QListWidgetItemC1EP11QListWidgeti @ 3448 NONAME + _ZN15QListWidgetItemC1ERK5QIconRK7QStringP11QListWidgeti @ 3449 NONAME + _ZN15QListWidgetItemC1ERK7QStringP11QListWidgeti @ 3450 NONAME + _ZN15QListWidgetItemC1ERKS_ @ 3451 NONAME + _ZN15QListWidgetItemC2EP11QListWidgeti @ 3452 NONAME + _ZN15QListWidgetItemC2ERK5QIconRK7QStringP11QListWidgeti @ 3453 NONAME + _ZN15QListWidgetItemC2ERK7QStringP11QListWidgeti @ 3454 NONAME + _ZN15QListWidgetItemC2ERKS_ @ 3455 NONAME + _ZN15QListWidgetItemD0Ev @ 3456 NONAME + _ZN15QListWidgetItemD1Ev @ 3457 NONAME + _ZN15QListWidgetItemD2Ev @ 3458 NONAME + _ZN15QListWidgetItemaSERKS_ @ 3459 NONAME + _ZN15QProgressDialog10closeEventEP11QCloseEvent @ 3460 NONAME + _ZN15QProgressDialog10setMaximumEi @ 3461 NONAME + _ZN15QProgressDialog10setMinimumEi @ 3462 NONAME + _ZN15QProgressDialog11changeEventEP6QEvent @ 3463 NONAME + _ZN15QProgressDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 3464 NONAME + _ZN15QProgressDialog11qt_metacastEPKc @ 3465 NONAME + _ZN15QProgressDialog11resizeEventEP12QResizeEvent @ 3466 NONAME + _ZN15QProgressDialog12setAutoCloseEb @ 3467 NONAME + _ZN15QProgressDialog12setAutoResetEb @ 3468 NONAME + _ZN15QProgressDialog12setLabelTextERK7QString @ 3469 NONAME + _ZN15QProgressDialog15setCancelButtonEP11QPushButton @ 3470 NONAME + _ZN15QProgressDialog16staticMetaObjectE @ 3471 NONAME DATA 16 + _ZN15QProgressDialog18setMinimumDurationEi @ 3472 NONAME + _ZN15QProgressDialog19getStaticMetaObjectEv @ 3473 NONAME + _ZN15QProgressDialog19setCancelButtonTextERK7QString @ 3474 NONAME + _ZN15QProgressDialog4openEP7QObjectPKc @ 3475 NONAME + _ZN15QProgressDialog5resetEv @ 3476 NONAME + _ZN15QProgressDialog6cancelEv @ 3477 NONAME + _ZN15QProgressDialog6setBarEP12QProgressBar @ 3478 NONAME + _ZN15QProgressDialog8canceledEv @ 3479 NONAME + _ZN15QProgressDialog8setLabelEP6QLabel @ 3480 NONAME + _ZN15QProgressDialog8setRangeEii @ 3481 NONAME + _ZN15QProgressDialog8setValueEi @ 3482 NONAME + _ZN15QProgressDialog9forceShowEv @ 3483 NONAME + _ZN15QProgressDialog9showEventEP10QShowEvent @ 3484 NONAME + _ZN15QProgressDialogC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3485 NONAME + _ZN15QProgressDialogC1ERK7QStringS2_iiP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3486 NONAME + _ZN15QProgressDialogC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3487 NONAME + _ZN15QProgressDialogC2ERK7QStringS2_iiP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 3488 NONAME + _ZN15QProgressDialogD0Ev @ 3489 NONAME + _ZN15QProgressDialogD1Ev @ 3490 NONAME + _ZN15QProgressDialogD2Ev @ 3491 NONAME + _ZN15QRadialGradient13setFocalPointERK7QPointF @ 3492 NONAME + _ZN15QRadialGradient9setCenterERK7QPointF @ 3493 NONAME + _ZN15QRadialGradient9setRadiusEf @ 3494 NONAME + _ZN15QRadialGradientC1ERK7QPointFf @ 3495 NONAME + _ZN15QRadialGradientC1ERK7QPointFfS2_ @ 3496 NONAME + _ZN15QRadialGradientC1Efff @ 3497 NONAME + _ZN15QRadialGradientC1Efffff @ 3498 NONAME + _ZN15QRadialGradientC1Ev @ 3499 NONAME + _ZN15QRadialGradientC2ERK7QPointFf @ 3500 NONAME + _ZN15QRadialGradientC2ERK7QPointFfS2_ @ 3501 NONAME + _ZN15QRadialGradientC2Efff @ 3502 NONAME + _ZN15QRadialGradientC2Efffff @ 3503 NONAME + _ZN15QRadialGradientC2Ev @ 3504 NONAME + _ZN15QSessionManager11qt_metacallEN11QMetaObject4CallEiPPv @ 3505 NONAME + _ZN15QSessionManager11qt_metacastEPKc @ 3506 NONAME + _ZN15QSessionManager16staticMetaObjectE @ 3507 NONAME DATA 16 + _ZN15QSessionManager17allowsInteractionEv @ 3508 NONAME + _ZN15QSessionManager19getStaticMetaObjectEv @ 3509 NONAME + _ZN15QSessionManager6cancelEv @ 3510 NONAME + _ZN15QSessionManagerC1EP12QApplicationR7QStringS3_ @ 3511 NONAME + _ZN15QSessionManagerC2EP12QApplicationR7QStringS3_ @ 3512 NONAME + _ZN15QSessionManagerD0Ev @ 3513 NONAME + _ZN15QSessionManagerD1Ev @ 3514 NONAME + _ZN15QSessionManagerD2Ev @ 3515 NONAME + _ZN15QSplitterHandle10paintEventEP11QPaintEvent @ 3516 NONAME + _ZN15QSplitterHandle11qt_metacallEN11QMetaObject4CallEiPPv @ 3517 NONAME + _ZN15QSplitterHandle11qt_metacastEPKc @ 3518 NONAME + _ZN15QSplitterHandle12moveSplitterEi @ 3519 NONAME + _ZN15QSplitterHandle14mouseMoveEventEP11QMouseEvent @ 3520 NONAME + _ZN15QSplitterHandle14setOrientationEN2Qt11OrientationE @ 3521 NONAME + _ZN15QSplitterHandle15mousePressEventEP11QMouseEvent @ 3522 NONAME + _ZN15QSplitterHandle16staticMetaObjectE @ 3523 NONAME DATA 16 + _ZN15QSplitterHandle17mouseReleaseEventEP11QMouseEvent @ 3524 NONAME + _ZN15QSplitterHandle19getStaticMetaObjectEv @ 3525 NONAME + _ZN15QSplitterHandle20closestLegalPositionEi @ 3526 NONAME + _ZN15QSplitterHandle5eventEP6QEvent @ 3527 NONAME + _ZN15QSplitterHandleC1EN2Qt11OrientationEP9QSplitter @ 3528 NONAME + _ZN15QSplitterHandleC2EN2Qt11OrientationEP9QSplitter @ 3529 NONAME + _ZN15QStatusTipEventC1ERK7QString @ 3530 NONAME + _ZN15QStatusTipEventC2ERK7QString @ 3531 NONAME + _ZN15QStatusTipEventD0Ev @ 3532 NONAME + _ZN15QStatusTipEventD1Ev @ 3533 NONAME + _ZN15QStatusTipEventD2Ev @ 3534 NONAME + _ZN15QStyleOptionTabC1Ei @ 3535 NONAME + _ZN15QStyleOptionTabC1Ev @ 3536 NONAME + _ZN15QStyleOptionTabC2Ei @ 3537 NONAME + _ZN15QStyleOptionTabC2Ev @ 3538 NONAME + _ZN15QTextBlockGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 3539 NONAME + _ZN15QTextBlockGroup11qt_metacastEPKc @ 3540 NONAME + _ZN15QTextBlockGroup12blockRemovedERK10QTextBlock @ 3541 NONAME + _ZN15QTextBlockGroup13blockInsertedERK10QTextBlock @ 3542 NONAME + _ZN15QTextBlockGroup16staticMetaObjectE @ 3543 NONAME DATA 16 + _ZN15QTextBlockGroup18blockFormatChangedERK10QTextBlock @ 3544 NONAME + _ZN15QTextBlockGroup19getStaticMetaObjectEv @ 3545 NONAME + _ZN15QTextBlockGroupC1EP13QTextDocument @ 3546 NONAME + _ZN15QTextBlockGroupC1ER22QTextBlockGroupPrivateP13QTextDocument @ 3547 NONAME + _ZN15QTextBlockGroupC2EP13QTextDocument @ 3548 NONAME + _ZN15QTextBlockGroupC2ER22QTextBlockGroupPrivateP13QTextDocument @ 3549 NONAME + _ZN15QTextBlockGroupD0Ev @ 3550 NONAME + _ZN15QTextBlockGroupD1Ev @ 3551 NONAME + _ZN15QTextBlockGroupD2Ev @ 3552 NONAME + _ZN15QTextCharFormat17setUnderlineStyleENS_14UnderlineStyleE @ 3553 NONAME + _ZN15QTextCharFormat7setFontERK5QFont @ 3554 NONAME + _ZN15QTextCharFormatC1ERK11QTextFormat @ 3555 NONAME + _ZN15QTextCharFormatC1Ev @ 3556 NONAME + _ZN15QTextCharFormatC2ERK11QTextFormat @ 3557 NONAME + _ZN15QTextCharFormatC2Ev @ 3558 NONAME + _ZN15QTextListFormatC1ERK11QTextFormat @ 3559 NONAME + _ZN15QTextListFormatC1Ev @ 3560 NONAME + _ZN15QTextListFormatC2ERK11QTextFormat @ 3561 NONAME + _ZN15QTextListFormatC2Ev @ 3562 NONAME + _ZN15QTreeWidgetItem11addChildrenERK5QListIPS_E @ 3563 NONAME + _ZN15QTreeWidgetItem11insertChildEiPS_ @ 3564 NONAME + _ZN15QTreeWidgetItem11itemChangedEv @ 3565 NONAME + _ZN15QTreeWidgetItem11removeChildEPS_ @ 3566 NONAME + _ZN15QTreeWidgetItem12sortChildrenEiN2Qt9SortOrderEb @ 3567 NONAME + _ZN15QTreeWidgetItem12takeChildrenEv @ 3568 NONAME + _ZN15QTreeWidgetItem14insertChildrenEiRK5QListIPS_E @ 3569 NONAME + _ZN15QTreeWidgetItem15emitDataChangedEv @ 3570 NONAME + _ZN15QTreeWidgetItem23setChildIndicatorPolicyENS_20ChildIndicatorPolicyE @ 3571 NONAME + _ZN15QTreeWidgetItem4readER11QDataStream @ 3572 NONAME + _ZN15QTreeWidgetItem7setDataEiiRK8QVariant @ 3573 NONAME + _ZN15QTreeWidgetItem8addChildEPS_ @ 3574 NONAME + _ZN15QTreeWidgetItem8setFlagsE6QFlagsIN2Qt8ItemFlagEE @ 3575 NONAME + _ZN15QTreeWidgetItem9takeChildEi @ 3576 NONAME + _ZN15QTreeWidgetItemC1EP11QTreeWidgetPS_i @ 3577 NONAME + _ZN15QTreeWidgetItemC1EP11QTreeWidgetRK11QStringListi @ 3578 NONAME + _ZN15QTreeWidgetItemC1EP11QTreeWidgeti @ 3579 NONAME + _ZN15QTreeWidgetItemC1EPS_RK11QStringListi @ 3580 NONAME + _ZN15QTreeWidgetItemC1EPS_S0_i @ 3581 NONAME + _ZN15QTreeWidgetItemC1EPS_i @ 3582 NONAME + _ZN15QTreeWidgetItemC1ERK11QStringListi @ 3583 NONAME + _ZN15QTreeWidgetItemC1ERKS_ @ 3584 NONAME + _ZN15QTreeWidgetItemC1Ei @ 3585 NONAME + _ZN15QTreeWidgetItemC2EP11QTreeWidgetPS_i @ 3586 NONAME + _ZN15QTreeWidgetItemC2EP11QTreeWidgetRK11QStringListi @ 3587 NONAME + _ZN15QTreeWidgetItemC2EP11QTreeWidgeti @ 3588 NONAME + _ZN15QTreeWidgetItemC2EPS_RK11QStringListi @ 3589 NONAME + _ZN15QTreeWidgetItemC2EPS_S0_i @ 3590 NONAME + _ZN15QTreeWidgetItemC2EPS_i @ 3591 NONAME + _ZN15QTreeWidgetItemC2ERK11QStringListi @ 3592 NONAME + _ZN15QTreeWidgetItemC2ERKS_ @ 3593 NONAME + _ZN15QTreeWidgetItemC2Ei @ 3594 NONAME + _ZN15QTreeWidgetItemD0Ev @ 3595 NONAME + _ZN15QTreeWidgetItemD1Ev @ 3596 NONAME + _ZN15QTreeWidgetItemD2Ev @ 3597 NONAME + _ZN15QTreeWidgetItemaSERKS_ @ 3598 NONAME + _ZN16QAbstractSpinBox10closeEventEP11QCloseEvent @ 3599 NONAME + _ZN16QAbstractSpinBox10paintEventEP11QPaintEvent @ 3600 NONAME + _ZN16QAbstractSpinBox10timerEventEP11QTimerEvent @ 3601 NONAME + _ZN16QAbstractSpinBox10wheelEventEP11QWheelEvent @ 3602 NONAME + _ZN16QAbstractSpinBox11changeEventEP6QEvent @ 3603 NONAME + _ZN16QAbstractSpinBox11qt_metacallEN11QMetaObject4CallEiPPv @ 3604 NONAME + _ZN16QAbstractSpinBox11qt_metacastEPKc @ 3605 NONAME + _ZN16QAbstractSpinBox11resizeEventEP12QResizeEvent @ 3606 NONAME + _ZN16QAbstractSpinBox11setLineEditEP9QLineEdit @ 3607 NONAME + _ZN16QAbstractSpinBox11setReadOnlyEb @ 3608 NONAME + _ZN16QAbstractSpinBox11setWrappingEb @ 3609 NONAME + _ZN16QAbstractSpinBox12focusInEventEP11QFocusEvent @ 3610 NONAME + _ZN16QAbstractSpinBox12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 3611 NONAME + _ZN16QAbstractSpinBox13focusOutEventEP11QFocusEvent @ 3612 NONAME + _ZN16QAbstractSpinBox13interpretTextEv @ 3613 NONAME + _ZN16QAbstractSpinBox13keyPressEventEP9QKeyEvent @ 3614 NONAME + _ZN16QAbstractSpinBox14mouseMoveEventEP11QMouseEvent @ 3615 NONAME + _ZN16QAbstractSpinBox14setAcceleratedEb @ 3616 NONAME + _ZN16QAbstractSpinBox15editingFinishedEv @ 3617 NONAME + _ZN16QAbstractSpinBox15keyReleaseEventEP9QKeyEvent @ 3618 NONAME + _ZN16QAbstractSpinBox15mousePressEventEP11QMouseEvent @ 3619 NONAME + _ZN16QAbstractSpinBox16contextMenuEventEP17QContextMenuEvent @ 3620 NONAME + _ZN16QAbstractSpinBox16setButtonSymbolsENS_13ButtonSymbolsE @ 3621 NONAME + _ZN16QAbstractSpinBox16staticMetaObjectE @ 3622 NONAME DATA 16 + _ZN16QAbstractSpinBox17mouseReleaseEventEP11QMouseEvent @ 3623 NONAME + _ZN16QAbstractSpinBox17setCorrectionModeENS_14CorrectionModeE @ 3624 NONAME + _ZN16QAbstractSpinBox19getStaticMetaObjectEv @ 3625 NONAME + _ZN16QAbstractSpinBox19setKeyboardTrackingEb @ 3626 NONAME + _ZN16QAbstractSpinBox19setSpecialValueTextERK7QString @ 3627 NONAME + _ZN16QAbstractSpinBox5clearEv @ 3628 NONAME + _ZN16QAbstractSpinBox5eventEP6QEvent @ 3629 NONAME + _ZN16QAbstractSpinBox6stepByEi @ 3630 NONAME + _ZN16QAbstractSpinBox6stepUpEv @ 3631 NONAME + _ZN16QAbstractSpinBox8setFrameEb @ 3632 NONAME + _ZN16QAbstractSpinBox8stepDownEv @ 3633 NONAME + _ZN16QAbstractSpinBox9hideEventEP10QHideEvent @ 3634 NONAME + _ZN16QAbstractSpinBox9selectAllEv @ 3635 NONAME + _ZN16QAbstractSpinBox9showEventEP10QShowEvent @ 3636 NONAME + _ZN16QAbstractSpinBoxC1EP7QWidget @ 3637 NONAME + _ZN16QAbstractSpinBoxC1ER23QAbstractSpinBoxPrivateP7QWidget @ 3638 NONAME + _ZN16QAbstractSpinBoxC2EP7QWidget @ 3639 NONAME + _ZN16QAbstractSpinBoxC2ER23QAbstractSpinBoxPrivateP7QWidget @ 3640 NONAME + _ZN16QAbstractSpinBoxD0Ev @ 3641 NONAME + _ZN16QAbstractSpinBoxD1Ev @ 3642 NONAME + _ZN16QAbstractSpinBoxD2Ev @ 3643 NONAME + _ZN16QConicalGradient8setAngleEf @ 3644 NONAME + _ZN16QConicalGradient9setCenterERK7QPointF @ 3645 NONAME + _ZN16QConicalGradientC1ERK7QPointFf @ 3646 NONAME + _ZN16QConicalGradientC1Efff @ 3647 NONAME + _ZN16QConicalGradientC1Ev @ 3648 NONAME + _ZN16QConicalGradientC2ERK7QPointFf @ 3649 NONAME + _ZN16QConicalGradientC2Efff @ 3650 NONAME + _ZN16QConicalGradientC2Ev @ 3651 NONAME + _ZN16QDesktopServices11displayNameENS_16StandardLocationE @ 3652 NONAME + _ZN16QDesktopServices13setUrlHandlerERK7QStringP7QObjectPKc @ 3653 NONAME + _ZN16QDesktopServices15storageLocationENS_16StandardLocationE @ 3654 NONAME + _ZN16QDesktopServices15unsetUrlHandlerERK7QString @ 3655 NONAME + _ZN16QDesktopServices7openUrlERK4QUrl @ 3656 NONAME + _ZN16QDialogButtonBox11changeEventEP6QEvent @ 3657 NONAME + _ZN16QDialogButtonBox11qt_metacallEN11QMetaObject4CallEiPPv @ 3658 NONAME + _ZN16QDialogButtonBox11qt_metacastEPKc @ 3659 NONAME + _ZN16QDialogButtonBox12removeButtonEP15QAbstractButton @ 3660 NONAME + _ZN16QDialogButtonBox13helpRequestedEv @ 3661 NONAME + _ZN16QDialogButtonBox14setOrientationEN2Qt11OrientationE @ 3662 NONAME + _ZN16QDialogButtonBox16setCenterButtonsEb @ 3663 NONAME + _ZN16QDialogButtonBox16staticMetaObjectE @ 3664 NONAME DATA 16 + _ZN16QDialogButtonBox18setStandardButtonsE6QFlagsINS_14StandardButtonEE @ 3665 NONAME + _ZN16QDialogButtonBox19getStaticMetaObjectEv @ 3666 NONAME + _ZN16QDialogButtonBox5clearEv @ 3667 NONAME + _ZN16QDialogButtonBox5eventEP6QEvent @ 3668 NONAME + _ZN16QDialogButtonBox7clickedEP15QAbstractButton @ 3669 NONAME + _ZN16QDialogButtonBox8acceptedEv @ 3670 NONAME + _ZN16QDialogButtonBox8rejectedEv @ 3671 NONAME + _ZN16QDialogButtonBox9addButtonENS_14StandardButtonE @ 3672 NONAME + _ZN16QDialogButtonBox9addButtonEP15QAbstractButtonNS_10ButtonRoleE @ 3673 NONAME + _ZN16QDialogButtonBox9addButtonERK7QStringNS_10ButtonRoleE @ 3674 NONAME + _ZN16QDialogButtonBoxC1E6QFlagsINS_14StandardButtonEEN2Qt11OrientationEP7QWidget @ 3675 NONAME + _ZN16QDialogButtonBoxC1EN2Qt11OrientationEP7QWidget @ 3676 NONAME + _ZN16QDialogButtonBoxC1EP7QWidget @ 3677 NONAME + _ZN16QDialogButtonBoxC2E6QFlagsINS_14StandardButtonEEN2Qt11OrientationEP7QWidget @ 3678 NONAME + _ZN16QDialogButtonBoxC2EN2Qt11OrientationEP7QWidget @ 3679 NONAME + _ZN16QDialogButtonBoxC2EP7QWidget @ 3680 NONAME + _ZN16QDialogButtonBoxD0Ev @ 3681 NONAME + _ZN16QDialogButtonBoxD1Ev @ 3682 NONAME + _ZN16QDialogButtonBoxD2Ev @ 3683 NONAME + _ZN16QDoubleValidator11qt_metacallEN11QMetaObject4CallEiPPv @ 3684 NONAME + _ZN16QDoubleValidator11qt_metacastEPKc @ 3685 NONAME + _ZN16QDoubleValidator11setDecimalsEi @ 3686 NONAME + _ZN16QDoubleValidator11setNotationENS_8NotationE @ 3687 NONAME + _ZN16QDoubleValidator16staticMetaObjectE @ 3688 NONAME DATA 16 + _ZN16QDoubleValidator19getStaticMetaObjectEv @ 3689 NONAME + _ZN16QDoubleValidator6setTopEd @ 3690 NONAME + _ZN16QDoubleValidator8setRangeEddi @ 3691 NONAME + _ZN16QDoubleValidator9setBottomEd @ 3692 NONAME + _ZN16QDoubleValidatorC1EP7QObject @ 3693 NONAME + _ZN16QDoubleValidatorC1EddiP7QObject @ 3694 NONAME + _ZN16QDoubleValidatorC2EP7QObject @ 3695 NONAME + _ZN16QDoubleValidatorC2EddiP7QObject @ 3696 NONAME + _ZN16QDoubleValidatorD0Ev @ 3697 NONAME + _ZN16QDoubleValidatorD1Ev @ 3698 NONAME + _ZN16QDoubleValidatorD2Ev @ 3699 NONAME + _ZN16QFileSystemModel10timerEventEP11QTimerEvent @ 3700 NONAME + _ZN16QFileSystemModel11fileRenamedERK7QStringS2_S2_ @ 3701 NONAME + _ZN16QFileSystemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 3702 NONAME + _ZN16QFileSystemModel11qt_metacastEPKc @ 3703 NONAME + _ZN16QFileSystemModel11setReadOnlyEb @ 3704 NONAME + _ZN16QFileSystemModel11setRootPathERK7QString @ 3705 NONAME + _ZN16QFileSystemModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 3706 NONAME + _ZN16QFileSystemModel14setNameFiltersERK11QStringList @ 3707 NONAME + _ZN16QFileSystemModel15rootPathChangedERK7QString @ 3708 NONAME + _ZN16QFileSystemModel15setIconProviderEP17QFileIconProvider @ 3709 NONAME + _ZN16QFileSystemModel16staticMetaObjectE @ 3710 NONAME DATA 16 + _ZN16QFileSystemModel18setResolveSymlinksEb @ 3711 NONAME + _ZN16QFileSystemModel19getStaticMetaObjectEv @ 3712 NONAME + _ZN16QFileSystemModel21setNameFilterDisablesEb @ 3713 NONAME + _ZN16QFileSystemModel4sortEiN2Qt9SortOrderE @ 3714 NONAME + _ZN16QFileSystemModel5eventEP6QEvent @ 3715 NONAME + _ZN16QFileSystemModel5mkdirERK11QModelIndexRK7QString @ 3716 NONAME + _ZN16QFileSystemModel7setDataERK11QModelIndexRK8QVarianti @ 3717 NONAME + _ZN16QFileSystemModel9fetchMoreERK11QModelIndex @ 3718 NONAME + _ZN16QFileSystemModel9setFilterE6QFlagsIN4QDir6FilterEE @ 3719 NONAME + _ZN16QFileSystemModelC1EP7QObject @ 3720 NONAME + _ZN16QFileSystemModelC1ER23QFileSystemModelPrivateP7QObject @ 3721 NONAME + _ZN16QFileSystemModelC2EP7QObject @ 3722 NONAME + _ZN16QFileSystemModelC2ER23QFileSystemModelPrivateP7QObject @ 3723 NONAME + _ZN16QFileSystemModelD0Ev @ 3724 NONAME + _ZN16QFileSystemModelD1Ev @ 3725 NONAME + _ZN16QFileSystemModelD2Ev @ 3726 NONAME + _ZN16QPainterReplayer14setupTransformEP8QPainter @ 3727 NONAME + _ZN16QPainterReplayer4drawERK12QPaintBufferP8QPainteri @ 3728 NONAME + _ZN16QPainterReplayer7processERK19QPaintBufferCommand @ 3729 NONAME + _ZN16QRegExpValidator11qt_metacallEN11QMetaObject4CallEiPPv @ 3730 NONAME + _ZN16QRegExpValidator11qt_metacastEPKc @ 3731 NONAME + _ZN16QRegExpValidator16staticMetaObjectE @ 3732 NONAME DATA 16 + _ZN16QRegExpValidator19getStaticMetaObjectEv @ 3733 NONAME + _ZN16QRegExpValidator9setRegExpERK7QRegExp @ 3734 NONAME + _ZN16QRegExpValidatorC1EP7QObject @ 3735 NONAME + _ZN16QRegExpValidatorC1ERK7QRegExpP7QObject @ 3736 NONAME + _ZN16QRegExpValidatorC2EP7QObject @ 3737 NONAME + _ZN16QRegExpValidatorC2ERK7QRegExpP7QObject @ 3738 NONAME + _ZN16QRegExpValidatorD0Ev @ 3739 NONAME + _ZN16QRegExpValidatorD1Ev @ 3740 NONAME + _ZN16QRegExpValidatorD2Ev @ 3741 NONAME + _ZN16QS60MainDocument12CreateAppUiLEv @ 3742 NONAME + _ZN16QS60MainDocumentC1ER15CEikApplication @ 3743 NONAME + _ZN16QS60MainDocumentC2ER15CEikApplication @ 3744 NONAME + _ZN16QS60MainDocumentD0Ev @ 3745 NONAME + _ZN16QS60MainDocumentD1Ev @ 3746 NONAME + _ZN16QS60MainDocumentD2Ev @ 3747 NONAME + _ZN16QStringListModel10insertRowsEiiRK11QModelIndex @ 3748 NONAME + _ZN16QStringListModel10removeRowsEiiRK11QModelIndex @ 3749 NONAME + _ZN16QStringListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 3750 NONAME + _ZN16QStringListModel11qt_metacastEPKc @ 3751 NONAME + _ZN16QStringListModel13setStringListERK11QStringList @ 3752 NONAME + _ZN16QStringListModel16staticMetaObjectE @ 3753 NONAME DATA 16 + _ZN16QStringListModel19getStaticMetaObjectEv @ 3754 NONAME + _ZN16QStringListModel4sortEiN2Qt9SortOrderE @ 3755 NONAME + _ZN16QStringListModel7setDataERK11QModelIndexRK8QVarianti @ 3756 NONAME + _ZN16QStringListModelC1EP7QObject @ 3757 NONAME + _ZN16QStringListModelC1ERK11QStringListP7QObject @ 3758 NONAME + _ZN16QStringListModelC2EP7QObject @ 3759 NONAME + _ZN16QStringListModelC2ERK11QStringListP7QObject @ 3760 NONAME + _ZN16QStyleHintReturnC1Eii @ 3761 NONAME + _ZN16QStyleHintReturnC2Eii @ 3762 NONAME + _ZN16QStyleHintReturnD1Ev @ 3763 NONAME + _ZN16QStyleHintReturnD2Ev @ 3764 NONAME + _ZN16QTableWidgetItem4readER11QDataStream @ 3765 NONAME + _ZN16QTableWidgetItem7setDataEiRK8QVariant @ 3766 NONAME + _ZN16QTableWidgetItem8setFlagsE6QFlagsIN2Qt8ItemFlagEE @ 3767 NONAME + _ZN16QTableWidgetItemC1ERK5QIconRK7QStringi @ 3768 NONAME + _ZN16QTableWidgetItemC1ERK7QStringi @ 3769 NONAME + _ZN16QTableWidgetItemC1ERKS_ @ 3770 NONAME + _ZN16QTableWidgetItemC1Ei @ 3771 NONAME + _ZN16QTableWidgetItemC2ERK5QIconRK7QStringi @ 3772 NONAME + _ZN16QTableWidgetItemC2ERK7QStringi @ 3773 NONAME + _ZN16QTableWidgetItemC2ERKS_ @ 3774 NONAME + _ZN16QTableWidgetItemC2Ei @ 3775 NONAME + _ZN16QTableWidgetItemD0Ev @ 3776 NONAME + _ZN16QTableWidgetItemD1Ev @ 3777 NONAME + _ZN16QTableWidgetItemD2Ev @ 3778 NONAME + _ZN16QTableWidgetItemaSERKS_ @ 3779 NONAME + _ZN16QTextBlockFormat15setTabPositionsERK5QListIN11QTextOption3TabEE @ 3780 NONAME + _ZN16QTextBlockFormatC1ERK11QTextFormat @ 3781 NONAME + _ZN16QTextBlockFormatC1Ev @ 3782 NONAME + _ZN16QTextBlockFormatC2ERK11QTextFormat @ 3783 NONAME + _ZN16QTextBlockFormatC2Ev @ 3784 NONAME + _ZN16QTextFrameFormat9setMarginEf @ 3785 NONAME + _ZN16QTextFrameFormatC1ERK11QTextFormat @ 3786 NONAME + _ZN16QTextFrameFormatC1Ev @ 3787 NONAME + _ZN16QTextFrameFormatC2ERK11QTextFormat @ 3788 NONAME + _ZN16QTextFrameFormatC2Ev @ 3789 NONAME + _ZN16QTextImageFormatC1ERK11QTextFormat @ 3790 NONAME + _ZN16QTextImageFormatC1Ev @ 3791 NONAME + _ZN16QTextImageFormatC2ERK11QTextFormat @ 3792 NONAME + _ZN16QTextImageFormatC2Ev @ 3793 NONAME + _ZN16QTextTableFormatC1ERK11QTextFormat @ 3794 NONAME + _ZN16QTextTableFormatC1Ev @ 3795 NONAME + _ZN16QTextTableFormatC2ERK11QTextFormat @ 3796 NONAME + _ZN16QTextTableFormatC2Ev @ 3797 NONAME + _ZN17QAbstractItemView10commitDataEP7QWidget @ 3798 NONAME + _ZN17QAbstractItemView10timerEventEP11QTimerEvent @ 3799 NONAME + _ZN17QAbstractItemView11closeEditorEP7QWidgetN21QAbstractItemDelegate11EndEditHintE @ 3800 NONAME + _ZN17QAbstractItemView11dataChangedERK11QModelIndexS2_ @ 3801 NONAME + _ZN17QAbstractItemView11qt_metacallEN11QMetaObject4CallEiPPv @ 3802 NONAME + _ZN17QAbstractItemView11qt_metacastEPKc @ 3803 NONAME + _ZN17QAbstractItemView11resizeEventEP12QResizeEvent @ 3804 NONAME + _ZN17QAbstractItemView11scrollToTopEv @ 3805 NONAME + _ZN17QAbstractItemView11setIconSizeERK5QSize @ 3806 NONAME + _ZN17QAbstractItemView12doAutoScrollEv @ 3807 NONAME + _ZN17QAbstractItemView12focusInEventEP11QFocusEvent @ 3808 NONAME + _ZN17QAbstractItemView12rowsInsertedERK11QModelIndexii @ 3809 NONAME + _ZN17QAbstractItemView12setRootIndexERK11QModelIndex @ 3810 NONAME + _ZN17QAbstractItemView13doItemsLayoutEv @ 3811 NONAME + _ZN17QAbstractItemView13doubleClickedERK11QModelIndex @ 3812 NONAME + _ZN17QAbstractItemView13dragMoveEventEP14QDragMoveEvent @ 3813 NONAME + _ZN17QAbstractItemView13focusOutEventEP11QFocusEvent @ 3814 NONAME + _ZN17QAbstractItemView13keyPressEventEP9QKeyEvent @ 3815 NONAME + _ZN17QAbstractItemView13setAutoScrollEb @ 3816 NONAME + _ZN17QAbstractItemView13viewportEventEP6QEvent @ 3817 NONAME + _ZN17QAbstractItemView14clearSelectionEv @ 3818 NONAME + _ZN17QAbstractItemView14currentChangedERK11QModelIndexS2_ @ 3819 NONAME + _ZN17QAbstractItemView14dragEnterEventEP15QDragEnterEvent @ 3820 NONAME + _ZN17QAbstractItemView14dragLeaveEventEP15QDragLeaveEvent @ 3821 NONAME + _ZN17QAbstractItemView14keyboardSearchERK7QString @ 3822 NONAME + _ZN17QAbstractItemView14mouseMoveEventEP11QMouseEvent @ 3823 NONAME + _ZN17QAbstractItemView14scrollToBottomEv @ 3824 NONAME + _ZN17QAbstractItemView14setDirtyRegionERK7QRegion @ 3825 NONAME + _ZN17QAbstractItemView14setDragEnabledEb @ 3826 NONAME + _ZN17QAbstractItemView14setIndexWidgetERK11QModelIndexP7QWidget @ 3827 NONAME + _ZN17QAbstractItemView14stopAutoScrollEv @ 3828 NONAME + _ZN17QAbstractItemView15editorDestroyedEP7QObject @ 3829 NONAME + _ZN17QAbstractItemView15mousePressEventEP11QMouseEvent @ 3830 NONAME + _ZN17QAbstractItemView15setCurrentIndexERK11QModelIndex @ 3831 NONAME + _ZN17QAbstractItemView15setDragDropModeENS_12DragDropModeE @ 3832 NONAME + _ZN17QAbstractItemView15setEditTriggersE6QFlagsINS_11EditTriggerEE @ 3833 NONAME + _ZN17QAbstractItemView15setItemDelegateEP21QAbstractItemDelegate @ 3834 NONAME + _ZN17QAbstractItemView15startAutoScrollEv @ 3835 NONAME + _ZN17QAbstractItemView15viewportEnteredEv @ 3836 NONAME + _ZN17QAbstractItemView16inputMethodEventEP17QInputMethodEvent @ 3837 NONAME + _ZN17QAbstractItemView16selectionChangedERK14QItemSelectionS2_ @ 3838 NONAME + _ZN17QAbstractItemView16setSelectionModeENS_13SelectionModeE @ 3839 NONAME + _ZN17QAbstractItemView16setTextElideModeEN2Qt13TextElideModeE @ 3840 NONAME + _ZN17QAbstractItemView16staticMetaObjectE @ 3841 NONAME DATA 16 + _ZN17QAbstractItemView16updateEditorDataEv @ 3842 NONAME + _ZN17QAbstractItemView16updateGeometriesEv @ 3843 NONAME + _ZN17QAbstractItemView17mouseReleaseEventEP11QMouseEvent @ 3844 NONAME + _ZN17QAbstractItemView17scrollDirtyRegionEii @ 3845 NONAME + _ZN17QAbstractItemView17setSelectionModelEP19QItemSelectionModel @ 3846 NONAME + _ZN17QAbstractItemView18focusNextPrevChildEb @ 3847 NONAME + _ZN17QAbstractItemView19getStaticMetaObjectEv @ 3848 NONAME + _ZN17QAbstractItemView19setAutoScrollMarginEi @ 3849 NONAME + _ZN17QAbstractItemView19setTabKeyNavigationEb @ 3850 NONAME + _ZN17QAbstractItemView20openPersistentEditorERK11QModelIndex @ 3851 NONAME + _ZN17QAbstractItemView20rowsAboutToBeRemovedERK11QModelIndexii @ 3852 NONAME + _ZN17QAbstractItemView20setDefaultDropActionEN2Qt10DropActionE @ 3853 NONAME + _ZN17QAbstractItemView20setSelectionBehaviorENS_17SelectionBehaviorE @ 3854 NONAME + _ZN17QAbstractItemView21closePersistentEditorERK11QModelIndex @ 3855 NONAME + _ZN17QAbstractItemView21mouseDoubleClickEventEP11QMouseEvent @ 3856 NONAME + _ZN17QAbstractItemView21setDropIndicatorShownEb @ 3857 NONAME + _ZN17QAbstractItemView21setItemDelegateForRowEiP21QAbstractItemDelegate @ 3858 NONAME + _ZN17QAbstractItemView21setVerticalScrollModeENS_10ScrollModeE @ 3859 NONAME + _ZN17QAbstractItemView22updateEditorGeometriesEv @ 3860 NONAME + _ZN17QAbstractItemView23setAlternatingRowColorsEb @ 3861 NONAME + _ZN17QAbstractItemView23setHorizontalScrollModeENS_10ScrollModeE @ 3862 NONAME + _ZN17QAbstractItemView23setVerticalStepsPerItemEi @ 3863 NONAME + _ZN17QAbstractItemView23verticalScrollbarActionEi @ 3864 NONAME + _ZN17QAbstractItemView24setDragDropOverwriteModeEb @ 3865 NONAME + _ZN17QAbstractItemView24setItemDelegateForColumnEiP21QAbstractItemDelegate @ 3866 NONAME + _ZN17QAbstractItemView25executeDelayedItemsLayoutEv @ 3867 NONAME + _ZN17QAbstractItemView25horizontalScrollbarActionEi @ 3868 NONAME + _ZN17QAbstractItemView25setHorizontalStepsPerItemEi @ 3869 NONAME + _ZN17QAbstractItemView26scheduleDelayedItemsLayoutEv @ 3870 NONAME + _ZN17QAbstractItemView29verticalScrollbarValueChangedEi @ 3871 NONAME + _ZN17QAbstractItemView31horizontalScrollbarValueChangedEi @ 3872 NONAME + _ZN17QAbstractItemView4editERK11QModelIndex @ 3873 NONAME + _ZN17QAbstractItemView4editERK11QModelIndexNS_11EditTriggerEP6QEvent @ 3874 NONAME + _ZN17QAbstractItemView5eventEP6QEvent @ 3875 NONAME + _ZN17QAbstractItemView5resetEv @ 3876 NONAME + _ZN17QAbstractItemView6updateERK11QModelIndex @ 3877 NONAME + _ZN17QAbstractItemView7clickedERK11QModelIndex @ 3878 NONAME + _ZN17QAbstractItemView7enteredERK11QModelIndex @ 3879 NONAME + _ZN17QAbstractItemView7pressedERK11QModelIndex @ 3880 NONAME + _ZN17QAbstractItemView8setModelEP18QAbstractItemModel @ 3881 NONAME + _ZN17QAbstractItemView8setStateENS_5StateE @ 3882 NONAME + _ZN17QAbstractItemView9activatedERK11QModelIndex @ 3883 NONAME + _ZN17QAbstractItemView9dropEventEP10QDropEvent @ 3884 NONAME + _ZN17QAbstractItemView9selectAllEv @ 3885 NONAME + _ZN17QAbstractItemView9startDragE6QFlagsIN2Qt10DropActionEE @ 3886 NONAME + _ZN17QAbstractItemViewC2EP7QWidget @ 3887 NONAME + _ZN17QAbstractItemViewC2ER24QAbstractItemViewPrivateP7QWidget @ 3888 NONAME + _ZN17QAbstractItemViewD0Ev @ 3889 NONAME + _ZN17QAbstractItemViewD1Ev @ 3890 NONAME + _ZN17QAbstractItemViewD2Ev @ 3891 NONAME + _ZN17QContextMenuEventC1ENS_6ReasonERK6QPoint @ 3892 NONAME + _ZN17QContextMenuEventC1ENS_6ReasonERK6QPointS3_ @ 3893 NONAME + _ZN17QContextMenuEventC1ENS_6ReasonERK6QPointS3_6QFlagsIN2Qt16KeyboardModifierEE @ 3894 NONAME + _ZN17QContextMenuEventC2ENS_6ReasonERK6QPoint @ 3895 NONAME + _ZN17QContextMenuEventC2ENS_6ReasonERK6QPointS3_ @ 3896 NONAME + _ZN17QContextMenuEventC2ENS_6ReasonERK6QPointS3_6QFlagsIN2Qt16KeyboardModifierEE @ 3897 NONAME + _ZN17QContextMenuEventD0Ev @ 3898 NONAME + _ZN17QContextMenuEventD1Ev @ 3899 NONAME + _ZN17QContextMenuEventD2Ev @ 3900 NONAME + _ZN17QDataWidgetMapper10addMappingEP7QWidgeti @ 3901 NONAME + _ZN17QDataWidgetMapper10addMappingEP7QWidgetiRK10QByteArray @ 3902 NONAME + _ZN17QDataWidgetMapper10toPreviousEv @ 3903 NONAME + _ZN17QDataWidgetMapper11qt_metacallEN11QMetaObject4CallEiPPv @ 3904 NONAME + _ZN17QDataWidgetMapper11qt_metacastEPKc @ 3905 NONAME + _ZN17QDataWidgetMapper12clearMappingEv @ 3906 NONAME + _ZN17QDataWidgetMapper12setRootIndexERK11QModelIndex @ 3907 NONAME + _ZN17QDataWidgetMapper13removeMappingEP7QWidget @ 3908 NONAME + _ZN17QDataWidgetMapper14setOrientationEN2Qt11OrientationE @ 3909 NONAME + _ZN17QDataWidgetMapper15setCurrentIndexEi @ 3910 NONAME + _ZN17QDataWidgetMapper15setItemDelegateEP21QAbstractItemDelegate @ 3911 NONAME + _ZN17QDataWidgetMapper15setSubmitPolicyENS_12SubmitPolicyE @ 3912 NONAME + _ZN17QDataWidgetMapper16staticMetaObjectE @ 3913 NONAME DATA 16 + _ZN17QDataWidgetMapper19currentIndexChangedEi @ 3914 NONAME + _ZN17QDataWidgetMapper19getStaticMetaObjectEv @ 3915 NONAME + _ZN17QDataWidgetMapper20setCurrentModelIndexERK11QModelIndex @ 3916 NONAME + _ZN17QDataWidgetMapper6revertEv @ 3917 NONAME + _ZN17QDataWidgetMapper6submitEv @ 3918 NONAME + _ZN17QDataWidgetMapper6toLastEv @ 3919 NONAME + _ZN17QDataWidgetMapper6toNextEv @ 3920 NONAME + _ZN17QDataWidgetMapper7toFirstEv @ 3921 NONAME + _ZN17QDataWidgetMapper8setModelEP18QAbstractItemModel @ 3922 NONAME + _ZN17QDataWidgetMapperC1EP7QObject @ 3923 NONAME + _ZN17QDataWidgetMapperC2EP7QObject @ 3924 NONAME + _ZN17QDataWidgetMapperD0Ev @ 3925 NONAME + _ZN17QDataWidgetMapperD1Ev @ 3926 NONAME + _ZN17QDataWidgetMapperD2Ev @ 3927 NONAME + _ZN17QDockWidgetLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 3928 NONAME + _ZN17QDockWidgetLayout11qt_metacastEPKc @ 3929 NONAME + _ZN17QDockWidgetLayout11setGeometryERK5QRect @ 3930 NONAME + _ZN17QDockWidgetLayout16setWidgetForRoleENS_4RoleEP7QWidget @ 3931 NONAME + _ZN17QDockWidgetLayout16staticMetaObjectE @ 3932 NONAME DATA 16 + _ZN17QDockWidgetLayout19getStaticMetaObjectEv @ 3933 NONAME + _ZN17QDockWidgetLayout19setVerticalTitleBarEb @ 3934 NONAME + _ZN17QDockWidgetLayout6takeAtEi @ 3935 NONAME + _ZN17QDockWidgetLayout7addItemEP11QLayoutItem @ 3936 NONAME + _ZN17QDockWidgetLayoutC1EP7QWidget @ 3937 NONAME + _ZN17QDockWidgetLayoutC2EP7QWidget @ 3938 NONAME + _ZN17QDockWidgetLayoutD0Ev @ 3939 NONAME + _ZN17QDockWidgetLayoutD1Ev @ 3940 NONAME + _ZN17QDockWidgetLayoutD2Ev @ 3941 NONAME + _ZN17QFileIconProviderC1Ev @ 3942 NONAME + _ZN17QFileIconProviderC2Ev @ 3943 NONAME + _ZN17QFileIconProviderD0Ev @ 3944 NONAME + _ZN17QFileIconProviderD1Ev @ 3945 NONAME + _ZN17QFileIconProviderD2Ev @ 3946 NONAME + _ZN17QGraphicsLineItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 3947 NONAME + _ZN17QGraphicsLineItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3948 NONAME + _ZN17QGraphicsLineItem6setPenERK4QPen @ 3949 NONAME + _ZN17QGraphicsLineItem7setLineERK6QLineF @ 3950 NONAME + _ZN17QGraphicsLineItemC1EP13QGraphicsItemP14QGraphicsScene @ 3951 NONAME + _ZN17QGraphicsLineItemC1ERK6QLineFP13QGraphicsItemP14QGraphicsScene @ 3952 NONAME + _ZN17QGraphicsLineItemC1EffffP13QGraphicsItemP14QGraphicsScene @ 3953 NONAME + _ZN17QGraphicsLineItemC2EP13QGraphicsItemP14QGraphicsScene @ 3954 NONAME + _ZN17QGraphicsLineItemC2ERK6QLineFP13QGraphicsItemP14QGraphicsScene @ 3955 NONAME + _ZN17QGraphicsLineItemC2EffffP13QGraphicsItemP14QGraphicsScene @ 3956 NONAME + _ZN17QGraphicsLineItemD0Ev @ 3957 NONAME + _ZN17QGraphicsLineItemD1Ev @ 3958 NONAME + _ZN17QGraphicsLineItemD2Ev @ 3959 NONAME + _ZN17QGraphicsPathItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 3960 NONAME + _ZN17QGraphicsPathItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3961 NONAME + _ZN17QGraphicsPathItem7setPathERK12QPainterPath @ 3962 NONAME + _ZN17QGraphicsPathItemC1EP13QGraphicsItemP14QGraphicsScene @ 3963 NONAME + _ZN17QGraphicsPathItemC1ERK12QPainterPathP13QGraphicsItemP14QGraphicsScene @ 3964 NONAME + _ZN17QGraphicsPathItemC2EP13QGraphicsItemP14QGraphicsScene @ 3965 NONAME + _ZN17QGraphicsPathItemC2ERK12QPainterPathP13QGraphicsItemP14QGraphicsScene @ 3966 NONAME + _ZN17QGraphicsPathItemD0Ev @ 3967 NONAME + _ZN17QGraphicsPathItemD1Ev @ 3968 NONAME + _ZN17QGraphicsPathItemD2Ev @ 3969 NONAME + _ZN17QGraphicsRectItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 3970 NONAME + _ZN17QGraphicsRectItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3971 NONAME + _ZN17QGraphicsRectItem7setRectERK6QRectF @ 3972 NONAME + _ZN17QGraphicsRectItemC1EP13QGraphicsItemP14QGraphicsScene @ 3973 NONAME + _ZN17QGraphicsRectItemC1ERK6QRectFP13QGraphicsItemP14QGraphicsScene @ 3974 NONAME + _ZN17QGraphicsRectItemC1EffffP13QGraphicsItemP14QGraphicsScene @ 3975 NONAME + _ZN17QGraphicsRectItemC2EP13QGraphicsItemP14QGraphicsScene @ 3976 NONAME + _ZN17QGraphicsRectItemC2ERK6QRectFP13QGraphicsItemP14QGraphicsScene @ 3977 NONAME + _ZN17QGraphicsRectItemC2EffffP13QGraphicsItemP14QGraphicsScene @ 3978 NONAME + _ZN17QGraphicsRectItemD0Ev @ 3979 NONAME + _ZN17QGraphicsRectItemD1Ev @ 3980 NONAME + _ZN17QGraphicsRectItemD2Ev @ 3981 NONAME + _ZN17QGraphicsRotation11axisChangedEv @ 3982 NONAME + _ZN17QGraphicsRotation11qt_metacallEN11QMetaObject4CallEiPPv @ 3983 NONAME + _ZN17QGraphicsRotation11qt_metacastEPKc @ 3984 NONAME + _ZN17QGraphicsRotation12angleChangedEv @ 3985 NONAME + _ZN17QGraphicsRotation13originChangedEv @ 3986 NONAME + _ZN17QGraphicsRotation16staticMetaObjectE @ 3987 NONAME DATA 16 + _ZN17QGraphicsRotation19getStaticMetaObjectEv @ 3988 NONAME + _ZN17QGraphicsRotation7setAxisEN2Qt4AxisE @ 3989 NONAME + _ZN17QGraphicsRotation7setAxisERK9QVector3D @ 3990 NONAME + _ZN17QGraphicsRotation8setAngleEf @ 3991 NONAME + _ZN17QGraphicsRotation9setOriginERK9QVector3D @ 3992 NONAME + _ZN17QGraphicsRotationC1EP7QObject @ 3993 NONAME + _ZN17QGraphicsRotationC2EP7QObject @ 3994 NONAME + _ZN17QGraphicsRotationD0Ev @ 3995 NONAME + _ZN17QGraphicsRotationD1Ev @ 3996 NONAME + _ZN17QGraphicsRotationD2Ev @ 3997 NONAME + _ZN17QGraphicsTextItem10adjustSizeEv @ 3998 NONAME + _ZN17QGraphicsTextItem10sceneEventEP6QEvent @ 3999 NONAME + _ZN17QGraphicsTextItem11linkHoveredERK7QString @ 4000 NONAME + _ZN17QGraphicsTextItem11qt_metacallEN11QMetaObject4CallEiPPv @ 4001 NONAME + _ZN17QGraphicsTextItem11qt_metacastEPKc @ 4002 NONAME + _ZN17QGraphicsTextItem11setDocumentEP13QTextDocument @ 4003 NONAME + _ZN17QGraphicsTextItem12focusInEventEP11QFocusEvent @ 4004 NONAME + _ZN17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4005 NONAME + _ZN17QGraphicsTextItem12setPlainTextERK7QString @ 4006 NONAME + _ZN17QGraphicsTextItem12setTextWidthEf @ 4007 NONAME + _ZN17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 4008 NONAME + _ZN17QGraphicsTextItem13focusOutEventEP11QFocusEvent @ 4009 NONAME + _ZN17QGraphicsTextItem13keyPressEventEP9QKeyEvent @ 4010 NONAME + _ZN17QGraphicsTextItem13linkActivatedERK7QString @ 4011 NONAME + _ZN17QGraphicsTextItem13setTextCursorERK11QTextCursor @ 4012 NONAME + _ZN17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 4013 NONAME + _ZN17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 4014 NONAME + _ZN17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 4015 NONAME + _ZN17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 4016 NONAME + _ZN17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 4017 NONAME + _ZN17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 4018 NONAME + _ZN17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent @ 4019 NONAME + _ZN17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent @ 4020 NONAME + _ZN17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 4021 NONAME + _ZN17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent @ 4022 NONAME + _ZN17QGraphicsTextItem16staticMetaObjectE @ 4023 NONAME DATA 16 + _ZN17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 4024 NONAME + _ZN17QGraphicsTextItem18setTabChangesFocusEb @ 4025 NONAME + _ZN17QGraphicsTextItem19getStaticMetaObjectEv @ 4026 NONAME + _ZN17QGraphicsTextItem19setDefaultTextColorERK6QColor @ 4027 NONAME + _ZN17QGraphicsTextItem20setOpenExternalLinksEb @ 4028 NONAME + _ZN17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 4029 NONAME + _ZN17QGraphicsTextItem23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 4030 NONAME + _ZN17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4031 NONAME + _ZN17QGraphicsTextItem7setFontERK5QFont @ 4032 NONAME + _ZN17QGraphicsTextItem7setHtmlERK7QString @ 4033 NONAME + _ZN17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent @ 4034 NONAME + _ZN17QGraphicsTextItemC1EP13QGraphicsItemP14QGraphicsScene @ 4035 NONAME + _ZN17QGraphicsTextItemC1ERK7QStringP13QGraphicsItemP14QGraphicsScene @ 4036 NONAME + _ZN17QGraphicsTextItemC2EP13QGraphicsItemP14QGraphicsScene @ 4037 NONAME + _ZN17QGraphicsTextItemC2ERK7QStringP13QGraphicsItemP14QGraphicsScene @ 4038 NONAME + _ZN17QGraphicsTextItemD0Ev @ 4039 NONAME + _ZN17QGraphicsTextItemD1Ev @ 4040 NONAME + _ZN17QGraphicsTextItemD2Ev @ 4041 NONAME + _ZN17QIconEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 4042 NONAME + _ZN17QIconEnginePlugin11qt_metacastEPKc @ 4043 NONAME + _ZN17QIconEnginePlugin16staticMetaObjectE @ 4044 NONAME DATA 16 + _ZN17QIconEnginePlugin19getStaticMetaObjectEv @ 4045 NONAME + _ZN17QIconEnginePluginC2EP7QObject @ 4046 NONAME + _ZN17QIconEnginePluginD0Ev @ 4047 NONAME + _ZN17QIconEnginePluginD1Ev @ 4048 NONAME + _ZN17QIconEnginePluginD2Ev @ 4049 NONAME + _ZN17QInputMethodEvent15setCommitStringERK7QStringii @ 4050 NONAME + _ZN17QInputMethodEventC1ERK7QStringRK5QListINS_9AttributeEE @ 4051 NONAME + _ZN17QInputMethodEventC1ERKS_ @ 4052 NONAME + _ZN17QInputMethodEventC1Ev @ 4053 NONAME + _ZN17QInputMethodEventC2ERK7QStringRK5QListINS_9AttributeEE @ 4054 NONAME + _ZN17QInputMethodEventC2ERKS_ @ 4055 NONAME + _ZN17QInputMethodEventC2Ev @ 4056 NONAME + _ZN17QPixmapBlurFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 4057 NONAME + _ZN17QPixmapBlurFilter11qt_metacastEPKc @ 4058 NONAME + _ZN17QPixmapBlurFilter11setBlurHintEN2Qt10RenderHintE @ 4059 NONAME + _ZN17QPixmapBlurFilter16staticMetaObjectE @ 4060 NONAME DATA 16 + _ZN17QPixmapBlurFilter19getStaticMetaObjectEv @ 4061 NONAME + _ZN17QPixmapBlurFilter9setRadiusEi @ 4062 NONAME + _ZN17QPixmapBlurFilterC1EP7QObject @ 4063 NONAME + _ZN17QPixmapBlurFilterC2EP7QObject @ 4064 NONAME + _ZN17QPixmapBlurFilterD0Ev @ 4065 NONAME + _ZN17QPixmapBlurFilterD1Ev @ 4066 NONAME + _ZN17QPixmapBlurFilterD2Ev @ 4067 NONAME + _ZN17QRasterPixmapData15setAlphaChannelERK7QPixmap @ 4068 NONAME + _ZN17QRasterPixmapData4fillERK6QColor @ 4069 NONAME + _ZN17QRasterPixmapData6bufferEv @ 4070 NONAME + _ZN17QRasterPixmapData6resizeEii @ 4071 NONAME + _ZN17QRasterPixmapData6scrollEiiRK5QRect @ 4072 NONAME + _ZN17QRasterPixmapData7setMaskERK7QBitmap @ 4073 NONAME + _ZN17QRasterPixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 4074 NONAME + _ZN17QRasterPixmapDataC1EN11QPixmapData9PixelTypeE @ 4075 NONAME + _ZN17QRasterPixmapDataC2EN11QPixmapData9PixelTypeE @ 4076 NONAME + _ZN17QRasterPixmapDataD0Ev @ 4077 NONAME + _ZN17QRasterPixmapDataD1Ev @ 4078 NONAME + _ZN17QRasterPixmapDataD2Ev @ 4079 NONAME + _ZN17QStyleOptionFrameC1Ei @ 4080 NONAME + _ZN17QStyleOptionFrameC1Ev @ 4081 NONAME + _ZN17QStyleOptionFrameC2Ei @ 4082 NONAME + _ZN17QStyleOptionFrameC2Ev @ 4083 NONAME + _ZN17QStyleOptionTabV2C1ERK15QStyleOptionTab @ 4084 NONAME + _ZN17QStyleOptionTabV2C1Ei @ 4085 NONAME + _ZN17QStyleOptionTabV2C1Ev @ 4086 NONAME + _ZN17QStyleOptionTabV2C2ERK15QStyleOptionTab @ 4087 NONAME + _ZN17QStyleOptionTabV2C2Ei @ 4088 NONAME + _ZN17QStyleOptionTabV2C2Ev @ 4089 NONAME + _ZN17QStyleOptionTabV2aSERK15QStyleOptionTab @ 4090 NONAME + _ZN17QStyleOptionTabV3C1ERK15QStyleOptionTab @ 4091 NONAME + _ZN17QStyleOptionTabV3C1Ei @ 4092 NONAME + _ZN17QStyleOptionTabV3C1Ev @ 4093 NONAME + _ZN17QStyleOptionTabV3C2ERK15QStyleOptionTab @ 4094 NONAME + _ZN17QStyleOptionTabV3C2Ei @ 4095 NONAME + _ZN17QStyleOptionTabV3C2Ev @ 4096 NONAME + _ZN17QStyleOptionTabV3aSERK15QStyleOptionTab @ 4097 NONAME + _ZN17QTextImageHandler14externalLoaderE @ 4098 NONAME DATA 4 + _ZN17QTextInlineObject10setDescentEf @ 4099 NONAME + _ZN17QTextInlineObject8setWidthEf @ 4100 NONAME + _ZN17QTextInlineObject9setAscentEf @ 4101 NONAME + _ZN18QCommandLinkButton10paintEventEP11QPaintEvent @ 4102 NONAME + _ZN18QCommandLinkButton11qt_metacallEN11QMetaObject4CallEiPPv @ 4103 NONAME + _ZN18QCommandLinkButton11qt_metacastEPKc @ 4104 NONAME + _ZN18QCommandLinkButton14setDescriptionERK7QString @ 4105 NONAME + _ZN18QCommandLinkButton16staticMetaObjectE @ 4106 NONAME DATA 16 + _ZN18QCommandLinkButton19getStaticMetaObjectEv @ 4107 NONAME + _ZN18QCommandLinkButton5eventEP6QEvent @ 4108 NONAME + _ZN18QCommandLinkButtonC1EP7QWidget @ 4109 NONAME + _ZN18QCommandLinkButtonC1ERK7QStringP7QWidget @ 4110 NONAME + _ZN18QCommandLinkButtonC1ERK7QStringS2_P7QWidget @ 4111 NONAME + _ZN18QCommandLinkButtonC2EP7QWidget @ 4112 NONAME + _ZN18QCommandLinkButtonC2ERK7QStringP7QWidget @ 4113 NONAME + _ZN18QCommandLinkButtonC2ERK7QStringS2_P7QWidget @ 4114 NONAME + _ZN18QDragResponseEventC1Eb @ 4115 NONAME + _ZN18QDragResponseEventC2Eb @ 4116 NONAME + _ZN18QDragResponseEventD0Ev @ 4117 NONAME + _ZN18QDragResponseEventD1Ev @ 4118 NONAME + _ZN18QDragResponseEventD2Ev @ 4119 NONAME + _ZN18QGestureRecognizer13createGestureEP7QObject @ 4120 NONAME + _ZN18QGestureRecognizer5resetEP8QGesture @ 4121 NONAME + _ZN18QGestureRecognizerC2Ev @ 4122 NONAME + _ZN18QGestureRecognizerD0Ev @ 4123 NONAME + _ZN18QGestureRecognizerD1Ev @ 4124 NONAME + _ZN18QGestureRecognizerD2Ev @ 4125 NONAME + _ZN18QGraphicsItemGroup10addToGroupEP13QGraphicsItem @ 4126 NONAME + _ZN18QGraphicsItemGroup15removeFromGroupEP13QGraphicsItem @ 4127 NONAME + _ZN18QGraphicsItemGroup5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4128 NONAME + _ZN18QGraphicsItemGroupC1EP13QGraphicsItemP14QGraphicsScene @ 4129 NONAME + _ZN18QGraphicsItemGroupC2EP13QGraphicsItemP14QGraphicsScene @ 4130 NONAME + _ZN18QGraphicsItemGroupD0Ev @ 4131 NONAME + _ZN18QGraphicsItemGroupD1Ev @ 4132 NONAME + _ZN18QGraphicsItemGroupD2Ev @ 4133 NONAME + _ZN18QGraphicsTransform11qt_metacallEN11QMetaObject4CallEiPPv @ 4134 NONAME + _ZN18QGraphicsTransform11qt_metacastEPKc @ 4135 NONAME + _ZN18QGraphicsTransform16staticMetaObjectE @ 4136 NONAME DATA 16 + _ZN18QGraphicsTransform19getStaticMetaObjectEv @ 4137 NONAME + _ZN18QGraphicsTransform6updateEv @ 4138 NONAME + _ZN18QGraphicsTransformC2EP7QObject @ 4139 NONAME + _ZN18QGraphicsTransformC2ER25QGraphicsTransformPrivateP7QObject @ 4140 NONAME + _ZN18QGraphicsTransformD0Ev @ 4141 NONAME + _ZN18QGraphicsTransformD1Ev @ 4142 NONAME + _ZN18QGraphicsTransformD2Ev @ 4143 NONAME + _ZN18QItemEditorFactory14defaultFactoryEv @ 4144 NONAME + _ZN18QItemEditorFactory14registerEditorEN8QVariant4TypeEP22QItemEditorCreatorBase @ 4145 NONAME + _ZN18QItemEditorFactory17setDefaultFactoryEPS_ @ 4146 NONAME + _ZN18QItemEditorFactoryD0Ev @ 4147 NONAME + _ZN18QItemEditorFactoryD1Ev @ 4148 NONAME + _ZN18QItemEditorFactoryD2Ev @ 4149 NONAME + _ZN18QStandardItemModel10insertRowsEiiRK11QModelIndex @ 4150 NONAME + _ZN18QStandardItemModel10removeRowsEiiRK11QModelIndex @ 4151 NONAME + _ZN18QStandardItemModel10takeColumnEi @ 4152 NONAME + _ZN18QStandardItemModel11itemChangedEP13QStandardItem @ 4153 NONAME + _ZN18QStandardItemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4154 NONAME + _ZN18QStandardItemModel11qt_metacastEPKc @ 4155 NONAME + _ZN18QStandardItemModel11setItemDataERK11QModelIndexRK4QMapIi8QVariantE @ 4156 NONAME + _ZN18QStandardItemModel11setRowCountEi @ 4157 NONAME + _ZN18QStandardItemModel11setSortRoleEi @ 4158 NONAME + _ZN18QStandardItemModel12appendColumnERK5QListIP13QStandardItemE @ 4159 NONAME + _ZN18QStandardItemModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 4160 NONAME + _ZN18QStandardItemModel12insertColumnEiRK5QListIP13QStandardItemE @ 4161 NONAME + _ZN18QStandardItemModel13insertColumnsEiiRK11QModelIndex @ 4162 NONAME + _ZN18QStandardItemModel13removeColumnsEiiRK11QModelIndex @ 4163 NONAME + _ZN18QStandardItemModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 4164 NONAME + _ZN18QStandardItemModel14setColumnCountEi @ 4165 NONAME + _ZN18QStandardItemModel16setItemPrototypeEPK13QStandardItem @ 4166 NONAME + _ZN18QStandardItemModel16staticMetaObjectE @ 4167 NONAME DATA 16 + _ZN18QStandardItemModel19getStaticMetaObjectEv @ 4168 NONAME + _ZN18QStandardItemModel21setVerticalHeaderItemEiP13QStandardItem @ 4169 NONAME + _ZN18QStandardItemModel22takeVerticalHeaderItemEi @ 4170 NONAME + _ZN18QStandardItemModel23setHorizontalHeaderItemEiP13QStandardItem @ 4171 NONAME + _ZN18QStandardItemModel23setVerticalHeaderLabelsERK11QStringList @ 4172 NONAME + _ZN18QStandardItemModel24takeHorizontalHeaderItemEi @ 4173 NONAME + _ZN18QStandardItemModel25setHorizontalHeaderLabelsERK11QStringList @ 4174 NONAME + _ZN18QStandardItemModel4sortEiN2Qt9SortOrderE @ 4175 NONAME + _ZN18QStandardItemModel5clearEv @ 4176 NONAME + _ZN18QStandardItemModel7setDataERK11QModelIndexRK8QVarianti @ 4177 NONAME + _ZN18QStandardItemModel7setItemEiiP13QStandardItem @ 4178 NONAME + _ZN18QStandardItemModel7takeRowEi @ 4179 NONAME + _ZN18QStandardItemModel8takeItemEii @ 4180 NONAME + _ZN18QStandardItemModel9appendRowERK5QListIP13QStandardItemE @ 4181 NONAME + _ZN18QStandardItemModel9insertRowEiRK5QListIP13QStandardItemE @ 4182 NONAME + _ZN18QStandardItemModelC1EP7QObject @ 4183 NONAME + _ZN18QStandardItemModelC1ER25QStandardItemModelPrivateP7QObject @ 4184 NONAME + _ZN18QStandardItemModelC1EiiP7QObject @ 4185 NONAME + _ZN18QStandardItemModelC2EP7QObject @ 4186 NONAME + _ZN18QStandardItemModelC2ER25QStandardItemModelPrivateP7QObject @ 4187 NONAME + _ZN18QStandardItemModelC2EiiP7QObject @ 4188 NONAME + _ZN18QStandardItemModelD0Ev @ 4189 NONAME + _ZN18QStandardItemModelD1Ev @ 4190 NONAME + _ZN18QStandardItemModelD2Ev @ 4191 NONAME + _ZN18QStyleOptionButtonC1Ei @ 4192 NONAME + _ZN18QStyleOptionButtonC1Ev @ 4193 NONAME + _ZN18QStyleOptionButtonC2Ei @ 4194 NONAME + _ZN18QStyleOptionButtonC2Ev @ 4195 NONAME + _ZN18QStyleOptionHeaderC1Ei @ 4196 NONAME + _ZN18QStyleOptionHeaderC1Ev @ 4197 NONAME + _ZN18QStyleOptionHeaderC2Ei @ 4198 NONAME + _ZN18QStyleOptionHeaderC2Ev @ 4199 NONAME + _ZN18QStyleOptionSliderC1Ei @ 4200 NONAME + _ZN18QStyleOptionSliderC1Ev @ 4201 NONAME + _ZN18QStyleOptionSliderC2Ei @ 4202 NONAME + _ZN18QStyleOptionSliderC2Ev @ 4203 NONAME + _ZN18QSyntaxHighlighter11qt_metacallEN11QMetaObject4CallEiPPv @ 4204 NONAME + _ZN18QSyntaxHighlighter11qt_metacastEPKc @ 4205 NONAME + _ZN18QSyntaxHighlighter11rehighlightEv @ 4206 NONAME + _ZN18QSyntaxHighlighter11setDocumentEP13QTextDocument @ 4207 NONAME + _ZN18QSyntaxHighlighter16rehighlightBlockERK10QTextBlock @ 4208 NONAME + _ZN18QSyntaxHighlighter16staticMetaObjectE @ 4209 NONAME DATA 16 + _ZN18QSyntaxHighlighter19getStaticMetaObjectEv @ 4210 NONAME + _ZN18QSyntaxHighlighter20setCurrentBlockStateEi @ 4211 NONAME + _ZN18QSyntaxHighlighter23setCurrentBlockUserDataEP18QTextBlockUserData @ 4212 NONAME + _ZN18QSyntaxHighlighter9setFormatEiiRK15QTextCharFormat @ 4213 NONAME + _ZN18QSyntaxHighlighter9setFormatEiiRK5QFont @ 4214 NONAME + _ZN18QSyntaxHighlighter9setFormatEiiRK6QColor @ 4215 NONAME + _ZN18QSyntaxHighlighterC2EP13QTextDocument @ 4216 NONAME + _ZN18QSyntaxHighlighterC2EP7QObject @ 4217 NONAME + _ZN18QSyntaxHighlighterC2EP9QTextEdit @ 4218 NONAME + _ZN18QSyntaxHighlighterD0Ev @ 4219 NONAME + _ZN18QSyntaxHighlighterD1Ev @ 4220 NONAME + _ZN18QSyntaxHighlighterD2Ev @ 4221 NONAME + _ZN18QTextBlockUserDataD0Ev @ 4222 NONAME + _ZN18QTextBlockUserDataD1Ev @ 4223 NONAME + _ZN18QTextBlockUserDataD2Ev @ 4224 NONAME + _ZN18QTextureGlyphCache8populateERK12QTextItemIntRK15QVarLengthArrayIjLi256EERKS3_I11QFixedPointLi256EE @ 4225 NONAME + _ZN19QAbstractProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4226 NONAME + _ZN19QAbstractProxyModel11qt_metacastEPKc @ 4227 NONAME + _ZN19QAbstractProxyModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 4228 NONAME + _ZN19QAbstractProxyModel14setSourceModelEP18QAbstractItemModel @ 4229 NONAME + _ZN19QAbstractProxyModel16staticMetaObjectE @ 4230 NONAME DATA 16 + _ZN19QAbstractProxyModel19getStaticMetaObjectEv @ 4231 NONAME + _ZN19QAbstractProxyModel6revertEv @ 4232 NONAME + _ZN19QAbstractProxyModel6submitEv @ 4233 NONAME + _ZN19QAbstractProxyModel7setDataERK11QModelIndexRK8QVarianti @ 4234 NONAME + _ZN19QAbstractProxyModelC2EP7QObject @ 4235 NONAME + _ZN19QAbstractProxyModelC2ER26QAbstractProxyModelPrivateP7QObject @ 4236 NONAME + _ZN19QAbstractProxyModelD0Ev @ 4237 NONAME + _ZN19QAbstractProxyModelD1Ev @ 4238 NONAME + _ZN19QAbstractProxyModelD2Ev @ 4239 NONAME + _ZN19QAbstractScrollArea10paintEventEP11QPaintEvent @ 4240 NONAME + _ZN19QAbstractScrollArea10wheelEventEP11QWheelEvent @ 4241 NONAME + _ZN19QAbstractScrollArea11qt_metacallEN11QMetaObject4CallEiPPv @ 4242 NONAME + _ZN19QAbstractScrollArea11qt_metacastEPKc @ 4243 NONAME + _ZN19QAbstractScrollArea11resizeEventEP12QResizeEvent @ 4244 NONAME + _ZN19QAbstractScrollArea11setViewportEP7QWidget @ 4245 NONAME + _ZN19QAbstractScrollArea13dragMoveEventEP14QDragMoveEvent @ 4246 NONAME + _ZN19QAbstractScrollArea13keyPressEventEP9QKeyEvent @ 4247 NONAME + _ZN19QAbstractScrollArea13setupViewportEP7QWidget @ 4248 NONAME + _ZN19QAbstractScrollArea13viewportEventEP6QEvent @ 4249 NONAME + _ZN19QAbstractScrollArea14dragEnterEventEP15QDragEnterEvent @ 4250 NONAME + _ZN19QAbstractScrollArea14dragLeaveEventEP15QDragLeaveEvent @ 4251 NONAME + _ZN19QAbstractScrollArea14mouseMoveEventEP11QMouseEvent @ 4252 NONAME + _ZN19QAbstractScrollArea15mousePressEventEP11QMouseEvent @ 4253 NONAME + _ZN19QAbstractScrollArea15setCornerWidgetEP7QWidget @ 4254 NONAME + _ZN19QAbstractScrollArea16contextMenuEventEP17QContextMenuEvent @ 4255 NONAME + _ZN19QAbstractScrollArea16scrollBarWidgetsE6QFlagsIN2Qt13AlignmentFlagEE @ 4256 NONAME + _ZN19QAbstractScrollArea16scrollContentsByEii @ 4257 NONAME + _ZN19QAbstractScrollArea16staticMetaObjectE @ 4258 NONAME DATA 16 + _ZN19QAbstractScrollArea17mouseReleaseEventEP11QMouseEvent @ 4259 NONAME + _ZN19QAbstractScrollArea18addScrollBarWidgetEP7QWidget6QFlagsIN2Qt13AlignmentFlagEE @ 4260 NONAME + _ZN19QAbstractScrollArea18setViewportMarginsEiiii @ 4261 NONAME + _ZN19QAbstractScrollArea19getStaticMetaObjectEv @ 4262 NONAME + _ZN19QAbstractScrollArea20setVerticalScrollBarEP10QScrollBar @ 4263 NONAME + _ZN19QAbstractScrollArea21mouseDoubleClickEventEP11QMouseEvent @ 4264 NONAME + _ZN19QAbstractScrollArea22setHorizontalScrollBarEP10QScrollBar @ 4265 NONAME + _ZN19QAbstractScrollArea26setVerticalScrollBarPolicyEN2Qt15ScrollBarPolicyE @ 4266 NONAME + _ZN19QAbstractScrollArea28setHorizontalScrollBarPolicyEN2Qt15ScrollBarPolicyE @ 4267 NONAME + _ZN19QAbstractScrollArea5eventEP6QEvent @ 4268 NONAME + _ZN19QAbstractScrollArea9dropEventEP10QDropEvent @ 4269 NONAME + _ZN19QAbstractScrollAreaC1EP7QWidget @ 4270 NONAME + _ZN19QAbstractScrollAreaC1ER26QAbstractScrollAreaPrivateP7QWidget @ 4271 NONAME + _ZN19QAbstractScrollAreaC2EP7QWidget @ 4272 NONAME + _ZN19QAbstractScrollAreaC2ER26QAbstractScrollAreaPrivateP7QWidget @ 4273 NONAME + _ZN19QAbstractScrollAreaD0Ev @ 4274 NONAME + _ZN19QAbstractScrollAreaD1Ev @ 4275 NONAME + _ZN19QAbstractScrollAreaD2Ev @ 4276 NONAME + _ZN19QApplicationPrivate10animate_uiE @ 4277 NONAME DATA 1 + _ZN19QApplicationPrivate10closePopupEP7QWidget @ 4278 NONAME + _ZN19QApplicationPrivate10enterModalEP7QWidget @ 4279 NONAME + _ZN19QApplicationPrivate10initializeEv @ 4280 NONAME + _ZN19QApplicationPrivate10leaveModalEP7QWidget @ 4281 NONAME + _ZN19QApplicationPrivate10modalStateEv @ 4282 NONAME + _ZN19QApplicationPrivate10styleSheetE @ 4283 NONAME DATA 4 + _ZN19QApplicationPrivate11main_widgetE @ 4284 NONAME DATA 4 + _ZN19QApplicationPrivate11widgetCountE @ 4285 NONAME DATA 1 + _ZN19QApplicationPrivate12animate_menuE @ 4286 NONAME DATA 1 + _ZN19QApplicationPrivate12fade_tooltipE @ 4287 NONAME DATA 1 + _ZN19QApplicationPrivate12focus_widgetE @ 4288 NONAME DATA 4 + _ZN19QApplicationPrivate12inputContextE @ 4289 NONAME DATA 4 + _ZN19QApplicationPrivate12oldEditFocusE @ 4290 NONAME DATA 4 + _ZN19QApplicationPrivate12popupWidgetsE @ 4291 NONAME DATA 4 + _ZN19QApplicationPrivate13active_windowE @ 4292 NONAME DATA 4 + _ZN19QApplicationPrivate13animate_comboE @ 4293 NONAME DATA 1 + _ZN19QApplicationPrivate13mouse_buttonsE @ 4294 NONAME DATA 4 + _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent @ 4295 NONAME + _ZN19QApplicationPrivate13scanCodeCacheE @ 4296 NONAME DATA 4 + _ZN19QApplicationPrivate13setSystemFontERK5QFont @ 4297 NONAME + _ZN19QApplicationPrivate13styleOverrideE @ 4298 NONAME DATA 4 + _ZN19QApplicationPrivate14autoSipEnabledE @ 4299 NONAME DATA 1 + _ZN19QApplicationPrivate14enterModal_sysEP7QWidget @ 4300 NONAME + _ZN19QApplicationPrivate14leaveModal_sysEP7QWidget @ 4301 NONAME + _ZN19QApplicationPrivate14navigationModeE @ 4302 NONAME DATA 4 + _ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Eb @ 4303 NONAME + _ZN19QApplicationPrivate14setFocusWidgetEP7QWidgetN2Qt11FocusReasonE @ 4304 NONAME + _ZN19QApplicationPrivate14shouldSetFocusEP7QWidgetN2Qt11FocusPolicyE @ 4305 NONAME + _ZN19QApplicationPrivate14tryModalHelperEP7QWidgetPS1_ @ 4306 NONAME + _ZN19QApplicationPrivate15animate_toolboxE @ 4307 NONAME DATA 1 + _ZN19QApplicationPrivate15animate_tooltipE @ 4308 NONAME DATA 1 + _ZN19QApplicationPrivate15currentPlatformEv @ 4309 NONAME + _ZN19QApplicationPrivate15desktopStyleKeyEv @ 4310 NONAME + _ZN19QApplicationPrivate15graphics_systemE @ 4311 NONAME DATA 4 + _ZN19QApplicationPrivate15process_cmdlineEv @ 4312 NONAME + _ZN19QApplicationPrivate16isBlockedByModalEP7QWidget @ 4313 NONAME + _ZN19QApplicationPrivate16load_testabilityE @ 4314 NONAME DATA 1 + _ZN19QApplicationPrivate16modifier_buttonsE @ 4315 NONAME DATA 4 + _ZN19QApplicationPrivate16setSystemPaletteERK8QPalette @ 4316 NONAME + _ZN19QApplicationPrivate17cleanupMultitouchEv @ 4317 NONAME + _ZN19QApplicationPrivate17cursor_flash_timeE @ 4318 NONAME DATA 4 + _ZN19QApplicationPrivate17leaveAfterReleaseE @ 4319 NONAME DATA 4 + _ZN19QApplicationPrivate17pickMouseReceiverEP7QWidgetRK6QPointRS2_N6QEvent4TypeE6QFlagsIN2Qt11MouseButtonEES1_S1_ @ 4320 NONAME + _ZN19QApplicationPrivate17setNavigationModeEN2Qt14NavigationModeE @ 4321 NONAME + _ZN19QApplicationPrivate17setPalette_helperERK8QPalettePKcb @ 4322 NONAME + _ZN19QApplicationPrivate18dispatchEnterLeaveEP7QWidgetS1_ @ 4323 NONAME + _ZN19QApplicationPrivate18resolveS60ScanCodeEij @ 4324 NONAME + _ZN19QApplicationPrivate18wheel_scroll_linesE @ 4325 NONAME DATA 4 + _ZN19QApplicationPrivate19app_compile_versionE @ 4326 NONAME DATA 4 + _ZN19QApplicationPrivate19hidden_focus_widgetE @ 4327 NONAME DATA 4 + _ZN19QApplicationPrivate19keyboard_input_timeE @ 4328 NONAME DATA 4 + _ZN19QApplicationPrivate20emitLastWindowClosedEv @ 4329 NONAME + _ZN19QApplicationPrivate20graphics_system_nameE @ 4330 NONAME DATA 4 + _ZN19QApplicationPrivate20initializeMultitouchEv @ 4331 NONAME + _ZN19QApplicationPrivate21cleanupMultitouch_sysEv @ 4332 NONAME + _ZN19QApplicationPrivate21createEventDispatcherEv @ 4333 NONAME + _ZN19QApplicationPrivate21obey_desktop_settingsE @ 4334 NONAME DATA 1 + _ZN19QApplicationPrivate22quitOnLastWindowClosedE @ 4335 NONAME DATA 1 + _ZN19QApplicationPrivate22translateRawTouchEventEP7QWidgetN11QTouchEvent10DeviceTypeERK5QListINS2_10TouchPointEE @ 4336 NONAME + _ZN19QApplicationPrivate23findClosestTouchPointIdERK7QPointF @ 4337 NONAME + _ZN19QApplicationPrivate23mouse_double_click_timeE @ 4338 NONAME DATA 4 + _ZN19QApplicationPrivate24initializeMultitouch_sysEv @ 4339 NONAME + _ZN19QApplicationPrivate25focusNextPrevChild_helperEP7QWidgetb @ 4340 NONAME + _ZN19QApplicationPrivate26updateTouchPointsForWidgetEP7QWidgetP11QTouchEvent @ 4341 NONAME + _ZN19QApplicationPrivate27initializeWidgetPaletteHashEv @ 4342 NONAME + _ZN19QApplicationPrivate31giveFocusAccordingToFocusPolicyEP7QWidgetN2Qt11FocusPolicyENS2_11FocusReasonE @ 4343 NONAME + _ZN19QApplicationPrivate4selfE @ 4344 NONAME DATA 4 + _ZN19QApplicationPrivate7app_palE @ 4345 NONAME DATA 4 + _ZN19QApplicationPrivate7set_palE @ 4346 NONAME DATA 4 + _ZN19QApplicationPrivate7sys_palE @ 4347 NONAME DATA 4 + _ZN19QApplicationPrivate8app_fontE @ 4348 NONAME DATA 4 + _ZN19QApplicationPrivate8app_iconE @ 4349 NONAME DATA 4 + _ZN19QApplicationPrivate8set_fontE @ 4350 NONAME DATA 4 + _ZN19QApplicationPrivate8sys_fontE @ 4351 NONAME DATA 4 + _ZN19QApplicationPrivate9app_cspecE @ 4352 NONAME DATA 4 + _ZN19QApplicationPrivate9app_strutE @ 4353 NONAME DATA 8 + _ZN19QApplicationPrivate9app_styleE @ 4354 NONAME DATA 4 + _ZN19QApplicationPrivate9constructEv @ 4355 NONAME + _ZN19QApplicationPrivate9fade_menuE @ 4356 NONAME DATA 1 + _ZN19QApplicationPrivate9openPopupEP7QWidget @ 4357 NONAME + _ZN19QApplicationPrivateC1ERiPPcN12QApplication4TypeE @ 4358 NONAME + _ZN19QApplicationPrivateC2ERiPPcN12QApplication4TypeE @ 4359 NONAME + _ZN19QApplicationPrivateD0Ev @ 4360 NONAME + _ZN19QApplicationPrivateD1Ev @ 4361 NONAME + _ZN19QApplicationPrivateD2Ev @ 4362 NONAME + _ZN19QCoeFepInputContext10Extension1ERi @ 4363 NONAME + _ZN19QCoeFepInputContext10applyHintsE6QFlagsIN2Qt15InputMethodHintEE @ 4364 NONAME + _ZN19QCoeFepInputContext11applyFormatEP5QListIN17QInputMethodEvent9AttributeEE @ 4365 NONAME + _ZN19QCoeFepInputContext11filterEventEPK6QEvent @ 4366 NONAME + _ZN19QCoeFepInputContext11qt_metacallEN11QMetaObject4CallEiPPv @ 4367 NONAME + _ZN19QCoeFepInputContext11qt_metacastEPKc @ 4368 NONAME + _ZN19QCoeFepInputContext11updateHintsEb @ 4369 NONAME + _ZN19QCoeFepInputContext12mouseHandlerEiP11QMouseEvent @ 4370 NONAME + _ZN19QCoeFepInputContext14setFocusWidgetEP7QWidget @ 4371 NONAME + _ZN19QCoeFepInputContext15MopSupplyObjectE8TTypeUid @ 4372 NONAME + _ZN19QCoeFepInputContext15widgetDestroyedEP7QWidget @ 4373 NONAME + _ZN19QCoeFepInputContext16staticMetaObjectE @ 4374 NONAME DATA 16 + _ZN19QCoeFepInputContext17inputCapabilitiesEv @ 4375 NONAME + _ZN19QCoeFepInputContext19CancelFepInlineEditEv @ 4376 NONAME + _ZN19QCoeFepInputContext19StartFepInlineEditLERK7TDesC16iiPK15MFormCustomDrawR29MFepInlineTextFormatRetrieverR39MFepPointerEventHandlerDuringInlineEdit @ 4377 NONAME + _ZN19QCoeFepInputContext19commitCurrentStringEb @ 4378 NONAME + _ZN19QCoeFepInputContext19getStaticMetaObjectEv @ 4379 NONAME + _ZN19QCoeFepInputContext20UpdateFepInlineTextLERK7TDesC16i @ 4380 NONAME + _ZN19QCoeFepInputContext21ReportAknEdStateEventEN19MAknEdStateObserver19EAknEdwinStateEventE @ 4381 NONAME + _ZN19QCoeFepInputContext22DoCommitFepInlineEditLEv @ 4382 NONAME + _ZN19QCoeFepInputContext25SetCursorSelectionForFepLERK16TCursorSelection @ 4383 NONAME + _ZN19QCoeFepInputContext29SetStateTransferingOwnershipLEPN33MCoeFepAwareTextEditor_Extension16CStateE4TUid @ 4384 NONAME + _ZN19QCoeFepInputContext29queueInputCapabilitiesChangedEv @ 4385 NONAME + _ZN19QCoeFepInputContext30ensureInputCapabilitiesChangedEv @ 4386 NONAME + _ZN19QCoeFepInputContext33SetInlineEditingCursorVisibilityLEi @ 4387 NONAME + _ZN19QCoeFepInputContext5StateE4TUid @ 4388 NONAME + _ZN19QCoeFepInputContext5resetEv @ 4389 NONAME + _ZN19QCoeFepInputContext6updateEv @ 4390 NONAME + _ZN19QCoeFepInputContext8languageEv @ 4391 NONAME + _ZN19QCoeFepInputContextC1EP7QObject @ 4392 NONAME + _ZN19QCoeFepInputContextC2EP7QObject @ 4393 NONAME + _ZN19QCoeFepInputContextD0Ev @ 4394 NONAME + _ZN19QCoeFepInputContextD1Ev @ 4395 NONAME + _ZN19QCoeFepInputContextD2Ev @ 4396 NONAME + _ZN19QEventDispatcherS6011qt_metacallEN11QMetaObject4CallEiPPv @ 4397 NONAME + _ZN19QEventDispatcherS6011qt_metacastEPKc @ 4398 NONAME + _ZN19QEventDispatcherS6013processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE @ 4399 NONAME + _ZN19QEventDispatcherS6014saveInputEventEP15QSymbianControlP7QWidgetP11QInputEvent @ 4400 NONAME + _ZN19QEventDispatcherS6016hasPendingEventsEv @ 4401 NONAME + _ZN19QEventDispatcherS6016staticMetaObjectE @ 4402 NONAME DATA 16 + _ZN19QEventDispatcherS6019getStaticMetaObjectEv @ 4403 NONAME + _ZN19QEventDispatcherS6023sendDeferredInputEventsEv @ 4404 NONAME + _ZN19QEventDispatcherS6026removeInputEventsForWidgetEP7QObject @ 4405 NONAME + _ZN19QEventDispatcherS60C1EP7QObject @ 4406 NONAME + _ZN19QEventDispatcherS60C2EP7QObject @ 4407 NONAME + _ZN19QEventDispatcherS60D0Ev @ 4408 NONAME + _ZN19QEventDispatcherS60D1Ev @ 4409 NONAME + _ZN19QEventDispatcherS60D2Ev @ 4410 NONAME + _ZN19QGraphicsBlurEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 4411 NONAME + _ZN19QGraphicsBlurEffect11qt_metacastEPKc @ 4412 NONAME + _ZN19QGraphicsBlurEffect11setBlurHintEN2Qt10RenderHintE @ 4413 NONAME + _ZN19QGraphicsBlurEffect13setBlurRadiusEi @ 4414 NONAME + _ZN19QGraphicsBlurEffect15blurHintChangedEN2Qt10RenderHintE @ 4415 NONAME + _ZN19QGraphicsBlurEffect16staticMetaObjectE @ 4416 NONAME DATA 16 + _ZN19QGraphicsBlurEffect17blurRadiusChangedEi @ 4417 NONAME + _ZN19QGraphicsBlurEffect19getStaticMetaObjectEv @ 4418 NONAME + _ZN19QGraphicsBlurEffect4drawEP8QPainterP21QGraphicsEffectSource @ 4419 NONAME + _ZN19QGraphicsBlurEffectC1EP7QObject @ 4420 NONAME + _ZN19QGraphicsBlurEffectC2EP7QObject @ 4421 NONAME + _ZN19QGraphicsBlurEffectD0Ev @ 4422 NONAME + _ZN19QGraphicsBlurEffectD1Ev @ 4423 NONAME + _ZN19QGraphicsBlurEffectD2Ev @ 4424 NONAME + _ZN19QGraphicsGridLayout10invalidateEv @ 4425 NONAME + _ZN19QGraphicsGridLayout10setSpacingEf @ 4426 NONAME + _ZN19QGraphicsGridLayout11setGeometryERK6QRectF @ 4427 NONAME + _ZN19QGraphicsGridLayout12setAlignmentEP19QGraphicsLayoutItem6QFlagsIN2Qt13AlignmentFlagEE @ 4428 NONAME + _ZN19QGraphicsGridLayout13setRowSpacingEif @ 4429 NONAME + _ZN19QGraphicsGridLayout15setRowAlignmentEi6QFlagsIN2Qt13AlignmentFlagEE @ 4430 NONAME + _ZN19QGraphicsGridLayout16setColumnSpacingEif @ 4431 NONAME + _ZN19QGraphicsGridLayout17setRowFixedHeightEif @ 4432 NONAME + _ZN19QGraphicsGridLayout18setColumnAlignmentEi6QFlagsIN2Qt13AlignmentFlagEE @ 4433 NONAME + _ZN19QGraphicsGridLayout18setVerticalSpacingEf @ 4434 NONAME + _ZN19QGraphicsGridLayout19setColumnFixedWidthEif @ 4435 NONAME + _ZN19QGraphicsGridLayout19setRowMaximumHeightEif @ 4436 NONAME + _ZN19QGraphicsGridLayout19setRowMinimumHeightEif @ 4437 NONAME + _ZN19QGraphicsGridLayout19setRowStretchFactorEii @ 4438 NONAME + _ZN19QGraphicsGridLayout20setHorizontalSpacingEf @ 4439 NONAME + _ZN19QGraphicsGridLayout21setColumnMaximumWidthEif @ 4440 NONAME + _ZN19QGraphicsGridLayout21setColumnMinimumWidthEif @ 4441 NONAME + _ZN19QGraphicsGridLayout21setRowPreferredHeightEif @ 4442 NONAME + _ZN19QGraphicsGridLayout22setColumnStretchFactorEii @ 4443 NONAME + _ZN19QGraphicsGridLayout23setColumnPreferredWidthEif @ 4444 NONAME + _ZN19QGraphicsGridLayout7addItemEP19QGraphicsLayoutItemiiii6QFlagsIN2Qt13AlignmentFlagEE @ 4445 NONAME + _ZN19QGraphicsGridLayout8removeAtEi @ 4446 NONAME + _ZN19QGraphicsGridLayoutC1EP19QGraphicsLayoutItem @ 4447 NONAME + _ZN19QGraphicsGridLayoutC2EP19QGraphicsLayoutItem @ 4448 NONAME + _ZN19QGraphicsGridLayoutD0Ev @ 4449 NONAME + _ZN19QGraphicsGridLayoutD1Ev @ 4450 NONAME + _ZN19QGraphicsGridLayoutD2Ev @ 4451 NONAME + _ZN19QGraphicsLayoutItem11setGeometryERK6QRectF @ 4452 NONAME + _ZN19QGraphicsLayoutItem13setSizePolicyEN11QSizePolicy6PolicyES1_NS0_11ControlTypeE @ 4453 NONAME + _ZN19QGraphicsLayoutItem13setSizePolicyERK11QSizePolicy @ 4454 NONAME + _ZN19QGraphicsLayoutItem14setMaximumSizeERK6QSizeF @ 4455 NONAME + _ZN19QGraphicsLayoutItem14setMinimumSizeERK6QSizeF @ 4456 NONAME + _ZN19QGraphicsLayoutItem14updateGeometryEv @ 4457 NONAME + _ZN19QGraphicsLayoutItem15setGraphicsItemEP13QGraphicsItem @ 4458 NONAME + _ZN19QGraphicsLayoutItem15setMaximumWidthEf @ 4459 NONAME + _ZN19QGraphicsLayoutItem15setMinimumWidthEf @ 4460 NONAME + _ZN19QGraphicsLayoutItem16setMaximumHeightEf @ 4461 NONAME + _ZN19QGraphicsLayoutItem16setMinimumHeightEf @ 4462 NONAME + _ZN19QGraphicsLayoutItem16setOwnedByLayoutEb @ 4463 NONAME + _ZN19QGraphicsLayoutItem16setPreferredSizeERK6QSizeF @ 4464 NONAME + _ZN19QGraphicsLayoutItem17setPreferredWidthEf @ 4465 NONAME + _ZN19QGraphicsLayoutItem18setPreferredHeightEf @ 4466 NONAME + _ZN19QGraphicsLayoutItem19setParentLayoutItemEPS_ @ 4467 NONAME + _ZN19QGraphicsLayoutItemC2EPS_b @ 4468 NONAME + _ZN19QGraphicsLayoutItemC2ER26QGraphicsLayoutItemPrivate @ 4469 NONAME + _ZN19QGraphicsLayoutItemD0Ev @ 4470 NONAME + _ZN19QGraphicsLayoutItemD1Ev @ 4471 NONAME + _ZN19QGraphicsLayoutItemD2Ev @ 4472 NONAME + _ZN19QGraphicsPixmapItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4473 NONAME + _ZN19QGraphicsPixmapItem12setShapeModeENS_9ShapeModeE @ 4474 NONAME + _ZN19QGraphicsPixmapItem21setTransformationModeEN2Qt18TransformationModeE @ 4475 NONAME + _ZN19QGraphicsPixmapItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4476 NONAME + _ZN19QGraphicsPixmapItem9setOffsetERK7QPointF @ 4477 NONAME + _ZN19QGraphicsPixmapItem9setPixmapERK7QPixmap @ 4478 NONAME + _ZN19QGraphicsPixmapItemC1EP13QGraphicsItemP14QGraphicsScene @ 4479 NONAME + _ZN19QGraphicsPixmapItemC1ERK7QPixmapP13QGraphicsItemP14QGraphicsScene @ 4480 NONAME + _ZN19QGraphicsPixmapItemC2EP13QGraphicsItemP14QGraphicsScene @ 4481 NONAME + _ZN19QGraphicsPixmapItemC2ERK7QPixmapP13QGraphicsItemP14QGraphicsScene @ 4482 NONAME + _ZN19QGraphicsPixmapItemD0Ev @ 4483 NONAME + _ZN19QGraphicsPixmapItemD1Ev @ 4484 NONAME + _ZN19QGraphicsPixmapItemD2Ev @ 4485 NONAME + _ZN19QGraphicsSceneEvent9setWidgetEP7QWidget @ 4486 NONAME + _ZN19QGraphicsSceneEventC1EN6QEvent4TypeE @ 4487 NONAME + _ZN19QGraphicsSceneEventC1ER26QGraphicsSceneEventPrivateN6QEvent4TypeE @ 4488 NONAME + _ZN19QGraphicsSceneEventC2EN6QEvent4TypeE @ 4489 NONAME + _ZN19QGraphicsSceneEventC2ER26QGraphicsSceneEventPrivateN6QEvent4TypeE @ 4490 NONAME + _ZN19QGraphicsSceneEventD0Ev @ 4491 NONAME + _ZN19QGraphicsSceneEventD1Ev @ 4492 NONAME + _ZN19QGraphicsSceneEventD2Ev @ 4493 NONAME + _ZN19QIconEnginePluginV211qt_metacallEN11QMetaObject4CallEiPPv @ 4494 NONAME + _ZN19QIconEnginePluginV211qt_metacastEPKc @ 4495 NONAME + _ZN19QIconEnginePluginV216staticMetaObjectE @ 4496 NONAME DATA 16 + _ZN19QIconEnginePluginV219getStaticMetaObjectEv @ 4497 NONAME + _ZN19QIconEnginePluginV2C2EP7QObject @ 4498 NONAME + _ZN19QIconEnginePluginV2D0Ev @ 4499 NONAME + _ZN19QIconEnginePluginV2D1Ev @ 4500 NONAME + _ZN19QIconEnginePluginV2D2Ev @ 4501 NONAME + _ZN19QInputContextPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 4502 NONAME + _ZN19QInputContextPlugin11qt_metacastEPKc @ 4503 NONAME + _ZN19QInputContextPlugin16staticMetaObjectE @ 4504 NONAME DATA 16 + _ZN19QInputContextPlugin19getStaticMetaObjectEv @ 4505 NONAME + _ZN19QInputContextPluginC2EP7QObject @ 4506 NONAME + _ZN19QInputContextPluginD0Ev @ 4507 NONAME + _ZN19QInputContextPluginD1Ev @ 4508 NONAME + _ZN19QInputContextPluginD2Ev @ 4509 NONAME + _ZN19QItemSelectionModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4510 NONAME + _ZN19QItemSelectionModel11qt_metacastEPKc @ 4511 NONAME + _ZN19QItemSelectionModel14clearSelectionEv @ 4512 NONAME + _ZN19QItemSelectionModel14currentChangedERK11QModelIndexS2_ @ 4513 NONAME + _ZN19QItemSelectionModel15setCurrentIndexERK11QModelIndex6QFlagsINS_13SelectionFlagEE @ 4514 NONAME + _ZN19QItemSelectionModel16selectionChangedERK14QItemSelectionS2_ @ 4515 NONAME + _ZN19QItemSelectionModel16staticMetaObjectE @ 4516 NONAME DATA 16 + _ZN19QItemSelectionModel17currentRowChangedERK11QModelIndexS2_ @ 4517 NONAME + _ZN19QItemSelectionModel19getStaticMetaObjectEv @ 4518 NONAME + _ZN19QItemSelectionModel20currentColumnChangedERK11QModelIndexS2_ @ 4519 NONAME + _ZN19QItemSelectionModel20emitSelectionChangedERK14QItemSelectionS2_ @ 4520 NONAME + _ZN19QItemSelectionModel5clearEv @ 4521 NONAME + _ZN19QItemSelectionModel5resetEv @ 4522 NONAME + _ZN19QItemSelectionModel6selectERK11QModelIndex6QFlagsINS_13SelectionFlagEE @ 4523 NONAME + _ZN19QItemSelectionModel6selectERK14QItemSelection6QFlagsINS_13SelectionFlagEE @ 4524 NONAME + _ZN19QItemSelectionModelC1EP18QAbstractItemModel @ 4525 NONAME + _ZN19QItemSelectionModelC1EP18QAbstractItemModelP7QObject @ 4526 NONAME + _ZN19QItemSelectionModelC1ER26QItemSelectionModelPrivateP18QAbstractItemModel @ 4527 NONAME + _ZN19QItemSelectionModelC2EP18QAbstractItemModel @ 4528 NONAME + _ZN19QItemSelectionModelC2EP18QAbstractItemModelP7QObject @ 4529 NONAME + _ZN19QItemSelectionModelC2ER26QItemSelectionModelPrivateP18QAbstractItemModel @ 4530 NONAME + _ZN19QItemSelectionModelD0Ev @ 4531 NONAME + _ZN19QItemSelectionModelD1Ev @ 4532 NONAME + _ZN19QItemSelectionModelD2Ev @ 4533 NONAME + _ZN19QKeyEventTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 4534 NONAME + _ZN19QKeyEventTransition11qt_metacastEPKc @ 4535 NONAME + _ZN19QKeyEventTransition12onTransitionEP6QEvent @ 4536 NONAME + _ZN19QKeyEventTransition16setModifiersMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 4537 NONAME + _ZN19QKeyEventTransition16staticMetaObjectE @ 4538 NONAME DATA 16 + _ZN19QKeyEventTransition19getStaticMetaObjectEv @ 4539 NONAME + _ZN19QKeyEventTransition6setKeyEi @ 4540 NONAME + _ZN19QKeyEventTransition9eventTestEP6QEvent @ 4541 NONAME + _ZN19QKeyEventTransitionC1EP6QState @ 4542 NONAME + _ZN19QKeyEventTransitionC1EP7QObjectN6QEvent4TypeEiP6QState @ 4543 NONAME + _ZN19QKeyEventTransitionC2EP6QState @ 4544 NONAME + _ZN19QKeyEventTransitionC2EP7QObjectN6QEvent4TypeEiP6QState @ 4545 NONAME + _ZN19QKeyEventTransitionD0Ev @ 4546 NONAME + _ZN19QKeyEventTransitionD1Ev @ 4547 NONAME + _ZN19QKeyEventTransitionD2Ev @ 4548 NONAME + _ZN19QPainterPathStroker11setCapStyleEN2Qt11PenCapStyleE @ 4549 NONAME + _ZN19QPainterPathStroker12setJoinStyleEN2Qt12PenJoinStyleE @ 4550 NONAME + _ZN19QPainterPathStroker13setDashOffsetEf @ 4551 NONAME + _ZN19QPainterPathStroker13setMiterLimitEf @ 4552 NONAME + _ZN19QPainterPathStroker14setDashPatternEN2Qt8PenStyleE @ 4553 NONAME + _ZN19QPainterPathStroker14setDashPatternERK7QVectorIfE @ 4554 NONAME + _ZN19QPainterPathStroker17setCurveThresholdEf @ 4555 NONAME + _ZN19QPainterPathStroker8setWidthEf @ 4556 NONAME + _ZN19QPainterPathStrokerC1Ev @ 4557 NONAME + _ZN19QPainterPathStrokerC2Ev @ 4558 NONAME + _ZN19QPainterPathStrokerD1Ev @ 4559 NONAME + _ZN19QPainterPathStrokerD2Ev @ 4560 NONAME + _ZN19QS60MainApplication15CreateDocumentLEv @ 4561 NONAME + _ZN19QS60MainApplicationC1Ev @ 4562 NONAME + _ZN19QS60MainApplicationC2Ev @ 4563 NONAME + _ZN19QS60MainApplicationD0Ev @ 4564 NONAME + _ZN19QS60MainApplicationD1Ev @ 4565 NONAME + _ZN19QS60MainApplicationD2Ev @ 4566 NONAME + _ZN19QStyleOptionComplexC1Eii @ 4567 NONAME + _ZN19QStyleOptionComplexC2Eii @ 4568 NONAME + _ZN19QStyleOptionFrameV2C1ERK17QStyleOptionFrame @ 4569 NONAME + _ZN19QStyleOptionFrameV2C1Ei @ 4570 NONAME + _ZN19QStyleOptionFrameV2C1Ev @ 4571 NONAME + _ZN19QStyleOptionFrameV2C2ERK17QStyleOptionFrame @ 4572 NONAME + _ZN19QStyleOptionFrameV2C2Ei @ 4573 NONAME + _ZN19QStyleOptionFrameV2C2Ev @ 4574 NONAME + _ZN19QStyleOptionFrameV2aSERK17QStyleOptionFrame @ 4575 NONAME + _ZN19QStyleOptionFrameV3C1ERK17QStyleOptionFrame @ 4576 NONAME + _ZN19QStyleOptionFrameV3C1Ei @ 4577 NONAME + _ZN19QStyleOptionFrameV3C1Ev @ 4578 NONAME + _ZN19QStyleOptionFrameV3C2ERK17QStyleOptionFrame @ 4579 NONAME + _ZN19QStyleOptionFrameV3C2Ei @ 4580 NONAME + _ZN19QStyleOptionFrameV3C2Ev @ 4581 NONAME + _ZN19QStyleOptionFrameV3aSERK17QStyleOptionFrame @ 4582 NONAME + _ZN19QStyleOptionSpinBoxC1Ei @ 4583 NONAME + _ZN19QStyleOptionSpinBoxC1Ev @ 4584 NONAME + _ZN19QStyleOptionSpinBoxC2Ei @ 4585 NONAME + _ZN19QStyleOptionSpinBoxC2Ev @ 4586 NONAME + _ZN19QStyleOptionToolBarC1Ei @ 4587 NONAME + _ZN19QStyleOptionToolBarC1Ev @ 4588 NONAME + _ZN19QStyleOptionToolBarC2Ei @ 4589 NONAME + _ZN19QStyleOptionToolBarC2Ev @ 4590 NONAME + _ZN19QStyleOptionToolBoxC1Ei @ 4591 NONAME + _ZN19QStyleOptionToolBoxC1Ev @ 4592 NONAME + _ZN19QStyleOptionToolBoxC2Ei @ 4593 NONAME + _ZN19QStyleOptionToolBoxC2Ev @ 4594 NONAME + _ZN19QStyledItemDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex @ 4595 NONAME + _ZN19QStyledItemDelegate11eventFilterEP7QObjectP6QEvent @ 4596 NONAME + _ZN19QStyledItemDelegate11qt_metacallEN11QMetaObject4CallEiPPv @ 4597 NONAME + _ZN19QStyledItemDelegate11qt_metacastEPKc @ 4598 NONAME + _ZN19QStyledItemDelegate16staticMetaObjectE @ 4599 NONAME DATA 16 + _ZN19QStyledItemDelegate19getStaticMetaObjectEv @ 4600 NONAME + _ZN19QStyledItemDelegate20setItemEditorFactoryEP18QItemEditorFactory @ 4601 NONAME + _ZN19QStyledItemDelegateC1EP7QObject @ 4602 NONAME + _ZN19QStyledItemDelegateC2EP7QObject @ 4603 NONAME + _ZN19QStyledItemDelegateD0Ev @ 4604 NONAME + _ZN19QStyledItemDelegateD1Ev @ 4605 NONAME + _ZN19QStyledItemDelegateD2Ev @ 4606 NONAME + _ZN19QTextDocumentWriter11setFileNameERK7QString @ 4607 NONAME + _ZN19QTextDocumentWriter24supportedDocumentFormatsEv @ 4608 NONAME + _ZN19QTextDocumentWriter5writeEPK13QTextDocument @ 4609 NONAME + _ZN19QTextDocumentWriter5writeERK21QTextDocumentFragment @ 4610 NONAME + _ZN19QTextDocumentWriter8setCodecEP10QTextCodec @ 4611 NONAME + _ZN19QTextDocumentWriter9setDeviceEP9QIODevice @ 4612 NONAME + _ZN19QTextDocumentWriter9setFormatERK10QByteArray @ 4613 NONAME + _ZN19QTextDocumentWriterC1EP9QIODeviceRK10QByteArray @ 4614 NONAME + _ZN19QTextDocumentWriterC1ERK7QStringRK10QByteArray @ 4615 NONAME + _ZN19QTextDocumentWriterC1Ev @ 4616 NONAME + _ZN19QTextDocumentWriterC2EP9QIODeviceRK10QByteArray @ 4617 NONAME + _ZN19QTextDocumentWriterC2ERK7QStringRK10QByteArray @ 4618 NONAME + _ZN19QTextDocumentWriterC2Ev @ 4619 NONAME + _ZN19QTextDocumentWriterD1Ev @ 4620 NONAME + _ZN19QTextDocumentWriterD2Ev @ 4621 NONAME + _ZN19QToolBarChangeEventC1Eb @ 4622 NONAME + _ZN19QToolBarChangeEventC2Eb @ 4623 NONAME + _ZN19QToolBarChangeEventD0Ev @ 4624 NONAME + _ZN19QToolBarChangeEventD1Ev @ 4625 NONAME + _ZN19QToolBarChangeEventD2Ev @ 4626 NONAME + _ZN20QGraphicsBloomEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 4627 NONAME + _ZN20QGraphicsBloomEffect11qt_metacastEPKc @ 4628 NONAME + _ZN20QGraphicsBloomEffect11setBlurHintEN2Qt10RenderHintE @ 4629 NONAME + _ZN20QGraphicsBloomEffect11setStrengthEf @ 4630 NONAME + _ZN20QGraphicsBloomEffect13setBlurRadiusEi @ 4631 NONAME + _ZN20QGraphicsBloomEffect13setBrightnessEi @ 4632 NONAME + _ZN20QGraphicsBloomEffect15blurHintChangedEN2Qt10RenderHintE @ 4633 NONAME + _ZN20QGraphicsBloomEffect15strengthChangedEf @ 4634 NONAME + _ZN20QGraphicsBloomEffect16staticMetaObjectE @ 4635 NONAME DATA 16 + _ZN20QGraphicsBloomEffect17blurRadiusChangedEi @ 4636 NONAME + _ZN20QGraphicsBloomEffect17brightnessChangedEi @ 4637 NONAME + _ZN20QGraphicsBloomEffect19getStaticMetaObjectEv @ 4638 NONAME + _ZN20QGraphicsBloomEffect4drawEP8QPainterP21QGraphicsEffectSource @ 4639 NONAME + _ZN20QGraphicsBloomEffectC1EP7QObject @ 4640 NONAME + _ZN20QGraphicsBloomEffectC2EP7QObject @ 4641 NONAME + _ZN20QGraphicsBloomEffectD0Ev @ 4642 NONAME + _ZN20QGraphicsBloomEffectD1Ev @ 4643 NONAME + _ZN20QGraphicsBloomEffectD2Ev @ 4644 NONAME + _ZN20QGraphicsEllipseItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4645 NONAME + _ZN20QGraphicsEllipseItem12setSpanAngleEi @ 4646 NONAME + _ZN20QGraphicsEllipseItem13setStartAngleEi @ 4647 NONAME + _ZN20QGraphicsEllipseItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4648 NONAME + _ZN20QGraphicsEllipseItem7setRectERK6QRectF @ 4649 NONAME + _ZN20QGraphicsEllipseItemC1EP13QGraphicsItemP14QGraphicsScene @ 4650 NONAME + _ZN20QGraphicsEllipseItemC1ERK6QRectFP13QGraphicsItemP14QGraphicsScene @ 4651 NONAME + _ZN20QGraphicsEllipseItemC1EffffP13QGraphicsItemP14QGraphicsScene @ 4652 NONAME + _ZN20QGraphicsEllipseItemC2EP13QGraphicsItemP14QGraphicsScene @ 4653 NONAME + _ZN20QGraphicsEllipseItemC2ERK6QRectFP13QGraphicsItemP14QGraphicsScene @ 4654 NONAME + _ZN20QGraphicsEllipseItemC2EffffP13QGraphicsItemP14QGraphicsScene @ 4655 NONAME + _ZN20QGraphicsEllipseItemD0Ev @ 4656 NONAME + _ZN20QGraphicsEllipseItemD1Ev @ 4657 NONAME + _ZN20QGraphicsEllipseItemD2Ev @ 4658 NONAME + _ZN20QGraphicsItemPrivate11removeChildEP13QGraphicsItem @ 4659 NONAME + _ZN20QGraphicsItemPrivate11setSubFocusEP13QGraphicsItem @ 4660 NONAME + _ZN20QGraphicsItemPrivate12remapItemPosEP6QEventP13QGraphicsItem @ 4661 NONAME + _ZN20QGraphicsItemPrivate12resolveDepthEv @ 4662 NONAME + _ZN20QGraphicsItemPrivate12setPosHelperERK7QPointF @ 4663 NONAME + _ZN20QGraphicsItemPrivate13clearSubFocusEP13QGraphicsItem @ 4664 NONAME + _ZN20QGraphicsItemPrivate14setFocusHelperEN2Qt11FocusReasonEb @ 4665 NONAME + _ZN20QGraphicsItemPrivate15resetFocusProxyEv @ 4666 NONAME + _ZN20QGraphicsItemPrivate16setEnabledHelperEbbb @ 4667 NONAME + _ZN20QGraphicsItemPrivate16setVisibleHelperEbbb @ 4668 NONAME + _ZN20QGraphicsItemPrivate18setIsMemberOfGroupEb @ 4669 NONAME + _ZN20QGraphicsItemPrivate18setTransformHelperERK10QTransform @ 4670 NONAME + _ZN20QGraphicsItemPrivate18subFocusItemChangeEv @ 4671 NONAME + _ZN20QGraphicsItemPrivate18updateAncestorFlagEN13QGraphicsItem16GraphicsItemFlagENS_12AncestorFlagEbb @ 4672 NONAME + _ZN20QGraphicsItemPrivate19setParentItemHelperEP13QGraphicsItem @ 4673 NONAME + _ZN20QGraphicsItemPrivate20removeExtraItemCacheEv @ 4674 NONAME + _ZN20QGraphicsItemPrivate23appendGraphicsTransformEP18QGraphicsTransform @ 4675 NONAME + _ZN20QGraphicsItemPrivate25movableAncestorIsSelectedEPK13QGraphicsItem @ 4676 NONAME + _ZN20QGraphicsItemPrivate26childrenBoundingRectHelperEP10QTransformP6QRectF @ 4677 NONAME + _ZN20QGraphicsItemPrivate26invalidateDepthRecursivelyEv @ 4678 NONAME + _ZN20QGraphicsItemPrivate28ensureSequentialSiblingIndexEv @ 4679 NONAME + _ZN20QGraphicsItemPrivate29ensureSceneTransformRecursiveEPP13QGraphicsItem @ 4680 NONAME + _ZN20QGraphicsItemPrivate30updateSceneTransformFromParentEv @ 4681 NONAME + _ZN20QGraphicsItemPrivate33setEmptyCachedClipPathRecursivelyERK6QRectF @ 4682 NONAME + _ZN20QGraphicsItemPrivate35invalidateCachedClipPathRecursivelyEbRK6QRectF @ 4683 NONAME + _ZN20QGraphicsItemPrivate36updateCachedClipPathFromSetPosHelperERK7QPointF @ 4684 NONAME + _ZN20QGraphicsItemPrivate8addChildEP13QGraphicsItem @ 4685 NONAME + _ZN20QGraphicsPolygonItem10setPolygonERK9QPolygonF @ 4686 NONAME + _ZN20QGraphicsPolygonItem11setFillRuleEN2Qt8FillRuleE @ 4687 NONAME + _ZN20QGraphicsPolygonItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4688 NONAME + _ZN20QGraphicsPolygonItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4689 NONAME + _ZN20QGraphicsPolygonItemC1EP13QGraphicsItemP14QGraphicsScene @ 4690 NONAME + _ZN20QGraphicsPolygonItemC1ERK9QPolygonFP13QGraphicsItemP14QGraphicsScene @ 4691 NONAME + _ZN20QGraphicsPolygonItemC2EP13QGraphicsItemP14QGraphicsScene @ 4692 NONAME + _ZN20QGraphicsPolygonItemC2ERK9QPolygonFP13QGraphicsItemP14QGraphicsScene @ 4693 NONAME + _ZN20QGraphicsPolygonItemD0Ev @ 4694 NONAME + _ZN20QGraphicsPolygonItemD1Ev @ 4695 NONAME + _ZN20QGraphicsPolygonItemD2Ev @ 4696 NONAME + _ZN20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 4697 NONAME + _ZN20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent @ 4698 NONAME + _ZN20QGraphicsProxyWidget11eventFilterEP7QObjectP6QEvent @ 4699 NONAME + _ZN20QGraphicsProxyWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 4700 NONAME + _ZN20QGraphicsProxyWidget11qt_metacastEPKc @ 4701 NONAME + _ZN20QGraphicsProxyWidget11resizeEventEP25QGraphicsSceneResizeEvent @ 4702 NONAME + _ZN20QGraphicsProxyWidget11setGeometryERK6QRectF @ 4703 NONAME + _ZN20QGraphicsProxyWidget12focusInEventEP11QFocusEvent @ 4704 NONAME + _ZN20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 4705 NONAME + _ZN20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent @ 4706 NONAME + _ZN20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent @ 4707 NONAME + _ZN20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 4708 NONAME + _ZN20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 4709 NONAME + _ZN20QGraphicsProxyWidget14grabMouseEventEP6QEvent @ 4710 NONAME + _ZN20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 4711 NONAME + _ZN20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 4712 NONAME + _ZN20QGraphicsProxyWidget14newProxyWidgetEPK7QWidget @ 4713 NONAME + _ZN20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 4714 NONAME + _ZN20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 4715 NONAME + _ZN20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent @ 4716 NONAME + _ZN20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent @ 4717 NONAME + _ZN20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 4718 NONAME + _ZN20QGraphicsProxyWidget16staticMetaObjectE @ 4719 NONAME DATA 16 + _ZN20QGraphicsProxyWidget16ungrabMouseEventEP6QEvent @ 4720 NONAME + _ZN20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 4721 NONAME + _ZN20QGraphicsProxyWidget18focusNextPrevChildEb @ 4722 NONAME + _ZN20QGraphicsProxyWidget19getStaticMetaObjectEv @ 4723 NONAME + _ZN20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 4724 NONAME + _ZN20QGraphicsProxyWidget25createProxyForChildWidgetEP7QWidget @ 4725 NONAME + _ZN20QGraphicsProxyWidget5eventEP6QEvent @ 4726 NONAME + _ZN20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 4727 NONAME + _ZN20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent @ 4728 NONAME + _ZN20QGraphicsProxyWidget9hideEventEP10QHideEvent @ 4729 NONAME + _ZN20QGraphicsProxyWidget9setWidgetEP7QWidget @ 4730 NONAME + _ZN20QGraphicsProxyWidget9showEventEP10QShowEvent @ 4731 NONAME + _ZN20QGraphicsProxyWidgetC1EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 4732 NONAME + _ZN20QGraphicsProxyWidgetC2EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 4733 NONAME + _ZN20QGraphicsProxyWidgetD0Ev @ 4734 NONAME + _ZN20QGraphicsProxyWidgetD1Ev @ 4735 NONAME + _ZN20QGraphicsProxyWidgetD2Ev @ 4736 NONAME + _ZN20QInputContextFactory11descriptionERK7QString @ 4737 NONAME + _ZN20QInputContextFactory11displayNameERK7QString @ 4738 NONAME + _ZN20QInputContextFactory4keysEv @ 4739 NONAME + _ZN20QInputContextFactory6createERK7QStringP7QObject @ 4740 NONAME + _ZN20QInputContextFactory9languagesERK7QString @ 4741 NONAME + _ZN20QPaintBufferResource11qt_metacallEN11QMetaObject4CallEiPPv @ 4742 NONAME + _ZN20QPaintBufferResource11qt_metacastEPKc @ 4743 NONAME + _ZN20QPaintBufferResource16staticMetaObjectE @ 4744 NONAME DATA 16 + _ZN20QPaintBufferResource19getStaticMetaObjectEv @ 4745 NONAME + _ZN20QPaintBufferResource5valueEPK19QPaintBufferPrivate @ 4746 NONAME + _ZN20QPaintBufferResource6insertEPK19QPaintBufferPrivatePv @ 4747 NONAME + _ZN20QPaintBufferResource6removeEPK19QPaintBufferPrivate @ 4748 NONAME + _ZN20QPaintBufferResourceC1EPFvPvEP7QObject @ 4749 NONAME + _ZN20QPaintBufferResourceC2EPFvPvEP7QObject @ 4750 NONAME + _ZN20QPaintBufferResourceD0Ev @ 4751 NONAME + _ZN20QPaintBufferResourceD1Ev @ 4752 NONAME + _ZN20QPaintBufferResourceD2Ev @ 4753 NONAME + _ZN20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture @ 4754 NONAME + _ZN20QPictureFormatPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 4755 NONAME + _ZN20QPictureFormatPlugin11qt_metacastEPKc @ 4756 NONAME + _ZN20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture @ 4757 NONAME + _ZN20QPictureFormatPlugin16staticMetaObjectE @ 4758 NONAME DATA 16 + _ZN20QPictureFormatPlugin19getStaticMetaObjectEv @ 4759 NONAME + _ZN20QPictureFormatPluginC2EP7QObject @ 4760 NONAME + _ZN20QPictureFormatPluginD0Ev @ 4761 NONAME + _ZN20QPictureFormatPluginD1Ev @ 4762 NONAME + _ZN20QPictureFormatPluginD2Ev @ 4763 NONAME + _ZN20QRasterWindowSurface10beginPaintERK7QRegion @ 4764 NONAME + _ZN20QRasterWindowSurface11paintDeviceEv @ 4765 NONAME + _ZN20QRasterWindowSurface11setGeometryERK5QRect @ 4766 NONAME + _ZN20QRasterWindowSurface13prepareBufferEN6QImage6FormatEP7QWidget @ 4767 NONAME + _ZN20QRasterWindowSurface5flushEP7QWidgetRK7QRegionRK6QPoint @ 4768 NONAME + _ZN20QRasterWindowSurface6scrollERK7QRegionii @ 4769 NONAME + _ZN20QRasterWindowSurfaceC1EP7QWidget @ 4770 NONAME + _ZN20QRasterWindowSurfaceC2EP7QWidget @ 4771 NONAME + _ZN20QRasterWindowSurfaceD0Ev @ 4772 NONAME + _ZN20QRasterWindowSurfaceD1Ev @ 4773 NONAME + _ZN20QRasterWindowSurfaceD2Ev @ 4774 NONAME + _ZN20QStyleHintReturnMaskC1Ev @ 4775 NONAME + _ZN20QStyleHintReturnMaskC2Ev @ 4776 NONAME + _ZN20QStyleOptionComboBoxC1Ei @ 4777 NONAME + _ZN20QStyleOptionComboBoxC1Ev @ 4778 NONAME + _ZN20QStyleOptionComboBoxC2Ei @ 4779 NONAME + _ZN20QStyleOptionComboBoxC2Ev @ 4780 NONAME + _ZN20QStyleOptionGroupBoxC1Ei @ 4781 NONAME + _ZN20QStyleOptionGroupBoxC1Ev @ 4782 NONAME + _ZN20QStyleOptionGroupBoxC2Ei @ 4783 NONAME + _ZN20QStyleOptionGroupBoxC2Ev @ 4784 NONAME + _ZN20QStyleOptionMenuItemC1Ei @ 4785 NONAME + _ZN20QStyleOptionMenuItemC1Ev @ 4786 NONAME + _ZN20QStyleOptionMenuItemC2Ei @ 4787 NONAME + _ZN20QStyleOptionMenuItemC2Ev @ 4788 NONAME + _ZN20QStyleOptionSizeGripC1Ei @ 4789 NONAME + _ZN20QStyleOptionSizeGripC1Ev @ 4790 NONAME + _ZN20QStyleOptionSizeGripC2Ei @ 4791 NONAME + _ZN20QStyleOptionSizeGripC2Ev @ 4792 NONAME + _ZN20QStyleOptionTitleBarC1Ei @ 4793 NONAME + _ZN20QStyleOptionTitleBarC1Ev @ 4794 NONAME + _ZN20QStyleOptionTitleBarC2Ei @ 4795 NONAME + _ZN20QStyleOptionTitleBarC2Ev @ 4796 NONAME + _ZN20QStyleOptionViewItemC1Ei @ 4797 NONAME + _ZN20QStyleOptionViewItemC1Ev @ 4798 NONAME + _ZN20QStyleOptionViewItemC2Ei @ 4799 NONAME + _ZN20QStyleOptionViewItemC2Ev @ 4800 NONAME + _ZN20QTextFrameLayoutDataD0Ev @ 4801 NONAME + _ZN20QTextFrameLayoutDataD1Ev @ 4802 NONAME + _ZN20QTextFrameLayoutDataD2Ev @ 4803 NONAME + _ZN20QTextTableCellFormatC1ERK11QTextFormat @ 4804 NONAME + _ZN20QTextTableCellFormatC1Ev @ 4805 NONAME + _ZN20QTextTableCellFormatC2ERK11QTextFormat @ 4806 NONAME + _ZN20QTextTableCellFormatC2Ev @ 4807 NONAME + _ZN20QWidgetResizeHandler11eventFilterEP7QObjectP6QEvent @ 4808 NONAME + _ZN20QWidgetResizeHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 4809 NONAME + _ZN20QWidgetResizeHandler11qt_metacastEPKc @ 4810 NONAME + _ZN20QWidgetResizeHandler13keyPressEventEP9QKeyEvent @ 4811 NONAME + _ZN20QWidgetResizeHandler14mouseMoveEventEP11QMouseEvent @ 4812 NONAME + _ZN20QWidgetResizeHandler14setMouseCursorENS_13MousePositionE @ 4813 NONAME + _ZN20QWidgetResizeHandler16staticMetaObjectE @ 4814 NONAME DATA 16 + _ZN20QWidgetResizeHandler19getStaticMetaObjectEv @ 4815 NONAME + _ZN20QWidgetResizeHandler6doMoveEv @ 4816 NONAME + _ZN20QWidgetResizeHandler8activateEv @ 4817 NONAME + _ZN20QWidgetResizeHandler8doResizeEv @ 4818 NONAME + _ZN20QWidgetResizeHandler9setActiveENS_6ActionEb @ 4819 NONAME + _ZN20QWidgetResizeHandlerC1EP7QWidgetS1_ @ 4820 NONAME + _ZN20QWidgetResizeHandlerC2EP7QWidgetS1_ @ 4821 NONAME + _ZN21QAbstractItemDelegate10commitDataEP7QWidget @ 4822 NONAME + _ZN21QAbstractItemDelegate10elidedTextERK12QFontMetricsiN2Qt13TextElideModeERK7QString @ 4823 NONAME + _ZN21QAbstractItemDelegate11closeEditorEP7QWidgetNS_11EndEditHintE @ 4824 NONAME + _ZN21QAbstractItemDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex @ 4825 NONAME + _ZN21QAbstractItemDelegate11qt_metacallEN11QMetaObject4CallEiPPv @ 4826 NONAME + _ZN21QAbstractItemDelegate11qt_metacastEPKc @ 4827 NONAME + _ZN21QAbstractItemDelegate15sizeHintChangedERK11QModelIndex @ 4828 NONAME + _ZN21QAbstractItemDelegate16staticMetaObjectE @ 4829 NONAME DATA 16 + _ZN21QAbstractItemDelegate19getStaticMetaObjectEv @ 4830 NONAME + _ZN21QAbstractItemDelegate9helpEventEP10QHelpEventP17QAbstractItemViewRK20QStyleOptionViewItemRK11QModelIndex @ 4831 NONAME + _ZN21QAbstractItemDelegateC2EP7QObject @ 4832 NONAME + _ZN21QAbstractItemDelegateC2ER14QObjectPrivateP7QObject @ 4833 NONAME + _ZN21QAbstractItemDelegateD0Ev @ 4834 NONAME + _ZN21QAbstractItemDelegateD1Ev @ 4835 NONAME + _ZN21QAbstractItemDelegateD2Ev @ 4836 NONAME + _ZN21QGraphicsAnchorLayout10addAnchorsEP19QGraphicsLayoutItemS1_6QFlagsIN2Qt11OrientationEE @ 4837 NONAME + _ZN21QGraphicsAnchorLayout10invalidateEv @ 4838 NONAME + _ZN21QGraphicsAnchorLayout10setSpacingEf @ 4839 NONAME + _ZN21QGraphicsAnchorLayout11setGeometryERK6QRectF @ 4840 NONAME + _ZN21QGraphicsAnchorLayout16addCornerAnchorsEP19QGraphicsLayoutItemN2Qt6CornerES1_S3_ @ 4841 NONAME + _ZN21QGraphicsAnchorLayout18setVerticalSpacingEf @ 4842 NONAME + _ZN21QGraphicsAnchorLayout20setHorizontalSpacingEf @ 4843 NONAME + _ZN21QGraphicsAnchorLayout6anchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_ @ 4844 NONAME + _ZN21QGraphicsAnchorLayout8removeAtEi @ 4845 NONAME + _ZN21QGraphicsAnchorLayout9addAnchorEP19QGraphicsLayoutItemN2Qt11AnchorPointES1_S3_ @ 4846 NONAME + _ZN21QGraphicsAnchorLayoutC1EP19QGraphicsLayoutItem @ 4847 NONAME + _ZN21QGraphicsAnchorLayoutC2EP19QGraphicsLayoutItem @ 4848 NONAME + _ZN21QGraphicsAnchorLayoutD0Ev @ 4849 NONAME + _ZN21QGraphicsAnchorLayoutD1Ev @ 4850 NONAME + _ZN21QGraphicsAnchorLayoutD2Ev @ 4851 NONAME + _ZN21QGraphicsEffectSource11qt_metacallEN11QMetaObject4CallEiPPv @ 4852 NONAME + _ZN21QGraphicsEffectSource11qt_metacastEPKc @ 4853 NONAME + _ZN21QGraphicsEffectSource16staticMetaObjectE @ 4854 NONAME DATA 16 + _ZN21QGraphicsEffectSource19getStaticMetaObjectEv @ 4855 NONAME + _ZN21QGraphicsEffectSource4drawEP8QPainter @ 4856 NONAME + _ZN21QGraphicsEffectSource6updateEv @ 4857 NONAME + _ZN21QGraphicsEffectSourceC1ER28QGraphicsEffectSourcePrivateP7QObject @ 4858 NONAME + _ZN21QGraphicsEffectSourceC2ER28QGraphicsEffectSourcePrivateP7QObject @ 4859 NONAME + _ZN21QGraphicsEffectSourceD0Ev @ 4860 NONAME + _ZN21QGraphicsEffectSourceD1Ev @ 4861 NONAME + _ZN21QGraphicsEffectSourceD2Ev @ 4862 NONAME + _ZN21QGraphicsLinearLayout10insertItemEiP19QGraphicsLayoutItem @ 4863 NONAME + _ZN21QGraphicsLinearLayout10invalidateEv @ 4864 NONAME + _ZN21QGraphicsLinearLayout10removeItemEP19QGraphicsLayoutItem @ 4865 NONAME + _ZN21QGraphicsLinearLayout10setSpacingEf @ 4866 NONAME + _ZN21QGraphicsLinearLayout11setGeometryERK6QRectF @ 4867 NONAME + _ZN21QGraphicsLinearLayout12setAlignmentEP19QGraphicsLayoutItem6QFlagsIN2Qt13AlignmentFlagEE @ 4868 NONAME + _ZN21QGraphicsLinearLayout13insertStretchEii @ 4869 NONAME + _ZN21QGraphicsLinearLayout14setItemSpacingEif @ 4870 NONAME + _ZN21QGraphicsLinearLayout14setOrientationEN2Qt11OrientationE @ 4871 NONAME + _ZN21QGraphicsLinearLayout16setStretchFactorEP19QGraphicsLayoutItemi @ 4872 NONAME + _ZN21QGraphicsLinearLayout8removeAtEi @ 4873 NONAME + _ZN21QGraphicsLinearLayoutC1EN2Qt11OrientationEP19QGraphicsLayoutItem @ 4874 NONAME + _ZN21QGraphicsLinearLayoutC1EP19QGraphicsLayoutItem @ 4875 NONAME + _ZN21QGraphicsLinearLayoutC2EN2Qt11OrientationEP19QGraphicsLayoutItem @ 4876 NONAME + _ZN21QGraphicsLinearLayoutC2EP19QGraphicsLayoutItem @ 4877 NONAME + _ZN21QGraphicsLinearLayoutD0Ev @ 4878 NONAME + _ZN21QGraphicsLinearLayoutD1Ev @ 4879 NONAME + _ZN21QGraphicsLinearLayoutD2Ev @ 4880 NONAME + _ZN21QGraphicsSystemPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 4881 NONAME + _ZN21QGraphicsSystemPlugin11qt_metacastEPKc @ 4882 NONAME + _ZN21QGraphicsSystemPlugin16staticMetaObjectE @ 4883 NONAME DATA 16 + _ZN21QGraphicsSystemPlugin19getStaticMetaObjectEv @ 4884 NONAME + _ZN21QGraphicsSystemPluginC2EP7QObject @ 4885 NONAME + _ZN21QGraphicsSystemPluginD0Ev @ 4886 NONAME + _ZN21QGraphicsSystemPluginD1Ev @ 4887 NONAME + _ZN21QGraphicsSystemPluginD2Ev @ 4888 NONAME + _ZN21QMouseEventTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 4889 NONAME + _ZN21QMouseEventTransition11qt_metacastEPKc @ 4890 NONAME + _ZN21QMouseEventTransition12onTransitionEP6QEvent @ 4891 NONAME + _ZN21QMouseEventTransition16setModifiersMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 4892 NONAME + _ZN21QMouseEventTransition16staticMetaObjectE @ 4893 NONAME DATA 16 + _ZN21QMouseEventTransition19getStaticMetaObjectEv @ 4894 NONAME + _ZN21QMouseEventTransition7setPathERK12QPainterPath @ 4895 NONAME + _ZN21QMouseEventTransition9eventTestEP6QEvent @ 4896 NONAME + _ZN21QMouseEventTransition9setButtonEN2Qt11MouseButtonE @ 4897 NONAME + _ZN21QMouseEventTransitionC1EP6QState @ 4898 NONAME + _ZN21QMouseEventTransitionC1EP7QObjectN6QEvent4TypeEN2Qt11MouseButtonEP6QState @ 4899 NONAME + _ZN21QMouseEventTransitionC2EP6QState @ 4900 NONAME + _ZN21QMouseEventTransitionC2EP7QObjectN6QEvent4TypeEN2Qt11MouseButtonEP6QState @ 4901 NONAME + _ZN21QMouseEventTransitionD0Ev @ 4902 NONAME + _ZN21QMouseEventTransitionD1Ev @ 4903 NONAME + _ZN21QMouseEventTransitionD2Ev @ 4904 NONAME + _ZN21QPaintEngineExPrivate20replayClipOperationsEv @ 4905 NONAME + _ZN21QPaintEngineExPrivateC1Ev @ 4906 NONAME + _ZN21QPaintEngineExPrivateC2Ev @ 4907 NONAME + _ZN21QPaintEngineExPrivateD0Ev @ 4908 NONAME + _ZN21QPaintEngineExPrivateD1Ev @ 4909 NONAME + _ZN21QPaintEngineExPrivateD2Ev @ 4910 NONAME + _ZN21QPixmapColorizeFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 4911 NONAME + _ZN21QPixmapColorizeFilter11qt_metacastEPKc @ 4912 NONAME + _ZN21QPixmapColorizeFilter11setStrengthEf @ 4913 NONAME + _ZN21QPixmapColorizeFilter16staticMetaObjectE @ 4914 NONAME DATA 16 + _ZN21QPixmapColorizeFilter19getStaticMetaObjectEv @ 4915 NONAME + _ZN21QPixmapColorizeFilter8setColorERK6QColor @ 4916 NONAME + _ZN21QPixmapColorizeFilterC1EP7QObject @ 4917 NONAME + _ZN21QPixmapColorizeFilterC2EP7QObject @ 4918 NONAME + _ZN21QSortFilterProxyModel10insertRowsEiiRK11QModelIndex @ 4919 NONAME + _ZN21QSortFilterProxyModel10invalidateEv @ 4920 NONAME + _ZN21QSortFilterProxyModel10removeRowsEiiRK11QModelIndex @ 4921 NONAME + _ZN21QSortFilterProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 4922 NONAME + _ZN21QSortFilterProxyModel11qt_metacastEPKc @ 4923 NONAME + _ZN21QSortFilterProxyModel11setSortRoleEi @ 4924 NONAME + _ZN21QSortFilterProxyModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 4925 NONAME + _ZN21QSortFilterProxyModel13filterChangedEv @ 4926 NONAME + _ZN21QSortFilterProxyModel13insertColumnsEiiRK11QModelIndex @ 4927 NONAME + _ZN21QSortFilterProxyModel13removeColumnsEiiRK11QModelIndex @ 4928 NONAME + _ZN21QSortFilterProxyModel13setFilterRoleEi @ 4929 NONAME + _ZN21QSortFilterProxyModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 4930 NONAME + _ZN21QSortFilterProxyModel14setSourceModelEP18QAbstractItemModel @ 4931 NONAME + _ZN21QSortFilterProxyModel15setFilterRegExpERK7QRegExp @ 4932 NONAME + _ZN21QSortFilterProxyModel15setFilterRegExpERK7QString @ 4933 NONAME + _ZN21QSortFilterProxyModel16invalidateFilterEv @ 4934 NONAME + _ZN21QSortFilterProxyModel16staticMetaObjectE @ 4935 NONAME DATA 16 + _ZN21QSortFilterProxyModel17setFilterWildcardERK7QString @ 4936 NONAME + _ZN21QSortFilterProxyModel18setFilterKeyColumnEi @ 4937 NONAME + _ZN21QSortFilterProxyModel18setSortLocaleAwareEb @ 4938 NONAME + _ZN21QSortFilterProxyModel19getStaticMetaObjectEv @ 4939 NONAME + _ZN21QSortFilterProxyModel20setDynamicSortFilterEb @ 4940 NONAME + _ZN21QSortFilterProxyModel20setFilterFixedStringERK7QString @ 4941 NONAME + _ZN21QSortFilterProxyModel22setSortCaseSensitivityEN2Qt15CaseSensitivityE @ 4942 NONAME + _ZN21QSortFilterProxyModel24setFilterCaseSensitivityEN2Qt15CaseSensitivityE @ 4943 NONAME + _ZN21QSortFilterProxyModel4sortEiN2Qt9SortOrderE @ 4944 NONAME + _ZN21QSortFilterProxyModel5clearEv @ 4945 NONAME + _ZN21QSortFilterProxyModel7setDataERK11QModelIndexRK8QVarianti @ 4946 NONAME + _ZN21QSortFilterProxyModel9fetchMoreERK11QModelIndex @ 4947 NONAME + _ZN21QSortFilterProxyModelC1EP7QObject @ 4948 NONAME + _ZN21QSortFilterProxyModelC2EP7QObject @ 4949 NONAME + _ZN21QSortFilterProxyModelD0Ev @ 4950 NONAME + _ZN21QSortFilterProxyModelD1Ev @ 4951 NONAME + _ZN21QSortFilterProxyModelD2Ev @ 4952 NONAME + _ZN21QStyleOptionFocusRectC1Ei @ 4953 NONAME + _ZN21QStyleOptionFocusRectC1Ev @ 4954 NONAME + _ZN21QStyleOptionFocusRectC2Ei @ 4955 NONAME + _ZN21QStyleOptionFocusRectC2Ev @ 4956 NONAME + _ZN21QStyleOptionToolBoxV2C1ERK19QStyleOptionToolBox @ 4957 NONAME + _ZN21QStyleOptionToolBoxV2C1Ei @ 4958 NONAME + _ZN21QStyleOptionToolBoxV2C1Ev @ 4959 NONAME + _ZN21QStyleOptionToolBoxV2C2ERK19QStyleOptionToolBox @ 4960 NONAME + _ZN21QStyleOptionToolBoxV2C2Ei @ 4961 NONAME + _ZN21QStyleOptionToolBoxV2C2Ev @ 4962 NONAME + _ZN21QStyleOptionToolBoxV2aSERK19QStyleOptionToolBox @ 4963 NONAME + _ZN21QTextDocumentFragment13fromPlainTextERK7QString @ 4964 NONAME + _ZN21QTextDocumentFragment8fromHtmlERK7QString @ 4965 NONAME + _ZN21QTextDocumentFragment8fromHtmlERK7QStringPK13QTextDocument @ 4966 NONAME + _ZN21QTextDocumentFragmentC1EPK13QTextDocument @ 4967 NONAME + _ZN21QTextDocumentFragmentC1ERK11QTextCursor @ 4968 NONAME + _ZN21QTextDocumentFragmentC1ERKS_ @ 4969 NONAME + _ZN21QTextDocumentFragmentC1Ev @ 4970 NONAME + _ZN21QTextDocumentFragmentC2EPK13QTextDocument @ 4971 NONAME + _ZN21QTextDocumentFragmentC2ERK11QTextCursor @ 4972 NONAME + _ZN21QTextDocumentFragmentC2ERKS_ @ 4973 NONAME + _ZN21QTextDocumentFragmentC2Ev @ 4974 NONAME + _ZN21QTextDocumentFragmentD1Ev @ 4975 NONAME + _ZN21QTextDocumentFragmentD2Ev @ 4976 NONAME + _ZN21QTextDocumentFragmentaSERKS_ @ 4977 NONAME + _ZN21QTextFormatCollection14indexForFormatERK11QTextFormat @ 4978 NONAME + _ZN21QTextFormatCollection14setDefaultFontERK5QFont @ 4979 NONAME + _ZN21QTextFormatCollection15setObjectFormatEiRK11QTextFormat @ 4980 NONAME + _ZN21QTextFormatCollection17createObjectIndexERK11QTextFormat @ 4981 NONAME + _ZN21QTextFormatCollection20setObjectFormatIndexEii @ 4982 NONAME + _ZN21QTextFormatCollectionC1ERKS_ @ 4983 NONAME + _ZN21QTextFormatCollectionC2ERKS_ @ 4984 NONAME + _ZN21QTextFormatCollectionD1Ev @ 4985 NONAME + _ZN21QTextFormatCollectionD2Ev @ 4986 NONAME + _ZN21QTextFormatCollectionaSERKS_ @ 4987 NONAME + _ZN22QGraphicsItemAnimation10setScaleAtEfff @ 4988 NONAME + _ZN22QGraphicsItemAnimation10setShearAtEfff @ 4989 NONAME + _ZN22QGraphicsItemAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 4990 NONAME + _ZN22QGraphicsItemAnimation11qt_metacastEPKc @ 4991 NONAME + _ZN22QGraphicsItemAnimation11setTimeLineEP9QTimeLine @ 4992 NONAME + _ZN22QGraphicsItemAnimation13setRotationAtEff @ 4993 NONAME + _ZN22QGraphicsItemAnimation16setTranslationAtEfff @ 4994 NONAME + _ZN22QGraphicsItemAnimation16staticMetaObjectE @ 4995 NONAME DATA 16 + _ZN22QGraphicsItemAnimation18afterAnimationStepEf @ 4996 NONAME + _ZN22QGraphicsItemAnimation19beforeAnimationStepEf @ 4997 NONAME + _ZN22QGraphicsItemAnimation19getStaticMetaObjectEv @ 4998 NONAME + _ZN22QGraphicsItemAnimation5clearEv @ 4999 NONAME + _ZN22QGraphicsItemAnimation5resetEv @ 5000 NONAME + _ZN22QGraphicsItemAnimation7setItemEP13QGraphicsItem @ 5001 NONAME + _ZN22QGraphicsItemAnimation7setStepEf @ 5002 NONAME + _ZN22QGraphicsItemAnimation8setPosAtEfRK7QPointF @ 5003 NONAME + _ZN22QGraphicsItemAnimationC1EP7QObject @ 5004 NONAME + _ZN22QGraphicsItemAnimationC2EP7QObject @ 5005 NONAME + _ZN22QGraphicsItemAnimationD0Ev @ 5006 NONAME + _ZN22QGraphicsItemAnimationD1Ev @ 5007 NONAME + _ZN22QGraphicsItemAnimationD2Ev @ 5008 NONAME + _ZN22QGraphicsOpacityEffect10setOpacityEf @ 5009 NONAME + _ZN22QGraphicsOpacityEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5010 NONAME + _ZN22QGraphicsOpacityEffect11qt_metacastEPKc @ 5011 NONAME + _ZN22QGraphicsOpacityEffect14opacityChangedEf @ 5012 NONAME + _ZN22QGraphicsOpacityEffect14setOpacityMaskERK6QBrush @ 5013 NONAME + _ZN22QGraphicsOpacityEffect16staticMetaObjectE @ 5014 NONAME DATA 16 + _ZN22QGraphicsOpacityEffect18opacityMaskChangedERK6QBrush @ 5015 NONAME + _ZN22QGraphicsOpacityEffect19getStaticMetaObjectEv @ 5016 NONAME + _ZN22QGraphicsOpacityEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5017 NONAME + _ZN22QGraphicsOpacityEffectC1EP7QObject @ 5018 NONAME + _ZN22QGraphicsOpacityEffectC2EP7QObject @ 5019 NONAME + _ZN22QGraphicsOpacityEffectD0Ev @ 5020 NONAME + _ZN22QGraphicsOpacityEffectD1Ev @ 5021 NONAME + _ZN22QGraphicsOpacityEffectD2Ev @ 5022 NONAME + _ZN22QPaintEngineExReplayer7processERK19QPaintBufferCommand @ 5023 NONAME + _ZN22QStyleOptionDockWidgetC1Ei @ 5024 NONAME + _ZN22QStyleOptionDockWidgetC1Ev @ 5025 NONAME + _ZN22QStyleOptionDockWidgetC2Ei @ 5026 NONAME + _ZN22QStyleOptionDockWidgetC2Ev @ 5027 NONAME + _ZN22QStyleOptionQ3ListViewC1Ei @ 5028 NONAME + _ZN22QStyleOptionQ3ListViewC1Ev @ 5029 NONAME + _ZN22QStyleOptionQ3ListViewC2Ei @ 5030 NONAME + _ZN22QStyleOptionQ3ListViewC2Ev @ 5031 NONAME + _ZN22QStyleOptionRubberBandC1Ei @ 5032 NONAME + _ZN22QStyleOptionRubberBandC1Ev @ 5033 NONAME + _ZN22QStyleOptionRubberBandC2Ei @ 5034 NONAME + _ZN22QStyleOptionRubberBandC2Ev @ 5035 NONAME + _ZN22QStyleOptionTabBarBaseC1Ei @ 5036 NONAME + _ZN22QStyleOptionTabBarBaseC1Ev @ 5037 NONAME + _ZN22QStyleOptionTabBarBaseC2Ei @ 5038 NONAME + _ZN22QStyleOptionTabBarBaseC2Ev @ 5039 NONAME + _ZN22QStyleOptionToolButtonC1Ei @ 5040 NONAME + _ZN22QStyleOptionToolButtonC1Ev @ 5041 NONAME + _ZN22QStyleOptionToolButtonC2Ei @ 5042 NONAME + _ZN22QStyleOptionToolButtonC2Ev @ 5043 NONAME + _ZN22QStyleOptionViewItemV2C1ERK20QStyleOptionViewItem @ 5044 NONAME + _ZN22QStyleOptionViewItemV2C1Ei @ 5045 NONAME + _ZN22QStyleOptionViewItemV2C1Ev @ 5046 NONAME + _ZN22QStyleOptionViewItemV2C2ERK20QStyleOptionViewItem @ 5047 NONAME + _ZN22QStyleOptionViewItemV2C2Ei @ 5048 NONAME + _ZN22QStyleOptionViewItemV2C2Ev @ 5049 NONAME + _ZN22QStyleOptionViewItemV2aSERK20QStyleOptionViewItem @ 5050 NONAME + _ZN22QStyleOptionViewItemV3C1ERK20QStyleOptionViewItem @ 5051 NONAME + _ZN22QStyleOptionViewItemV3C1Ei @ 5052 NONAME + _ZN22QStyleOptionViewItemV3C1Ev @ 5053 NONAME + _ZN22QStyleOptionViewItemV3C2ERK20QStyleOptionViewItem @ 5054 NONAME + _ZN22QStyleOptionViewItemV3C2Ei @ 5055 NONAME + _ZN22QStyleOptionViewItemV3C2Ev @ 5056 NONAME + _ZN22QStyleOptionViewItemV3aSERK20QStyleOptionViewItem @ 5057 NONAME + _ZN22QStyleOptionViewItemV4C1ERK20QStyleOptionViewItem @ 5058 NONAME + _ZN22QStyleOptionViewItemV4C1Ei @ 5059 NONAME + _ZN22QStyleOptionViewItemV4C1Ev @ 5060 NONAME + _ZN22QStyleOptionViewItemV4C2ERK20QStyleOptionViewItem @ 5061 NONAME + _ZN22QStyleOptionViewItemV4C2Ei @ 5062 NONAME + _ZN22QStyleOptionViewItemV4C2Ev @ 5063 NONAME + _ZN22QStyleOptionViewItemV4aSERK20QStyleOptionViewItem @ 5064 NONAME + _ZN22QWhatsThisClickedEventC1ERK7QString @ 5065 NONAME + _ZN22QWhatsThisClickedEventC2ERK7QString @ 5066 NONAME + _ZN22QWhatsThisClickedEventD0Ev @ 5067 NONAME + _ZN22QWhatsThisClickedEventD1Ev @ 5068 NONAME + _ZN22QWhatsThisClickedEventD2Ev @ 5069 NONAME + _ZN23QGraphicsColorizeEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5070 NONAME + _ZN23QGraphicsColorizeEffect11qt_metacastEPKc @ 5071 NONAME + _ZN23QGraphicsColorizeEffect11setStrengthEf @ 5072 NONAME + _ZN23QGraphicsColorizeEffect12colorChangedERK6QColor @ 5073 NONAME + _ZN23QGraphicsColorizeEffect15strengthChangedEf @ 5074 NONAME + _ZN23QGraphicsColorizeEffect16staticMetaObjectE @ 5075 NONAME DATA 16 + _ZN23QGraphicsColorizeEffect19getStaticMetaObjectEv @ 5076 NONAME + _ZN23QGraphicsColorizeEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5077 NONAME + _ZN23QGraphicsColorizeEffect8setColorERK6QColor @ 5078 NONAME + _ZN23QGraphicsColorizeEffectC1EP7QObject @ 5079 NONAME + _ZN23QGraphicsColorizeEffectC2EP7QObject @ 5080 NONAME + _ZN23QGraphicsColorizeEffectD0Ev @ 5081 NONAME + _ZN23QGraphicsColorizeEffectD1Ev @ 5082 NONAME + _ZN23QGraphicsColorizeEffectD2Ev @ 5083 NONAME + _ZN23QGraphicsPixelizeEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5084 NONAME + _ZN23QGraphicsPixelizeEffect11qt_metacastEPKc @ 5085 NONAME + _ZN23QGraphicsPixelizeEffect12setPixelSizeEi @ 5086 NONAME + _ZN23QGraphicsPixelizeEffect16pixelSizeChangedEi @ 5087 NONAME + _ZN23QGraphicsPixelizeEffect16staticMetaObjectE @ 5088 NONAME DATA 16 + _ZN23QGraphicsPixelizeEffect19getStaticMetaObjectEv @ 5089 NONAME + _ZN23QGraphicsPixelizeEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5090 NONAME + _ZN23QGraphicsPixelizeEffectC1EP7QObject @ 5091 NONAME + _ZN23QGraphicsPixelizeEffectC2EP7QObject @ 5092 NONAME + _ZN23QGraphicsPixelizeEffectD0Ev @ 5093 NONAME + _ZN23QGraphicsPixelizeEffectD1Ev @ 5094 NONAME + _ZN23QGraphicsPixelizeEffectD2Ev @ 5095 NONAME + _ZN23QGraphicsSceneHelpEvent11setScenePosERK7QPointF @ 5096 NONAME + _ZN23QGraphicsSceneHelpEvent12setScreenPosERK6QPoint @ 5097 NONAME + _ZN23QGraphicsSceneHelpEventC1EN6QEvent4TypeE @ 5098 NONAME + _ZN23QGraphicsSceneHelpEventC2EN6QEvent4TypeE @ 5099 NONAME + _ZN23QGraphicsSceneHelpEventD0Ev @ 5100 NONAME + _ZN23QGraphicsSceneHelpEventD1Ev @ 5101 NONAME + _ZN23QGraphicsSceneHelpEventD2Ev @ 5102 NONAME + _ZN23QGraphicsSceneMoveEvent9setNewPosERK7QPointF @ 5103 NONAME + _ZN23QGraphicsSceneMoveEvent9setOldPosERK7QPointF @ 5104 NONAME + _ZN23QGraphicsSceneMoveEventC1Ev @ 5105 NONAME + _ZN23QGraphicsSceneMoveEventC2Ev @ 5106 NONAME + _ZN23QGraphicsSceneMoveEventD0Ev @ 5107 NONAME + _ZN23QGraphicsSceneMoveEventD1Ev @ 5108 NONAME + _ZN23QGraphicsSceneMoveEventD2Ev @ 5109 NONAME + _ZN23QGraphicsSimpleTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 5110 NONAME + _ZN23QGraphicsSimpleTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 5111 NONAME + _ZN23QGraphicsSimpleTextItem7setFontERK5QFont @ 5112 NONAME + _ZN23QGraphicsSimpleTextItem7setTextERK7QString @ 5113 NONAME + _ZN23QGraphicsSimpleTextItemC1EP13QGraphicsItemP14QGraphicsScene @ 5114 NONAME + _ZN23QGraphicsSimpleTextItemC1ERK7QStringP13QGraphicsItemP14QGraphicsScene @ 5115 NONAME + _ZN23QGraphicsSimpleTextItemC2EP13QGraphicsItemP14QGraphicsScene @ 5116 NONAME + _ZN23QGraphicsSimpleTextItemC2ERK7QStringP13QGraphicsItemP14QGraphicsScene @ 5117 NONAME + _ZN23QGraphicsSimpleTextItemD0Ev @ 5118 NONAME + _ZN23QGraphicsSimpleTextItemD1Ev @ 5119 NONAME + _ZN23QGraphicsSimpleTextItemD2Ev @ 5120 NONAME + _ZN23QPaintBufferSignalProxy11qt_metacallEN11QMetaObject4CallEiPPv @ 5121 NONAME + _ZN23QPaintBufferSignalProxy11qt_metacastEPKc @ 5122 NONAME + _ZN23QPaintBufferSignalProxy14aboutToDestroyEPK19QPaintBufferPrivate @ 5123 NONAME + _ZN23QPaintBufferSignalProxy16staticMetaObjectE @ 5124 NONAME DATA 16 + _ZN23QPaintBufferSignalProxy19getStaticMetaObjectEv @ 5125 NONAME + _ZN23QPaintBufferSignalProxy8instanceEv @ 5126 NONAME + _ZN23QPixmapDropShadowFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 5127 NONAME + _ZN23QPixmapDropShadowFilter11qt_metacastEPKc @ 5128 NONAME + _ZN23QPixmapDropShadowFilter13setBlurRadiusEi @ 5129 NONAME + _ZN23QPixmapDropShadowFilter16staticMetaObjectE @ 5130 NONAME DATA 16 + _ZN23QPixmapDropShadowFilter19getStaticMetaObjectEv @ 5131 NONAME + _ZN23QPixmapDropShadowFilter8setColorERK6QColor @ 5132 NONAME + _ZN23QPixmapDropShadowFilter9setOffsetERK7QPointF @ 5133 NONAME + _ZN23QPixmapDropShadowFilterC1EP7QObject @ 5134 NONAME + _ZN23QPixmapDropShadowFilterC2EP7QObject @ 5135 NONAME + _ZN23QPixmapDropShadowFilterD0Ev @ 5136 NONAME + _ZN23QPixmapDropShadowFilterD1Ev @ 5137 NONAME + _ZN23QPixmapDropShadowFilterD2Ev @ 5138 NONAME + _ZN23QStyleHintReturnVariantC1Ev @ 5139 NONAME + _ZN23QStyleHintReturnVariantC2Ev @ 5140 NONAME + _ZN23QStyleOptionProgressBarC1Ei @ 5141 NONAME + _ZN23QStyleOptionProgressBarC1Ev @ 5142 NONAME + _ZN23QStyleOptionProgressBarC2Ei @ 5143 NONAME + _ZN23QStyleOptionProgressBarC2Ev @ 5144 NONAME + _ZN23QTreeWidgetItemIteratorC1EP11QTreeWidget6QFlagsINS_12IteratorFlagEE @ 5145 NONAME + _ZN23QTreeWidgetItemIteratorC1EP15QTreeWidgetItem6QFlagsINS_12IteratorFlagEE @ 5146 NONAME + _ZN23QTreeWidgetItemIteratorC1ERKS_ @ 5147 NONAME + _ZN23QTreeWidgetItemIteratorC2EP11QTreeWidget6QFlagsINS_12IteratorFlagEE @ 5148 NONAME + _ZN23QTreeWidgetItemIteratorC2EP15QTreeWidgetItem6QFlagsINS_12IteratorFlagEE @ 5149 NONAME + _ZN23QTreeWidgetItemIteratorC2ERKS_ @ 5150 NONAME + _ZN23QTreeWidgetItemIteratorD1Ev @ 5151 NONAME + _ZN23QTreeWidgetItemIteratorD2Ev @ 5152 NONAME + _ZN23QTreeWidgetItemIteratoraSERKS_ @ 5153 NONAME + _ZN23QTreeWidgetItemIteratormmEv @ 5154 NONAME + _ZN23QTreeWidgetItemIteratorppEv @ 5155 NONAME + _ZN23QWindowStateChangeEventC1E6QFlagsIN2Qt11WindowStateEE @ 5156 NONAME + _ZN23QWindowStateChangeEventC1E6QFlagsIN2Qt11WindowStateEEb @ 5157 NONAME + _ZN23QWindowStateChangeEventC2E6QFlagsIN2Qt11WindowStateEE @ 5158 NONAME + _ZN23QWindowStateChangeEventC2E6QFlagsIN2Qt11WindowStateEEb @ 5159 NONAME + _ZN23QWindowStateChangeEventD0Ev @ 5160 NONAME + _ZN23QWindowStateChangeEventD1Ev @ 5161 NONAME + _ZN23QWindowStateChangeEventD2Ev @ 5162 NONAME + _ZN24QGraphicsGrayscaleEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5163 NONAME + _ZN24QGraphicsGrayscaleEffect11qt_metacastEPKc @ 5164 NONAME + _ZN24QGraphicsGrayscaleEffect11setStrengthEf @ 5165 NONAME + _ZN24QGraphicsGrayscaleEffect15strengthChangedEf @ 5166 NONAME + _ZN24QGraphicsGrayscaleEffect16staticMetaObjectE @ 5167 NONAME DATA 16 + _ZN24QGraphicsGrayscaleEffect19getStaticMetaObjectEv @ 5168 NONAME + _ZN24QGraphicsGrayscaleEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5169 NONAME + _ZN24QGraphicsGrayscaleEffectC1EP7QObject @ 5170 NONAME + _ZN24QGraphicsGrayscaleEffectC2EP7QObject @ 5171 NONAME + _ZN24QGraphicsGrayscaleEffectD0Ev @ 5172 NONAME + _ZN24QGraphicsGrayscaleEffectD1Ev @ 5173 NONAME + _ZN24QGraphicsGrayscaleEffectD2Ev @ 5174 NONAME + _ZN24QGraphicsSceneHoverEvent10setLastPosERK7QPointF @ 5175 NONAME + _ZN24QGraphicsSceneHoverEvent11setScenePosERK7QPointF @ 5176 NONAME + _ZN24QGraphicsSceneHoverEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5177 NONAME + _ZN24QGraphicsSceneHoverEvent12setScreenPosERK6QPoint @ 5178 NONAME + _ZN24QGraphicsSceneHoverEvent15setLastScenePosERK7QPointF @ 5179 NONAME + _ZN24QGraphicsSceneHoverEvent16setLastScreenPosERK6QPoint @ 5180 NONAME + _ZN24QGraphicsSceneHoverEvent6setPosERK7QPointF @ 5181 NONAME + _ZN24QGraphicsSceneHoverEventC1EN6QEvent4TypeE @ 5182 NONAME + _ZN24QGraphicsSceneHoverEventC2EN6QEvent4TypeE @ 5183 NONAME + _ZN24QGraphicsSceneHoverEventD0Ev @ 5184 NONAME + _ZN24QGraphicsSceneHoverEventD1Ev @ 5185 NONAME + _ZN24QGraphicsSceneHoverEventD2Ev @ 5186 NONAME + _ZN24QGraphicsSceneMouseEvent10setButtonsE6QFlagsIN2Qt11MouseButtonEE @ 5187 NONAME + _ZN24QGraphicsSceneMouseEvent10setLastPosERK7QPointF @ 5188 NONAME + _ZN24QGraphicsSceneMouseEvent11setScenePosERK7QPointF @ 5189 NONAME + _ZN24QGraphicsSceneMouseEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5190 NONAME + _ZN24QGraphicsSceneMouseEvent12setScreenPosERK6QPoint @ 5191 NONAME + _ZN24QGraphicsSceneMouseEvent15setLastScenePosERK7QPointF @ 5192 NONAME + _ZN24QGraphicsSceneMouseEvent16setButtonDownPosEN2Qt11MouseButtonERK7QPointF @ 5193 NONAME + _ZN24QGraphicsSceneMouseEvent16setLastScreenPosERK6QPoint @ 5194 NONAME + _ZN24QGraphicsSceneMouseEvent21setButtonDownScenePosEN2Qt11MouseButtonERK7QPointF @ 5195 NONAME + _ZN24QGraphicsSceneMouseEvent22setButtonDownScreenPosEN2Qt11MouseButtonERK6QPoint @ 5196 NONAME + _ZN24QGraphicsSceneMouseEvent6setPosERK7QPointF @ 5197 NONAME + _ZN24QGraphicsSceneMouseEvent9setButtonEN2Qt11MouseButtonE @ 5198 NONAME + _ZN24QGraphicsSceneMouseEventC1EN6QEvent4TypeE @ 5199 NONAME + _ZN24QGraphicsSceneMouseEventC2EN6QEvent4TypeE @ 5200 NONAME + _ZN24QGraphicsSceneMouseEventD0Ev @ 5201 NONAME + _ZN24QGraphicsSceneMouseEventD1Ev @ 5202 NONAME + _ZN24QGraphicsSceneMouseEventD2Ev @ 5203 NONAME + _ZN24QGraphicsSceneWheelEvent10setButtonsE6QFlagsIN2Qt11MouseButtonEE @ 5204 NONAME + _ZN24QGraphicsSceneWheelEvent11setScenePosERK7QPointF @ 5205 NONAME + _ZN24QGraphicsSceneWheelEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5206 NONAME + _ZN24QGraphicsSceneWheelEvent12setScreenPosERK6QPoint @ 5207 NONAME + _ZN24QGraphicsSceneWheelEvent14setOrientationEN2Qt11OrientationE @ 5208 NONAME + _ZN24QGraphicsSceneWheelEvent6setPosERK7QPointF @ 5209 NONAME + _ZN24QGraphicsSceneWheelEvent8setDeltaEi @ 5210 NONAME + _ZN24QGraphicsSceneWheelEventC1EN6QEvent4TypeE @ 5211 NONAME + _ZN24QGraphicsSceneWheelEventC2EN6QEvent4TypeE @ 5212 NONAME + _ZN24QGraphicsSceneWheelEventD0Ev @ 5213 NONAME + _ZN24QGraphicsSceneWheelEventD1Ev @ 5214 NONAME + _ZN24QGraphicsSceneWheelEventD2Ev @ 5215 NONAME + _ZN24QImagePixmapCleanupHooks12addImageHookEPFvxE @ 5216 NONAME + _ZN24QImagePixmapCleanupHooks13addPixmapHookEPFvP7QPixmapE @ 5217 NONAME + _ZN24QImagePixmapCleanupHooks15removeImageHookEPFvxE @ 5218 NONAME + _ZN24QImagePixmapCleanupHooks16removePixmapHookEPFvP7QPixmapE @ 5219 NONAME + _ZN24QImagePixmapCleanupHooks17executeImageHooksEx @ 5220 NONAME + _ZN24QImagePixmapCleanupHooks18executePixmapHooksEP7QPixmap @ 5221 NONAME + _ZN24QImagePixmapCleanupHooks8instanceEv @ 5222 NONAME + _ZN24QImagePixmapCleanupHooksC1Ev @ 5223 NONAME + _ZN24QImagePixmapCleanupHooksC2Ev @ 5224 NONAME + _ZN24QPixmapConvolutionFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 5225 NONAME + _ZN24QPixmapConvolutionFilter11qt_metacastEPKc @ 5226 NONAME + _ZN24QPixmapConvolutionFilter16staticMetaObjectE @ 5227 NONAME DATA 16 + _ZN24QPixmapConvolutionFilter19getStaticMetaObjectEv @ 5228 NONAME + _ZN24QPixmapConvolutionFilter20setConvolutionKernelEPKfii @ 5229 NONAME + _ZN24QPixmapConvolutionFilterC1EP7QObject @ 5230 NONAME + _ZN24QPixmapConvolutionFilterC2EP7QObject @ 5231 NONAME + _ZN24QPixmapConvolutionFilterD0Ev @ 5232 NONAME + _ZN24QPixmapConvolutionFilterD1Ev @ 5233 NONAME + _ZN24QPixmapConvolutionFilterD2Ev @ 5234 NONAME + _ZN24QPlainTextDocumentLayout10blockWidthERK10QTextBlock @ 5235 NONAME + _ZN24QPlainTextDocumentLayout11layoutBlockERK10QTextBlock @ 5236 NONAME + _ZN24QPlainTextDocumentLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 5237 NONAME + _ZN24QPlainTextDocumentLayout11qt_metacastEPKc @ 5238 NONAME + _ZN24QPlainTextDocumentLayout12setTextWidthEf @ 5239 NONAME + _ZN24QPlainTextDocumentLayout13requestUpdateEv @ 5240 NONAME + _ZN24QPlainTextDocumentLayout14setCursorWidthEi @ 5241 NONAME + _ZN24QPlainTextDocumentLayout15documentChangedEiii @ 5242 NONAME + _ZN24QPlainTextDocumentLayout16staticMetaObjectE @ 5243 NONAME DATA 16 + _ZN24QPlainTextDocumentLayout19getStaticMetaObjectEv @ 5244 NONAME + _ZN24QPlainTextDocumentLayout4drawEP8QPainterRKN27QAbstractTextDocumentLayout12PaintContextE @ 5245 NONAME + _ZN24QPlainTextDocumentLayoutC1EP13QTextDocument @ 5246 NONAME + _ZN24QPlainTextDocumentLayoutC2EP13QTextDocument @ 5247 NONAME + _ZN24QPlainTextDocumentLayoutD0Ev @ 5248 NONAME + _ZN24QPlainTextDocumentLayoutD1Ev @ 5249 NONAME + _ZN24QPlainTextDocumentLayoutD2Ev @ 5250 NONAME + _ZN24QStyleOptionDockWidgetV2C1ERK22QStyleOptionDockWidget @ 5251 NONAME + _ZN24QStyleOptionDockWidgetV2C1Ei @ 5252 NONAME + _ZN24QStyleOptionDockWidgetV2C1Ev @ 5253 NONAME + _ZN24QStyleOptionDockWidgetV2C2ERK22QStyleOptionDockWidget @ 5254 NONAME + _ZN24QStyleOptionDockWidgetV2C2Ei @ 5255 NONAME + _ZN24QStyleOptionDockWidgetV2C2Ev @ 5256 NONAME + _ZN24QStyleOptionDockWidgetV2aSERK22QStyleOptionDockWidget @ 5257 NONAME + _ZN24QStyleOptionGraphicsItem26levelOfDetailFromTransformERK10QTransform @ 5258 NONAME + _ZN24QStyleOptionGraphicsItemC1Ei @ 5259 NONAME + _ZN24QStyleOptionGraphicsItemC1Ev @ 5260 NONAME + _ZN24QStyleOptionGraphicsItemC2Ei @ 5261 NONAME + _ZN24QStyleOptionGraphicsItemC2Ev @ 5262 NONAME + _ZN24QStyleOptionQ3DockWindowC1Ei @ 5263 NONAME + _ZN24QStyleOptionQ3DockWindowC1Ev @ 5264 NONAME + _ZN24QStyleOptionQ3DockWindowC2Ei @ 5265 NONAME + _ZN24QStyleOptionQ3DockWindowC2Ev @ 5266 NONAME + _ZN24QStyleOptionTabBarBaseV2C1ERK22QStyleOptionTabBarBase @ 5267 NONAME + _ZN24QStyleOptionTabBarBaseV2C1Ei @ 5268 NONAME + _ZN24QStyleOptionTabBarBaseV2C1Ev @ 5269 NONAME + _ZN24QStyleOptionTabBarBaseV2C2ERK22QStyleOptionTabBarBase @ 5270 NONAME + _ZN24QStyleOptionTabBarBaseV2C2Ei @ 5271 NONAME + _ZN24QStyleOptionTabBarBaseV2C2Ev @ 5272 NONAME + _ZN24QStyleOptionTabBarBaseV2aSERK22QStyleOptionTabBarBase @ 5273 NONAME + _ZN25QGraphicsDropShadowEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5274 NONAME + _ZN25QGraphicsDropShadowEffect11qt_metacastEPKc @ 5275 NONAME + _ZN25QGraphicsDropShadowEffect12colorChangedERK6QColor @ 5276 NONAME + _ZN25QGraphicsDropShadowEffect13offsetChangedERK7QPointF @ 5277 NONAME + _ZN25QGraphicsDropShadowEffect13setBlurRadiusEi @ 5278 NONAME + _ZN25QGraphicsDropShadowEffect16staticMetaObjectE @ 5279 NONAME DATA 16 + _ZN25QGraphicsDropShadowEffect17blurRadiusChangedEi @ 5280 NONAME + _ZN25QGraphicsDropShadowEffect19getStaticMetaObjectEv @ 5281 NONAME + _ZN25QGraphicsDropShadowEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5282 NONAME + _ZN25QGraphicsDropShadowEffect8setColorERK6QColor @ 5283 NONAME + _ZN25QGraphicsDropShadowEffect9setOffsetERK7QPointF @ 5284 NONAME + _ZN25QGraphicsDropShadowEffectC1EP7QObject @ 5285 NONAME + _ZN25QGraphicsDropShadowEffectC2EP7QObject @ 5286 NONAME + _ZN25QGraphicsDropShadowEffectD0Ev @ 5287 NONAME + _ZN25QGraphicsDropShadowEffectD1Ev @ 5288 NONAME + _ZN25QGraphicsDropShadowEffectD2Ev @ 5289 NONAME + _ZN25QGraphicsSceneResizeEvent10setNewSizeERK6QSizeF @ 5290 NONAME + _ZN25QGraphicsSceneResizeEvent10setOldSizeERK6QSizeF @ 5291 NONAME + _ZN25QGraphicsSceneResizeEventC1Ev @ 5292 NONAME + _ZN25QGraphicsSceneResizeEventC2Ev @ 5293 NONAME + _ZN25QGraphicsSceneResizeEventD0Ev @ 5294 NONAME + _ZN25QGraphicsSceneResizeEventD1Ev @ 5295 NONAME + _ZN25QGraphicsSceneResizeEventD2Ev @ 5296 NONAME + _ZN25QStyleOptionProgressBarV2C1ERK23QStyleOptionProgressBar @ 5297 NONAME + _ZN25QStyleOptionProgressBarV2C1ERKS_ @ 5298 NONAME + _ZN25QStyleOptionProgressBarV2C1Ei @ 5299 NONAME + _ZN25QStyleOptionProgressBarV2C1Ev @ 5300 NONAME + _ZN25QStyleOptionProgressBarV2C2ERK23QStyleOptionProgressBar @ 5301 NONAME + _ZN25QStyleOptionProgressBarV2C2ERKS_ @ 5302 NONAME + _ZN25QStyleOptionProgressBarV2C2Ei @ 5303 NONAME + _ZN25QStyleOptionProgressBarV2C2Ev @ 5304 NONAME + _ZN25QStyleOptionProgressBarV2aSERK23QStyleOptionProgressBar @ 5305 NONAME + _ZN26QAbstractGraphicsShapeItem6setPenERK4QPen @ 5306 NONAME + _ZN26QAbstractGraphicsShapeItem8setBrushERK6QBrush @ 5307 NONAME + _ZN26QAbstractGraphicsShapeItemC2EP13QGraphicsItemP14QGraphicsScene @ 5308 NONAME + _ZN26QAbstractGraphicsShapeItemC2ER33QAbstractGraphicsShapeItemPrivateP13QGraphicsItemP14QGraphicsScene @ 5309 NONAME + _ZN26QAbstractGraphicsShapeItemD0Ev @ 5310 NONAME + _ZN26QAbstractGraphicsShapeItemD1Ev @ 5311 NONAME + _ZN26QAbstractGraphicsShapeItemD2Ev @ 5312 NONAME + _ZN26QStyleOptionQ3ListViewItemC1Ei @ 5313 NONAME + _ZN26QStyleOptionQ3ListViewItemC1Ev @ 5314 NONAME + _ZN26QStyleOptionQ3ListViewItemC2Ei @ 5315 NONAME + _ZN26QStyleOptionQ3ListViewItemC2Ev @ 5316 NONAME + _ZN26QStyleOptionTabWidgetFrameC1Ei @ 5317 NONAME + _ZN26QStyleOptionTabWidgetFrameC1Ev @ 5318 NONAME + _ZN26QStyleOptionTabWidgetFrameC2Ei @ 5319 NONAME + _ZN26QStyleOptionTabWidgetFrameC2Ev @ 5320 NONAME + _ZN26QTableWidgetSelectionRangeC1ERKS_ @ 5321 NONAME + _ZN26QTableWidgetSelectionRangeC1Eiiii @ 5322 NONAME + _ZN26QTableWidgetSelectionRangeC1Ev @ 5323 NONAME + _ZN26QTableWidgetSelectionRangeC2ERKS_ @ 5324 NONAME + _ZN26QTableWidgetSelectionRangeC2Eiiii @ 5325 NONAME + _ZN26QTableWidgetSelectionRangeC2Ev @ 5326 NONAME + _ZN26QTableWidgetSelectionRangeD1Ev @ 5327 NONAME + _ZN26QTableWidgetSelectionRangeD2Ev @ 5328 NONAME + _ZN27QAbstractTextDocumentLayout11formatIndexEi @ 5329 NONAME + _ZN27QAbstractTextDocumentLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 5330 NONAME + _ZN27QAbstractTextDocumentLayout11qt_metacastEPKc @ 5331 NONAME + _ZN27QAbstractTextDocumentLayout11updateBlockERK10QTextBlock @ 5332 NONAME + _ZN27QAbstractTextDocumentLayout14setPaintDeviceEP12QPaintDevice @ 5333 NONAME + _ZN27QAbstractTextDocumentLayout15registerHandlerEiP7QObject @ 5334 NONAME + _ZN27QAbstractTextDocumentLayout16drawInlineObjectEP8QPainterRK6QRectF17QTextInlineObjectiRK11QTextFormat @ 5335 NONAME + _ZN27QAbstractTextDocumentLayout16pageCountChangedEi @ 5336 NONAME + _ZN27QAbstractTextDocumentLayout16staticMetaObjectE @ 5337 NONAME DATA 16 + _ZN27QAbstractTextDocumentLayout18resizeInlineObjectE17QTextInlineObjectiRK11QTextFormat @ 5338 NONAME + _ZN27QAbstractTextDocumentLayout19documentSizeChangedERK6QSizeF @ 5339 NONAME + _ZN27QAbstractTextDocumentLayout19getStaticMetaObjectEv @ 5340 NONAME + _ZN27QAbstractTextDocumentLayout20positionInlineObjectE17QTextInlineObjectiRK11QTextFormat @ 5341 NONAME + _ZN27QAbstractTextDocumentLayout6formatEi @ 5342 NONAME + _ZN27QAbstractTextDocumentLayout6updateERK6QRectF @ 5343 NONAME + _ZN27QAbstractTextDocumentLayoutC2EP13QTextDocument @ 5344 NONAME + _ZN27QAbstractTextDocumentLayoutC2ER34QAbstractTextDocumentLayoutPrivateP13QTextDocument @ 5345 NONAME + _ZN27QAbstractTextDocumentLayoutD0Ev @ 5346 NONAME + _ZN27QAbstractTextDocumentLayoutD1Ev @ 5347 NONAME + _ZN27QAbstractTextDocumentLayoutD2Ev @ 5348 NONAME + _ZN27QGraphicsSceneDragDropEvent10setButtonsE6QFlagsIN2Qt11MouseButtonEE @ 5349 NONAME + _ZN27QGraphicsSceneDragDropEvent11setMimeDataEPK9QMimeData @ 5350 NONAME + _ZN27QGraphicsSceneDragDropEvent11setScenePosERK7QPointF @ 5351 NONAME + _ZN27QGraphicsSceneDragDropEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5352 NONAME + _ZN27QGraphicsSceneDragDropEvent12setScreenPosERK6QPoint @ 5353 NONAME + _ZN27QGraphicsSceneDragDropEvent13setDropActionEN2Qt10DropActionE @ 5354 NONAME + _ZN27QGraphicsSceneDragDropEvent17setProposedActionEN2Qt10DropActionE @ 5355 NONAME + _ZN27QGraphicsSceneDragDropEvent18setPossibleActionsE6QFlagsIN2Qt10DropActionEE @ 5356 NONAME + _ZN27QGraphicsSceneDragDropEvent20acceptProposedActionEv @ 5357 NONAME + _ZN27QGraphicsSceneDragDropEvent6setPosERK7QPointF @ 5358 NONAME + _ZN27QGraphicsSceneDragDropEvent9setSourceEP7QWidget @ 5359 NONAME + _ZN27QGraphicsSceneDragDropEventC1EN6QEvent4TypeE @ 5360 NONAME + _ZN27QGraphicsSceneDragDropEventC2EN6QEvent4TypeE @ 5361 NONAME + _ZN27QGraphicsSceneDragDropEventD0Ev @ 5362 NONAME + _ZN27QGraphicsSceneDragDropEventD1Ev @ 5363 NONAME + _ZN27QGraphicsSceneDragDropEventD2Ev @ 5364 NONAME + _ZN2Qt12codecForHtmlERK10QByteArray @ 5365 NONAME + _ZN2Qt15mightBeRichTextERK7QString @ 5366 NONAME + _ZN2Qt20convertFromPlainTextERK7QStringNS_14WhiteSpaceModeE @ 5367 NONAME + _ZN2Qt6escapeERK7QString @ 5368 NONAME + _ZN30QGraphicsSceneContextMenuEvent11setScenePosERK7QPointF @ 5369 NONAME + _ZN30QGraphicsSceneContextMenuEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5370 NONAME + _ZN30QGraphicsSceneContextMenuEvent12setScreenPosERK6QPoint @ 5371 NONAME + _ZN30QGraphicsSceneContextMenuEvent6setPosERK7QPointF @ 5372 NONAME + _ZN30QGraphicsSceneContextMenuEvent9setReasonENS_6ReasonE @ 5373 NONAME + _ZN30QGraphicsSceneContextMenuEventC1EN6QEvent4TypeE @ 5374 NONAME + _ZN30QGraphicsSceneContextMenuEventC2EN6QEvent4TypeE @ 5375 NONAME + _ZN30QGraphicsSceneContextMenuEventD0Ev @ 5376 NONAME + _ZN30QGraphicsSceneContextMenuEventD1Ev @ 5377 NONAME + _ZN30QGraphicsSceneContextMenuEventD2Ev @ 5378 NONAME + _ZN4QCss13StyleSelector15selectorMatchesERKNS_8SelectorENS0_7NodePtrE @ 5379 NONAME + _ZN4QCss13StyleSelector17styleRulesForNodeENS0_7NodePtrE @ 5380 NONAME + _ZN4QCss13StyleSelector19declarationsForNodeENS0_7NodePtrEPKc @ 5381 NONAME + _ZN4QCss13StyleSelector20basicSelectorMatchesERKNS_13BasicSelectorENS0_7NodePtrE @ 5382 NONAME + _ZN4QCss13StyleSelector9matchRuleENS0_7NodePtrERKNS_9StyleRuleENS_16StyleSheetOriginEiP4QMapIjS2_E @ 5383 NONAME + _ZN4QCss13StyleSelectorD0Ev @ 5384 NONAME + _ZN4QCss13StyleSelectorD1Ev @ 5385 NONAME + _ZN4QCss13StyleSelectorD2Ev @ 5386 NONAME + _ZN4QCss6Parser10lexemUntilENS_9TokenTypeE @ 5387 NONAME + _ZN4QCss6Parser10parseClassEP7QString @ 5388 NONAME + _ZN4QCss6Parser10parseMediaEPNS_9MediaRuleE @ 5389 NONAME + _ZN4QCss6Parser11errorSymbolEv @ 5390 NONAME + _ZN4QCss6Parser11parseAttribEPNS_17AttributeSelectorE @ 5391 NONAME + _ZN4QCss6Parser11parseImportEPNS_10ImportRuleE @ 5392 NONAME + _ZN4QCss6Parser11parseMediumEP11QStringList @ 5393 NONAME + _ZN4QCss6Parser11parsePseudoEPNS_6PseudoE @ 5394 NONAME + _ZN4QCss6Parser12parseRulesetEPNS_9StyleRuleE @ 5395 NONAME + _ZN4QCss6Parser13parseFunctionEP7QStringS2_ @ 5396 NONAME + _ZN4QCss6Parser13parseHexColorEP6QColor @ 5397 NONAME + _ZN4QCss6Parser13parsePropertyEPNS_11DeclarationE @ 5398 NONAME + _ZN4QCss6Parser13parseSelectorEPNS_8SelectorE @ 5399 NONAME + _ZN4QCss6Parser15parseCombinatorEPNS_13BasicSelector8RelationE @ 5400 NONAME + _ZN4QCss6Parser15parsePseudoPageEP7QString @ 5401 NONAME + _ZN4QCss6Parser15testAndParseUriEP7QString @ 5402 NONAME + _ZN4QCss6Parser16parseElementNameEP7QString @ 5403 NONAME + _ZN4QCss6Parser17parseNextOperatorEPNS_5ValueE @ 5404 NONAME + _ZN4QCss6Parser18testSimpleSelectorEv @ 5405 NONAME + _ZN4QCss6Parser19parseSimpleSelectorEPNS_13BasicSelectorE @ 5406 NONAME + _ZN4QCss6Parser20parseNextDeclarationEPNS_11DeclarationE @ 5407 NONAME + _ZN4QCss6Parser20testTokenAndEndsWithENS_9TokenTypeERK13QLatin1String @ 5408 NONAME + _ZN4QCss6Parser4initERK7QStringb @ 5409 NONAME + _ZN4QCss6Parser4nextENS_9TokenTypeE @ 5410 NONAME + _ZN4QCss6Parser4testENS_9TokenTypeE @ 5411 NONAME + _ZN4QCss6Parser5parseEPNS_10StyleSheetEN2Qt15CaseSensitivityE @ 5412 NONAME + _ZN4QCss6Parser5untilENS_9TokenTypeES1_ @ 5413 NONAME + _ZN4QCss6Parser8testPrioEv @ 5414 NONAME + _ZN4QCss6Parser8testTermEv @ 5415 NONAME + _ZN4QCss6Parser9parseExprEP7QVectorINS_5ValueEE @ 5416 NONAME + _ZN4QCss6Parser9parsePageEPNS_8PageRuleE @ 5417 NONAME + _ZN4QCss6Parser9parsePrioEPNS_11DeclarationE @ 5418 NONAME + _ZN4QCss6Parser9parseTermEPNS_5ValueE @ 5419 NONAME + _ZN4QCss6ParserC1ERK7QStringb @ 5420 NONAME + _ZN4QCss6ParserC1Ev @ 5421 NONAME + _ZN4QCss6ParserC2ERK7QStringb @ 5422 NONAME + _ZN4QCss6ParserC2Ev @ 5423 NONAME + _ZN4QPen10isDetachedEv @ 5424 NONAME + _ZN4QPen11setCapStyleEN2Qt11PenCapStyleE @ 5425 NONAME + _ZN4QPen11setCosmeticEb @ 5426 NONAME + _ZN4QPen12setJoinStyleEN2Qt12PenJoinStyleE @ 5427 NONAME + _ZN4QPen13setDashOffsetEf @ 5428 NONAME + _ZN4QPen13setMiterLimitEf @ 5429 NONAME + _ZN4QPen14setDashPatternERK7QVectorIfE @ 5430 NONAME + _ZN4QPen6detachEv @ 5431 NONAME + _ZN4QPen8setBrushERK6QBrush @ 5432 NONAME + _ZN4QPen8setColorERK6QColor @ 5433 NONAME + _ZN4QPen8setStyleEN2Qt8PenStyleE @ 5434 NONAME + _ZN4QPen8setWidthEi @ 5435 NONAME + _ZN4QPen9setWidthFEf @ 5436 NONAME + _ZN4QPenC1EN2Qt8PenStyleE @ 5437 NONAME + _ZN4QPenC1ERK6QBrushfN2Qt8PenStyleENS3_11PenCapStyleENS3_12PenJoinStyleE @ 5438 NONAME + _ZN4QPenC1ERK6QColor @ 5439 NONAME + _ZN4QPenC1ERKS_ @ 5440 NONAME + _ZN4QPenC1Ev @ 5441 NONAME + _ZN4QPenC2EN2Qt8PenStyleE @ 5442 NONAME + _ZN4QPenC2ERK6QBrushfN2Qt8PenStyleENS3_11PenCapStyleENS3_12PenJoinStyleE @ 5443 NONAME + _ZN4QPenC2ERK6QColor @ 5444 NONAME + _ZN4QPenC2ERKS_ @ 5445 NONAME + _ZN4QPenC2Ev @ 5446 NONAME + _ZN4QPenD1Ev @ 5447 NONAME + _ZN4QPenD2Ev @ 5448 NONAME + _ZN4QPenaSERKS_ @ 5449 NONAME + _ZN5QDial10paintEventEP11QPaintEvent @ 5450 NONAME + _ZN5QDial11qt_metacallEN11QMetaObject4CallEiPPv @ 5451 NONAME + _ZN5QDial11qt_metacastEPKc @ 5452 NONAME + _ZN5QDial11resizeEventEP12QResizeEvent @ 5453 NONAME + _ZN5QDial11setWrappingEb @ 5454 NONAME + _ZN5QDial12sliderChangeEN15QAbstractSlider12SliderChangeE @ 5455 NONAME + _ZN5QDial14mouseMoveEventEP11QMouseEvent @ 5456 NONAME + _ZN5QDial14setNotchTargetEd @ 5457 NONAME + _ZN5QDial15mousePressEventEP11QMouseEvent @ 5458 NONAME + _ZN5QDial16staticMetaObjectE @ 5459 NONAME DATA 16 + _ZN5QDial17mouseReleaseEventEP11QMouseEvent @ 5460 NONAME + _ZN5QDial17setNotchesVisibleEb @ 5461 NONAME + _ZN5QDial19getStaticMetaObjectEv @ 5462 NONAME + _ZN5QDial5eventEP6QEvent @ 5463 NONAME + _ZN5QDialC1EP7QWidget @ 5464 NONAME + _ZN5QDialC2EP7QWidget @ 5465 NONAME + _ZN5QDialD0Ev @ 5466 NONAME + _ZN5QDialD1Ev @ 5467 NONAME + _ZN5QDialD2Ev @ 5468 NONAME + _ZN5QDrag10setHotSpotERK6QPoint @ 5469 NONAME + _ZN5QDrag11qt_metacallEN11QMetaObject4CallEiPPv @ 5470 NONAME + _ZN5QDrag11qt_metacastEPKc @ 5471 NONAME + _ZN5QDrag11setMimeDataEP9QMimeData @ 5472 NONAME + _ZN5QDrag13actionChangedEN2Qt10DropActionE @ 5473 NONAME + _ZN5QDrag13setDragCursorERK7QPixmapN2Qt10DropActionE @ 5474 NONAME + _ZN5QDrag13targetChangedEP7QWidget @ 5475 NONAME + _ZN5QDrag16staticMetaObjectE @ 5476 NONAME DATA 16 + _ZN5QDrag19getStaticMetaObjectEv @ 5477 NONAME + _ZN5QDrag4execE6QFlagsIN2Qt10DropActionEE @ 5478 NONAME + _ZN5QDrag4execE6QFlagsIN2Qt10DropActionEES2_ @ 5479 NONAME + _ZN5QDrag5startE6QFlagsIN2Qt10DropActionEE @ 5480 NONAME + _ZN5QDrag9setPixmapERK7QPixmap @ 5481 NONAME + _ZN5QDragC1EP7QWidget @ 5482 NONAME + _ZN5QDragC2EP7QWidget @ 5483 NONAME + _ZN5QDragD0Ev @ 5484 NONAME + _ZN5QDragD1Ev @ 5485 NONAME + _ZN5QDragD2Ev @ 5486 NONAME + _ZN5QFont10fromStringERK7QString @ 5487 NONAME + _ZN5QFont10setKerningEb @ 5488 NONAME + _ZN5QFont10setRawModeEb @ 5489 NONAME + _ZN5QFont10setStretchEi @ 5490 NONAME + _ZN5QFont10substituteERK7QString @ 5491 NONAME + _ZN5QFont11setOverlineEb @ 5492 NONAME + _ZN5QFont11substitutesERK7QString @ 5493 NONAME + _ZN5QFont12setPixelSizeEi @ 5494 NONAME + _ZN5QFont12setPointSizeEi @ 5495 NONAME + _ZN5QFont12setStrikeOutEb @ 5496 NONAME + _ZN5QFont12setStyleHintENS_9StyleHintENS_13StyleStrategyE @ 5497 NONAME + _ZN5QFont12setUnderlineEb @ 5498 NONAME + _ZN5QFont13setFixedPitchEb @ 5499 NONAME + _ZN5QFont13setPointSizeFEf @ 5500 NONAME + _ZN5QFont13substitutionsEv @ 5501 NONAME + _ZN5QFont14setWordSpacingEf @ 5502 NONAME + _ZN5QFont15cacheStatisticsEv @ 5503 NONAME + _ZN5QFont16setLetterSpacingENS_11SpacingTypeEf @ 5504 NONAME + _ZN5QFont16setStyleStrategyENS_13StyleStrategyE @ 5505 NONAME + _ZN5QFont16staticMetaObjectE @ 5506 NONAME DATA 16 + _ZN5QFont17setCapitalizationENS_14CapitalizationE @ 5507 NONAME + _ZN5QFont18insertSubstitutionERK7QStringS2_ @ 5508 NONAME + _ZN5QFont18removeSubstitutionERK7QString @ 5509 NONAME + _ZN5QFont19getStaticMetaObjectEv @ 5510 NONAME + _ZN5QFont19insertSubstitutionsERK7QStringRK11QStringList @ 5511 NONAME + _ZN5QFont6detachEv @ 5512 NONAME + _ZN5QFont8setStyleENS_5StyleE @ 5513 NONAME + _ZN5QFont9setFamilyERK7QString @ 5514 NONAME + _ZN5QFont9setWeightEi @ 5515 NONAME + _ZN5QFontC1EP12QFontPrivate @ 5516 NONAME + _ZN5QFontC1ERK7QStringiib @ 5517 NONAME + _ZN5QFontC1ERKS_ @ 5518 NONAME + _ZN5QFontC1ERKS_P12QPaintDevice @ 5519 NONAME + _ZN5QFontC1Ev @ 5520 NONAME + _ZN5QFontC2EP12QFontPrivate @ 5521 NONAME + _ZN5QFontC2ERK7QStringiib @ 5522 NONAME + _ZN5QFontC2ERKS_ @ 5523 NONAME + _ZN5QFontC2ERKS_P12QPaintDevice @ 5524 NONAME + _ZN5QFontC2Ev @ 5525 NONAME + _ZN5QFontD1Ev @ 5526 NONAME + _ZN5QFontD2Ev @ 5527 NONAME + _ZN5QFontaSERKS_ @ 5528 NONAME + _ZN5QIcon12hasThemeIconERK7QString @ 5529 NONAME + _ZN5QIcon12setThemeNameERK7QString @ 5530 NONAME + _ZN5QIcon16themeSearchPathsEv @ 5531 NONAME + _ZN5QIcon19setThemeSearchPathsERK11QStringList @ 5532 NONAME + _ZN5QIcon6detachEv @ 5533 NONAME + _ZN5QIcon7addFileERK7QStringRK5QSizeNS_4ModeENS_5StateE @ 5534 NONAME + _ZN5QIcon9addPixmapERK7QPixmapNS_4ModeENS_5StateE @ 5535 NONAME + _ZN5QIcon9fromThemeERK7QStringRKS_ @ 5536 NONAME + _ZN5QIcon9themeNameEv @ 5537 NONAME + _ZN5QIconC1EP11QIconEngine @ 5538 NONAME + _ZN5QIconC1EP13QIconEngineV2 @ 5539 NONAME + _ZN5QIconC1ERK7QPixmap @ 5540 NONAME + _ZN5QIconC1ERK7QString @ 5541 NONAME + _ZN5QIconC1ERKS_ @ 5542 NONAME + _ZN5QIconC1Ev @ 5543 NONAME + _ZN5QIconC2EP11QIconEngine @ 5544 NONAME + _ZN5QIconC2EP13QIconEngineV2 @ 5545 NONAME + _ZN5QIconC2ERK7QPixmap @ 5546 NONAME + _ZN5QIconC2ERK7QString @ 5547 NONAME + _ZN5QIconC2ERKS_ @ 5548 NONAME + _ZN5QIconC2Ev @ 5549 NONAME + _ZN5QIconD1Ev @ 5550 NONAME + _ZN5QIconD2Ev @ 5551 NONAME + _ZN5QIconaSERKS_ @ 5552 NONAME + _ZN5QMenu10enterEventEP6QEvent @ 5553 NONAME + _ZN5QMenu10insertMenuEP7QActionPS_ @ 5554 NONAME + _ZN5QMenu10leaveEventEP6QEvent @ 5555 NONAME + _ZN5QMenu10paintEventEP11QPaintEvent @ 5556 NONAME + _ZN5QMenu10timerEventEP11QTimerEvent @ 5557 NONAME + _ZN5QMenu10wheelEventEP11QWheelEvent @ 5558 NONAME + _ZN5QMenu11aboutToHideEv @ 5559 NONAME + _ZN5QMenu11aboutToShowEv @ 5560 NONAME + _ZN5QMenu11actionEventEP12QActionEvent @ 5561 NONAME + _ZN5QMenu11changeEventEP6QEvent @ 5562 NONAME + _ZN5QMenu11qt_metacallEN11QMetaObject4CallEiPPv @ 5563 NONAME + _ZN5QMenu11qt_metacastEPKc @ 5564 NONAME + _ZN5QMenu12addSeparatorEv @ 5565 NONAME + _ZN5QMenu13keyPressEventEP9QKeyEvent @ 5566 NONAME + _ZN5QMenu14mouseMoveEventEP11QMouseEvent @ 5567 NONAME + _ZN5QMenu14setNoReplayForEP7QWidget @ 5568 NONAME + _ZN5QMenu15hideTearOffMenuEv @ 5569 NONAME + _ZN5QMenu15insertSeparatorEP7QAction @ 5570 NONAME + _ZN5QMenu15mousePressEventEP11QMouseEvent @ 5571 NONAME + _ZN5QMenu15setActiveActionEP7QAction @ 5572 NONAME + _ZN5QMenu16setDefaultActionEP7QAction @ 5573 NONAME + _ZN5QMenu16staticMetaObjectE @ 5574 NONAME DATA 16 + _ZN5QMenu17mouseReleaseEventEP11QMouseEvent @ 5575 NONAME + _ZN5QMenu17setTearOffEnabledEb @ 5576 NONAME + _ZN5QMenu18focusNextPrevChildEb @ 5577 NONAME + _ZN5QMenu19getStaticMetaObjectEv @ 5578 NONAME + _ZN5QMenu20internalDelayedPopupEv @ 5579 NONAME + _ZN5QMenu23internalSetSloppyActionEv @ 5580 NONAME + _ZN5QMenu24setSeparatorsCollapsibleEb @ 5581 NONAME + _ZN5QMenu4execE5QListIP7QActionERK6QPointS2_ @ 5582 NONAME + _ZN5QMenu4execE5QListIP7QActionERK6QPointS2_P7QWidget @ 5583 NONAME + _ZN5QMenu4execERK6QPointP7QAction @ 5584 NONAME + _ZN5QMenu4execEv @ 5585 NONAME + _ZN5QMenu5clearEv @ 5586 NONAME + _ZN5QMenu5eventEP6QEvent @ 5587 NONAME + _ZN5QMenu5popupERK6QPointP7QAction @ 5588 NONAME + _ZN5QMenu7addMenuEPS_ @ 5589 NONAME + _ZN5QMenu7addMenuERK5QIconRK7QString @ 5590 NONAME + _ZN5QMenu7addMenuERK7QString @ 5591 NONAME + _ZN5QMenu7hoveredEP7QAction @ 5592 NONAME + _ZN5QMenu7setIconERK5QIcon @ 5593 NONAME + _ZN5QMenu8setTitleERK7QString @ 5594 NONAME + _ZN5QMenu9addActionERK5QIconRK7QString @ 5595 NONAME + _ZN5QMenu9addActionERK5QIconRK7QStringPK7QObjectPKcRK12QKeySequence @ 5596 NONAME + _ZN5QMenu9addActionERK7QString @ 5597 NONAME + _ZN5QMenu9addActionERK7QStringPK7QObjectPKcRK12QKeySequence @ 5598 NONAME + _ZN5QMenu9hideEventEP10QHideEvent @ 5599 NONAME + _ZN5QMenu9triggeredEP7QAction @ 5600 NONAME + _ZN5QMenuC1EP7QWidget @ 5601 NONAME + _ZN5QMenuC1ER12QMenuPrivateP7QWidget @ 5602 NONAME + _ZN5QMenuC1ERK7QStringP7QWidget @ 5603 NONAME + _ZN5QMenuC2EP7QWidget @ 5604 NONAME + _ZN5QMenuC2ER12QMenuPrivateP7QWidget @ 5605 NONAME + _ZN5QMenuC2ERK7QStringP7QWidget @ 5606 NONAME + _ZN5QMenuD0Ev @ 5607 NONAME + _ZN5QMenuD1Ev @ 5608 NONAME + _ZN5QMenuD2Ev @ 5609 NONAME + _ZN6QBrush10setTextureERK7QPixmap @ 5610 NONAME + _ZN6QBrush12setTransformERK10QTransform @ 5611 NONAME + _ZN6QBrush15setTextureImageERK6QImage @ 5612 NONAME + _ZN6QBrush4initERK6QColorN2Qt10BrushStyleE @ 5613 NONAME + _ZN6QBrush6detachEN2Qt10BrushStyleE @ 5614 NONAME + _ZN6QBrush7cleanUpEP10QBrushData @ 5615 NONAME + _ZN6QBrush8setColorERK6QColor @ 5616 NONAME + _ZN6QBrush8setStyleEN2Qt10BrushStyleE @ 5617 NONAME + _ZN6QBrush9setMatrixERK7QMatrix @ 5618 NONAME + _ZN6QBrushC1EN2Qt10BrushStyleE @ 5619 NONAME + _ZN6QBrushC1EN2Qt11GlobalColorENS0_10BrushStyleE @ 5620 NONAME + _ZN6QBrushC1EN2Qt11GlobalColorERK7QPixmap @ 5621 NONAME + _ZN6QBrushC1ERK6QColorN2Qt10BrushStyleE @ 5622 NONAME + _ZN6QBrushC1ERK6QColorRK7QPixmap @ 5623 NONAME + _ZN6QBrushC1ERK6QImage @ 5624 NONAME + _ZN6QBrushC1ERK7QPixmap @ 5625 NONAME + _ZN6QBrushC1ERK9QGradient @ 5626 NONAME + _ZN6QBrushC1ERKS_ @ 5627 NONAME + _ZN6QBrushC1Ev @ 5628 NONAME + _ZN6QBrushC2EN2Qt10BrushStyleE @ 5629 NONAME + _ZN6QBrushC2EN2Qt11GlobalColorENS0_10BrushStyleE @ 5630 NONAME + _ZN6QBrushC2EN2Qt11GlobalColorERK7QPixmap @ 5631 NONAME + _ZN6QBrushC2ERK6QColorN2Qt10BrushStyleE @ 5632 NONAME + _ZN6QBrushC2ERK6QColorRK7QPixmap @ 5633 NONAME + _ZN6QBrushC2ERK6QImage @ 5634 NONAME + _ZN6QBrushC2ERK7QPixmap @ 5635 NONAME + _ZN6QBrushC2ERK9QGradient @ 5636 NONAME + _ZN6QBrushC2ERKS_ @ 5637 NONAME + _ZN6QBrushC2Ev @ 5638 NONAME + _ZN6QBrushD1Ev @ 5639 NONAME + _ZN6QBrushD2Ev @ 5640 NONAME + _ZN6QBrushaSERKS_ @ 5641 NONAME + _ZN6QColor10colorNamesEv @ 5642 NONAME + _ZN6QColor10invalidateEv @ 5643 NONAME + _ZN6QColor13setNamedColorERK7QString @ 5644 NONAME + _ZN6QColor6setHslEiiii @ 5645 NONAME + _ZN6QColor6setHsvEiiii @ 5646 NONAME + _ZN6QColor6setRedEi @ 5647 NONAME + _ZN6QColor6setRgbEiiii @ 5648 NONAME + _ZN6QColor6setRgbEj @ 5649 NONAME + _ZN6QColor7fromHslEiiii @ 5650 NONAME + _ZN6QColor7fromHsvEiiii @ 5651 NONAME + _ZN6QColor7fromRgbEiiii @ 5652 NONAME + _ZN6QColor7fromRgbEj @ 5653 NONAME + _ZN6QColor7getCmykEPiS0_S0_S0_S0_ @ 5654 NONAME + _ZN6QColor7setBlueEi @ 5655 NONAME + _ZN6QColor7setCmykEiiiii @ 5656 NONAME + _ZN6QColor7setHslFEffff @ 5657 NONAME + _ZN6QColor7setHsvFEffff @ 5658 NONAME + _ZN6QColor7setRedFEf @ 5659 NONAME + _ZN6QColor7setRgbFEffff @ 5660 NONAME + _ZN6QColor7setRgbaEj @ 5661 NONAME + _ZN6QColor8fromCmykEiiiii @ 5662 NONAME + _ZN6QColor8fromHslFEffff @ 5663 NONAME + _ZN6QColor8fromHsvFEffff @ 5664 NONAME + _ZN6QColor8fromRgbFEffff @ 5665 NONAME + _ZN6QColor8fromRgbaEj @ 5666 NONAME + _ZN6QColor8getCmykFEPfS0_S0_S0_S0_ @ 5667 NONAME + _ZN6QColor8setAlphaEi @ 5668 NONAME + _ZN6QColor8setBlueFEf @ 5669 NONAME + _ZN6QColor8setCmykFEfffff @ 5670 NONAME + _ZN6QColor8setGreenEi @ 5671 NONAME + _ZN6QColor9fromCmykFEfffff @ 5672 NONAME + _ZN6QColor9setAlphaFEf @ 5673 NONAME + _ZN6QColor9setGreenFEf @ 5674 NONAME + _ZN6QColorC1EN2Qt11GlobalColorE @ 5675 NONAME + _ZN6QColorC1ENS_4SpecE @ 5676 NONAME + _ZN6QColorC1Ej @ 5677 NONAME + _ZN6QColorC2EN2Qt11GlobalColorE @ 5678 NONAME + _ZN6QColorC2ENS_4SpecE @ 5679 NONAME + _ZN6QColorC2Ej @ 5680 NONAME + _ZN6QColoraSEN2Qt11GlobalColorE @ 5681 NONAME + _ZN6QColoraSERKS_ @ 5682 NONAME + _ZN6QFrame10paintEventEP11QPaintEvent @ 5683 NONAME + _ZN6QFrame11changeEventEP6QEvent @ 5684 NONAME + _ZN6QFrame11qt_metacallEN11QMetaObject4CallEiPPv @ 5685 NONAME + _ZN6QFrame11qt_metacastEPKc @ 5686 NONAME + _ZN6QFrame12setFrameRectERK5QRect @ 5687 NONAME + _ZN6QFrame12setLineWidthEi @ 5688 NONAME + _ZN6QFrame13setFrameShapeENS_5ShapeE @ 5689 NONAME + _ZN6QFrame13setFrameStyleEi @ 5690 NONAME + _ZN6QFrame14setFrameShadowENS_6ShadowE @ 5691 NONAME + _ZN6QFrame15setMidLineWidthEi @ 5692 NONAME + _ZN6QFrame16staticMetaObjectE @ 5693 NONAME DATA 16 + _ZN6QFrame19getStaticMetaObjectEv @ 5694 NONAME + _ZN6QFrame5eventEP6QEvent @ 5695 NONAME + _ZN6QFrame9drawFrameEP8QPainter @ 5696 NONAME + _ZN6QFrameC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5697 NONAME + _ZN6QFrameC1ER13QFramePrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5698 NONAME + _ZN6QFrameC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5699 NONAME + _ZN6QFrameC2ER13QFramePrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5700 NONAME + _ZN6QFrameD0Ev @ 5701 NONAME + _ZN6QFrameD1Ev @ 5702 NONAME + _ZN6QFrameD2Ev @ 5703 NONAME + _ZN6QImage10trueMatrixERK10QTransformii @ 5704 NONAME + _ZN6QImage10trueMatrixERK7QMatrixii @ 5705 NONAME + _ZN6QImage12invertPixelsENS_10InvertModeE @ 5706 NONAME + _ZN6QImage12loadFromDataEPKhiPKc @ 5707 NONAME + _ZN6QImage12setNumColorsEi @ 5708 NONAME + _ZN6QImage13setColorTableE7QVectorIjE @ 5709 NONAME + _ZN6QImage15setAlphaChannelERKS_ @ 5710 NONAME + _ZN6QImage16setDotsPerMeterXEi @ 5711 NONAME + _ZN6QImage16setDotsPerMeterYEi @ 5712 NONAME + _ZN6QImage4bitsEv @ 5713 NONAME + _ZN6QImage4fillEj @ 5714 NONAME + _ZN6QImage4loadEP9QIODevicePKc @ 5715 NONAME + _ZN6QImage4loadERK7QStringPKc @ 5716 NONAME + _ZN6QImage6detachEv @ 5717 NONAME + _ZN6QImage7setTextEPKcS1_RK7QString @ 5718 NONAME + _ZN6QImage7setTextERK7QStringS2_ @ 5719 NONAME + _ZN6QImage8fromDataEPKhiPKc @ 5720 NONAME + _ZN6QImage8scanLineEi @ 5721 NONAME + _ZN6QImage8setColorEij @ 5722 NONAME + _ZN6QImage8setPixelEiij @ 5723 NONAME + _ZN6QImage9setOffsetERK6QPoint @ 5724 NONAME + _ZN6QImageC1EPKPKc @ 5725 NONAME + _ZN6QImageC1EPKcS1_ @ 5726 NONAME + _ZN6QImageC1EPKhiiNS_6FormatE @ 5727 NONAME + _ZN6QImageC1EPKhiiiNS_6FormatE @ 5728 NONAME + _ZN6QImageC1EPhiiNS_6FormatE @ 5729 NONAME + _ZN6QImageC1EPhiiiNS_6FormatE @ 5730 NONAME + _ZN6QImageC1ERK5QSizeNS_6FormatE @ 5731 NONAME + _ZN6QImageC1ERK7QStringPKc @ 5732 NONAME + _ZN6QImageC1ERKS_ @ 5733 NONAME + _ZN6QImageC1EiiNS_6FormatE @ 5734 NONAME + _ZN6QImageC1Ev @ 5735 NONAME + _ZN6QImageC2EPKPKc @ 5736 NONAME + _ZN6QImageC2EPKcS1_ @ 5737 NONAME + _ZN6QImageC2EPKhiiNS_6FormatE @ 5738 NONAME + _ZN6QImageC2EPKhiiiNS_6FormatE @ 5739 NONAME + _ZN6QImageC2EPhiiNS_6FormatE @ 5740 NONAME + _ZN6QImageC2EPhiiiNS_6FormatE @ 5741 NONAME + _ZN6QImageC2ERK5QSizeNS_6FormatE @ 5742 NONAME + _ZN6QImageC2ERK7QStringPKc @ 5743 NONAME + _ZN6QImageC2ERKS_ @ 5744 NONAME + _ZN6QImageC2EiiNS_6FormatE @ 5745 NONAME + _ZN6QImageC2Ev @ 5746 NONAME + _ZN6QImageD0Ev @ 5747 NONAME + _ZN6QImageD1Ev @ 5748 NONAME + _ZN6QImageD2Ev @ 5749 NONAME + _ZN6QImageaSERKS_ @ 5750 NONAME + _ZN6QLabel10paintEventEP11QPaintEvent @ 5751 NONAME + _ZN6QLabel10setPictureERK8QPicture @ 5752 NONAME + _ZN6QLabel11changeEventEP6QEvent @ 5753 NONAME + _ZN6QLabel11linkHoveredERK7QString @ 5754 NONAME + _ZN6QLabel11qt_metacallEN11QMetaObject4CallEiPPv @ 5755 NONAME + _ZN6QLabel11qt_metacastEPKc @ 5756 NONAME + _ZN6QLabel11setWordWrapEb @ 5757 NONAME + _ZN6QLabel12focusInEventEP11QFocusEvent @ 5758 NONAME + _ZN6QLabel12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 5759 NONAME + _ZN6QLabel13focusOutEventEP11QFocusEvent @ 5760 NONAME + _ZN6QLabel13keyPressEventEP9QKeyEvent @ 5761 NONAME + _ZN6QLabel13linkActivatedERK7QString @ 5762 NONAME + _ZN6QLabel13setTextFormatEN2Qt10TextFormatE @ 5763 NONAME + _ZN6QLabel14mouseMoveEventEP11QMouseEvent @ 5764 NONAME + _ZN6QLabel15mousePressEventEP11QMouseEvent @ 5765 NONAME + _ZN6QLabel16contextMenuEventEP17QContextMenuEvent @ 5766 NONAME + _ZN6QLabel16staticMetaObjectE @ 5767 NONAME DATA 16 + _ZN6QLabel17mouseReleaseEventEP11QMouseEvent @ 5768 NONAME + _ZN6QLabel17setScaledContentsEb @ 5769 NONAME + _ZN6QLabel18focusNextPrevChildEb @ 5770 NONAME + _ZN6QLabel19getStaticMetaObjectEv @ 5771 NONAME + _ZN6QLabel20setOpenExternalLinksEb @ 5772 NONAME + _ZN6QLabel23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 5773 NONAME + _ZN6QLabel5clearEv @ 5774 NONAME + _ZN6QLabel5eventEP6QEvent @ 5775 NONAME + _ZN6QLabel6setNumEd @ 5776 NONAME + _ZN6QLabel6setNumEi @ 5777 NONAME + _ZN6QLabel7setTextERK7QString @ 5778 NONAME + _ZN6QLabel8setBuddyEP7QWidget @ 5779 NONAME + _ZN6QLabel8setMovieEP6QMovie @ 5780 NONAME + _ZN6QLabel9setIndentEi @ 5781 NONAME + _ZN6QLabel9setMarginEi @ 5782 NONAME + _ZN6QLabel9setPixmapERK7QPixmap @ 5783 NONAME + _ZN6QLabelC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5784 NONAME + _ZN6QLabelC1ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5785 NONAME + _ZN6QLabelC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5786 NONAME + _ZN6QLabelC2ERK7QStringP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5787 NONAME + _ZN6QLabelD0Ev @ 5788 NONAME + _ZN6QLabelD1Ev @ 5789 NONAME + _ZN6QLabelD2Ev @ 5790 NONAME + _ZN6QMovie10scaledSizeEv @ 5791 NONAME + _ZN6QMovie11jumpToFrameEi @ 5792 NONAME + _ZN6QMovie11qt_metacallEN11QMetaObject4CallEiPPv @ 5793 NONAME + _ZN6QMovie11qt_metacastEPKc @ 5794 NONAME + _ZN6QMovie11setFileNameERK7QString @ 5795 NONAME + _ZN6QMovie12frameChangedEi @ 5796 NONAME + _ZN6QMovie12setCacheModeENS_9CacheModeE @ 5797 NONAME + _ZN6QMovie12stateChangedENS_10MovieStateE @ 5798 NONAME + _ZN6QMovie13setScaledSizeERK5QSize @ 5799 NONAME + _ZN6QMovie15jumpToNextFrameEv @ 5800 NONAME + _ZN6QMovie16staticMetaObjectE @ 5801 NONAME DATA 16 + _ZN6QMovie16supportedFormatsEv @ 5802 NONAME + _ZN6QMovie18setBackgroundColorERK6QColor @ 5803 NONAME + _ZN6QMovie19getStaticMetaObjectEv @ 5804 NONAME + _ZN6QMovie4stopEv @ 5805 NONAME + _ZN6QMovie5errorEN12QImageReader16ImageReaderErrorE @ 5806 NONAME + _ZN6QMovie5startEv @ 5807 NONAME + _ZN6QMovie7resizedERK5QSize @ 5808 NONAME + _ZN6QMovie7startedEv @ 5809 NONAME + _ZN6QMovie7updatedERK5QRect @ 5810 NONAME + _ZN6QMovie8finishedEv @ 5811 NONAME + _ZN6QMovie8setSpeedEi @ 5812 NONAME + _ZN6QMovie9cacheModeEv @ 5813 NONAME + _ZN6QMovie9setDeviceEP9QIODevice @ 5814 NONAME + _ZN6QMovie9setFormatERK10QByteArray @ 5815 NONAME + _ZN6QMovie9setPausedEb @ 5816 NONAME + _ZN6QMovieC1EP7QObject @ 5817 NONAME + _ZN6QMovieC1EP9QIODeviceRK10QByteArrayP7QObject @ 5818 NONAME + _ZN6QMovieC1ERK7QStringRK10QByteArrayP7QObject @ 5819 NONAME + _ZN6QMovieC2EP7QObject @ 5820 NONAME + _ZN6QMovieC2EP9QIODeviceRK10QByteArrayP7QObject @ 5821 NONAME + _ZN6QMovieC2ERK7QStringRK10QByteArrayP7QObject @ 5822 NONAME + _ZN6QMovieD0Ev @ 5823 NONAME + _ZN6QMovieD1Ev @ 5824 NONAME + _ZN6QMovieD2Ev @ 5825 NONAME + _ZN6QSound11isAvailableEv @ 5826 NONAME + _ZN6QSound11qt_metacallEN11QMetaObject4CallEiPPv @ 5827 NONAME + _ZN6QSound11qt_metacastEPKc @ 5828 NONAME + _ZN6QSound16staticMetaObjectE @ 5829 NONAME DATA 16 + _ZN6QSound19getStaticMetaObjectEv @ 5830 NONAME + _ZN6QSound4playERK7QString @ 5831 NONAME + _ZN6QSound4playEv @ 5832 NONAME + _ZN6QSound4stopEv @ 5833 NONAME + _ZN6QSound8setLoopsEi @ 5834 NONAME + _ZN6QSoundC1ERK7QStringP7QObject @ 5835 NONAME + _ZN6QSoundC2ERK7QStringP7QObject @ 5836 NONAME + _ZN6QSoundD0Ev @ 5837 NONAME + _ZN6QSoundD1Ev @ 5838 NONAME + _ZN6QSoundD2Ev @ 5839 NONAME + _ZN6QStyle10visualRectEN2Qt15LayoutDirectionERK5QRectS4_ @ 5840 NONAME + _ZN6QStyle11alignedRectEN2Qt15LayoutDirectionE6QFlagsINS0_13AlignmentFlagEERK5QSizeRK5QRect @ 5841 NONAME + _ZN6QStyle11qt_metacallEN11QMetaObject4CallEiPPv @ 5842 NONAME + _ZN6QStyle11qt_metacastEPKc @ 5843 NONAME + _ZN6QStyle15visualAlignmentEN2Qt15LayoutDirectionE6QFlagsINS0_13AlignmentFlagEE @ 5844 NONAME + _ZN6QStyle16staticMetaObjectE @ 5845 NONAME DATA 16 + _ZN6QStyle19getStaticMetaObjectEv @ 5846 NONAME + _ZN6QStyle23sliderPositionFromValueEiiiib @ 5847 NONAME + _ZN6QStyle23sliderValueFromPositionEiiiib @ 5848 NONAME + _ZN6QStyle6polishEP12QApplication @ 5849 NONAME + _ZN6QStyle6polishEP7QWidget @ 5850 NONAME + _ZN6QStyle6polishER8QPalette @ 5851 NONAME + _ZN6QStyle8setProxyEPS_ @ 5852 NONAME + _ZN6QStyle8unpolishEP12QApplication @ 5853 NONAME + _ZN6QStyle8unpolishEP7QWidget @ 5854 NONAME + _ZN6QStyle9visualPosEN2Qt15LayoutDirectionERK5QRectRK6QPoint @ 5855 NONAME + _ZN6QStyleC2ER13QStylePrivate @ 5856 NONAME + _ZN6QStyleC2Ev @ 5857 NONAME + _ZN6QStyleD0Ev @ 5858 NONAME + _ZN6QStyleD1Ev @ 5859 NONAME + _ZN6QStyleD2Ev @ 5860 NONAME + _ZN7QAction10setCheckedEb @ 5861 NONAME + _ZN7QAction10setEnabledEb @ 5862 NONAME + _ZN7QAction10setToolTipERK7QString @ 5863 NONAME + _ZN7QAction10setVisibleEb @ 5864 NONAME + _ZN7QAction11qt_metacallEN11QMetaObject4CallEiPPv @ 5865 NONAME + _ZN7QAction11qt_metacastEPKc @ 5866 NONAME + _ZN7QAction11setIconTextERK7QString @ 5867 NONAME + _ZN7QAction11setMenuRoleENS_8MenuRoleE @ 5868 NONAME + _ZN7QAction11setPriorityENS_8PriorityE @ 5869 NONAME + _ZN7QAction11setShortcutERK12QKeySequence @ 5870 NONAME + _ZN7QAction12setCheckableEb @ 5871 NONAME + _ZN7QAction12setSeparatorEb @ 5872 NONAME + _ZN7QAction12setShortcutsEN12QKeySequence11StandardKeyE @ 5873 NONAME + _ZN7QAction12setShortcutsERK5QListI12QKeySequenceE @ 5874 NONAME + _ZN7QAction12setStatusTipERK7QString @ 5875 NONAME + _ZN7QAction12setWhatsThisERK7QString @ 5876 NONAME + _ZN7QAction13setAutoRepeatEb @ 5877 NONAME + _ZN7QAction14setActionGroupEP12QActionGroup @ 5878 NONAME + _ZN7QAction14setSoftKeyRoleENS_11SoftKeyRoleE @ 5879 NONAME + _ZN7QAction14showStatusTextEP7QWidget @ 5880 NONAME + _ZN7QAction16staticMetaObjectE @ 5881 NONAME DATA 16 + _ZN7QAction18setShortcutContextEN2Qt15ShortcutContextE @ 5882 NONAME + _ZN7QAction19getStaticMetaObjectEv @ 5883 NONAME + _ZN7QAction20setIconVisibleInMenuEb @ 5884 NONAME + _ZN7QAction5eventEP6QEvent @ 5885 NONAME + _ZN7QAction6toggleEv @ 5886 NONAME + _ZN7QAction7changedEv @ 5887 NONAME + _ZN7QAction7hoveredEv @ 5888 NONAME + _ZN7QAction7setDataERK8QVariant @ 5889 NONAME + _ZN7QAction7setFontERK5QFont @ 5890 NONAME + _ZN7QAction7setIconERK5QIcon @ 5891 NONAME + _ZN7QAction7setMenuEP5QMenu @ 5892 NONAME + _ZN7QAction7setTextERK7QString @ 5893 NONAME + _ZN7QAction7toggledEb @ 5894 NONAME + _ZN7QAction8activateENS_11ActionEventE @ 5895 NONAME + _ZN7QAction9triggeredEb @ 5896 NONAME + _ZN7QActionC1EP7QObject @ 5897 NONAME + _ZN7QActionC1ER14QActionPrivateP7QObject @ 5898 NONAME + _ZN7QActionC1ERK5QIconRK7QStringP7QObject @ 5899 NONAME + _ZN7QActionC1ERK7QStringP7QObject @ 5900 NONAME + _ZN7QActionC2EP7QObject @ 5901 NONAME + _ZN7QActionC2ER14QActionPrivateP7QObject @ 5902 NONAME + _ZN7QActionC2ERK5QIconRK7QStringP7QObject @ 5903 NONAME + _ZN7QActionC2ERK7QStringP7QObject @ 5904 NONAME + _ZN7QActionD0Ev @ 5905 NONAME + _ZN7QActionD1Ev @ 5906 NONAME + _ZN7QActionD2Ev @ 5907 NONAME + _ZN7QBezier10fromPointsERK7QPointFS2_S2_S2_ @ 5908 NONAME + _ZN7QBezier17findIntersectionsERKS_S1_ @ 5909 NONAME + _ZN7QBezier17findIntersectionsERKS_S1_P7QVectorI5QPairIffEE @ 5910 NONAME + _ZN7QBezier20splitAtIntersectionsERS_ @ 5911 NONAME + _ZN7QBitmap8fromDataERK5QSizePKhN6QImage6FormatE @ 5912 NONAME + _ZN7QBitmap9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 5913 NONAME + _ZN7QBitmapC1ERK5QSize @ 5914 NONAME + _ZN7QBitmapC1ERK7QPixmap @ 5915 NONAME + _ZN7QBitmapC1ERK7QStringPKc @ 5916 NONAME + _ZN7QBitmapC1Eii @ 5917 NONAME + _ZN7QBitmapC1Ev @ 5918 NONAME + _ZN7QBitmapC2ERK5QSize @ 5919 NONAME + _ZN7QBitmapC2ERK7QPixmap @ 5920 NONAME + _ZN7QBitmapC2ERK7QStringPKc @ 5921 NONAME + _ZN7QBitmapC2Eii @ 5922 NONAME + _ZN7QBitmapC2Ev @ 5923 NONAME + _ZN7QBitmapD0Ev @ 5924 NONAME + _ZN7QBitmapD1Ev @ 5925 NONAME + _ZN7QBitmapD2Ev @ 5926 NONAME + _ZN7QBitmapaSERK7QPixmap @ 5927 NONAME + _ZN7QCursor3posEv @ 5928 NONAME + _ZN7QCursor6setPosEii @ 5929 NONAME + _ZN7QCursor8setShapeEN2Qt11CursorShapeE @ 5930 NONAME + _ZN7QCursorC1EN2Qt11CursorShapeE @ 5931 NONAME + _ZN7QCursorC1ERK7QBitmapS2_ii @ 5932 NONAME + _ZN7QCursorC1ERK7QPixmapii @ 5933 NONAME + _ZN7QCursorC1ERKS_ @ 5934 NONAME + _ZN7QCursorC1Ev @ 5935 NONAME + _ZN7QCursorC2EN2Qt11CursorShapeE @ 5936 NONAME + _ZN7QCursorC2ERK7QBitmapS2_ii @ 5937 NONAME + _ZN7QCursorC2ERK7QPixmapii @ 5938 NONAME + _ZN7QCursorC2ERKS_ @ 5939 NONAME + _ZN7QCursorC2Ev @ 5940 NONAME + _ZN7QCursorD1Ev @ 5941 NONAME + _ZN7QCursorD2Ev @ 5942 NONAME + _ZN7QCursoraSERKS_ @ 5943 NONAME + _ZN7QDialog10closeEventEP11QCloseEvent @ 5944 NONAME + _ZN7QDialog10setVisibleEb @ 5945 NONAME + _ZN7QDialog11eventFilterEP7QObjectP6QEvent @ 5946 NONAME + _ZN7QDialog11qt_metacallEN11QMetaObject4CallEiPPv @ 5947 NONAME + _ZN7QDialog11qt_metacastEPKc @ 5948 NONAME + _ZN7QDialog11resizeEventEP12QResizeEvent @ 5949 NONAME + _ZN7QDialog12setExtensionEP7QWidget @ 5950 NONAME + _ZN7QDialog13keyPressEventEP9QKeyEvent @ 5951 NONAME + _ZN7QDialog13showExtensionEb @ 5952 NONAME + _ZN7QDialog14adjustPositionEP7QWidget @ 5953 NONAME + _ZN7QDialog14setOrientationEN2Qt11OrientationE @ 5954 NONAME + _ZN7QDialog16contextMenuEventEP17QContextMenuEvent @ 5955 NONAME + _ZN7QDialog16staticMetaObjectE @ 5956 NONAME DATA 16 + _ZN7QDialog18setSizeGripEnabledEb @ 5957 NONAME + _ZN7QDialog19getStaticMetaObjectEv @ 5958 NONAME + _ZN7QDialog19s60AdjustedPositionEv @ 5959 NONAME + _ZN7QDialog4doneEi @ 5960 NONAME + _ZN7QDialog4execEv @ 5961 NONAME + _ZN7QDialog4openEv @ 5962 NONAME + _ZN7QDialog5eventEP6QEvent @ 5963 NONAME + _ZN7QDialog6acceptEv @ 5964 NONAME + _ZN7QDialog6rejectEv @ 5965 NONAME + _ZN7QDialog8acceptedEv @ 5966 NONAME + _ZN7QDialog8finishedEi @ 5967 NONAME + _ZN7QDialog8rejectedEv @ 5968 NONAME + _ZN7QDialog8setModalEb @ 5969 NONAME + _ZN7QDialog9setResultEi @ 5970 NONAME + _ZN7QDialog9showEventEP10QShowEvent @ 5971 NONAME + _ZN7QDialogC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5972 NONAME + _ZN7QDialogC1ER14QDialogPrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5973 NONAME + _ZN7QDialogC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5974 NONAME + _ZN7QDialogC2ER14QDialogPrivateP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 5975 NONAME + _ZN7QDialogD0Ev @ 5976 NONAME + _ZN7QDialogD1Ev @ 5977 NONAME + _ZN7QDialogD2Ev @ 5978 NONAME + _ZN7QLayout10childEventEP11QChildEvent @ 5979 NONAME + _ZN7QLayout10invalidateEv @ 5980 NONAME + _ZN7QLayout10removeItemEP11QLayoutItem @ 5981 NONAME + _ZN7QLayout10setEnabledEb @ 5982 NONAME + _ZN7QLayout10setMenuBarEP7QWidget @ 5983 NONAME + _ZN7QLayout10setSpacingEi @ 5984 NONAME + _ZN7QLayout11qt_metacallEN11QMetaObject4CallEiPPv @ 5985 NONAME + _ZN7QLayout11qt_metacastEPKc @ 5986 NONAME + _ZN7QLayout11setGeometryERK5QRect @ 5987 NONAME + _ZN7QLayout11widgetEventEP6QEvent @ 5988 NONAME + _ZN7QLayout12removeWidgetEP7QWidget @ 5989 NONAME + _ZN7QLayout12setAlignmentEP7QWidget6QFlagsIN2Qt13AlignmentFlagEE @ 5990 NONAME + _ZN7QLayout12setAlignmentEPS_6QFlagsIN2Qt13AlignmentFlagEE @ 5991 NONAME + _ZN7QLayout14addChildLayoutEPS_ @ 5992 NONAME + _ZN7QLayout14addChildWidgetEP7QWidget @ 5993 NONAME + _ZN7QLayout16staticMetaObjectE @ 5994 NONAME DATA 16 + _ZN7QLayout17setSizeConstraintENS_14SizeConstraintE @ 5995 NONAME + _ZN7QLayout18setContentsMarginsEiiii @ 5996 NONAME + _ZN7QLayout19getStaticMetaObjectEv @ 5997 NONAME + _ZN7QLayout21closestAcceptableSizeEPK7QWidgetRK5QSize @ 5998 NONAME + _ZN7QLayout23activateRecursiveHelperEP11QLayoutItem @ 5999 NONAME + _ZN7QLayout6layoutEv @ 6000 NONAME + _ZN7QLayout6updateEv @ 6001 NONAME + _ZN7QLayout8activateEv @ 6002 NONAME + _ZN7QLayout9addWidgetEP7QWidget @ 6003 NONAME + _ZN7QLayout9setMarginEi @ 6004 NONAME + _ZN7QLayoutC2EP7QWidget @ 6005 NONAME + _ZN7QLayoutC2ER14QLayoutPrivatePS_P7QWidget @ 6006 NONAME + _ZN7QLayoutC2Ev @ 6007 NONAME + _ZN7QLayoutD0Ev @ 6008 NONAME + _ZN7QLayoutD1Ev @ 6009 NONAME + _ZN7QLayoutD2Ev @ 6010 NONAME + _ZN7QMatrix5resetEv @ 6011 NONAME + _ZN7QMatrix5scaleEff @ 6012 NONAME + _ZN7QMatrix5shearEff @ 6013 NONAME + _ZN7QMatrix6rotateEf @ 6014 NONAME + _ZN7QMatrix9setMatrixEffffff @ 6015 NONAME + _ZN7QMatrix9translateEff @ 6016 NONAME + _ZN7QMatrixC1ERKS_ @ 6017 NONAME + _ZN7QMatrixC1Effffff @ 6018 NONAME + _ZN7QMatrixC1Ev @ 6019 NONAME + _ZN7QMatrixC2ERKS_ @ 6020 NONAME + _ZN7QMatrixC2Effffff @ 6021 NONAME + _ZN7QMatrixC2Ev @ 6022 NONAME + _ZN7QMatrixaSERKS_ @ 6023 NONAME + _ZN7QMatrixmLERKS_ @ 6024 NONAME + _ZN7QPixmap10grabWidgetEP7QWidgetRK5QRect @ 6025 NONAME + _ZN7QPixmap10grabWindowEP11CCoeControliiii @ 6026 NONAME + _ZN7QPixmap10trueMatrixERK10QTransformii @ 6027 NONAME + _ZN7QPixmap10trueMatrixERK7QMatrixii @ 6028 NONAME + _ZN7QPixmap12defaultDepthEv @ 6029 NONAME + _ZN7QPixmap12loadFromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 6030 NONAME + _ZN7QPixmap15setAlphaChannelERKS_ @ 6031 NONAME + _ZN7QPixmap19fromSymbianRSgImageEP8RSgImage @ 6032 NONAME + _ZN7QPixmap21fromSymbianCFbsBitmapEP10CFbsBitmap @ 6033 NONAME + _ZN7QPixmap4fillEPK7QWidgetRK6QPoint @ 6034 NONAME + _ZN7QPixmap4fillERK6QColor @ 6035 NONAME + _ZN7QPixmap4initEiiNS_4TypeE @ 6036 NONAME + _ZN7QPixmap4initEiii @ 6037 NONAME + _ZN7QPixmap4loadERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 6038 NONAME + _ZN7QPixmap5derefEv @ 6039 NONAME + _ZN7QPixmap6detachEv @ 6040 NONAME + _ZN7QPixmap6scrollEiiRK5QRectP7QRegion @ 6041 NONAME + _ZN7QPixmap7setMaskERK7QBitmap @ 6042 NONAME + _ZN7QPixmap9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 6043 NONAME + _ZN7QPixmapC1EP11QPixmapData @ 6044 NONAME + _ZN7QPixmapC1EPKPKc @ 6045 NONAME + _ZN7QPixmapC1ERK5QSize @ 6046 NONAME + _ZN7QPixmapC1ERK5QSizeNS_4TypeE @ 6047 NONAME + _ZN7QPixmapC1ERK5QSizei @ 6048 NONAME + _ZN7QPixmapC1ERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 6049 NONAME + _ZN7QPixmapC1ERKS_ @ 6050 NONAME + _ZN7QPixmapC1Eii @ 6051 NONAME + _ZN7QPixmapC1Ev @ 6052 NONAME + _ZN7QPixmapC2EP11QPixmapData @ 6053 NONAME + _ZN7QPixmapC2EPKPKc @ 6054 NONAME + _ZN7QPixmapC2ERK5QSize @ 6055 NONAME + _ZN7QPixmapC2ERK5QSizeNS_4TypeE @ 6056 NONAME + _ZN7QPixmapC2ERK5QSizei @ 6057 NONAME + _ZN7QPixmapC2ERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 6058 NONAME + _ZN7QPixmapC2ERKS_ @ 6059 NONAME + _ZN7QPixmapC2Eii @ 6060 NONAME + _ZN7QPixmapC2Ev @ 6061 NONAME + _ZN7QPixmapD0Ev @ 6062 NONAME + _ZN7QPixmapD1Ev @ 6063 NONAME + _ZN7QPixmapD2Ev @ 6064 NONAME + _ZN7QPixmapaSERKS_ @ 6065 NONAME + _ZN7QRegion12shared_emptyE @ 6066 NONAME DATA 8 + _ZN7QRegion4execERK10QByteArrayiN11QDataStream9ByteOrderE @ 6067 NONAME + _ZN7QRegion6detachEv @ 6068 NONAME + _ZN7QRegion7cleanUpEPNS_11QRegionDataE @ 6069 NONAME + _ZN7QRegion8setRectsEPK5QRecti @ 6070 NONAME + _ZN7QRegion9translateEii @ 6071 NONAME + _ZN7QRegionC1ERK5QRectNS_10RegionTypeE @ 6072 NONAME + _ZN7QRegionC1ERK7QBitmap @ 6073 NONAME + _ZN7QRegionC1ERK8QPolygonN2Qt8FillRuleE @ 6074 NONAME + _ZN7QRegionC1ERKS_ @ 6075 NONAME + _ZN7QRegionC1EiiiiNS_10RegionTypeE @ 6076 NONAME + _ZN7QRegionC1Ev @ 6077 NONAME + _ZN7QRegionC2ERK5QRectNS_10RegionTypeE @ 6078 NONAME + _ZN7QRegionC2ERK7QBitmap @ 6079 NONAME + _ZN7QRegionC2ERK8QPolygonN2Qt8FillRuleE @ 6080 NONAME + _ZN7QRegionC2ERKS_ @ 6081 NONAME + _ZN7QRegionC2EiiiiNS_10RegionTypeE @ 6082 NONAME + _ZN7QRegionC2Ev @ 6083 NONAME + _ZN7QRegionD1Ev @ 6084 NONAME + _ZN7QRegionD2Ev @ 6085 NONAME + _ZN7QRegionaNERK5QRect @ 6086 NONAME + _ZN7QRegionaNERKS_ @ 6087 NONAME + _ZN7QRegionaSERKS_ @ 6088 NONAME + _ZN7QRegioneOERKS_ @ 6089 NONAME + _ZN7QRegionmIERKS_ @ 6090 NONAME + _ZN7QRegionoRERKS_ @ 6091 NONAME + _ZN7QRegionpLERK5QRect @ 6092 NONAME + _ZN7QRegionpLERKS_ @ 6093 NONAME + _ZN7QSlider10paintEventEP11QPaintEvent @ 6094 NONAME + _ZN7QSlider11qt_metacallEN11QMetaObject4CallEiPPv @ 6095 NONAME + _ZN7QSlider11qt_metacastEPKc @ 6096 NONAME + _ZN7QSlider14mouseMoveEventEP11QMouseEvent @ 6097 NONAME + _ZN7QSlider15mousePressEventEP11QMouseEvent @ 6098 NONAME + _ZN7QSlider15setTickIntervalEi @ 6099 NONAME + _ZN7QSlider15setTickPositionENS_12TickPositionE @ 6100 NONAME + _ZN7QSlider16staticMetaObjectE @ 6101 NONAME DATA 16 + _ZN7QSlider17mouseReleaseEventEP11QMouseEvent @ 6102 NONAME + _ZN7QSlider19getStaticMetaObjectEv @ 6103 NONAME + _ZN7QSlider5eventEP6QEvent @ 6104 NONAME + _ZN7QSliderC1EN2Qt11OrientationEP7QWidget @ 6105 NONAME + _ZN7QSliderC1EP7QWidget @ 6106 NONAME + _ZN7QSliderC2EN2Qt11OrientationEP7QWidget @ 6107 NONAME + _ZN7QSliderC2EP7QWidget @ 6108 NONAME + _ZN7QSliderD0Ev @ 6109 NONAME + _ZN7QSliderD1Ev @ 6110 NONAME + _ZN7QSliderD2Ev @ 6111 NONAME + _ZN7QTabBar10paintEventEP11QPaintEvent @ 6112 NONAME + _ZN7QTabBar10setMovableEb @ 6113 NONAME + _ZN7QTabBar10setTabDataEiRK8QVariant @ 6114 NONAME + _ZN7QTabBar10setTabIconEiRK5QIcon @ 6115 NONAME + _ZN7QTabBar10setTabTextEiRK7QString @ 6116 NONAME + _ZN7QTabBar10tabRemovedEi @ 6117 NONAME + _ZN7QTabBar10wheelEventEP11QWheelEvent @ 6118 NONAME + _ZN7QTabBar11changeEventEP6QEvent @ 6119 NONAME + _ZN7QTabBar11qt_metacallEN11QMetaObject4CallEiPPv @ 6120 NONAME + _ZN7QTabBar11qt_metacastEPKc @ 6121 NONAME + _ZN7QTabBar11resizeEventEP12QResizeEvent @ 6122 NONAME + _ZN7QTabBar11setDrawBaseEb @ 6123 NONAME + _ZN7QTabBar11setIconSizeERK5QSize @ 6124 NONAME + _ZN7QTabBar11tabInsertedEi @ 6125 NONAME + _ZN7QTabBar12setElideModeEN2Qt13TextElideModeE @ 6126 NONAME + _ZN7QTabBar12setExpandingEb @ 6127 NONAME + _ZN7QTabBar12setTabButtonEiNS_14ButtonPositionEP7QWidget @ 6128 NONAME + _ZN7QTabBar13keyPressEventEP9QKeyEvent @ 6129 NONAME + _ZN7QTabBar13setTabEnabledEib @ 6130 NONAME + _ZN7QTabBar13setTabToolTipEiRK7QString @ 6131 NONAME + _ZN7QTabBar14currentChangedEi @ 6132 NONAME + _ZN7QTabBar14mouseMoveEventEP11QMouseEvent @ 6133 NONAME + _ZN7QTabBar15mousePressEventEP11QMouseEvent @ 6134 NONAME + _ZN7QTabBar15setCurrentIndexEi @ 6135 NONAME + _ZN7QTabBar15setDocumentModeEb @ 6136 NONAME + _ZN7QTabBar15setTabTextColorEiRK6QColor @ 6137 NONAME + _ZN7QTabBar15setTabWhatsThisEiRK7QString @ 6138 NONAME + _ZN7QTabBar15setTabsClosableEb @ 6139 NONAME + _ZN7QTabBar15tabLayoutChangeEv @ 6140 NONAME + _ZN7QTabBar16staticMetaObjectE @ 6141 NONAME DATA 16 + _ZN7QTabBar17mouseReleaseEventEP11QMouseEvent @ 6142 NONAME + _ZN7QTabBar17tabCloseRequestedEi @ 6143 NONAME + _ZN7QTabBar19getStaticMetaObjectEv @ 6144 NONAME + _ZN7QTabBar20setUsesScrollButtonsEb @ 6145 NONAME + _ZN7QTabBar28setSelectionBehaviorOnRemoveENS_17SelectionBehaviorE @ 6146 NONAME + _ZN7QTabBar5eventEP6QEvent @ 6147 NONAME + _ZN7QTabBar6addTabERK5QIconRK7QString @ 6148 NONAME + _ZN7QTabBar6addTabERK7QString @ 6149 NONAME + _ZN7QTabBar7moveTabEii @ 6150 NONAME + _ZN7QTabBar8setShapeENS_5ShapeE @ 6151 NONAME + _ZN7QTabBar8tabMovedEii @ 6152 NONAME + _ZN7QTabBar9hideEventEP10QHideEvent @ 6153 NONAME + _ZN7QTabBar9insertTabEiRK5QIconRK7QString @ 6154 NONAME + _ZN7QTabBar9insertTabEiRK7QString @ 6155 NONAME + _ZN7QTabBar9removeTabEi @ 6156 NONAME + _ZN7QTabBar9showEventEP10QShowEvent @ 6157 NONAME + _ZN7QTabBarC1EP7QWidget @ 6158 NONAME + _ZN7QTabBarC2EP7QWidget @ 6159 NONAME + _ZN7QTabBarD0Ev @ 6160 NONAME + _ZN7QTabBarD1Ev @ 6161 NONAME + _ZN7QTabBarD2Ev @ 6162 NONAME + _ZN7QWidget10addActionsE5QListIP7QActionE @ 6163 NONAME + _ZN7QWidget10adjustSizeEv @ 6164 NONAME + _ZN7QWidget10clearFocusEv @ 6165 NONAME + _ZN7QWidget10closeEventEP11QCloseEvent @ 6166 NONAME + _ZN7QWidget10enterEventEP6QEvent @ 6167 NONAME + _ZN7QWidget10fontChangeERK5QFont @ 6168 NONAME + _ZN7QWidget10leaveEventEP6QEvent @ 6169 NONAME + _ZN7QWidget10paintEventEP11QPaintEvent @ 6170 NONAME + _ZN7QWidget10setEnabledEb @ 6171 NONAME + _ZN7QWidget10setPaletteERK8QPalette @ 6172 NONAME + _ZN7QWidget10setToolTipERK7QString @ 6173 NONAME + _ZN7QWidget10setVisibleEb @ 6174 NONAME + _ZN7QWidget10showNormalEv @ 6175 NONAME + _ZN7QWidget10stackUnderEPS_ @ 6176 NONAME + _ZN7QWidget10takeLayoutEv @ 6177 NONAME + _ZN7QWidget10wheelEventEP11QWheelEvent @ 6178 NONAME + _ZN7QWidget11actionEventEP12QActionEvent @ 6179 NONAME + _ZN7QWidget11changeEventEP6QEvent @ 6180 NONAME + _ZN7QWidget11createWinIdEv @ 6181 NONAME + _ZN7QWidget11grabGestureEN2Qt11GestureTypeENS0_14GestureContextE @ 6182 NONAME + _ZN7QWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 6183 NONAME + _ZN7QWidget11qt_metacastEPKc @ 6184 NONAME + _ZN7QWidget11resizeEventEP12QResizeEvent @ 6185 NONAME + _ZN7QWidget11setBaseSizeEii @ 6186 NONAME + _ZN7QWidget11setDisabledEb @ 6187 NONAME + _ZN7QWidget11setGeometryERK5QRect @ 6188 NONAME + _ZN7QWidget11setTabOrderEPS_S0_ @ 6189 NONAME + _ZN7QWidget11styleChangeER6QStyle @ 6190 NONAME + _ZN7QWidget11tabletEventEP12QTabletEvent @ 6191 NONAME + _ZN7QWidget11unsetCursorEv @ 6192 NONAME + _ZN7QWidget11unsetLocaleEv @ 6193 NONAME + _ZN7QWidget12focusInEventEP11QFocusEvent @ 6194 NONAME + _ZN7QWidget12grabKeyboardEv @ 6195 NONAME + _ZN7QWidget12grabShortcutERK12QKeySequenceN2Qt15ShortcutContextE @ 6196 NONAME + _ZN7QWidget12inputContextEv @ 6197 NONAME + _ZN7QWidget12insertActionEP7QActionS1_ @ 6198 NONAME + _ZN7QWidget12mouseGrabberEv @ 6199 NONAME + _ZN7QWidget12releaseMouseEv @ 6200 NONAME + _ZN7QWidget12removeActionEP7QAction @ 6201 NONAME + _ZN7QWidget12setAttributeEN2Qt15WidgetAttributeEb @ 6202 NONAME + _ZN7QWidget12setEditFocusEb @ 6203 NONAME + _ZN7QWidget12setFixedSizeERK5QSize @ 6204 NONAME + _ZN7QWidget12setFixedSizeEii @ 6205 NONAME + _ZN7QWidget12setStatusTipERK7QString @ 6206 NONAME + _ZN7QWidget12setWhatsThisERK7QString @ 6207 NONAME + _ZN7QWidget13dragMoveEventEP14QDragMoveEvent @ 6208 NONAME + _ZN7QWidget13enabledChangeEb @ 6209 NONAME + _ZN7QWidget13focusOutEventEP11QFocusEvent @ 6210 NONAME + _ZN7QWidget13insertActionsEP7QAction5QListIS1_E @ 6211 NONAME + _ZN7QWidget13keyPressEventEP9QKeyEvent @ 6212 NONAME + _ZN7QWidget13paletteChangeERK8QPalette @ 6213 NONAME + _ZN7QWidget13setFixedWidthEi @ 6214 NONAME + _ZN7QWidget13setFocusProxyEPS_ @ 6215 NONAME + _ZN7QWidget13setSizePolicyE11QSizePolicy @ 6216 NONAME + _ZN7QWidget13setStyleSheetERK7QString @ 6217 NONAME + _ZN7QWidget13setWindowIconERK5QIcon @ 6218 NONAME + _ZN7QWidget13setWindowRoleERK7QString @ 6219 NONAME + _ZN7QWidget13showMaximizedEv @ 6220 NONAME + _ZN7QWidget13showMinimizedEv @ 6221 NONAME + _ZN7QWidget14activateWindowEv @ 6222 NONAME + _ZN7QWidget14dragEnterEventEP15QDragEnterEvent @ 6223 NONAME + _ZN7QWidget14dragLeaveEventEP15QDragLeaveEvent @ 6224 NONAME + _ZN7QWidget14languageChangeEv @ 6225 NONAME + _ZN7QWidget14mouseMoveEventEP11QMouseEvent @ 6226 NONAME + _ZN7QWidget14setAcceptDropsEb @ 6227 NONAME + _ZN7QWidget14setFixedHeightEi @ 6228 NONAME + _ZN7QWidget14setFocusPolicyEN2Qt11FocusPolicyE @ 6229 NONAME + _ZN7QWidget14setMaximumSizeEii @ 6230 NONAME + _ZN7QWidget14setMinimumSizeEii @ 6231 NONAME + _ZN7QWidget14setWindowFlagsE6QFlagsIN2Qt10WindowTypeEE @ 6232 NONAME + _ZN7QWidget14setWindowStateE6QFlagsIN2Qt11WindowStateEE @ 6233 NONAME + _ZN7QWidget14setWindowTitleERK7QString @ 6234 NONAME + _ZN7QWidget14showFullScreenEv @ 6235 NONAME + _ZN7QWidget14updateGeometryEv @ 6236 NONAME + _ZN7QWidget15keyReleaseEventEP9QKeyEvent @ 6237 NONAME + _ZN7QWidget15keyboardGrabberEv @ 6238 NONAME + _ZN7QWidget15mousePressEventEP11QMouseEvent @ 6239 NONAME + _ZN7QWidget15releaseKeyboardEv @ 6240 NONAME + _ZN7QWidget15releaseShortcutEi @ 6241 NONAME + _ZN7QWidget15restoreGeometryERK10QByteArray @ 6242 NONAME + _ZN7QWidget15setInputContextEP13QInputContext @ 6243 NONAME + _ZN7QWidget15setMaximumWidthEi @ 6244 NONAME + _ZN7QWidget15setMinimumWidthEi @ 6245 NONAME + _ZN7QWidget16contextMenuEventEP17QContextMenuEvent @ 6246 NONAME + _ZN7QWidget16inputMethodEventEP17QInputMethodEvent @ 6247 NONAME + _ZN7QWidget16setMaximumHeightEi @ 6248 NONAME + _ZN7QWidget16setMinimumHeightEi @ 6249 NONAME + _ZN7QWidget16setSizeIncrementEii @ 6250 NONAME + _ZN7QWidget16setWindowOpacityEf @ 6251 NONAME + _ZN7QWidget16setWindowSurfaceEP14QWindowSurface @ 6252 NONAME + _ZN7QWidget16staticMetaObjectE @ 6253 NONAME DATA 16 + _ZN7QWidget16updateMicroFocusEv @ 6254 NONAME + _ZN7QWidget17mouseReleaseEventEP11QMouseEvent @ 6255 NONAME + _ZN7QWidget17resetInputContextEv @ 6256 NONAME + _ZN7QWidget17setBackgroundRoleEN8QPalette9ColorRoleE @ 6257 NONAME + _ZN7QWidget17setForegroundRoleEN8QPalette9ColorRoleE @ 6258 NONAME + _ZN7QWidget17setGraphicsEffectEP15QGraphicsEffect @ 6259 NONAME + _ZN7QWidget17setUpdatesEnabledEb @ 6260 NONAME + _ZN7QWidget17setWindowFilePathERK7QString @ 6261 NONAME + _ZN7QWidget17setWindowIconTextERK7QString @ 6262 NONAME + _ZN7QWidget17setWindowModalityEN2Qt14WindowModalityE @ 6263 NONAME + _ZN7QWidget17setWindowModifiedEb @ 6264 NONAME + _ZN7QWidget18focusNextPrevChildEb @ 6265 NONAME + _ZN7QWidget18setContentsMarginsERK8QMargins @ 6266 NONAME + _ZN7QWidget18setContentsMarginsEiiii @ 6267 NONAME + _ZN7QWidget18setLayoutDirectionEN2Qt15LayoutDirectionE @ 6268 NONAME + _ZN7QWidget18setShortcutEnabledEib @ 6269 NONAME + _ZN7QWidget19getStaticMetaObjectEv @ 6270 NONAME + _ZN7QWidget19overrideWindowFlagsE6QFlagsIN2Qt10WindowTypeEE @ 6271 NONAME + _ZN7QWidget19overrideWindowStateE6QFlagsIN2Qt11WindowStateEE @ 6272 NONAME + _ZN7QWidget19setInputMethodHintsE6QFlagsIN2Qt15InputMethodHintEE @ 6273 NONAME + _ZN7QWidget20setContextMenuPolicyEN2Qt17ContextMenuPolicyE @ 6274 NONAME + _ZN7QWidget20unsetLayoutDirectionEv @ 6275 NONAME + _ZN7QWidget21mouseDoubleClickEventEP11QMouseEvent @ 6276 NONAME + _ZN7QWidget21setAutoFillBackgroundEb @ 6277 NONAME + _ZN7QWidget21setShortcutAutoRepeatEib @ 6278 NONAME + _ZN7QWidget22windowActivationChangeEb @ 6279 NONAME + _ZN7QWidget26customContextMenuRequestedERK6QPoint @ 6280 NONAME + _ZN7QWidget4findEP11CCoeControl @ 6281 NONAME + _ZN7QWidget4moveERK6QPoint @ 6282 NONAME + _ZN7QWidget5closeEv @ 6283 NONAME + _ZN7QWidget5eventEP6QEvent @ 6284 NONAME + _ZN7QWidget5lowerEv @ 6285 NONAME + _ZN7QWidget5raiseEv @ 6286 NONAME + _ZN7QWidget6createEP11CCoeControlbb @ 6287 NONAME + _ZN7QWidget6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsINS_10RenderFlagEE @ 6288 NONAME + _ZN7QWidget6renderEP8QPainterRK6QPointRK7QRegion6QFlagsINS_10RenderFlagEE @ 6289 NONAME + _ZN7QWidget6resizeERK5QSize @ 6290 NONAME + _ZN7QWidget6scrollEii @ 6291 NONAME + _ZN7QWidget6scrollEiiRK5QRect @ 6292 NONAME + _ZN7QWidget6updateERK5QRect @ 6293 NONAME + _ZN7QWidget6updateERK7QRegion @ 6294 NONAME + _ZN7QWidget6updateEv @ 6295 NONAME + _ZN7QWidget7destroyEbb @ 6296 NONAME + _ZN7QWidget7repaintERK5QRect @ 6297 NONAME + _ZN7QWidget7repaintERK7QRegion @ 6298 NONAME + _ZN7QWidget7repaintEiiii @ 6299 NONAME + _ZN7QWidget7repaintEv @ 6300 NONAME + _ZN7QWidget7setFontERK5QFont @ 6301 NONAME + _ZN7QWidget7setMaskERK7QBitmap @ 6302 NONAME + _ZN7QWidget7setMaskERK7QRegion @ 6303 NONAME + _ZN7QWidget8setFocusEN2Qt11FocusReasonE @ 6304 NONAME + _ZN7QWidget8setStyleEP6QStyle @ 6305 NONAME + _ZN7QWidget9addActionEP7QAction @ 6306 NONAME + _ZN7QWidget9clearMaskEv @ 6307 NONAME + _ZN7QWidget9dropEventEP10QDropEvent @ 6308 NONAME + _ZN7QWidget9grabMouseERK7QCursor @ 6309 NONAME + _ZN7QWidget9grabMouseEv @ 6310 NONAME + _ZN7QWidget9hideEventEP10QHideEvent @ 6311 NONAME + _ZN7QWidget9moveEventEP10QMoveEvent @ 6312 NONAME + _ZN7QWidget9setCursorERK7QCursor @ 6313 NONAME + _ZN7QWidget9setLayoutEP7QLayout @ 6314 NONAME + _ZN7QWidget9setLocaleERK7QLocale @ 6315 NONAME + _ZN7QWidget9setParentEPS_ @ 6316 NONAME + _ZN7QWidget9setParentEPS_6QFlagsIN2Qt10WindowTypeEE @ 6317 NONAME + _ZN7QWidget9showEventEP10QShowEvent @ 6318 NONAME + _ZN7QWidgetC1EPS_6QFlagsIN2Qt10WindowTypeEE @ 6319 NONAME + _ZN7QWidgetC1ER14QWidgetPrivatePS_6QFlagsIN2Qt10WindowTypeEE @ 6320 NONAME + _ZN7QWidgetC2EPS_6QFlagsIN2Qt10WindowTypeEE @ 6321 NONAME + _ZN7QWidgetC2ER14QWidgetPrivatePS_6QFlagsIN2Qt10WindowTypeEE @ 6322 NONAME + _ZN7QWidgetD0Ev @ 6323 NONAME + _ZN7QWidgetD1Ev @ 6324 NONAME + _ZN7QWidgetD2Ev @ 6325 NONAME + _ZN7QWizard10paintEventEP11QPaintEvent @ 6326 NONAME + _ZN7QWizard10removePageEi @ 6327 NONAME + _ZN7QWizard10setOptionsE6QFlagsINS_12WizardOptionEE @ 6328 NONAME + _ZN7QWizard10setStartIdEi @ 6329 NONAME + _ZN7QWizard10setVisibleEb @ 6330 NONAME + _ZN7QWizard11cleanupPageEi @ 6331 NONAME + _ZN7QWizard11qt_metacallEN11QMetaObject4CallEiPPv @ 6332 NONAME + _ZN7QWizard11qt_metacastEPKc @ 6333 NONAME + _ZN7QWizard11resizeEventEP12QResizeEvent @ 6334 NONAME + _ZN7QWizard13helpRequestedEv @ 6335 NONAME + _ZN7QWizard13setButtonTextENS_12WizardButtonERK7QString @ 6336 NONAME + _ZN7QWizard14initializePageEi @ 6337 NONAME + _ZN7QWizard14setTitleFormatEN2Qt10TextFormatE @ 6338 NONAME + _ZN7QWizard14setWizardStyleENS_11WizardStyleE @ 6339 NONAME + _ZN7QWizard15setButtonLayoutERK5QListINS_12WizardButtonEE @ 6340 NONAME + _ZN7QWizard16currentIdChangedEi @ 6341 NONAME + _ZN7QWizard16staticMetaObjectE @ 6342 NONAME DATA 16 + _ZN7QWizard17setSubTitleFormatEN2Qt10TextFormatE @ 6343 NONAME + _ZN7QWizard18setDefaultPropertyEPKcS1_S1_ @ 6344 NONAME + _ZN7QWizard19customButtonClickedEi @ 6345 NONAME + _ZN7QWizard19getStaticMetaObjectEv @ 6346 NONAME + _ZN7QWizard19validateCurrentPageEv @ 6347 NONAME + _ZN7QWizard4backEv @ 6348 NONAME + _ZN7QWizard4doneEi @ 6349 NONAME + _ZN7QWizard4nextEv @ 6350 NONAME + _ZN7QWizard5eventEP6QEvent @ 6351 NONAME + _ZN7QWizard7addPageEP11QWizardPage @ 6352 NONAME + _ZN7QWizard7restartEv @ 6353 NONAME + _ZN7QWizard7setPageEiP11QWizardPage @ 6354 NONAME + _ZN7QWizard8setFieldERK7QStringRK8QVariant @ 6355 NONAME + _ZN7QWizard9setButtonENS_12WizardButtonEP15QAbstractButton @ 6356 NONAME + _ZN7QWizard9setOptionENS_12WizardOptionEb @ 6357 NONAME + _ZN7QWizard9setPixmapENS_12WizardPixmapERK7QPixmap @ 6358 NONAME + _ZN7QWizardC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6359 NONAME + _ZN7QWizardC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6360 NONAME + _ZN7QWizardD0Ev @ 6361 NONAME + _ZN7QWizardD1Ev @ 6362 NONAME + _ZN7QWizardD2Ev @ 6363 NONAME + _ZN8QGesture10setHotSpotERK7QPointF @ 6364 NONAME + _ZN8QGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 6365 NONAME + _ZN8QGesture11qt_metacastEPKc @ 6366 NONAME + _ZN8QGesture12unsetHotSpotEv @ 6367 NONAME + _ZN8QGesture15setTargetObjectEP7QObject @ 6368 NONAME + _ZN8QGesture16staticMetaObjectE @ 6369 NONAME DATA 16 + _ZN8QGesture19getStaticMetaObjectEv @ 6370 NONAME + _ZN8QGestureC1EN2Qt11GestureTypeEP7QObject @ 6371 NONAME + _ZN8QGestureC1EP7QObject @ 6372 NONAME + _ZN8QGestureC1ER15QGesturePrivateN2Qt11GestureTypeEP7QObject @ 6373 NONAME + _ZN8QGestureC2EN2Qt11GestureTypeEP7QObject @ 6374 NONAME + _ZN8QGestureC2EP7QObject @ 6375 NONAME + _ZN8QGestureC2ER15QGesturePrivateN2Qt11GestureTypeEP7QObject @ 6376 NONAME + _ZN8QGestureD0Ev @ 6377 NONAME + _ZN8QGestureD1Ev @ 6378 NONAME + _ZN8QGestureD2Ev @ 6379 NONAME + _ZN8QMdiArea10childEventEP11QChildEvent @ 6380 NONAME + _ZN8QMdiArea10paintEventEP11QPaintEvent @ 6381 NONAME + _ZN8QMdiArea10timerEventEP11QTimerEvent @ 6382 NONAME + _ZN8QMdiArea11eventFilterEP7QObjectP6QEvent @ 6383 NONAME + _ZN8QMdiArea11qt_metacallEN11QMetaObject4CallEiPPv @ 6384 NONAME + _ZN8QMdiArea11qt_metacastEPKc @ 6385 NONAME + _ZN8QMdiArea11resizeEventEP12QResizeEvent @ 6386 NONAME + _ZN8QMdiArea11setTabShapeEN10QTabWidget8TabShapeE @ 6387 NONAME + _ZN8QMdiArea11setViewModeENS_8ViewModeE @ 6388 NONAME + _ZN8QMdiArea12addSubWindowEP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6389 NONAME + _ZN8QMdiArea13setBackgroundERK6QBrush @ 6390 NONAME + _ZN8QMdiArea13setupViewportEP7QWidget @ 6391 NONAME + _ZN8QMdiArea13viewportEventEP6QEvent @ 6392 NONAME + _ZN8QMdiArea14setTabPositionEN10QTabWidget11TabPositionE @ 6393 NONAME + _ZN8QMdiArea14tileSubWindowsEv @ 6394 NONAME + _ZN8QMdiArea15removeSubWindowEP7QWidget @ 6395 NONAME + _ZN8QMdiArea15setDocumentModeEb @ 6396 NONAME + _ZN8QMdiArea16scrollContentsByEii @ 6397 NONAME + _ZN8QMdiArea16staticMetaObjectE @ 6398 NONAME DATA 16 + _ZN8QMdiArea17cascadeSubWindowsEv @ 6399 NONAME + _ZN8QMdiArea18closeAllSubWindowsEv @ 6400 NONAME + _ZN8QMdiArea18setActivationOrderENS_11WindowOrderE @ 6401 NONAME + _ZN8QMdiArea18setActiveSubWindowEP13QMdiSubWindow @ 6402 NONAME + _ZN8QMdiArea18subWindowActivatedEP13QMdiSubWindow @ 6403 NONAME + _ZN8QMdiArea19getStaticMetaObjectEv @ 6404 NONAME + _ZN8QMdiArea20closeActiveSubWindowEv @ 6405 NONAME + _ZN8QMdiArea21activateNextSubWindowEv @ 6406 NONAME + _ZN8QMdiArea25activatePreviousSubWindowEv @ 6407 NONAME + _ZN8QMdiArea5eventEP6QEvent @ 6408 NONAME + _ZN8QMdiArea9setOptionENS_10AreaOptionEb @ 6409 NONAME + _ZN8QMdiArea9showEventEP10QShowEvent @ 6410 NONAME + _ZN8QMdiAreaC1EP7QWidget @ 6411 NONAME + _ZN8QMdiAreaC2EP7QWidget @ 6412 NONAME + _ZN8QMdiAreaD0Ev @ 6413 NONAME + _ZN8QMdiAreaD1Ev @ 6414 NONAME + _ZN8QMdiAreaD2Ev @ 6415 NONAME + _ZN8QMenuBar10insertMenuEP7QActionP5QMenu @ 6416 NONAME + _ZN8QMenuBar10leaveEventEP6QEvent @ 6417 NONAME + _ZN8QMenuBar10paintEventEP11QPaintEvent @ 6418 NONAME + _ZN8QMenuBar10setVisibleEb @ 6419 NONAME + _ZN8QMenuBar10timerEventEP11QTimerEvent @ 6420 NONAME + _ZN8QMenuBar11actionEventEP12QActionEvent @ 6421 NONAME + _ZN8QMenuBar11changeEventEP6QEvent @ 6422 NONAME + _ZN8QMenuBar11eventFilterEP7QObjectP6QEvent @ 6423 NONAME + _ZN8QMenuBar11qt_metacallEN11QMetaObject4CallEiPPv @ 6424 NONAME + _ZN8QMenuBar11qt_metacastEPKc @ 6425 NONAME + _ZN8QMenuBar11resizeEventEP12QResizeEvent @ 6426 NONAME + _ZN8QMenuBar12addSeparatorEv @ 6427 NONAME + _ZN8QMenuBar12focusInEventEP11QFocusEvent @ 6428 NONAME + _ZN8QMenuBar12setDefaultUpEb @ 6429 NONAME + _ZN8QMenuBar13focusOutEventEP11QFocusEvent @ 6430 NONAME + _ZN8QMenuBar13keyPressEventEP9QKeyEvent @ 6431 NONAME + _ZN8QMenuBar14mouseMoveEventEP11QMouseEvent @ 6432 NONAME + _ZN8QMenuBar15insertSeparatorEP7QAction @ 6433 NONAME + _ZN8QMenuBar15mousePressEventEP11QMouseEvent @ 6434 NONAME + _ZN8QMenuBar15setActiveActionEP7QAction @ 6435 NONAME + _ZN8QMenuBar15setCornerWidgetEP7QWidgetN2Qt6CornerE @ 6436 NONAME + _ZN8QMenuBar16setNativeMenuBarEb @ 6437 NONAME + _ZN8QMenuBar16staticMetaObjectE @ 6438 NONAME DATA 16 + _ZN8QMenuBar17mouseReleaseEventEP11QMouseEvent @ 6439 NONAME + _ZN8QMenuBar19getStaticMetaObjectEv @ 6440 NONAME + _ZN8QMenuBar5clearEv @ 6441 NONAME + _ZN8QMenuBar5eventEP6QEvent @ 6442 NONAME + _ZN8QMenuBar7addMenuEP5QMenu @ 6443 NONAME + _ZN8QMenuBar7addMenuERK5QIconRK7QString @ 6444 NONAME + _ZN8QMenuBar7addMenuERK7QString @ 6445 NONAME + _ZN8QMenuBar7hoveredEP7QAction @ 6446 NONAME + _ZN8QMenuBar9addActionERK7QString @ 6447 NONAME + _ZN8QMenuBar9addActionERK7QStringPK7QObjectPKc @ 6448 NONAME + _ZN8QMenuBar9triggeredEP7QAction @ 6449 NONAME + _ZN8QMenuBarC1EP7QWidget @ 6450 NONAME + _ZN8QMenuBarC2EP7QWidget @ 6451 NONAME + _ZN8QMenuBarD0Ev @ 6452 NONAME + _ZN8QMenuBarD1Ev @ 6453 NONAME + _ZN8QMenuBarD2Ev @ 6454 NONAME + _ZN8QPainter10drawPixmapERK6QRectFRK7QPixmapS2_ @ 6455 NONAME + _ZN8QPainter10drawPixmapERK7QPointFRK7QPixmap @ 6456 NONAME + _ZN8QPainter10drawPointsEPK6QPointi @ 6457 NONAME + _ZN8QPainter10drawPointsEPK7QPointFi @ 6458 NONAME + _ZN8QPainter10redirectedEPK12QPaintDeviceP6QPoint @ 6459 NONAME + _ZN8QPainter10setOpacityEf @ 6460 NONAME + _ZN8QPainter10strokePathERK12QPainterPathRK4QPen @ 6461 NONAME + _ZN8QPainter11drawEllipseERK5QRect @ 6462 NONAME + _ZN8QPainter11drawEllipseERK6QRectF @ 6463 NONAME + _ZN8QPainter11drawPictureERK7QPointFRK8QPicture @ 6464 NONAME + _ZN8QPainter11drawPolygonEPK6QPointiN2Qt8FillRuleE @ 6465 NONAME + _ZN8QPainter11drawPolygonEPK7QPointFiN2Qt8FillRuleE @ 6466 NONAME + _ZN8QPainter11resetMatrixEv @ 6467 NONAME + _ZN8QPainter11setClipPathERK12QPainterPathN2Qt13ClipOperationE @ 6468 NONAME + _ZN8QPainter11setClipRectERK5QRectN2Qt13ClipOperationE @ 6469 NONAME + _ZN8QPainter11setClipRectERK6QRectFN2Qt13ClipOperationE @ 6470 NONAME + _ZN8QPainter11setClippingEb @ 6471 NONAME + _ZN8QPainter11setViewportERK5QRect @ 6472 NONAME + _ZN8QPainter12boundingRectERK5QRectiRK7QString @ 6473 NONAME + _ZN8QPainter12boundingRectERK6QRectFRK7QStringRK11QTextOption @ 6474 NONAME + _ZN8QPainter12boundingRectERK6QRectFiRK7QString @ 6475 NONAME + _ZN8QPainter12drawPolylineEPK6QPointi @ 6476 NONAME + _ZN8QPainter12drawPolylineEPK7QPointFi @ 6477 NONAME + _ZN8QPainter12drawTextItemERK7QPointFRK9QTextItem @ 6478 NONAME + _ZN8QPainter12setTransformERK10QTransformb @ 6479 NONAME + _ZN8QPainter13drawRoundRectERK6QRectFii @ 6480 NONAME + _ZN8QPainter13setBackgroundERK6QBrush @ 6481 NONAME + _ZN8QPainter13setClipRegionERK7QRegionN2Qt13ClipOperationE @ 6482 NONAME + _ZN8QPainter13setRedirectedEPK12QPaintDevicePS0_RK6QPoint @ 6483 NONAME + _ZN8QPainter13setRenderHintENS_10RenderHintEb @ 6484 NONAME + _ZN8QPainter14resetTransformEv @ 6485 NONAME + _ZN8QPainter14setBrushOriginERK7QPointF @ 6486 NONAME + _ZN8QPainter14setRenderHintsE6QFlagsINS_10RenderHintEEb @ 6487 NONAME + _ZN8QPainter14setWorldMatrixERK7QMatrixb @ 6488 NONAME + _ZN8QPainter15drawRoundedRectERK6QRectFffN2Qt8SizeModeE @ 6489 NONAME + _ZN8QPainter15drawTiledPixmapERK6QRectFRK7QPixmapRK7QPointF @ 6490 NONAME + _ZN8QPainter16setMatrixEnabledEb @ 6491 NONAME + _ZN8QPainter16staticMetaObjectE @ 6492 NONAME DATA 16 + _ZN8QPainter17drawConvexPolygonEPK6QPointi @ 6493 NONAME + _ZN8QPainter17drawConvexPolygonEPK7QPointFi @ 6494 NONAME + _ZN8QPainter17endNativePaintingEv @ 6495 NONAME + _ZN8QPainter17restoreRedirectedEPK12QPaintDevice @ 6496 NONAME + _ZN8QPainter17setBackgroundModeEN2Qt6BGModeE @ 6497 NONAME + _ZN8QPainter17setWorldTransformERK10QTransformb @ 6498 NONAME + _ZN8QPainter18setCompositionModeENS_15CompositionModeE @ 6499 NONAME + _ZN8QPainter18setLayoutDirectionEN2Qt15LayoutDirectionE @ 6500 NONAME + _ZN8QPainter19beginNativePaintingEv @ 6501 NONAME + _ZN8QPainter19getStaticMetaObjectEv @ 6502 NONAME + _ZN8QPainter21setWorldMatrixEnabledEb @ 6503 NONAME + _ZN8QPainter23setViewTransformEnabledEb @ 6504 NONAME + _ZN8QPainter3endEv @ 6505 NONAME + _ZN8QPainter4saveEv @ 6506 NONAME + _ZN8QPainter5beginEP12QPaintDevice @ 6507 NONAME + _ZN8QPainter5scaleEff @ 6508 NONAME + _ZN8QPainter5shearEff @ 6509 NONAME + _ZN8QPainter6rotateEf @ 6510 NONAME + _ZN8QPainter6setPenEN2Qt8PenStyleE @ 6511 NONAME + _ZN8QPainter6setPenERK4QPen @ 6512 NONAME + _ZN8QPainter6setPenERK6QColor @ 6513 NONAME + _ZN8QPainter7drawArcERK6QRectFii @ 6514 NONAME + _ZN8QPainter7drawPieERK6QRectFii @ 6515 NONAME + _ZN8QPainter7restoreEv @ 6516 NONAME + _ZN8QPainter7setFontERK5QFont @ 6517 NONAME + _ZN8QPainter8drawPathERK12QPainterPath @ 6518 NONAME + _ZN8QPainter8drawTextERK5QRectiRK7QStringPS0_ @ 6519 NONAME + _ZN8QPainter8drawTextERK6QRectFRK7QStringRK11QTextOption @ 6520 NONAME + _ZN8QPainter8drawTextERK6QRectFiRK7QStringPS0_ @ 6521 NONAME + _ZN8QPainter8drawTextERK7QPointFRK7QString @ 6522 NONAME + _ZN8QPainter8drawTextERK7QPointFRK7QStringii @ 6523 NONAME + _ZN8QPainter8fillPathERK12QPainterPathRK6QBrush @ 6524 NONAME + _ZN8QPainter8fillRectERK5QRectRK6QBrush @ 6525 NONAME + _ZN8QPainter8fillRectERK5QRectRK6QColor @ 6526 NONAME + _ZN8QPainter8fillRectERK6QRectFRK6QBrush @ 6527 NONAME + _ZN8QPainter8fillRectERK6QRectFRK6QColor @ 6528 NONAME + _ZN8QPainter8initFromEPK7QWidget @ 6529 NONAME + _ZN8QPainter8setBrushEN2Qt10BrushStyleE @ 6530 NONAME + _ZN8QPainter8setBrushERK6QBrush @ 6531 NONAME + _ZN8QPainter9drawChordERK6QRectFii @ 6532 NONAME + _ZN8QPainter9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 6533 NONAME + _ZN8QPainter9drawImageERK7QPointFRK6QImage @ 6534 NONAME + _ZN8QPainter9drawLinesEPK5QLinei @ 6535 NONAME + _ZN8QPainter9drawLinesEPK6QLineFi @ 6536 NONAME + _ZN8QPainter9drawLinesEPK6QPointi @ 6537 NONAME + _ZN8QPainter9drawLinesEPK7QPointFi @ 6538 NONAME + _ZN8QPainter9drawRectsEPK5QRecti @ 6539 NONAME + _ZN8QPainter9drawRectsEPK6QRectFi @ 6540 NONAME + _ZN8QPainter9eraseRectERK6QRectF @ 6541 NONAME + _ZN8QPainter9setMatrixERK7QMatrixb @ 6542 NONAME + _ZN8QPainter9setWindowERK5QRect @ 6543 NONAME + _ZN8QPainter9translateERK7QPointF @ 6544 NONAME + _ZN8QPainterC1EP12QPaintDevice @ 6545 NONAME + _ZN8QPainterC1Ev @ 6546 NONAME + _ZN8QPainterC2EP12QPaintDevice @ 6547 NONAME + _ZN8QPainterC2Ev @ 6548 NONAME + _ZN8QPainterD1Ev @ 6549 NONAME + _ZN8QPainterD2Ev @ 6550 NONAME + _ZN8QPalette13setColorGroupENS_10ColorGroupERK6QBrushS3_S3_S3_S3_S3_S3_S3_S3_ @ 6551 NONAME + _ZN8QPalette13setColorGroupENS_10ColorGroupERK6QBrushS3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_ @ 6552 NONAME + _ZN8QPalette13setColorGroupENS_10ColorGroupERK6QBrushS3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_S3_ @ 6553 NONAME + _ZN8QPalette16staticMetaObjectE @ 6554 NONAME DATA 16 + _ZN8QPalette19getStaticMetaObjectEv @ 6555 NONAME + _ZN8QPalette4initEv @ 6556 NONAME + _ZN8QPalette6detachEv @ 6557 NONAME + _ZN8QPalette8setBrushENS_10ColorGroupENS_9ColorRoleERK6QBrush @ 6558 NONAME + _ZN8QPaletteC1EN2Qt11GlobalColorE @ 6559 NONAME + _ZN8QPaletteC1ERK6QBrushS2_S2_S2_S2_S2_S2_S2_S2_ @ 6560 NONAME + _ZN8QPaletteC1ERK6QColor @ 6561 NONAME + _ZN8QPaletteC1ERK6QColorS2_ @ 6562 NONAME + _ZN8QPaletteC1ERK6QColorS2_S2_S2_S2_S2_S2_ @ 6563 NONAME + _ZN8QPaletteC1ERKS_ @ 6564 NONAME + _ZN8QPaletteC1Ev @ 6565 NONAME + _ZN8QPaletteC2EN2Qt11GlobalColorE @ 6566 NONAME + _ZN8QPaletteC2ERK6QBrushS2_S2_S2_S2_S2_S2_S2_S2_ @ 6567 NONAME + _ZN8QPaletteC2ERK6QColor @ 6568 NONAME + _ZN8QPaletteC2ERK6QColorS2_ @ 6569 NONAME + _ZN8QPaletteC2ERK6QColorS2_S2_S2_S2_S2_S2_ @ 6570 NONAME + _ZN8QPaletteC2ERKS_ @ 6571 NONAME + _ZN8QPaletteC2Ev @ 6572 NONAME + _ZN8QPaletteD1Ev @ 6573 NONAME + _ZN8QPaletteD2Ev @ 6574 NONAME + _ZN8QPaletteaSERKS_ @ 6575 NONAME + _ZN8QPicture12inputFormatsEv @ 6576 NONAME + _ZN8QPicture13detach_helperEv @ 6577 NONAME + _ZN8QPicture13outputFormatsEv @ 6578 NONAME + _ZN8QPicture13pictureFormatERK7QString @ 6579 NONAME + _ZN8QPicture15inputFormatListEv @ 6580 NONAME + _ZN8QPicture15setBoundingRectERK5QRect @ 6581 NONAME + _ZN8QPicture16outputFormatListEv @ 6582 NONAME + _ZN8QPicture4execEP8QPainterR11QDataStreami @ 6583 NONAME + _ZN8QPicture4loadEP9QIODevicePKc @ 6584 NONAME + _ZN8QPicture4loadERK7QStringPKc @ 6585 NONAME + _ZN8QPicture4playEP8QPainter @ 6586 NONAME + _ZN8QPicture4saveEP9QIODevicePKc @ 6587 NONAME + _ZN8QPicture4saveERK7QStringPKc @ 6588 NONAME + _ZN8QPicture6detachEv @ 6589 NONAME + _ZN8QPicture7setDataEPKcj @ 6590 NONAME + _ZN8QPictureC1ER15QPicturePrivate @ 6591 NONAME + _ZN8QPictureC1ERKS_ @ 6592 NONAME + _ZN8QPictureC1Ei @ 6593 NONAME + _ZN8QPictureC2ER15QPicturePrivate @ 6594 NONAME + _ZN8QPictureC2ERKS_ @ 6595 NONAME + _ZN8QPictureC2Ei @ 6596 NONAME + _ZN8QPictureD0Ev @ 6597 NONAME + _ZN8QPictureD1Ev @ 6598 NONAME + _ZN8QPictureD2Ev @ 6599 NONAME + _ZN8QPictureaSERKS_ @ 6600 NONAME + _ZN8QPolygon9putPointsEiiPKi @ 6601 NONAME + _ZN8QPolygon9putPointsEiiRKS_i @ 6602 NONAME + _ZN8QPolygon9putPointsEiiiiz @ 6603 NONAME + _ZN8QPolygon9setPointsEiPKi @ 6604 NONAME + _ZN8QPolygon9setPointsEiiiz @ 6605 NONAME + _ZN8QPolygon9translateEii @ 6606 NONAME + _ZN8QPolygonC1ERK5QRectb @ 6607 NONAME + _ZN8QPolygonC1EiPKi @ 6608 NONAME + _ZN8QPolygonC2ERK5QRectb @ 6609 NONAME + _ZN8QPolygonC2EiPKi @ 6610 NONAME + _ZN8QSpinBox10setMaximumEi @ 6611 NONAME + _ZN8QSpinBox10setMinimumEi @ 6612 NONAME + _ZN8QSpinBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6613 NONAME + _ZN8QSpinBox11qt_metacastEPKc @ 6614 NONAME + _ZN8QSpinBox12valueChangedERK7QString @ 6615 NONAME + _ZN8QSpinBox12valueChangedEi @ 6616 NONAME + _ZN8QSpinBox13setSingleStepEi @ 6617 NONAME + _ZN8QSpinBox16staticMetaObjectE @ 6618 NONAME DATA 16 + _ZN8QSpinBox19getStaticMetaObjectEv @ 6619 NONAME + _ZN8QSpinBox5eventEP6QEvent @ 6620 NONAME + _ZN8QSpinBox8setRangeEii @ 6621 NONAME + _ZN8QSpinBox8setValueEi @ 6622 NONAME + _ZN8QSpinBox9setPrefixERK7QString @ 6623 NONAME + _ZN8QSpinBox9setSuffixERK7QString @ 6624 NONAME + _ZN8QSpinBoxC1EP7QWidget @ 6625 NONAME + _ZN8QSpinBoxC2EP7QWidget @ 6626 NONAME + _ZN8QStroker10joinPointsEffRK6QLineFNS_12LineJoinModeE @ 6627 NONAME + _ZN8QStroker14capForJoinModeENS_12LineJoinModeE @ 6628 NONAME + _ZN8QStroker14joinModeForCapEN2Qt11PenCapStyleE @ 6629 NONAME + _ZN8QStroker15joinForJoinModeENS_12LineJoinModeE @ 6630 NONAME + _ZN8QStroker15joinModeForJoinEN2Qt12PenJoinStyleE @ 6631 NONAME + _ZN8QStroker21processCurrentSubpathEv @ 6632 NONAME + _ZN8QStrokerC1Ev @ 6633 NONAME + _ZN8QStrokerC2Ev @ 6634 NONAME + _ZN8QStrokerD0Ev @ 6635 NONAME + _ZN8QStrokerD1Ev @ 6636 NONAME + _ZN8QStrokerD2Ev @ 6637 NONAME + _ZN8QToolBar10childEventEP11QChildEvent @ 6638 NONAME + _ZN8QToolBar10paintEventEP11QPaintEvent @ 6639 NONAME + _ZN8QToolBar10setMovableEb @ 6640 NONAME + _ZN8QToolBar11actionEventEP12QActionEvent @ 6641 NONAME + _ZN8QToolBar11changeEventEP6QEvent @ 6642 NONAME + _ZN8QToolBar11qt_metacallEN11QMetaObject4CallEiPPv @ 6643 NONAME + _ZN8QToolBar11qt_metacastEPKc @ 6644 NONAME + _ZN8QToolBar11resizeEventEP12QResizeEvent @ 6645 NONAME + _ZN8QToolBar11setIconSizeERK5QSize @ 6646 NONAME + _ZN8QToolBar12addSeparatorEv @ 6647 NONAME + _ZN8QToolBar12insertWidgetEP7QActionP7QWidget @ 6648 NONAME + _ZN8QToolBar12setFloatableEb @ 6649 NONAME + _ZN8QToolBar14movableChangedEb @ 6650 NONAME + _ZN8QToolBar14setOrientationEN2Qt11OrientationE @ 6651 NONAME + _ZN8QToolBar15actionTriggeredEP7QAction @ 6652 NONAME + _ZN8QToolBar15iconSizeChangedERK5QSize @ 6653 NONAME + _ZN8QToolBar15insertSeparatorEP7QAction @ 6654 NONAME + _ZN8QToolBar15setAllowedAreasE6QFlagsIN2Qt11ToolBarAreaEE @ 6655 NONAME + _ZN8QToolBar16staticMetaObjectE @ 6656 NONAME DATA 16 + _ZN8QToolBar18orientationChangedEN2Qt11OrientationE @ 6657 NONAME + _ZN8QToolBar18setToolButtonStyleEN2Qt15ToolButtonStyleE @ 6658 NONAME + _ZN8QToolBar19allowedAreasChangedE6QFlagsIN2Qt11ToolBarAreaEE @ 6659 NONAME + _ZN8QToolBar19getStaticMetaObjectEv @ 6660 NONAME + _ZN8QToolBar22toolButtonStyleChangedEN2Qt15ToolButtonStyleE @ 6661 NONAME + _ZN8QToolBar5clearEv @ 6662 NONAME + _ZN8QToolBar5eventEP6QEvent @ 6663 NONAME + _ZN8QToolBar9addActionERK5QIconRK7QString @ 6664 NONAME + _ZN8QToolBar9addActionERK5QIconRK7QStringPK7QObjectPKc @ 6665 NONAME + _ZN8QToolBar9addActionERK7QString @ 6666 NONAME + _ZN8QToolBar9addActionERK7QStringPK7QObjectPKc @ 6667 NONAME + _ZN8QToolBar9addWidgetEP7QWidget @ 6668 NONAME + _ZN8QToolBarC1EP7QWidget @ 6669 NONAME + _ZN8QToolBarC1ERK7QStringP7QWidget @ 6670 NONAME + _ZN8QToolBarC2EP7QWidget @ 6671 NONAME + _ZN8QToolBarC2ERK7QStringP7QWidget @ 6672 NONAME + _ZN8QToolBarD0Ev @ 6673 NONAME + _ZN8QToolBarD1Ev @ 6674 NONAME + _ZN8QToolBarD2Ev @ 6675 NONAME + _ZN8QToolBox10insertItemEiP7QWidgetRK5QIconRK7QString @ 6676 NONAME + _ZN8QToolBox10removeItemEi @ 6677 NONAME + _ZN8QToolBox11changeEventEP6QEvent @ 6678 NONAME + _ZN8QToolBox11itemRemovedEi @ 6679 NONAME + _ZN8QToolBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6680 NONAME + _ZN8QToolBox11qt_metacastEPKc @ 6681 NONAME + _ZN8QToolBox11setItemIconEiRK5QIcon @ 6682 NONAME + _ZN8QToolBox11setItemTextEiRK7QString @ 6683 NONAME + _ZN8QToolBox12itemInsertedEi @ 6684 NONAME + _ZN8QToolBox14currentChangedEi @ 6685 NONAME + _ZN8QToolBox14setItemEnabledEib @ 6686 NONAME + _ZN8QToolBox14setItemToolTipEiRK7QString @ 6687 NONAME + _ZN8QToolBox15setCurrentIndexEi @ 6688 NONAME + _ZN8QToolBox16setCurrentWidgetEP7QWidget @ 6689 NONAME + _ZN8QToolBox16staticMetaObjectE @ 6690 NONAME DATA 16 + _ZN8QToolBox19getStaticMetaObjectEv @ 6691 NONAME + _ZN8QToolBox5eventEP6QEvent @ 6692 NONAME + _ZN8QToolBox9showEventEP10QShowEvent @ 6693 NONAME + _ZN8QToolBoxC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6694 NONAME + _ZN8QToolBoxC2EP7QWidget6QFlagsIN2Qt10WindowTypeEE @ 6695 NONAME + _ZN8QToolBoxD0Ev @ 6696 NONAME + _ZN8QToolBoxD1Ev @ 6697 NONAME + _ZN8QToolBoxD2Ev @ 6698 NONAME + _ZN8QToolTip10setPaletteERK8QPalette @ 6699 NONAME + _ZN8QToolTip4fontEv @ 6700 NONAME + _ZN8QToolTip4textEv @ 6701 NONAME + _ZN8QToolTip7paletteEv @ 6702 NONAME + _ZN8QToolTip7setFontERK5QFont @ 6703 NONAME + _ZN8QToolTip8showTextERK6QPointRK7QStringP7QWidget @ 6704 NONAME + _ZN8QToolTip8showTextERK6QPointRK7QStringP7QWidgetRK5QRect @ 6705 NONAME + _ZN8QToolTip9isVisibleEv @ 6706 NONAME + _ZN9QCheckBox10paintEventEP11QPaintEvent @ 6707 NONAME + _ZN9QCheckBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6708 NONAME + _ZN9QCheckBox11qt_metacastEPKc @ 6709 NONAME + _ZN9QCheckBox11setTristateEb @ 6710 NONAME + _ZN9QCheckBox12stateChangedEi @ 6711 NONAME + _ZN9QCheckBox13checkStateSetEv @ 6712 NONAME + _ZN9QCheckBox13setCheckStateEN2Qt10CheckStateE @ 6713 NONAME + _ZN9QCheckBox14mouseMoveEventEP11QMouseEvent @ 6714 NONAME + _ZN9QCheckBox14nextCheckStateEv @ 6715 NONAME + _ZN9QCheckBox16staticMetaObjectE @ 6716 NONAME DATA 16 + _ZN9QCheckBox19getStaticMetaObjectEv @ 6717 NONAME + _ZN9QCheckBox5eventEP6QEvent @ 6718 NONAME + _ZN9QCheckBoxC1EP7QWidget @ 6719 NONAME + _ZN9QCheckBoxC1ERK7QStringP7QWidget @ 6720 NONAME + _ZN9QCheckBoxC2EP7QWidget @ 6721 NONAME + _ZN9QCheckBoxC2ERK7QStringP7QWidget @ 6722 NONAME + _ZN9QColormap10initializeEv @ 6723 NONAME + _ZN9QColormap7cleanupEv @ 6724 NONAME + _ZN9QColormap8instanceEi @ 6725 NONAME + _ZN9QColormapC1ERKS_ @ 6726 NONAME + _ZN9QColormapC1Ev @ 6727 NONAME + _ZN9QColormapC2ERKS_ @ 6728 NONAME + _ZN9QColormapC2Ev @ 6729 NONAME + _ZN9QColormapD1Ev @ 6730 NONAME + _ZN9QColormapD2Ev @ 6731 NONAME + _ZN9QColormapaSERKS_ @ 6732 NONAME + _ZN9QComboBox10insertItemEiRK5QIconRK7QStringRK8QVariant @ 6733 NONAME + _ZN9QComboBox10paintEventEP11QPaintEvent @ 6734 NONAME + _ZN9QComboBox10removeItemEi @ 6735 NONAME + _ZN9QComboBox10wheelEventEP11QWheelEvent @ 6736 NONAME + _ZN9QComboBox11changeEventEP6QEvent @ 6737 NONAME + _ZN9QComboBox11highlightedERK7QString @ 6738 NONAME + _ZN9QComboBox11highlightedEi @ 6739 NONAME + _ZN9QComboBox11insertItemsEiRK11QStringList @ 6740 NONAME + _ZN9QComboBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6741 NONAME + _ZN9QComboBox11qt_metacastEPKc @ 6742 NONAME + _ZN9QComboBox11resizeEventEP12QResizeEvent @ 6743 NONAME + _ZN9QComboBox11setEditTextERK7QString @ 6744 NONAME + _ZN9QComboBox11setEditableEb @ 6745 NONAME + _ZN9QComboBox11setIconSizeERK5QSize @ 6746 NONAME + _ZN9QComboBox11setItemDataEiRK8QVarianti @ 6747 NONAME + _ZN9QComboBox11setItemIconEiRK5QIcon @ 6748 NONAME + _ZN9QComboBox11setItemTextEiRK7QString @ 6749 NONAME + _ZN9QComboBox11setLineEditEP9QLineEdit @ 6750 NONAME + _ZN9QComboBox11setMaxCountEi @ 6751 NONAME + _ZN9QComboBox12focusInEventEP11QFocusEvent @ 6752 NONAME + _ZN9QComboBox12setCompleterEP10QCompleter @ 6753 NONAME + _ZN9QComboBox12setValidatorEPK10QValidator @ 6754 NONAME + _ZN9QComboBox13clearEditTextEv @ 6755 NONAME + _ZN9QComboBox13focusOutEventEP11QFocusEvent @ 6756 NONAME + _ZN9QComboBox13keyPressEventEP9QKeyEvent @ 6757 NONAME + _ZN9QComboBox14setModelColumnEi @ 6758 NONAME + _ZN9QComboBox15editTextChangedERK7QString @ 6759 NONAME + _ZN9QComboBox15insertSeparatorEi @ 6760 NONAME + _ZN9QComboBox15keyReleaseEventEP9QKeyEvent @ 6761 NONAME + _ZN9QComboBox15mousePressEventEP11QMouseEvent @ 6762 NONAME + _ZN9QComboBox15setCurrentIndexEi @ 6763 NONAME + _ZN9QComboBox15setInsertPolicyENS_12InsertPolicyE @ 6764 NONAME + _ZN9QComboBox15setItemDelegateEP21QAbstractItemDelegate @ 6765 NONAME + _ZN9QComboBox16contextMenuEventEP17QContextMenuEvent @ 6766 NONAME + _ZN9QComboBox16inputMethodEventEP17QInputMethodEvent @ 6767 NONAME + _ZN9QComboBox16staticMetaObjectE @ 6768 NONAME DATA 16 + _ZN9QComboBox17mouseReleaseEventEP11QMouseEvent @ 6769 NONAME + _ZN9QComboBox17setAutoCompletionEb @ 6770 NONAME + _ZN9QComboBox17setRootModelIndexERK11QModelIndex @ 6771 NONAME + _ZN9QComboBox18setMaxVisibleItemsEi @ 6772 NONAME + _ZN9QComboBox19currentIndexChangedERK7QString @ 6773 NONAME + _ZN9QComboBox19currentIndexChangedEi @ 6774 NONAME + _ZN9QComboBox19getStaticMetaObjectEv @ 6775 NONAME + _ZN9QComboBox19setSizeAdjustPolicyENS_16SizeAdjustPolicyE @ 6776 NONAME + _ZN9QComboBox20setDuplicatesEnabledEb @ 6777 NONAME + _ZN9QComboBox24setMinimumContentsLengthEi @ 6778 NONAME + _ZN9QComboBox32setAutoCompletionCaseSensitivityEN2Qt15CaseSensitivityE @ 6779 NONAME + _ZN9QComboBox5clearEv @ 6780 NONAME + _ZN9QComboBox5eventEP6QEvent @ 6781 NONAME + _ZN9QComboBox7setViewEP17QAbstractItemView @ 6782 NONAME + _ZN9QComboBox8setFrameEb @ 6783 NONAME + _ZN9QComboBox8setModelEP18QAbstractItemModel @ 6784 NONAME + _ZN9QComboBox9activatedERK7QString @ 6785 NONAME + _ZN9QComboBox9activatedEi @ 6786 NONAME + _ZN9QComboBox9hideEventEP10QHideEvent @ 6787 NONAME + _ZN9QComboBox9hidePopupEv @ 6788 NONAME + _ZN9QComboBox9showEventEP10QShowEvent @ 6789 NONAME + _ZN9QComboBox9showPopupEv @ 6790 NONAME + _ZN9QComboBoxC1EP7QWidget @ 6791 NONAME + _ZN9QComboBoxC1ER16QComboBoxPrivateP7QWidget @ 6792 NONAME + _ZN9QComboBoxC2EP7QWidget @ 6793 NONAME + _ZN9QComboBoxC2ER16QComboBoxPrivateP7QWidget @ 6794 NONAME + _ZN9QComboBoxD0Ev @ 6795 NONAME + _ZN9QComboBoxD1Ev @ 6796 NONAME + _ZN9QComboBoxD2Ev @ 6797 NONAME + _ZN9QDateEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 6798 NONAME + _ZN9QDateEdit11qt_metacastEPKc @ 6799 NONAME + _ZN9QDateEdit16staticMetaObjectE @ 6800 NONAME DATA 16 + _ZN9QDateEdit19getStaticMetaObjectEv @ 6801 NONAME + _ZN9QDateEditC1EP7QWidget @ 6802 NONAME + _ZN9QDateEditC1ERK5QDateP7QWidget @ 6803 NONAME + _ZN9QDateEditC2EP7QWidget @ 6804 NONAME + _ZN9QDateEditC2ERK5QDateP7QWidget @ 6805 NONAME + _ZN9QDirModel10setSortingE6QFlagsIN4QDir8SortFlagEE @ 6806 NONAME + _ZN9QDirModel11qt_metacallEN11QMetaObject4CallEiPPv @ 6807 NONAME + _ZN9QDirModel11qt_metacastEPKc @ 6808 NONAME + _ZN9QDirModel11setReadOnlyEb @ 6809 NONAME + _ZN9QDirModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 6810 NONAME + _ZN9QDirModel14setNameFiltersERK11QStringList @ 6811 NONAME + _ZN9QDirModel15setIconProviderEP17QFileIconProvider @ 6812 NONAME + _ZN9QDirModel16staticMetaObjectE @ 6813 NONAME DATA 16 + _ZN9QDirModel17setLazyChildCountEb @ 6814 NONAME + _ZN9QDirModel18setResolveSymlinksEb @ 6815 NONAME + _ZN9QDirModel19getStaticMetaObjectEv @ 6816 NONAME + _ZN9QDirModel4sortEiN2Qt9SortOrderE @ 6817 NONAME + _ZN9QDirModel5mkdirERK11QModelIndexRK7QString @ 6818 NONAME + _ZN9QDirModel5rmdirERK11QModelIndex @ 6819 NONAME + _ZN9QDirModel6removeERK11QModelIndex @ 6820 NONAME + _ZN9QDirModel7refreshERK11QModelIndex @ 6821 NONAME + _ZN9QDirModel7setDataERK11QModelIndexRK8QVarianti @ 6822 NONAME + _ZN9QDirModel9setFilterE6QFlagsIN4QDir6FilterEE @ 6823 NONAME + _ZN9QDirModelC1EP7QObject @ 6824 NONAME + _ZN9QDirModelC1ER16QDirModelPrivateP7QObject @ 6825 NONAME + _ZN9QDirModelC1ERK11QStringList6QFlagsIN4QDir6FilterEES3_INS4_8SortFlagEEP7QObject @ 6826 NONAME + _ZN9QDirModelC2EP7QObject @ 6827 NONAME + _ZN9QDirModelC2ER16QDirModelPrivateP7QObject @ 6828 NONAME + _ZN9QDirModelC2ERK11QStringList6QFlagsIN4QDir6FilterEES3_INS4_8SortFlagEEP7QObject @ 6829 NONAME + _ZN9QDirModelD0Ev @ 6830 NONAME + _ZN9QDirModelD1Ev @ 6831 NONAME + _ZN9QDirModelD2Ev @ 6832 NONAME + _ZN9QFontInfoC1ERK5QFont @ 6833 NONAME + _ZN9QFontInfoC1ERKS_ @ 6834 NONAME + _ZN9QFontInfoC2ERK5QFont @ 6835 NONAME + _ZN9QFontInfoC2ERKS_ @ 6836 NONAME + _ZN9QFontInfoD1Ev @ 6837 NONAME + _ZN9QFontInfoD2Ev @ 6838 NONAME + _ZN9QFontInfoaSERKS_ @ 6839 NONAME + _ZN9QGradient10setColorAtEfRK6QColor @ 6840 NONAME + _ZN9QGradient16staticMetaObjectE @ 6841 NONAME DATA 16 + _ZN9QGradient17setCoordinateModeENS_14CoordinateModeE @ 6842 NONAME + _ZN9QGradient19getStaticMetaObjectEv @ 6843 NONAME + _ZN9QGradient20setInterpolationModeENS_17InterpolationModeE @ 6844 NONAME + _ZN9QGradient8setStopsERK7QVectorI5QPairIf6QColorEE @ 6845 NONAME + _ZN9QGradientC1Ev @ 6846 NONAME + _ZN9QGradientC2Ev @ 6847 NONAME + _ZN9QGradienteqERKS_ @ 6848 NONAME + _ZN9QGroupBox10childEventEP11QChildEvent @ 6849 NONAME + _ZN9QGroupBox10paintEventEP11QPaintEvent @ 6850 NONAME + _ZN9QGroupBox10setCheckedEb @ 6851 NONAME + _ZN9QGroupBox11changeEventEP6QEvent @ 6852 NONAME + _ZN9QGroupBox11qt_metacallEN11QMetaObject4CallEiPPv @ 6853 NONAME + _ZN9QGroupBox11qt_metacastEPKc @ 6854 NONAME + _ZN9QGroupBox11resizeEventEP12QResizeEvent @ 6855 NONAME + _ZN9QGroupBox12focusInEventEP11QFocusEvent @ 6856 NONAME + _ZN9QGroupBox12setAlignmentEi @ 6857 NONAME + _ZN9QGroupBox12setCheckableEb @ 6858 NONAME + _ZN9QGroupBox14mouseMoveEventEP11QMouseEvent @ 6859 NONAME + _ZN9QGroupBox15mousePressEventEP11QMouseEvent @ 6860 NONAME + _ZN9QGroupBox16staticMetaObjectE @ 6861 NONAME DATA 16 + _ZN9QGroupBox17mouseReleaseEventEP11QMouseEvent @ 6862 NONAME + _ZN9QGroupBox19getStaticMetaObjectEv @ 6863 NONAME + _ZN9QGroupBox5eventEP6QEvent @ 6864 NONAME + _ZN9QGroupBox7clickedEb @ 6865 NONAME + _ZN9QGroupBox7setFlatEb @ 6866 NONAME + _ZN9QGroupBox7toggledEb @ 6867 NONAME + _ZN9QGroupBox8setTitleERK7QString @ 6868 NONAME + _ZN9QGroupBoxC1EP7QWidget @ 6869 NONAME + _ZN9QGroupBoxC1ERK7QStringP7QWidget @ 6870 NONAME + _ZN9QGroupBoxC2EP7QWidget @ 6871 NONAME + _ZN9QGroupBoxC2ERK7QStringP7QWidget @ 6872 NONAME + _ZN9QGroupBoxD0Ev @ 6873 NONAME + _ZN9QGroupBoxD1Ev @ 6874 NONAME + _ZN9QGroupBoxD2Ev @ 6875 NONAME + _ZN9QKeyEvent22createExtendedKeyEventEN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEEjjjRK7QStringbt @ 6876 NONAME + _ZN9QKeyEventC1EN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEERK7QStringbt @ 6877 NONAME + _ZN9QKeyEventC2EN6QEvent4TypeEi6QFlagsIN2Qt16KeyboardModifierEERK7QStringbt @ 6878 NONAME + _ZN9QKeyEventD0Ev @ 6879 NONAME + _ZN9QKeyEventD1Ev @ 6880 NONAME + _ZN9QKeyEventD2Ev @ 6881 NONAME + _ZN9QLineEdit10paintEventEP11QPaintEvent @ 6882 NONAME + _ZN9QLineEdit10textEditedERK7QString @ 6883 NONAME + _ZN9QLineEdit11changeEventEP6QEvent @ 6884 NONAME + _ZN9QLineEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 6885 NONAME + _ZN9QLineEdit11qt_metacastEPKc @ 6886 NONAME + _ZN9QLineEdit11setEchoModeENS_8EchoModeE @ 6887 NONAME + _ZN9QLineEdit11setModifiedEb @ 6888 NONAME + _ZN9QLineEdit11setReadOnlyEb @ 6889 NONAME + _ZN9QLineEdit11textChangedERK7QString @ 6890 NONAME + _ZN9QLineEdit12focusInEventEP11QFocusEvent @ 6891 NONAME + _ZN9QLineEdit12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 6892 NONAME + _ZN9QLineEdit12setCompleterEP10QCompleter @ 6893 NONAME + _ZN9QLineEdit12setInputMaskERK7QString @ 6894 NONAME + _ZN9QLineEdit12setMaxLengthEi @ 6895 NONAME + _ZN9QLineEdit12setSelectionEii @ 6896 NONAME + _ZN9QLineEdit12setValidatorEPK10QValidator @ 6897 NONAME + _ZN9QLineEdit13cursorForwardEbi @ 6898 NONAME + _ZN9QLineEdit13dragMoveEventEP14QDragMoveEvent @ 6899 NONAME + _ZN9QLineEdit13focusOutEventEP11QFocusEvent @ 6900 NONAME + _ZN9QLineEdit13keyPressEventEP9QKeyEvent @ 6901 NONAME + _ZN9QLineEdit13returnPressedEv @ 6902 NONAME + _ZN9QLineEdit14cursorBackwardEbi @ 6903 NONAME + _ZN9QLineEdit14dragEnterEventEP15QDragEnterEvent @ 6904 NONAME + _ZN9QLineEdit14dragLeaveEventEP15QDragLeaveEvent @ 6905 NONAME + _ZN9QLineEdit14mouseMoveEventEP11QMouseEvent @ 6906 NONAME + _ZN9QLineEdit14setDragEnabledEb @ 6907 NONAME + _ZN9QLineEdit14setTextMarginsEiiii @ 6908 NONAME + _ZN9QLineEdit15editingFinishedEv @ 6909 NONAME + _ZN9QLineEdit15mousePressEventEP11QMouseEvent @ 6910 NONAME + _ZN9QLineEdit16contextMenuEventEP17QContextMenuEvent @ 6911 NONAME + _ZN9QLineEdit16cursorPositionAtERK6QPoint @ 6912 NONAME + _ZN9QLineEdit16inputMethodEventEP17QInputMethodEvent @ 6913 NONAME + _ZN9QLineEdit16selectionChangedEv @ 6914 NONAME + _ZN9QLineEdit16staticMetaObjectE @ 6915 NONAME DATA 16 + _ZN9QLineEdit17cursorWordForwardEb @ 6916 NONAME + _ZN9QLineEdit17mouseReleaseEventEP11QMouseEvent @ 6917 NONAME + _ZN9QLineEdit17setCursorPositionEi @ 6918 NONAME + _ZN9QLineEdit18cursorWordBackwardEb @ 6919 NONAME + _ZN9QLineEdit19getStaticMetaObjectEv @ 6920 NONAME + _ZN9QLineEdit21cursorPositionChangedEii @ 6921 NONAME + _ZN9QLineEdit21mouseDoubleClickEventEP11QMouseEvent @ 6922 NONAME + _ZN9QLineEdit25createStandardContextMenuEv @ 6923 NONAME + _ZN9QLineEdit3cutEv @ 6924 NONAME + _ZN9QLineEdit3delEv @ 6925 NONAME + _ZN9QLineEdit3endEb @ 6926 NONAME + _ZN9QLineEdit4homeEb @ 6927 NONAME + _ZN9QLineEdit4redoEv @ 6928 NONAME + _ZN9QLineEdit4undoEv @ 6929 NONAME + _ZN9QLineEdit5clearEv @ 6930 NONAME + _ZN9QLineEdit5eventEP6QEvent @ 6931 NONAME + _ZN9QLineEdit5pasteEv @ 6932 NONAME + _ZN9QLineEdit6insertERK7QString @ 6933 NONAME + _ZN9QLineEdit7setTextERK7QString @ 6934 NONAME + _ZN9QLineEdit8deselectEv @ 6935 NONAME + _ZN9QLineEdit8setFrameEb @ 6936 NONAME + _ZN9QLineEdit9backspaceEv @ 6937 NONAME + _ZN9QLineEdit9dropEventEP10QDropEvent @ 6938 NONAME + _ZN9QLineEdit9selectAllEv @ 6939 NONAME + _ZN9QLineEditC1EP7QWidget @ 6940 NONAME + _ZN9QLineEditC1ERK7QStringP7QWidget @ 6941 NONAME + _ZN9QLineEditC2EP7QWidget @ 6942 NONAME + _ZN9QLineEditC2ERK7QStringP7QWidget @ 6943 NONAME + _ZN9QLineEditD0Ev @ 6944 NONAME + _ZN9QLineEditD1Ev @ 6945 NONAME + _ZN9QLineEditD2Ev @ 6946 NONAME + _ZN9QListView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 6947 NONAME + _ZN9QListView10paintEventEP11QPaintEvent @ 6948 NONAME + _ZN9QListView10setSpacingEi @ 6949 NONAME + _ZN9QListView10timerEventEP11QTimerEvent @ 6950 NONAME + _ZN9QListView11dataChangedERK11QModelIndexS2_ @ 6951 NONAME + _ZN9QListView11qt_metacallEN11QMetaObject4CallEiPPv @ 6952 NONAME + _ZN9QListView11qt_metacastEPKc @ 6953 NONAME + _ZN9QListView11resizeEventEP12QResizeEvent @ 6954 NONAME + _ZN9QListView11setGridSizeERK5QSize @ 6955 NONAME + _ZN9QListView11setMovementENS_8MovementE @ 6956 NONAME + _ZN9QListView11setViewModeENS_8ViewModeE @ 6957 NONAME + _ZN9QListView11setWordWrapEb @ 6958 NONAME + _ZN9QListView11setWrappingEb @ 6959 NONAME + _ZN9QListView12indexesMovedERK5QListI11QModelIndexE @ 6960 NONAME + _ZN9QListView12internalDragE6QFlagsIN2Qt10DropActionEE @ 6961 NONAME + _ZN9QListView12internalDropEP10QDropEvent @ 6962 NONAME + _ZN9QListView12rowsInsertedERK11QModelIndexii @ 6963 NONAME + _ZN9QListView12setBatchSizeEi @ 6964 NONAME + _ZN9QListView12setRootIndexERK11QModelIndex @ 6965 NONAME + _ZN9QListView12setRowHiddenEib @ 6966 NONAME + _ZN9QListView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 6967 NONAME + _ZN9QListView13doItemsLayoutEv @ 6968 NONAME + _ZN9QListView13dragMoveEventEP14QDragMoveEvent @ 6969 NONAME + _ZN9QListView13setLayoutModeENS_10LayoutModeE @ 6970 NONAME + _ZN9QListView13setResizeModeENS_10ResizeModeE @ 6971 NONAME + _ZN9QListView14currentChangedERK11QModelIndexS2_ @ 6972 NONAME + _ZN9QListView14dragLeaveEventEP15QDragLeaveEvent @ 6973 NONAME + _ZN9QListView14mouseMoveEventEP11QMouseEvent @ 6974 NONAME + _ZN9QListView14resizeContentsEii @ 6975 NONAME + _ZN9QListView14setModelColumnEi @ 6976 NONAME + _ZN9QListView16scrollContentsByEii @ 6977 NONAME + _ZN9QListView16selectionChangedERK14QItemSelectionS2_ @ 6978 NONAME + _ZN9QListView16staticMetaObjectE @ 6979 NONAME DATA 16 + _ZN9QListView16updateGeometriesEv @ 6980 NONAME + _ZN9QListView17mouseReleaseEventEP11QMouseEvent @ 6981 NONAME + _ZN9QListView18clearPropertyFlagsEv @ 6982 NONAME + _ZN9QListView19getStaticMetaObjectEv @ 6983 NONAME + _ZN9QListView19setPositionForIndexERK6QPointRK11QModelIndex @ 6984 NONAME + _ZN9QListView19setUniformItemSizesEb @ 6985 NONAME + _ZN9QListView20rowsAboutToBeRemovedERK11QModelIndexii @ 6986 NONAME + _ZN9QListView23setSelectionRectVisibleEb @ 6987 NONAME + _ZN9QListView5eventEP6QEvent @ 6988 NONAME + _ZN9QListView5resetEv @ 6989 NONAME + _ZN9QListView7setFlowENS_4FlowE @ 6990 NONAME + _ZN9QListView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 6991 NONAME + _ZN9QListView9dropEventEP10QDropEvent @ 6992 NONAME + _ZN9QListView9startDragE6QFlagsIN2Qt10DropActionEE @ 6993 NONAME + _ZN9QListViewC1EP7QWidget @ 6994 NONAME + _ZN9QListViewC1ER16QListViewPrivateP7QWidget @ 6995 NONAME + _ZN9QListViewC2EP7QWidget @ 6996 NONAME + _ZN9QListViewC2ER16QListViewPrivateP7QWidget @ 6997 NONAME + _ZN9QListViewD0Ev @ 6998 NONAME + _ZN9QListViewD1Ev @ 6999 NONAME + _ZN9QListViewD2Ev @ 7000 NONAME + _ZN9QPolygonF9translateERK7QPointF @ 7001 NONAME + _ZN9QPolygonFC1ERK6QRectF @ 7002 NONAME + _ZN9QPolygonFC1ERK8QPolygon @ 7003 NONAME + _ZN9QPolygonFC2ERK6QRectF @ 7004 NONAME + _ZN9QPolygonFC2ERK8QPolygon @ 7005 NONAME + _ZN9QS60Style11qt_metacallEN11QMetaObject4CallEiPPv @ 7006 NONAME + _ZN9QS60Style11qt_metacastEPKc @ 7007 NONAME + _ZN9QS60Style16setStylePropertyEPKcRK8QVariant @ 7008 NONAME + _ZN9QS60Style16staticMetaObjectE @ 7009 NONAME DATA 16 + _ZN9QS60Style19getStaticMetaObjectEv @ 7010 NONAME + _ZN9QS60Style5eventEP6QEvent @ 7011 NONAME + _ZN9QS60Style6polishEP12QApplication @ 7012 NONAME + _ZN9QS60Style6polishEP7QWidget @ 7013 NONAME + _ZN9QS60Style8unpolishEP12QApplication @ 7014 NONAME + _ZN9QS60Style8unpolishEP7QWidget @ 7015 NONAME + _ZN9QS60StyleC1Ev @ 7016 NONAME + _ZN9QS60StyleC2Ev @ 7017 NONAME + _ZN9QS60StyleD0Ev @ 7018 NONAME + _ZN9QS60StyleD1Ev @ 7019 NONAME + _ZN9QS60StyleD2Ev @ 7020 NONAME + _ZN9QShortcut10setContextEN2Qt15ShortcutContextE @ 7021 NONAME + _ZN9QShortcut10setEnabledEb @ 7022 NONAME + _ZN9QShortcut11qt_metacallEN11QMetaObject4CallEiPPv @ 7023 NONAME + _ZN9QShortcut11qt_metacastEPKc @ 7024 NONAME + _ZN9QShortcut12setWhatsThisERK7QString @ 7025 NONAME + _ZN9QShortcut13setAutoRepeatEb @ 7026 NONAME + _ZN9QShortcut16staticMetaObjectE @ 7027 NONAME DATA 16 + _ZN9QShortcut19getStaticMetaObjectEv @ 7028 NONAME + _ZN9QShortcut20activatedAmbiguouslyEv @ 7029 NONAME + _ZN9QShortcut5eventEP6QEvent @ 7030 NONAME + _ZN9QShortcut6setKeyERK12QKeySequence @ 7031 NONAME + _ZN9QShortcut7contextEv @ 7032 NONAME + _ZN9QShortcut9activatedEv @ 7033 NONAME + _ZN9QShortcutC1EP7QWidget @ 7034 NONAME + _ZN9QShortcutC1ERK12QKeySequenceP7QWidgetPKcS6_N2Qt15ShortcutContextE @ 7035 NONAME + _ZN9QShortcutC2EP7QWidget @ 7036 NONAME + _ZN9QShortcutC2ERK12QKeySequenceP7QWidgetPKcS6_N2Qt15ShortcutContextE @ 7037 NONAME + _ZN9QShortcutD0Ev @ 7038 NONAME + _ZN9QShortcutD1Ev @ 7039 NONAME + _ZN9QShortcutD2Ev @ 7040 NONAME + _ZN9QSizeGrip10paintEventEP11QPaintEvent @ 7041 NONAME + _ZN9QSizeGrip10setVisibleEb @ 7042 NONAME + _ZN9QSizeGrip11eventFilterEP7QObjectP6QEvent @ 7043 NONAME + _ZN9QSizeGrip11qt_metacallEN11QMetaObject4CallEiPPv @ 7044 NONAME + _ZN9QSizeGrip11qt_metacastEPKc @ 7045 NONAME + _ZN9QSizeGrip14mouseMoveEventEP11QMouseEvent @ 7046 NONAME + _ZN9QSizeGrip15mousePressEventEP11QMouseEvent @ 7047 NONAME + _ZN9QSizeGrip16staticMetaObjectE @ 7048 NONAME DATA 16 + _ZN9QSizeGrip17mouseReleaseEventEP11QMouseEvent @ 7049 NONAME + _ZN9QSizeGrip19getStaticMetaObjectEv @ 7050 NONAME + _ZN9QSizeGrip5eventEP6QEvent @ 7051 NONAME + _ZN9QSizeGrip9hideEventEP10QHideEvent @ 7052 NONAME + _ZN9QSizeGrip9moveEventEP10QMoveEvent @ 7053 NONAME + _ZN9QSizeGrip9showEventEP10QShowEvent @ 7054 NONAME + _ZN9QSizeGripC1EP7QWidget @ 7055 NONAME + _ZN9QSizeGripC2EP7QWidget @ 7056 NONAME + _ZN9QSizeGripD0Ev @ 7057 NONAME + _ZN9QSizeGripD1Ev @ 7058 NONAME + _ZN9QSizeGripD2Ev @ 7059 NONAME + _ZN9QSplitter10childEventEP11QChildEvent @ 7060 NONAME + _ZN9QSplitter11changeEventEP6QEvent @ 7061 NONAME + _ZN9QSplitter11qt_metacallEN11QMetaObject4CallEiPPv @ 7062 NONAME + _ZN9QSplitter11qt_metacastEPKc @ 7063 NONAME + _ZN9QSplitter11resizeEventEP12QResizeEvent @ 7064 NONAME + _ZN9QSplitter12createHandleEv @ 7065 NONAME + _ZN9QSplitter12insertWidgetEiP7QWidget @ 7066 NONAME + _ZN9QSplitter12moveSplitterEii @ 7067 NONAME + _ZN9QSplitter12restoreStateERK10QByteArray @ 7068 NONAME + _ZN9QSplitter13setRubberBandEi @ 7069 NONAME + _ZN9QSplitter13splitterMovedEii @ 7070 NONAME + _ZN9QSplitter14setCollapsibleEib @ 7071 NONAME + _ZN9QSplitter14setHandleWidthEi @ 7072 NONAME + _ZN9QSplitter14setOrientationEN2Qt11OrientationE @ 7073 NONAME + _ZN9QSplitter15setOpaqueResizeEb @ 7074 NONAME + _ZN9QSplitter16setStretchFactorEii @ 7075 NONAME + _ZN9QSplitter16staticMetaObjectE @ 7076 NONAME DATA 16 + _ZN9QSplitter19getStaticMetaObjectEv @ 7077 NONAME + _ZN9QSplitter20closestLegalPositionEii @ 7078 NONAME + _ZN9QSplitter22setChildrenCollapsibleEb @ 7079 NONAME + _ZN9QSplitter5eventEP6QEvent @ 7080 NONAME + _ZN9QSplitter7refreshEv @ 7081 NONAME + _ZN9QSplitter8setSizesERK5QListIiE @ 7082 NONAME + _ZN9QSplitter9addWidgetEP7QWidget @ 7083 NONAME + _ZN9QSplitterC1EN2Qt11OrientationEP7QWidget @ 7084 NONAME + _ZN9QSplitterC1EP7QWidget @ 7085 NONAME + _ZN9QSplitterC2EN2Qt11OrientationEP7QWidget @ 7086 NONAME + _ZN9QSplitterC2EP7QWidget @ 7087 NONAME + _ZN9QSplitterD0Ev @ 7088 NONAME + _ZN9QSplitterD1Ev @ 7089 NONAME + _ZN9QSplitterD2Ev @ 7090 NONAME + _ZN9QTextEdit10insertHtmlERK7QString @ 7091 NONAME + _ZN9QTextEdit10moveCursorEN11QTextCursor13MoveOperationENS0_8MoveModeE @ 7092 NONAME + _ZN9QTextEdit10paintEventEP11QPaintEvent @ 7093 NONAME + _ZN9QTextEdit10timerEventEP11QTimerEvent @ 7094 NONAME + _ZN9QTextEdit10wheelEventEP11QWheelEvent @ 7095 NONAME + _ZN9QTextEdit11changeEventEP6QEvent @ 7096 NONAME + _ZN9QTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 7097 NONAME + _ZN9QTextEdit11qt_metacastEPKc @ 7098 NONAME + _ZN9QTextEdit11resizeEventEP12QResizeEvent @ 7099 NONAME + _ZN9QTextEdit11setDocumentEP13QTextDocument @ 7100 NONAME + _ZN9QTextEdit11setReadOnlyEb @ 7101 NONAME + _ZN9QTextEdit11textChangedEv @ 7102 NONAME + _ZN9QTextEdit12focusInEventEP11QFocusEvent @ 7103 NONAME + _ZN9QTextEdit12loadResourceEiRK4QUrl @ 7104 NONAME + _ZN9QTextEdit12setAlignmentE6QFlagsIN2Qt13AlignmentFlagEE @ 7105 NONAME + _ZN9QTextEdit12setPlainTextERK7QString @ 7106 NONAME + _ZN9QTextEdit12setTextColorERK6QColor @ 7107 NONAME + _ZN9QTextEdit13copyAvailableEb @ 7108 NONAME + _ZN9QTextEdit13dragMoveEventEP14QDragMoveEvent @ 7109 NONAME + _ZN9QTextEdit13focusOutEventEP11QFocusEvent @ 7110 NONAME + _ZN9QTextEdit13keyPressEventEP9QKeyEvent @ 7111 NONAME + _ZN9QTextEdit13redoAvailableEb @ 7112 NONAME + _ZN9QTextEdit13setFontFamilyERK7QString @ 7113 NONAME + _ZN9QTextEdit13setFontItalicEb @ 7114 NONAME + _ZN9QTextEdit13setFontWeightEi @ 7115 NONAME + _ZN9QTextEdit13setTextCursorERK11QTextCursor @ 7116 NONAME + _ZN9QTextEdit13undoAvailableEb @ 7117 NONAME + _ZN9QTextEdit14dragEnterEventEP15QDragEnterEvent @ 7118 NONAME + _ZN9QTextEdit14dragLeaveEventEP15QDragLeaveEvent @ 7119 NONAME + _ZN9QTextEdit14mouseMoveEventEP11QMouseEvent @ 7120 NONAME + _ZN9QTextEdit14scrollToAnchorERK7QString @ 7121 NONAME + _ZN9QTextEdit14setCurrentFontERK5QFont @ 7122 NONAME + _ZN9QTextEdit14setCursorWidthEi @ 7123 NONAME + _ZN9QTextEdit15insertPlainTextERK7QString @ 7124 NONAME + _ZN9QTextEdit15keyReleaseEventEP9QKeyEvent @ 7125 NONAME + _ZN9QTextEdit15mousePressEventEP11QMouseEvent @ 7126 NONAME + _ZN9QTextEdit15setLineWrapModeENS_12LineWrapModeE @ 7127 NONAME + _ZN9QTextEdit15setTabStopWidthEi @ 7128 NONAME + _ZN9QTextEdit15setWordWrapModeEN11QTextOption8WrapModeE @ 7129 NONAME + _ZN9QTextEdit16contextMenuEventEP17QContextMenuEvent @ 7130 NONAME + _ZN9QTextEdit16inputMethodEventEP17QInputMethodEvent @ 7131 NONAME + _ZN9QTextEdit16scrollContentsByEii @ 7132 NONAME + _ZN9QTextEdit16selectionChangedEv @ 7133 NONAME + _ZN9QTextEdit16setFontPointSizeEf @ 7134 NONAME + _ZN9QTextEdit16setFontUnderlineEb @ 7135 NONAME + _ZN9QTextEdit16setOverwriteModeEb @ 7136 NONAME + _ZN9QTextEdit16staticMetaObjectE @ 7137 NONAME DATA 16 + _ZN9QTextEdit17mouseReleaseEventEP11QMouseEvent @ 7138 NONAME + _ZN9QTextEdit17setAcceptRichTextEb @ 7139 NONAME + _ZN9QTextEdit17setAutoFormattingE6QFlagsINS_18AutoFormattingFlagEE @ 7140 NONAME + _ZN9QTextEdit18focusNextPrevChildEb @ 7141 NONAME + _ZN9QTextEdit18insertFromMimeDataEPK9QMimeData @ 7142 NONAME + _ZN9QTextEdit18setExtraSelectionsERK5QListINS_14ExtraSelectionEE @ 7143 NONAME + _ZN9QTextEdit18setTabChangesFocusEb @ 7144 NONAME + _ZN9QTextEdit19ensureCursorVisibleEv @ 7145 NONAME + _ZN9QTextEdit19getStaticMetaObjectEv @ 7146 NONAME + _ZN9QTextEdit20setCurrentCharFormatERK15QTextCharFormat @ 7147 NONAME + _ZN9QTextEdit21cursorPositionChangedEv @ 7148 NONAME + _ZN9QTextEdit21mouseDoubleClickEventEP11QMouseEvent @ 7149 NONAME + _ZN9QTextEdit22mergeCurrentCharFormatERK15QTextCharFormat @ 7150 NONAME + _ZN9QTextEdit22setTextBackgroundColorERK6QColor @ 7151 NONAME + _ZN9QTextEdit23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 7152 NONAME + _ZN9QTextEdit24currentCharFormatChangedERK15QTextCharFormat @ 7153 NONAME + _ZN9QTextEdit24setLineWrapColumnOrWidthEi @ 7154 NONAME + _ZN9QTextEdit25createStandardContextMenuERK6QPoint @ 7155 NONAME + _ZN9QTextEdit25createStandardContextMenuEv @ 7156 NONAME + _ZN9QTextEdit3cutEv @ 7157 NONAME + _ZN9QTextEdit4copyEv @ 7158 NONAME + _ZN9QTextEdit4findERK7QString6QFlagsIN13QTextDocument8FindFlagEE @ 7159 NONAME + _ZN9QTextEdit4redoEv @ 7160 NONAME + _ZN9QTextEdit4undoEv @ 7161 NONAME + _ZN9QTextEdit5clearEv @ 7162 NONAME + _ZN9QTextEdit5eventEP6QEvent @ 7163 NONAME + _ZN9QTextEdit5pasteEv @ 7164 NONAME + _ZN9QTextEdit6appendERK7QString @ 7165 NONAME + _ZN9QTextEdit6zoomInEi @ 7166 NONAME + _ZN9QTextEdit7setHtmlERK7QString @ 7167 NONAME + _ZN9QTextEdit7setTextERK7QString @ 7168 NONAME + _ZN9QTextEdit7zoomOutEi @ 7169 NONAME + _ZN9QTextEdit9dropEventEP10QDropEvent @ 7170 NONAME + _ZN9QTextEdit9selectAllEv @ 7171 NONAME + _ZN9QTextEdit9showEventEP10QShowEvent @ 7172 NONAME + _ZN9QTextEditC1EP7QWidget @ 7173 NONAME + _ZN9QTextEditC1ER16QTextEditPrivateP7QWidget @ 7174 NONAME + _ZN9QTextEditC1ERK7QStringP7QWidget @ 7175 NONAME + _ZN9QTextEditC2EP7QWidget @ 7176 NONAME + _ZN9QTextEditC2ER16QTextEditPrivateP7QWidget @ 7177 NONAME + _ZN9QTextEditC2ERK7QStringP7QWidget @ 7178 NONAME + _ZN9QTextEditD0Ev @ 7179 NONAME + _ZN9QTextEditD1Ev @ 7180 NONAME + _ZN9QTextEditD2Ev @ 7181 NONAME + _ZN9QTextLine11setPositionERK7QPointF @ 7182 NONAME + _ZN9QTextLine12setLineWidthEf @ 7183 NONAME + _ZN9QTextLine13layout_helperEi @ 7184 NONAME + _ZN9QTextLine13setNumColumnsEi @ 7185 NONAME + _ZN9QTextLine13setNumColumnsEif @ 7186 NONAME + _ZN9QTextList10removeItemEi @ 7187 NONAME + _ZN9QTextList11qt_metacallEN11QMetaObject4CallEiPPv @ 7188 NONAME + _ZN9QTextList11qt_metacastEPKc @ 7189 NONAME + _ZN9QTextList16staticMetaObjectE @ 7190 NONAME DATA 16 + _ZN9QTextList19getStaticMetaObjectEv @ 7191 NONAME + _ZN9QTextList3addERK10QTextBlock @ 7192 NONAME + _ZN9QTextList6removeERK10QTextBlock @ 7193 NONAME + _ZN9QTextListC1EP13QTextDocument @ 7194 NONAME + _ZN9QTextListC2EP13QTextDocument @ 7195 NONAME + _ZN9QTextListD0Ev @ 7196 NONAME + _ZN9QTextListD1Ev @ 7197 NONAME + _ZN9QTextListD2Ev @ 7198 NONAME + _ZN9QTimeEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 7199 NONAME + _ZN9QTimeEdit11qt_metacastEPKc @ 7200 NONAME + _ZN9QTimeEdit16staticMetaObjectE @ 7201 NONAME DATA 16 + _ZN9QTimeEdit19getStaticMetaObjectEv @ 7202 NONAME + _ZN9QTimeEditC1EP7QWidget @ 7203 NONAME + _ZN9QTimeEditC1ERK5QTimeP7QWidget @ 7204 NONAME + _ZN9QTimeEditC2EP7QWidget @ 7205 NONAME + _ZN9QTimeEditC2ERK5QTimeP7QWidget @ 7206 NONAME + _ZN9QTreeView10hideColumnEi @ 7207 NONAME + _ZN9QTreeView10moveCursorEN17QAbstractItemView12CursorActionE6QFlagsIN2Qt16KeyboardModifierEE @ 7208 NONAME + _ZN9QTreeView10paintEventEP11QPaintEvent @ 7209 NONAME + _ZN9QTreeView10showColumnEi @ 7210 NONAME + _ZN9QTreeView10timerEventEP11QTimerEvent @ 7211 NONAME + _ZN9QTreeView11collapseAllEv @ 7212 NONAME + _ZN9QTreeView11columnMovedEv @ 7213 NONAME + _ZN9QTreeView11dataChangedERK11QModelIndexS2_ @ 7214 NONAME + _ZN9QTreeView11qt_metacallEN11QMetaObject4CallEiPPv @ 7215 NONAME + _ZN9QTreeView11qt_metacastEPKc @ 7216 NONAME + _ZN9QTreeView11rowsRemovedERK11QModelIndexii @ 7217 NONAME + _ZN9QTreeView11setAnimatedEb @ 7218 NONAME + _ZN9QTreeView11setExpandedERK11QModelIndexb @ 7219 NONAME + _ZN9QTreeView11setWordWrapEb @ 7220 NONAME + _ZN9QTreeView12rowsInsertedERK11QModelIndexii @ 7221 NONAME + _ZN9QTreeView12setRootIndexERK11QModelIndex @ 7222 NONAME + _ZN9QTreeView12setRowHiddenEiRK11QModelIndexb @ 7223 NONAME + _ZN9QTreeView12setSelectionERK5QRect6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 7224 NONAME + _ZN9QTreeView12sortByColumnEi @ 7225 NONAME + _ZN9QTreeView12sortByColumnEiN2Qt9SortOrderE @ 7226 NONAME + _ZN9QTreeView13columnResizedEiii @ 7227 NONAME + _ZN9QTreeView13doItemsLayoutEv @ 7228 NONAME + _ZN9QTreeView13dragMoveEventEP14QDragMoveEvent @ 7229 NONAME + _ZN9QTreeView13expandToDepthEi @ 7230 NONAME + _ZN9QTreeView13keyPressEventEP9QKeyEvent @ 7231 NONAME + _ZN9QTreeView13viewportEventEP6QEvent @ 7232 NONAME + _ZN9QTreeView14currentChangedERK11QModelIndexS2_ @ 7233 NONAME + _ZN9QTreeView14keyboardSearchERK7QString @ 7234 NONAME + _ZN9QTreeView14mouseMoveEventEP11QMouseEvent @ 7235 NONAME + _ZN9QTreeView14setColumnWidthEii @ 7236 NONAME + _ZN9QTreeView14setIndentationEi @ 7237 NONAME + _ZN9QTreeView15mousePressEventEP11QMouseEvent @ 7238 NONAME + _ZN9QTreeView15setColumnHiddenEib @ 7239 NONAME + _ZN9QTreeView15setHeaderHiddenEb @ 7240 NONAME + _ZN9QTreeView16scrollContentsByEii @ 7241 NONAME + _ZN9QTreeView16selectionChangedERK14QItemSelectionS2_ @ 7242 NONAME + _ZN9QTreeView16staticMetaObjectE @ 7243 NONAME DATA 16 + _ZN9QTreeView16updateGeometriesEv @ 7244 NONAME + _ZN9QTreeView17mouseReleaseEventEP11QMouseEvent @ 7245 NONAME + _ZN9QTreeView17setSelectionModelEP19QItemSelectionModel @ 7246 NONAME + _ZN9QTreeView17setSortingEnabledEb @ 7247 NONAME + _ZN9QTreeView18columnCountChangedEii @ 7248 NONAME + _ZN9QTreeView18setAutoExpandDelayEi @ 7249 NONAME + _ZN9QTreeView18setItemsExpandableEb @ 7250 NONAME + _ZN9QTreeView18setRootIsDecoratedEb @ 7251 NONAME + _ZN9QTreeView19getStaticMetaObjectEv @ 7252 NONAME + _ZN9QTreeView20rowsAboutToBeRemovedERK11QModelIndexii @ 7253 NONAME + _ZN9QTreeView20setUniformRowHeightsEb @ 7254 NONAME + _ZN9QTreeView21mouseDoubleClickEventEP11QMouseEvent @ 7255 NONAME + _ZN9QTreeView21setFirstColumnSpannedEiRK11QModelIndexb @ 7256 NONAME + _ZN9QTreeView22resizeColumnToContentsEi @ 7257 NONAME + _ZN9QTreeView22setAllColumnsShowFocusEb @ 7258 NONAME + _ZN9QTreeView23setExpandsOnDoubleClickEb @ 7259 NONAME + _ZN9QTreeView25horizontalScrollbarActionEi @ 7260 NONAME + _ZN9QTreeView5resetEv @ 7261 NONAME + _ZN9QTreeView6expandERK11QModelIndex @ 7262 NONAME + _ZN9QTreeView8collapseERK11QModelIndex @ 7263 NONAME + _ZN9QTreeView8expandedERK11QModelIndex @ 7264 NONAME + _ZN9QTreeView8reexpandEv @ 7265 NONAME + _ZN9QTreeView8scrollToERK11QModelIndexN17QAbstractItemView10ScrollHintE @ 7266 NONAME + _ZN9QTreeView8setModelEP18QAbstractItemModel @ 7267 NONAME + _ZN9QTreeView9collapsedERK11QModelIndex @ 7268 NONAME + _ZN9QTreeView9expandAllEv @ 7269 NONAME + _ZN9QTreeView9selectAllEv @ 7270 NONAME + _ZN9QTreeView9setHeaderEP11QHeaderView @ 7271 NONAME + _ZN9QTreeViewC1EP7QWidget @ 7272 NONAME + _ZN9QTreeViewC1ER16QTreeViewPrivateP7QWidget @ 7273 NONAME + _ZN9QTreeViewC2EP7QWidget @ 7274 NONAME + _ZN9QTreeViewC2ER16QTreeViewPrivateP7QWidget @ 7275 NONAME + _ZN9QTreeViewD0Ev @ 7276 NONAME + _ZN9QTreeViewD1Ev @ 7277 NONAME + _ZN9QTreeViewD2Ev @ 7278 NONAME + _ZN9QUndoView11qt_metacallEN11QMetaObject4CallEiPPv @ 7279 NONAME + _ZN9QUndoView11qt_metacastEPKc @ 7280 NONAME + _ZN9QUndoView12setCleanIconERK5QIcon @ 7281 NONAME + _ZN9QUndoView13setEmptyLabelERK7QString @ 7282 NONAME + _ZN9QUndoView16staticMetaObjectE @ 7283 NONAME DATA 16 + _ZN9QUndoView19getStaticMetaObjectEv @ 7284 NONAME + _ZN9QUndoView8setGroupEP10QUndoGroup @ 7285 NONAME + _ZN9QUndoView8setStackEP10QUndoStack @ 7286 NONAME + _ZN9QUndoViewC1EP10QUndoGroupP7QWidget @ 7287 NONAME + _ZN9QUndoViewC1EP10QUndoStackP7QWidget @ 7288 NONAME + _ZN9QUndoViewC1EP7QWidget @ 7289 NONAME + _ZN9QUndoViewC2EP10QUndoGroupP7QWidget @ 7290 NONAME + _ZN9QUndoViewC2EP10QUndoStackP7QWidget @ 7291 NONAME + _ZN9QUndoViewC2EP7QWidget @ 7292 NONAME + _ZN9QUndoViewD0Ev @ 7293 NONAME + _ZN9QUndoViewD1Ev @ 7294 NONAME + _ZN9QUndoViewD2Ev @ 7295 NONAME + _ZN9QVector2D10dotProductERKS_S1_ @ 7296 NONAME + _ZN9QVector2D9normalizeEv @ 7297 NONAME + _ZN9QVector2DC1ERK9QVector3D @ 7298 NONAME + _ZN9QVector2DC1ERK9QVector4D @ 7299 NONAME + _ZN9QVector2DC2ERK9QVector3D @ 7300 NONAME + _ZN9QVector2DC2ERK9QVector4D @ 7301 NONAME + _ZN9QVector3D10dotProductERKS_S1_ @ 7302 NONAME + _ZN9QVector3D12crossProductERKS_S1_ @ 7303 NONAME + _ZN9QVector3D6normalERKS_S1_ @ 7304 NONAME + _ZN9QVector3D6normalERKS_S1_S1_ @ 7305 NONAME + _ZN9QVector3D9normalizeEv @ 7306 NONAME + _ZN9QVector3DC1ERK9QVector2D @ 7307 NONAME + _ZN9QVector3DC1ERK9QVector2Df @ 7308 NONAME + _ZN9QVector3DC1ERK9QVector4D @ 7309 NONAME + _ZN9QVector3DC2ERK9QVector2D @ 7310 NONAME + _ZN9QVector3DC2ERK9QVector2Df @ 7311 NONAME + _ZN9QVector3DC2ERK9QVector4D @ 7312 NONAME + _ZN9QVector4D10dotProductERKS_S1_ @ 7313 NONAME + _ZN9QVector4D9normalizeEv @ 7314 NONAME + _ZN9QVector4DC1ERK9QVector2D @ 7315 NONAME + _ZN9QVector4DC1ERK9QVector2Dff @ 7316 NONAME + _ZN9QVector4DC1ERK9QVector3D @ 7317 NONAME + _ZN9QVector4DC1ERK9QVector3Df @ 7318 NONAME + _ZN9QVector4DC2ERK9QVector2D @ 7319 NONAME + _ZN9QVector4DC2ERK9QVector2Dff @ 7320 NONAME + _ZN9QVector4DC2ERK9QVector3D @ 7321 NONAME + _ZN9QVector4DC2ERK9QVector3Df @ 7322 NONAME + _ZNK10QBoxLayout10metaObjectEv @ 7323 NONAME + _ZNK10QBoxLayout11maximumSizeEv @ 7324 NONAME + _ZNK10QBoxLayout11minimumSizeEv @ 7325 NONAME + _ZNK10QBoxLayout14heightForWidthEi @ 7326 NONAME + _ZNK10QBoxLayout17hasHeightForWidthEv @ 7327 NONAME + _ZNK10QBoxLayout19expandingDirectionsEv @ 7328 NONAME + _ZNK10QBoxLayout21minimumHeightForWidthEi @ 7329 NONAME + _ZNK10QBoxLayout5countEv @ 7330 NONAME + _ZNK10QBoxLayout6itemAtEi @ 7331 NONAME + _ZNK10QBoxLayout7spacingEv @ 7332 NONAME + _ZNK10QBoxLayout7stretchEi @ 7333 NONAME + _ZNK10QBoxLayout8sizeHintEv @ 7334 NONAME + _ZNK10QBoxLayout9directionEv @ 7335 NONAME + _ZNK10QClipboard10metaObjectEv @ 7336 NONAME + _ZNK10QClipboard12supportsModeENS_4ModeE @ 7337 NONAME + _ZNK10QClipboard13ownsClipboardEv @ 7338 NONAME + _ZNK10QClipboard13ownsSelectionEv @ 7339 NONAME + _ZNK10QClipboard14ownsFindBufferEv @ 7340 NONAME + _ZNK10QClipboard17supportsSelectionEv @ 7341 NONAME + _ZNK10QClipboard18supportsFindBufferEv @ 7342 NONAME + _ZNK10QClipboard4textENS_4ModeE @ 7343 NONAME + _ZNK10QClipboard4textER7QStringNS_4ModeE @ 7344 NONAME + _ZNK10QClipboard5imageENS_4ModeE @ 7345 NONAME + _ZNK10QClipboard6pixmapENS_4ModeE @ 7346 NONAME + _ZNK10QClipboard8mimeDataENS_4ModeE @ 7347 NONAME + _ZNK10QClipboard8ownsModeENS_4ModeE @ 7348 NONAME + _ZNK10QCompleter10currentRowEv @ 7349 NONAME + _ZNK10QCompleter10metaObjectEv @ 7350 NONAME + _ZNK10QCompleter10wrapAroundEv @ 7351 NONAME + _ZNK10QCompleter12currentIndexEv @ 7352 NONAME + _ZNK10QCompleter12modelSortingEv @ 7353 NONAME + _ZNK10QCompleter13pathFromIndexERK11QModelIndex @ 7354 NONAME + _ZNK10QCompleter14completionModeEv @ 7355 NONAME + _ZNK10QCompleter14completionRoleEv @ 7356 NONAME + _ZNK10QCompleter15caseSensitivityEv @ 7357 NONAME + _ZNK10QCompleter15completionCountEv @ 7358 NONAME + _ZNK10QCompleter15completionModelEv @ 7359 NONAME + _ZNK10QCompleter15maxVisibleItemsEv @ 7360 NONAME + _ZNK10QCompleter16completionColumnEv @ 7361 NONAME + _ZNK10QCompleter16completionPrefixEv @ 7362 NONAME + _ZNK10QCompleter17currentCompletionEv @ 7363 NONAME + _ZNK10QCompleter5modelEv @ 7364 NONAME + _ZNK10QCompleter5popupEv @ 7365 NONAME + _ZNK10QCompleter6widgetEv @ 7366 NONAME + _ZNK10QCompleter9splitPathERK7QString @ 7367 NONAME + _ZNK10QDropEvent11encodedDataEPKc @ 7368 NONAME + _ZNK10QDropEvent6formatEi @ 7369 NONAME + _ZNK10QDropEvent6sourceEv @ 7370 NONAME + _ZNK10QDropEvent8providesEPKc @ 7371 NONAME + _ZNK10QImageData19checkForAlphaPixelsEv @ 7372 NONAME + _ZNK10QImageData9doImageIOEPK6QImageP12QImageWriteri @ 7373 NONAME + _ZNK10QLCDNumber10metaObjectEv @ 7374 NONAME + _ZNK10QLCDNumber12segmentStyleEv @ 7375 NONAME + _ZNK10QLCDNumber13checkOverflowEd @ 7376 NONAME + _ZNK10QLCDNumber13checkOverflowEi @ 7377 NONAME + _ZNK10QLCDNumber17smallDecimalPointEv @ 7378 NONAME + _ZNK10QLCDNumber4modeEv @ 7379 NONAME + _ZNK10QLCDNumber5valueEv @ 7380 NONAME + _ZNK10QLCDNumber8intValueEv @ 7381 NONAME + _ZNK10QLCDNumber8sizeHintEv @ 7382 NONAME + _ZNK10QLCDNumber9numDigitsEv @ 7383 NONAME + _ZNK10QMatrix4x410transposedEv @ 7384 NONAME + _ZNK10QMatrix4x411determinantEv @ 7385 NONAME + _ZNK10QMatrix4x411toTransformEf @ 7386 NONAME + _ZNK10QMatrix4x412normalMatrixEv @ 7387 NONAME + _ZNK10QMatrix4x412toValueArrayEPf @ 7388 NONAME + _ZNK10QMatrix4x418extractTranslationEv @ 7389 NONAME + _ZNK10QMatrix4x418orthonormalInverseEv @ 7390 NONAME + _ZNK10QMatrix4x419extractAxisRotationERfR9QVector3D @ 7391 NONAME + _ZNK10QMatrix4x47mapRectERK5QRect @ 7392 NONAME + _ZNK10QMatrix4x47mapRectERK6QRectF @ 7393 NONAME + _ZNK10QMatrix4x48invertedEPb @ 7394 NONAME + _ZNK10QMatrix4x48toAffineEv @ 7395 NONAME + _ZNK10QMatrix4x4cv8QVariantEv @ 7396 NONAME + _ZNK10QPictureIO10parametersEv @ 7397 NONAME + _ZNK10QPictureIO11descriptionEv @ 7398 NONAME + _ZNK10QPictureIO5gammaEv @ 7399 NONAME + _ZNK10QPictureIO6formatEv @ 7400 NONAME + _ZNK10QPictureIO6statusEv @ 7401 NONAME + _ZNK10QPictureIO7pictureEv @ 7402 NONAME + _ZNK10QPictureIO7qualityEv @ 7403 NONAME + _ZNK10QPictureIO8fileNameEv @ 7404 NONAME + _ZNK10QPictureIO8ioDeviceEv @ 7405 NONAME + _ZNK10QScrollBar10metaObjectEv @ 7406 NONAME + _ZNK10QScrollBar15initStyleOptionEP18QStyleOptionSlider @ 7407 NONAME + _ZNK10QScrollBar8sizeHintEv @ 7408 NONAME + _ZNK10QStatusBar10metaObjectEv @ 7409 NONAME + _ZNK10QStatusBar14currentMessageEv @ 7410 NONAME + _ZNK10QStatusBar17isSizeGripEnabledEv @ 7411 NONAME + _ZNK10QTabWidget10metaObjectEv @ 7412 NONAME + _ZNK10QTabWidget10tabToolTipEi @ 7413 NONAME + _ZNK10QTabWidget11tabPositionEv @ 7414 NONAME + _ZNK10QTabWidget12cornerWidgetEN2Qt6CornerE @ 7415 NONAME + _ZNK10QTabWidget12currentIndexEv @ 7416 NONAME + _ZNK10QTabWidget12documentModeEv @ 7417 NONAME + _ZNK10QTabWidget12isTabEnabledEi @ 7418 NONAME + _ZNK10QTabWidget12tabWhatsThisEi @ 7419 NONAME + _ZNK10QTabWidget12tabsClosableEv @ 7420 NONAME + _ZNK10QTabWidget13currentWidgetEv @ 7421 NONAME + _ZNK10QTabWidget15initStyleOptionEP26QStyleOptionTabWidgetFrame @ 7422 NONAME + _ZNK10QTabWidget15minimumSizeHintEv @ 7423 NONAME + _ZNK10QTabWidget17usesScrollButtonsEv @ 7424 NONAME + _ZNK10QTabWidget5countEv @ 7425 NONAME + _ZNK10QTabWidget6tabBarEv @ 7426 NONAME + _ZNK10QTabWidget6widgetEi @ 7427 NONAME + _ZNK10QTabWidget7indexOfEP7QWidget @ 7428 NONAME + _ZNK10QTabWidget7tabIconEi @ 7429 NONAME + _ZNK10QTabWidget7tabTextEi @ 7430 NONAME + _ZNK10QTabWidget8iconSizeEv @ 7431 NONAME + _ZNK10QTabWidget8sizeHintEv @ 7432 NONAME + _ZNK10QTabWidget8tabShapeEv @ 7433 NONAME + _ZNK10QTabWidget9elideModeEv @ 7434 NONAME + _ZNK10QTabWidget9isMovableEv @ 7435 NONAME + _ZNK10QTableView10columnSpanEii @ 7436 NONAME + _ZNK10QTableView10metaObjectEv @ 7437 NONAME + _ZNK10QTableView10visualRectERK11QModelIndex @ 7438 NONAME + _ZNK10QTableView11columnWidthEi @ 7439 NONAME + _ZNK10QTableView11isRowHiddenEi @ 7440 NONAME + _ZNK10QTableView11viewOptionsEv @ 7441 NONAME + _ZNK10QTableView11visualIndexERK11QModelIndex @ 7442 NONAME + _ZNK10QTableView13isIndexHiddenERK11QModelIndex @ 7443 NONAME + _ZNK10QTableView14isColumnHiddenEi @ 7444 NONAME + _ZNK10QTableView14sizeHintForRowEi @ 7445 NONAME + _ZNK10QTableView14verticalHeaderEv @ 7446 NONAME + _ZNK10QTableView14verticalOffsetEv @ 7447 NONAME + _ZNK10QTableView15selectedIndexesEv @ 7448 NONAME + _ZNK10QTableView16horizontalHeaderEv @ 7449 NONAME + _ZNK10QTableView16horizontalOffsetEv @ 7450 NONAME + _ZNK10QTableView16isSortingEnabledEv @ 7451 NONAME + _ZNK10QTableView17sizeHintForColumnEi @ 7452 NONAME + _ZNK10QTableView19rowViewportPositionEi @ 7453 NONAME + _ZNK10QTableView21isCornerButtonEnabledEv @ 7454 NONAME + _ZNK10QTableView22columnViewportPositionEi @ 7455 NONAME + _ZNK10QTableView24visualRegionForSelectionERK14QItemSelection @ 7456 NONAME + _ZNK10QTableView5rowAtEi @ 7457 NONAME + _ZNK10QTableView7indexAtERK6QPoint @ 7458 NONAME + _ZNK10QTableView7rowSpanEii @ 7459 NONAME + _ZNK10QTableView8columnAtEi @ 7460 NONAME + _ZNK10QTableView8showGridEv @ 7461 NONAME + _ZNK10QTableView8wordWrapEv @ 7462 NONAME + _ZNK10QTableView9gridStyleEv @ 7463 NONAME + _ZNK10QTableView9rowHeightEi @ 7464 NONAME + _ZNK10QTextBlock10charFormatEv @ 7465 NONAME + _ZNK10QTextBlock11blockFormatEv @ 7466 NONAME + _ZNK10QTextBlock11blockNumberEv @ 7467 NONAME + _ZNK10QTextBlock15charFormatIndexEv @ 7468 NONAME + _ZNK10QTextBlock15firstLineNumberEv @ 7469 NONAME + _ZNK10QTextBlock16blockFormatIndexEv @ 7470 NONAME + _ZNK10QTextBlock3endEv @ 7471 NONAME + _ZNK10QTextBlock4nextEv @ 7472 NONAME + _ZNK10QTextBlock4textEv @ 7473 NONAME + _ZNK10QTextBlock5beginEv @ 7474 NONAME + _ZNK10QTextBlock6layoutEv @ 7475 NONAME + _ZNK10QTextBlock6lengthEv @ 7476 NONAME + _ZNK10QTextBlock8containsEi @ 7477 NONAME + _ZNK10QTextBlock8documentEv @ 7478 NONAME + _ZNK10QTextBlock8iterator8fragmentEv @ 7479 NONAME + _ZNK10QTextBlock8positionEv @ 7480 NONAME + _ZNK10QTextBlock8previousEv @ 7481 NONAME + _ZNK10QTextBlock8revisionEv @ 7482 NONAME + _ZNK10QTextBlock8textListEv @ 7483 NONAME + _ZNK10QTextBlock8userDataEv @ 7484 NONAME + _ZNK10QTextBlock9isVisibleEv @ 7485 NONAME + _ZNK10QTextBlock9lineCountEv @ 7486 NONAME + _ZNK10QTextBlock9userStateEv @ 7487 NONAME + _ZNK10QTextFrame10layoutDataEv @ 7488 NONAME + _ZNK10QTextFrame10metaObjectEv @ 7489 NONAME + _ZNK10QTextFrame11childFramesEv @ 7490 NONAME + _ZNK10QTextFrame11parentFrameEv @ 7491 NONAME + _ZNK10QTextFrame12lastPositionEv @ 7492 NONAME + _ZNK10QTextFrame13firstPositionEv @ 7493 NONAME + _ZNK10QTextFrame18lastCursorPositionEv @ 7494 NONAME + _ZNK10QTextFrame19firstCursorPositionEv @ 7495 NONAME + _ZNK10QTextFrame3endEv @ 7496 NONAME + _ZNK10QTextFrame5beginEv @ 7497 NONAME + _ZNK10QTextFrame8iterator12currentBlockEv @ 7498 NONAME + _ZNK10QTextFrame8iterator12currentFrameEv @ 7499 NONAME + _ZNK10QTextTable10metaObjectEv @ 7500 NONAME + _ZNK10QTextTable4rowsEv @ 7501 NONAME + _ZNK10QTextTable6cellAtERK11QTextCursor @ 7502 NONAME + _ZNK10QTextTable6cellAtEi @ 7503 NONAME + _ZNK10QTextTable6cellAtEii @ 7504 NONAME + _ZNK10QTextTable6rowEndERK11QTextCursor @ 7505 NONAME + _ZNK10QTextTable7columnsEv @ 7506 NONAME + _ZNK10QTextTable8rowStartERK11QTextCursor @ 7507 NONAME + _ZNK10QTransform10transposedEv @ 7508 NONAME + _ZNK10QTransform12mapToPolygonERK5QRect @ 7509 NONAME + _ZNK10QTransform3mapERK12QPainterPath @ 7510 NONAME + _ZNK10QTransform3mapERK5QLine @ 7511 NONAME + _ZNK10QTransform3mapERK6QLineF @ 7512 NONAME + _ZNK10QTransform3mapERK6QPoint @ 7513 NONAME + _ZNK10QTransform3mapERK7QPointF @ 7514 NONAME + _ZNK10QTransform3mapERK7QRegion @ 7515 NONAME + _ZNK10QTransform3mapERK8QPolygon @ 7516 NONAME + _ZNK10QTransform3mapERK9QPolygonF @ 7517 NONAME + _ZNK10QTransform3mapEffPfS0_ @ 7518 NONAME + _ZNK10QTransform3mapEiiPiS0_ @ 7519 NONAME + _ZNK10QTransform4typeEv @ 7520 NONAME + _ZNK10QTransform7adjointEv @ 7521 NONAME + _ZNK10QTransform7mapRectERK5QRect @ 7522 NONAME + _ZNK10QTransform7mapRectERK6QRectF @ 7523 NONAME + _ZNK10QTransform8invertedEPb @ 7524 NONAME + _ZNK10QTransform8toAffineEv @ 7525 NONAME + _ZNK10QTransformcv8QVariantEv @ 7526 NONAME + _ZNK10QTransformeqERKS_ @ 7527 NONAME + _ZNK10QTransformmlERKS_ @ 7528 NONAME + _ZNK10QTransformneERKS_ @ 7529 NONAME + _ZNK10QUndoGroup10metaObjectEv @ 7530 NONAME + _ZNK10QUndoGroup11activeStackEv @ 7531 NONAME + _ZNK10QUndoGroup16createRedoActionEP7QObjectRK7QString @ 7532 NONAME + _ZNK10QUndoGroup16createUndoActionEP7QObjectRK7QString @ 7533 NONAME + _ZNK10QUndoGroup6stacksEv @ 7534 NONAME + _ZNK10QUndoGroup7canRedoEv @ 7535 NONAME + _ZNK10QUndoGroup7canUndoEv @ 7536 NONAME + _ZNK10QUndoGroup7isCleanEv @ 7537 NONAME + _ZNK10QUndoGroup8redoTextEv @ 7538 NONAME + _ZNK10QUndoGroup8undoTextEv @ 7539 NONAME + _ZNK10QUndoStack10cleanIndexEv @ 7540 NONAME + _ZNK10QUndoStack10metaObjectEv @ 7541 NONAME + _ZNK10QUndoStack16createRedoActionEP7QObjectRK7QString @ 7542 NONAME + _ZNK10QUndoStack16createUndoActionEP7QObjectRK7QString @ 7543 NONAME + _ZNK10QUndoStack4textEi @ 7544 NONAME + _ZNK10QUndoStack5countEv @ 7545 NONAME + _ZNK10QUndoStack5indexEv @ 7546 NONAME + _ZNK10QUndoStack7canRedoEv @ 7547 NONAME + _ZNK10QUndoStack7canUndoEv @ 7548 NONAME + _ZNK10QUndoStack7commandEi @ 7549 NONAME + _ZNK10QUndoStack7isCleanEv @ 7550 NONAME + _ZNK10QUndoStack8isActiveEv @ 7551 NONAME + _ZNK10QUndoStack8redoTextEv @ 7552 NONAME + _ZNK10QUndoStack8undoTextEv @ 7553 NONAME + _ZNK10QUndoStack9undoLimitEv @ 7554 NONAME + _ZNK10QValidator10metaObjectEv @ 7555 NONAME + _ZNK10QValidator5fixupER7QString @ 7556 NONAME + _ZNK10QValidator6localeEv @ 7557 NONAME + _ZNK10QWorkspace10backgroundEv @ 7558 NONAME + _ZNK10QWorkspace10metaObjectEv @ 7559 NONAME + _ZNK10QWorkspace10windowListENS_11WindowOrderE @ 7560 NONAME + _ZNK10QWorkspace12activeWindowEv @ 7561 NONAME + _ZNK10QWorkspace17scrollBarsEnabledEv @ 7562 NONAME + _ZNK10QWorkspace8sizeHintEv @ 7563 NONAME + _ZNK11QColumnView10metaObjectEv @ 7564 NONAME + _ZNK11QColumnView10visualRectERK11QModelIndex @ 7565 NONAME + _ZNK11QColumnView12columnWidthsEv @ 7566 NONAME + _ZNK11QColumnView13isIndexHiddenERK11QModelIndex @ 7567 NONAME + _ZNK11QColumnView13previewWidgetEv @ 7568 NONAME + _ZNK11QColumnView14verticalOffsetEv @ 7569 NONAME + _ZNK11QColumnView16horizontalOffsetEv @ 7570 NONAME + _ZNK11QColumnView16initializeColumnEP17QAbstractItemView @ 7571 NONAME + _ZNK11QColumnView18resizeGripsVisibleEv @ 7572 NONAME + _ZNK11QColumnView24visualRegionForSelectionERK14QItemSelection @ 7573 NONAME + _ZNK11QColumnView7indexAtERK6QPoint @ 7574 NONAME + _ZNK11QColumnView8sizeHintEv @ 7575 NONAME + _ZNK11QDockWidget10metaObjectEv @ 7576 NONAME + _ZNK11QDockWidget12allowedAreasEv @ 7577 NONAME + _ZNK11QDockWidget14titleBarWidgetEv @ 7578 NONAME + _ZNK11QDockWidget15initStyleOptionEP22QStyleOptionDockWidget @ 7579 NONAME + _ZNK11QDockWidget16toggleViewActionEv @ 7580 NONAME + _ZNK11QDockWidget6widgetEv @ 7581 NONAME + _ZNK11QDockWidget8featuresEv @ 7582 NONAME + _ZNK11QFileDialog10acceptModeEv @ 7583 NONAME + _ZNK11QFileDialog10isReadOnlyEv @ 7584 NONAME + _ZNK11QFileDialog10metaObjectEv @ 7585 NONAME + _ZNK11QFileDialog10proxyModelEv @ 7586 NONAME + _ZNK11QFileDialog10testOptionENS_6OptionE @ 7587 NONAME + _ZNK11QFileDialog11nameFiltersEv @ 7588 NONAME + _ZNK11QFileDialog11sidebarUrlsEv @ 7589 NONAME + _ZNK11QFileDialog12iconProviderEv @ 7590 NONAME + _ZNK11QFileDialog12itemDelegateEv @ 7591 NONAME + _ZNK11QFileDialog13defaultSuffixEv @ 7592 NONAME + _ZNK11QFileDialog13selectedFilesEv @ 7593 NONAME + _ZNK11QFileDialog14selectedFilterEv @ 7594 NONAME + _ZNK11QFileDialog15resolveSymlinksEv @ 7595 NONAME + _ZNK11QFileDialog16confirmOverwriteEv @ 7596 NONAME + _ZNK11QFileDialog18selectedNameFilterEv @ 7597 NONAME + _ZNK11QFileDialog26isNameFilterDetailsVisibleEv @ 7598 NONAME + _ZNK11QFileDialog6filterEv @ 7599 NONAME + _ZNK11QFileDialog7filtersEv @ 7600 NONAME + _ZNK11QFileDialog7historyEv @ 7601 NONAME + _ZNK11QFileDialog7optionsEv @ 7602 NONAME + _ZNK11QFileDialog8fileModeEv @ 7603 NONAME + _ZNK11QFileDialog8viewModeEv @ 7604 NONAME + _ZNK11QFileDialog9directoryEv @ 7605 NONAME + _ZNK11QFileDialog9labelTextENS_11DialogLabelE @ 7606 NONAME + _ZNK11QFileDialog9saveStateEv @ 7607 NONAME + _ZNK11QFocusEvent6reasonEv @ 7608 NONAME + _ZNK11QFocusFrame10metaObjectEv @ 7609 NONAME + _ZNK11QFocusFrame15initStyleOptionEP12QStyleOption @ 7610 NONAME + _ZNK11QFocusFrame6widgetEv @ 7611 NONAME + _ZNK11QFontDialog10metaObjectEv @ 7612 NONAME + _ZNK11QFontDialog10testOptionENS_16FontDialogOptionE @ 7613 NONAME + _ZNK11QFontDialog11currentFontEv @ 7614 NONAME + _ZNK11QFontDialog12selectedFontEv @ 7615 NONAME + _ZNK11QFontDialog7optionsEv @ 7616 NONAME + _ZNK11QFontEngine10glyphCacheEN21QFontEngineGlyphCache4TypeERK10QTransform @ 7617 NONAME + _ZNK11QFontEngine10glyphCacheEPvRK10QTransform @ 7618 NONAME + _ZNK11QFontEngine10glyphCountEv @ 7619 NONAME + _ZNK11QFontEngine10propertiesEv @ 7620 NONAME + _ZNK11QFontEngine12getSfntTableEj @ 7621 NONAME + _ZNK11QFontEngine12harfbuzzFaceEv @ 7622 NONAME + _ZNK11QFontEngine12harfbuzzFontEv @ 7623 NONAME + _ZNK11QFontEngine13lineThicknessEv @ 7624 NONAME + _ZNK11QFontEngine16averageCharWidthEv @ 7625 NONAME + _ZNK11QFontEngine17underlinePositionEv @ 7626 NONAME + _ZNK11QFontEngine7xHeightEv @ 7627 NONAME + _ZNK11QFontEngine9doKerningEP12QGlyphLayout6QFlagsIN11QTextEngine10ShaperFlagEE @ 7628 NONAME + _ZNK11QFormLayout10metaObjectEv @ 7629 NONAME + _ZNK11QFormLayout11minimumSizeEv @ 7630 NONAME + _ZNK11QFormLayout13formAlignmentEv @ 7631 NONAME + _ZNK11QFormLayout13labelForFieldEP7QLayout @ 7632 NONAME + _ZNK11QFormLayout13labelForFieldEP7QWidget @ 7633 NONAME + _ZNK11QFormLayout13rowWrapPolicyEv @ 7634 NONAME + _ZNK11QFormLayout14heightForWidthEi @ 7635 NONAME + _ZNK11QFormLayout14labelAlignmentEv @ 7636 NONAME + _ZNK11QFormLayout15getItemPositionEiPiPNS_8ItemRoleE @ 7637 NONAME + _ZNK11QFormLayout15verticalSpacingEv @ 7638 NONAME + _ZNK11QFormLayout17fieldGrowthPolicyEv @ 7639 NONAME + _ZNK11QFormLayout17getLayoutPositionEP7QLayoutPiPNS_8ItemRoleE @ 7640 NONAME + _ZNK11QFormLayout17getWidgetPositionEP7QWidgetPiPNS_8ItemRoleE @ 7641 NONAME + _ZNK11QFormLayout17hasHeightForWidthEv @ 7642 NONAME + _ZNK11QFormLayout17horizontalSpacingEv @ 7643 NONAME + _ZNK11QFormLayout19expandingDirectionsEv @ 7644 NONAME + _ZNK11QFormLayout5countEv @ 7645 NONAME + _ZNK11QFormLayout6itemAtEi @ 7646 NONAME + _ZNK11QFormLayout6itemAtEiNS_8ItemRoleE @ 7647 NONAME + _ZNK11QFormLayout7spacingEv @ 7648 NONAME + _ZNK11QFormLayout8rowCountEv @ 7649 NONAME + _ZNK11QFormLayout8sizeHintEv @ 7650 NONAME + _ZNK11QGridLayout10metaObjectEv @ 7651 NONAME + _ZNK11QGridLayout10rowStretchEi @ 7652 NONAME + _ZNK11QGridLayout11columnCountEv @ 7653 NONAME + _ZNK11QGridLayout11maximumSizeEv @ 7654 NONAME + _ZNK11QGridLayout11minimumSizeEv @ 7655 NONAME + _ZNK11QGridLayout12originCornerEv @ 7656 NONAME + _ZNK11QGridLayout13columnStretchEi @ 7657 NONAME + _ZNK11QGridLayout14heightForWidthEi @ 7658 NONAME + _ZNK11QGridLayout14itemAtPositionEii @ 7659 NONAME + _ZNK11QGridLayout15verticalSpacingEv @ 7660 NONAME + _ZNK11QGridLayout16rowMinimumHeightEi @ 7661 NONAME + _ZNK11QGridLayout17hasHeightForWidthEv @ 7662 NONAME + _ZNK11QGridLayout17horizontalSpacingEv @ 7663 NONAME + _ZNK11QGridLayout18columnMinimumWidthEi @ 7664 NONAME + _ZNK11QGridLayout19expandingDirectionsEv @ 7665 NONAME + _ZNK11QGridLayout21minimumHeightForWidthEi @ 7666 NONAME + _ZNK11QGridLayout5countEv @ 7667 NONAME + _ZNK11QGridLayout6itemAtEi @ 7668 NONAME + _ZNK11QGridLayout7spacingEv @ 7669 NONAME + _ZNK11QGridLayout8cellRectEii @ 7670 NONAME + _ZNK11QGridLayout8rowCountEv @ 7671 NONAME + _ZNK11QGridLayout8sizeHintEv @ 7672 NONAME + _ZNK11QHBoxLayout10metaObjectEv @ 7673 NONAME + _ZNK11QHeaderView10metaObjectEv @ 7674 NONAME + _ZNK11QHeaderView10resizeModeEi @ 7675 NONAME + _ZNK11QHeaderView10visualRectERK11QModelIndex @ 7676 NONAME + _ZNK11QHeaderView11isClickableEv @ 7677 NONAME + _ZNK11QHeaderView11orientationEv @ 7678 NONAME + _ZNK11QHeaderView11sectionSizeEi @ 7679 NONAME + _ZNK11QHeaderView11visualIndexEi @ 7680 NONAME + _ZNK11QHeaderView12logicalIndexEi @ 7681 NONAME + _ZNK11QHeaderView12paintSectionEP8QPainterRK5QRecti @ 7682 NONAME + _ZNK11QHeaderView13isIndexHiddenERK11QModelIndex @ 7683 NONAME + _ZNK11QHeaderView13sectionsMovedEv @ 7684 NONAME + _ZNK11QHeaderView13visualIndexAtEi @ 7685 NONAME + _ZNK11QHeaderView14logicalIndexAtEi @ 7686 NONAME + _ZNK11QHeaderView14sectionsHiddenEv @ 7687 NONAME + _ZNK11QHeaderView14verticalOffsetEv @ 7688 NONAME + _ZNK11QHeaderView15initStyleOptionEP18QStyleOptionHeader @ 7689 NONAME + _ZNK11QHeaderView15isSectionHiddenEi @ 7690 NONAME + _ZNK11QHeaderView15sectionPositionEi @ 7691 NONAME + _ZNK11QHeaderView15sectionSizeHintEi @ 7692 NONAME + _ZNK11QHeaderView16defaultAlignmentEv @ 7693 NONAME + _ZNK11QHeaderView16horizontalOffsetEv @ 7694 NONAME + _ZNK11QHeaderView17highlightSectionsEv @ 7695 NONAME + _ZNK11QHeaderView18defaultSectionSizeEv @ 7696 NONAME + _ZNK11QHeaderView18hiddenSectionCountEv @ 7697 NONAME + _ZNK11QHeaderView18minimumSectionSizeEv @ 7698 NONAME + _ZNK11QHeaderView18sortIndicatorOrderEv @ 7699 NONAME + _ZNK11QHeaderView18stretchLastSectionEv @ 7700 NONAME + _ZNK11QHeaderView19stretchSectionCountEv @ 7701 NONAME + _ZNK11QHeaderView20isSortIndicatorShownEv @ 7702 NONAME + _ZNK11QHeaderView20sortIndicatorSectionEv @ 7703 NONAME + _ZNK11QHeaderView23cascadingSectionResizesEv @ 7704 NONAME + _ZNK11QHeaderView23sectionSizeFromContentsEi @ 7705 NONAME + _ZNK11QHeaderView23sectionViewportPositionEi @ 7706 NONAME + _ZNK11QHeaderView24visualRegionForSelectionERK14QItemSelection @ 7707 NONAME + _ZNK11QHeaderView5countEv @ 7708 NONAME + _ZNK11QHeaderView6lengthEv @ 7709 NONAME + _ZNK11QHeaderView6offsetEv @ 7710 NONAME + _ZNK11QHeaderView7indexAtERK6QPoint @ 7711 NONAME + _ZNK11QHeaderView8sizeHintEv @ 7712 NONAME + _ZNK11QHeaderView9isMovableEv @ 7713 NONAME + _ZNK11QHeaderView9saveStateEv @ 7714 NONAME + _ZNK11QLayoutItem12controlTypesEv @ 7715 NONAME + _ZNK11QLayoutItem14heightForWidthEi @ 7716 NONAME + _ZNK11QLayoutItem17hasHeightForWidthEv @ 7717 NONAME + _ZNK11QLayoutItem21minimumHeightForWidthEi @ 7718 NONAME + _ZNK11QListWidget10currentRowEv @ 7719 NONAME + _ZNK11QListWidget10itemWidgetEP15QListWidgetItem @ 7720 NONAME + _ZNK11QListWidget10metaObjectEv @ 7721 NONAME + _ZNK11QListWidget11currentItemEv @ 7722 NONAME + _ZNK11QListWidget12isItemHiddenEPK15QListWidgetItem @ 7723 NONAME + _ZNK11QListWidget13indexFromItemEP15QListWidgetItem @ 7724 NONAME + _ZNK11QListWidget13itemFromIndexERK11QModelIndex @ 7725 NONAME + _ZNK11QListWidget13selectedItemsEv @ 7726 NONAME + _ZNK11QListWidget14isItemSelectedEPK15QListWidgetItem @ 7727 NONAME + _ZNK11QListWidget14visualItemRectEPK15QListWidgetItem @ 7728 NONAME + _ZNK11QListWidget16isSortingEnabledEv @ 7729 NONAME + _ZNK11QListWidget20supportedDropActionsEv @ 7730 NONAME + _ZNK11QListWidget3rowEPK15QListWidgetItem @ 7731 NONAME + _ZNK11QListWidget4itemEi @ 7732 NONAME + _ZNK11QListWidget5countEv @ 7733 NONAME + _ZNK11QListWidget5itemsEPK9QMimeData @ 7734 NONAME + _ZNK11QListWidget6itemAtERK6QPoint @ 7735 NONAME + _ZNK11QListWidget8mimeDataE5QListIP15QListWidgetItemE @ 7736 NONAME + _ZNK11QListWidget9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEE @ 7737 NONAME + _ZNK11QListWidget9mimeTypesEv @ 7738 NONAME + _ZNK11QListWidget9sortOrderEv @ 7739 NONAME + _ZNK11QMainWindow10isAnimatedEv @ 7740 NONAME + _ZNK11QMainWindow10menuWidgetEv @ 7741 NONAME + _ZNK11QMainWindow10metaObjectEv @ 7742 NONAME + _ZNK11QMainWindow11dockOptionsEv @ 7743 NONAME + _ZNK11QMainWindow11isSeparatorERK6QPoint @ 7744 NONAME + _ZNK11QMainWindow11tabPositionEN2Qt14DockWidgetAreaE @ 7745 NONAME + _ZNK11QMainWindow11toolBarAreaEP8QToolBar @ 7746 NONAME + _ZNK11QMainWindow12documentModeEv @ 7747 NONAME + _ZNK11QMainWindow12toolBarBreakEP8QToolBar @ 7748 NONAME + _ZNK11QMainWindow13centralWidgetEv @ 7749 NONAME + _ZNK11QMainWindow14dockWidgetAreaEP11QDockWidget @ 7750 NONAME + _ZNK11QMainWindow15toolButtonStyleEv @ 7751 NONAME + _ZNK11QMainWindow19tabifiedDockWidgetsEP11QDockWidget @ 7752 NONAME + _ZNK11QMainWindow20isDockNestingEnabledEv @ 7753 NONAME + _ZNK11QMainWindow27unifiedTitleAndToolBarOnMacEv @ 7754 NONAME + _ZNK11QMainWindow6cornerEN2Qt6CornerE @ 7755 NONAME + _ZNK11QMainWindow7menuBarEv @ 7756 NONAME + _ZNK11QMainWindow8iconSizeEv @ 7757 NONAME + _ZNK11QMainWindow8tabShapeEv @ 7758 NONAME + _ZNK11QMainWindow9saveStateEi @ 7759 NONAME + _ZNK11QMainWindow9statusBarEv @ 7760 NONAME + _ZNK11QMessageBox10buttonRoleEP15QAbstractButton @ 7761 NONAME + _ZNK11QMessageBox10buttonTextEi @ 7762 NONAME + _ZNK11QMessageBox10iconPixmapEv @ 7763 NONAME + _ZNK11QMessageBox10metaObjectEv @ 7764 NONAME + _ZNK11QMessageBox10textFormatEv @ 7765 NONAME + _ZNK11QMessageBox12detailedTextEv @ 7766 NONAME + _ZNK11QMessageBox12escapeButtonEv @ 7767 NONAME + _ZNK11QMessageBox13clickedButtonEv @ 7768 NONAME + _ZNK11QMessageBox13defaultButtonEv @ 7769 NONAME + _ZNK11QMessageBox14standardButtonEP15QAbstractButton @ 7770 NONAME + _ZNK11QMessageBox15informativeTextEv @ 7771 NONAME + _ZNK11QMessageBox15standardButtonsEv @ 7772 NONAME + _ZNK11QMessageBox4iconEv @ 7773 NONAME + _ZNK11QMessageBox4textEv @ 7774 NONAME + _ZNK11QMessageBox6buttonENS_14StandardButtonE @ 7775 NONAME + _ZNK11QMessageBox7buttonsEv @ 7776 NONAME + _ZNK11QMessageBox8sizeHintEv @ 7777 NONAME + _ZNK11QMimeSource8providesEPKc @ 7778 NONAME + _ZNK11QMouseEvent4posFEv @ 7779 NONAME + _ZNK11QPanGesture10lastOffsetEv @ 7780 NONAME + _ZNK11QPanGesture10metaObjectEv @ 7781 NONAME + _ZNK11QPanGesture11totalOffsetEv @ 7782 NONAME + _ZNK11QPanGesture12accelerationEv @ 7783 NONAME + _ZNK11QPanGesture6offsetEv @ 7784 NONAME + _ZNK11QPixmapData11transformedERK10QTransformN2Qt18TransformationModeE @ 7785 NONAME + _ZNK11QPixmapData12alphaChannelEv @ 7786 NONAME + _ZNK11QPixmapData4maskEv @ 7787 NONAME + _ZNK11QProxyModel10headerDataEiN2Qt11OrientationEi @ 7788 NONAME + _ZNK11QProxyModel10metaObjectEv @ 7789 NONAME + _ZNK11QProxyModel11columnCountERK11QModelIndex @ 7790 NONAME + _ZNK11QProxyModel11hasChildrenERK11QModelIndex @ 7791 NONAME + _ZNK11QProxyModel13setProxyModelERK11QModelIndex @ 7792 NONAME + _ZNK11QProxyModel14connectToModelEPK18QAbstractItemModel @ 7793 NONAME + _ZNK11QProxyModel14setSourceModelERK11QModelIndex @ 7794 NONAME + _ZNK11QProxyModel19disconnectFromModelEPK18QAbstractItemModel @ 7795 NONAME + _ZNK11QProxyModel20supportedDropActionsEv @ 7796 NONAME + _ZNK11QProxyModel4dataERK11QModelIndexi @ 7797 NONAME + _ZNK11QProxyModel4spanERK11QModelIndex @ 7798 NONAME + _ZNK11QProxyModel5flagsERK11QModelIndex @ 7799 NONAME + _ZNK11QProxyModel5indexEiiRK11QModelIndex @ 7800 NONAME + _ZNK11QProxyModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 7801 NONAME + _ZNK11QProxyModel5modelEv @ 7802 NONAME + _ZNK11QProxyModel6parentERK11QModelIndex @ 7803 NONAME + _ZNK11QProxyModel8mimeDataERK5QListI11QModelIndexE @ 7804 NONAME + _ZNK11QProxyModel8rowCountERK11QModelIndex @ 7805 NONAME + _ZNK11QProxyModel9mimeTypesEv @ 7806 NONAME + _ZNK11QProxyStyle10metaObjectEv @ 7807 NONAME + _ZNK11QProxyStyle11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 7808 NONAME + _ZNK11QProxyStyle11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 7809 NONAME + _ZNK11QProxyStyle12drawItemTextEP8QPainterRK5QRectiRK8QPalettebRK7QStringNS5_9ColorRoleE @ 7810 NONAME + _ZNK11QProxyStyle12itemTextRectERK12QFontMetricsRK5QRectibRK7QString @ 7811 NONAME + _ZNK11QProxyStyle13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 7812 NONAME + _ZNK11QProxyStyle14drawItemPixmapEP8QPainterRK5QRectiRK7QPixmap @ 7813 NONAME + _ZNK11QProxyStyle14itemPixmapRectERK5QRectiRK7QPixmap @ 7814 NONAME + _ZNK11QProxyStyle14standardPixmapEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 7815 NONAME + _ZNK11QProxyStyle14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget @ 7816 NONAME + _ZNK11QProxyStyle14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 7817 NONAME + _ZNK11QProxyStyle15standardPaletteEv @ 7818 NONAME + _ZNK11QProxyStyle16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 7819 NONAME + _ZNK11QProxyStyle18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 7820 NONAME + _ZNK11QProxyStyle19generatedIconPixmapEN5QIcon4ModeERK7QPixmapPK12QStyleOption @ 7821 NONAME + _ZNK11QProxyStyle21hitTestComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexRK6QPointPK7QWidget @ 7822 NONAME + _ZNK11QProxyStyle26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 7823 NONAME + _ZNK11QProxyStyle27layoutSpacingImplementationEN11QSizePolicy11ControlTypeES1_N2Qt11OrientationEPK12QStyleOptionPK7QWidget @ 7824 NONAME + _ZNK11QProxyStyle9baseStyleEv @ 7825 NONAME + _ZNK11QProxyStyle9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 7826 NONAME + _ZNK11QPushButton10metaObjectEv @ 7827 NONAME + _ZNK11QPushButton11autoDefaultEv @ 7828 NONAME + _ZNK11QPushButton15initStyleOptionEP18QStyleOptionButton @ 7829 NONAME + _ZNK11QPushButton15minimumSizeHintEv @ 7830 NONAME + _ZNK11QPushButton4menuEv @ 7831 NONAME + _ZNK11QPushButton6isFlatEv @ 7832 NONAME + _ZNK11QPushButton8sizeHintEv @ 7833 NONAME + _ZNK11QPushButton9isDefaultEv @ 7834 NONAME + _ZNK11QQuaternion10normalizedEv @ 7835 NONAME + _ZNK11QQuaternion12rotateVectorERK9QVector3D @ 7836 NONAME + _ZNK11QQuaternion13lengthSquaredEv @ 7837 NONAME + _ZNK11QQuaternion6lengthEv @ 7838 NONAME + _ZNK11QQuaternioncv8QVariantEv @ 7839 NONAME + _ZNK11QRubberBand10metaObjectEv @ 7840 NONAME + _ZNK11QRubberBand15initStyleOptionEP22QStyleOptionRubberBand @ 7841 NONAME + _ZNK11QRubberBand5shapeEv @ 7842 NONAME + _ZNK11QScrollArea10metaObjectEv @ 7843 NONAME + _ZNK11QScrollArea15widgetResizableEv @ 7844 NONAME + _ZNK11QScrollArea6widgetEv @ 7845 NONAME + _ZNK11QScrollArea8sizeHintEv @ 7846 NONAME + _ZNK11QScrollArea9alignmentEv @ 7847 NONAME + _ZNK11QSizePolicy11controlTypeEv @ 7848 NONAME + _ZNK11QSizePolicycv8QVariantEv @ 7849 NONAME + _ZNK11QSpacerItem11maximumSizeEv @ 7850 NONAME + _ZNK11QSpacerItem11minimumSizeEv @ 7851 NONAME + _ZNK11QSpacerItem19expandingDirectionsEv @ 7852 NONAME + _ZNK11QSpacerItem7isEmptyEv @ 7853 NONAME + _ZNK11QSpacerItem8geometryEv @ 7854 NONAME + _ZNK11QSpacerItem8sizeHintEv @ 7855 NONAME + _ZNK11QTextCursor10atBlockEndEv @ 7856 NONAME + _ZNK11QTextCursor10charFormatEv @ 7857 NONAME + _ZNK11QTextCursor11blockFormatEv @ 7858 NONAME + _ZNK11QTextCursor11blockNumberEv @ 7859 NONAME + _ZNK11QTextCursor11currentListEv @ 7860 NONAME + _ZNK11QTextCursor12atBlockStartEv @ 7861 NONAME + _ZNK11QTextCursor12columnNumberEv @ 7862 NONAME + _ZNK11QTextCursor12currentFrameEv @ 7863 NONAME + _ZNK11QTextCursor12currentTableEv @ 7864 NONAME + _ZNK11QTextCursor12hasSelectionEv @ 7865 NONAME + _ZNK11QTextCursor12selectedTextEv @ 7866 NONAME + _ZNK11QTextCursor12selectionEndEv @ 7867 NONAME + _ZNK11QTextCursor14selectionStartEv @ 7868 NONAME + _ZNK11QTextCursor15blockCharFormatEv @ 7869 NONAME + _ZNK11QTextCursor16visualNavigationEv @ 7870 NONAME + _ZNK11QTextCursor18selectedTableCellsEPiS0_S0_S0_ @ 7871 NONAME + _ZNK11QTextCursor19hasComplexSelectionEv @ 7872 NONAME + _ZNK11QTextCursor5atEndEv @ 7873 NONAME + _ZNK11QTextCursor5blockEv @ 7874 NONAME + _ZNK11QTextCursor6anchorEv @ 7875 NONAME + _ZNK11QTextCursor6isNullEv @ 7876 NONAME + _ZNK11QTextCursor7atStartEv @ 7877 NONAME + _ZNK11QTextCursor8documentEv @ 7878 NONAME + _ZNK11QTextCursor8isCopyOfERKS_ @ 7879 NONAME + _ZNK11QTextCursor8positionEv @ 7880 NONAME + _ZNK11QTextCursor9selectionEv @ 7881 NONAME + _ZNK11QTextCursoreqERKS_ @ 7882 NONAME + _ZNK11QTextCursorgeERKS_ @ 7883 NONAME + _ZNK11QTextCursorgtERKS_ @ 7884 NONAME + _ZNK11QTextCursorleERKS_ @ 7885 NONAME + _ZNK11QTextCursorltERKS_ @ 7886 NONAME + _ZNK11QTextCursorneERKS_ @ 7887 NONAME + _ZNK11QTextEngine10attributesEv @ 7888 NONAME + _ZNK11QTextEngine10elidedTextEN2Qt13TextElideModeERK6QFixedi @ 7889 NONAME + _ZNK11QTextEngine10fontEngineERK11QScriptItemP6QFixedS4_ @ 7890 NONAME + _ZNK11QTextEngine11boundingBoxEii @ 7891 NONAME + _ZNK11QTextEngine11formatIndexEPK11QScriptItem @ 7892 NONAME + _ZNK11QTextEngine11setBoundaryEi @ 7893 NONAME + _ZNK11QTextEngine15atWordSeparatorEi @ 7894 NONAME + _ZNK11QTextEngine16tightBoundingBoxEii @ 7895 NONAME + _ZNK11QTextEngine17calculateTabWidthEi6QFixed @ 7896 NONAME + _ZNK11QTextEngine21addRequiredBoundariesEv @ 7897 NONAME + _ZNK11QTextEngine21shapeTextWithHarfbuzzEi @ 7898 NONAME + _ZNK11QTextEngine24resolveAdditionalFormatsEv @ 7899 NONAME + _ZNK11QTextEngine4fontERK11QScriptItem @ 7900 NONAME + _ZNK11QTextEngine5shapeEi @ 7901 NONAME + _ZNK11QTextEngine5widthEii @ 7902 NONAME + _ZNK11QTextEngine6formatEPK11QScriptItem @ 7903 NONAME + _ZNK11QTextEngine7atSpaceEi @ 7904 NONAME + _ZNK11QTextEngine7itemizeEv @ 7905 NONAME + _ZNK11QTextEngine8findItemEi @ 7906 NONAME + _ZNK11QTextEngine8validateEv @ 7907 NONAME + _ZNK11QTextEngine9shapeTextEi @ 7908 NONAME + _ZNK11QTextEngine9splitItemEii @ 7909 NONAME + _ZNK11QTextFormat10propertiesEv @ 7910 NONAME + _ZNK11QTextFormat11hasPropertyEi @ 7911 NONAME + _ZNK11QTextFormat11intPropertyEi @ 7912 NONAME + _ZNK11QTextFormat11objectIndexEv @ 7913 NONAME + _ZNK11QTextFormat11penPropertyEi @ 7914 NONAME + _ZNK11QTextFormat12boolPropertyEi @ 7915 NONAME + _ZNK11QTextFormat12toCharFormatEv @ 7916 NONAME + _ZNK11QTextFormat12toListFormatEv @ 7917 NONAME + _ZNK11QTextFormat13brushPropertyEi @ 7918 NONAME + _ZNK11QTextFormat13colorPropertyEi @ 7919 NONAME + _ZNK11QTextFormat13propertyCountEv @ 7920 NONAME + _ZNK11QTextFormat13toBlockFormatEv @ 7921 NONAME + _ZNK11QTextFormat13toFrameFormatEv @ 7922 NONAME + _ZNK11QTextFormat13toImageFormatEv @ 7923 NONAME + _ZNK11QTextFormat13toTableFormatEv @ 7924 NONAME + _ZNK11QTextFormat14doublePropertyEi @ 7925 NONAME + _ZNK11QTextFormat14lengthPropertyEi @ 7926 NONAME + _ZNK11QTextFormat14stringPropertyEi @ 7927 NONAME + _ZNK11QTextFormat17toTableCellFormatEv @ 7928 NONAME + _ZNK11QTextFormat20lengthVectorPropertyEi @ 7929 NONAME + _ZNK11QTextFormat4typeEv @ 7930 NONAME + _ZNK11QTextFormat8propertyEi @ 7931 NONAME + _ZNK11QTextFormatcv8QVariantEv @ 7932 NONAME + _ZNK11QTextFormateqERKS_ @ 7933 NONAME + _ZNK11QTextLayout10drawCursorEP8QPainterRK7QPointFi @ 7934 NONAME + _ZNK11QTextLayout10drawCursorEP8QPainterRK7QPointFii @ 7935 NONAME + _ZNK11QTextLayout10textOptionEv @ 7936 NONAME + _ZNK11QTextLayout12boundingRectEv @ 7937 NONAME + _ZNK11QTextLayout12cacheEnabledEv @ 7938 NONAME + _ZNK11QTextLayout12maximumWidthEv @ 7939 NONAME + _ZNK11QTextLayout12minimumWidthEv @ 7940 NONAME + _ZNK11QTextLayout15preeditAreaTextEv @ 7941 NONAME + _ZNK11QTextLayout17additionalFormatsEv @ 7942 NONAME + _ZNK11QTextLayout18nextCursorPositionEiNS_10CursorModeE @ 7943 NONAME + _ZNK11QTextLayout19lineForTextPositionEi @ 7944 NONAME + _ZNK11QTextLayout19preeditAreaPositionEv @ 7945 NONAME + _ZNK11QTextLayout21isValidCursorPositionEi @ 7946 NONAME + _ZNK11QTextLayout22previousCursorPositionEiNS_10CursorModeE @ 7947 NONAME + _ZNK11QTextLayout4drawEP8QPainterRK7QPointFRK7QVectorINS_11FormatRangeEERK6QRectF @ 7948 NONAME + _ZNK11QTextLayout4fontEv @ 7949 NONAME + _ZNK11QTextLayout4textEv @ 7950 NONAME + _ZNK11QTextLayout6lineAtEi @ 7951 NONAME + _ZNK11QTextLayout8positionEv @ 7952 NONAME + _ZNK11QTextLayout9lineCountEv @ 7953 NONAME + _ZNK11QTextLengthcv8QVariantEv @ 7954 NONAME + _ZNK11QTextObject10metaObjectEv @ 7955 NONAME + _ZNK11QTextObject11formatIndexEv @ 7956 NONAME + _ZNK11QTextObject11objectIndexEv @ 7957 NONAME + _ZNK11QTextObject6formatEv @ 7958 NONAME + _ZNK11QTextObject8documentEv @ 7959 NONAME + _ZNK11QTextObject9docHandleEv @ 7960 NONAME + _ZNK11QTextOption4tabsEv @ 7961 NONAME + _ZNK11QTextOption8tabArrayEv @ 7962 NONAME + _ZNK11QToolButton10metaObjectEv @ 7963 NONAME + _ZNK11QToolButton13defaultActionEv @ 7964 NONAME + _ZNK11QToolButton15initStyleOptionEP22QStyleOptionToolButton @ 7965 NONAME + _ZNK11QToolButton15minimumSizeHintEv @ 7966 NONAME + _ZNK11QToolButton15toolButtonStyleEv @ 7967 NONAME + _ZNK11QToolButton4menuEv @ 7968 NONAME + _ZNK11QToolButton8sizeHintEv @ 7969 NONAME + _ZNK11QToolButton9arrowTypeEv @ 7970 NONAME + _ZNK11QToolButton9autoRaiseEv @ 7971 NONAME + _ZNK11QToolButton9hitButtonERK6QPoint @ 7972 NONAME + _ZNK11QToolButton9popupModeEv @ 7973 NONAME + _ZNK11QTouchEvent10TouchPoint10screenRectEv @ 7974 NONAME + _ZNK11QTouchEvent10TouchPoint12lastScenePosEv @ 7975 NONAME + _ZNK11QTouchEvent10TouchPoint13lastScreenPosEv @ 7976 NONAME + _ZNK11QTouchEvent10TouchPoint13normalizedPosEv @ 7977 NONAME + _ZNK11QTouchEvent10TouchPoint13startScenePosEv @ 7978 NONAME + _ZNK11QTouchEvent10TouchPoint14startScreenPosEv @ 7979 NONAME + _ZNK11QTouchEvent10TouchPoint17lastNormalizedPosEv @ 7980 NONAME + _ZNK11QTouchEvent10TouchPoint18startNormalizedPosEv @ 7981 NONAME + _ZNK11QTouchEvent10TouchPoint2idEv @ 7982 NONAME + _ZNK11QTouchEvent10TouchPoint3posEv @ 7983 NONAME + _ZNK11QTouchEvent10TouchPoint4rectEv @ 7984 NONAME + _ZNK11QTouchEvent10TouchPoint5stateEv @ 7985 NONAME + _ZNK11QTouchEvent10TouchPoint7lastPosEv @ 7986 NONAME + _ZNK11QTouchEvent10TouchPoint8pressureEv @ 7987 NONAME + _ZNK11QTouchEvent10TouchPoint8scenePosEv @ 7988 NONAME + _ZNK11QTouchEvent10TouchPoint8startPosEv @ 7989 NONAME + _ZNK11QTouchEvent10TouchPoint9isPrimaryEv @ 7990 NONAME + _ZNK11QTouchEvent10TouchPoint9sceneRectEv @ 7991 NONAME + _ZNK11QTouchEvent10TouchPoint9screenPosEv @ 7992 NONAME + _ZNK11QTreeWidget10headerItemEv @ 7993 NONAME + _ZNK11QTreeWidget10itemWidgetEP15QTreeWidgetItemi @ 7994 NONAME + _ZNK11QTreeWidget10metaObjectEv @ 7995 NONAME + _ZNK11QTreeWidget10sortColumnEv @ 7996 NONAME + _ZNK11QTreeWidget11columnCountEv @ 7997 NONAME + _ZNK11QTreeWidget11currentItemEv @ 7998 NONAME + _ZNK11QTreeWidget12isItemHiddenEPK15QTreeWidgetItem @ 7999 NONAME + _ZNK11QTreeWidget12topLevelItemEi @ 8000 NONAME + _ZNK11QTreeWidget13currentColumnEv @ 8001 NONAME + _ZNK11QTreeWidget13indexFromItemEP15QTreeWidgetItemi @ 8002 NONAME + _ZNK11QTreeWidget13itemFromIndexERK11QModelIndex @ 8003 NONAME + _ZNK11QTreeWidget13selectedItemsEv @ 8004 NONAME + _ZNK11QTreeWidget14isItemExpandedEPK15QTreeWidgetItem @ 8005 NONAME + _ZNK11QTreeWidget14isItemSelectedEPK15QTreeWidgetItem @ 8006 NONAME + _ZNK11QTreeWidget14visualItemRectEPK15QTreeWidgetItem @ 8007 NONAME + _ZNK11QTreeWidget16isSortingEnabledEv @ 8008 NONAME + _ZNK11QTreeWidget17invisibleRootItemEv @ 8009 NONAME + _ZNK11QTreeWidget17topLevelItemCountEv @ 8010 NONAME + _ZNK11QTreeWidget19indexOfTopLevelItemEP15QTreeWidgetItem @ 8011 NONAME + _ZNK11QTreeWidget20supportedDropActionsEv @ 8012 NONAME + _ZNK11QTreeWidget24isFirstItemColumnSpannedEPK15QTreeWidgetItem @ 8013 NONAME + _ZNK11QTreeWidget5itemsEPK9QMimeData @ 8014 NONAME + _ZNK11QTreeWidget6itemAtERK6QPoint @ 8015 NONAME + _ZNK11QTreeWidget8mimeDataE5QListIP15QTreeWidgetItemE @ 8016 NONAME + _ZNK11QTreeWidget9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEEi @ 8017 NONAME + _ZNK11QTreeWidget9itemAboveEPK15QTreeWidgetItem @ 8018 NONAME + _ZNK11QTreeWidget9itemBelowEPK15QTreeWidgetItem @ 8019 NONAME + _ZNK11QTreeWidget9mimeTypesEv @ 8020 NONAME + _ZNK11QVBoxLayout10metaObjectEv @ 8021 NONAME + _ZNK11QVectorPath16controlPointRectEv @ 8022 NONAME + _ZNK11QWidgetItem11maximumSizeEv @ 8023 NONAME + _ZNK11QWidgetItem11minimumSizeEv @ 8024 NONAME + _ZNK11QWidgetItem14heightForWidthEi @ 8025 NONAME + _ZNK11QWidgetItem17hasHeightForWidthEv @ 8026 NONAME + _ZNK11QWidgetItem19expandingDirectionsEv @ 8027 NONAME + _ZNK11QWidgetItem7isEmptyEv @ 8028 NONAME + _ZNK11QWidgetItem8geometryEv @ 8029 NONAME + _ZNK11QWidgetItem8sizeHintEv @ 8030 NONAME + _ZNK11QWizardPage10buttonTextEN7QWizard12WizardButtonE @ 8031 NONAME + _ZNK11QWizardPage10isCompleteEv @ 8032 NONAME + _ZNK11QWizardPage10metaObjectEv @ 8033 NONAME + _ZNK11QWizardPage11isFinalPageEv @ 8034 NONAME + _ZNK11QWizardPage12isCommitPageEv @ 8035 NONAME + _ZNK11QWizardPage5fieldERK7QString @ 8036 NONAME + _ZNK11QWizardPage5titleEv @ 8037 NONAME + _ZNK11QWizardPage6nextIdEv @ 8038 NONAME + _ZNK11QWizardPage6pixmapEN7QWizard12WizardPixmapE @ 8039 NONAME + _ZNK11QWizardPage6wizardEv @ 8040 NONAME + _ZNK11QWizardPage8subTitleEv @ 8041 NONAME + _ZNK12QActionGroup10metaObjectEv @ 8042 NONAME + _ZNK12QActionGroup11isExclusiveEv @ 8043 NONAME + _ZNK12QActionGroup13checkedActionEv @ 8044 NONAME + _ZNK12QActionGroup7actionsEv @ 8045 NONAME + _ZNK12QActionGroup9isEnabledEv @ 8046 NONAME + _ZNK12QActionGroup9isVisibleEv @ 8047 NONAME + _ZNK12QApplication10metaObjectEv @ 8048 NONAME + _ZNK12QApplication10sessionKeyEv @ 8049 NONAME + _ZNK12QApplication10styleSheetEv @ 8050 NONAME + _ZNK12QApplication12inputContextEv @ 8051 NONAME + _ZNK12QApplication14autoSipEnabledEv @ 8052 NONAME + _ZNK12QApplication17isSessionRestoredEv @ 8053 NONAME + _ZNK12QApplication9sessionIdEv @ 8054 NONAME + _ZNK12QButtonGroup10metaObjectEv @ 8055 NONAME + _ZNK12QButtonGroup13checkedButtonEv @ 8056 NONAME + _ZNK12QButtonGroup2idEP15QAbstractButton @ 8057 NONAME + _ZNK12QButtonGroup6buttonEi @ 8058 NONAME + _ZNK12QButtonGroup7buttonsEv @ 8059 NONAME + _ZNK12QButtonGroup9checkedIdEv @ 8060 NONAME + _ZNK12QButtonGroup9exclusiveEv @ 8061 NONAME + _ZNK12QColorDialog10metaObjectEv @ 8062 NONAME + _ZNK12QColorDialog10testOptionENS_17ColorDialogOptionE @ 8063 NONAME + _ZNK12QColorDialog12currentColorEv @ 8064 NONAME + _ZNK12QColorDialog13selectedColorEv @ 8065 NONAME + _ZNK12QColorDialog7optionsEv @ 8066 NONAME + _ZNK12QCommonStyle10metaObjectEv @ 8067 NONAME + _ZNK12QCommonStyle11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 8068 NONAME + _ZNK12QCommonStyle11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 8069 NONAME + _ZNK12QCommonStyle13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 8070 NONAME + _ZNK12QCommonStyle14standardPixmapEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 8071 NONAME + _ZNK12QCommonStyle14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget @ 8072 NONAME + _ZNK12QCommonStyle14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 8073 NONAME + _ZNK12QCommonStyle16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 8074 NONAME + _ZNK12QCommonStyle18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 8075 NONAME + _ZNK12QCommonStyle19generatedIconPixmapEN5QIcon4ModeERK7QPixmapPK12QStyleOption @ 8076 NONAME + _ZNK12QCommonStyle21hitTestComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexRK6QPointPK7QWidget @ 8077 NONAME + _ZNK12QCommonStyle26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 8078 NONAME + _ZNK12QCommonStyle9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 8079 NONAME + _ZNK12QFontMetrics10elidedTextERK7QStringN2Qt13TextElideModeEii @ 8080 NONAME + _ZNK12QFontMetrics11leftBearingE5QChar @ 8081 NONAME + _ZNK12QFontMetrics11lineSpacingEv @ 8082 NONAME + _ZNK12QFontMetrics11overlinePosEv @ 8083 NONAME + _ZNK12QFontMetrics12boundingRectE5QChar @ 8084 NONAME + _ZNK12QFontMetrics12boundingRectERK5QRectiRK7QStringiPi @ 8085 NONAME + _ZNK12QFontMetrics12boundingRectERK7QString @ 8086 NONAME + _ZNK12QFontMetrics12rightBearingE5QChar @ 8087 NONAME + _ZNK12QFontMetrics12strikeOutPosEv @ 8088 NONAME + _ZNK12QFontMetrics12underlinePosEv @ 8089 NONAME + _ZNK12QFontMetrics14minLeftBearingEv @ 8090 NONAME + _ZNK12QFontMetrics15minRightBearingEv @ 8091 NONAME + _ZNK12QFontMetrics16averageCharWidthEv @ 8092 NONAME + _ZNK12QFontMetrics17tightBoundingRectERK7QString @ 8093 NONAME + _ZNK12QFontMetrics4sizeEiRK7QStringiPi @ 8094 NONAME + _ZNK12QFontMetrics5widthE5QChar @ 8095 NONAME + _ZNK12QFontMetrics5widthERK7QStringi @ 8096 NONAME + _ZNK12QFontMetrics6ascentEv @ 8097 NONAME + _ZNK12QFontMetrics6heightEv @ 8098 NONAME + _ZNK12QFontMetrics6inFontE5QChar @ 8099 NONAME + _ZNK12QFontMetrics7descentEv @ 8100 NONAME + _ZNK12QFontMetrics7leadingEv @ 8101 NONAME + _ZNK12QFontMetrics7xHeightEv @ 8102 NONAME + _ZNK12QFontMetrics8maxWidthEv @ 8103 NONAME + _ZNK12QFontMetrics9charWidthERK7QStringi @ 8104 NONAME + _ZNK12QFontMetrics9lineWidthEv @ 8105 NONAME + _ZNK12QFontMetricseqERKS_ @ 8106 NONAME + _ZNK12QFontPrivate15engineForScriptEi @ 8107 NONAME + _ZNK12QFontPrivate20smallCapsFontPrivateEv @ 8108 NONAME + _ZNK12QFontPrivate26alterCharForCapitalizationER5QChar @ 8109 NONAME + _ZNK12QImageReader10imageCountEv @ 8110 NONAME + _ZNK12QImageReader10scaledSizeEv @ 8111 NONAME + _ZNK12QImageReader11errorStringEv @ 8112 NONAME + _ZNK12QImageReader11imageFormatEv @ 8113 NONAME + _ZNK12QImageReader14nextImageDelayEv @ 8114 NONAME + _ZNK12QImageReader14scaledClipRectEv @ 8115 NONAME + _ZNK12QImageReader14supportsOptionEN15QImageIOHandler11ImageOptionE @ 8116 NONAME + _ZNK12QImageReader15backgroundColorEv @ 8117 NONAME + _ZNK12QImageReader16currentImageRectEv @ 8118 NONAME + _ZNK12QImageReader17supportsAnimationEv @ 8119 NONAME + _ZNK12QImageReader18currentImageNumberEv @ 8120 NONAME + _ZNK12QImageReader21autoDetectImageFormatEv @ 8121 NONAME + _ZNK12QImageReader23decideFormatFromContentEv @ 8122 NONAME + _ZNK12QImageReader4sizeEv @ 8123 NONAME + _ZNK12QImageReader4textERK7QString @ 8124 NONAME + _ZNK12QImageReader5errorEv @ 8125 NONAME + _ZNK12QImageReader6deviceEv @ 8126 NONAME + _ZNK12QImageReader6formatEv @ 8127 NONAME + _ZNK12QImageReader7canReadEv @ 8128 NONAME + _ZNK12QImageReader7qualityEv @ 8129 NONAME + _ZNK12QImageReader8clipRectEv @ 8130 NONAME + _ZNK12QImageReader8fileNameEv @ 8131 NONAME + _ZNK12QImageReader8textKeysEv @ 8132 NONAME + _ZNK12QImageReader9loopCountEv @ 8133 NONAME + _ZNK12QImageWriter11compressionEv @ 8134 NONAME + _ZNK12QImageWriter11descriptionEv @ 8135 NONAME + _ZNK12QImageWriter11errorStringEv @ 8136 NONAME + _ZNK12QImageWriter14supportsOptionEN15QImageIOHandler11ImageOptionE @ 8137 NONAME + _ZNK12QImageWriter5errorEv @ 8138 NONAME + _ZNK12QImageWriter5gammaEv @ 8139 NONAME + _ZNK12QImageWriter6deviceEv @ 8140 NONAME + _ZNK12QImageWriter6formatEv @ 8141 NONAME + _ZNK12QImageWriter7qualityEv @ 8142 NONAME + _ZNK12QImageWriter8canWriteEv @ 8143 NONAME + _ZNK12QImageWriter8fileNameEv @ 8144 NONAME + _ZNK12QInputDialog10intMaximumEv @ 8145 NONAME + _ZNK12QInputDialog10intMinimumEv @ 8146 NONAME + _ZNK12QInputDialog10metaObjectEv @ 8147 NONAME + _ZNK12QInputDialog10testOptionENS_17InputDialogOptionE @ 8148 NONAME + _ZNK12QInputDialog11doubleValueEv @ 8149 NONAME + _ZNK12QInputDialog12okButtonTextEv @ 8150 NONAME + _ZNK12QInputDialog12textEchoModeEv @ 8151 NONAME + _ZNK12QInputDialog13comboBoxItemsEv @ 8152 NONAME + _ZNK12QInputDialog13doubleMaximumEv @ 8153 NONAME + _ZNK12QInputDialog13doubleMinimumEv @ 8154 NONAME + _ZNK12QInputDialog14doubleDecimalsEv @ 8155 NONAME + _ZNK12QInputDialog15minimumSizeHintEv @ 8156 NONAME + _ZNK12QInputDialog16cancelButtonTextEv @ 8157 NONAME + _ZNK12QInputDialog18isComboBoxEditableEv @ 8158 NONAME + _ZNK12QInputDialog7intStepEv @ 8159 NONAME + _ZNK12QInputDialog7optionsEv @ 8160 NONAME + _ZNK12QInputDialog8intValueEv @ 8161 NONAME + _ZNK12QInputDialog8sizeHintEv @ 8162 NONAME + _ZNK12QInputDialog9inputModeEv @ 8163 NONAME + _ZNK12QInputDialog9labelTextEv @ 8164 NONAME + _ZNK12QInputDialog9textValueEv @ 8165 NONAME + _ZNK12QKeySequence10isDetachedEv @ 8166 NONAME + _ZNK12QKeySequence5countEv @ 8167 NONAME + _ZNK12QKeySequence7isEmptyEv @ 8168 NONAME + _ZNK12QKeySequence7matchesERKS_ @ 8169 NONAME + _ZNK12QKeySequence8toStringENS_14SequenceFormatE @ 8170 NONAME + _ZNK12QKeySequencecv7QStringEv @ 8171 NONAME + _ZNK12QKeySequencecv8QVariantEv @ 8172 NONAME + _ZNK12QKeySequencecviEv @ 8173 NONAME + _ZNK12QKeySequenceeqERKS_ @ 8174 NONAME + _ZNK12QKeySequenceixEj @ 8175 NONAME + _ZNK12QKeySequenceltERKS_ @ 8176 NONAME + _ZNK12QLineControl10cursorRectEv @ 8177 NONAME + _ZNK12QLineControl10findInMaskEibb5QChar @ 8178 NONAME + _ZNK12QLineControl10maskStringEjRK7QStringb @ 8179 NONAME + _ZNK12QLineControl10metaObjectEv @ 8180 NONAME + _ZNK12QLineControl11clearStringEjj @ 8181 NONAME + _ZNK12QLineControl11stripStringERK7QString @ 8182 NONAME + _ZNK12QLineControl12isValidInputE5QCharS0_ @ 8183 NONAME + _ZNK12QLineControl18hasAcceptableInputERK7QString @ 8184 NONAME + _ZNK12QLineControl4copyEN10QClipboard4ModeE @ 8185 NONAME + _ZNK12QLineControl6xToPosEiN9QTextLine14CursorPositionE @ 8186 NONAME + _ZNK12QPaintBuffer11paintEngineEv @ 8187 NONAME + _ZNK12QPaintBuffer12boundingRectEv @ 8188 NONAME + _ZNK12QPaintBuffer4drawEP8QPainteri @ 8189 NONAME + _ZNK12QPaintBuffer6metricEN12QPaintDevice17PaintDeviceMetricE @ 8190 NONAME + _ZNK12QPaintBuffer7devTypeEv @ 8191 NONAME + _ZNK12QPaintBuffer7isEmptyEv @ 8192 NONAME + _ZNK12QPaintBuffer9numFramesEv @ 8193 NONAME + _ZNK12QPaintDevice6metricENS_17PaintDeviceMetricE @ 8194 NONAME + _ZNK12QPaintEngine10systemClipEv @ 8195 NONAME + _ZNK12QPaintEngine10systemRectEv @ 8196 NONAME + _ZNK12QPaintEngine11paintDeviceEv @ 8197 NONAME + _ZNK12QPaintEngine16coordinateOffsetEv @ 8198 NONAME + _ZNK12QPaintEngine7painterEv @ 8199 NONAME + _ZNK12QPainterPath10intersectsERK6QRectF @ 8200 NONAME + _ZNK12QPainterPath10intersectsERKS_ @ 8201 NONAME + _ZNK12QPainterPath10simplifiedEv @ 8202 NONAME + _ZNK12QPainterPath10subtractedERKS_ @ 8203 NONAME + _ZNK12QPainterPath10toReversedEv @ 8204 NONAME + _ZNK12QPainterPath10translatedEff @ 8205 NONAME + _ZNK12QPainterPath11intersectedERKS_ @ 8206 NONAME + _ZNK12QPainterPath12boundingRectEv @ 8207 NONAME + _ZNK12QPainterPath13toFillPolygonERK10QTransform @ 8208 NONAME + _ZNK12QPainterPath13toFillPolygonERK7QMatrix @ 8209 NONAME + _ZNK12QPainterPath14angleAtPercentEf @ 8210 NONAME + _ZNK12QPainterPath14pointAtPercentEf @ 8211 NONAME + _ZNK12QPainterPath14slopeAtPercentEf @ 8212 NONAME + _ZNK12QPainterPath14toFillPolygonsERK10QTransform @ 8213 NONAME + _ZNK12QPainterPath14toFillPolygonsERK7QMatrix @ 8214 NONAME + _ZNK12QPainterPath15currentPositionEv @ 8215 NONAME + _ZNK12QPainterPath15percentAtLengthEf @ 8216 NONAME + _ZNK12QPainterPath16controlPointRectEv @ 8217 NONAME + _ZNK12QPainterPath17toSubpathPolygonsERK10QTransform @ 8218 NONAME + _ZNK12QPainterPath17toSubpathPolygonsERK7QMatrix @ 8219 NONAME + _ZNK12QPainterPath18subtractedInvertedERKS_ @ 8220 NONAME + _ZNK12QPainterPath19computeBoundingRectEv @ 8221 NONAME + _ZNK12QPainterPath23computeControlPointRectEv @ 8222 NONAME + _ZNK12QPainterPath6lengthEv @ 8223 NONAME + _ZNK12QPainterPath6unitedERKS_ @ 8224 NONAME + _ZNK12QPainterPath8containsERK6QRectF @ 8225 NONAME + _ZNK12QPainterPath8containsERK7QPointF @ 8226 NONAME + _ZNK12QPainterPath8containsERKS_ @ 8227 NONAME + _ZNK12QPainterPath8fillRuleEv @ 8228 NONAME + _ZNK12QPainterPathanERKS_ @ 8229 NONAME + _ZNK12QPainterPatheqERKS_ @ 8230 NONAME + _ZNK12QPainterPathmiERKS_ @ 8231 NONAME + _ZNK12QPainterPathneERKS_ @ 8232 NONAME + _ZNK12QPainterPathorERKS_ @ 8233 NONAME + _ZNK12QPainterPathplERKS_ @ 8234 NONAME + _ZNK12QPixmapCache3KeyeqERKS0_ @ 8235 NONAME + _ZNK12QProgressBar10metaObjectEv @ 8236 NONAME + _ZNK12QProgressBar11orientationEv @ 8237 NONAME + _ZNK12QProgressBar13isTextVisibleEv @ 8238 NONAME + _ZNK12QProgressBar15initStyleOptionEP23QStyleOptionProgressBar @ 8239 NONAME + _ZNK12QProgressBar15minimumSizeHintEv @ 8240 NONAME + _ZNK12QProgressBar4textEv @ 8241 NONAME + _ZNK12QProgressBar5valueEv @ 8242 NONAME + _ZNK12QProgressBar6formatEv @ 8243 NONAME + _ZNK12QProgressBar7maximumEv @ 8244 NONAME + _ZNK12QProgressBar7minimumEv @ 8245 NONAME + _ZNK12QProgressBar8sizeHintEv @ 8246 NONAME + _ZNK12QProgressBar9alignmentEv @ 8247 NONAME + _ZNK12QRadioButton10metaObjectEv @ 8248 NONAME + _ZNK12QRadioButton15initStyleOptionEP18QStyleOptionButton @ 8249 NONAME + _ZNK12QRadioButton8sizeHintEv @ 8250 NONAME + _ZNK12QRadioButton9hitButtonERK6QPoint @ 8251 NONAME + _ZNK12QStylePlugin10metaObjectEv @ 8252 NONAME + _ZNK12QTableWidget10cellWidgetEii @ 8253 NONAME + _ZNK12QTableWidget10currentRowEv @ 8254 NONAME + _ZNK12QTableWidget10metaObjectEv @ 8255 NONAME + _ZNK12QTableWidget11columnCountEv @ 8256 NONAME + _ZNK12QTableWidget11currentItemEv @ 8257 NONAME + _ZNK12QTableWidget12visualColumnEi @ 8258 NONAME + _ZNK12QTableWidget13currentColumnEv @ 8259 NONAME + _ZNK12QTableWidget13indexFromItemEP16QTableWidgetItem @ 8260 NONAME + _ZNK12QTableWidget13itemFromIndexERK11QModelIndex @ 8261 NONAME + _ZNK12QTableWidget13itemPrototypeEv @ 8262 NONAME + _ZNK12QTableWidget14isItemSelectedEPK16QTableWidgetItem @ 8263 NONAME + _ZNK12QTableWidget14selectedRangesEv @ 8264 NONAME + _ZNK12QTableWidget14visualItemRectEPK16QTableWidgetItem @ 8265 NONAME + _ZNK12QTableWidget16isSortingEnabledEv @ 8266 NONAME + _ZNK12QTableWidget18verticalHeaderItemEi @ 8267 NONAME + _ZNK12QTableWidget20horizontalHeaderItemEi @ 8268 NONAME + _ZNK12QTableWidget20supportedDropActionsEv @ 8269 NONAME + _ZNK12QTableWidget3rowEPK16QTableWidgetItem @ 8270 NONAME + _ZNK12QTableWidget4itemEii @ 8271 NONAME + _ZNK12QTableWidget5itemsEPK9QMimeData @ 8272 NONAME + _ZNK12QTableWidget6columnEPK16QTableWidgetItem @ 8273 NONAME + _ZNK12QTableWidget6itemAtERK6QPoint @ 8274 NONAME + _ZNK12QTableWidget8mimeDataE5QListIP16QTableWidgetItemE @ 8275 NONAME + _ZNK12QTableWidget8rowCountEv @ 8276 NONAME + _ZNK12QTableWidget9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEE @ 8277 NONAME + _ZNK12QTableWidget9mimeTypesEv @ 8278 NONAME + _ZNK12QTableWidget9visualRowEi @ 8279 NONAME + _ZNK12QTextBrowser10historyUrlEi @ 8280 NONAME + _ZNK12QTextBrowser10metaObjectEv @ 8281 NONAME + _ZNK12QTextBrowser11searchPathsEv @ 8282 NONAME + _ZNK12QTextBrowser12historyTitleEi @ 8283 NONAME + _ZNK12QTextBrowser17openExternalLinksEv @ 8284 NONAME + _ZNK12QTextBrowser18isForwardAvailableEv @ 8285 NONAME + _ZNK12QTextBrowser19forwardHistoryCountEv @ 8286 NONAME + _ZNK12QTextBrowser19isBackwardAvailableEv @ 8287 NONAME + _ZNK12QTextBrowser20backwardHistoryCountEv @ 8288 NONAME + _ZNK12QTextBrowser6sourceEv @ 8289 NONAME + _ZNK12QTextBrowser9openLinksEv @ 8290 NONAME + _ZNK12QTextControl10cursorRectERK11QTextCursor @ 8291 NONAME + _ZNK12QTextControl10cursorRectEv @ 8292 NONAME + _ZNK12QTextControl10metaObjectEv @ 8293 NONAME + _ZNK12QTextControl10textCursorEv @ 8294 NONAME + _ZNK12QTextControl11cursorWidthEv @ 8295 NONAME + _ZNK12QTextControl13overwriteModeEv @ 8296 NONAME + _ZNK12QTextControl13selectionRectERK11QTextCursor @ 8297 NONAME + _ZNK12QTextControl13selectionRectEv @ 8298 NONAME + _ZNK12QTextControl14acceptRichTextEv @ 8299 NONAME + _ZNK12QTextControl14anchorAtCursorEv @ 8300 NONAME + _ZNK12QTextControl14anchorPositionERK7QString @ 8301 NONAME + _ZNK12QTextControl15extraSelectionsEv @ 8302 NONAME + _ZNK12QTextControl15getPaintContextEP7QWidget @ 8303 NONAME + _ZNK12QTextControl16inputMethodQueryEN2Qt16InputMethodQueryE @ 8304 NONAME + _ZNK12QTextControl17blockBoundingRectERK10QTextBlock @ 8305 NONAME + _ZNK12QTextControl17currentCharFormatEv @ 8306 NONAME + _ZNK12QTextControl17cursorForPositionERK7QPointF @ 8307 NONAME + _ZNK12QTextControl17openExternalLinksEv @ 8308 NONAME + _ZNK12QTextControl20textInteractionFlagsEv @ 8309 NONAME + _ZNK12QTextControl21canInsertFromMimeDataEPK9QMimeData @ 8310 NONAME + _ZNK12QTextControl22cursorIsFocusIndicatorEv @ 8311 NONAME + _ZNK12QTextControl27createMimeDataFromSelectionEv @ 8312 NONAME + _ZNK12QTextControl4sizeEv @ 8313 NONAME + _ZNK12QTextControl7hitTestERK7QPointFN2Qt15HitTestAccuracyE @ 8314 NONAME + _ZNK12QTextControl7paletteEv @ 8315 NONAME + _ZNK12QTextControl8anchorAtERK7QPointF @ 8316 NONAME + _ZNK12QTextControl8canPasteEv @ 8317 NONAME + _ZNK12QTextControl8documentEv @ 8318 NONAME + _ZNK12QTextControl9textWidthEv @ 8319 NONAME + _ZNK12QUndoCommand10childCountEv @ 8320 NONAME + _ZNK12QUndoCommand2idEv @ 8321 NONAME + _ZNK12QUndoCommand4textEv @ 8322 NONAME + _ZNK12QUndoCommand5childEi @ 8323 NONAME + _ZNK13QDateTimeEdit10metaObjectEv @ 8324 NONAME + _ZNK13QDateTimeEdit11maximumDateEv @ 8325 NONAME + _ZNK13QDateTimeEdit11maximumTimeEv @ 8326 NONAME + _ZNK13QDateTimeEdit11minimumDateEv @ 8327 NONAME + _ZNK13QDateTimeEdit11minimumTimeEv @ 8328 NONAME + _ZNK13QDateTimeEdit11sectionTextENS_7SectionE @ 8329 NONAME + _ZNK13QDateTimeEdit11stepEnabledEv @ 8330 NONAME + _ZNK13QDateTimeEdit12sectionCountEv @ 8331 NONAME + _ZNK13QDateTimeEdit13calendarPopupEv @ 8332 NONAME + _ZNK13QDateTimeEdit13displayFormatEv @ 8333 NONAME + _ZNK13QDateTimeEdit14calendarWidgetEv @ 8334 NONAME + _ZNK13QDateTimeEdit14currentSectionEv @ 8335 NONAME + _ZNK13QDateTimeEdit15initStyleOptionEP19QStyleOptionSpinBox @ 8336 NONAME + _ZNK13QDateTimeEdit15maximumDateTimeEv @ 8337 NONAME + _ZNK13QDateTimeEdit15minimumDateTimeEv @ 8338 NONAME + _ZNK13QDateTimeEdit16dateTimeFromTextERK7QString @ 8339 NONAME + _ZNK13QDateTimeEdit16textFromDateTimeERK9QDateTime @ 8340 NONAME + _ZNK13QDateTimeEdit17displayedSectionsEv @ 8341 NONAME + _ZNK13QDateTimeEdit19currentSectionIndexEv @ 8342 NONAME + _ZNK13QDateTimeEdit4dateEv @ 8343 NONAME + _ZNK13QDateTimeEdit4timeEv @ 8344 NONAME + _ZNK13QDateTimeEdit5fixupER7QString @ 8345 NONAME + _ZNK13QDateTimeEdit8dateTimeEv @ 8346 NONAME + _ZNK13QDateTimeEdit8sizeHintEv @ 8347 NONAME + _ZNK13QDateTimeEdit8timeSpecEv @ 8348 NONAME + _ZNK13QDateTimeEdit8validateER7QStringRi @ 8349 NONAME + _ZNK13QDateTimeEdit9sectionAtEi @ 8350 NONAME + _ZNK13QErrorMessage10metaObjectEv @ 8351 NONAME + _ZNK13QFontComboBox10metaObjectEv @ 8352 NONAME + _ZNK13QFontComboBox11currentFontEv @ 8353 NONAME + _ZNK13QFontComboBox11fontFiltersEv @ 8354 NONAME + _ZNK13QFontComboBox13writingSystemEv @ 8355 NONAME + _ZNK13QFontComboBox8sizeHintEv @ 8356 NONAME + _ZNK13QFontDatabase10isScalableERK7QStringS2_ @ 8357 NONAME + _ZNK13QFontDatabase12isFixedPitchERK7QStringS2_ @ 8358 NONAME + _ZNK13QFontDatabase14writingSystemsERK7QString @ 8359 NONAME + _ZNK13QFontDatabase14writingSystemsEv @ 8360 NONAME + _ZNK13QFontDatabase16isBitmapScalableERK7QStringS2_ @ 8361 NONAME + _ZNK13QFontDatabase18isSmoothlyScalableERK7QStringS2_ @ 8362 NONAME + _ZNK13QFontDatabase4boldERK7QStringS2_ @ 8363 NONAME + _ZNK13QFontDatabase4fontERK7QStringS2_i @ 8364 NONAME + _ZNK13QFontDatabase6italicERK7QStringS2_ @ 8365 NONAME + _ZNK13QFontDatabase6stylesERK7QString @ 8366 NONAME + _ZNK13QFontDatabase6weightERK7QStringS2_ @ 8367 NONAME + _ZNK13QFontDatabase8familiesENS_13WritingSystemE @ 8368 NONAME + _ZNK13QFontMetricsF10elidedTextERK7QStringN2Qt13TextElideModeEfi @ 8369 NONAME + _ZNK13QFontMetricsF11leftBearingE5QChar @ 8370 NONAME + _ZNK13QFontMetricsF11lineSpacingEv @ 8371 NONAME + _ZNK13QFontMetricsF11overlinePosEv @ 8372 NONAME + _ZNK13QFontMetricsF12boundingRectE5QChar @ 8373 NONAME + _ZNK13QFontMetricsF12boundingRectERK6QRectFiRK7QStringiPi @ 8374 NONAME + _ZNK13QFontMetricsF12boundingRectERK7QString @ 8375 NONAME + _ZNK13QFontMetricsF12rightBearingE5QChar @ 8376 NONAME + _ZNK13QFontMetricsF12strikeOutPosEv @ 8377 NONAME + _ZNK13QFontMetricsF12underlinePosEv @ 8378 NONAME + _ZNK13QFontMetricsF14minLeftBearingEv @ 8379 NONAME + _ZNK13QFontMetricsF15minRightBearingEv @ 8380 NONAME + _ZNK13QFontMetricsF16averageCharWidthEv @ 8381 NONAME + _ZNK13QFontMetricsF17tightBoundingRectERK7QString @ 8382 NONAME + _ZNK13QFontMetricsF4sizeEiRK7QStringiPi @ 8383 NONAME + _ZNK13QFontMetricsF5widthE5QChar @ 8384 NONAME + _ZNK13QFontMetricsF5widthERK7QString @ 8385 NONAME + _ZNK13QFontMetricsF6ascentEv @ 8386 NONAME + _ZNK13QFontMetricsF6heightEv @ 8387 NONAME + _ZNK13QFontMetricsF6inFontE5QChar @ 8388 NONAME + _ZNK13QFontMetricsF7descentEv @ 8389 NONAME + _ZNK13QFontMetricsF7leadingEv @ 8390 NONAME + _ZNK13QFontMetricsF7xHeightEv @ 8391 NONAME + _ZNK13QFontMetricsF8maxWidthEv @ 8392 NONAME + _ZNK13QFontMetricsF9lineWidthEv @ 8393 NONAME + _ZNK13QFontMetricsFeqERKS_ @ 8394 NONAME + _ZNK13QGestureEvent10isAcceptedEP8QGesture @ 8395 NONAME + _ZNK13QGestureEvent11allGesturesEv @ 8396 NONAME + _ZNK13QGestureEvent14activeGesturesEv @ 8397 NONAME + _ZNK13QGestureEvent16canceledGesturesEv @ 8398 NONAME + _ZNK13QGraphicsItem10childItemsEv @ 8399 NONAME + _ZNK13QGraphicsItem10focusProxyEv @ 8400 NONAME + _ZNK13QGraphicsItem10isObscuredERK6QRectF @ 8401 NONAME + _ZNK13QGraphicsItem10isObscuredEv @ 8402 NONAME + _ZNK13QGraphicsItem10isSelectedEv @ 8403 NONAME + _ZNK13QGraphicsItem10mapToSceneERK12QPainterPath @ 8404 NONAME + _ZNK13QGraphicsItem10mapToSceneERK6QRectF @ 8405 NONAME + _ZNK13QGraphicsItem10mapToSceneERK7QPointF @ 8406 NONAME + _ZNK13QGraphicsItem10mapToSceneERK9QPolygonF @ 8407 NONAME + _ZNK13QGraphicsItem10opaqueAreaEv @ 8408 NONAME + _ZNK13QGraphicsItem10parentItemEv @ 8409 NONAME + _ZNK13QGraphicsItem11acceptDropsEv @ 8410 NONAME + _ZNK13QGraphicsItem11isVisibleToEPKS_ @ 8411 NONAME + _ZNK13QGraphicsItem11mapFromItemEPKS_RK12QPainterPath @ 8412 NONAME + _ZNK13QGraphicsItem11mapFromItemEPKS_RK6QRectF @ 8413 NONAME + _ZNK13QGraphicsItem11mapFromItemEPKS_RK7QPointF @ 8414 NONAME + _ZNK13QGraphicsItem11mapFromItemEPKS_RK9QPolygonF @ 8415 NONAME + _ZNK13QGraphicsItem11mapToParentERK12QPainterPath @ 8416 NONAME + _ZNK13QGraphicsItem11mapToParentERK6QRectF @ 8417 NONAME + _ZNK13QGraphicsItem11mapToParentERK7QPointF @ 8418 NONAME + _ZNK13QGraphicsItem11mapToParentERK9QPolygonF @ 8419 NONAME + _ZNK13QGraphicsItem11sceneMatrixEv @ 8420 NONAME + _ZNK13QGraphicsItem12isAncestorOfEPKS_ @ 8421 NONAME + _ZNK13QGraphicsItem12isObscuredByEPKS_ @ 8422 NONAME + _ZNK13QGraphicsItem12isUnderMouseEv @ 8423 NONAME + _ZNK13QGraphicsItem12mapFromSceneERK12QPainterPath @ 8424 NONAME + _ZNK13QGraphicsItem12mapFromSceneERK6QRectF @ 8425 NONAME + _ZNK13QGraphicsItem12mapFromSceneERK7QPointF @ 8426 NONAME + _ZNK13QGraphicsItem12mapFromSceneERK9QPolygonF @ 8427 NONAME + _ZNK13QGraphicsItem12parentObjectEv @ 8428 NONAME + _ZNK13QGraphicsItem12parentWidgetEv @ 8429 NONAME + _ZNK13QGraphicsItem12topLevelItemEv @ 8430 NONAME + _ZNK13QGraphicsItem13itemTransformEPKS_Pb @ 8431 NONAME + _ZNK13QGraphicsItem13mapFromParentERK12QPainterPath @ 8432 NONAME + _ZNK13QGraphicsItem13mapFromParentERK6QRectF @ 8433 NONAME + _ZNK13QGraphicsItem13mapFromParentERK7QPointF @ 8434 NONAME + _ZNK13QGraphicsItem13mapFromParentERK9QPolygonF @ 8435 NONAME + _ZNK13QGraphicsItem13mapRectToItemEPKS_RK6QRectF @ 8436 NONAME + _ZNK13QGraphicsItem13panelModalityEv @ 8437 NONAME + _ZNK13QGraphicsItem14boundingRegionERK10QTransform @ 8438 NONAME + _ZNK13QGraphicsItem14collidingItemsEN2Qt17ItemSelectionModeE @ 8439 NONAME + _ZNK13QGraphicsItem14focusScopeItemEv @ 8440 NONAME + _ZNK13QGraphicsItem14graphicsEffectEv @ 8441 NONAME + _ZNK13QGraphicsItem14mapRectToSceneERK6QRectF @ 8442 NONAME + _ZNK13QGraphicsItem14sceneTransformEv @ 8443 NONAME + _ZNK13QGraphicsItem14topLevelWidgetEv @ 8444 NONAME + _ZNK13QGraphicsItem15deviceTransformERK10QTransform @ 8445 NONAME + _ZNK13QGraphicsItem15mapRectFromItemEPKS_RK6QRectF @ 8446 NONAME + _ZNK13QGraphicsItem15mapRectToParentERK6QRectF @ 8447 NONAME + _ZNK13QGraphicsItem15transformationsEv @ 8448 NONAME + _ZNK13QGraphicsItem16collidesWithItemEPKS_N2Qt17ItemSelectionModeE @ 8449 NONAME + _ZNK13QGraphicsItem16collidesWithPathERK12QPainterPathN2Qt17ItemSelectionModeE @ 8450 NONAME + _ZNK13QGraphicsItem16effectiveOpacityEv @ 8451 NONAME + _ZNK13QGraphicsItem16inputMethodHintsEv @ 8452 NONAME + _ZNK13QGraphicsItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 8453 NONAME + _ZNK13QGraphicsItem16mapRectFromSceneERK6QRectF @ 8454 NONAME + _ZNK13QGraphicsItem16toGraphicsObjectEv @ 8455 NONAME + _ZNK13QGraphicsItem17acceptHoverEventsEv @ 8456 NONAME + _ZNK13QGraphicsItem17acceptTouchEventsEv @ 8457 NONAME + _ZNK13QGraphicsItem17mapRectFromParentERK6QRectF @ 8458 NONAME + _ZNK13QGraphicsItem17sceneBoundingRectEv @ 8459 NONAME + _ZNK13QGraphicsItem17supportsExtensionENS_9ExtensionE @ 8460 NONAME + _ZNK13QGraphicsItem18acceptsHoverEventsEv @ 8461 NONAME + _ZNK13QGraphicsItem18commonAncestorItemEPKS_ @ 8462 NONAME + _ZNK13QGraphicsItem18filtersChildEventsEv @ 8463 NONAME + _ZNK13QGraphicsItem18handlesChildEventsEv @ 8464 NONAME + _ZNK13QGraphicsItem20acceptedMouseButtonsEv @ 8465 NONAME + _ZNK13QGraphicsItem20childrenBoundingRectEv @ 8466 NONAME + _ZNK13QGraphicsItem20transformOriginPointEv @ 8467 NONAME + _ZNK13QGraphicsItem21isBlockedByModalPanelEPPS_ @ 8468 NONAME + _ZNK13QGraphicsItem25boundingRegionGranularityEv @ 8469 NONAME + _ZNK13QGraphicsItem3posEv @ 8470 NONAME + _ZNK13QGraphicsItem4dataEi @ 8471 NONAME + _ZNK13QGraphicsItem4typeEv @ 8472 NONAME + _ZNK13QGraphicsItem5flagsEv @ 8473 NONAME + _ZNK13QGraphicsItem5groupEv @ 8474 NONAME + _ZNK13QGraphicsItem5panelEv @ 8475 NONAME + _ZNK13QGraphicsItem5scaleEv @ 8476 NONAME + _ZNK13QGraphicsItem5sceneEv @ 8477 NONAME + _ZNK13QGraphicsItem5shapeEv @ 8478 NONAME + _ZNK13QGraphicsItem6cursorEv @ 8479 NONAME + _ZNK13QGraphicsItem6matrixEv @ 8480 NONAME + _ZNK13QGraphicsItem6windowEv @ 8481 NONAME + _ZNK13QGraphicsItem6zValueEv @ 8482 NONAME + _ZNK13QGraphicsItem7isPanelEv @ 8483 NONAME + _ZNK13QGraphicsItem7opacityEv @ 8484 NONAME + _ZNK13QGraphicsItem7toolTipEv @ 8485 NONAME + _ZNK13QGraphicsItem8childrenEv @ 8486 NONAME + _ZNK13QGraphicsItem8clipPathEv @ 8487 NONAME + _ZNK13QGraphicsItem8containsERK7QPointF @ 8488 NONAME + _ZNK13QGraphicsItem8hasFocusEv @ 8489 NONAME + _ZNK13QGraphicsItem8isActiveEv @ 8490 NONAME + _ZNK13QGraphicsItem8isWidgetEv @ 8491 NONAME + _ZNK13QGraphicsItem8isWindowEv @ 8492 NONAME + _ZNK13QGraphicsItem8rotationEv @ 8493 NONAME + _ZNK13QGraphicsItem8scenePosEv @ 8494 NONAME + _ZNK13QGraphicsItem9cacheModeEv @ 8495 NONAME + _ZNK13QGraphicsItem9extensionERK8QVariant @ 8496 NONAME + _ZNK13QGraphicsItem9focusItemEv @ 8497 NONAME + _ZNK13QGraphicsItem9hasCursorEv @ 8498 NONAME + _ZNK13QGraphicsItem9isClippedEv @ 8499 NONAME + _ZNK13QGraphicsItem9isEnabledEv @ 8500 NONAME + _ZNK13QGraphicsItem9isVisibleEv @ 8501 NONAME + _ZNK13QGraphicsItem9mapToItemEPKS_RK12QPainterPath @ 8502 NONAME + _ZNK13QGraphicsItem9mapToItemEPKS_RK6QRectF @ 8503 NONAME + _ZNK13QGraphicsItem9mapToItemEPKS_RK7QPointF @ 8504 NONAME + _ZNK13QGraphicsItem9mapToItemEPKS_RK9QPolygonF @ 8505 NONAME + _ZNK13QGraphicsItem9transformEv @ 8506 NONAME + _ZNK13QGraphicsView10mapToSceneERK12QPainterPath @ 8507 NONAME + _ZNK13QGraphicsView10mapToSceneERK5QRect @ 8508 NONAME + _ZNK13QGraphicsView10mapToSceneERK6QPoint @ 8509 NONAME + _ZNK13QGraphicsView10mapToSceneERK8QPolygon @ 8510 NONAME + _ZNK13QGraphicsView10metaObjectEv @ 8511 NONAME + _ZNK13QGraphicsView11renderHintsEv @ 8512 NONAME + _ZNK13QGraphicsView12mapFromSceneERK12QPainterPath @ 8513 NONAME + _ZNK13QGraphicsView12mapFromSceneERK6QRectF @ 8514 NONAME + _ZNK13QGraphicsView12mapFromSceneERK7QPointF @ 8515 NONAME + _ZNK13QGraphicsView12mapFromSceneERK9QPolygonF @ 8516 NONAME + _ZNK13QGraphicsView12resizeAnchorEv @ 8517 NONAME + _ZNK13QGraphicsView13isInteractiveEv @ 8518 NONAME + _ZNK13QGraphicsView13isTransformedEv @ 8519 NONAME + _ZNK13QGraphicsView15backgroundBrushEv @ 8520 NONAME + _ZNK13QGraphicsView15foregroundBrushEv @ 8521 NONAME + _ZNK13QGraphicsView16inputMethodQueryEN2Qt16InputMethodQueryE @ 8522 NONAME + _ZNK13QGraphicsView17optimizationFlagsEv @ 8523 NONAME + _ZNK13QGraphicsView17viewportTransformEv @ 8524 NONAME + _ZNK13QGraphicsView18viewportUpdateModeEv @ 8525 NONAME + _ZNK13QGraphicsView20transformationAnchorEv @ 8526 NONAME + _ZNK13QGraphicsView23rubberBandSelectionModeEv @ 8527 NONAME + _ZNK13QGraphicsView5itemsERK12QPainterPathN2Qt17ItemSelectionModeE @ 8528 NONAME + _ZNK13QGraphicsView5itemsERK5QRectN2Qt17ItemSelectionModeE @ 8529 NONAME + _ZNK13QGraphicsView5itemsERK6QPoint @ 8530 NONAME + _ZNK13QGraphicsView5itemsERK8QPolygonN2Qt17ItemSelectionModeE @ 8531 NONAME + _ZNK13QGraphicsView5itemsEv @ 8532 NONAME + _ZNK13QGraphicsView5sceneEv @ 8533 NONAME + _ZNK13QGraphicsView6itemAtERK6QPoint @ 8534 NONAME + _ZNK13QGraphicsView6matrixEv @ 8535 NONAME + _ZNK13QGraphicsView8dragModeEv @ 8536 NONAME + _ZNK13QGraphicsView8sizeHintEv @ 8537 NONAME + _ZNK13QGraphicsView9alignmentEv @ 8538 NONAME + _ZNK13QGraphicsView9cacheModeEv @ 8539 NONAME + _ZNK13QGraphicsView9sceneRectEv @ 8540 NONAME + _ZNK13QGraphicsView9transformEv @ 8541 NONAME + _ZNK13QIconEngineV23keyEv @ 8542 NONAME + _ZNK13QIconEngineV25cloneEv @ 8543 NONAME + _ZNK13QIconEngineV25writeER11QDataStream @ 8544 NONAME + _ZNK13QInputContext10metaObjectEv @ 8545 NONAME + _ZNK13QInputContext11focusWidgetEv @ 8546 NONAME + _ZNK13QInputContext14standardFormatENS_14StandardFormatE @ 8547 NONAME + _ZNK13QInputContext4fontEv @ 8548 NONAME + _ZNK13QIntValidator10metaObjectEv @ 8549 NONAME + _ZNK13QIntValidator8validateER7QStringRi @ 8550 NONAME + _ZNK13QItemDelegate10decorationERK20QStyleOptionViewItemRK8QVariant @ 8551 NONAME + _ZNK13QItemDelegate10metaObjectEv @ 8552 NONAME + _ZNK13QItemDelegate10setOptionsERK11QModelIndexRK20QStyleOptionViewItem @ 8553 NONAME + _ZNK13QItemDelegate11drawDisplayEP8QPainterRK20QStyleOptionViewItemRK5QRectRK7QString @ 8554 NONAME + _ZNK13QItemDelegate11hasClippingEv @ 8555 NONAME + _ZNK13QItemDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 8556 NONAME + _ZNK13QItemDelegate12setModelDataEP7QWidgetP18QAbstractItemModelRK11QModelIndex @ 8557 NONAME + _ZNK13QItemDelegate13setEditorDataEP7QWidgetRK11QModelIndex @ 8558 NONAME + _ZNK13QItemDelegate13textRectangleEP8QPainterRK5QRectRK5QFontRK7QString @ 8559 NONAME + _ZNK13QItemDelegate14drawBackgroundEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex @ 8560 NONAME + _ZNK13QItemDelegate14drawDecorationEP8QPainterRK20QStyleOptionViewItemRK5QRectRK7QPixmap @ 8561 NONAME + _ZNK13QItemDelegate17itemEditorFactoryEv @ 8562 NONAME + _ZNK13QItemDelegate20updateEditorGeometryEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 8563 NONAME + _ZNK13QItemDelegate4rectERK20QStyleOptionViewItemRK11QModelIndexi @ 8564 NONAME + _ZNK13QItemDelegate5checkERK20QStyleOptionViewItemRK5QRectRK8QVariant @ 8565 NONAME + _ZNK13QItemDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex @ 8566 NONAME + _ZNK13QItemDelegate8doLayoutERK20QStyleOptionViewItemP5QRectS4_S4_b @ 8567 NONAME + _ZNK13QItemDelegate8selectedERK7QPixmapRK8QPaletteb @ 8568 NONAME + _ZNK13QItemDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex @ 8569 NONAME + _ZNK13QItemDelegate9drawCheckEP8QPainterRK20QStyleOptionViewItemRK5QRectN2Qt10CheckStateE @ 8570 NONAME + _ZNK13QItemDelegate9drawFocusEP8QPainterRK20QStyleOptionViewItemRK5QRect @ 8571 NONAME + _ZNK13QMdiSubWindow10metaObjectEv @ 8572 NONAME + _ZNK13QMdiSubWindow10systemMenuEv @ 8573 NONAME + _ZNK13QMdiSubWindow10testOptionENS_15SubWindowOptionE @ 8574 NONAME + _ZNK13QMdiSubWindow15minimumSizeHintEv @ 8575 NONAME + _ZNK13QMdiSubWindow16keyboardPageStepEv @ 8576 NONAME + _ZNK13QMdiSubWindow18keyboardSingleStepEv @ 8577 NONAME + _ZNK13QMdiSubWindow22maximizedButtonsWidgetEv @ 8578 NONAME + _ZNK13QMdiSubWindow29maximizedSystemMenuIconWidgetEv @ 8579 NONAME + _ZNK13QMdiSubWindow6widgetEv @ 8580 NONAME + _ZNK13QMdiSubWindow7mdiAreaEv @ 8581 NONAME + _ZNK13QMdiSubWindow8isShadedEv @ 8582 NONAME + _ZNK13QMdiSubWindow8sizeHintEv @ 8583 NONAME + _ZNK13QPinchGesture10metaObjectEv @ 8584 NONAME + _ZNK13QPinchGesture11centerPointEv @ 8585 NONAME + _ZNK13QPinchGesture11scaleFactorEv @ 8586 NONAME + _ZNK13QPinchGesture11whatChangedEv @ 8587 NONAME + _ZNK13QPinchGesture13rotationAngleEv @ 8588 NONAME + _ZNK13QPinchGesture15lastCenterPointEv @ 8589 NONAME + _ZNK13QPinchGesture15lastScaleFactorEv @ 8590 NONAME + _ZNK13QPinchGesture16startCenterPointEv @ 8591 NONAME + _ZNK13QPinchGesture16totalScaleFactorEv @ 8592 NONAME + _ZNK13QPinchGesture17lastRotationAngleEv @ 8593 NONAME + _ZNK13QPinchGesture18totalRotationAngleEv @ 8594 NONAME + _ZNK13QPixmapFilter10metaObjectEv @ 8595 NONAME + _ZNK13QPixmapFilter15boundingRectForERK6QRectF @ 8596 NONAME + _ZNK13QPixmapFilter4typeEv @ 8597 NONAME + _ZNK13QSplashScreen10metaObjectEv @ 8598 NONAME + _ZNK13QSplashScreen6pixmapEv @ 8599 NONAME + _ZNK13QStandardItem11columnCountEv @ 8600 NONAME + _ZNK13QStandardItem11hasChildrenEv @ 8601 NONAME + _ZNK13QStandardItem3rowEv @ 8602 NONAME + _ZNK13QStandardItem4dataEi @ 8603 NONAME + _ZNK13QStandardItem4typeEv @ 8604 NONAME + _ZNK13QStandardItem5childEii @ 8605 NONAME + _ZNK13QStandardItem5cloneEv @ 8606 NONAME + _ZNK13QStandardItem5flagsEv @ 8607 NONAME + _ZNK13QStandardItem5indexEv @ 8608 NONAME + _ZNK13QStandardItem5modelEv @ 8609 NONAME + _ZNK13QStandardItem5writeER11QDataStream @ 8610 NONAME + _ZNK13QStandardItem6columnEv @ 8611 NONAME + _ZNK13QStandardItem6parentEv @ 8612 NONAME + _ZNK13QStandardItem8rowCountEv @ 8613 NONAME + _ZNK13QStandardItemltERKS_ @ 8614 NONAME + _ZNK13QSwipeGesture10metaObjectEv @ 8615 NONAME + _ZNK13QSwipeGesture10swipeAngleEv @ 8616 NONAME + _ZNK13QSwipeGesture17verticalDirectionEv @ 8617 NONAME + _ZNK13QSwipeGesture19horizontalDirectionEv @ 8618 NONAME + _ZNK13QTextDocument10allFormatsEv @ 8619 NONAME + _ZNK13QTextDocument10blockCountEv @ 8620 NONAME + _ZNK13QTextDocument10firstBlockEv @ 8621 NONAME + _ZNK13QTextDocument10idealWidthEv @ 8622 NONAME + _ZNK13QTextDocument10isModifiedEv @ 8623 NONAME + _ZNK13QTextDocument10metaObjectEv @ 8624 NONAME + _ZNK13QTextDocument11characterAtEi @ 8625 NONAME + _ZNK13QTextDocument11defaultFontEv @ 8626 NONAME + _ZNK13QTextDocument11indentWidthEv @ 8627 NONAME + _ZNK13QTextDocument11toPlainTextEv @ 8628 NONAME + _ZNK13QTextDocument14characterCountEv @ 8629 NONAME + _ZNK13QTextDocument14documentLayoutEv @ 8630 NONAME + _ZNK13QTextDocument14documentMarginEv @ 8631 NONAME + _ZNK13QTextDocument15isRedoAvailableEv @ 8632 NONAME + _ZNK13QTextDocument15isUndoAvailableEv @ 8633 NONAME + _ZNK13QTextDocument15metaInformationENS_15MetaInformationE @ 8634 NONAME + _ZNK13QTextDocument15objectForFormatERK11QTextFormat @ 8635 NONAME + _ZNK13QTextDocument16useDesignMetricsEv @ 8636 NONAME + _ZNK13QTextDocument17defaultStyleSheetEv @ 8637 NONAME + _ZNK13QTextDocument17defaultTextOptionEv @ 8638 NONAME + _ZNK13QTextDocument17findBlockByNumberEi @ 8639 NONAME + _ZNK13QTextDocument17isUndoRedoEnabledEv @ 8640 NONAME + _ZNK13QTextDocument17maximumBlockCountEv @ 8641 NONAME + _ZNK13QTextDocument21findBlockByLineNumberEi @ 8642 NONAME + _ZNK13QTextDocument3endEv @ 8643 NONAME + _ZNK13QTextDocument4findERK7QRegExpRK11QTextCursor6QFlagsINS_8FindFlagEE @ 8644 NONAME + _ZNK13QTextDocument4findERK7QRegExpi6QFlagsINS_8FindFlagEE @ 8645 NONAME + _ZNK13QTextDocument4findERK7QStringRK11QTextCursor6QFlagsINS_8FindFlagEE @ 8646 NONAME + _ZNK13QTextDocument4findERK7QStringi6QFlagsINS_8FindFlagEE @ 8647 NONAME + _ZNK13QTextDocument4sizeEv @ 8648 NONAME + _ZNK13QTextDocument5beginEv @ 8649 NONAME + _ZNK13QTextDocument5cloneEP7QObject @ 8650 NONAME + _ZNK13QTextDocument6objectEi @ 8651 NONAME + _ZNK13QTextDocument6toHtmlERK10QByteArray @ 8652 NONAME + _ZNK13QTextDocument7frameAtEi @ 8653 NONAME + _ZNK13QTextDocument7isEmptyEv @ 8654 NONAME + _ZNK13QTextDocument8pageSizeEv @ 8655 NONAME + _ZNK13QTextDocument8resourceEiRK4QUrl @ 8656 NONAME + _ZNK13QTextDocument8revisionEv @ 8657 NONAME + _ZNK13QTextDocument9docHandleEv @ 8658 NONAME + _ZNK13QTextDocument9findBlockEi @ 8659 NONAME + _ZNK13QTextDocument9lastBlockEv @ 8660 NONAME + _ZNK13QTextDocument9lineCountEv @ 8661 NONAME + _ZNK13QTextDocument9pageCountEv @ 8662 NONAME + _ZNK13QTextDocument9rootFrameEv @ 8663 NONAME + _ZNK13QTextDocument9textWidthEv @ 8664 NONAME + _ZNK13QTextFragment10charFormatEv @ 8665 NONAME + _ZNK13QTextFragment15charFormatIndexEv @ 8666 NONAME + _ZNK13QTextFragment4textEv @ 8667 NONAME + _ZNK13QTextFragment6lengthEv @ 8668 NONAME + _ZNK13QTextFragment8containsEi @ 8669 NONAME + _ZNK13QTextFragment8positionEv @ 8670 NONAME + _ZNK13QWidgetAction10metaObjectEv @ 8671 NONAME + _ZNK13QWidgetAction13defaultWidgetEv @ 8672 NONAME + _ZNK13QWidgetAction14createdWidgetsEv @ 8673 NONAME + _ZNK13QWidgetItemV211maximumSizeEv @ 8674 NONAME + _ZNK13QWidgetItemV211minimumSizeEv @ 8675 NONAME + _ZNK13QWidgetItemV214heightForWidthEi @ 8676 NONAME + _ZNK13QWidgetItemV222updateCacheIfNecessaryEv @ 8677 NONAME + _ZNK13QWidgetItemV28sizeHintEv @ 8678 NONAME + _ZNK13QWindowsStyle10metaObjectEv @ 8679 NONAME + _ZNK13QWindowsStyle11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 8680 NONAME + _ZNK13QWindowsStyle11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 8681 NONAME + _ZNK13QWindowsStyle13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 8682 NONAME + _ZNK13QWindowsStyle14standardPixmapEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 8683 NONAME + _ZNK13QWindowsStyle14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 8684 NONAME + _ZNK13QWindowsStyle16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 8685 NONAME + _ZNK13QWindowsStyle18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 8686 NONAME + _ZNK13QWindowsStyle26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 8687 NONAME + _ZNK13QWindowsStyle9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 8688 NONAME + _ZNK14QDesktopWidget10metaObjectEv @ 8689 NONAME + _ZNK14QDesktopWidget10numScreensEv @ 8690 NONAME + _ZNK14QDesktopWidget12screenNumberEPK7QWidget @ 8691 NONAME + _ZNK14QDesktopWidget12screenNumberERK6QPoint @ 8692 NONAME + _ZNK14QDesktopWidget13primaryScreenEv @ 8693 NONAME + _ZNK14QDesktopWidget14screenGeometryEi @ 8694 NONAME + _ZNK14QDesktopWidget16isVirtualDesktopEv @ 8695 NONAME + _ZNK14QDesktopWidget17availableGeometryEi @ 8696 NONAME + _ZNK14QDoubleSpinBox10metaObjectEv @ 8697 NONAME + _ZNK14QDoubleSpinBox10singleStepEv @ 8698 NONAME + _ZNK14QDoubleSpinBox13textFromValueEd @ 8699 NONAME + _ZNK14QDoubleSpinBox13valueFromTextERK7QString @ 8700 NONAME + _ZNK14QDoubleSpinBox5fixupER7QString @ 8701 NONAME + _ZNK14QDoubleSpinBox5valueEv @ 8702 NONAME + _ZNK14QDoubleSpinBox6prefixEv @ 8703 NONAME + _ZNK14QDoubleSpinBox6suffixEv @ 8704 NONAME + _ZNK14QDoubleSpinBox7maximumEv @ 8705 NONAME + _ZNK14QDoubleSpinBox7minimumEv @ 8706 NONAME + _ZNK14QDoubleSpinBox8decimalsEv @ 8707 NONAME + _ZNK14QDoubleSpinBox8validateER7QStringRi @ 8708 NONAME + _ZNK14QDoubleSpinBox9cleanTextEv @ 8709 NONAME + _ZNK14QGraphicsScale10metaObjectEv @ 8710 NONAME + _ZNK14QGraphicsScale6originEv @ 8711 NONAME + _ZNK14QGraphicsScale6xScaleEv @ 8712 NONAME + _ZNK14QGraphicsScale6yScaleEv @ 8713 NONAME + _ZNK14QGraphicsScale6zScaleEv @ 8714 NONAME + _ZNK14QGraphicsScale7applyToEP10QMatrix4x4 @ 8715 NONAME + _ZNK14QGraphicsScene10metaObjectEv @ 8716 NONAME + _ZNK14QGraphicsScene11activePanelEv @ 8717 NONAME + _ZNK14QGraphicsScene11stickyFocusEv @ 8718 NONAME + _ZNK14QGraphicsScene12activeWindowEv @ 8719 NONAME + _ZNK14QGraphicsScene12bspTreeDepthEv @ 8720 NONAME + _ZNK14QGraphicsScene13selectedItemsEv @ 8721 NONAME + _ZNK14QGraphicsScene13selectionAreaEv @ 8722 NONAME + _ZNK14QGraphicsScene14collidingItemsEPK13QGraphicsItemN2Qt17ItemSelectionModeE @ 8723 NONAME + _ZNK14QGraphicsScene15backgroundBrushEv @ 8724 NONAME + _ZNK14QGraphicsScene15foregroundBrushEv @ 8725 NONAME + _ZNK14QGraphicsScene15itemIndexMethodEv @ 8726 NONAME + _ZNK14QGraphicsScene16inputMethodQueryEN2Qt16InputMethodQueryE @ 8727 NONAME + _ZNK14QGraphicsScene16mouseGrabberItemEv @ 8728 NONAME + _ZNK14QGraphicsScene17itemsBoundingRectEv @ 8729 NONAME + _ZNK14QGraphicsScene18isSortCacheEnabledEv @ 8730 NONAME + _ZNK14QGraphicsScene4fontEv @ 8731 NONAME + _ZNK14QGraphicsScene5itemsEN2Qt9SortOrderE @ 8732 NONAME + _ZNK14QGraphicsScene5itemsERK12QPainterPathN2Qt17ItemSelectionModeE @ 8733 NONAME + _ZNK14QGraphicsScene5itemsERK12QPainterPathN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 8734 NONAME + _ZNK14QGraphicsScene5itemsERK6QRectFN2Qt17ItemSelectionModeE @ 8735 NONAME + _ZNK14QGraphicsScene5itemsERK6QRectFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 8736 NONAME + _ZNK14QGraphicsScene5itemsERK7QPointF @ 8737 NONAME + _ZNK14QGraphicsScene5itemsERK7QPointFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 8738 NONAME + _ZNK14QGraphicsScene5itemsERK9QPolygonFN2Qt17ItemSelectionModeE @ 8739 NONAME + _ZNK14QGraphicsScene5itemsERK9QPolygonFN2Qt17ItemSelectionModeENS3_9SortOrderERK10QTransform @ 8740 NONAME + _ZNK14QGraphicsScene5itemsEv @ 8741 NONAME + _ZNK14QGraphicsScene5styleEv @ 8742 NONAME + _ZNK14QGraphicsScene5viewsEv @ 8743 NONAME + _ZNK14QGraphicsScene6itemAtERK7QPointF @ 8744 NONAME + _ZNK14QGraphicsScene6itemAtERK7QPointFRK10QTransform @ 8745 NONAME + _ZNK14QGraphicsScene7paletteEv @ 8746 NONAME + _ZNK14QGraphicsScene8hasFocusEv @ 8747 NONAME + _ZNK14QGraphicsScene8isActiveEv @ 8748 NONAME + _ZNK14QGraphicsScene9focusItemEv @ 8749 NONAME + _ZNK14QGraphicsScene9sceneRectEv @ 8750 NONAME + _ZNK14QImageIOPlugin10metaObjectEv @ 8751 NONAME + _ZNK14QItemSelection7indexesEv @ 8752 NONAME + _ZNK14QItemSelection8containsERK11QModelIndex @ 8753 NONAME + _ZNK14QLayoutPrivate9getMarginEPiiN6QStyle11PixelMetricE @ 8754 NONAME + _ZNK14QPaintEngineEx11createStateEP13QPainterState @ 8755 NONAME + _ZNK14QPlainTextEdit10blockCountEv @ 8756 NONAME + _ZNK14QPlainTextEdit10cursorRectERK11QTextCursor @ 8757 NONAME + _ZNK14QPlainTextEdit10cursorRectEv @ 8758 NONAME + _ZNK14QPlainTextEdit10isReadOnlyEv @ 8759 NONAME + _ZNK14QPlainTextEdit10metaObjectEv @ 8760 NONAME + _ZNK14QPlainTextEdit10textCursorEv @ 8761 NONAME + _ZNK14QPlainTextEdit11cursorWidthEv @ 8762 NONAME + _ZNK14QPlainTextEdit12lineWrapModeEv @ 8763 NONAME + _ZNK14QPlainTextEdit12tabStopWidthEv @ 8764 NONAME + _ZNK14QPlainTextEdit12wordWrapModeEv @ 8765 NONAME + _ZNK14QPlainTextEdit13contentOffsetEv @ 8766 NONAME + _ZNK14QPlainTextEdit13overwriteModeEv @ 8767 NONAME + _ZNK14QPlainTextEdit14centerOnScrollEv @ 8768 NONAME + _ZNK14QPlainTextEdit15extraSelectionsEv @ 8769 NONAME + _ZNK14QPlainTextEdit15getPaintContextEv @ 8770 NONAME + _ZNK14QPlainTextEdit15tabChangesFocusEv @ 8771 NONAME + _ZNK14QPlainTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 8772 NONAME + _ZNK14QPlainTextEdit17backgroundVisibleEv @ 8773 NONAME + _ZNK14QPlainTextEdit17blockBoundingRectERK10QTextBlock @ 8774 NONAME + _ZNK14QPlainTextEdit17currentCharFormatEv @ 8775 NONAME + _ZNK14QPlainTextEdit17cursorForPositionERK6QPoint @ 8776 NONAME + _ZNK14QPlainTextEdit17firstVisibleBlockEv @ 8777 NONAME + _ZNK14QPlainTextEdit20textInteractionFlagsEv @ 8778 NONAME + _ZNK14QPlainTextEdit21blockBoundingGeometryERK10QTextBlock @ 8779 NONAME + _ZNK14QPlainTextEdit21canInsertFromMimeDataEPK9QMimeData @ 8780 NONAME + _ZNK14QPlainTextEdit27createMimeDataFromSelectionEv @ 8781 NONAME + _ZNK14QPlainTextEdit8canPasteEv @ 8782 NONAME + _ZNK14QPlainTextEdit8documentEv @ 8783 NONAME + _ZNK14QStackedLayout10metaObjectEv @ 8784 NONAME + _ZNK14QStackedLayout11minimumSizeEv @ 8785 NONAME + _ZNK14QStackedLayout12currentIndexEv @ 8786 NONAME + _ZNK14QStackedLayout12stackingModeEv @ 8787 NONAME + _ZNK14QStackedLayout13currentWidgetEv @ 8788 NONAME + _ZNK14QStackedLayout5countEv @ 8789 NONAME + _ZNK14QStackedLayout6itemAtEi @ 8790 NONAME + _ZNK14QStackedLayout6widgetEi @ 8791 NONAME + _ZNK14QStackedLayout8sizeHintEv @ 8792 NONAME + _ZNK14QStackedWidget10metaObjectEv @ 8793 NONAME + _ZNK14QStackedWidget12currentIndexEv @ 8794 NONAME + _ZNK14QStackedWidget13currentWidgetEv @ 8795 NONAME + _ZNK14QStackedWidget5countEv @ 8796 NONAME + _ZNK14QStackedWidget6widgetEi @ 8797 NONAME + _ZNK14QStackedWidget7indexOfEP7QWidget @ 8798 NONAME + _ZNK14QTextTableCell10columnSpanEv @ 8799 NONAME + _ZNK14QTextTableCell12lastPositionEv @ 8800 NONAME + _ZNK14QTextTableCell13firstPositionEv @ 8801 NONAME + _ZNK14QTextTableCell18lastCursorPositionEv @ 8802 NONAME + _ZNK14QTextTableCell19firstCursorPositionEv @ 8803 NONAME + _ZNK14QTextTableCell20tableCellFormatIndexEv @ 8804 NONAME + _ZNK14QTextTableCell3endEv @ 8805 NONAME + _ZNK14QTextTableCell3rowEv @ 8806 NONAME + _ZNK14QTextTableCell5beginEv @ 8807 NONAME + _ZNK14QTextTableCell6columnEv @ 8808 NONAME + _ZNK14QTextTableCell6formatEv @ 8809 NONAME + _ZNK14QTextTableCell7rowSpanEv @ 8810 NONAME + _ZNK14QWidgetPrivate10clipRegionEv @ 8811 NONAME + _ZNK14QWidgetPrivate10frameStrutEv @ 8812 NONAME + _ZNK14QWidgetPrivate12adjustedSizeEv @ 8813 NONAME + _ZNK14QWidgetPrivate12inputContextEv @ 8814 NONAME + _ZNK14QWidgetPrivate12isOverlappedERK5QRect @ 8815 NONAME + _ZNK14QWidgetPrivate13isAboutToShowEv @ 8816 NONAME + _ZNK14QWidgetPrivate13paintOnScreenEv @ 8817 NONAME + _ZNK14QWidgetPrivate14childAt_helperERK6QPointb @ 8818 NONAME + _ZNK14QWidgetPrivate15getOpaqueRegionEv @ 8819 NONAME + _ZNK14QWidgetPrivate15paintBackgroundEP8QPainterRK7QRegioni @ 8820 NONAME + _ZNK14QWidgetPrivate17getOpaqueChildrenEv @ 8821 NONAME + _ZNK14QWidgetPrivate17naturalWidgetFontEj @ 8822 NONAME + _ZNK14QWidgetPrivate19clipToEffectiveMaskER7QRegion @ 8823 NONAME + _ZNK14QWidgetPrivate20getLayoutItemMarginsEPiS0_S0_S0_ @ 8824 NONAME + _ZNK14QWidgetPrivate20naturalWidgetPaletteEj @ 8825 NONAME + _ZNK14QWidgetPrivate22subtractOpaqueChildrenER7QRegionRK5QRect @ 8826 NONAME + _ZNK14QWidgetPrivate22subtractOpaqueSiblingsER7QRegionPbb @ 8827 NONAME + _ZNK14QWidgetPrivate8clipRectEv @ 8828 NONAME + _ZNK14QWindowSurface10grabWidgetEPK7QWidgetRK5QRect @ 8829 NONAME + _ZNK14QWindowSurface14staticContentsEv @ 8830 NONAME + _ZNK14QWindowSurface17hasStaticContentsEv @ 8831 NONAME + _ZNK14QWindowSurface24hasStaticContentsSupportEv @ 8832 NONAME + _ZNK14QWindowSurface6offsetEPK7QWidget @ 8833 NONAME + _ZNK14QWindowSurface6windowEv @ 8834 NONAME + _ZNK14QWindowSurface8geometryEv @ 8835 NONAME + _ZNK15QAbstractButton10autoRepeatEv @ 8836 NONAME + _ZNK15QAbstractButton10metaObjectEv @ 8837 NONAME + _ZNK15QAbstractButton11isCheckableEv @ 8838 NONAME + _ZNK15QAbstractButton13autoExclusiveEv @ 8839 NONAME + _ZNK15QAbstractButton15autoRepeatDelayEv @ 8840 NONAME + _ZNK15QAbstractButton18autoRepeatIntervalEv @ 8841 NONAME + _ZNK15QAbstractButton4iconEv @ 8842 NONAME + _ZNK15QAbstractButton4textEv @ 8843 NONAME + _ZNK15QAbstractButton5groupEv @ 8844 NONAME + _ZNK15QAbstractButton6isDownEv @ 8845 NONAME + _ZNK15QAbstractButton8iconSizeEv @ 8846 NONAME + _ZNK15QAbstractButton8shortcutEv @ 8847 NONAME + _ZNK15QAbstractButton9hitButtonERK6QPoint @ 8848 NONAME + _ZNK15QAbstractButton9isCheckedEv @ 8849 NONAME + _ZNK15QAbstractSlider10metaObjectEv @ 8850 NONAME + _ZNK15QAbstractSlider10singleStepEv @ 8851 NONAME + _ZNK15QAbstractSlider11hasTrackingEv @ 8852 NONAME + _ZNK15QAbstractSlider11orientationEv @ 8853 NONAME + _ZNK15QAbstractSlider12isSliderDownEv @ 8854 NONAME + _ZNK15QAbstractSlider12repeatActionEv @ 8855 NONAME + _ZNK15QAbstractSlider14sliderPositionEv @ 8856 NONAME + _ZNK15QAbstractSlider16invertedControlsEv @ 8857 NONAME + _ZNK15QAbstractSlider18invertedAppearanceEv @ 8858 NONAME + _ZNK15QAbstractSlider5valueEv @ 8859 NONAME + _ZNK15QAbstractSlider7maximumEv @ 8860 NONAME + _ZNK15QAbstractSlider7minimumEv @ 8861 NONAME + _ZNK15QAbstractSlider8pageStepEv @ 8862 NONAME + _ZNK15QCalendarWidget10metaObjectEv @ 8863 NONAME + _ZNK15QCalendarWidget10monthShownEv @ 8864 NONAME + _ZNK15QCalendarWidget11maximumDateEv @ 8865 NONAME + _ZNK15QCalendarWidget11minimumDateEv @ 8866 NONAME + _ZNK15QCalendarWidget12selectedDateEv @ 8867 NONAME + _ZNK15QCalendarWidget13isGridVisibleEv @ 8868 NONAME + _ZNK15QCalendarWidget13selectionModeEv @ 8869 NONAME + _ZNK15QCalendarWidget14dateTextFormatERK5QDate @ 8870 NONAME + _ZNK15QCalendarWidget14dateTextFormatEv @ 8871 NONAME + _ZNK15QCalendarWidget14firstDayOfWeekEv @ 8872 NONAME + _ZNK15QCalendarWidget15isHeaderVisibleEv @ 8873 NONAME + _ZNK15QCalendarWidget15minimumSizeHintEv @ 8874 NONAME + _ZNK15QCalendarWidget16headerTextFormatEv @ 8875 NONAME + _ZNK15QCalendarWidget17isDateEditEnabledEv @ 8876 NONAME + _ZNK15QCalendarWidget17weekdayTextFormatEN2Qt9DayOfWeekE @ 8877 NONAME + _ZNK15QCalendarWidget19dateEditAcceptDelayEv @ 8878 NONAME + _ZNK15QCalendarWidget20verticalHeaderFormatEv @ 8879 NONAME + _ZNK15QCalendarWidget22horizontalHeaderFormatEv @ 8880 NONAME + _ZNK15QCalendarWidget8sizeHintEv @ 8881 NONAME + _ZNK15QCalendarWidget9paintCellEP8QPainterRK5QRectRK5QDate @ 8882 NONAME + _ZNK15QCalendarWidget9yearShownEv @ 8883 NONAME + _ZNK15QGraphicsAnchor10metaObjectEv @ 8884 NONAME + _ZNK15QGraphicsAnchor7spacingEv @ 8885 NONAME + _ZNK15QGraphicsEffect10metaObjectEv @ 8886 NONAME + _ZNK15QGraphicsEffect12boundingRectEv @ 8887 NONAME + _ZNK15QGraphicsEffect15boundingRectForERK6QRectF @ 8888 NONAME + _ZNK15QGraphicsEffect6sourceEv @ 8889 NONAME + _ZNK15QGraphicsEffect9isEnabledEv @ 8890 NONAME + _ZNK15QGraphicsLayout11isActivatedEv @ 8891 NONAME + _ZNK15QGraphicsLayout18getContentsMarginsEPfS0_S0_S0_ @ 8892 NONAME + _ZNK15QGraphicsObject10metaObjectEv @ 8893 NONAME + _ZNK15QGraphicsWidget10metaObjectEv @ 8894 NONAME + _ZNK15QGraphicsWidget10windowTypeEv @ 8895 NONAME + _ZNK15QGraphicsWidget11focusPolicyEv @ 8896 NONAME + _ZNK15QGraphicsWidget11focusWidgetEv @ 8897 NONAME + _ZNK15QGraphicsWidget11windowFlagsEv @ 8898 NONAME + _ZNK15QGraphicsWidget11windowTitleEv @ 8899 NONAME + _ZNK15QGraphicsWidget12boundingRectEv @ 8900 NONAME + _ZNK15QGraphicsWidget13testAttributeEN2Qt15WidgetAttributeE @ 8901 NONAME + _ZNK15QGraphicsWidget14isActiveWindowEv @ 8902 NONAME + _ZNK15QGraphicsWidget15initStyleOptionEP12QStyleOption @ 8903 NONAME + _ZNK15QGraphicsWidget15layoutDirectionEv @ 8904 NONAME + _ZNK15QGraphicsWidget15windowFrameRectEv @ 8905 NONAME + _ZNK15QGraphicsWidget18getContentsMarginsEPfS0_S0_S0_ @ 8906 NONAME + _ZNK15QGraphicsWidget19windowFrameGeometryEv @ 8907 NONAME + _ZNK15QGraphicsWidget20windowFrameSectionAtERK7QPointF @ 8908 NONAME + _ZNK15QGraphicsWidget21getWindowFrameMarginsEPfS0_S0_S0_ @ 8909 NONAME + _ZNK15QGraphicsWidget4fontEv @ 8910 NONAME + _ZNK15QGraphicsWidget4sizeEv @ 8911 NONAME + _ZNK15QGraphicsWidget4typeEv @ 8912 NONAME + _ZNK15QGraphicsWidget5shapeEv @ 8913 NONAME + _ZNK15QGraphicsWidget5styleEv @ 8914 NONAME + _ZNK15QGraphicsWidget6layoutEv @ 8915 NONAME + _ZNK15QGraphicsWidget7actionsEv @ 8916 NONAME + _ZNK15QGraphicsWidget7paletteEv @ 8917 NONAME + _ZNK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF @ 8918 NONAME + _ZNK15QImageIOHandler10imageCountEv @ 8919 NONAME + _ZNK15QImageIOHandler14nextImageDelayEv @ 8920 NONAME + _ZNK15QImageIOHandler14supportsOptionENS_11ImageOptionE @ 8921 NONAME + _ZNK15QImageIOHandler16currentImageRectEv @ 8922 NONAME + _ZNK15QImageIOHandler18currentImageNumberEv @ 8923 NONAME + _ZNK15QImageIOHandler4nameEv @ 8924 NONAME + _ZNK15QImageIOHandler6deviceEv @ 8925 NONAME + _ZNK15QImageIOHandler6formatEv @ 8926 NONAME + _ZNK15QImageIOHandler6optionENS_11ImageOptionE @ 8927 NONAME + _ZNK15QImageIOHandler9loopCountEv @ 8928 NONAME + _ZNK15QImageIOHandler9setFormatERK10QByteArray @ 8929 NONAME + _ZNK15QLinearGradient5startEv @ 8930 NONAME + _ZNK15QLinearGradient9finalStopEv @ 8931 NONAME + _ZNK15QListWidgetItem4dataEi @ 8932 NONAME + _ZNK15QListWidgetItem5cloneEv @ 8933 NONAME + _ZNK15QListWidgetItem5writeER11QDataStream @ 8934 NONAME + _ZNK15QListWidgetItemltERKS_ @ 8935 NONAME + _ZNK15QProgressDialog10metaObjectEv @ 8936 NONAME + _ZNK15QProgressDialog11wasCanceledEv @ 8937 NONAME + _ZNK15QProgressDialog15minimumDurationEv @ 8938 NONAME + _ZNK15QProgressDialog5valueEv @ 8939 NONAME + _ZNK15QProgressDialog7maximumEv @ 8940 NONAME + _ZNK15QProgressDialog7minimumEv @ 8941 NONAME + _ZNK15QProgressDialog8sizeHintEv @ 8942 NONAME + _ZNK15QProgressDialog9autoCloseEv @ 8943 NONAME + _ZNK15QProgressDialog9autoResetEv @ 8944 NONAME + _ZNK15QProgressDialog9labelTextEv @ 8945 NONAME + _ZNK15QRadialGradient10focalPointEv @ 8946 NONAME + _ZNK15QRadialGradient6centerEv @ 8947 NONAME + _ZNK15QRadialGradient6radiusEv @ 8948 NONAME + _ZNK15QSessionManager10metaObjectEv @ 8949 NONAME + _ZNK15QSplitterHandle10metaObjectEv @ 8950 NONAME + _ZNK15QSplitterHandle11orientationEv @ 8951 NONAME + _ZNK15QSplitterHandle12opaqueResizeEv @ 8952 NONAME + _ZNK15QSplitterHandle8sizeHintEv @ 8953 NONAME + _ZNK15QSplitterHandle8splitterEv @ 8954 NONAME + _ZNK15QTextBlockGroup10metaObjectEv @ 8955 NONAME + _ZNK15QTextBlockGroup9blockListEv @ 8956 NONAME + _ZNK15QTextCharFormat10anchorNameEv @ 8957 NONAME + _ZNK15QTextCharFormat11anchorNamesEv @ 8958 NONAME + _ZNK15QTextCharFormat13fontUnderlineEv @ 8959 NONAME + _ZNK15QTextCharFormat4fontEv @ 8960 NONAME + _ZNK15QTreeWidgetItem18childrenCheckStateEi @ 8961 NONAME + _ZNK15QTreeWidgetItem18executePendingSortEv @ 8962 NONAME + _ZNK15QTreeWidgetItem20childIndicatorPolicyEv @ 8963 NONAME + _ZNK15QTreeWidgetItem4dataEii @ 8964 NONAME + _ZNK15QTreeWidgetItem5cloneEv @ 8965 NONAME + _ZNK15QTreeWidgetItem5flagsEv @ 8966 NONAME + _ZNK15QTreeWidgetItem5writeER11QDataStream @ 8967 NONAME + _ZNK15QTreeWidgetItemltERKS_ @ 8968 NONAME + _ZNK16QAbstractSpinBox10isReadOnlyEv @ 8969 NONAME + _ZNK16QAbstractSpinBox10metaObjectEv @ 8970 NONAME + _ZNK16QAbstractSpinBox11stepEnabledEv @ 8971 NONAME + _ZNK16QAbstractSpinBox13buttonSymbolsEv @ 8972 NONAME + _ZNK16QAbstractSpinBox13isAcceleratedEv @ 8973 NONAME + _ZNK16QAbstractSpinBox14correctionModeEv @ 8974 NONAME + _ZNK16QAbstractSpinBox15initStyleOptionEP19QStyleOptionSpinBox @ 8975 NONAME + _ZNK16QAbstractSpinBox15minimumSizeHintEv @ 8976 NONAME + _ZNK16QAbstractSpinBox16inputMethodQueryEN2Qt16InputMethodQueryE @ 8977 NONAME + _ZNK16QAbstractSpinBox16keyboardTrackingEv @ 8978 NONAME + _ZNK16QAbstractSpinBox16specialValueTextEv @ 8979 NONAME + _ZNK16QAbstractSpinBox18hasAcceptableInputEv @ 8980 NONAME + _ZNK16QAbstractSpinBox4textEv @ 8981 NONAME + _ZNK16QAbstractSpinBox5fixupER7QString @ 8982 NONAME + _ZNK16QAbstractSpinBox8hasFrameEv @ 8983 NONAME + _ZNK16QAbstractSpinBox8lineEditEv @ 8984 NONAME + _ZNK16QAbstractSpinBox8sizeHintEv @ 8985 NONAME + _ZNK16QAbstractSpinBox8validateER7QStringRi @ 8986 NONAME + _ZNK16QAbstractSpinBox8wrappingEv @ 8987 NONAME + _ZNK16QAbstractSpinBox9alignmentEv @ 8988 NONAME + _ZNK16QConicalGradient5angleEv @ 8989 NONAME + _ZNK16QConicalGradient6centerEv @ 8990 NONAME + _ZNK16QDialogButtonBox10buttonRoleEP15QAbstractButton @ 8991 NONAME + _ZNK16QDialogButtonBox10metaObjectEv @ 8992 NONAME + _ZNK16QDialogButtonBox11orientationEv @ 8993 NONAME + _ZNK16QDialogButtonBox13centerButtonsEv @ 8994 NONAME + _ZNK16QDialogButtonBox14standardButtonEP15QAbstractButton @ 8995 NONAME + _ZNK16QDialogButtonBox15standardButtonsEv @ 8996 NONAME + _ZNK16QDialogButtonBox6buttonENS_14StandardButtonE @ 8997 NONAME + _ZNK16QDialogButtonBox7buttonsEv @ 8998 NONAME + _ZNK16QDoubleValidator10metaObjectEv @ 8999 NONAME + _ZNK16QDoubleValidator8notationEv @ 9000 NONAME + _ZNK16QDoubleValidator8validateER7QStringRi @ 9001 NONAME + _ZNK16QFileSystemModel10headerDataEiN2Qt11OrientationEi @ 9002 NONAME + _ZNK16QFileSystemModel10isReadOnlyEv @ 9003 NONAME + _ZNK16QFileSystemModel10metaObjectEv @ 9004 NONAME + _ZNK16QFileSystemModel10myComputerEi @ 9005 NONAME + _ZNK16QFileSystemModel11columnCountERK11QModelIndex @ 9006 NONAME + _ZNK16QFileSystemModel11hasChildrenERK11QModelIndex @ 9007 NONAME + _ZNK16QFileSystemModel11nameFiltersEv @ 9008 NONAME + _ZNK16QFileSystemModel11permissionsERK11QModelIndex @ 9009 NONAME + _ZNK16QFileSystemModel12canFetchMoreERK11QModelIndex @ 9010 NONAME + _ZNK16QFileSystemModel12iconProviderEv @ 9011 NONAME + _ZNK16QFileSystemModel12lastModifiedERK11QModelIndex @ 9012 NONAME + _ZNK16QFileSystemModel13rootDirectoryEv @ 9013 NONAME + _ZNK16QFileSystemModel15resolveSymlinksEv @ 9014 NONAME + _ZNK16QFileSystemModel18nameFilterDisablesEv @ 9015 NONAME + _ZNK16QFileSystemModel20supportedDropActionsEv @ 9016 NONAME + _ZNK16QFileSystemModel4dataERK11QModelIndexi @ 9017 NONAME + _ZNK16QFileSystemModel4sizeERK11QModelIndex @ 9018 NONAME + _ZNK16QFileSystemModel4typeERK11QModelIndex @ 9019 NONAME + _ZNK16QFileSystemModel5flagsERK11QModelIndex @ 9020 NONAME + _ZNK16QFileSystemModel5indexERK7QStringi @ 9021 NONAME + _ZNK16QFileSystemModel5indexEiiRK11QModelIndex @ 9022 NONAME + _ZNK16QFileSystemModel5isDirERK11QModelIndex @ 9023 NONAME + _ZNK16QFileSystemModel6filterEv @ 9024 NONAME + _ZNK16QFileSystemModel6parentERK11QModelIndex @ 9025 NONAME + _ZNK16QFileSystemModel6removeERK11QModelIndex @ 9026 NONAME + _ZNK16QFileSystemModel8filePathERK11QModelIndex @ 9027 NONAME + _ZNK16QFileSystemModel8mimeDataERK5QListI11QModelIndexE @ 9028 NONAME + _ZNK16QFileSystemModel8rootPathEv @ 9029 NONAME + _ZNK16QFileSystemModel8rowCountERK11QModelIndex @ 9030 NONAME + _ZNK16QFileSystemModel9mimeTypesEv @ 9031 NONAME + _ZNK16QRegExpValidator10metaObjectEv @ 9032 NONAME + _ZNK16QRegExpValidator8validateER7QStringRi @ 9033 NONAME + _ZNK16QStringListModel10metaObjectEv @ 9034 NONAME + _ZNK16QStringListModel10stringListEv @ 9035 NONAME + _ZNK16QStringListModel20supportedDropActionsEv @ 9036 NONAME + _ZNK16QStringListModel4dataERK11QModelIndexi @ 9037 NONAME + _ZNK16QStringListModel5flagsERK11QModelIndex @ 9038 NONAME + _ZNK16QStringListModel8rowCountERK11QModelIndex @ 9039 NONAME + _ZNK16QTableWidgetItem4dataEi @ 9040 NONAME + _ZNK16QTableWidgetItem5cloneEv @ 9041 NONAME + _ZNK16QTableWidgetItem5writeER11QDataStream @ 9042 NONAME + _ZNK16QTableWidgetItemltERKS_ @ 9043 NONAME + _ZNK16QTextBlockFormat12tabPositionsEv @ 9044 NONAME + _ZNK16QTextFrameFormat10leftMarginEv @ 9045 NONAME + _ZNK16QTextFrameFormat11rightMarginEv @ 9046 NONAME + _ZNK16QTextFrameFormat12bottomMarginEv @ 9047 NONAME + _ZNK16QTextFrameFormat9topMarginEv @ 9048 NONAME + _ZNK17QAbstractItemView10metaObjectEv @ 9049 NONAME + _ZNK17QAbstractItemView11dragEnabledEv @ 9050 NONAME + _ZNK17QAbstractItemView11indexWidgetERK11QModelIndex @ 9051 NONAME + _ZNK17QAbstractItemView11viewOptionsEv @ 9052 NONAME + _ZNK17QAbstractItemView12currentIndexEv @ 9053 NONAME + _ZNK17QAbstractItemView12dragDropModeEv @ 9054 NONAME + _ZNK17QAbstractItemView12editTriggersEv @ 9055 NONAME + _ZNK17QAbstractItemView12itemDelegateERK11QModelIndex @ 9056 NONAME + _ZNK17QAbstractItemView12itemDelegateEv @ 9057 NONAME + _ZNK17QAbstractItemView13hasAutoScrollEv @ 9058 NONAME + _ZNK17QAbstractItemView13selectionModeEv @ 9059 NONAME + _ZNK17QAbstractItemView13textElideModeEv @ 9060 NONAME + _ZNK17QAbstractItemView14selectionModelEv @ 9061 NONAME + _ZNK17QAbstractItemView14sizeHintForRowEi @ 9062 NONAME + _ZNK17QAbstractItemView15selectedIndexesEv @ 9063 NONAME + _ZNK17QAbstractItemView16autoScrollMarginEv @ 9064 NONAME + _ZNK17QAbstractItemView16inputMethodQueryEN2Qt16InputMethodQueryE @ 9065 NONAME + _ZNK17QAbstractItemView16selectionCommandERK11QModelIndexPK6QEvent @ 9066 NONAME + _ZNK17QAbstractItemView16sizeHintForIndexERK11QModelIndex @ 9067 NONAME + _ZNK17QAbstractItemView16tabKeyNavigationEv @ 9068 NONAME + _ZNK17QAbstractItemView17defaultDropActionEv @ 9069 NONAME + _ZNK17QAbstractItemView17dirtyRegionOffsetEv @ 9070 NONAME + _ZNK17QAbstractItemView17selectionBehaviorEv @ 9071 NONAME + _ZNK17QAbstractItemView17showDropIndicatorEv @ 9072 NONAME + _ZNK17QAbstractItemView17sizeHintForColumnEi @ 9073 NONAME + _ZNK17QAbstractItemView18itemDelegateForRowEi @ 9074 NONAME + _ZNK17QAbstractItemView18verticalScrollModeEv @ 9075 NONAME + _ZNK17QAbstractItemView20alternatingRowColorsEv @ 9076 NONAME + _ZNK17QAbstractItemView20horizontalScrollModeEv @ 9077 NONAME + _ZNK17QAbstractItemView20verticalStepsPerItemEv @ 9078 NONAME + _ZNK17QAbstractItemView21dragDropOverwriteModeEv @ 9079 NONAME + _ZNK17QAbstractItemView21dropIndicatorPositionEv @ 9080 NONAME + _ZNK17QAbstractItemView21itemDelegateForColumnEi @ 9081 NONAME + _ZNK17QAbstractItemView22horizontalStepsPerItemEv @ 9082 NONAME + _ZNK17QAbstractItemView5modelEv @ 9083 NONAME + _ZNK17QAbstractItemView5stateEv @ 9084 NONAME + _ZNK17QAbstractItemView8iconSizeEv @ 9085 NONAME + _ZNK17QAbstractItemView9rootIndexEv @ 9086 NONAME + _ZNK17QDataWidgetMapper10metaObjectEv @ 9087 NONAME + _ZNK17QDataWidgetMapper11orientationEv @ 9088 NONAME + _ZNK17QDataWidgetMapper12currentIndexEv @ 9089 NONAME + _ZNK17QDataWidgetMapper12itemDelegateEv @ 9090 NONAME + _ZNK17QDataWidgetMapper12submitPolicyEv @ 9091 NONAME + _ZNK17QDataWidgetMapper13mappedSectionEP7QWidget @ 9092 NONAME + _ZNK17QDataWidgetMapper14mappedWidgetAtEi @ 9093 NONAME + _ZNK17QDataWidgetMapper18mappedPropertyNameEP7QWidget @ 9094 NONAME + _ZNK17QDataWidgetMapper5modelEv @ 9095 NONAME + _ZNK17QDataWidgetMapper9rootIndexEv @ 9096 NONAME + _ZNK17QDockWidgetLayout10metaObjectEv @ 9097 NONAME + _ZNK17QDockWidgetLayout11itemForRoleENS_4RoleE @ 9098 NONAME + _ZNK17QDockWidgetLayout11maximumSizeEv @ 9099 NONAME + _ZNK17QDockWidgetLayout11minimumSizeEv @ 9100 NONAME + _ZNK17QDockWidgetLayout11titleHeightEv @ 9101 NONAME + _ZNK17QDockWidgetLayout13widgetForRoleENS_4RoleE @ 9102 NONAME + _ZNK17QDockWidgetLayout15sizeFromContentERK5QSizeb @ 9103 NONAME + _ZNK17QDockWidgetLayout16nativeWindowDecoEb @ 9104 NONAME + _ZNK17QDockWidgetLayout16nativeWindowDecoEv @ 9105 NONAME + _ZNK17QDockWidgetLayout17minimumTitleWidthEv @ 9106 NONAME + _ZNK17QDockWidgetLayout5countEv @ 9107 NONAME + _ZNK17QDockWidgetLayout6itemAtEi @ 9108 NONAME + _ZNK17QDockWidgetLayout8sizeHintEv @ 9109 NONAME + _ZNK17QFileIconProvider4iconENS_8IconTypeE @ 9110 NONAME + _ZNK17QFileIconProvider4iconERK9QFileInfo @ 9111 NONAME + _ZNK17QFileIconProvider4typeERK9QFileInfo @ 9112 NONAME + _ZNK17QGraphicsLineItem10opaqueAreaEv @ 9113 NONAME + _ZNK17QGraphicsLineItem12boundingRectEv @ 9114 NONAME + _ZNK17QGraphicsLineItem12isObscuredByEPK13QGraphicsItem @ 9115 NONAME + _ZNK17QGraphicsLineItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9116 NONAME + _ZNK17QGraphicsLineItem3penEv @ 9117 NONAME + _ZNK17QGraphicsLineItem4lineEv @ 9118 NONAME + _ZNK17QGraphicsLineItem4typeEv @ 9119 NONAME + _ZNK17QGraphicsLineItem5shapeEv @ 9120 NONAME + _ZNK17QGraphicsLineItem8containsERK7QPointF @ 9121 NONAME + _ZNK17QGraphicsLineItem9extensionERK8QVariant @ 9122 NONAME + _ZNK17QGraphicsPathItem10opaqueAreaEv @ 9123 NONAME + _ZNK17QGraphicsPathItem12boundingRectEv @ 9124 NONAME + _ZNK17QGraphicsPathItem12isObscuredByEPK13QGraphicsItem @ 9125 NONAME + _ZNK17QGraphicsPathItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9126 NONAME + _ZNK17QGraphicsPathItem4pathEv @ 9127 NONAME + _ZNK17QGraphicsPathItem4typeEv @ 9128 NONAME + _ZNK17QGraphicsPathItem5shapeEv @ 9129 NONAME + _ZNK17QGraphicsPathItem8containsERK7QPointF @ 9130 NONAME + _ZNK17QGraphicsPathItem9extensionERK8QVariant @ 9131 NONAME + _ZNK17QGraphicsRectItem10opaqueAreaEv @ 9132 NONAME + _ZNK17QGraphicsRectItem12boundingRectEv @ 9133 NONAME + _ZNK17QGraphicsRectItem12isObscuredByEPK13QGraphicsItem @ 9134 NONAME + _ZNK17QGraphicsRectItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9135 NONAME + _ZNK17QGraphicsRectItem4rectEv @ 9136 NONAME + _ZNK17QGraphicsRectItem4typeEv @ 9137 NONAME + _ZNK17QGraphicsRectItem5shapeEv @ 9138 NONAME + _ZNK17QGraphicsRectItem8containsERK7QPointF @ 9139 NONAME + _ZNK17QGraphicsRectItem9extensionERK8QVariant @ 9140 NONAME + _ZNK17QGraphicsRotation10metaObjectEv @ 9141 NONAME + _ZNK17QGraphicsRotation4axisEv @ 9142 NONAME + _ZNK17QGraphicsRotation5angleEv @ 9143 NONAME + _ZNK17QGraphicsRotation6originEv @ 9144 NONAME + _ZNK17QGraphicsRotation7applyToEP10QMatrix4x4 @ 9145 NONAME + _ZNK17QGraphicsTextItem10metaObjectEv @ 9146 NONAME + _ZNK17QGraphicsTextItem10opaqueAreaEv @ 9147 NONAME + _ZNK17QGraphicsTextItem10textCursorEv @ 9148 NONAME + _ZNK17QGraphicsTextItem11toPlainTextEv @ 9149 NONAME + _ZNK17QGraphicsTextItem12boundingRectEv @ 9150 NONAME + _ZNK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem @ 9151 NONAME + _ZNK17QGraphicsTextItem15tabChangesFocusEv @ 9152 NONAME + _ZNK17QGraphicsTextItem16defaultTextColorEv @ 9153 NONAME + _ZNK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 9154 NONAME + _ZNK17QGraphicsTextItem17openExternalLinksEv @ 9155 NONAME + _ZNK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9156 NONAME + _ZNK17QGraphicsTextItem20textInteractionFlagsEv @ 9157 NONAME + _ZNK17QGraphicsTextItem4fontEv @ 9158 NONAME + _ZNK17QGraphicsTextItem4typeEv @ 9159 NONAME + _ZNK17QGraphicsTextItem5shapeEv @ 9160 NONAME + _ZNK17QGraphicsTextItem6toHtmlEv @ 9161 NONAME + _ZNK17QGraphicsTextItem8containsERK7QPointF @ 9162 NONAME + _ZNK17QGraphicsTextItem8documentEv @ 9163 NONAME + _ZNK17QGraphicsTextItem9extensionERK8QVariant @ 9164 NONAME + _ZNK17QGraphicsTextItem9textWidthEv @ 9165 NONAME + _ZNK17QIconEnginePlugin10metaObjectEv @ 9166 NONAME + _ZNK17QPaintEngineState10clipRegionEv @ 9167 NONAME + _ZNK17QPaintEngineState11brushOriginEv @ 9168 NONAME + _ZNK17QPaintEngineState11renderHintsEv @ 9169 NONAME + _ZNK17QPaintEngineState13clipOperationEv @ 9170 NONAME + _ZNK17QPaintEngineState13isClipEnabledEv @ 9171 NONAME + _ZNK17QPaintEngineState14backgroundModeEv @ 9172 NONAME + _ZNK17QPaintEngineState15backgroundBrushEv @ 9173 NONAME + _ZNK17QPaintEngineState15compositionModeEv @ 9174 NONAME + _ZNK17QPaintEngineState17penNeedsResolvingEv @ 9175 NONAME + _ZNK17QPaintEngineState19brushNeedsResolvingEv @ 9176 NONAME + _ZNK17QPaintEngineState3penEv @ 9177 NONAME + _ZNK17QPaintEngineState4fontEv @ 9178 NONAME + _ZNK17QPaintEngineState5brushEv @ 9179 NONAME + _ZNK17QPaintEngineState6matrixEv @ 9180 NONAME + _ZNK17QPaintEngineState7opacityEv @ 9181 NONAME + _ZNK17QPaintEngineState7painterEv @ 9182 NONAME + _ZNK17QPaintEngineState8clipPathEv @ 9183 NONAME + _ZNK17QPaintEngineState9transformEv @ 9184 NONAME + _ZNK17QPixmapBlurFilter10metaObjectEv @ 9185 NONAME + _ZNK17QPixmapBlurFilter15boundingRectForERK6QRectF @ 9186 NONAME + _ZNK17QPixmapBlurFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 9187 NONAME + _ZNK17QPixmapBlurFilter6radiusEv @ 9188 NONAME + _ZNK17QPixmapBlurFilter8blurHintEv @ 9189 NONAME + _ZNK17QRasterPixmapData11paintEngineEv @ 9190 NONAME + _ZNK17QRasterPixmapData15hasAlphaChannelEv @ 9191 NONAME + _ZNK17QRasterPixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 9192 NONAME + _ZNK17QRasterPixmapData7toImageEv @ 9193 NONAME + _ZNK17QTextInlineObject11formatIndexEv @ 9194 NONAME + _ZNK17QTextInlineObject12textPositionEv @ 9195 NONAME + _ZNK17QTextInlineObject13textDirectionEv @ 9196 NONAME + _ZNK17QTextInlineObject4rectEv @ 9197 NONAME + _ZNK17QTextInlineObject5widthEv @ 9198 NONAME + _ZNK17QTextInlineObject6ascentEv @ 9199 NONAME + _ZNK17QTextInlineObject6formatEv @ 9200 NONAME + _ZNK17QTextInlineObject6heightEv @ 9201 NONAME + _ZNK17QTextInlineObject7descentEv @ 9202 NONAME + _ZNK18QCommandLinkButton10metaObjectEv @ 9203 NONAME + _ZNK18QCommandLinkButton11descriptionEv @ 9204 NONAME + _ZNK18QCommandLinkButton14heightForWidthEi @ 9205 NONAME + _ZNK18QCommandLinkButton15minimumSizeHintEv @ 9206 NONAME + _ZNK18QCommandLinkButton8sizeHintEv @ 9207 NONAME + _ZNK18QGraphicsItemGroup10opaqueAreaEv @ 9208 NONAME + _ZNK18QGraphicsItemGroup12boundingRectEv @ 9209 NONAME + _ZNK18QGraphicsItemGroup12isObscuredByEPK13QGraphicsItem @ 9210 NONAME + _ZNK18QGraphicsItemGroup4typeEv @ 9211 NONAME + _ZNK18QGraphicsTransform10metaObjectEv @ 9212 NONAME + _ZNK18QItemEditorFactory12createEditorEN8QVariant4TypeEP7QWidget @ 9213 NONAME + _ZNK18QItemEditorFactory17valuePropertyNameEN8QVariant4TypeE @ 9214 NONAME + _ZNK18QStandardItemModel10headerDataEiN2Qt11OrientationEi @ 9215 NONAME + _ZNK18QStandardItemModel10metaObjectEv @ 9216 NONAME + _ZNK18QStandardItemModel11columnCountERK11QModelIndex @ 9217 NONAME + _ZNK18QStandardItemModel11hasChildrenERK11QModelIndex @ 9218 NONAME + _ZNK18QStandardItemModel13indexFromItemEPK13QStandardItem @ 9219 NONAME + _ZNK18QStandardItemModel13itemFromIndexERK11QModelIndex @ 9220 NONAME + _ZNK18QStandardItemModel13itemPrototypeEv @ 9221 NONAME + _ZNK18QStandardItemModel17invisibleRootItemEv @ 9222 NONAME + _ZNK18QStandardItemModel18verticalHeaderItemEi @ 9223 NONAME + _ZNK18QStandardItemModel20horizontalHeaderItemEi @ 9224 NONAME + _ZNK18QStandardItemModel20supportedDropActionsEv @ 9225 NONAME + _ZNK18QStandardItemModel4dataERK11QModelIndexi @ 9226 NONAME + _ZNK18QStandardItemModel4itemEii @ 9227 NONAME + _ZNK18QStandardItemModel5flagsERK11QModelIndex @ 9228 NONAME + _ZNK18QStandardItemModel5indexEiiRK11QModelIndex @ 9229 NONAME + _ZNK18QStandardItemModel6parentERK11QModelIndex @ 9230 NONAME + _ZNK18QStandardItemModel8itemDataERK11QModelIndex @ 9231 NONAME + _ZNK18QStandardItemModel8mimeDataERK5QListI11QModelIndexE @ 9232 NONAME + _ZNK18QStandardItemModel8rowCountERK11QModelIndex @ 9233 NONAME + _ZNK18QStandardItemModel8sortRoleEv @ 9234 NONAME + _ZNK18QStandardItemModel9findItemsERK7QString6QFlagsIN2Qt9MatchFlagEEi @ 9235 NONAME + _ZNK18QStandardItemModel9mimeTypesEv @ 9236 NONAME + _ZNK18QSyntaxHighlighter10metaObjectEv @ 9237 NONAME + _ZNK18QSyntaxHighlighter12currentBlockEv @ 9238 NONAME + _ZNK18QSyntaxHighlighter17currentBlockStateEv @ 9239 NONAME + _ZNK18QSyntaxHighlighter18previousBlockStateEv @ 9240 NONAME + _ZNK18QSyntaxHighlighter20currentBlockUserDataEv @ 9241 NONAME + _ZNK18QSyntaxHighlighter6formatEi @ 9242 NONAME + _ZNK18QSyntaxHighlighter8documentEv @ 9243 NONAME + _ZNK18QTextureGlyphCache18textureMapForGlyphEj @ 9244 NONAME + _ZNK19QAbstractProxyModel10headerDataEiN2Qt11OrientationEi @ 9245 NONAME + _ZNK19QAbstractProxyModel10metaObjectEv @ 9246 NONAME + _ZNK19QAbstractProxyModel11sourceModelEv @ 9247 NONAME + _ZNK19QAbstractProxyModel20mapSelectionToSourceERK14QItemSelection @ 9248 NONAME + _ZNK19QAbstractProxyModel22mapSelectionFromSourceERK14QItemSelection @ 9249 NONAME + _ZNK19QAbstractProxyModel4dataERK11QModelIndexi @ 9250 NONAME + _ZNK19QAbstractProxyModel5flagsERK11QModelIndex @ 9251 NONAME + _ZNK19QAbstractProxyModel8itemDataERK11QModelIndex @ 9252 NONAME + _ZNK19QAbstractScrollArea10metaObjectEv @ 9253 NONAME + _ZNK19QAbstractScrollArea12cornerWidgetEv @ 9254 NONAME + _ZNK19QAbstractScrollArea15minimumSizeHintEv @ 9255 NONAME + _ZNK19QAbstractScrollArea17verticalScrollBarEv @ 9256 NONAME + _ZNK19QAbstractScrollArea19horizontalScrollBarEv @ 9257 NONAME + _ZNK19QAbstractScrollArea19maximumViewportSizeEv @ 9258 NONAME + _ZNK19QAbstractScrollArea23verticalScrollBarPolicyEv @ 9259 NONAME + _ZNK19QAbstractScrollArea25horizontalScrollBarPolicyEv @ 9260 NONAME + _ZNK19QAbstractScrollArea8sizeHintEv @ 9261 NONAME + _ZNK19QAbstractScrollArea8viewportEv @ 9262 NONAME + _ZNK19QApplicationPrivate11inPopupModeEv @ 9263 NONAME + _ZNK19QApplicationPrivate7appNameEv @ 9264 NONAME + _ZNK19QCoeFepInputContext10metaObjectEv @ 9265 NONAME + _ZNK19QCoeFepInputContext15GetFormatForFepER11TCharFormati @ 9266 NONAME + _ZNK19QCoeFepInputContext20DocumentLengthForFepEv @ 9267 NONAME + _ZNK19QCoeFepInputContext22GetEditorContentForFepER6TDes16ii @ 9268 NONAME + _ZNK19QCoeFepInputContext24GetCursorSelectionForFepER16TCursorSelection @ 9269 NONAME + _ZNK19QCoeFepInputContext27DocumentMaximumLengthForFepEv @ 9270 NONAME + _ZNK19QCoeFepInputContext27GetScreenCoordinatesForFepLER6TPointRiS2_i @ 9271 NONAME + _ZNK19QEventDispatcherS6010metaObjectEv @ 9272 NONAME + _ZNK19QGraphicsBlurEffect10blurRadiusEv @ 9273 NONAME + _ZNK19QGraphicsBlurEffect10metaObjectEv @ 9274 NONAME + _ZNK19QGraphicsBlurEffect15boundingRectForERK6QRectF @ 9275 NONAME + _ZNK19QGraphicsBlurEffect8blurHintEv @ 9276 NONAME + _ZNK19QGraphicsGridLayout10rowSpacingEi @ 9277 NONAME + _ZNK19QGraphicsGridLayout11columnCountEv @ 9278 NONAME + _ZNK19QGraphicsGridLayout12rowAlignmentEi @ 9279 NONAME + _ZNK19QGraphicsGridLayout13columnSpacingEi @ 9280 NONAME + _ZNK19QGraphicsGridLayout15columnAlignmentEi @ 9281 NONAME + _ZNK19QGraphicsGridLayout15verticalSpacingEv @ 9282 NONAME + _ZNK19QGraphicsGridLayout16rowMaximumHeightEi @ 9283 NONAME + _ZNK19QGraphicsGridLayout16rowMinimumHeightEi @ 9284 NONAME + _ZNK19QGraphicsGridLayout16rowStretchFactorEi @ 9285 NONAME + _ZNK19QGraphicsGridLayout17horizontalSpacingEv @ 9286 NONAME + _ZNK19QGraphicsGridLayout18columnMaximumWidthEi @ 9287 NONAME + _ZNK19QGraphicsGridLayout18columnMinimumWidthEi @ 9288 NONAME + _ZNK19QGraphicsGridLayout18rowPreferredHeightEi @ 9289 NONAME + _ZNK19QGraphicsGridLayout19columnStretchFactorEi @ 9290 NONAME + _ZNK19QGraphicsGridLayout20columnPreferredWidthEi @ 9291 NONAME + _ZNK19QGraphicsGridLayout5countEv @ 9292 NONAME + _ZNK19QGraphicsGridLayout6itemAtEi @ 9293 NONAME + _ZNK19QGraphicsGridLayout6itemAtEii @ 9294 NONAME + _ZNK19QGraphicsGridLayout8rowCountEv @ 9295 NONAME + _ZNK19QGraphicsGridLayout8sizeHintEN2Qt8SizeHintERK6QSizeF @ 9296 NONAME + _ZNK19QGraphicsGridLayout9alignmentEP19QGraphicsLayoutItem @ 9297 NONAME + _ZNK19QGraphicsLayoutItem10sizePolicyEv @ 9298 NONAME + _ZNK19QGraphicsLayoutItem11maximumSizeEv @ 9299 NONAME + _ZNK19QGraphicsLayoutItem11minimumSizeEv @ 9300 NONAME + _ZNK19QGraphicsLayoutItem12contentsRectEv @ 9301 NONAME + _ZNK19QGraphicsLayoutItem12graphicsItemEv @ 9302 NONAME + _ZNK19QGraphicsLayoutItem13ownedByLayoutEv @ 9303 NONAME + _ZNK19QGraphicsLayoutItem13preferredSizeEv @ 9304 NONAME + _ZNK19QGraphicsLayoutItem16parentLayoutItemEv @ 9305 NONAME + _ZNK19QGraphicsLayoutItem17effectiveSizeHintEN2Qt8SizeHintERK6QSizeF @ 9306 NONAME + _ZNK19QGraphicsLayoutItem18getContentsMarginsEPfS0_S0_S0_ @ 9307 NONAME + _ZNK19QGraphicsLayoutItem8geometryEv @ 9308 NONAME + _ZNK19QGraphicsLayoutItem8isLayoutEv @ 9309 NONAME + _ZNK19QGraphicsPixmapItem10opaqueAreaEv @ 9310 NONAME + _ZNK19QGraphicsPixmapItem12boundingRectEv @ 9311 NONAME + _ZNK19QGraphicsPixmapItem12isObscuredByEPK13QGraphicsItem @ 9312 NONAME + _ZNK19QGraphicsPixmapItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9313 NONAME + _ZNK19QGraphicsPixmapItem18transformationModeEv @ 9314 NONAME + _ZNK19QGraphicsPixmapItem4typeEv @ 9315 NONAME + _ZNK19QGraphicsPixmapItem5shapeEv @ 9316 NONAME + _ZNK19QGraphicsPixmapItem6offsetEv @ 9317 NONAME + _ZNK19QGraphicsPixmapItem6pixmapEv @ 9318 NONAME + _ZNK19QGraphicsPixmapItem8containsERK7QPointF @ 9319 NONAME + _ZNK19QGraphicsPixmapItem9extensionERK8QVariant @ 9320 NONAME + _ZNK19QGraphicsPixmapItem9shapeModeEv @ 9321 NONAME + _ZNK19QGraphicsSceneEvent6widgetEv @ 9322 NONAME + _ZNK19QIconEnginePluginV210metaObjectEv @ 9323 NONAME + _ZNK19QInputContextPlugin10metaObjectEv @ 9324 NONAME + _ZNK19QItemSelectionModel10isSelectedERK11QModelIndex @ 9325 NONAME + _ZNK19QItemSelectionModel10metaObjectEv @ 9326 NONAME + _ZNK19QItemSelectionModel12currentIndexEv @ 9327 NONAME + _ZNK19QItemSelectionModel12hasSelectionEv @ 9328 NONAME + _ZNK19QItemSelectionModel12selectedRowsEi @ 9329 NONAME + _ZNK19QItemSelectionModel13isRowSelectedEiRK11QModelIndex @ 9330 NONAME + _ZNK19QItemSelectionModel15selectedColumnsEi @ 9331 NONAME + _ZNK19QItemSelectionModel15selectedIndexesEv @ 9332 NONAME + _ZNK19QItemSelectionModel16isColumnSelectedEiRK11QModelIndex @ 9333 NONAME + _ZNK19QItemSelectionModel22rowIntersectsSelectionEiRK11QModelIndex @ 9334 NONAME + _ZNK19QItemSelectionModel25columnIntersectsSelectionEiRK11QModelIndex @ 9335 NONAME + _ZNK19QItemSelectionModel5modelEv @ 9336 NONAME + _ZNK19QItemSelectionModel9selectionEv @ 9337 NONAME + _ZNK19QItemSelectionRange10intersectsERKS_ @ 9338 NONAME + _ZNK19QItemSelectionRange7indexesEv @ 9339 NONAME + _ZNK19QItemSelectionRange9intersectERKS_ @ 9340 NONAME + _ZNK19QKeyEventTransition10metaObjectEv @ 9341 NONAME + _ZNK19QKeyEventTransition13modifiersMaskEv @ 9342 NONAME + _ZNK19QKeyEventTransition3keyEv @ 9343 NONAME + _ZNK19QPainterPathStroker10dashOffsetEv @ 9344 NONAME + _ZNK19QPainterPathStroker10miterLimitEv @ 9345 NONAME + _ZNK19QPainterPathStroker11dashPatternEv @ 9346 NONAME + _ZNK19QPainterPathStroker12createStrokeERK12QPainterPath @ 9347 NONAME + _ZNK19QPainterPathStroker14curveThresholdEv @ 9348 NONAME + _ZNK19QPainterPathStroker5widthEv @ 9349 NONAME + _ZNK19QPainterPathStroker8capStyleEv @ 9350 NONAME + _ZNK19QPainterPathStroker9joinStyleEv @ 9351 NONAME + _ZNK19QS60MainApplication16ResourceFileNameEv @ 9352 NONAME + _ZNK19QS60MainApplication9AppDllUidEv @ 9353 NONAME + _ZNK19QStyledItemDelegate10metaObjectEv @ 9354 NONAME + _ZNK19QStyledItemDelegate11displayTextERK8QVariantRK7QLocale @ 9355 NONAME + _ZNK19QStyledItemDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 9356 NONAME + _ZNK19QStyledItemDelegate12setModelDataEP7QWidgetP18QAbstractItemModelRK11QModelIndex @ 9357 NONAME + _ZNK19QStyledItemDelegate13setEditorDataEP7QWidgetRK11QModelIndex @ 9358 NONAME + _ZNK19QStyledItemDelegate15initStyleOptionEP20QStyleOptionViewItemRK11QModelIndex @ 9359 NONAME + _ZNK19QStyledItemDelegate17itemEditorFactoryEv @ 9360 NONAME + _ZNK19QStyledItemDelegate20updateEditorGeometryEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 9361 NONAME + _ZNK19QStyledItemDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex @ 9362 NONAME + _ZNK19QStyledItemDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex @ 9363 NONAME + _ZNK19QTextDocumentWriter5codecEv @ 9364 NONAME + _ZNK19QTextDocumentWriter6deviceEv @ 9365 NONAME + _ZNK19QTextDocumentWriter6formatEv @ 9366 NONAME + _ZNK19QTextDocumentWriter8fileNameEv @ 9367 NONAME + _ZNK20QGraphicsBloomEffect10blurRadiusEv @ 9368 NONAME + _ZNK20QGraphicsBloomEffect10brightnessEv @ 9369 NONAME + _ZNK20QGraphicsBloomEffect10metaObjectEv @ 9370 NONAME + _ZNK20QGraphicsBloomEffect15boundingRectForERK6QRectF @ 9371 NONAME + _ZNK20QGraphicsBloomEffect8blurHintEv @ 9372 NONAME + _ZNK20QGraphicsBloomEffect8strengthEv @ 9373 NONAME + _ZNK20QGraphicsEllipseItem10opaqueAreaEv @ 9374 NONAME + _ZNK20QGraphicsEllipseItem10startAngleEv @ 9375 NONAME + _ZNK20QGraphicsEllipseItem12boundingRectEv @ 9376 NONAME + _ZNK20QGraphicsEllipseItem12isObscuredByEPK13QGraphicsItem @ 9377 NONAME + _ZNK20QGraphicsEllipseItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9378 NONAME + _ZNK20QGraphicsEllipseItem4rectEv @ 9379 NONAME + _ZNK20QGraphicsEllipseItem4typeEv @ 9380 NONAME + _ZNK20QGraphicsEllipseItem5shapeEv @ 9381 NONAME + _ZNK20QGraphicsEllipseItem8containsERK7QPointF @ 9382 NONAME + _ZNK20QGraphicsEllipseItem9extensionERK8QVariant @ 9383 NONAME + _ZNK20QGraphicsEllipseItem9spanAngleEv @ 9384 NONAME + _ZNK20QGraphicsItemPrivate13isProxyWidgetEv @ 9385 NONAME + _ZNK20QGraphicsItemPrivate14extraItemCacheEv @ 9386 NONAME + _ZNK20QGraphicsItemPrivate15initStyleOptionEP24QStyleOptionGraphicsItemRK10QTransformRK7QRegionb @ 9387 NONAME + _ZNK20QGraphicsItemPrivate19genericMapFromSceneERK7QPointFPK7QWidget @ 9388 NONAME + _ZNK20QGraphicsItemPrivate19maybeExtraItemCacheEv @ 9389 NONAME + _ZNK20QGraphicsItemPrivate20discardUpdateRequestEbbbb @ 9390 NONAME + _ZNK20QGraphicsItemPrivate21effectiveBoundingRectEv @ 9391 NONAME + _ZNK20QGraphicsItemPrivate22inputMethodQueryHelperEN2Qt16InputMethodQueryE @ 9392 NONAME + _ZNK20QGraphicsItemPrivate24combineTransformToParentEP10QTransformPKS0_ @ 9393 NONAME + _ZNK20QGraphicsItemPrivate26combineTransformFromParentEP10QTransformPKS0_ @ 9394 NONAME + _ZNK20QGraphicsItemPrivate26sceneEffectiveBoundingRectEv @ 9395 NONAME + _ZNK20QGraphicsItemPrivate5depthEv @ 9396 NONAME + _ZNK20QGraphicsPolygonItem10opaqueAreaEv @ 9397 NONAME + _ZNK20QGraphicsPolygonItem12boundingRectEv @ 9398 NONAME + _ZNK20QGraphicsPolygonItem12isObscuredByEPK13QGraphicsItem @ 9399 NONAME + _ZNK20QGraphicsPolygonItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9400 NONAME + _ZNK20QGraphicsPolygonItem4typeEv @ 9401 NONAME + _ZNK20QGraphicsPolygonItem5shapeEv @ 9402 NONAME + _ZNK20QGraphicsPolygonItem7polygonEv @ 9403 NONAME + _ZNK20QGraphicsPolygonItem8containsERK7QPointF @ 9404 NONAME + _ZNK20QGraphicsPolygonItem8fillRuleEv @ 9405 NONAME + _ZNK20QGraphicsPolygonItem9extensionERK8QVariant @ 9406 NONAME + _ZNK20QGraphicsProxyWidget10metaObjectEv @ 9407 NONAME + _ZNK20QGraphicsProxyWidget13subWidgetRectEPK7QWidget @ 9408 NONAME + _ZNK20QGraphicsProxyWidget4typeEv @ 9409 NONAME + _ZNK20QGraphicsProxyWidget6widgetEv @ 9410 NONAME + _ZNK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF @ 9411 NONAME + _ZNK20QPaintBufferResource10metaObjectEv @ 9412 NONAME + _ZNK20QPictureFormatPlugin10metaObjectEv @ 9413 NONAME + _ZNK20QWidgetResizeHandler10metaObjectEv @ 9414 NONAME + _ZNK20QWidgetResizeHandler8isActiveENS_6ActionE @ 9415 NONAME + _ZNK21QAbstractItemDelegate10metaObjectEv @ 9416 NONAME + _ZNK21QAbstractItemDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 9417 NONAME + _ZNK21QAbstractItemDelegate12setModelDataEP7QWidgetP18QAbstractItemModelRK11QModelIndex @ 9418 NONAME + _ZNK21QAbstractItemDelegate13setEditorDataEP7QWidgetRK11QModelIndex @ 9419 NONAME + _ZNK21QAbstractItemDelegate20updateEditorGeometryEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex @ 9420 NONAME + _ZNK21QGraphicsAnchorLayout15verticalSpacingEv @ 9421 NONAME + _ZNK21QGraphicsAnchorLayout17horizontalSpacingEv @ 9422 NONAME + _ZNK21QGraphicsAnchorLayout5countEv @ 9423 NONAME + _ZNK21QGraphicsAnchorLayout6itemAtEi @ 9424 NONAME + _ZNK21QGraphicsAnchorLayout8sizeHintEN2Qt8SizeHintERK6QSizeF @ 9425 NONAME + _ZNK21QGraphicsEffectSource10deviceRectEv @ 9426 NONAME + _ZNK21QGraphicsEffectSource10metaObjectEv @ 9427 NONAME + _ZNK21QGraphicsEffectSource11styleOptionEv @ 9428 NONAME + _ZNK21QGraphicsEffectSource12boundingRectEN2Qt16CoordinateSystemE @ 9429 NONAME + _ZNK21QGraphicsEffectSource12graphicsItemEv @ 9430 NONAME + _ZNK21QGraphicsEffectSource6pixmapEN2Qt16CoordinateSystemEP6QPoint @ 9431 NONAME + _ZNK21QGraphicsEffectSource6widgetEv @ 9432 NONAME + _ZNK21QGraphicsEffectSource8isPixmapEv @ 9433 NONAME + _ZNK21QGraphicsLinearLayout11itemSpacingEi @ 9434 NONAME + _ZNK21QGraphicsLinearLayout11orientationEv @ 9435 NONAME + _ZNK21QGraphicsLinearLayout13stretchFactorEP19QGraphicsLayoutItem @ 9436 NONAME + _ZNK21QGraphicsLinearLayout5countEv @ 9437 NONAME + _ZNK21QGraphicsLinearLayout6itemAtEi @ 9438 NONAME + _ZNK21QGraphicsLinearLayout7spacingEv @ 9439 NONAME + _ZNK21QGraphicsLinearLayout8sizeHintEN2Qt8SizeHintERK6QSizeF @ 9440 NONAME + _ZNK21QGraphicsLinearLayout9alignmentEP19QGraphicsLayoutItem @ 9441 NONAME + _ZNK21QGraphicsSystemPlugin10metaObjectEv @ 9442 NONAME + _ZNK21QMouseEventTransition10metaObjectEv @ 9443 NONAME + _ZNK21QMouseEventTransition13modifiersMaskEv @ 9444 NONAME + _ZNK21QMouseEventTransition4pathEv @ 9445 NONAME + _ZNK21QMouseEventTransition6buttonEv @ 9446 NONAME + _ZNK21QPaintEngineExPrivate17hasClipOperationsEv @ 9447 NONAME + _ZNK21QPixmapColorizeFilter10metaObjectEv @ 9448 NONAME + _ZNK21QPixmapColorizeFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 9449 NONAME + _ZNK21QPixmapColorizeFilter5colorEv @ 9450 NONAME + _ZNK21QPixmapColorizeFilter8strengthEv @ 9451 NONAME + _ZNK21QSortFilterProxyModel10filterRoleEv @ 9452 NONAME + _ZNK21QSortFilterProxyModel10headerDataEiN2Qt11OrientationEi @ 9453 NONAME + _ZNK21QSortFilterProxyModel10metaObjectEv @ 9454 NONAME + _ZNK21QSortFilterProxyModel10sortColumnEv @ 9455 NONAME + _ZNK21QSortFilterProxyModel11columnCountERK11QModelIndex @ 9456 NONAME + _ZNK21QSortFilterProxyModel11hasChildrenERK11QModelIndex @ 9457 NONAME + _ZNK21QSortFilterProxyModel11mapToSourceERK11QModelIndex @ 9458 NONAME + _ZNK21QSortFilterProxyModel12canFetchMoreERK11QModelIndex @ 9459 NONAME + _ZNK21QSortFilterProxyModel12filterRegExpEv @ 9460 NONAME + _ZNK21QSortFilterProxyModel13mapFromSourceERK11QModelIndex @ 9461 NONAME + _ZNK21QSortFilterProxyModel15filterKeyColumnEv @ 9462 NONAME + _ZNK21QSortFilterProxyModel16filterAcceptsRowEiRK11QModelIndex @ 9463 NONAME + _ZNK21QSortFilterProxyModel17dynamicSortFilterEv @ 9464 NONAME + _ZNK21QSortFilterProxyModel17isSortLocaleAwareEv @ 9465 NONAME + _ZNK21QSortFilterProxyModel19filterAcceptsColumnEiRK11QModelIndex @ 9466 NONAME + _ZNK21QSortFilterProxyModel19sortCaseSensitivityEv @ 9467 NONAME + _ZNK21QSortFilterProxyModel20mapSelectionToSourceERK14QItemSelection @ 9468 NONAME + _ZNK21QSortFilterProxyModel20supportedDropActionsEv @ 9469 NONAME + _ZNK21QSortFilterProxyModel21filterCaseSensitivityEv @ 9470 NONAME + _ZNK21QSortFilterProxyModel22mapSelectionFromSourceERK14QItemSelection @ 9471 NONAME + _ZNK21QSortFilterProxyModel4dataERK11QModelIndexi @ 9472 NONAME + _ZNK21QSortFilterProxyModel4spanERK11QModelIndex @ 9473 NONAME + _ZNK21QSortFilterProxyModel5buddyERK11QModelIndex @ 9474 NONAME + _ZNK21QSortFilterProxyModel5flagsERK11QModelIndex @ 9475 NONAME + _ZNK21QSortFilterProxyModel5indexEiiRK11QModelIndex @ 9476 NONAME + _ZNK21QSortFilterProxyModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 9477 NONAME + _ZNK21QSortFilterProxyModel6parentERK11QModelIndex @ 9478 NONAME + _ZNK21QSortFilterProxyModel8lessThanERK11QModelIndexS2_ @ 9479 NONAME + _ZNK21QSortFilterProxyModel8mimeDataERK5QListI11QModelIndexE @ 9480 NONAME + _ZNK21QSortFilterProxyModel8rowCountERK11QModelIndex @ 9481 NONAME + _ZNK21QSortFilterProxyModel8sortRoleEv @ 9482 NONAME + _ZNK21QSortFilterProxyModel9mimeTypesEv @ 9483 NONAME + _ZNK21QSortFilterProxyModel9sortOrderEv @ 9484 NONAME + _ZNK21QTextDocumentFragment11toPlainTextEv @ 9485 NONAME + _ZNK21QTextDocumentFragment6toHtmlERK10QByteArray @ 9486 NONAME + _ZNK21QTextDocumentFragment6toHtmlEv @ 9487 NONAME + _ZNK21QTextDocumentFragment7isEmptyEv @ 9488 NONAME + _ZNK21QTextFormatCollection12objectFormatEi @ 9489 NONAME + _ZNK21QTextFormatCollection15hasFormatCachedERK11QTextFormat @ 9490 NONAME + _ZNK21QTextFormatCollection17objectFormatIndexEi @ 9491 NONAME + _ZNK21QTextFormatCollection6formatEi @ 9492 NONAME + _ZNK22QGraphicsItemAnimation10metaObjectEv @ 9493 NONAME + _ZNK22QGraphicsItemAnimation10rotationAtEf @ 9494 NONAME + _ZNK22QGraphicsItemAnimation12rotationListEv @ 9495 NONAME + _ZNK22QGraphicsItemAnimation14xTranslationAtEf @ 9496 NONAME + _ZNK22QGraphicsItemAnimation14yTranslationAtEf @ 9497 NONAME + _ZNK22QGraphicsItemAnimation15translationListEv @ 9498 NONAME + _ZNK22QGraphicsItemAnimation15verticalScaleAtEf @ 9499 NONAME + _ZNK22QGraphicsItemAnimation15verticalShearAtEf @ 9500 NONAME + _ZNK22QGraphicsItemAnimation17horizontalScaleAtEf @ 9501 NONAME + _ZNK22QGraphicsItemAnimation17horizontalShearAtEf @ 9502 NONAME + _ZNK22QGraphicsItemAnimation4itemEv @ 9503 NONAME + _ZNK22QGraphicsItemAnimation5posAtEf @ 9504 NONAME + _ZNK22QGraphicsItemAnimation7posListEv @ 9505 NONAME + _ZNK22QGraphicsItemAnimation8matrixAtEf @ 9506 NONAME + _ZNK22QGraphicsItemAnimation8timeLineEv @ 9507 NONAME + _ZNK22QGraphicsItemAnimation9scaleListEv @ 9508 NONAME + _ZNK22QGraphicsItemAnimation9shearListEv @ 9509 NONAME + _ZNK22QGraphicsOpacityEffect10metaObjectEv @ 9510 NONAME + _ZNK22QGraphicsOpacityEffect11opacityMaskEv @ 9511 NONAME + _ZNK22QGraphicsOpacityEffect7opacityEv @ 9512 NONAME + _ZNK23QGraphicsColorizeEffect10metaObjectEv @ 9513 NONAME + _ZNK23QGraphicsColorizeEffect5colorEv @ 9514 NONAME + _ZNK23QGraphicsColorizeEffect8strengthEv @ 9515 NONAME + _ZNK23QGraphicsPixelizeEffect10metaObjectEv @ 9516 NONAME + _ZNK23QGraphicsPixelizeEffect9pixelSizeEv @ 9517 NONAME + _ZNK23QGraphicsSceneHelpEvent8scenePosEv @ 9518 NONAME + _ZNK23QGraphicsSceneHelpEvent9screenPosEv @ 9519 NONAME + _ZNK23QGraphicsSceneMoveEvent6newPosEv @ 9520 NONAME + _ZNK23QGraphicsSceneMoveEvent6oldPosEv @ 9521 NONAME + _ZNK23QGraphicsSimpleTextItem10opaqueAreaEv @ 9522 NONAME + _ZNK23QGraphicsSimpleTextItem12boundingRectEv @ 9523 NONAME + _ZNK23QGraphicsSimpleTextItem12isObscuredByEPK13QGraphicsItem @ 9524 NONAME + _ZNK23QGraphicsSimpleTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 9525 NONAME + _ZNK23QGraphicsSimpleTextItem4fontEv @ 9526 NONAME + _ZNK23QGraphicsSimpleTextItem4textEv @ 9527 NONAME + _ZNK23QGraphicsSimpleTextItem4typeEv @ 9528 NONAME + _ZNK23QGraphicsSimpleTextItem5shapeEv @ 9529 NONAME + _ZNK23QGraphicsSimpleTextItem8containsERK7QPointF @ 9530 NONAME + _ZNK23QGraphicsSimpleTextItem9extensionERK8QVariant @ 9531 NONAME + _ZNK23QPaintBufferSignalProxy10metaObjectEv @ 9532 NONAME + _ZNK23QPixmapDropShadowFilter10blurRadiusEv @ 9533 NONAME + _ZNK23QPixmapDropShadowFilter10metaObjectEv @ 9534 NONAME + _ZNK23QPixmapDropShadowFilter15boundingRectForERK6QRectF @ 9535 NONAME + _ZNK23QPixmapDropShadowFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 9536 NONAME + _ZNK23QPixmapDropShadowFilter5colorEv @ 9537 NONAME + _ZNK23QPixmapDropShadowFilter6offsetEv @ 9538 NONAME + _ZNK23QTreeWidgetItemIterator12matchesFlagsEPK15QTreeWidgetItem @ 9539 NONAME + _ZNK23QWindowStateChangeEvent10isOverrideEv @ 9540 NONAME + _ZNK24QGraphicsGrayscaleEffect10metaObjectEv @ 9541 NONAME + _ZNK24QGraphicsGrayscaleEffect8strengthEv @ 9542 NONAME + _ZNK24QGraphicsSceneHoverEvent12lastScenePosEv @ 9543 NONAME + _ZNK24QGraphicsSceneHoverEvent13lastScreenPosEv @ 9544 NONAME + _ZNK24QGraphicsSceneHoverEvent3posEv @ 9545 NONAME + _ZNK24QGraphicsSceneHoverEvent7lastPosEv @ 9546 NONAME + _ZNK24QGraphicsSceneHoverEvent8scenePosEv @ 9547 NONAME + _ZNK24QGraphicsSceneHoverEvent9modifiersEv @ 9548 NONAME + _ZNK24QGraphicsSceneHoverEvent9screenPosEv @ 9549 NONAME + _ZNK24QGraphicsSceneMouseEvent12lastScenePosEv @ 9550 NONAME + _ZNK24QGraphicsSceneMouseEvent13buttonDownPosEN2Qt11MouseButtonE @ 9551 NONAME + _ZNK24QGraphicsSceneMouseEvent13lastScreenPosEv @ 9552 NONAME + _ZNK24QGraphicsSceneMouseEvent18buttonDownScenePosEN2Qt11MouseButtonE @ 9553 NONAME + _ZNK24QGraphicsSceneMouseEvent19buttonDownScreenPosEN2Qt11MouseButtonE @ 9554 NONAME + _ZNK24QGraphicsSceneMouseEvent3posEv @ 9555 NONAME + _ZNK24QGraphicsSceneMouseEvent6buttonEv @ 9556 NONAME + _ZNK24QGraphicsSceneMouseEvent7buttonsEv @ 9557 NONAME + _ZNK24QGraphicsSceneMouseEvent7lastPosEv @ 9558 NONAME + _ZNK24QGraphicsSceneMouseEvent8scenePosEv @ 9559 NONAME + _ZNK24QGraphicsSceneMouseEvent9modifiersEv @ 9560 NONAME + _ZNK24QGraphicsSceneMouseEvent9screenPosEv @ 9561 NONAME + _ZNK24QGraphicsSceneWheelEvent11orientationEv @ 9562 NONAME + _ZNK24QGraphicsSceneWheelEvent3posEv @ 9563 NONAME + _ZNK24QGraphicsSceneWheelEvent5deltaEv @ 9564 NONAME + _ZNK24QGraphicsSceneWheelEvent7buttonsEv @ 9565 NONAME + _ZNK24QGraphicsSceneWheelEvent8scenePosEv @ 9566 NONAME + _ZNK24QGraphicsSceneWheelEvent9modifiersEv @ 9567 NONAME + _ZNK24QGraphicsSceneWheelEvent9screenPosEv @ 9568 NONAME + _ZNK24QPixmapConvolutionFilter10metaObjectEv @ 9569 NONAME + _ZNK24QPixmapConvolutionFilter15boundingRectForERK6QRectF @ 9570 NONAME + _ZNK24QPixmapConvolutionFilter17convolutionKernelEv @ 9571 NONAME + _ZNK24QPixmapConvolutionFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 9572 NONAME + _ZNK24QPixmapConvolutionFilter4rowsEv @ 9573 NONAME + _ZNK24QPixmapConvolutionFilter7columnsEv @ 9574 NONAME + _ZNK24QPlainTextDocumentLayout10metaObjectEv @ 9575 NONAME + _ZNK24QPlainTextDocumentLayout11cursorWidthEv @ 9576 NONAME + _ZNK24QPlainTextDocumentLayout12documentSizeEv @ 9577 NONAME + _ZNK24QPlainTextDocumentLayout17blockBoundingRectERK10QTextBlock @ 9578 NONAME + _ZNK24QPlainTextDocumentLayout17ensureBlockLayoutERK10QTextBlock @ 9579 NONAME + _ZNK24QPlainTextDocumentLayout17frameBoundingRectEP10QTextFrame @ 9580 NONAME + _ZNK24QPlainTextDocumentLayout4privEv @ 9581 NONAME + _ZNK24QPlainTextDocumentLayout7hitTestERK7QPointFN2Qt15HitTestAccuracyE @ 9582 NONAME + _ZNK24QPlainTextDocumentLayout9pageCountEv @ 9583 NONAME + _ZNK24QPlainTextDocumentLayout9textWidthEv @ 9584 NONAME + _ZNK25QGraphicsDropShadowEffect10blurRadiusEv @ 9585 NONAME + _ZNK25QGraphicsDropShadowEffect10metaObjectEv @ 9586 NONAME + _ZNK25QGraphicsDropShadowEffect15boundingRectForERK6QRectF @ 9587 NONAME + _ZNK25QGraphicsDropShadowEffect5colorEv @ 9588 NONAME + _ZNK25QGraphicsDropShadowEffect6offsetEv @ 9589 NONAME + _ZNK25QGraphicsSceneResizeEvent7newSizeEv @ 9590 NONAME + _ZNK25QGraphicsSceneResizeEvent7oldSizeEv @ 9591 NONAME + _ZNK26QAbstractGraphicsShapeItem10opaqueAreaEv @ 9592 NONAME + _ZNK26QAbstractGraphicsShapeItem12isObscuredByEPK13QGraphicsItem @ 9593 NONAME + _ZNK26QAbstractGraphicsShapeItem3penEv @ 9594 NONAME + _ZNK26QAbstractGraphicsShapeItem5brushEv @ 9595 NONAME + _ZNK27QAbstractTextDocumentLayout10metaObjectEv @ 9596 NONAME + _ZNK27QAbstractTextDocumentLayout11paintDeviceEv @ 9597 NONAME + _ZNK27QAbstractTextDocumentLayout16handlerForObjectEi @ 9598 NONAME + _ZNK27QAbstractTextDocumentLayout8anchorAtERK7QPointF @ 9599 NONAME + _ZNK27QAbstractTextDocumentLayout8documentEv @ 9600 NONAME + _ZNK27QGraphicsSceneDragDropEvent10dropActionEv @ 9601 NONAME + _ZNK27QGraphicsSceneDragDropEvent14proposedActionEv @ 9602 NONAME + _ZNK27QGraphicsSceneDragDropEvent15possibleActionsEv @ 9603 NONAME + _ZNK27QGraphicsSceneDragDropEvent3posEv @ 9604 NONAME + _ZNK27QGraphicsSceneDragDropEvent6sourceEv @ 9605 NONAME + _ZNK27QGraphicsSceneDragDropEvent7buttonsEv @ 9606 NONAME + _ZNK27QGraphicsSceneDragDropEvent8mimeDataEv @ 9607 NONAME + _ZNK27QGraphicsSceneDragDropEvent8scenePosEv @ 9608 NONAME + _ZNK27QGraphicsSceneDragDropEvent9modifiersEv @ 9609 NONAME + _ZNK27QGraphicsSceneDragDropEvent9screenPosEv @ 9610 NONAME + _ZNK30QGraphicsSceneContextMenuEvent3posEv @ 9611 NONAME + _ZNK30QGraphicsSceneContextMenuEvent6reasonEv @ 9612 NONAME + _ZNK30QGraphicsSceneContextMenuEvent8scenePosEv @ 9613 NONAME + _ZNK30QGraphicsSceneContextMenuEvent9modifiersEv @ 9614 NONAME + _ZNK30QGraphicsSceneContextMenuEvent9screenPosEv @ 9615 NONAME + _ZNK4QCss13StyleSelector14nodeNameEqualsENS0_7NodePtrERK7QString @ 9616 NONAME + _ZNK4QCss13StyleSelector7nodeIdsENS0_7NodePtrE @ 9617 NONAME + _ZNK4QCss5Value8toStringEv @ 9618 NONAME + _ZNK4QCss6Parser13unquotedLexemEv @ 9619 NONAME + _ZNK4QCss6Symbol5lexemEv @ 9620 NONAME + _ZNK4QPen10dashOffsetEv @ 9621 NONAME + _ZNK4QPen10isCosmeticEv @ 9622 NONAME + _ZNK4QPen10miterLimitEv @ 9623 NONAME + _ZNK4QPen11dashPatternEv @ 9624 NONAME + _ZNK4QPen5brushEv @ 9625 NONAME + _ZNK4QPen5colorEv @ 9626 NONAME + _ZNK4QPen5styleEv @ 9627 NONAME + _ZNK4QPen5widthEv @ 9628 NONAME + _ZNK4QPen6widthFEv @ 9629 NONAME + _ZNK4QPen7isSolidEv @ 9630 NONAME + _ZNK4QPen8capStyleEv @ 9631 NONAME + _ZNK4QPen9joinStyleEv @ 9632 NONAME + _ZNK4QPencv8QVariantEv @ 9633 NONAME + _ZNK4QPeneqERKS_ @ 9634 NONAME + _ZNK5QDial10metaObjectEv @ 9635 NONAME + _ZNK5QDial11notchTargetEv @ 9636 NONAME + _ZNK5QDial14notchesVisibleEv @ 9637 NONAME + _ZNK5QDial15initStyleOptionEP18QStyleOptionSlider @ 9638 NONAME + _ZNK5QDial15minimumSizeHintEv @ 9639 NONAME + _ZNK5QDial8sizeHintEv @ 9640 NONAME + _ZNK5QDial8wrappingEv @ 9641 NONAME + _ZNK5QDial9notchSizeEv @ 9642 NONAME + _ZNK5QDrag10metaObjectEv @ 9643 NONAME + _ZNK5QDrag6pixmapEv @ 9644 NONAME + _ZNK5QDrag6sourceEv @ 9645 NONAME + _ZNK5QDrag6targetEv @ 9646 NONAME + _ZNK5QDrag7hotSpotEv @ 9647 NONAME + _ZNK5QDrag8mimeDataEv @ 9648 NONAME + _ZNK5QFont10exactMatchEv @ 9649 NONAME + _ZNK5QFont10fixedPitchEv @ 9650 NONAME + _ZNK5QFont10pointSizeFEv @ 9651 NONAME + _ZNK5QFont11wordSpacingEv @ 9652 NONAME + _ZNK5QFont13defaultFamilyEv @ 9653 NONAME + _ZNK5QFont13letterSpacingEv @ 9654 NONAME + _ZNK5QFont13styleStrategyEv @ 9655 NONAME + _ZNK5QFont14capitalizationEv @ 9656 NONAME + _ZNK5QFont16lastResortFamilyEv @ 9657 NONAME + _ZNK5QFont17letterSpacingTypeEv @ 9658 NONAME + _ZNK5QFont3keyEv @ 9659 NONAME + _ZNK5QFont5styleEv @ 9660 NONAME + _ZNK5QFont6familyEv @ 9661 NONAME + _ZNK5QFont6weightEv @ 9662 NONAME + _ZNK5QFont7kerningEv @ 9663 NONAME + _ZNK5QFont7rawModeEv @ 9664 NONAME + _ZNK5QFont7resolveERKS_ @ 9665 NONAME + _ZNK5QFont7stretchEv @ 9666 NONAME + _ZNK5QFont8isCopyOfERKS_ @ 9667 NONAME + _ZNK5QFont8overlineEv @ 9668 NONAME + _ZNK5QFont8toStringEv @ 9669 NONAME + _ZNK5QFont9pixelSizeEv @ 9670 NONAME + _ZNK5QFont9pointSizeEv @ 9671 NONAME + _ZNK5QFont9strikeOutEv @ 9672 NONAME + _ZNK5QFont9styleHintEv @ 9673 NONAME + _ZNK5QFont9underlineEv @ 9674 NONAME + _ZNK5QFontcv8QVariantEv @ 9675 NONAME + _ZNK5QFonteqERKS_ @ 9676 NONAME + _ZNK5QFontltERKS_ @ 9677 NONAME + _ZNK5QFontneERKS_ @ 9678 NONAME + _ZNK5QIcon10actualSizeERK5QSizeNS_4ModeENS_5StateE @ 9679 NONAME + _ZNK5QIcon10isDetachedEv @ 9680 NONAME + _ZNK5QIcon12serialNumberEv @ 9681 NONAME + _ZNK5QIcon14availableSizesENS_4ModeENS_5StateE @ 9682 NONAME + _ZNK5QIcon5paintEP8QPainterRK5QRect6QFlagsIN2Qt13AlignmentFlagEENS_4ModeENS_5StateE @ 9683 NONAME + _ZNK5QIcon6isNullEv @ 9684 NONAME + _ZNK5QIcon6pixmapERK5QSizeNS_4ModeENS_5StateE @ 9685 NONAME + _ZNK5QIcon8cacheKeyEv @ 9686 NONAME + _ZNK5QIconcv8QVariantEv @ 9687 NONAME + _ZNK5QMenu10menuActionEv @ 9688 NONAME + _ZNK5QMenu10metaObjectEv @ 9689 NONAME + _ZNK5QMenu11columnCountEv @ 9690 NONAME + _ZNK5QMenu12activeActionEv @ 9691 NONAME + _ZNK5QMenu13defaultActionEv @ 9692 NONAME + _ZNK5QMenu14actionGeometryEP7QAction @ 9693 NONAME + _ZNK5QMenu15initStyleOptionEP20QStyleOptionMenuItemPK7QAction @ 9694 NONAME + _ZNK5QMenu16isTearOffEnabledEv @ 9695 NONAME + _ZNK5QMenu20isTearOffMenuVisibleEv @ 9696 NONAME + _ZNK5QMenu21separatorsCollapsibleEv @ 9697 NONAME + _ZNK5QMenu4iconEv @ 9698 NONAME + _ZNK5QMenu5titleEv @ 9699 NONAME + _ZNK5QMenu7isEmptyEv @ 9700 NONAME + _ZNK5QMenu8actionAtERK6QPoint @ 9701 NONAME + _ZNK5QMenu8sizeHintEv @ 9702 NONAME + _ZNK6QBrush12textureImageEv @ 9703 NONAME + _ZNK6QBrush7textureEv @ 9704 NONAME + _ZNK6QBrush8gradientEv @ 9705 NONAME + _ZNK6QBrush8isOpaqueEv @ 9706 NONAME + _ZNK6QBrushcv8QVariantEv @ 9707 NONAME + _ZNK6QBrusheqERKS_ @ 9708 NONAME + _ZNK6QColor10lightnessFEv @ 9709 NONAME + _ZNK6QColor10saturationEv @ 9710 NONAME + _ZNK6QColor11saturationFEv @ 9711 NONAME + _ZNK6QColor13hslSaturationEv @ 9712 NONAME + _ZNK6QColor13hsvSaturationEv @ 9713 NONAME + _ZNK6QColor14hslSaturationFEv @ 9714 NONAME + _ZNK6QColor14hsvSaturationFEv @ 9715 NONAME + _ZNK6QColor3hueEv @ 9716 NONAME + _ZNK6QColor3redEv @ 9717 NONAME + _ZNK6QColor3rgbEv @ 9718 NONAME + _ZNK6QColor4blueEv @ 9719 NONAME + _ZNK6QColor4cyanEv @ 9720 NONAME + _ZNK6QColor4darkEi @ 9721 NONAME + _ZNK6QColor4hueFEv @ 9722 NONAME + _ZNK6QColor4nameEv @ 9723 NONAME + _ZNK6QColor4redFEv @ 9724 NONAME + _ZNK6QColor4rgbaEv @ 9725 NONAME + _ZNK6QColor5alphaEv @ 9726 NONAME + _ZNK6QColor5blackEv @ 9727 NONAME + _ZNK6QColor5blueFEv @ 9728 NONAME + _ZNK6QColor5cyanFEv @ 9729 NONAME + _ZNK6QColor5greenEv @ 9730 NONAME + _ZNK6QColor5lightEi @ 9731 NONAME + _ZNK6QColor5toHslEv @ 9732 NONAME + _ZNK6QColor5toHsvEv @ 9733 NONAME + _ZNK6QColor5toRgbEv @ 9734 NONAME + _ZNK6QColor5valueEv @ 9735 NONAME + _ZNK6QColor6alphaFEv @ 9736 NONAME + _ZNK6QColor6blackFEv @ 9737 NONAME + _ZNK6QColor6getHslEPiS0_S0_S0_ @ 9738 NONAME + _ZNK6QColor6getHsvEPiS0_S0_S0_ @ 9739 NONAME + _ZNK6QColor6getRgbEPiS0_S0_S0_ @ 9740 NONAME + _ZNK6QColor6greenFEv @ 9741 NONAME + _ZNK6QColor6hslHueEv @ 9742 NONAME + _ZNK6QColor6hsvHueEv @ 9743 NONAME + _ZNK6QColor6toCmykEv @ 9744 NONAME + _ZNK6QColor6valueFEv @ 9745 NONAME + _ZNK6QColor6yellowEv @ 9746 NONAME + _ZNK6QColor7getHslFEPfS0_S0_S0_ @ 9747 NONAME + _ZNK6QColor7getHsvFEPfS0_S0_S0_ @ 9748 NONAME + _ZNK6QColor7getRgbFEPfS0_S0_S0_ @ 9749 NONAME + _ZNK6QColor7hslHueFEv @ 9750 NONAME + _ZNK6QColor7hsvHueFEv @ 9751 NONAME + _ZNK6QColor7magentaEv @ 9752 NONAME + _ZNK6QColor7yellowFEv @ 9753 NONAME + _ZNK6QColor8magentaFEv @ 9754 NONAME + _ZNK6QColor9convertToENS_4SpecE @ 9755 NONAME + _ZNK6QColor9lightnessEv @ 9756 NONAME + _ZNK6QColorcv8QVariantEv @ 9757 NONAME + _ZNK6QColoreqERKS_ @ 9758 NONAME + _ZNK6QColorneERKS_ @ 9759 NONAME + _ZNK6QFrame10frameShapeEv @ 9760 NONAME + _ZNK6QFrame10frameStyleEv @ 9761 NONAME + _ZNK6QFrame10frameWidthEv @ 9762 NONAME + _ZNK6QFrame10metaObjectEv @ 9763 NONAME + _ZNK6QFrame11frameShadowEv @ 9764 NONAME + _ZNK6QFrame12midLineWidthEv @ 9765 NONAME + _ZNK6QFrame8sizeHintEv @ 9766 NONAME + _ZNK6QFrame9frameRectEv @ 9767 NONAME + _ZNK6QFrame9lineWidthEv @ 9768 NONAME + _ZNK6QImage10colorTableEv @ 9769 NONAME + _ZNK6QImage10isDetachedEv @ 9770 NONAME + _ZNK6QImage10pixelIndexEii @ 9771 NONAME + _ZNK6QImage10rgbSwappedEv @ 9772 NONAME + _ZNK6QImage11isGrayscaleEv @ 9773 NONAME + _ZNK6QImage11paintEngineEv @ 9774 NONAME + _ZNK6QImage11transformedERK10QTransformN2Qt18TransformationModeE @ 9775 NONAME + _ZNK6QImage11transformedERK7QMatrixN2Qt18TransformationModeE @ 9776 NONAME + _ZNK6QImage12alphaChannelEv @ 9777 NONAME + _ZNK6QImage12bytesPerLineEv @ 9778 NONAME + _ZNK6QImage12serialNumberEv @ 9779 NONAME + _ZNK6QImage13dotsPerMeterXEv @ 9780 NONAME + _ZNK6QImage13dotsPerMeterYEv @ 9781 NONAME + _ZNK6QImage13scaledToWidthEiN2Qt18TransformationModeE @ 9782 NONAME + _ZNK6QImage13textLanguagesEv @ 9783 NONAME + _ZNK6QImage14scaledToHeightEiN2Qt18TransformationModeE @ 9784 NONAME + _ZNK6QImage15convertToFormatENS_6FormatE6QFlagsIN2Qt19ImageConversionFlagEE @ 9785 NONAME + _ZNK6QImage15convertToFormatENS_6FormatERK7QVectorIjE6QFlagsIN2Qt19ImageConversionFlagEE @ 9786 NONAME + _ZNK6QImage15createAlphaMaskE6QFlagsIN2Qt19ImageConversionFlagEE @ 9787 NONAME + _ZNK6QImage15hasAlphaChannelEv @ 9788 NONAME + _ZNK6QImage19createHeuristicMaskEb @ 9789 NONAME + _ZNK6QImage19createMaskFromColorEjN2Qt8MaskModeE @ 9790 NONAME + _ZNK6QImage4bitsEv @ 9791 NONAME + _ZNK6QImage4copyERK5QRect @ 9792 NONAME + _ZNK6QImage4rectEv @ 9793 NONAME + _ZNK6QImage4saveEP9QIODevicePKci @ 9794 NONAME + _ZNK6QImage4saveERK7QStringPKci @ 9795 NONAME + _ZNK6QImage4sizeEv @ 9796 NONAME + _ZNK6QImage4textEPKcS1_ @ 9797 NONAME + _ZNK6QImage4textERK17QImageTextKeyLang @ 9798 NONAME + _ZNK6QImage4textERK7QString @ 9799 NONAME + _ZNK6QImage5colorEi @ 9800 NONAME + _ZNK6QImage5depthEv @ 9801 NONAME + _ZNK6QImage5pixelEii @ 9802 NONAME + _ZNK6QImage5validEii @ 9803 NONAME + _ZNK6QImage5widthEv @ 9804 NONAME + _ZNK6QImage6formatEv @ 9805 NONAME + _ZNK6QImage6heightEv @ 9806 NONAME + _ZNK6QImage6isNullEv @ 9807 NONAME + _ZNK6QImage6metricEN12QPaintDevice17PaintDeviceMetricE @ 9808 NONAME + _ZNK6QImage6offsetEv @ 9809 NONAME + _ZNK6QImage6scaledERK5QSizeN2Qt15AspectRatioModeENS3_18TransformationModeE @ 9810 NONAME + _ZNK6QImage7allGrayEv @ 9811 NONAME + _ZNK6QImage7devTypeEv @ 9812 NONAME + _ZNK6QImage8cacheKeyEv @ 9813 NONAME + _ZNK6QImage8mirroredEbb @ 9814 NONAME + _ZNK6QImage8numBytesEv @ 9815 NONAME + _ZNK6QImage8scanLineEi @ 9816 NONAME + _ZNK6QImage8textKeysEv @ 9817 NONAME + _ZNK6QImage8textListEv @ 9818 NONAME + _ZNK6QImage9numColorsEv @ 9819 NONAME + _ZNK6QImagecv8QVariantEv @ 9820 NONAME + _ZNK6QImageeqERKS_ @ 9821 NONAME + _ZNK6QImageneERKS_ @ 9822 NONAME + _ZNK6QLabel10metaObjectEv @ 9823 NONAME + _ZNK6QLabel10textFormatEv @ 9824 NONAME + _ZNK6QLabel14heightForWidthEi @ 9825 NONAME + _ZNK6QLabel15minimumSizeHintEv @ 9826 NONAME + _ZNK6QLabel17hasScaledContentsEv @ 9827 NONAME + _ZNK6QLabel17openExternalLinksEv @ 9828 NONAME + _ZNK6QLabel20textInteractionFlagsEv @ 9829 NONAME + _ZNK6QLabel4textEv @ 9830 NONAME + _ZNK6QLabel5buddyEv @ 9831 NONAME + _ZNK6QLabel5movieEv @ 9832 NONAME + _ZNK6QLabel6indentEv @ 9833 NONAME + _ZNK6QLabel6marginEv @ 9834 NONAME + _ZNK6QLabel6pixmapEv @ 9835 NONAME + _ZNK6QLabel7pictureEv @ 9836 NONAME + _ZNK6QLabel8sizeHintEv @ 9837 NONAME + _ZNK6QLabel8wordWrapEv @ 9838 NONAME + _ZNK6QLabel9alignmentEv @ 9839 NONAME + _ZNK6QMovie10frameCountEv @ 9840 NONAME + _ZNK6QMovie10metaObjectEv @ 9841 NONAME + _ZNK6QMovie12currentImageEv @ 9842 NONAME + _ZNK6QMovie13currentPixmapEv @ 9843 NONAME + _ZNK6QMovie14nextFrameDelayEv @ 9844 NONAME + _ZNK6QMovie15backgroundColorEv @ 9845 NONAME + _ZNK6QMovie18currentFrameNumberEv @ 9846 NONAME + _ZNK6QMovie5speedEv @ 9847 NONAME + _ZNK6QMovie5stateEv @ 9848 NONAME + _ZNK6QMovie6deviceEv @ 9849 NONAME + _ZNK6QMovie6formatEv @ 9850 NONAME + _ZNK6QMovie7isValidEv @ 9851 NONAME + _ZNK6QMovie8fileNameEv @ 9852 NONAME + _ZNK6QMovie9cacheModeEv @ 9853 NONAME + _ZNK6QMovie9frameRectEv @ 9854 NONAME + _ZNK6QMovie9loopCountEv @ 9855 NONAME + _ZNK6QSound10isFinishedEv @ 9856 NONAME + _ZNK6QSound10metaObjectEv @ 9857 NONAME + _ZNK6QSound14loopsRemainingEv @ 9858 NONAME + _ZNK6QSound5loopsEv @ 9859 NONAME + _ZNK6QSound8fileNameEv @ 9860 NONAME + _ZNK6QStyle10metaObjectEv @ 9861 NONAME + _ZNK6QStyle12drawItemTextEP8QPainterRK5QRectiRK8QPalettebRK7QStringNS5_9ColorRoleE @ 9862 NONAME + _ZNK6QStyle12itemTextRectERK12QFontMetricsRK5QRectibRK7QString @ 9863 NONAME + _ZNK6QStyle12standardIconENS_14StandardPixmapEPK12QStyleOptionPK7QWidget @ 9864 NONAME + _ZNK6QStyle13layoutSpacingEN11QSizePolicy11ControlTypeES1_N2Qt11OrientationEPK12QStyleOptionPK7QWidget @ 9865 NONAME + _ZNK6QStyle14drawItemPixmapEP8QPainterRK5QRectiRK7QPixmap @ 9866 NONAME + _ZNK6QStyle14itemPixmapRectERK5QRectiRK7QPixmap @ 9867 NONAME + _ZNK6QStyle15standardPaletteEv @ 9868 NONAME + _ZNK6QStyle21combinedLayoutSpacingE6QFlagsIN11QSizePolicy11ControlTypeEES3_N2Qt11OrientationEP12QStyleOptionP7QWidget @ 9869 NONAME + _ZNK6QStyle26standardIconImplementationENS_14StandardPixmapEPK12QStyleOptionPK7QWidget @ 9870 NONAME + _ZNK6QStyle27layoutSpacingImplementationEN11QSizePolicy11ControlTypeES1_N2Qt11OrientationEPK12QStyleOptionPK7QWidget @ 9871 NONAME + _ZNK6QStyle5proxyEv @ 9872 NONAME + _ZNK7QAction10autoRepeatEv @ 9873 NONAME + _ZNK7QAction10metaObjectEv @ 9874 NONAME + _ZNK7QAction11actionGroupEv @ 9875 NONAME + _ZNK7QAction11isCheckableEv @ 9876 NONAME + _ZNK7QAction11isSeparatorEv @ 9877 NONAME + _ZNK7QAction11softKeyRoleEv @ 9878 NONAME + _ZNK7QAction12parentWidgetEv @ 9879 NONAME + _ZNK7QAction15shortcutContextEv @ 9880 NONAME + _ZNK7QAction17associatedWidgetsEv @ 9881 NONAME + _ZNK7QAction19isIconVisibleInMenuEv @ 9882 NONAME + _ZNK7QAction25associatedGraphicsWidgetsEv @ 9883 NONAME + _ZNK7QAction4dataEv @ 9884 NONAME + _ZNK7QAction4fontEv @ 9885 NONAME + _ZNK7QAction4iconEv @ 9886 NONAME + _ZNK7QAction4menuEv @ 9887 NONAME + _ZNK7QAction4textEv @ 9888 NONAME + _ZNK7QAction7toolTipEv @ 9889 NONAME + _ZNK7QAction8iconTextEv @ 9890 NONAME + _ZNK7QAction8menuRoleEv @ 9891 NONAME + _ZNK7QAction8priorityEv @ 9892 NONAME + _ZNK7QAction8shortcutEv @ 9893 NONAME + _ZNK7QAction9isCheckedEv @ 9894 NONAME + _ZNK7QAction9isEnabledEv @ 9895 NONAME + _ZNK7QAction9isVisibleEv @ 9896 NONAME + _ZNK7QAction9shortcutsEv @ 9897 NONAME + _ZNK7QAction9statusTipEv @ 9898 NONAME + _ZNK7QAction9whatsThisEv @ 9899 NONAME + _ZNK7QBezier10addIfCloseEPff @ 9900 NONAME + _ZNK7QBezier12addToPolygonEP9QPolygonF @ 9901 NONAME + _ZNK7QBezier16bezierOnIntervalEff @ 9902 NONAME + _ZNK7QBezier17addToPolygonMixedEP9QPolygonF @ 9903 NONAME + _ZNK7QBezier17stationaryYPointsERfS0_ @ 9904 NONAME + _ZNK7QBezier21addToPolygonIterativeEP9QPolygonF @ 9905 NONAME + _ZNK7QBezier5tForYEfff @ 9906 NONAME + _ZNK7QBezier6boundsEv @ 9907 NONAME + _ZNK7QBezier6lengthEf @ 9908 NONAME + _ZNK7QBezier7shiftedEPS_iff @ 9909 NONAME + _ZNK7QBezier9tAtLengthEf @ 9910 NONAME + _ZNK7QBezier9toPolygonEv @ 9911 NONAME + _ZNK7QBitmap11transformedERK10QTransform @ 9912 NONAME + _ZNK7QBitmap11transformedERK7QMatrix @ 9913 NONAME + _ZNK7QBitmapcv8QVariantEv @ 9914 NONAME + _ZNK7QCursor4maskEv @ 9915 NONAME + _ZNK7QCursor5shapeEv @ 9916 NONAME + _ZNK7QCursor6bitmapEv @ 9917 NONAME + _ZNK7QCursor6handleEv @ 9918 NONAME + _ZNK7QCursor6pixmapEv @ 9919 NONAME + _ZNK7QCursor7hotSpotEv @ 9920 NONAME + _ZNK7QCursorcv8QVariantEv @ 9921 NONAME + _ZNK7QDialog10metaObjectEv @ 9922 NONAME + _ZNK7QDialog11orientationEv @ 9923 NONAME + _ZNK7QDialog15minimumSizeHintEv @ 9924 NONAME + _ZNK7QDialog17isSizeGripEnabledEv @ 9925 NONAME + _ZNK7QDialog6resultEv @ 9926 NONAME + _ZNK7QDialog8sizeHintEv @ 9927 NONAME + _ZNK7QDialog9extensionEv @ 9928 NONAME + _ZNK7QLayout10metaObjectEv @ 9929 NONAME + _ZNK7QLayout11maximumSizeEv @ 9930 NONAME + _ZNK7QLayout11minimumSizeEv @ 9931 NONAME + _ZNK7QLayout12contentsRectEv @ 9932 NONAME + _ZNK7QLayout12parentWidgetEv @ 9933 NONAME + _ZNK7QLayout13alignmentRectERK5QRect @ 9934 NONAME + _ZNK7QLayout13totalSizeHintEv @ 9935 NONAME + _ZNK7QLayout14sizeConstraintEv @ 9936 NONAME + _ZNK7QLayout16totalMaximumSizeEv @ 9937 NONAME + _ZNK7QLayout16totalMinimumSizeEv @ 9938 NONAME + _ZNK7QLayout18getContentsMarginsEPiS0_S0_S0_ @ 9939 NONAME + _ZNK7QLayout19expandingDirectionsEv @ 9940 NONAME + _ZNK7QLayout19totalHeightForWidthEi @ 9941 NONAME + _ZNK7QLayout6marginEv @ 9942 NONAME + _ZNK7QLayout7indexOfEP7QWidget @ 9943 NONAME + _ZNK7QLayout7isEmptyEv @ 9944 NONAME + _ZNK7QLayout7menuBarEv @ 9945 NONAME + _ZNK7QLayout7spacingEv @ 9946 NONAME + _ZNK7QLayout8geometryEv @ 9947 NONAME + _ZNK7QLayout9isEnabledEv @ 9948 NONAME + _ZNK7QMatrix12mapToPolygonERK5QRect @ 9949 NONAME + _ZNK7QMatrix3mapERK12QPainterPath @ 9950 NONAME + _ZNK7QMatrix3mapERK5QLine @ 9951 NONAME + _ZNK7QMatrix3mapERK6QLineF @ 9952 NONAME + _ZNK7QMatrix3mapERK6QPoint @ 9953 NONAME + _ZNK7QMatrix3mapERK7QPointF @ 9954 NONAME + _ZNK7QMatrix3mapERK7QRegion @ 9955 NONAME + _ZNK7QMatrix3mapERK8QPolygon @ 9956 NONAME + _ZNK7QMatrix3mapERK9QPolygonF @ 9957 NONAME + _ZNK7QMatrix3mapEffPfS0_ @ 9958 NONAME + _ZNK7QMatrix3mapEiiPiS0_ @ 9959 NONAME + _ZNK7QMatrix7mapRectERK5QRect @ 9960 NONAME + _ZNK7QMatrix7mapRectERK6QRectF @ 9961 NONAME + _ZNK7QMatrix8invertedEPb @ 9962 NONAME + _ZNK7QMatrixcv8QVariantEv @ 9963 NONAME + _ZNK7QMatrixeqERKS_ @ 9964 NONAME + _ZNK7QMatrixmlERKS_ @ 9965 NONAME + _ZNK7QMatrixneERKS_ @ 9966 NONAME + _ZNK7QPixmap10isDetachedEv @ 9967 NONAME + _ZNK7QPixmap10pixmapDataEv @ 9968 NONAME + _ZNK7QPixmap11paintEngineEv @ 9969 NONAME + _ZNK7QPixmap11transformedERK10QTransformN2Qt18TransformationModeE @ 9970 NONAME + _ZNK7QPixmap11transformedERK7QMatrixN2Qt18TransformationModeE @ 9971 NONAME + _ZNK7QPixmap12alphaChannelEv @ 9972 NONAME + _ZNK7QPixmap12serialNumberEv @ 9973 NONAME + _ZNK7QPixmap13scaledToWidthEiN2Qt18TransformationModeE @ 9974 NONAME + _ZNK7QPixmap14scaledToHeightEiN2Qt18TransformationModeE @ 9975 NONAME + _ZNK7QPixmap15hasAlphaChannelEv @ 9976 NONAME + _ZNK7QPixmap17toSymbianRSgImageEv @ 9977 NONAME + _ZNK7QPixmap19createHeuristicMaskEb @ 9978 NONAME + _ZNK7QPixmap19createMaskFromColorERK6QColor @ 9979 NONAME + _ZNK7QPixmap19createMaskFromColorERK6QColorN2Qt8MaskModeE @ 9980 NONAME + _ZNK7QPixmap19toSymbianCFbsBitmapEv @ 9981 NONAME + _ZNK7QPixmap4copyERK5QRect @ 9982 NONAME + _ZNK7QPixmap4maskEv @ 9983 NONAME + _ZNK7QPixmap4rectEv @ 9984 NONAME + _ZNK7QPixmap4saveEP9QIODevicePKci @ 9985 NONAME + _ZNK7QPixmap4saveERK7QStringPKci @ 9986 NONAME + _ZNK7QPixmap4sizeEv @ 9987 NONAME + _ZNK7QPixmap5depthEv @ 9988 NONAME + _ZNK7QPixmap5widthEv @ 9989 NONAME + _ZNK7QPixmap6heightEv @ 9990 NONAME + _ZNK7QPixmap6isNullEv @ 9991 NONAME + _ZNK7QPixmap6metricEN12QPaintDevice17PaintDeviceMetricE @ 9992 NONAME + _ZNK7QPixmap6scaledERK5QSizeN2Qt15AspectRatioModeENS3_18TransformationModeE @ 9993 NONAME + _ZNK7QPixmap7devTypeEv @ 9994 NONAME + _ZNK7QPixmap7toImageEv @ 9995 NONAME + _ZNK7QPixmap8cacheKeyEv @ 9996 NONAME + _ZNK7QPixmap8hasAlphaEv @ 9997 NONAME + _ZNK7QPixmap9doImageIOEP12QImageWriteri @ 9998 NONAME + _ZNK7QPixmap9isQBitmapEv @ 9999 NONAME + _ZNK7QPixmapcv8QVariantEv @ 10000 NONAME + _ZNK7QRegion10intersectsERK5QRect @ 10001 NONAME + _ZNK7QRegion10intersectsERKS_ @ 10002 NONAME + _ZNK7QRegion10translatedEii @ 10003 NONAME + _ZNK7QRegion12boundingRectEv @ 10004 NONAME + _ZNK7QRegion3eorERKS_ @ 10005 NONAME + _ZNK7QRegion4copyEv @ 10006 NONAME + _ZNK7QRegion5rectsEv @ 10007 NONAME + _ZNK7QRegion5uniteERK5QRect @ 10008 NONAME + _ZNK7QRegion5uniteERKS_ @ 10009 NONAME + _ZNK7QRegion7isEmptyEv @ 10010 NONAME + _ZNK7QRegion8containsERK5QRect @ 10011 NONAME + _ZNK7QRegion8containsERK6QPoint @ 10012 NONAME + _ZNK7QRegion8numRectsEv @ 10013 NONAME + _ZNK7QRegion8subtractERKS_ @ 10014 NONAME + _ZNK7QRegion9intersectERK5QRect @ 10015 NONAME + _ZNK7QRegion9intersectERKS_ @ 10016 NONAME + _ZNK7QRegionanERK5QRect @ 10017 NONAME + _ZNK7QRegionanERKS_ @ 10018 NONAME + _ZNK7QRegioncv8QVariantEv @ 10019 NONAME + _ZNK7QRegioneoERKS_ @ 10020 NONAME + _ZNK7QRegioneqERKS_ @ 10021 NONAME + _ZNK7QRegionmiERKS_ @ 10022 NONAME + _ZNK7QRegionorERKS_ @ 10023 NONAME + _ZNK7QRegionplERK5QRect @ 10024 NONAME + _ZNK7QRegionplERKS_ @ 10025 NONAME + _ZNK7QSlider10metaObjectEv @ 10026 NONAME + _ZNK7QSlider12tickIntervalEv @ 10027 NONAME + _ZNK7QSlider12tickPositionEv @ 10028 NONAME + _ZNK7QSlider15initStyleOptionEP18QStyleOptionSlider @ 10029 NONAME + _ZNK7QSlider15minimumSizeHintEv @ 10030 NONAME + _ZNK7QSlider8sizeHintEv @ 10031 NONAME + _ZNK7QTabBar10metaObjectEv @ 10032 NONAME + _ZNK7QTabBar10tabToolTipEi @ 10033 NONAME + _ZNK7QTabBar11tabSizeHintEi @ 10034 NONAME + _ZNK7QTabBar12currentIndexEv @ 10035 NONAME + _ZNK7QTabBar12documentModeEv @ 10036 NONAME + _ZNK7QTabBar12isTabEnabledEi @ 10037 NONAME + _ZNK7QTabBar12tabTextColorEi @ 10038 NONAME + _ZNK7QTabBar12tabWhatsThisEi @ 10039 NONAME + _ZNK7QTabBar12tabsClosableEv @ 10040 NONAME + _ZNK7QTabBar15initStyleOptionEP15QStyleOptionTabi @ 10041 NONAME + _ZNK7QTabBar15minimumSizeHintEv @ 10042 NONAME + _ZNK7QTabBar17usesScrollButtonsEv @ 10043 NONAME + _ZNK7QTabBar25selectionBehaviorOnRemoveEv @ 10044 NONAME + _ZNK7QTabBar5countEv @ 10045 NONAME + _ZNK7QTabBar5shapeEv @ 10046 NONAME + _ZNK7QTabBar5tabAtERK6QPoint @ 10047 NONAME + _ZNK7QTabBar7tabDataEi @ 10048 NONAME + _ZNK7QTabBar7tabIconEi @ 10049 NONAME + _ZNK7QTabBar7tabRectEi @ 10050 NONAME + _ZNK7QTabBar7tabTextEi @ 10051 NONAME + _ZNK7QTabBar8drawBaseEv @ 10052 NONAME + _ZNK7QTabBar8iconSizeEv @ 10053 NONAME + _ZNK7QTabBar8sizeHintEv @ 10054 NONAME + _ZNK7QTabBar9elideModeEv @ 10055 NONAME + _ZNK7QTabBar9expandingEv @ 10056 NONAME + _ZNK7QTabBar9isMovableEv @ 10057 NONAME + _ZNK7QTabBar9tabButtonEiNS_14ButtonPositionE @ 10058 NONAME + _ZNK7QWidget10focusProxyEv @ 10059 NONAME + _ZNK7QWidget10metaObjectEv @ 10060 NONAME + _ZNK7QWidget10sizePolicyEv @ 10061 NONAME + _ZNK7QWidget10styleSheetEv @ 10062 NONAME + _ZNK7QWidget10windowIconEv @ 10063 NONAME + _ZNK7QWidget10windowRoleEv @ 10064 NONAME + _ZNK7QWidget11acceptDropsEv @ 10065 NONAME + _ZNK7QWidget11focusPolicyEv @ 10066 NONAME + _ZNK7QWidget11focusWidgetEv @ 10067 NONAME + _ZNK7QWidget11isEnabledToEPS_ @ 10068 NONAME + _ZNK7QWidget11isMaximizedEv @ 10069 NONAME + _ZNK7QWidget11isMinimizedEv @ 10070 NONAME + _ZNK7QWidget11isVisibleToEPS_ @ 10071 NONAME + _ZNK7QWidget11mapToGlobalERK6QPoint @ 10072 NONAME + _ZNK7QWidget11mapToParentERK6QPoint @ 10073 NONAME + _ZNK7QWidget11maximumSizeEv @ 10074 NONAME + _ZNK7QWidget11minimumSizeEv @ 10075 NONAME + _ZNK7QWidget11paintEngineEv @ 10076 NONAME + _ZNK7QWidget11windowStateEv @ 10077 NONAME + _ZNK7QWidget11windowTitleEv @ 10078 NONAME + _ZNK7QWidget12childrenRectEv @ 10079 NONAME + _ZNK7QWidget12contentsRectEv @ 10080 NONAME + _ZNK7QWidget12hasEditFocusEv @ 10081 NONAME + _ZNK7QWidget12isAncestorOfEPKS_ @ 10082 NONAME + _ZNK7QWidget12isFullScreenEv @ 10083 NONAME + _ZNK7QWidget12saveGeometryEv @ 10084 NONAME + _ZNK7QWidget13frameGeometryEv @ 10085 NONAME + _ZNK7QWidget13mapFromGlobalERK6QPoint @ 10086 NONAME + _ZNK7QWidget13mapFromParentERK6QPoint @ 10087 NONAME + _ZNK7QWidget13sizeIncrementEv @ 10088 NONAME + _ZNK7QWidget13visibleRegionEv @ 10089 NONAME + _ZNK7QWidget13windowOpacityEv @ 10090 NONAME + _ZNK7QWidget13windowSurfaceEv @ 10091 NONAME + _ZNK7QWidget14backgroundRoleEv @ 10092 NONAME + _ZNK7QWidget14childrenRegionEv @ 10093 NONAME + _ZNK7QWidget14effectiveWinIdEv @ 10094 NONAME + _ZNK7QWidget14ensurePolishedEv @ 10095 NONAME + _ZNK7QWidget14foregroundRoleEv @ 10096 NONAME + _ZNK7QWidget14graphicsEffectEv @ 10097 NONAME + _ZNK7QWidget14heightForWidthEi @ 10098 NONAME + _ZNK7QWidget14isActiveWindowEv @ 10099 NONAME + _ZNK7QWidget14normalGeometryEv @ 10100 NONAME + _ZNK7QWidget14windowFilePathEv @ 10101 NONAME + _ZNK7QWidget14windowIconTextEv @ 10102 NONAME + _ZNK7QWidget14windowModalityEv @ 10103 NONAME + _ZNK7QWidget15contentsMarginsEv @ 10104 NONAME + _ZNK7QWidget15layoutDirectionEv @ 10105 NONAME + _ZNK7QWidget15minimumSizeHintEv @ 10106 NONAME + _ZNK7QWidget16inputMethodHintsEv @ 10107 NONAME + _ZNK7QWidget16inputMethodQueryEN2Qt16InputMethodQueryE @ 10108 NONAME + _ZNK7QWidget16isWindowModifiedEv @ 10109 NONAME + _ZNK7QWidget16nextInFocusChainEv @ 10110 NONAME + _ZNK7QWidget17contextMenuPolicyEv @ 10111 NONAME + _ZNK7QWidget18autoFillBackgroundEv @ 10112 NONAME + _ZNK7QWidget18getContentsMarginsEPiS0_S0_S0_ @ 10113 NONAME + _ZNK7QWidget18nativeParentWidgetEv @ 10114 NONAME + _ZNK7QWidget19graphicsProxyWidgetEv @ 10115 NONAME + _ZNK7QWidget1xEv @ 10116 NONAME + _ZNK7QWidget1yEv @ 10117 NONAME + _ZNK7QWidget20previousInFocusChainEv @ 10118 NONAME + _ZNK7QWidget20testAttribute_helperEN2Qt15WidgetAttributeE @ 10119 NONAME + _ZNK7QWidget3posEv @ 10120 NONAME + _ZNK7QWidget4maskEv @ 10121 NONAME + _ZNK7QWidget5mapToEPS_RK6QPoint @ 10122 NONAME + _ZNK7QWidget5styleEv @ 10123 NONAME + _ZNK7QWidget5winIdEv @ 10124 NONAME + _ZNK7QWidget6cursorEv @ 10125 NONAME + _ZNK7QWidget6handleEv @ 10126 NONAME + _ZNK7QWidget6layoutEv @ 10127 NONAME + _ZNK7QWidget6localeEv @ 10128 NONAME + _ZNK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE @ 10129 NONAME + _ZNK7QWidget6windowEv @ 10130 NONAME + _ZNK7QWidget7actionsEv @ 10131 NONAME + _ZNK7QWidget7childAtERK6QPoint @ 10132 NONAME + _ZNK7QWidget7devTypeEv @ 10133 NONAME + _ZNK7QWidget7mapFromEPS_RK6QPoint @ 10134 NONAME + _ZNK7QWidget7paletteEv @ 10135 NONAME + _ZNK7QWidget7toolTipEv @ 10136 NONAME + _ZNK7QWidget8baseSizeEv @ 10137 NONAME + _ZNK7QWidget8hasFocusEv @ 10138 NONAME + _ZNK7QWidget8sizeHintEv @ 10139 NONAME + _ZNK7QWidget9frameSizeEv @ 10140 NONAME + _ZNK7QWidget9statusTipEv @ 10141 NONAME + _ZNK7QWidget9whatsThisEv @ 10142 NONAME + _ZNK7QWizard10buttonTextENS_12WizardButtonE @ 10143 NONAME + _ZNK7QWizard10metaObjectEv @ 10144 NONAME + _ZNK7QWizard10testOptionENS_12WizardOptionE @ 10145 NONAME + _ZNK7QWizard11currentPageEv @ 10146 NONAME + _ZNK7QWizard11titleFormatEv @ 10147 NONAME + _ZNK7QWizard11wizardStyleEv @ 10148 NONAME + _ZNK7QWizard12visitedPagesEv @ 10149 NONAME + _ZNK7QWizard14hasVisitedPageEi @ 10150 NONAME + _ZNK7QWizard14subTitleFormatEv @ 10151 NONAME + _ZNK7QWizard4pageEi @ 10152 NONAME + _ZNK7QWizard5fieldERK7QString @ 10153 NONAME + _ZNK7QWizard6buttonENS_12WizardButtonE @ 10154 NONAME + _ZNK7QWizard6nextIdEv @ 10155 NONAME + _ZNK7QWizard6pixmapENS_12WizardPixmapE @ 10156 NONAME + _ZNK7QWizard7optionsEv @ 10157 NONAME + _ZNK7QWizard7pageIdsEv @ 10158 NONAME + _ZNK7QWizard7startIdEv @ 10159 NONAME + _ZNK7QWizard8sizeHintEv @ 10160 NONAME + _ZNK7QWizard9currentIdEv @ 10161 NONAME + _ZNK8QGesture10hasHotSpotEv @ 10162 NONAME + _ZNK8QGesture10metaObjectEv @ 10163 NONAME + _ZNK8QGesture11gestureTypeEv @ 10164 NONAME + _ZNK8QGesture12targetObjectEv @ 10165 NONAME + _ZNK8QGesture5stateEv @ 10166 NONAME + _ZNK8QGesture7hotSpotEv @ 10167 NONAME + _ZNK8QMdiArea10backgroundEv @ 10168 NONAME + _ZNK8QMdiArea10metaObjectEv @ 10169 NONAME + _ZNK8QMdiArea10testOptionENS_10AreaOptionE @ 10170 NONAME + _ZNK8QMdiArea11tabPositionEv @ 10171 NONAME + _ZNK8QMdiArea12documentModeEv @ 10172 NONAME + _ZNK8QMdiArea13subWindowListENS_11WindowOrderE @ 10173 NONAME + _ZNK8QMdiArea15activationOrderEv @ 10174 NONAME + _ZNK8QMdiArea15activeSubWindowEv @ 10175 NONAME + _ZNK8QMdiArea15minimumSizeHintEv @ 10176 NONAME + _ZNK8QMdiArea16currentSubWindowEv @ 10177 NONAME + _ZNK8QMdiArea8sizeHintEv @ 10178 NONAME + _ZNK8QMdiArea8tabShapeEv @ 10179 NONAME + _ZNK8QMdiArea8viewModeEv @ 10180 NONAME + _ZNK8QMenuBar10metaObjectEv @ 10181 NONAME + _ZNK8QMenuBar11isDefaultUpEv @ 10182 NONAME + _ZNK8QMenuBar12activeActionEv @ 10183 NONAME + _ZNK8QMenuBar12cornerWidgetEN2Qt6CornerE @ 10184 NONAME + _ZNK8QMenuBar14actionGeometryEP7QAction @ 10185 NONAME + _ZNK8QMenuBar14heightForWidthEi @ 10186 NONAME + _ZNK8QMenuBar15initStyleOptionEP20QStyleOptionMenuItemPK7QAction @ 10187 NONAME + _ZNK8QMenuBar15isNativeMenuBarEv @ 10188 NONAME + _ZNK8QMenuBar15minimumSizeHintEv @ 10189 NONAME + _ZNK8QMenuBar8actionAtERK6QPoint @ 10190 NONAME + _ZNK8QMenuBar8sizeHintEv @ 10191 NONAME + _ZNK8QPainter10backgroundEv @ 10192 NONAME + _ZNK8QPainter10clipRegionEv @ 10193 NONAME + _ZNK8QPainter11brushOriginEv @ 10194 NONAME + _ZNK8QPainter11fontMetricsEv @ 10195 NONAME + _ZNK8QPainter11hasClippingEv @ 10196 NONAME + _ZNK8QPainter11paintEngineEv @ 10197 NONAME + _ZNK8QPainter11renderHintsEv @ 10198 NONAME + _ZNK8QPainter11worldMatrixEv @ 10199 NONAME + _ZNK8QPainter12deviceMatrixEv @ 10200 NONAME + _ZNK8QPainter13matrixEnabledEv @ 10201 NONAME + _ZNK8QPainter14backgroundModeEv @ 10202 NONAME + _ZNK8QPainter14combinedMatrixEv @ 10203 NONAME + _ZNK8QPainter14worldTransformEv @ 10204 NONAME + _ZNK8QPainter15compositionModeEv @ 10205 NONAME + _ZNK8QPainter15deviceTransformEv @ 10206 NONAME + _ZNK8QPainter15layoutDirectionEv @ 10207 NONAME + _ZNK8QPainter17combinedTransformEv @ 10208 NONAME + _ZNK8QPainter18worldMatrixEnabledEv @ 10209 NONAME + _ZNK8QPainter20viewTransformEnabledEv @ 10210 NONAME + _ZNK8QPainter3penEv @ 10211 NONAME + _ZNK8QPainter4fontEv @ 10212 NONAME + _ZNK8QPainter5brushEv @ 10213 NONAME + _ZNK8QPainter6deviceEv @ 10214 NONAME + _ZNK8QPainter6matrixEv @ 10215 NONAME + _ZNK8QPainter6windowEv @ 10216 NONAME + _ZNK8QPainter7opacityEv @ 10217 NONAME + _ZNK8QPainter8clipPathEv @ 10218 NONAME + _ZNK8QPainter8fontInfoEv @ 10219 NONAME + _ZNK8QPainter8isActiveEv @ 10220 NONAME + _ZNK8QPainter8viewportEv @ 10221 NONAME + _ZNK8QPainter9transformEv @ 10222 NONAME + _ZNK8QPalette10isBrushSetENS_10ColorGroupENS_9ColorRoleE @ 10223 NONAME + _ZNK8QPalette12serialNumberEv @ 10224 NONAME + _ZNK8QPalette5brushENS_10ColorGroupENS_9ColorRoleE @ 10225 NONAME + _ZNK8QPalette7isEqualENS_10ColorGroupES0_ @ 10226 NONAME + _ZNK8QPalette7resolveERKS_ @ 10227 NONAME + _ZNK8QPalette8cacheKeyEv @ 10228 NONAME + _ZNK8QPalette8isCopyOfERKS_ @ 10229 NONAME + _ZNK8QPalettecv8QVariantEv @ 10230 NONAME + _ZNK8QPaletteeqERKS_ @ 10231 NONAME + _ZNK8QPicture10isDetachedEv @ 10232 NONAME + _ZNK8QPicture11paintEngineEv @ 10233 NONAME + _ZNK8QPicture12boundingRectEv @ 10234 NONAME + _ZNK8QPicture4dataEv @ 10235 NONAME + _ZNK8QPicture4sizeEv @ 10236 NONAME + _ZNK8QPicture6isNullEv @ 10237 NONAME + _ZNK8QPicture6metricEN12QPaintDevice17PaintDeviceMetricE @ 10238 NONAME + _ZNK8QPicture7devTypeEv @ 10239 NONAME + _ZNK8QPolygon10subtractedERKS_ @ 10240 NONAME + _ZNK8QPolygon10translatedEii @ 10241 NONAME + _ZNK8QPolygon11intersectedERKS_ @ 10242 NONAME + _ZNK8QPolygon12boundingRectEv @ 10243 NONAME + _ZNK8QPolygon13containsPointERK6QPointN2Qt8FillRuleE @ 10244 NONAME + _ZNK8QPolygon5pointEiPiS0_ @ 10245 NONAME + _ZNK8QPolygon6unitedERKS_ @ 10246 NONAME + _ZNK8QPolygoncv8QVariantEv @ 10247 NONAME + _ZNK8QSpinBox10metaObjectEv @ 10248 NONAME + _ZNK8QSpinBox10singleStepEv @ 10249 NONAME + _ZNK8QSpinBox13textFromValueEi @ 10250 NONAME + _ZNK8QSpinBox13valueFromTextERK7QString @ 10251 NONAME + _ZNK8QSpinBox5fixupER7QString @ 10252 NONAME + _ZNK8QSpinBox5valueEv @ 10253 NONAME + _ZNK8QSpinBox6prefixEv @ 10254 NONAME + _ZNK8QSpinBox6suffixEv @ 10255 NONAME + _ZNK8QSpinBox7maximumEv @ 10256 NONAME + _ZNK8QSpinBox7minimumEv @ 10257 NONAME + _ZNK8QSpinBox8validateER7QStringRi @ 10258 NONAME + _ZNK8QSpinBox9cleanTextEv @ 10259 NONAME + _ZNK8QToolBar10isFloatingEv @ 10260 NONAME + _ZNK8QToolBar10metaObjectEv @ 10261 NONAME + _ZNK8QToolBar11isFloatableEv @ 10262 NONAME + _ZNK8QToolBar11orientationEv @ 10263 NONAME + _ZNK8QToolBar12allowedAreasEv @ 10264 NONAME + _ZNK8QToolBar14actionGeometryEP7QAction @ 10265 NONAME + _ZNK8QToolBar15initStyleOptionEP19QStyleOptionToolBar @ 10266 NONAME + _ZNK8QToolBar15toolButtonStyleEv @ 10267 NONAME + _ZNK8QToolBar15widgetForActionEP7QAction @ 10268 NONAME + _ZNK8QToolBar16toggleViewActionEv @ 10269 NONAME + _ZNK8QToolBar8actionAtERK6QPoint @ 10270 NONAME + _ZNK8QToolBar8iconSizeEv @ 10271 NONAME + _ZNK8QToolBar9isMovableEv @ 10272 NONAME + _ZNK8QToolBox10metaObjectEv @ 10273 NONAME + _ZNK8QToolBox11itemToolTipEi @ 10274 NONAME + _ZNK8QToolBox12currentIndexEv @ 10275 NONAME + _ZNK8QToolBox13currentWidgetEv @ 10276 NONAME + _ZNK8QToolBox13isItemEnabledEi @ 10277 NONAME + _ZNK8QToolBox5countEv @ 10278 NONAME + _ZNK8QToolBox6widgetEi @ 10279 NONAME + _ZNK8QToolBox7indexOfEP7QWidget @ 10280 NONAME + _ZNK8QToolBox8itemIconEi @ 10281 NONAME + _ZNK8QToolBox8itemTextEi @ 10282 NONAME + _ZNK9QCheckBox10checkStateEv @ 10283 NONAME + _ZNK9QCheckBox10isTristateEv @ 10284 NONAME + _ZNK9QCheckBox10metaObjectEv @ 10285 NONAME + _ZNK9QCheckBox15initStyleOptionEP18QStyleOptionButton @ 10286 NONAME + _ZNK9QCheckBox8sizeHintEv @ 10287 NONAME + _ZNK9QCheckBox9hitButtonERK6QPoint @ 10288 NONAME + _ZNK9QColormap4modeEv @ 10289 NONAME + _ZNK9QColormap4sizeEv @ 10290 NONAME + _ZNK9QColormap5depthEv @ 10291 NONAME + _ZNK9QColormap5pixelERK6QColor @ 10292 NONAME + _ZNK9QColormap7colorAtEj @ 10293 NONAME + _ZNK9QColormap8colormapEv @ 10294 NONAME + _ZNK9QComboBox10isEditableEv @ 10295 NONAME + _ZNK9QComboBox10metaObjectEv @ 10296 NONAME + _ZNK9QComboBox11currentTextEv @ 10297 NONAME + _ZNK9QComboBox11modelColumnEv @ 10298 NONAME + _ZNK9QComboBox12currentIndexEv @ 10299 NONAME + _ZNK9QComboBox12insertPolicyEv @ 10300 NONAME + _ZNK9QComboBox12itemDelegateEv @ 10301 NONAME + _ZNK9QComboBox14autoCompletionEv @ 10302 NONAME + _ZNK9QComboBox14rootModelIndexEv @ 10303 NONAME + _ZNK9QComboBox15initStyleOptionEP20QStyleOptionComboBox @ 10304 NONAME + _ZNK9QComboBox15maxVisibleItemsEv @ 10305 NONAME + _ZNK9QComboBox15minimumSizeHintEv @ 10306 NONAME + _ZNK9QComboBox16inputMethodQueryEN2Qt16InputMethodQueryE @ 10307 NONAME + _ZNK9QComboBox16sizeAdjustPolicyEv @ 10308 NONAME + _ZNK9QComboBox17duplicatesEnabledEv @ 10309 NONAME + _ZNK9QComboBox21minimumContentsLengthEv @ 10310 NONAME + _ZNK9QComboBox29autoCompletionCaseSensitivityEv @ 10311 NONAME + _ZNK9QComboBox4viewEv @ 10312 NONAME + _ZNK9QComboBox5countEv @ 10313 NONAME + _ZNK9QComboBox5modelEv @ 10314 NONAME + _ZNK9QComboBox8findDataERK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 10315 NONAME + _ZNK9QComboBox8hasFrameEv @ 10316 NONAME + _ZNK9QComboBox8iconSizeEv @ 10317 NONAME + _ZNK9QComboBox8itemDataEii @ 10318 NONAME + _ZNK9QComboBox8itemIconEi @ 10319 NONAME + _ZNK9QComboBox8itemTextEi @ 10320 NONAME + _ZNK9QComboBox8lineEditEv @ 10321 NONAME + _ZNK9QComboBox8maxCountEv @ 10322 NONAME + _ZNK9QComboBox8sizeHintEv @ 10323 NONAME + _ZNK9QComboBox9completerEv @ 10324 NONAME + _ZNK9QComboBox9validatorEv @ 10325 NONAME + _ZNK9QDateEdit10metaObjectEv @ 10326 NONAME + _ZNK9QDirModel10headerDataEiN2Qt11OrientationEi @ 10327 NONAME + _ZNK9QDirModel10isReadOnlyEv @ 10328 NONAME + _ZNK9QDirModel10metaObjectEv @ 10329 NONAME + _ZNK9QDirModel11columnCountERK11QModelIndex @ 10330 NONAME + _ZNK9QDirModel11hasChildrenERK11QModelIndex @ 10331 NONAME + _ZNK9QDirModel11nameFiltersEv @ 10332 NONAME + _ZNK9QDirModel12iconProviderEv @ 10333 NONAME + _ZNK9QDirModel14lazyChildCountEv @ 10334 NONAME + _ZNK9QDirModel15resolveSymlinksEv @ 10335 NONAME + _ZNK9QDirModel20supportedDropActionsEv @ 10336 NONAME + _ZNK9QDirModel4dataERK11QModelIndexi @ 10337 NONAME + _ZNK9QDirModel5flagsERK11QModelIndex @ 10338 NONAME + _ZNK9QDirModel5indexERK7QStringi @ 10339 NONAME + _ZNK9QDirModel5indexEiiRK11QModelIndex @ 10340 NONAME + _ZNK9QDirModel5isDirERK11QModelIndex @ 10341 NONAME + _ZNK9QDirModel6filterEv @ 10342 NONAME + _ZNK9QDirModel6parentERK11QModelIndex @ 10343 NONAME + _ZNK9QDirModel7sortingEv @ 10344 NONAME + _ZNK9QDirModel8fileIconERK11QModelIndex @ 10345 NONAME + _ZNK9QDirModel8fileInfoERK11QModelIndex @ 10346 NONAME + _ZNK9QDirModel8fileNameERK11QModelIndex @ 10347 NONAME + _ZNK9QDirModel8filePathERK11QModelIndex @ 10348 NONAME + _ZNK9QDirModel8mimeDataERK5QListI11QModelIndexE @ 10349 NONAME + _ZNK9QDirModel8rowCountERK11QModelIndex @ 10350 NONAME + _ZNK9QDirModel9mimeTypesEv @ 10351 NONAME + _ZNK9QFontInfo10exactMatchEv @ 10352 NONAME + _ZNK9QFontInfo10fixedPitchEv @ 10353 NONAME + _ZNK9QFontInfo10pointSizeFEv @ 10354 NONAME + _ZNK9QFontInfo5styleEv @ 10355 NONAME + _ZNK9QFontInfo6familyEv @ 10356 NONAME + _ZNK9QFontInfo6italicEv @ 10357 NONAME + _ZNK9QFontInfo6weightEv @ 10358 NONAME + _ZNK9QFontInfo7rawModeEv @ 10359 NONAME + _ZNK9QFontInfo8overlineEv @ 10360 NONAME + _ZNK9QFontInfo9pixelSizeEv @ 10361 NONAME + _ZNK9QFontInfo9pointSizeEv @ 10362 NONAME + _ZNK9QFontInfo9strikeOutEv @ 10363 NONAME + _ZNK9QFontInfo9styleHintEv @ 10364 NONAME + _ZNK9QFontInfo9underlineEv @ 10365 NONAME + _ZNK9QGradient14coordinateModeEv @ 10366 NONAME + _ZNK9QGradient17interpolationModeEv @ 10367 NONAME + _ZNK9QGradient5stopsEv @ 10368 NONAME + _ZNK9QGradienteqERKS_ @ 10369 NONAME + _ZNK9QGroupBox10metaObjectEv @ 10370 NONAME + _ZNK9QGroupBox11isCheckableEv @ 10371 NONAME + _ZNK9QGroupBox15initStyleOptionEP20QStyleOptionGroupBox @ 10372 NONAME + _ZNK9QGroupBox15minimumSizeHintEv @ 10373 NONAME + _ZNK9QGroupBox5titleEv @ 10374 NONAME + _ZNK9QGroupBox6isFlatEv @ 10375 NONAME + _ZNK9QGroupBox9alignmentEv @ 10376 NONAME + _ZNK9QGroupBox9isCheckedEv @ 10377 NONAME + _ZNK9QKeyEvent14nativeScanCodeEv @ 10378 NONAME + _ZNK9QKeyEvent15nativeModifiersEv @ 10379 NONAME + _ZNK9QKeyEvent16nativeVirtualKeyEv @ 10380 NONAME + _ZNK9QKeyEvent7matchesEN12QKeySequence11StandardKeyE @ 10381 NONAME + _ZNK9QKeyEvent9modifiersEv @ 10382 NONAME + _ZNK9QLineEdit10cursorRectEv @ 10383 NONAME + _ZNK9QLineEdit10isModifiedEv @ 10384 NONAME + _ZNK9QLineEdit10isReadOnlyEv @ 10385 NONAME + _ZNK9QLineEdit10metaObjectEv @ 10386 NONAME + _ZNK9QLineEdit11displayTextEv @ 10387 NONAME + _ZNK9QLineEdit11dragEnabledEv @ 10388 NONAME + _ZNK9QLineEdit12selectedTextEv @ 10389 NONAME + _ZNK9QLineEdit14cursorPositionEv @ 10390 NONAME + _ZNK9QLineEdit14getTextMarginsEPiS0_S0_S0_ @ 10391 NONAME + _ZNK9QLineEdit14selectionStartEv @ 10392 NONAME + _ZNK9QLineEdit15hasSelectedTextEv @ 10393 NONAME + _ZNK9QLineEdit15initStyleOptionEP17QStyleOptionFrame @ 10394 NONAME + _ZNK9QLineEdit15isRedoAvailableEv @ 10395 NONAME + _ZNK9QLineEdit15isUndoAvailableEv @ 10396 NONAME + _ZNK9QLineEdit15minimumSizeHintEv @ 10397 NONAME + _ZNK9QLineEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 10398 NONAME + _ZNK9QLineEdit18hasAcceptableInputEv @ 10399 NONAME + _ZNK9QLineEdit4copyEv @ 10400 NONAME + _ZNK9QLineEdit4textEv @ 10401 NONAME + _ZNK9QLineEdit8echoModeEv @ 10402 NONAME + _ZNK9QLineEdit8hasFrameEv @ 10403 NONAME + _ZNK9QLineEdit8sizeHintEv @ 10404 NONAME + _ZNK9QLineEdit9alignmentEv @ 10405 NONAME + _ZNK9QLineEdit9completerEv @ 10406 NONAME + _ZNK9QLineEdit9inputMaskEv @ 10407 NONAME + _ZNK9QLineEdit9maxLengthEv @ 10408 NONAME + _ZNK9QLineEdit9validatorEv @ 10409 NONAME + _ZNK9QListView10isWrappingEv @ 10410 NONAME + _ZNK9QListView10layoutModeEv @ 10411 NONAME + _ZNK9QListView10metaObjectEv @ 10412 NONAME + _ZNK9QListView10resizeModeEv @ 10413 NONAME + _ZNK9QListView10visualRectERK11QModelIndex @ 10414 NONAME + _ZNK9QListView11isRowHiddenEi @ 10415 NONAME + _ZNK9QListView11modelColumnEv @ 10416 NONAME + _ZNK9QListView11viewOptionsEv @ 10417 NONAME + _ZNK9QListView11visualIndexERK11QModelIndex @ 10418 NONAME + _ZNK9QListView12contentsSizeEv @ 10419 NONAME + _ZNK9QListView12rectForIndexERK11QModelIndex @ 10420 NONAME + _ZNK9QListView13isIndexHiddenERK11QModelIndex @ 10421 NONAME + _ZNK9QListView14verticalOffsetEv @ 10422 NONAME + _ZNK9QListView15selectedIndexesEv @ 10423 NONAME + _ZNK9QListView16horizontalOffsetEv @ 10424 NONAME + _ZNK9QListView16uniformItemSizesEv @ 10425 NONAME + _ZNK9QListView22isSelectionRectVisibleEv @ 10426 NONAME + _ZNK9QListView24visualRegionForSelectionERK14QItemSelection @ 10427 NONAME + _ZNK9QListView4flowEv @ 10428 NONAME + _ZNK9QListView7indexAtERK6QPoint @ 10429 NONAME + _ZNK9QListView7spacingEv @ 10430 NONAME + _ZNK9QListView8gridSizeEv @ 10431 NONAME + _ZNK9QListView8movementEv @ 10432 NONAME + _ZNK9QListView8viewModeEv @ 10433 NONAME + _ZNK9QListView8wordWrapEv @ 10434 NONAME + _ZNK9QListView9batchSizeEv @ 10435 NONAME + _ZNK9QPolygonF10subtractedERKS_ @ 10436 NONAME + _ZNK9QPolygonF10translatedERK7QPointF @ 10437 NONAME + _ZNK9QPolygonF11intersectedERKS_ @ 10438 NONAME + _ZNK9QPolygonF12boundingRectEv @ 10439 NONAME + _ZNK9QPolygonF13containsPointERK7QPointFN2Qt8FillRuleE @ 10440 NONAME + _ZNK9QPolygonF6unitedERKS_ @ 10441 NONAME + _ZNK9QPolygonF9toPolygonEv @ 10442 NONAME + _ZNK9QS60Style10metaObjectEv @ 10443 NONAME + _ZNK9QS60Style11drawControlEN6QStyle14ControlElementEPK12QStyleOptionP8QPainterPK7QWidget @ 10444 NONAME + _ZNK9QS60Style11pixelMetricEN6QStyle11PixelMetricEPK12QStyleOptionPK7QWidget @ 10445 NONAME + _ZNK9QS60Style13drawPrimitiveEN6QStyle16PrimitiveElementEPK12QStyleOptionP8QPainterPK7QWidget @ 10446 NONAME + _ZNK9QS60Style13stylePropertyEPKc @ 10447 NONAME + _ZNK9QS60Style14subControlRectEN6QStyle14ComplexControlEPK19QStyleOptionComplexNS0_10SubControlEPK7QWidget @ 10448 NONAME + _ZNK9QS60Style14subElementRectEN6QStyle10SubElementEPK12QStyleOptionPK7QWidget @ 10449 NONAME + _ZNK9QS60Style16sizeFromContentsEN6QStyle12ContentsTypeEPK12QStyleOptionRK5QSizePK7QWidget @ 10450 NONAME + _ZNK9QS60Style18drawComplexControlEN6QStyle14ComplexControlEPK19QStyleOptionComplexP8QPainterPK7QWidget @ 10451 NONAME + _ZNK9QS60Style26standardIconImplementationEN6QStyle14StandardPixmapEPK12QStyleOptionPK7QWidget @ 10452 NONAME + _ZNK9QS60Style9styleHintEN6QStyle9StyleHintEPK12QStyleOptionPK7QWidgetP16QStyleHintReturn @ 10453 NONAME + _ZNK9QShortcut10autoRepeatEv @ 10454 NONAME + _ZNK9QShortcut10metaObjectEv @ 10455 NONAME + _ZNK9QShortcut2idEv @ 10456 NONAME + _ZNK9QShortcut3keyEv @ 10457 NONAME + _ZNK9QShortcut9isEnabledEv @ 10458 NONAME + _ZNK9QShortcut9whatsThisEv @ 10459 NONAME + _ZNK9QSizeGrip10metaObjectEv @ 10460 NONAME + _ZNK9QSizeGrip8sizeHintEv @ 10461 NONAME + _ZNK9QSplitter10metaObjectEv @ 10462 NONAME + _ZNK9QSplitter11handleWidthEv @ 10463 NONAME + _ZNK9QSplitter11orientationEv @ 10464 NONAME + _ZNK9QSplitter12opaqueResizeEv @ 10465 NONAME + _ZNK9QSplitter13isCollapsibleEi @ 10466 NONAME + _ZNK9QSplitter15minimumSizeHintEv @ 10467 NONAME + _ZNK9QSplitter19childrenCollapsibleEv @ 10468 NONAME + _ZNK9QSplitter5countEv @ 10469 NONAME + _ZNK9QSplitter5sizesEv @ 10470 NONAME + _ZNK9QSplitter6handleEi @ 10471 NONAME + _ZNK9QSplitter6widgetEi @ 10472 NONAME + _ZNK9QSplitter7indexOfEP7QWidget @ 10473 NONAME + _ZNK9QSplitter8getRangeEiPiS0_ @ 10474 NONAME + _ZNK9QSplitter8sizeHintEv @ 10475 NONAME + _ZNK9QSplitter9saveStateEv @ 10476 NONAME + _ZNK9QTextEdit10cursorRectERK11QTextCursor @ 10477 NONAME + _ZNK9QTextEdit10cursorRectEv @ 10478 NONAME + _ZNK9QTextEdit10fontFamilyEv @ 10479 NONAME + _ZNK9QTextEdit10fontItalicEv @ 10480 NONAME + _ZNK9QTextEdit10fontWeightEv @ 10481 NONAME + _ZNK9QTextEdit10isReadOnlyEv @ 10482 NONAME + _ZNK9QTextEdit10metaObjectEv @ 10483 NONAME + _ZNK9QTextEdit10textCursorEv @ 10484 NONAME + _ZNK9QTextEdit11currentFontEv @ 10485 NONAME + _ZNK9QTextEdit11cursorWidthEv @ 10486 NONAME + _ZNK9QTextEdit12lineWrapModeEv @ 10487 NONAME + _ZNK9QTextEdit12tabStopWidthEv @ 10488 NONAME + _ZNK9QTextEdit12wordWrapModeEv @ 10489 NONAME + _ZNK9QTextEdit13fontPointSizeEv @ 10490 NONAME + _ZNK9QTextEdit13fontUnderlineEv @ 10491 NONAME + _ZNK9QTextEdit13overwriteModeEv @ 10492 NONAME + _ZNK9QTextEdit14acceptRichTextEv @ 10493 NONAME + _ZNK9QTextEdit14autoFormattingEv @ 10494 NONAME + _ZNK9QTextEdit15extraSelectionsEv @ 10495 NONAME + _ZNK9QTextEdit15tabChangesFocusEv @ 10496 NONAME + _ZNK9QTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 10497 NONAME + _ZNK9QTextEdit17currentCharFormatEv @ 10498 NONAME + _ZNK9QTextEdit17cursorForPositionERK6QPoint @ 10499 NONAME + _ZNK9QTextEdit19textBackgroundColorEv @ 10500 NONAME + _ZNK9QTextEdit20textInteractionFlagsEv @ 10501 NONAME + _ZNK9QTextEdit21canInsertFromMimeDataEPK9QMimeData @ 10502 NONAME + _ZNK9QTextEdit21lineWrapColumnOrWidthEv @ 10503 NONAME + _ZNK9QTextEdit27createMimeDataFromSelectionEv @ 10504 NONAME + _ZNK9QTextEdit8anchorAtERK6QPoint @ 10505 NONAME + _ZNK9QTextEdit8canPasteEv @ 10506 NONAME + _ZNK9QTextEdit8documentEv @ 10507 NONAME + _ZNK9QTextEdit9alignmentEv @ 10508 NONAME + _ZNK9QTextEdit9textColorEv @ 10509 NONAME + _ZNK9QTextItem11renderFlagsEv @ 10510 NONAME + _ZNK9QTextItem4fontEv @ 10511 NONAME + _ZNK9QTextItem4textEv @ 10512 NONAME + _ZNK9QTextItem5widthEv @ 10513 NONAME + _ZNK9QTextItem6ascentEv @ 10514 NONAME + _ZNK9QTextItem7descentEv @ 10515 NONAME + _ZNK9QTextLine10textLengthEv @ 10516 NONAME + _ZNK9QTextLine15naturalTextRectEv @ 10517 NONAME + _ZNK9QTextLine16naturalTextWidthEv @ 10518 NONAME + _ZNK9QTextLine1xEv @ 10519 NONAME + _ZNK9QTextLine1yEv @ 10520 NONAME + _ZNK9QTextLine4drawEP8QPainterRK7QPointFPKN11QTextLayout11FormatRangeE @ 10521 NONAME + _ZNK9QTextLine4rectEv @ 10522 NONAME + _ZNK9QTextLine5widthEv @ 10523 NONAME + _ZNK9QTextLine6ascentEv @ 10524 NONAME + _ZNK9QTextLine6heightEv @ 10525 NONAME + _ZNK9QTextLine7descentEv @ 10526 NONAME + _ZNK9QTextLine8positionEv @ 10527 NONAME + _ZNK9QTextLine9cursorToXEPiNS_4EdgeE @ 10528 NONAME + _ZNK9QTextLine9textStartEv @ 10529 NONAME + _ZNK9QTextLine9xToCursorEfNS_14CursorPositionE @ 10530 NONAME + _ZNK9QTextList10itemNumberERK10QTextBlock @ 10531 NONAME + _ZNK9QTextList10metaObjectEv @ 10532 NONAME + _ZNK9QTextList4itemEi @ 10533 NONAME + _ZNK9QTextList5countEv @ 10534 NONAME + _ZNK9QTextList8itemTextERK10QTextBlock @ 10535 NONAME + _ZNK9QTimeEdit10metaObjectEv @ 10536 NONAME + _ZNK9QTreeView10indexAboveERK11QModelIndex @ 10537 NONAME + _ZNK9QTreeView10indexBelowERK11QModelIndex @ 10538 NONAME + _ZNK9QTreeView10isAnimatedEv @ 10539 NONAME + _ZNK9QTreeView10isExpandedERK11QModelIndex @ 10540 NONAME + _ZNK9QTreeView10metaObjectEv @ 10541 NONAME + _ZNK9QTreeView10visualRectERK11QModelIndex @ 10542 NONAME + _ZNK9QTreeView11columnWidthEi @ 10543 NONAME + _ZNK9QTreeView11indentationEv @ 10544 NONAME + _ZNK9QTreeView11isRowHiddenEiRK11QModelIndex @ 10545 NONAME + _ZNK9QTreeView11visualIndexERK11QModelIndex @ 10546 NONAME + _ZNK9QTreeView12drawBranchesEP8QPainterRK5QRectRK11QModelIndex @ 10547 NONAME + _ZNK9QTreeView13isIndexHiddenERK11QModelIndex @ 10548 NONAME + _ZNK9QTreeView14isColumnHiddenEi @ 10549 NONAME + _ZNK9QTreeView14isHeaderHiddenEv @ 10550 NONAME + _ZNK9QTreeView14verticalOffsetEv @ 10551 NONAME + _ZNK9QTreeView15autoExpandDelayEv @ 10552 NONAME + _ZNK9QTreeView15itemsExpandableEv @ 10553 NONAME + _ZNK9QTreeView15rootIsDecoratedEv @ 10554 NONAME + _ZNK9QTreeView15selectedIndexesEv @ 10555 NONAME + _ZNK9QTreeView16horizontalOffsetEv @ 10556 NONAME + _ZNK9QTreeView16indexRowSizeHintERK11QModelIndex @ 10557 NONAME + _ZNK9QTreeView16isSortingEnabledEv @ 10558 NONAME + _ZNK9QTreeView17sizeHintForColumnEi @ 10559 NONAME + _ZNK9QTreeView17uniformRowHeightsEv @ 10560 NONAME + _ZNK9QTreeView19allColumnsShowFocusEv @ 10561 NONAME + _ZNK9QTreeView20expandsOnDoubleClickEv @ 10562 NONAME + _ZNK9QTreeView20isFirstColumnSpannedEiRK11QModelIndex @ 10563 NONAME + _ZNK9QTreeView22columnViewportPositionEi @ 10564 NONAME + _ZNK9QTreeView24visualRegionForSelectionERK14QItemSelection @ 10565 NONAME + _ZNK9QTreeView6headerEv @ 10566 NONAME + _ZNK9QTreeView7drawRowEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex @ 10567 NONAME + _ZNK9QTreeView7indexAtERK6QPoint @ 10568 NONAME + _ZNK9QTreeView8columnAtEi @ 10569 NONAME + _ZNK9QTreeView8drawTreeEP8QPainterRK7QRegion @ 10570 NONAME + _ZNK9QTreeView8wordWrapEv @ 10571 NONAME + _ZNK9QTreeView9rowHeightERK11QModelIndex @ 10572 NONAME + _ZNK9QUndoView10emptyLabelEv @ 10573 NONAME + _ZNK9QUndoView10metaObjectEv @ 10574 NONAME + _ZNK9QUndoView5groupEv @ 10575 NONAME + _ZNK9QUndoView5stackEv @ 10576 NONAME + _ZNK9QUndoView9cleanIconEv @ 10577 NONAME + _ZNK9QVector2D10normalizedEv @ 10578 NONAME + _ZNK9QVector2D10toVector3DEv @ 10579 NONAME + _ZNK9QVector2D10toVector4DEv @ 10580 NONAME + _ZNK9QVector2D13lengthSquaredEv @ 10581 NONAME + _ZNK9QVector2D6lengthEv @ 10582 NONAME + _ZNK9QVector2Dcv8QVariantEv @ 10583 NONAME + _ZNK9QVector3D10normalizedEv @ 10584 NONAME + _ZNK9QVector3D10toVector2DEv @ 10585 NONAME + _ZNK9QVector3D10toVector4DEv @ 10586 NONAME + _ZNK9QVector3D13lengthSquaredEv @ 10587 NONAME + _ZNK9QVector3D14distanceToLineERKS_S1_ @ 10588 NONAME + _ZNK9QVector3D15distanceToPlaneERKS_S1_ @ 10589 NONAME + _ZNK9QVector3D15distanceToPlaneERKS_S1_S1_ @ 10590 NONAME + _ZNK9QVector3D6lengthEv @ 10591 NONAME + _ZNK9QVector3Dcv8QVariantEv @ 10592 NONAME + _ZNK9QVector4D10normalizedEv @ 10593 NONAME + _ZNK9QVector4D10toVector2DEv @ 10594 NONAME + _ZNK9QVector4D10toVector3DEv @ 10595 NONAME + _ZNK9QVector4D13lengthSquaredEv @ 10596 NONAME + _ZNK9QVector4D16toVector2DAffineEv @ 10597 NONAME + _ZNK9QVector4D16toVector3DAffineEv @ 10598 NONAME + _ZNK9QVector4D6lengthEv @ 10599 NONAME + _ZNK9QVector4Dcv8QVariantEv @ 10600 NONAME + _ZTI10QBoxLayout @ 10601 NONAME + _ZTI10QClipboard @ 10602 NONAME + _ZTI10QCompleter @ 10603 NONAME + _ZTI10QDropEvent @ 10604 NONAME + _ZTI10QHelpEvent @ 10605 NONAME + _ZTI10QHideEvent @ 10606 NONAME + _ZTI10QLCDNumber @ 10607 NONAME + _ZTI10QMoveEvent @ 10608 NONAME + _ZTI10QScrollBar @ 10609 NONAME + _ZTI10QShowEvent @ 10610 NONAME + _ZTI10QStatusBar @ 10611 NONAME + _ZTI10QTabWidget @ 10612 NONAME + _ZTI10QTableView @ 10613 NONAME + _ZTI10QTextFrame @ 10614 NONAME + _ZTI10QTextTable @ 10615 NONAME + _ZTI10QUndoGroup @ 10616 NONAME + _ZTI10QUndoStack @ 10617 NONAME + _ZTI10QValidator @ 10618 NONAME + _ZTI10QWorkspace @ 10619 NONAME + _ZTI11QCloseEvent @ 10620 NONAME + _ZTI11QColumnView @ 10621 NONAME + _ZTI11QDockWidget @ 10622 NONAME + _ZTI11QFileDialog @ 10623 NONAME + _ZTI11QFocusEvent @ 10624 NONAME + _ZTI11QFocusFrame @ 10625 NONAME + _ZTI11QFontDialog @ 10626 NONAME + _ZTI11QFontEngine @ 10627 NONAME + _ZTI11QFormLayout @ 10628 NONAME + _ZTI11QGridLayout @ 10629 NONAME + _ZTI11QHBoxLayout @ 10630 NONAME + _ZTI11QHeaderView @ 10631 NONAME + _ZTI11QHoverEvent @ 10632 NONAME + _ZTI11QIconEngine @ 10633 NONAME + _ZTI11QInputEvent @ 10634 NONAME + _ZTI11QLayoutItem @ 10635 NONAME + _ZTI11QListWidget @ 10636 NONAME + _ZTI11QMainWindow @ 10637 NONAME + _ZTI11QMessageBox @ 10638 NONAME + _ZTI11QMimeSource @ 10639 NONAME + _ZTI11QMouseEvent @ 10640 NONAME + _ZTI11QPaintEvent @ 10641 NONAME + _ZTI11QPanGesture @ 10642 NONAME + _ZTI11QPixmapData @ 10643 NONAME + _ZTI11QProxyModel @ 10644 NONAME + _ZTI11QProxyStyle @ 10645 NONAME + _ZTI11QPushButton @ 10646 NONAME + _ZTI11QRubberBand @ 10647 NONAME + _ZTI11QScrollArea @ 10648 NONAME + _ZTI11QSpacerItem @ 10649 NONAME + _ZTI11QStrokerOps @ 10650 NONAME + _ZTI11QTextObject @ 10651 NONAME + _ZTI11QToolButton @ 10652 NONAME + _ZTI11QTouchEvent @ 10653 NONAME + _ZTI11QTreeWidget @ 10654 NONAME + _ZTI11QVBoxLayout @ 10655 NONAME + _ZTI11QWheelEvent @ 10656 NONAME + _ZTI11QWidgetItem @ 10657 NONAME + _ZTI11QWizardPage @ 10658 NONAME + _ZTI12QActionEvent @ 10659 NONAME + _ZTI12QActionGroup @ 10660 NONAME + _ZTI12QApplication @ 10661 NONAME + _ZTI12QButtonGroup @ 10662 NONAME + _ZTI12QColorDialog @ 10663 NONAME + _ZTI12QCommonStyle @ 10664 NONAME + _ZTI12QDashStroker @ 10665 NONAME + _ZTI12QInputDialog @ 10666 NONAME + _ZTI12QLineControl @ 10667 NONAME + _ZTI12QPaintBuffer @ 10668 NONAME + _ZTI12QPaintDevice @ 10669 NONAME + _ZTI12QPaintEngine @ 10670 NONAME + _ZTI12QProgressBar @ 10671 NONAME + _ZTI12QRadioButton @ 10672 NONAME + _ZTI12QResizeEvent @ 10673 NONAME + _ZTI12QStylePlugin @ 10674 NONAME + _ZTI12QTableWidget @ 10675 NONAME + _ZTI12QTabletEvent @ 10676 NONAME + _ZTI12QTessellator @ 10677 NONAME + _ZTI12QTextBrowser @ 10678 NONAME + _ZTI12QTextControl @ 10679 NONAME + _ZTI12QUndoCommand @ 10680 NONAME + _ZTI13QDateTimeEdit @ 10681 NONAME + _ZTI13QErrorMessage @ 10682 NONAME + _ZTI13QFontComboBox @ 10683 NONAME + _ZTI13QGestureEvent @ 10684 NONAME + _ZTI13QGraphicsItem @ 10685 NONAME + _ZTI13QGraphicsView @ 10686 NONAME + _ZTI13QIconEngineV2 @ 10687 NONAME + _ZTI13QInputContext @ 10688 NONAME + _ZTI13QIntValidator @ 10689 NONAME + _ZTI13QItemDelegate @ 10690 NONAME + _ZTI13QMdiSubWindow @ 10691 NONAME + _ZTI13QPainterState @ 10692 NONAME + _ZTI13QPinchGesture @ 10693 NONAME + _ZTI13QPixmapFilter @ 10694 NONAME + _ZTI13QS60MainAppUi @ 10695 NONAME + _ZTI13QSplashScreen @ 10696 NONAME + _ZTI13QStandardItem @ 10697 NONAME + _ZTI13QSwipeGesture @ 10698 NONAME + _ZTI13QTextDocument @ 10699 NONAME + _ZTI13QWidgetAction @ 10700 NONAME + _ZTI13QWidgetItemV2 @ 10701 NONAME + _ZTI13QWindowsStyle @ 10702 NONAME + _ZTI14QDesktopWidget @ 10703 NONAME + _ZTI14QDoubleSpinBox @ 10704 NONAME + _ZTI14QDragMoveEvent @ 10705 NONAME + _ZTI14QFileOpenEvent @ 10706 NONAME + _ZTI14QGraphicsScale @ 10707 NONAME + _ZTI14QGraphicsScene @ 10708 NONAME + _ZTI14QIconDragEvent @ 10709 NONAME + _ZTI14QImageIOPlugin @ 10710 NONAME + _ZTI14QLayoutPrivate @ 10711 NONAME + _ZTI14QPaintEngineEx @ 10712 NONAME + _ZTI14QPlainTextEdit @ 10713 NONAME + _ZTI14QShortcutEvent @ 10714 NONAME + _ZTI14QStackedLayout @ 10715 NONAME + _ZTI14QStackedWidget @ 10716 NONAME + _ZTI14QWidgetPrivate @ 10717 NONAME + _ZTI14QWindowSurface @ 10718 NONAME + _ZTI15QAbstractButton @ 10719 NONAME + _ZTI15QAbstractSlider @ 10720 NONAME + _ZTI15QCalendarWidget @ 10721 NONAME + _ZTI15QClipboardEvent @ 10722 NONAME + _ZTI15QDragEnterEvent @ 10723 NONAME + _ZTI15QDragLeaveEvent @ 10724 NONAME + _ZTI15QGraphicsAnchor @ 10725 NONAME + _ZTI15QGraphicsEffect @ 10726 NONAME + _ZTI15QGraphicsLayout @ 10727 NONAME + _ZTI15QGraphicsObject @ 10728 NONAME + _ZTI15QGraphicsSystem @ 10729 NONAME + _ZTI15QGraphicsWidget @ 10730 NONAME + _ZTI15QImageIOHandler @ 10731 NONAME + _ZTI15QListWidgetItem @ 10732 NONAME + _ZTI15QProgressDialog @ 10733 NONAME + _ZTI15QSessionManager @ 10734 NONAME + _ZTI15QSplitterHandle @ 10735 NONAME + _ZTI15QStatusTipEvent @ 10736 NONAME + _ZTI15QTextBlockGroup @ 10737 NONAME + _ZTI15QTreeWidgetItem @ 10738 NONAME + _ZTI16QAbstractSpinBox @ 10739 NONAME + _ZTI16QDialogButtonBox @ 10740 NONAME + _ZTI16QDoubleValidator @ 10741 NONAME + _ZTI16QFileSystemModel @ 10742 NONAME + _ZTI16QPainterReplayer @ 10743 NONAME + _ZTI16QRegExpValidator @ 10744 NONAME + _ZTI16QS60MainDocument @ 10745 NONAME + _ZTI16QStringListModel @ 10746 NONAME + _ZTI16QTableWidgetItem @ 10747 NONAME + _ZTI17QAbstractItemView @ 10748 NONAME + _ZTI17QContextMenuEvent @ 10749 NONAME + _ZTI17QDataWidgetMapper @ 10750 NONAME + _ZTI17QDockWidgetLayout @ 10751 NONAME + _ZTI17QFileIconProvider @ 10752 NONAME + _ZTI17QGraphicsLineItem @ 10753 NONAME + _ZTI17QGraphicsPathItem @ 10754 NONAME + _ZTI17QGraphicsRectItem @ 10755 NONAME + _ZTI17QGraphicsRotation @ 10756 NONAME + _ZTI17QGraphicsTextItem @ 10757 NONAME + _ZTI17QIconEnginePlugin @ 10758 NONAME + _ZTI17QInputMethodEvent @ 10759 NONAME + _ZTI17QPaintEngineState @ 10760 NONAME + _ZTI17QPixmapBlurFilter @ 10761 NONAME + _ZTI17QRasterPixmapData @ 10762 NONAME + _ZTI18QCommandLinkButton @ 10763 NONAME + _ZTI18QDragResponseEvent @ 10764 NONAME + _ZTI18QGestureRecognizer @ 10765 NONAME + _ZTI18QGraphicsItemGroup @ 10766 NONAME + _ZTI18QGraphicsTransform @ 10767 NONAME + _ZTI18QItemEditorFactory @ 10768 NONAME + _ZTI18QStandardItemModel @ 10769 NONAME + _ZTI18QSyntaxHighlighter @ 10770 NONAME + _ZTI18QTextBlockUserData @ 10771 NONAME + _ZTI18QTextureGlyphCache @ 10772 NONAME + _ZTI19QAbstractProxyModel @ 10773 NONAME + _ZTI19QAbstractScrollArea @ 10774 NONAME + _ZTI19QApplicationPrivate @ 10775 NONAME + _ZTI19QCoeFepInputContext @ 10776 NONAME + _ZTI19QEventDispatcherS60 @ 10777 NONAME + _ZTI19QGraphicsBlurEffect @ 10778 NONAME + _ZTI19QGraphicsGridLayout @ 10779 NONAME + _ZTI19QGraphicsLayoutItem @ 10780 NONAME + _ZTI19QGraphicsPixmapItem @ 10781 NONAME + _ZTI19QGraphicsSceneEvent @ 10782 NONAME + _ZTI19QIconEnginePluginV2 @ 10783 NONAME + _ZTI19QInputContextPlugin @ 10784 NONAME + _ZTI19QItemSelectionModel @ 10785 NONAME + _ZTI19QKeyEventTransition @ 10786 NONAME + _ZTI19QS60MainApplication @ 10787 NONAME + _ZTI19QStyledItemDelegate @ 10788 NONAME + _ZTI19QToolBarChangeEvent @ 10789 NONAME + _ZTI20QGraphicsBloomEffect @ 10790 NONAME + _ZTI20QGraphicsEllipseItem @ 10791 NONAME + _ZTI20QGraphicsItemPrivate @ 10792 NONAME + _ZTI20QGraphicsPolygonItem @ 10793 NONAME + _ZTI20QGraphicsProxyWidget @ 10794 NONAME + _ZTI20QPaintBufferResource @ 10795 NONAME + _ZTI20QPictureFormatPlugin @ 10796 NONAME + _ZTI20QRasterWindowSurface @ 10797 NONAME + _ZTI20QTextFrameLayoutData @ 10798 NONAME + _ZTI20QTextObjectInterface @ 10799 NONAME + _ZTI20QWidgetResizeHandler @ 10800 NONAME + _ZTI21QAbstractItemDelegate @ 10801 NONAME + _ZTI21QGraphicsAnchorLayout @ 10802 NONAME + _ZTI21QGraphicsEffectSource @ 10803 NONAME + _ZTI21QGraphicsLinearLayout @ 10804 NONAME + _ZTI21QGraphicsSystemPlugin @ 10805 NONAME + _ZTI21QMouseEventTransition @ 10806 NONAME + _ZTI21QPaintEngineExPrivate @ 10807 NONAME + _ZTI21QPixmapColorizeFilter @ 10808 NONAME + _ZTI21QSortFilterProxyModel @ 10809 NONAME + _ZTI22QGraphicsEffectPrivate @ 10810 NONAME + _ZTI22QGraphicsItemAnimation @ 10811 NONAME + _ZTI22QGraphicsOpacityEffect @ 10812 NONAME + _ZTI22QPaintEngineExReplayer @ 10813 NONAME + _ZTI22QStyleFactoryInterface @ 10814 NONAME + _ZTI22QWhatsThisClickedEvent @ 10815 NONAME + _ZTI23QGraphicsColorizeEffect @ 10816 NONAME + _ZTI23QGraphicsPixelizeEffect @ 10817 NONAME + _ZTI23QGraphicsSceneHelpEvent @ 10818 NONAME + _ZTI23QGraphicsSceneMoveEvent @ 10819 NONAME + _ZTI23QGraphicsSimpleTextItem @ 10820 NONAME + _ZTI23QPaintBufferSignalProxy @ 10821 NONAME + _ZTI23QPictureFormatInterface @ 10822 NONAME + _ZTI23QPixmapDropShadowFilter @ 10823 NONAME + _ZTI23QWindowStateChangeEvent @ 10824 NONAME + _ZTI24QGraphicsGrayscaleEffect @ 10825 NONAME + _ZTI24QGraphicsSceneHoverEvent @ 10826 NONAME + _ZTI24QGraphicsSceneMouseEvent @ 10827 NONAME + _ZTI24QGraphicsSceneWheelEvent @ 10828 NONAME + _ZTI24QPixmapConvolutionFilter @ 10829 NONAME + _ZTI24QPlainTextDocumentLayout @ 10830 NONAME + _ZTI25QGraphicsDropShadowEffect @ 10831 NONAME + _ZTI25QGraphicsSceneResizeEvent @ 10832 NONAME + _ZTI26QAbstractGraphicsShapeItem @ 10833 NONAME + _ZTI27QAbstractTextDocumentLayout @ 10834 NONAME + _ZTI27QGraphicsSceneDragDropEvent @ 10835 NONAME + _ZTI27QIconEngineFactoryInterface @ 10836 NONAME + _ZTI29QIconEngineFactoryInterfaceV2 @ 10837 NONAME + _ZTI29QInputContextFactoryInterface @ 10838 NONAME + _ZTI30QGraphicsSceneContextMenuEvent @ 10839 NONAME + _ZTI31QImageIOHandlerFactoryInterface @ 10840 NONAME + _ZTI5QDial @ 10841 NONAME + _ZTI5QDrag @ 10842 NONAME + _ZTI5QMenu @ 10843 NONAME + _ZTI6QFrame @ 10844 NONAME + _ZTI6QImage @ 10845 NONAME + _ZTI6QLabel @ 10846 NONAME + _ZTI6QMovie @ 10847 NONAME + _ZTI6QSound @ 10848 NONAME + _ZTI6QStyle @ 10849 NONAME + _ZTI7QAction @ 10850 NONAME + _ZTI7QBitmap @ 10851 NONAME + _ZTI7QDialog @ 10852 NONAME + _ZTI7QLayout @ 10853 NONAME + _ZTI7QPixmap @ 10854 NONAME + _ZTI7QSlider @ 10855 NONAME + _ZTI7QTabBar @ 10856 NONAME + _ZTI7QWidget @ 10857 NONAME + _ZTI7QWizard @ 10858 NONAME + _ZTI8QGesture @ 10859 NONAME + _ZTI8QMdiArea @ 10860 NONAME + _ZTI8QMenuBar @ 10861 NONAME + _ZTI8QPicture @ 10862 NONAME + _ZTI8QSpinBox @ 10863 NONAME + _ZTI8QStroker @ 10864 NONAME + _ZTI8QToolBar @ 10865 NONAME + _ZTI8QToolBox @ 10866 NONAME + _ZTI9QCheckBox @ 10867 NONAME + _ZTI9QComboBox @ 10868 NONAME + _ZTI9QDateEdit @ 10869 NONAME + _ZTI9QDirModel @ 10870 NONAME + _ZTI9QGroupBox @ 10871 NONAME + _ZTI9QKeyEvent @ 10872 NONAME + _ZTI9QLineEdit @ 10873 NONAME + _ZTI9QListView @ 10874 NONAME + _ZTI9QS60Style @ 10875 NONAME + _ZTI9QShortcut @ 10876 NONAME + _ZTI9QSizeGrip @ 10877 NONAME + _ZTI9QSplitter @ 10878 NONAME + _ZTI9QTextEdit @ 10879 NONAME + _ZTI9QTextList @ 10880 NONAME + _ZTI9QTimeEdit @ 10881 NONAME + _ZTI9QTreeView @ 10882 NONAME + _ZTI9QUndoView @ 10883 NONAME + _ZTIN4QCss13StyleSelectorE @ 10884 NONAME + _ZTV10QBoxLayout @ 10885 NONAME + _ZTV10QClipboard @ 10886 NONAME + _ZTV10QCompleter @ 10887 NONAME + _ZTV10QDropEvent @ 10888 NONAME + _ZTV10QHelpEvent @ 10889 NONAME + _ZTV10QHideEvent @ 10890 NONAME + _ZTV10QLCDNumber @ 10891 NONAME + _ZTV10QMoveEvent @ 10892 NONAME + _ZTV10QScrollBar @ 10893 NONAME + _ZTV10QShowEvent @ 10894 NONAME + _ZTV10QStatusBar @ 10895 NONAME + _ZTV10QTabWidget @ 10896 NONAME + _ZTV10QTableView @ 10897 NONAME + _ZTV10QTextFrame @ 10898 NONAME + _ZTV10QTextTable @ 10899 NONAME + _ZTV10QUndoGroup @ 10900 NONAME + _ZTV10QUndoStack @ 10901 NONAME + _ZTV10QValidator @ 10902 NONAME + _ZTV10QWorkspace @ 10903 NONAME + _ZTV11QCloseEvent @ 10904 NONAME + _ZTV11QColumnView @ 10905 NONAME + _ZTV11QDockWidget @ 10906 NONAME + _ZTV11QFileDialog @ 10907 NONAME + _ZTV11QFocusEvent @ 10908 NONAME + _ZTV11QFocusFrame @ 10909 NONAME + _ZTV11QFontDialog @ 10910 NONAME + _ZTV11QFontEngine @ 10911 NONAME + _ZTV11QFormLayout @ 10912 NONAME + _ZTV11QGridLayout @ 10913 NONAME + _ZTV11QHBoxLayout @ 10914 NONAME + _ZTV11QHeaderView @ 10915 NONAME + _ZTV11QHoverEvent @ 10916 NONAME + _ZTV11QIconEngine @ 10917 NONAME + _ZTV11QInputEvent @ 10918 NONAME + _ZTV11QLayoutItem @ 10919 NONAME + _ZTV11QListWidget @ 10920 NONAME + _ZTV11QMainWindow @ 10921 NONAME + _ZTV11QMessageBox @ 10922 NONAME + _ZTV11QMimeSource @ 10923 NONAME + _ZTV11QMouseEvent @ 10924 NONAME + _ZTV11QPaintEvent @ 10925 NONAME + _ZTV11QPanGesture @ 10926 NONAME + _ZTV11QPixmapData @ 10927 NONAME + _ZTV11QProxyModel @ 10928 NONAME + _ZTV11QProxyStyle @ 10929 NONAME + _ZTV11QPushButton @ 10930 NONAME + _ZTV11QRubberBand @ 10931 NONAME + _ZTV11QScrollArea @ 10932 NONAME + _ZTV11QSpacerItem @ 10933 NONAME + _ZTV11QStrokerOps @ 10934 NONAME + _ZTV11QTextObject @ 10935 NONAME + _ZTV11QToolButton @ 10936 NONAME + _ZTV11QTouchEvent @ 10937 NONAME + _ZTV11QTreeWidget @ 10938 NONAME + _ZTV11QVBoxLayout @ 10939 NONAME + _ZTV11QWheelEvent @ 10940 NONAME + _ZTV11QWidgetItem @ 10941 NONAME + _ZTV11QWizardPage @ 10942 NONAME + _ZTV12QActionEvent @ 10943 NONAME + _ZTV12QActionGroup @ 10944 NONAME + _ZTV12QApplication @ 10945 NONAME + _ZTV12QButtonGroup @ 10946 NONAME + _ZTV12QColorDialog @ 10947 NONAME + _ZTV12QCommonStyle @ 10948 NONAME + _ZTV12QDashStroker @ 10949 NONAME + _ZTV12QInputDialog @ 10950 NONAME + _ZTV12QLineControl @ 10951 NONAME + _ZTV12QPaintBuffer @ 10952 NONAME + _ZTV12QPaintDevice @ 10953 NONAME + _ZTV12QPaintEngine @ 10954 NONAME + _ZTV12QProgressBar @ 10955 NONAME + _ZTV12QRadioButton @ 10956 NONAME + _ZTV12QResizeEvent @ 10957 NONAME + _ZTV12QStylePlugin @ 10958 NONAME + _ZTV12QTableWidget @ 10959 NONAME + _ZTV12QTabletEvent @ 10960 NONAME + _ZTV12QTessellator @ 10961 NONAME + _ZTV12QTextBrowser @ 10962 NONAME + _ZTV12QTextControl @ 10963 NONAME + _ZTV12QUndoCommand @ 10964 NONAME + _ZTV13QDateTimeEdit @ 10965 NONAME + _ZTV13QErrorMessage @ 10966 NONAME + _ZTV13QFontComboBox @ 10967 NONAME + _ZTV13QGestureEvent @ 10968 NONAME + _ZTV13QGraphicsItem @ 10969 NONAME + _ZTV13QGraphicsView @ 10970 NONAME + _ZTV13QIconEngineV2 @ 10971 NONAME + _ZTV13QInputContext @ 10972 NONAME + _ZTV13QIntValidator @ 10973 NONAME + _ZTV13QItemDelegate @ 10974 NONAME + _ZTV13QMdiSubWindow @ 10975 NONAME + _ZTV13QPainterState @ 10976 NONAME + _ZTV13QPinchGesture @ 10977 NONAME + _ZTV13QPixmapFilter @ 10978 NONAME + _ZTV13QS60MainAppUi @ 10979 NONAME + _ZTV13QSplashScreen @ 10980 NONAME + _ZTV13QStandardItem @ 10981 NONAME + _ZTV13QSwipeGesture @ 10982 NONAME + _ZTV13QTextDocument @ 10983 NONAME + _ZTV13QWidgetAction @ 10984 NONAME + _ZTV13QWidgetItemV2 @ 10985 NONAME + _ZTV13QWindowsStyle @ 10986 NONAME + _ZTV14QDesktopWidget @ 10987 NONAME + _ZTV14QDoubleSpinBox @ 10988 NONAME + _ZTV14QDragMoveEvent @ 10989 NONAME + _ZTV14QFileOpenEvent @ 10990 NONAME + _ZTV14QGraphicsScale @ 10991 NONAME + _ZTV14QGraphicsScene @ 10992 NONAME + _ZTV14QIconDragEvent @ 10993 NONAME + _ZTV14QImageIOPlugin @ 10994 NONAME + _ZTV14QLayoutPrivate @ 10995 NONAME + _ZTV14QPaintEngineEx @ 10996 NONAME + _ZTV14QPlainTextEdit @ 10997 NONAME + _ZTV14QShortcutEvent @ 10998 NONAME + _ZTV14QStackedLayout @ 10999 NONAME + _ZTV14QStackedWidget @ 11000 NONAME + _ZTV14QWidgetPrivate @ 11001 NONAME + _ZTV14QWindowSurface @ 11002 NONAME + _ZTV15QAbstractButton @ 11003 NONAME + _ZTV15QAbstractSlider @ 11004 NONAME + _ZTV15QCalendarWidget @ 11005 NONAME + _ZTV15QClipboardEvent @ 11006 NONAME + _ZTV15QDragEnterEvent @ 11007 NONAME + _ZTV15QDragLeaveEvent @ 11008 NONAME + _ZTV15QGraphicsAnchor @ 11009 NONAME + _ZTV15QGraphicsEffect @ 11010 NONAME + _ZTV15QGraphicsLayout @ 11011 NONAME + _ZTV15QGraphicsObject @ 11012 NONAME + _ZTV15QGraphicsWidget @ 11013 NONAME + _ZTV15QImageIOHandler @ 11014 NONAME + _ZTV15QListWidgetItem @ 11015 NONAME + _ZTV15QProgressDialog @ 11016 NONAME + _ZTV15QSessionManager @ 11017 NONAME + _ZTV15QSplitterHandle @ 11018 NONAME + _ZTV15QStatusTipEvent @ 11019 NONAME + _ZTV15QTextBlockGroup @ 11020 NONAME + _ZTV15QTreeWidgetItem @ 11021 NONAME + _ZTV16QAbstractSpinBox @ 11022 NONAME + _ZTV16QDialogButtonBox @ 11023 NONAME + _ZTV16QDoubleValidator @ 11024 NONAME + _ZTV16QFileSystemModel @ 11025 NONAME + _ZTV16QPainterReplayer @ 11026 NONAME + _ZTV16QRegExpValidator @ 11027 NONAME + _ZTV16QS60MainDocument @ 11028 NONAME + _ZTV16QStringListModel @ 11029 NONAME + _ZTV16QTableWidgetItem @ 11030 NONAME + _ZTV17QAbstractItemView @ 11031 NONAME + _ZTV17QContextMenuEvent @ 11032 NONAME + _ZTV17QDataWidgetMapper @ 11033 NONAME + _ZTV17QDockWidgetLayout @ 11034 NONAME + _ZTV17QFileIconProvider @ 11035 NONAME + _ZTV17QGraphicsLineItem @ 11036 NONAME + _ZTV17QGraphicsPathItem @ 11037 NONAME + _ZTV17QGraphicsRectItem @ 11038 NONAME + _ZTV17QGraphicsRotation @ 11039 NONAME + _ZTV17QGraphicsTextItem @ 11040 NONAME + _ZTV17QIconEnginePlugin @ 11041 NONAME + _ZTV17QInputMethodEvent @ 11042 NONAME + _ZTV17QPixmapBlurFilter @ 11043 NONAME + _ZTV17QRasterPixmapData @ 11044 NONAME + _ZTV18QCommandLinkButton @ 11045 NONAME + _ZTV18QDragResponseEvent @ 11046 NONAME + _ZTV18QGestureRecognizer @ 11047 NONAME + _ZTV18QGraphicsItemGroup @ 11048 NONAME + _ZTV18QGraphicsTransform @ 11049 NONAME + _ZTV18QItemEditorFactory @ 11050 NONAME + _ZTV18QStandardItemModel @ 11051 NONAME + _ZTV18QSyntaxHighlighter @ 11052 NONAME + _ZTV18QTextBlockUserData @ 11053 NONAME + _ZTV18QTextureGlyphCache @ 11054 NONAME + _ZTV19QAbstractProxyModel @ 11055 NONAME + _ZTV19QAbstractScrollArea @ 11056 NONAME + _ZTV19QApplicationPrivate @ 11057 NONAME + _ZTV19QCoeFepInputContext @ 11058 NONAME + _ZTV19QEventDispatcherS60 @ 11059 NONAME + _ZTV19QGraphicsBlurEffect @ 11060 NONAME + _ZTV19QGraphicsGridLayout @ 11061 NONAME + _ZTV19QGraphicsLayoutItem @ 11062 NONAME + _ZTV19QGraphicsPixmapItem @ 11063 NONAME + _ZTV19QGraphicsSceneEvent @ 11064 NONAME + _ZTV19QIconEnginePluginV2 @ 11065 NONAME + _ZTV19QInputContextPlugin @ 11066 NONAME + _ZTV19QItemSelectionModel @ 11067 NONAME + _ZTV19QKeyEventTransition @ 11068 NONAME + _ZTV19QS60MainApplication @ 11069 NONAME + _ZTV19QStyledItemDelegate @ 11070 NONAME + _ZTV19QToolBarChangeEvent @ 11071 NONAME + _ZTV20QGraphicsBloomEffect @ 11072 NONAME + _ZTV20QGraphicsEllipseItem @ 11073 NONAME + _ZTV20QGraphicsItemPrivate @ 11074 NONAME + _ZTV20QGraphicsPolygonItem @ 11075 NONAME + _ZTV20QGraphicsProxyWidget @ 11076 NONAME + _ZTV20QPaintBufferResource @ 11077 NONAME + _ZTV20QPictureFormatPlugin @ 11078 NONAME + _ZTV20QRasterWindowSurface @ 11079 NONAME + _ZTV20QTextFrameLayoutData @ 11080 NONAME + _ZTV20QWidgetResizeHandler @ 11081 NONAME + _ZTV21QAbstractItemDelegate @ 11082 NONAME + _ZTV21QGraphicsAnchorLayout @ 11083 NONAME + _ZTV21QGraphicsEffectSource @ 11084 NONAME + _ZTV21QGraphicsLinearLayout @ 11085 NONAME + _ZTV21QGraphicsSystemPlugin @ 11086 NONAME + _ZTV21QMouseEventTransition @ 11087 NONAME + _ZTV21QPaintEngineExPrivate @ 11088 NONAME + _ZTV21QPixmapColorizeFilter @ 11089 NONAME + _ZTV21QSortFilterProxyModel @ 11090 NONAME + _ZTV22QGraphicsEffectPrivate @ 11091 NONAME + _ZTV22QGraphicsItemAnimation @ 11092 NONAME + _ZTV22QGraphicsOpacityEffect @ 11093 NONAME + _ZTV22QPaintEngineExReplayer @ 11094 NONAME + _ZTV22QWhatsThisClickedEvent @ 11095 NONAME + _ZTV23QGraphicsColorizeEffect @ 11096 NONAME + _ZTV23QGraphicsPixelizeEffect @ 11097 NONAME + _ZTV23QGraphicsSceneHelpEvent @ 11098 NONAME + _ZTV23QGraphicsSceneMoveEvent @ 11099 NONAME + _ZTV23QGraphicsSimpleTextItem @ 11100 NONAME + _ZTV23QPaintBufferSignalProxy @ 11101 NONAME + _ZTV23QPixmapDropShadowFilter @ 11102 NONAME + _ZTV23QWindowStateChangeEvent @ 11103 NONAME + _ZTV24QGraphicsGrayscaleEffect @ 11104 NONAME + _ZTV24QGraphicsSceneHoverEvent @ 11105 NONAME + _ZTV24QGraphicsSceneMouseEvent @ 11106 NONAME + _ZTV24QGraphicsSceneWheelEvent @ 11107 NONAME + _ZTV24QPixmapConvolutionFilter @ 11108 NONAME + _ZTV24QPlainTextDocumentLayout @ 11109 NONAME + _ZTV25QGraphicsDropShadowEffect @ 11110 NONAME + _ZTV25QGraphicsSceneResizeEvent @ 11111 NONAME + _ZTV26QAbstractGraphicsShapeItem @ 11112 NONAME + _ZTV27QAbstractTextDocumentLayout @ 11113 NONAME + _ZTV27QGraphicsSceneDragDropEvent @ 11114 NONAME + _ZTV30QGraphicsSceneContextMenuEvent @ 11115 NONAME + _ZTV5QDial @ 11116 NONAME + _ZTV5QDrag @ 11117 NONAME + _ZTV5QMenu @ 11118 NONAME + _ZTV6QFrame @ 11119 NONAME + _ZTV6QImage @ 11120 NONAME + _ZTV6QLabel @ 11121 NONAME + _ZTV6QMovie @ 11122 NONAME + _ZTV6QSound @ 11123 NONAME + _ZTV6QStyle @ 11124 NONAME + _ZTV7QAction @ 11125 NONAME + _ZTV7QBitmap @ 11126 NONAME + _ZTV7QDialog @ 11127 NONAME + _ZTV7QLayout @ 11128 NONAME + _ZTV7QPixmap @ 11129 NONAME + _ZTV7QSlider @ 11130 NONAME + _ZTV7QTabBar @ 11131 NONAME + _ZTV7QWidget @ 11132 NONAME + _ZTV7QWizard @ 11133 NONAME + _ZTV8QGesture @ 11134 NONAME + _ZTV8QMdiArea @ 11135 NONAME + _ZTV8QMenuBar @ 11136 NONAME + _ZTV8QPicture @ 11137 NONAME + _ZTV8QSpinBox @ 11138 NONAME + _ZTV8QStroker @ 11139 NONAME + _ZTV8QToolBar @ 11140 NONAME + _ZTV8QToolBox @ 11141 NONAME + _ZTV9QCheckBox @ 11142 NONAME + _ZTV9QComboBox @ 11143 NONAME + _ZTV9QDateEdit @ 11144 NONAME + _ZTV9QDirModel @ 11145 NONAME + _ZTV9QGroupBox @ 11146 NONAME + _ZTV9QKeyEvent @ 11147 NONAME + _ZTV9QLineEdit @ 11148 NONAME + _ZTV9QListView @ 11149 NONAME + _ZTV9QS60Style @ 11150 NONAME + _ZTV9QShortcut @ 11151 NONAME + _ZTV9QSizeGrip @ 11152 NONAME + _ZTV9QSplitter @ 11153 NONAME + _ZTV9QTextEdit @ 11154 NONAME + _ZTV9QTextList @ 11155 NONAME + _ZTV9QTimeEdit @ 11156 NONAME + _ZTV9QTreeView @ 11157 NONAME + _ZTV9QUndoView @ 11158 NONAME + _ZTVN4QCss13StyleSelectorE @ 11159 NONAME + _ZThn12_N10QDropEventD0Ev @ 11160 NONAME + _ZThn12_N10QDropEventD1Ev @ 11161 NONAME + _ZThn12_N14QDragMoveEventD0Ev @ 11162 NONAME + _ZThn12_N14QDragMoveEventD1Ev @ 11163 NONAME + _ZThn12_N15QDragEnterEventD0Ev @ 11164 NONAME + _ZThn12_N15QDragEnterEventD1Ev @ 11165 NONAME + _ZThn12_N19QCoeFepInputContext29SetStateTransferingOwnershipLEPN33MCoeFepAwareTextEditor_Extension16CStateE4TUid @ 11166 NONAME + _ZThn12_N19QCoeFepInputContext5StateE4TUid @ 11167 NONAME + _ZThn12_NK10QDropEvent11encodedDataEPKc @ 11168 NONAME + _ZThn12_NK10QDropEvent6formatEi @ 11169 NONAME + _ZThn12_NK10QDropEvent8providesEPKc @ 11170 NONAME + _ZThn16_N15QGraphicsWidget11setGeometryERK6QRectF @ 11171 NONAME + _ZThn16_N15QGraphicsWidget14updateGeometryEv @ 11172 NONAME + _ZThn16_N15QGraphicsWidgetD0Ev @ 11173 NONAME + _ZThn16_N15QGraphicsWidgetD1Ev @ 11174 NONAME + _ZThn16_N19QCoeFepInputContext15MopSupplyObjectE8TTypeUid @ 11175 NONAME + _ZThn16_N20QGraphicsProxyWidget11setGeometryERK6QRectF @ 11176 NONAME + _ZThn16_N20QGraphicsProxyWidgetD0Ev @ 11177 NONAME + _ZThn16_N20QGraphicsProxyWidgetD1Ev @ 11178 NONAME + _ZThn16_NK15QGraphicsWidget18getContentsMarginsEPfS0_S0_S0_ @ 11179 NONAME + _ZThn16_NK15QGraphicsWidget8sizeHintEN2Qt8SizeHintERK6QSizeF @ 11180 NONAME + _ZThn16_NK20QGraphicsProxyWidget8sizeHintEN2Qt8SizeHintERK6QSizeF @ 11181 NONAME + _ZThn24_N13QS60MainAppUi12RestoreMenuLEP11CCoeControliN16MEikMenuObserver9TMenuTypeE @ 11182 NONAME + _ZThn24_N13QS60MainAppUi15DynInitMenuBarLEiP11CEikMenuBar @ 11183 NONAME + _ZThn24_N13QS60MainAppUi16DynInitMenuPaneLEiP12CEikMenuPane @ 11184 NONAME + _ZThn88_N13QS60MainAppUi26HandleStatusPaneSizeChangeEv @ 11185 NONAME + _ZThn8_N10QBoxLayout10invalidateEv @ 11186 NONAME + _ZThn8_N10QBoxLayout11setGeometryERK5QRect @ 11187 NONAME + _ZThn8_N10QBoxLayoutD0Ev @ 11188 NONAME + _ZThn8_N10QBoxLayoutD1Ev @ 11189 NONAME + _ZThn8_N10QLCDNumberD0Ev @ 11190 NONAME + _ZThn8_N10QLCDNumberD1Ev @ 11191 NONAME + _ZThn8_N10QScrollBarD0Ev @ 11192 NONAME + _ZThn8_N10QScrollBarD1Ev @ 11193 NONAME + _ZThn8_N10QStatusBarD0Ev @ 11194 NONAME + _ZThn8_N10QStatusBarD1Ev @ 11195 NONAME + _ZThn8_N10QTabWidgetD0Ev @ 11196 NONAME + _ZThn8_N10QTabWidgetD1Ev @ 11197 NONAME + _ZThn8_N10QTableViewD0Ev @ 11198 NONAME + _ZThn8_N10QTableViewD1Ev @ 11199 NONAME + _ZThn8_N10QWorkspaceD0Ev @ 11200 NONAME + _ZThn8_N10QWorkspaceD1Ev @ 11201 NONAME + _ZThn8_N11QColumnViewD0Ev @ 11202 NONAME + _ZThn8_N11QColumnViewD1Ev @ 11203 NONAME + _ZThn8_N11QDockWidgetD0Ev @ 11204 NONAME + _ZThn8_N11QDockWidgetD1Ev @ 11205 NONAME + _ZThn8_N11QFileDialogD0Ev @ 11206 NONAME + _ZThn8_N11QFileDialogD1Ev @ 11207 NONAME + _ZThn8_N11QFocusFrameD0Ev @ 11208 NONAME + _ZThn8_N11QFocusFrameD1Ev @ 11209 NONAME + _ZThn8_N11QFontDialogD0Ev @ 11210 NONAME + _ZThn8_N11QFontDialogD1Ev @ 11211 NONAME + _ZThn8_N11QFormLayout10invalidateEv @ 11212 NONAME + _ZThn8_N11QFormLayout11setGeometryERK5QRect @ 11213 NONAME + _ZThn8_N11QFormLayoutD0Ev @ 11214 NONAME + _ZThn8_N11QFormLayoutD1Ev @ 11215 NONAME + _ZThn8_N11QGridLayout10invalidateEv @ 11216 NONAME + _ZThn8_N11QGridLayout11setGeometryERK5QRect @ 11217 NONAME + _ZThn8_N11QGridLayoutD0Ev @ 11218 NONAME + _ZThn8_N11QGridLayoutD1Ev @ 11219 NONAME + _ZThn8_N11QHBoxLayoutD0Ev @ 11220 NONAME + _ZThn8_N11QHBoxLayoutD1Ev @ 11221 NONAME + _ZThn8_N11QHeaderViewD0Ev @ 11222 NONAME + _ZThn8_N11QHeaderViewD1Ev @ 11223 NONAME + _ZThn8_N11QListWidgetD0Ev @ 11224 NONAME + _ZThn8_N11QListWidgetD1Ev @ 11225 NONAME + _ZThn8_N11QMainWindowD0Ev @ 11226 NONAME + _ZThn8_N11QMainWindowD1Ev @ 11227 NONAME + _ZThn8_N11QMessageBoxD0Ev @ 11228 NONAME + _ZThn8_N11QMessageBoxD1Ev @ 11229 NONAME + _ZThn8_N11QPushButtonD0Ev @ 11230 NONAME + _ZThn8_N11QPushButtonD1Ev @ 11231 NONAME + _ZThn8_N11QRubberBandD0Ev @ 11232 NONAME + _ZThn8_N11QRubberBandD1Ev @ 11233 NONAME + _ZThn8_N11QScrollAreaD0Ev @ 11234 NONAME + _ZThn8_N11QScrollAreaD1Ev @ 11235 NONAME + _ZThn8_N11QToolButtonD0Ev @ 11236 NONAME + _ZThn8_N11QToolButtonD1Ev @ 11237 NONAME + _ZThn8_N11QTreeWidgetD0Ev @ 11238 NONAME + _ZThn8_N11QTreeWidgetD1Ev @ 11239 NONAME + _ZThn8_N11QVBoxLayoutD0Ev @ 11240 NONAME + _ZThn8_N11QVBoxLayoutD1Ev @ 11241 NONAME + _ZThn8_N12QColorDialogD0Ev @ 11242 NONAME + _ZThn8_N12QColorDialogD1Ev @ 11243 NONAME + _ZThn8_N12QInputDialogD0Ev @ 11244 NONAME + _ZThn8_N12QInputDialogD1Ev @ 11245 NONAME + _ZThn8_N12QStylePluginD0Ev @ 11246 NONAME + _ZThn8_N12QStylePluginD1Ev @ 11247 NONAME + _ZThn8_N12QTableWidgetD0Ev @ 11248 NONAME + _ZThn8_N12QTableWidgetD1Ev @ 11249 NONAME + _ZThn8_N12QTextBrowserD0Ev @ 11250 NONAME + _ZThn8_N12QTextBrowserD1Ev @ 11251 NONAME + _ZThn8_N13QErrorMessageD0Ev @ 11252 NONAME + _ZThn8_N13QErrorMessageD1Ev @ 11253 NONAME + _ZThn8_N13QFontComboBoxD0Ev @ 11254 NONAME + _ZThn8_N13QFontComboBoxD1Ev @ 11255 NONAME + _ZThn8_N13QGraphicsViewD0Ev @ 11256 NONAME + _ZThn8_N13QGraphicsViewD1Ev @ 11257 NONAME + _ZThn8_N13QMdiSubWindowD0Ev @ 11258 NONAME + _ZThn8_N13QMdiSubWindowD1Ev @ 11259 NONAME + _ZThn8_N13QSplashScreenD0Ev @ 11260 NONAME + _ZThn8_N13QSplashScreenD1Ev @ 11261 NONAME + _ZThn8_N14QDesktopWidgetD0Ev @ 11262 NONAME + _ZThn8_N14QDesktopWidgetD1Ev @ 11263 NONAME + _ZThn8_N14QImageIOPluginD0Ev @ 11264 NONAME + _ZThn8_N14QImageIOPluginD1Ev @ 11265 NONAME + _ZThn8_N14QPlainTextEditD0Ev @ 11266 NONAME + _ZThn8_N14QPlainTextEditD1Ev @ 11267 NONAME + _ZThn8_N14QStackedLayout11setGeometryERK5QRect @ 11268 NONAME + _ZThn8_N14QStackedLayoutD0Ev @ 11269 NONAME + _ZThn8_N14QStackedLayoutD1Ev @ 11270 NONAME + _ZThn8_N14QStackedWidgetD0Ev @ 11271 NONAME + _ZThn8_N14QStackedWidgetD1Ev @ 11272 NONAME + _ZThn8_N15QAbstractButtonD0Ev @ 11273 NONAME + _ZThn8_N15QAbstractButtonD1Ev @ 11274 NONAME + _ZThn8_N15QAbstractSliderD0Ev @ 11275 NONAME + _ZThn8_N15QAbstractSliderD1Ev @ 11276 NONAME + _ZThn8_N15QCalendarWidgetD0Ev @ 11277 NONAME + _ZThn8_N15QCalendarWidgetD1Ev @ 11278 NONAME + _ZThn8_N15QGraphicsWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 11279 NONAME + _ZThn8_N15QGraphicsWidget10sceneEventEP6QEvent @ 11280 NONAME + _ZThn8_N15QGraphicsWidget12focusInEventEP11QFocusEvent @ 11281 NONAME + _ZThn8_N15QGraphicsWidget13focusOutEventEP11QFocusEvent @ 11282 NONAME + _ZThn8_N15QGraphicsWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 11283 NONAME + _ZThn8_N15QGraphicsWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 11284 NONAME + _ZThn8_N15QGraphicsWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 11285 NONAME + _ZThn8_N15QGraphicsWidgetD0Ev @ 11286 NONAME + _ZThn8_N15QGraphicsWidgetD1Ev @ 11287 NONAME + _ZThn8_N15QProgressDialogD0Ev @ 11288 NONAME + _ZThn8_N15QProgressDialogD1Ev @ 11289 NONAME + _ZThn8_N16QAbstractSpinBoxD0Ev @ 11290 NONAME + _ZThn8_N16QAbstractSpinBoxD1Ev @ 11291 NONAME + _ZThn8_N16QDialogButtonBoxD0Ev @ 11292 NONAME + _ZThn8_N16QDialogButtonBoxD1Ev @ 11293 NONAME + _ZThn8_N17QAbstractItemViewD0Ev @ 11294 NONAME + _ZThn8_N17QAbstractItemViewD1Ev @ 11295 NONAME + _ZThn8_N17QDockWidgetLayout11setGeometryERK5QRect @ 11296 NONAME + _ZThn8_N17QDockWidgetLayoutD0Ev @ 11297 NONAME + _ZThn8_N17QDockWidgetLayoutD1Ev @ 11298 NONAME + _ZThn8_N17QGraphicsTextItem10sceneEventEP6QEvent @ 11299 NONAME + _ZThn8_N17QGraphicsTextItem12focusInEventEP11QFocusEvent @ 11300 NONAME + _ZThn8_N17QGraphicsTextItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 11301 NONAME + _ZThn8_N17QGraphicsTextItem13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 11302 NONAME + _ZThn8_N17QGraphicsTextItem13focusOutEventEP11QFocusEvent @ 11303 NONAME + _ZThn8_N17QGraphicsTextItem13keyPressEventEP9QKeyEvent @ 11304 NONAME + _ZThn8_N17QGraphicsTextItem14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 11305 NONAME + _ZThn8_N17QGraphicsTextItem14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 11306 NONAME + _ZThn8_N17QGraphicsTextItem14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 11307 NONAME + _ZThn8_N17QGraphicsTextItem14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 11308 NONAME + _ZThn8_N17QGraphicsTextItem15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 11309 NONAME + _ZThn8_N17QGraphicsTextItem15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 11310 NONAME + _ZThn8_N17QGraphicsTextItem15keyReleaseEventEP9QKeyEvent @ 11311 NONAME + _ZThn8_N17QGraphicsTextItem15mousePressEventEP24QGraphicsSceneMouseEvent @ 11312 NONAME + _ZThn8_N17QGraphicsTextItem16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 11313 NONAME + _ZThn8_N17QGraphicsTextItem16inputMethodEventEP17QInputMethodEvent @ 11314 NONAME + _ZThn8_N17QGraphicsTextItem17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 11315 NONAME + _ZThn8_N17QGraphicsTextItem21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 11316 NONAME + _ZThn8_N17QGraphicsTextItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 11317 NONAME + _ZThn8_N17QGraphicsTextItem9dropEventEP27QGraphicsSceneDragDropEvent @ 11318 NONAME + _ZThn8_N17QGraphicsTextItemD0Ev @ 11319 NONAME + _ZThn8_N17QGraphicsTextItemD1Ev @ 11320 NONAME + _ZThn8_N17QIconEnginePluginD0Ev @ 11321 NONAME + _ZThn8_N17QIconEnginePluginD1Ev @ 11322 NONAME + _ZThn8_N19QAbstractScrollAreaD0Ev @ 11323 NONAME + _ZThn8_N19QAbstractScrollAreaD1Ev @ 11324 NONAME + _ZThn8_N19QCoeFepInputContext10Extension1ERi @ 11325 NONAME + _ZThn8_N19QCoeFepInputContext19CancelFepInlineEditEv @ 11326 NONAME + _ZThn8_N19QCoeFepInputContext19StartFepInlineEditLERK7TDesC16iiPK15MFormCustomDrawR29MFepInlineTextFormatRetrieverR39MFepPointerEventHandlerDuringInlineEdit @ 11327 NONAME + _ZThn8_N19QCoeFepInputContext20UpdateFepInlineTextLERK7TDesC16i @ 11328 NONAME + _ZThn8_N19QCoeFepInputContext22DoCommitFepInlineEditLEv @ 11329 NONAME + _ZThn8_N19QCoeFepInputContext25SetCursorSelectionForFepLERK16TCursorSelection @ 11330 NONAME + _ZThn8_N19QCoeFepInputContext33SetInlineEditingCursorVisibilityLEi @ 11331 NONAME + _ZThn8_N19QIconEnginePluginV2D0Ev @ 11332 NONAME + _ZThn8_N19QIconEnginePluginV2D1Ev @ 11333 NONAME + _ZThn8_N19QInputContextPluginD0Ev @ 11334 NONAME + _ZThn8_N19QInputContextPluginD1Ev @ 11335 NONAME + _ZThn8_N20QGraphicsProxyWidget10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 11336 NONAME + _ZThn8_N20QGraphicsProxyWidget10wheelEventEP24QGraphicsSceneWheelEvent @ 11337 NONAME + _ZThn8_N20QGraphicsProxyWidget12focusInEventEP11QFocusEvent @ 11338 NONAME + _ZThn8_N20QGraphicsProxyWidget13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 11339 NONAME + _ZThn8_N20QGraphicsProxyWidget13focusOutEventEP11QFocusEvent @ 11340 NONAME + _ZThn8_N20QGraphicsProxyWidget13keyPressEventEP9QKeyEvent @ 11341 NONAME + _ZThn8_N20QGraphicsProxyWidget14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 11342 NONAME + _ZThn8_N20QGraphicsProxyWidget14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 11343 NONAME + _ZThn8_N20QGraphicsProxyWidget14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 11344 NONAME + _ZThn8_N20QGraphicsProxyWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 11345 NONAME + _ZThn8_N20QGraphicsProxyWidget15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 11346 NONAME + _ZThn8_N20QGraphicsProxyWidget15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 11347 NONAME + _ZThn8_N20QGraphicsProxyWidget15keyReleaseEventEP9QKeyEvent @ 11348 NONAME + _ZThn8_N20QGraphicsProxyWidget15mousePressEventEP24QGraphicsSceneMouseEvent @ 11349 NONAME + _ZThn8_N20QGraphicsProxyWidget16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 11350 NONAME + _ZThn8_N20QGraphicsProxyWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 11351 NONAME + _ZThn8_N20QGraphicsProxyWidget21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 11352 NONAME + _ZThn8_N20QGraphicsProxyWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 11353 NONAME + _ZThn8_N20QGraphicsProxyWidget9dropEventEP27QGraphicsSceneDragDropEvent @ 11354 NONAME + _ZThn8_N20QGraphicsProxyWidgetD0Ev @ 11355 NONAME + _ZThn8_N20QGraphicsProxyWidgetD1Ev @ 11356 NONAME + _ZThn8_N20QPictureFormatPlugin11loadPictureERK7QStringS2_P8QPicture @ 11357 NONAME + _ZThn8_N20QPictureFormatPlugin11savePictureERK7QStringS2_RK8QPicture @ 11358 NONAME + _ZThn8_N20QPictureFormatPluginD0Ev @ 11359 NONAME + _ZThn8_N20QPictureFormatPluginD1Ev @ 11360 NONAME + _ZThn8_N21QGraphicsSystemPluginD0Ev @ 11361 NONAME + _ZThn8_N21QGraphicsSystemPluginD1Ev @ 11362 NONAME + _ZThn8_N5QDialD0Ev @ 11363 NONAME + _ZThn8_N5QDialD1Ev @ 11364 NONAME + _ZThn8_N5QMenuD0Ev @ 11365 NONAME + _ZThn8_N5QMenuD1Ev @ 11366 NONAME + _ZThn8_N6QFrameD0Ev @ 11367 NONAME + _ZThn8_N6QFrameD1Ev @ 11368 NONAME + _ZThn8_N6QLabelD0Ev @ 11369 NONAME + _ZThn8_N6QLabelD1Ev @ 11370 NONAME + _ZThn8_N7QDialogD0Ev @ 11371 NONAME + _ZThn8_N7QDialogD1Ev @ 11372 NONAME + _ZThn8_N7QLayout10invalidateEv @ 11373 NONAME + _ZThn8_N7QLayout11setGeometryERK5QRect @ 11374 NONAME + _ZThn8_N7QLayout6layoutEv @ 11375 NONAME + _ZThn8_N7QLayoutD0Ev @ 11376 NONAME + _ZThn8_N7QLayoutD1Ev @ 11377 NONAME + _ZThn8_N7QSliderD0Ev @ 11378 NONAME + _ZThn8_N7QSliderD1Ev @ 11379 NONAME + _ZThn8_N7QTabBarD0Ev @ 11380 NONAME + _ZThn8_N7QTabBarD1Ev @ 11381 NONAME + _ZThn8_N7QWidgetD0Ev @ 11382 NONAME + _ZThn8_N7QWidgetD1Ev @ 11383 NONAME + _ZThn8_N7QWizardD0Ev @ 11384 NONAME + _ZThn8_N7QWizardD1Ev @ 11385 NONAME + _ZThn8_N8QMdiAreaD0Ev @ 11386 NONAME + _ZThn8_N8QMdiAreaD1Ev @ 11387 NONAME + _ZThn8_N8QMenuBarD0Ev @ 11388 NONAME + _ZThn8_N8QMenuBarD1Ev @ 11389 NONAME + _ZThn8_N8QToolBarD0Ev @ 11390 NONAME + _ZThn8_N8QToolBarD1Ev @ 11391 NONAME + _ZThn8_N8QToolBoxD0Ev @ 11392 NONAME + _ZThn8_N8QToolBoxD1Ev @ 11393 NONAME + _ZThn8_N9QComboBoxD0Ev @ 11394 NONAME + _ZThn8_N9QComboBoxD1Ev @ 11395 NONAME + _ZThn8_N9QGroupBoxD0Ev @ 11396 NONAME + _ZThn8_N9QGroupBoxD1Ev @ 11397 NONAME + _ZThn8_N9QLineEditD0Ev @ 11398 NONAME + _ZThn8_N9QLineEditD1Ev @ 11399 NONAME + _ZThn8_N9QListViewD0Ev @ 11400 NONAME + _ZThn8_N9QListViewD1Ev @ 11401 NONAME + _ZThn8_N9QSizeGripD0Ev @ 11402 NONAME + _ZThn8_N9QSizeGripD1Ev @ 11403 NONAME + _ZThn8_N9QSplitterD0Ev @ 11404 NONAME + _ZThn8_N9QSplitterD1Ev @ 11405 NONAME + _ZThn8_N9QTextEditD0Ev @ 11406 NONAME + _ZThn8_N9QTextEditD1Ev @ 11407 NONAME + _ZThn8_N9QTreeViewD0Ev @ 11408 NONAME + _ZThn8_N9QTreeViewD1Ev @ 11409 NONAME + _ZThn8_N9QUndoViewD0Ev @ 11410 NONAME + _ZThn8_N9QUndoViewD1Ev @ 11411 NONAME + _ZThn8_NK10QBoxLayout11maximumSizeEv @ 11412 NONAME + _ZThn8_NK10QBoxLayout11minimumSizeEv @ 11413 NONAME + _ZThn8_NK10QBoxLayout14heightForWidthEi @ 11414 NONAME + _ZThn8_NK10QBoxLayout17hasHeightForWidthEv @ 11415 NONAME + _ZThn8_NK10QBoxLayout19expandingDirectionsEv @ 11416 NONAME + _ZThn8_NK10QBoxLayout21minimumHeightForWidthEi @ 11417 NONAME + _ZThn8_NK10QBoxLayout8sizeHintEv @ 11418 NONAME + _ZThn8_NK11QFormLayout11minimumSizeEv @ 11419 NONAME + _ZThn8_NK11QFormLayout14heightForWidthEi @ 11420 NONAME + _ZThn8_NK11QFormLayout17hasHeightForWidthEv @ 11421 NONAME + _ZThn8_NK11QFormLayout19expandingDirectionsEv @ 11422 NONAME + _ZThn8_NK11QFormLayout8sizeHintEv @ 11423 NONAME + _ZThn8_NK11QGridLayout11maximumSizeEv @ 11424 NONAME + _ZThn8_NK11QGridLayout11minimumSizeEv @ 11425 NONAME + _ZThn8_NK11QGridLayout14heightForWidthEi @ 11426 NONAME + _ZThn8_NK11QGridLayout17hasHeightForWidthEv @ 11427 NONAME + _ZThn8_NK11QGridLayout19expandingDirectionsEv @ 11428 NONAME + _ZThn8_NK11QGridLayout21minimumHeightForWidthEi @ 11429 NONAME + _ZThn8_NK11QGridLayout8sizeHintEv @ 11430 NONAME + _ZThn8_NK14QStackedLayout11minimumSizeEv @ 11431 NONAME + _ZThn8_NK14QStackedLayout8sizeHintEv @ 11432 NONAME + _ZThn8_NK15QGraphicsWidget12boundingRectEv @ 11433 NONAME + _ZThn8_NK15QGraphicsWidget4typeEv @ 11434 NONAME + _ZThn8_NK15QGraphicsWidget5shapeEv @ 11435 NONAME + _ZThn8_NK17QDockWidgetLayout11maximumSizeEv @ 11436 NONAME + _ZThn8_NK17QDockWidgetLayout11minimumSizeEv @ 11437 NONAME + _ZThn8_NK17QDockWidgetLayout8sizeHintEv @ 11438 NONAME + _ZThn8_NK17QGraphicsTextItem10opaqueAreaEv @ 11439 NONAME + _ZThn8_NK17QGraphicsTextItem12boundingRectEv @ 11440 NONAME + _ZThn8_NK17QGraphicsTextItem12isObscuredByEPK13QGraphicsItem @ 11441 NONAME + _ZThn8_NK17QGraphicsTextItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 11442 NONAME + _ZThn8_NK17QGraphicsTextItem17supportsExtensionEN13QGraphicsItem9ExtensionE @ 11443 NONAME + _ZThn8_NK17QGraphicsTextItem4typeEv @ 11444 NONAME + _ZThn8_NK17QGraphicsTextItem5shapeEv @ 11445 NONAME + _ZThn8_NK17QGraphicsTextItem8containsERK7QPointF @ 11446 NONAME + _ZThn8_NK17QGraphicsTextItem9extensionERK8QVariant @ 11447 NONAME + _ZThn8_NK19QCoeFepInputContext15GetFormatForFepER11TCharFormati @ 11448 NONAME + _ZThn8_NK19QCoeFepInputContext20DocumentLengthForFepEv @ 11449 NONAME + _ZThn8_NK19QCoeFepInputContext22GetEditorContentForFepER6TDes16ii @ 11450 NONAME + _ZThn8_NK19QCoeFepInputContext24GetCursorSelectionForFepER16TCursorSelection @ 11451 NONAME + _ZThn8_NK19QCoeFepInputContext27DocumentMaximumLengthForFepEv @ 11452 NONAME + _ZThn8_NK19QCoeFepInputContext27GetScreenCoordinatesForFepLER6TPointRiS2_i @ 11453 NONAME + _ZThn8_NK20QGraphicsProxyWidget4typeEv @ 11454 NONAME + _ZThn8_NK7QLayout11maximumSizeEv @ 11455 NONAME + _ZThn8_NK7QLayout11minimumSizeEv @ 11456 NONAME + _ZThn8_NK7QLayout19expandingDirectionsEv @ 11457 NONAME + _ZThn8_NK7QLayout7isEmptyEv @ 11458 NONAME + _ZThn8_NK7QLayout8geometryEv @ 11459 NONAME + _ZThn8_NK7QWidget11paintEngineEv @ 11460 NONAME + _ZThn8_NK7QWidget6metricEN12QPaintDevice17PaintDeviceMetricE @ 11461 NONAME + _ZThn8_NK7QWidget7devTypeEv @ 11462 NONAME + _ZdvRK10QMatrix4x4f @ 11463 NONAME + _Zls6QDebug6QFlagsIN13QGraphicsItem16GraphicsItemFlagEE @ 11464 NONAME + _Zls6QDebugN13QGraphicsItem16GraphicsItemFlagE @ 11465 NONAME + _Zls6QDebugN13QGraphicsItem18GraphicsItemChangeE @ 11466 NONAME + _Zls6QDebugP13QGraphicsItem @ 11467 NONAME + _Zls6QDebugPK6QEvent @ 11468 NONAME + _Zls6QDebugRK10QMatrix4x4 @ 11469 NONAME + _Zls6QDebugRK10QTransform @ 11470 NONAME + _Zls6QDebugRK11QQuaternion @ 11471 NONAME + _Zls6QDebugRK12QKeySequence @ 11472 NONAME + _Zls6QDebugRK12QPainterPath @ 11473 NONAME + _Zls6QDebugRK19QItemSelectionRange @ 11474 NONAME + _Zls6QDebugRK4QPen @ 11475 NONAME + _Zls6QDebugRK5QFont @ 11476 NONAME + _Zls6QDebugRK6QBrush @ 11477 NONAME + _Zls6QDebugRK6QColor @ 11478 NONAME + _Zls6QDebugRK7QMatrix @ 11479 NONAME + _Zls6QDebugRK7QRegion @ 11480 NONAME + _Zls6QDebugRK8QPolygon @ 11481 NONAME + _Zls6QDebugRK9QPolygonF @ 11482 NONAME + _Zls6QDebugRK9QVector2D @ 11483 NONAME + _Zls6QDebugRK9QVector3D @ 11484 NONAME + _Zls6QDebugRK9QVector4D @ 11485 NONAME + _ZlsR11QDataStreamRK10QMatrix4x4 @ 11486 NONAME + _ZlsR11QDataStreamRK10QTransform @ 11487 NONAME + _ZlsR11QDataStreamRK11QQuaternion @ 11488 NONAME + _ZlsR11QDataStreamRK11QSizePolicy @ 11489 NONAME + _ZlsR11QDataStreamRK11QTextFormat @ 11490 NONAME + _ZlsR11QDataStreamRK11QTextLength @ 11491 NONAME + _ZlsR11QDataStreamRK12QKeySequence @ 11492 NONAME + _ZlsR11QDataStreamRK12QPaintBuffer @ 11493 NONAME + _ZlsR11QDataStreamRK12QPainterPath @ 11494 NONAME + _ZlsR11QDataStreamRK13QStandardItem @ 11495 NONAME + _ZlsR11QDataStreamRK15QListWidgetItem @ 11496 NONAME + _ZlsR11QDataStreamRK15QTreeWidgetItem @ 11497 NONAME + _ZlsR11QDataStreamRK16QTableWidgetItem @ 11498 NONAME + _ZlsR11QDataStreamRK4QPen @ 11499 NONAME + _ZlsR11QDataStreamRK5QFont @ 11500 NONAME + _ZlsR11QDataStreamRK5QIcon @ 11501 NONAME + _ZlsR11QDataStreamRK6QBrush @ 11502 NONAME + _ZlsR11QDataStreamRK6QColor @ 11503 NONAME + _ZlsR11QDataStreamRK6QImage @ 11504 NONAME + _ZlsR11QDataStreamRK7QCursor @ 11505 NONAME + _ZlsR11QDataStreamRK7QMatrix @ 11506 NONAME + _ZlsR11QDataStreamRK7QPixmap @ 11507 NONAME + _ZlsR11QDataStreamRK7QRegion @ 11508 NONAME + _ZlsR11QDataStreamRK8QPalette @ 11509 NONAME + _ZlsR11QDataStreamRK8QPicture @ 11510 NONAME + _ZlsR11QDataStreamRK8QPolygon @ 11511 NONAME + _ZlsR11QDataStreamRK9QPolygonF @ 11512 NONAME + _ZlsR11QDataStreamRK9QVector2D @ 11513 NONAME + _ZlsR11QDataStreamRK9QVector3D @ 11514 NONAME + _ZlsR11QDataStreamRK9QVector4D @ 11515 NONAME + _ZlsR11QTextStreamRK9QSplitter @ 11516 NONAME + _ZlsR6QDebugRK11QVectorPath @ 11517 NONAME + _ZmlRK12QPainterPathRK7QMatrix @ 11518 NONAME + _ZrsR11QDataStreamR10QMatrix4x4 @ 11519 NONAME + _ZrsR11QDataStreamR10QTransform @ 11520 NONAME + _ZrsR11QDataStreamR11QQuaternion @ 11521 NONAME + _ZrsR11QDataStreamR11QSizePolicy @ 11522 NONAME + _ZrsR11QDataStreamR11QTextFormat @ 11523 NONAME + _ZrsR11QDataStreamR11QTextLength @ 11524 NONAME + _ZrsR11QDataStreamR12QKeySequence @ 11525 NONAME + _ZrsR11QDataStreamR12QPaintBuffer @ 11526 NONAME + _ZrsR11QDataStreamR12QPainterPath @ 11527 NONAME + _ZrsR11QDataStreamR13QStandardItem @ 11528 NONAME + _ZrsR11QDataStreamR15QListWidgetItem @ 11529 NONAME + _ZrsR11QDataStreamR15QTreeWidgetItem @ 11530 NONAME + _ZrsR11QDataStreamR16QTableWidgetItem @ 11531 NONAME + _ZrsR11QDataStreamR4QPen @ 11532 NONAME + _ZrsR11QDataStreamR5QFont @ 11533 NONAME + _ZrsR11QDataStreamR5QIcon @ 11534 NONAME + _ZrsR11QDataStreamR6QBrush @ 11535 NONAME + _ZrsR11QDataStreamR6QColor @ 11536 NONAME + _ZrsR11QDataStreamR6QImage @ 11537 NONAME + _ZrsR11QDataStreamR7QCursor @ 11538 NONAME + _ZrsR11QDataStreamR7QMatrix @ 11539 NONAME + _ZrsR11QDataStreamR7QPixmap @ 11540 NONAME + _ZrsR11QDataStreamR7QRegion @ 11541 NONAME + _ZrsR11QDataStreamR8QPalette @ 11542 NONAME + _ZrsR11QDataStreamR8QPicture @ 11543 NONAME + _ZrsR11QDataStreamR8QPolygon @ 11544 NONAME + _ZrsR11QDataStreamR9QPolygonF @ 11545 NONAME + _ZrsR11QDataStreamR9QVector2D @ 11546 NONAME + _ZrsR11QDataStreamR9QVector3D @ 11547 NONAME + _ZrsR11QDataStreamR9QVector4D @ 11548 NONAME + _ZrsR11QTextStreamR9QSplitter @ 11549 NONAME + qt_filedialog_existing_directory_hook @ 11550 NONAME DATA 4 + qt_filedialog_open_filename_hook @ 11551 NONAME DATA 4 + qt_filedialog_open_filenames_hook @ 11552 NONAME DATA 4 + qt_filedialog_save_filename_hook @ 11553 NONAME DATA 4 + qt_image_cleanup_hook @ 11554 NONAME DATA 4 + qt_image_cleanup_hook_64 @ 11555 NONAME DATA 4 + qt_pixmap_cleanup_hook @ 11556 NONAME DATA 4 + qt_pixmap_cleanup_hook_64 @ 11557 NONAME DATA 4 + qt_tab_all_widgets @ 11558 NONAME DATA 1 diff --git a/src/s60installs/eabi/QtMultimediau.def b/src/s60installs/eabi/QtMultimediau.def index fb89c0b..787ad3a 100644 --- a/src/s60installs/eabi/QtMultimediau.def +++ b/src/s60installs/eabi/QtMultimediau.def @@ -5,303 +5,274 @@ EXPORTS _ZN11QAudioInput13setBufferSizeEi @ 4 NONAME _ZN11QAudioInput16staticMetaObjectE @ 5 NONAME DATA 16 _ZN11QAudioInput17setNotifyIntervalEi @ 6 NONAME - _ZN11QAudioInput4stopEv @ 7 NONAME - _ZN11QAudioInput5resetEv @ 8 NONAME - _ZN11QAudioInput5startEP9QIODevice @ 9 NONAME - _ZN11QAudioInput6notifyEv @ 10 NONAME - _ZN11QAudioInput6resumeEv @ 11 NONAME - _ZN11QAudioInput7suspendEv @ 12 NONAME - _ZN11QAudioInputC1ERK12QAudioFormatP7QObject @ 13 NONAME - _ZN11QAudioInputC1ERK14QAudioDeviceIdRK12QAudioFormatP7QObject @ 14 NONAME ABSENT - _ZN11QAudioInputC2ERK12QAudioFormatP7QObject @ 15 NONAME - _ZN11QAudioInputC2ERK14QAudioDeviceIdRK12QAudioFormatP7QObject @ 16 NONAME ABSENT - _ZN11QAudioInputD0Ev @ 17 NONAME - _ZN11QAudioInputD1Ev @ 18 NONAME - _ZN11QAudioInputD2Ev @ 19 NONAME - _ZN12QAudioFormat11setChannelsEi @ 20 NONAME - _ZN12QAudioFormat12setByteOrderENS_6EndianE @ 21 NONAME - _ZN12QAudioFormat12setFrequencyEi @ 22 NONAME - _ZN12QAudioFormat13setSampleSizeEi @ 23 NONAME - _ZN12QAudioFormat13setSampleTypeENS_10SampleTypeE @ 24 NONAME - _ZN12QAudioFormat8setCodecE7QString @ 25 NONAME ABSENT - _ZN12QAudioFormatC1ERKS_ @ 26 NONAME - _ZN12QAudioFormatC1Ev @ 27 NONAME - _ZN12QAudioFormatC2ERKS_ @ 28 NONAME - _ZN12QAudioFormatC2Ev @ 29 NONAME - _ZN12QAudioFormatD1Ev @ 30 NONAME - _ZN12QAudioFormatD2Ev @ 31 NONAME - _ZN12QAudioFormataSERKS_ @ 32 NONAME - _ZN12QAudioOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 33 NONAME - _ZN12QAudioOutput11qt_metacastEPKc @ 34 NONAME - _ZN12QAudioOutput12stateChangedEN6QAudio5StateE @ 35 NONAME - _ZN12QAudioOutput13setBufferSizeEi @ 36 NONAME - _ZN12QAudioOutput16staticMetaObjectE @ 37 NONAME DATA 16 - _ZN12QAudioOutput17setNotifyIntervalEi @ 38 NONAME - _ZN12QAudioOutput4stopEv @ 39 NONAME - _ZN12QAudioOutput5resetEv @ 40 NONAME - _ZN12QAudioOutput5startEP9QIODevice @ 41 NONAME - _ZN12QAudioOutput6notifyEv @ 42 NONAME - _ZN12QAudioOutput6resumeEv @ 43 NONAME - _ZN12QAudioOutput7suspendEv @ 44 NONAME - _ZN12QAudioOutputC1ERK12QAudioFormatP7QObject @ 45 NONAME - _ZN12QAudioOutputC1ERK14QAudioDeviceIdRK12QAudioFormatP7QObject @ 46 NONAME ABSENT - _ZN12QAudioOutputC2ERK12QAudioFormatP7QObject @ 47 NONAME - _ZN12QAudioOutputC2ERK14QAudioDeviceIdRK12QAudioFormatP7QObject @ 48 NONAME ABSENT - _ZN12QAudioOutputD0Ev @ 49 NONAME - _ZN12QAudioOutputD1Ev @ 50 NONAME - _ZN12QAudioOutputD2Ev @ 51 NONAME - _ZN14QAudioDeviceIdC1EP21QAudioDeviceIdPrivate @ 52 NONAME ABSENT - _ZN14QAudioDeviceIdC1ERKS_ @ 53 NONAME ABSENT - _ZN14QAudioDeviceIdC1Ev @ 54 NONAME ABSENT - _ZN14QAudioDeviceIdC2EP21QAudioDeviceIdPrivate @ 55 NONAME ABSENT - _ZN14QAudioDeviceIdC2ERKS_ @ 56 NONAME ABSENT - _ZN14QAudioDeviceIdC2Ev @ 57 NONAME ABSENT - _ZN14QAudioDeviceIdD1Ev @ 58 NONAME ABSENT - _ZN14QAudioDeviceIdD2Ev @ 59 NONAME ABSENT - _ZN14QAudioDeviceIdaSERKS_ @ 60 NONAME ABSENT - _ZN16QAudioDeviceInfo10deviceListEN6QAudio4ModeE @ 61 NONAME - _ZN16QAudioDeviceInfo11qt_metacallEN11QMetaObject4CallEiPPv @ 62 NONAME ABSENT - _ZN16QAudioDeviceInfo11qt_metacastEPKc @ 63 NONAME ABSENT - _ZN16QAudioDeviceInfo16staticMetaObjectE @ 64 NONAME DATA 16 ABSENT - _ZN16QAudioDeviceInfo18defaultInputDeviceEv @ 65 NONAME - _ZN16QAudioDeviceInfo19defaultOutputDeviceEv @ 66 NONAME - _ZN16QAudioDeviceInfoC1ERK14QAudioDeviceIdP7QObject @ 67 NONAME ABSENT - _ZN16QAudioDeviceInfoC2ERK14QAudioDeviceIdP7QObject @ 68 NONAME ABSENT - _ZN16QAudioDeviceInfoD0Ev @ 69 NONAME ABSENT - _ZN16QAudioDeviceInfoD1Ev @ 70 NONAME - _ZN16QAudioDeviceInfoD2Ev @ 71 NONAME - _ZN18QAudioEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 72 NONAME - _ZN18QAudioEnginePlugin11qt_metacastEPKc @ 73 NONAME - _ZN18QAudioEnginePlugin16staticMetaObjectE @ 74 NONAME DATA 16 - _ZN18QAudioEnginePluginC2EP7QObject @ 75 NONAME - _ZN18QAudioEnginePluginD0Ev @ 76 NONAME - _ZN18QAudioEnginePluginD1Ev @ 77 NONAME - _ZN18QAudioEnginePluginD2Ev @ 78 NONAME - _ZN19QAbstractAudioInput11qt_metacallEN11QMetaObject4CallEiPPv @ 79 NONAME - _ZN19QAbstractAudioInput11qt_metacastEPKc @ 80 NONAME - _ZN19QAbstractAudioInput12stateChangedEN6QAudio5StateE @ 81 NONAME - _ZN19QAbstractAudioInput16staticMetaObjectE @ 82 NONAME DATA 16 - _ZN19QAbstractAudioInput6notifyEv @ 83 NONAME - _ZN20QAbstractAudioOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 84 NONAME - _ZN20QAbstractAudioOutput11qt_metacastEPKc @ 85 NONAME - _ZN20QAbstractAudioOutput12stateChangedEN6QAudio5StateE @ 86 NONAME - _ZN20QAbstractAudioOutput16staticMetaObjectE @ 87 NONAME DATA 16 - _ZN20QAbstractAudioOutput6notifyEv @ 88 NONAME - _ZN24QAbstractAudioDeviceInfo11qt_metacallEN11QMetaObject4CallEiPPv @ 89 NONAME - _ZN24QAbstractAudioDeviceInfo11qt_metacastEPKc @ 90 NONAME - _ZN24QAbstractAudioDeviceInfo16staticMetaObjectE @ 91 NONAME DATA 16 - _ZNK11QAudioInput10bufferSizeEv @ 92 NONAME - _ZNK11QAudioInput10bytesReadyEv @ 93 NONAME - _ZNK11QAudioInput10metaObjectEv @ 94 NONAME - _ZNK11QAudioInput10periodSizeEv @ 95 NONAME - _ZNK11QAudioInput14notifyIntervalEv @ 96 NONAME - _ZNK11QAudioInput5clockEv @ 97 NONAME - _ZNK11QAudioInput5errorEv @ 98 NONAME - _ZNK11QAudioInput5stateEv @ 99 NONAME - _ZNK11QAudioInput6formatEv @ 100 NONAME - _ZNK11QAudioInput9totalTimeEv @ 101 NONAME - _ZNK12QAudioFormat10sampleSizeEv @ 102 NONAME - _ZNK12QAudioFormat10sampleTypeEv @ 103 NONAME - _ZNK12QAudioFormat5codecEv @ 104 NONAME - _ZNK12QAudioFormat6isNullEv @ 105 NONAME - _ZNK12QAudioFormat8channelsEv @ 106 NONAME - _ZNK12QAudioFormat9byteOrderEv @ 107 NONAME - _ZNK12QAudioFormat9frequencyEv @ 108 NONAME - _ZNK12QAudioFormateqERKS_ @ 109 NONAME - _ZNK12QAudioFormatneERKS_ @ 110 NONAME - _ZNK12QAudioOutput10bufferSizeEv @ 111 NONAME - _ZNK12QAudioOutput10metaObjectEv @ 112 NONAME - _ZNK12QAudioOutput10periodSizeEv @ 113 NONAME - _ZNK12QAudioOutput14notifyIntervalEv @ 114 NONAME - _ZNK12QAudioOutput5clockEv @ 115 NONAME - _ZNK12QAudioOutput5errorEv @ 116 NONAME - _ZNK12QAudioOutput5stateEv @ 117 NONAME - _ZNK12QAudioOutput6formatEv @ 118 NONAME - _ZNK12QAudioOutput9bytesFreeEv @ 119 NONAME - _ZNK12QAudioOutput9totalTimeEv @ 120 NONAME - _ZNK14QAudioDeviceId6isNullEv @ 121 NONAME ABSENT - _ZNK14QAudioDeviceIdeqERKS_ @ 122 NONAME ABSENT - _ZNK14QAudioDeviceIdneERKS_ @ 123 NONAME ABSENT - _ZNK16QAudioDeviceInfo10deviceNameEv @ 124 NONAME - _ZNK16QAudioDeviceInfo10metaObjectEv @ 125 NONAME ABSENT - _ZNK16QAudioDeviceInfo13nearestFormatERK12QAudioFormat @ 126 NONAME - _ZNK16QAudioDeviceInfo15preferredFormatEv @ 127 NONAME - _ZNK16QAudioDeviceInfo15supportedCodecsEv @ 128 NONAME - _ZNK16QAudioDeviceInfo17isFormatSupportedERK12QAudioFormat @ 129 NONAME - _ZNK16QAudioDeviceInfo17supportedChannelsEv @ 130 NONAME - _ZNK16QAudioDeviceInfo19supportedByteOrdersEv @ 131 NONAME - _ZNK16QAudioDeviceInfo20supportedFrequenciesEv @ 132 NONAME - _ZNK16QAudioDeviceInfo20supportedSampleSizesEv @ 133 NONAME - _ZNK16QAudioDeviceInfo20supportedSampleTypesEv @ 134 NONAME - _ZNK18QAudioEnginePlugin10metaObjectEv @ 135 NONAME - _ZNK19QAbstractAudioInput10metaObjectEv @ 136 NONAME - _ZNK20QAbstractAudioOutput10metaObjectEv @ 137 NONAME - _ZNK24QAbstractAudioDeviceInfo10metaObjectEv @ 138 NONAME - _ZTI11QAudioInput @ 139 NONAME - _ZTI12QAudioOutput @ 140 NONAME - _ZTI16QAudioDeviceInfo @ 141 NONAME ABSENT - _ZTI18QAudioEnginePlugin @ 142 NONAME - _ZTI19QAbstractAudioInput @ 143 NONAME - _ZTI20QAbstractAudioOutput @ 144 NONAME - _ZTI24QAbstractAudioDeviceInfo @ 145 NONAME - _ZTI28QAudioEngineFactoryInterface @ 146 NONAME - _ZTV11QAudioInput @ 147 NONAME - _ZTV12QAudioOutput @ 148 NONAME - _ZTV16QAudioDeviceInfo @ 149 NONAME ABSENT - _ZTV18QAudioEnginePlugin @ 150 NONAME - _ZTV19QAbstractAudioInput @ 151 NONAME - _ZTV20QAbstractAudioOutput @ 152 NONAME - _ZTV24QAbstractAudioDeviceInfo @ 153 NONAME - _ZThn8_N18QAudioEnginePluginD0Ev @ 154 NONAME - _ZThn8_N18QAudioEnginePluginD1Ev @ 155 NONAME - _ZlsR11QDataStreamRK14QAudioDeviceId @ 156 NONAME ABSENT - _ZrsR11QDataStreamR14QAudioDeviceId @ 157 NONAME ABSENT - _ZN11QAudioInput19getStaticMetaObjectEv @ 158 NONAME - _ZN11QVideoFrame10setEndTimeEx @ 159 NONAME - _ZN11QVideoFrame12setFieldTypeENS_9FieldTypeE @ 160 NONAME - _ZN11QVideoFrame12setStartTimeEx @ 161 NONAME - _ZN11QVideoFrame21equivalentImageFormatENS_11PixelFormatE @ 162 NONAME - _ZN11QVideoFrame21equivalentPixelFormatEN6QImage6FormatE @ 163 NONAME - _ZN11QVideoFrame3mapEN20QAbstractVideoBuffer7MapModeE @ 164 NONAME - _ZN11QVideoFrame4bitsEv @ 165 NONAME - _ZN11QVideoFrame5unmapEv @ 166 NONAME - _ZN11QVideoFrameC1EP20QAbstractVideoBufferRK5QSizeNS_11PixelFormatE @ 167 NONAME - _ZN11QVideoFrameC1ERK6QImage @ 168 NONAME - _ZN11QVideoFrameC1ERKS_ @ 169 NONAME - _ZN11QVideoFrameC1EiRK5QSizeiNS_11PixelFormatE @ 170 NONAME - _ZN11QVideoFrameC1Ev @ 171 NONAME - _ZN11QVideoFrameC2EP20QAbstractVideoBufferRK5QSizeNS_11PixelFormatE @ 172 NONAME - _ZN11QVideoFrameC2ERK6QImage @ 173 NONAME - _ZN11QVideoFrameC2ERKS_ @ 174 NONAME - _ZN11QVideoFrameC2EiRK5QSizeiNS_11PixelFormatE @ 175 NONAME - _ZN11QVideoFrameC2Ev @ 176 NONAME - _ZN11QVideoFrameD1Ev @ 177 NONAME - _ZN11QVideoFrameD2Ev @ 178 NONAME - _ZN11QVideoFrameaSERKS_ @ 179 NONAME - _ZN12QAudioOutput19getStaticMetaObjectEv @ 180 NONAME - _ZN16QAudioDeviceInfo19getStaticMetaObjectEv @ 181 NONAME ABSENT - _ZN17QImageVideoBuffer3mapEN20QAbstractVideoBuffer7MapModeEPiS2_ @ 182 NONAME - _ZN17QImageVideoBuffer5unmapEv @ 183 NONAME - _ZN17QImageVideoBufferC1ERK6QImage @ 184 NONAME - _ZN17QImageVideoBufferC2ERK6QImage @ 185 NONAME - _ZN17QImageVideoBufferD0Ev @ 186 NONAME - _ZN17QImageVideoBufferD1Ev @ 187 NONAME - _ZN17QImageVideoBufferD2Ev @ 188 NONAME - _ZN18QAudioEnginePlugin19getStaticMetaObjectEv @ 189 NONAME - _ZN18QMemoryVideoBuffer3mapEN20QAbstractVideoBuffer7MapModeEPiS2_ @ 190 NONAME - _ZN18QMemoryVideoBuffer5unmapEv @ 191 NONAME - _ZN18QMemoryVideoBufferC1ERK10QByteArrayi @ 192 NONAME - _ZN18QMemoryVideoBufferC2ERK10QByteArrayi @ 193 NONAME - _ZN18QMemoryVideoBufferD0Ev @ 194 NONAME - _ZN18QMemoryVideoBufferD1Ev @ 195 NONAME - _ZN18QMemoryVideoBufferD2Ev @ 196 NONAME - _ZN19QAbstractAudioInput19getStaticMetaObjectEv @ 197 NONAME - _ZN19QVideoSurfaceFormat11setPropertyEPKcRK8QVariant @ 198 NONAME - _ZN19QVideoSurfaceFormat11setViewportERK5QRect @ 199 NONAME - _ZN19QVideoSurfaceFormat12setFrameRateERK5QPairIiiE @ 200 NONAME - _ZN19QVideoSurfaceFormat12setFrameRateEii @ 201 NONAME - _ZN19QVideoSurfaceFormat12setFrameSizeERK5QSizeNS_12ViewportModeE @ 202 NONAME - _ZN19QVideoSurfaceFormat12setFrameSizeEiiNS_12ViewportModeE @ 203 NONAME - _ZN19QVideoSurfaceFormat16setYuvColorSpaceENS_13YuvColorSpaceE @ 204 NONAME - _ZN19QVideoSurfaceFormat19setPixelAspectRatioERK5QSize @ 205 NONAME - _ZN19QVideoSurfaceFormat19setPixelAspectRatioEii @ 206 NONAME - _ZN19QVideoSurfaceFormat20setScanLineDirectionENS_9DirectionE @ 207 NONAME - _ZN19QVideoSurfaceFormatC1ERK5QSizeN11QVideoFrame11PixelFormatEN20QAbstractVideoBuffer10HandleTypeE @ 208 NONAME - _ZN19QVideoSurfaceFormatC1ERKS_ @ 209 NONAME - _ZN19QVideoSurfaceFormatC1Ev @ 210 NONAME - _ZN19QVideoSurfaceFormatC2ERK5QSizeN11QVideoFrame11PixelFormatEN20QAbstractVideoBuffer10HandleTypeE @ 211 NONAME - _ZN19QVideoSurfaceFormatC2ERKS_ @ 212 NONAME - _ZN19QVideoSurfaceFormatC2Ev @ 213 NONAME - _ZN19QVideoSurfaceFormatD1Ev @ 214 NONAME - _ZN19QVideoSurfaceFormatD2Ev @ 215 NONAME - _ZN19QVideoSurfaceFormataSERKS_ @ 216 NONAME - _ZN20QAbstractAudioOutput19getStaticMetaObjectEv @ 217 NONAME - _ZN20QAbstractVideoBufferC2ENS_10HandleTypeE @ 218 NONAME - _ZN20QAbstractVideoBufferC2ER27QAbstractVideoBufferPrivateNS_10HandleTypeE @ 219 NONAME - _ZN20QAbstractVideoBufferD0Ev @ 220 NONAME - _ZN20QAbstractVideoBufferD1Ev @ 221 NONAME - _ZN20QAbstractVideoBufferD2Ev @ 222 NONAME - _ZN21QAbstractVideoSurface11qt_metacallEN11QMetaObject4CallEiPPv @ 223 NONAME - _ZN21QAbstractVideoSurface11qt_metacastEPKc @ 224 NONAME - _ZN21QAbstractVideoSurface14startedChangedEb @ 225 NONAME - _ZN21QAbstractVideoSurface16staticMetaObjectE @ 226 NONAME DATA 16 - _ZN21QAbstractVideoSurface19getStaticMetaObjectEv @ 227 NONAME - _ZN21QAbstractVideoSurface20surfaceFormatChangedERK19QVideoSurfaceFormat @ 228 NONAME - _ZN21QAbstractVideoSurface23supportedFormatsChangedEv @ 229 NONAME - _ZN21QAbstractVideoSurface4stopEv @ 230 NONAME - _ZN21QAbstractVideoSurface5startERK19QVideoSurfaceFormat @ 231 NONAME - _ZN21QAbstractVideoSurface8setErrorENS_5ErrorE @ 232 NONAME - _ZN21QAbstractVideoSurfaceC2EP7QObject @ 233 NONAME - _ZN21QAbstractVideoSurfaceC2ER28QAbstractVideoSurfacePrivateP7QObject @ 234 NONAME - _ZN21QAbstractVideoSurfaceD0Ev @ 235 NONAME - _ZN21QAbstractVideoSurfaceD1Ev @ 236 NONAME - _ZN21QAbstractVideoSurfaceD2Ev @ 237 NONAME - _ZN24QAbstractAudioDeviceInfo19getStaticMetaObjectEv @ 238 NONAME - _ZNK11QVideoFrame10handleTypeEv @ 239 NONAME - _ZNK11QVideoFrame10isReadableEv @ 240 NONAME - _ZNK11QVideoFrame10isWritableEv @ 241 NONAME - _ZNK11QVideoFrame11pixelFormatEv @ 242 NONAME - _ZNK11QVideoFrame12bytesPerLineEv @ 243 NONAME - _ZNK11QVideoFrame4bitsEv @ 244 NONAME - _ZNK11QVideoFrame4sizeEv @ 245 NONAME - _ZNK11QVideoFrame5widthEv @ 246 NONAME - _ZNK11QVideoFrame6handleEv @ 247 NONAME - _ZNK11QVideoFrame6heightEv @ 248 NONAME - _ZNK11QVideoFrame7endTimeEv @ 249 NONAME - _ZNK11QVideoFrame7isValidEv @ 250 NONAME - _ZNK11QVideoFrame7mapModeEv @ 251 NONAME - _ZNK11QVideoFrame8isMappedEv @ 252 NONAME - _ZNK11QVideoFrame8numBytesEv @ 253 NONAME - _ZNK11QVideoFrame9fieldTypeEv @ 254 NONAME - _ZNK11QVideoFrame9startTimeEv @ 255 NONAME - _ZNK17QImageVideoBuffer7mapModeEv @ 256 NONAME - _ZNK18QMemoryVideoBuffer7mapModeEv @ 257 NONAME - _ZNK19QVideoSurfaceFormat10frameWidthEv @ 258 NONAME - _ZNK19QVideoSurfaceFormat10handleTypeEv @ 259 NONAME - _ZNK19QVideoSurfaceFormat11frameHeightEv @ 260 NONAME - _ZNK19QVideoSurfaceFormat11pixelFormatEv @ 261 NONAME - _ZNK19QVideoSurfaceFormat13propertyNamesEv @ 262 NONAME - _ZNK19QVideoSurfaceFormat13yuvColorSpaceEv @ 263 NONAME - _ZNK19QVideoSurfaceFormat16pixelAspectRatioEv @ 264 NONAME - _ZNK19QVideoSurfaceFormat17scanLineDirectionEv @ 265 NONAME - _ZNK19QVideoSurfaceFormat7isValidEv @ 266 NONAME - _ZNK19QVideoSurfaceFormat8propertyEPKc @ 267 NONAME - _ZNK19QVideoSurfaceFormat8sizeHintEv @ 268 NONAME - _ZNK19QVideoSurfaceFormat8viewportEv @ 269 NONAME - _ZNK19QVideoSurfaceFormat9frameRateEv @ 270 NONAME - _ZNK19QVideoSurfaceFormat9frameSizeEv @ 271 NONAME - _ZNK19QVideoSurfaceFormateqERKS_ @ 272 NONAME - _ZNK19QVideoSurfaceFormatneERKS_ @ 273 NONAME - _ZNK20QAbstractVideoBuffer10handleTypeEv @ 274 NONAME - _ZNK20QAbstractVideoBuffer6handleEv @ 275 NONAME - _ZNK21QAbstractVideoSurface10metaObjectEv @ 276 NONAME - _ZNK21QAbstractVideoSurface13surfaceFormatEv @ 277 NONAME - _ZNK21QAbstractVideoSurface17isFormatSupportedERK19QVideoSurfaceFormatPS0_ @ 278 NONAME - _ZNK21QAbstractVideoSurface5errorEv @ 279 NONAME - _ZNK21QAbstractVideoSurface9isStartedEv @ 280 NONAME - _ZTI17QImageVideoBuffer @ 281 NONAME ; ## - _ZTI18QMemoryVideoBuffer @ 282 NONAME ; ## - _ZTI20QAbstractVideoBuffer @ 283 NONAME ; ## - _ZTI21QAbstractVideoSurface @ 284 NONAME ; ## - _ZTV17QImageVideoBuffer @ 285 NONAME ; ## - _ZTV18QMemoryVideoBuffer @ 286 NONAME ; ## - _ZTV20QAbstractVideoBuffer @ 287 NONAME ; ## - _ZTV21QAbstractVideoSurface @ 288 NONAME ; ## - _Zls6QDebugRK19QVideoSurfaceFormat @ 289 NONAME - _ZN11QAudioInputC1ERK16QAudioDeviceInfoRK12QAudioFormatP7QObject @ 290 NONAME - _ZN11QAudioInputC2ERK16QAudioDeviceInfoRK12QAudioFormatP7QObject @ 291 NONAME - _ZN12QAudioFormat8setCodecERK7QString @ 292 NONAME - _ZN12QAudioOutputC1ERK16QAudioDeviceInfoRK12QAudioFormatP7QObject @ 293 NONAME - _ZN12QAudioOutputC2ERK16QAudioDeviceInfoRK12QAudioFormatP7QObject @ 294 NONAME - _ZN16QAudioDeviceInfoC1ERK7QStringRK10QByteArrayN6QAudio4ModeE @ 295 NONAME - _ZN16QAudioDeviceInfoC1ERKS_ @ 296 NONAME - _ZN16QAudioDeviceInfoC1Ev @ 297 NONAME - _ZN16QAudioDeviceInfoC2ERK7QStringRK10QByteArrayN6QAudio4ModeE @ 298 NONAME - _ZN16QAudioDeviceInfoC2ERKS_ @ 299 NONAME - _ZN16QAudioDeviceInfoC2Ev @ 300 NONAME - _ZN16QAudioDeviceInfoaSERKS_ @ 301 NONAME - _ZNK16QAudioDeviceInfo4modeEv @ 302 NONAME - _ZNK16QAudioDeviceInfo5realmEv @ 303 NONAME - _ZNK16QAudioDeviceInfo6handleEv @ 304 NONAME - _ZNK16QAudioDeviceInfo6isNullEv @ 305 NONAME + _ZN11QAudioInput19getStaticMetaObjectEv @ 7 NONAME + _ZN11QAudioInput4stopEv @ 8 NONAME + _ZN11QAudioInput5resetEv @ 9 NONAME + _ZN11QAudioInput5startEP9QIODevice @ 10 NONAME + _ZN11QAudioInput6notifyEv @ 11 NONAME + _ZN11QAudioInput6resumeEv @ 12 NONAME + _ZN11QAudioInput7suspendEv @ 13 NONAME + _ZN11QAudioInputC1ERK12QAudioFormatP7QObject @ 14 NONAME + _ZN11QAudioInputC1ERK16QAudioDeviceInfoRK12QAudioFormatP7QObject @ 15 NONAME + _ZN11QAudioInputC2ERK12QAudioFormatP7QObject @ 16 NONAME + _ZN11QAudioInputC2ERK16QAudioDeviceInfoRK12QAudioFormatP7QObject @ 17 NONAME + _ZN11QAudioInputD0Ev @ 18 NONAME + _ZN11QAudioInputD1Ev @ 19 NONAME + _ZN11QAudioInputD2Ev @ 20 NONAME + _ZN11QVideoFrame10setEndTimeEx @ 21 NONAME + _ZN11QVideoFrame12setFieldTypeENS_9FieldTypeE @ 22 NONAME + _ZN11QVideoFrame12setStartTimeEx @ 23 NONAME + _ZN11QVideoFrame21equivalentImageFormatENS_11PixelFormatE @ 24 NONAME + _ZN11QVideoFrame21equivalentPixelFormatEN6QImage6FormatE @ 25 NONAME + _ZN11QVideoFrame3mapEN20QAbstractVideoBuffer7MapModeE @ 26 NONAME + _ZN11QVideoFrame4bitsEv @ 27 NONAME + _ZN11QVideoFrame5unmapEv @ 28 NONAME + _ZN11QVideoFrameC1EP20QAbstractVideoBufferRK5QSizeNS_11PixelFormatE @ 29 NONAME + _ZN11QVideoFrameC1ERK6QImage @ 30 NONAME + _ZN11QVideoFrameC1ERKS_ @ 31 NONAME + _ZN11QVideoFrameC1EiRK5QSizeiNS_11PixelFormatE @ 32 NONAME + _ZN11QVideoFrameC1Ev @ 33 NONAME + _ZN11QVideoFrameC2EP20QAbstractVideoBufferRK5QSizeNS_11PixelFormatE @ 34 NONAME + _ZN11QVideoFrameC2ERK6QImage @ 35 NONAME + _ZN11QVideoFrameC2ERKS_ @ 36 NONAME + _ZN11QVideoFrameC2EiRK5QSizeiNS_11PixelFormatE @ 37 NONAME + _ZN11QVideoFrameC2Ev @ 38 NONAME + _ZN11QVideoFrameD1Ev @ 39 NONAME + _ZN11QVideoFrameD2Ev @ 40 NONAME + _ZN11QVideoFrameaSERKS_ @ 41 NONAME + _ZN12QAudioFormat11setChannelsEi @ 42 NONAME + _ZN12QAudioFormat12setByteOrderENS_6EndianE @ 43 NONAME + _ZN12QAudioFormat12setFrequencyEi @ 44 NONAME + _ZN12QAudioFormat13setSampleSizeEi @ 45 NONAME + _ZN12QAudioFormat13setSampleTypeENS_10SampleTypeE @ 46 NONAME + _ZN12QAudioFormat8setCodecERK7QString @ 47 NONAME + _ZN12QAudioFormatC1ERKS_ @ 48 NONAME + _ZN12QAudioFormatC1Ev @ 49 NONAME + _ZN12QAudioFormatC2ERKS_ @ 50 NONAME + _ZN12QAudioFormatC2Ev @ 51 NONAME + _ZN12QAudioFormatD1Ev @ 52 NONAME + _ZN12QAudioFormatD2Ev @ 53 NONAME + _ZN12QAudioFormataSERKS_ @ 54 NONAME + _ZN12QAudioOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 55 NONAME + _ZN12QAudioOutput11qt_metacastEPKc @ 56 NONAME + _ZN12QAudioOutput12stateChangedEN6QAudio5StateE @ 57 NONAME + _ZN12QAudioOutput13setBufferSizeEi @ 58 NONAME + _ZN12QAudioOutput16staticMetaObjectE @ 59 NONAME DATA 16 + _ZN12QAudioOutput17setNotifyIntervalEi @ 60 NONAME + _ZN12QAudioOutput19getStaticMetaObjectEv @ 61 NONAME + _ZN12QAudioOutput4stopEv @ 62 NONAME + _ZN12QAudioOutput5resetEv @ 63 NONAME + _ZN12QAudioOutput5startEP9QIODevice @ 64 NONAME + _ZN12QAudioOutput6notifyEv @ 65 NONAME + _ZN12QAudioOutput6resumeEv @ 66 NONAME + _ZN12QAudioOutput7suspendEv @ 67 NONAME + _ZN12QAudioOutputC1ERK12QAudioFormatP7QObject @ 68 NONAME + _ZN12QAudioOutputC1ERK16QAudioDeviceInfoRK12QAudioFormatP7QObject @ 69 NONAME + _ZN12QAudioOutputC2ERK12QAudioFormatP7QObject @ 70 NONAME + _ZN12QAudioOutputC2ERK16QAudioDeviceInfoRK12QAudioFormatP7QObject @ 71 NONAME + _ZN12QAudioOutputD0Ev @ 72 NONAME + _ZN12QAudioOutputD1Ev @ 73 NONAME + _ZN12QAudioOutputD2Ev @ 74 NONAME + _ZN16QAudioDeviceInfo10deviceListEN6QAudio4ModeE @ 75 NONAME + _ZN16QAudioDeviceInfo18defaultInputDeviceEv @ 76 NONAME + _ZN16QAudioDeviceInfo19defaultOutputDeviceEv @ 77 NONAME + _ZN16QAudioDeviceInfoC1ERK7QStringRK10QByteArrayN6QAudio4ModeE @ 78 NONAME + _ZN16QAudioDeviceInfoC1ERKS_ @ 79 NONAME + _ZN16QAudioDeviceInfoC1Ev @ 80 NONAME + _ZN16QAudioDeviceInfoC2ERK7QStringRK10QByteArrayN6QAudio4ModeE @ 81 NONAME + _ZN16QAudioDeviceInfoC2ERKS_ @ 82 NONAME + _ZN16QAudioDeviceInfoC2Ev @ 83 NONAME + _ZN16QAudioDeviceInfoD1Ev @ 84 NONAME + _ZN16QAudioDeviceInfoD2Ev @ 85 NONAME + _ZN16QAudioDeviceInfoaSERKS_ @ 86 NONAME + _ZN17QImageVideoBuffer3mapEN20QAbstractVideoBuffer7MapModeEPiS2_ @ 87 NONAME + _ZN17QImageVideoBuffer5unmapEv @ 88 NONAME + _ZN17QImageVideoBufferC1ERK6QImage @ 89 NONAME + _ZN17QImageVideoBufferC2ERK6QImage @ 90 NONAME + _ZN17QImageVideoBufferD0Ev @ 91 NONAME + _ZN17QImageVideoBufferD1Ev @ 92 NONAME + _ZN17QImageVideoBufferD2Ev @ 93 NONAME + _ZN18QAudioEnginePlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 94 NONAME + _ZN18QAudioEnginePlugin11qt_metacastEPKc @ 95 NONAME + _ZN18QAudioEnginePlugin16staticMetaObjectE @ 96 NONAME DATA 16 + _ZN18QAudioEnginePlugin19getStaticMetaObjectEv @ 97 NONAME + _ZN18QAudioEnginePluginC2EP7QObject @ 98 NONAME + _ZN18QAudioEnginePluginD0Ev @ 99 NONAME + _ZN18QAudioEnginePluginD1Ev @ 100 NONAME + _ZN18QAudioEnginePluginD2Ev @ 101 NONAME + _ZN18QMemoryVideoBuffer3mapEN20QAbstractVideoBuffer7MapModeEPiS2_ @ 102 NONAME + _ZN18QMemoryVideoBuffer5unmapEv @ 103 NONAME + _ZN18QMemoryVideoBufferC1ERK10QByteArrayi @ 104 NONAME + _ZN18QMemoryVideoBufferC2ERK10QByteArrayi @ 105 NONAME + _ZN18QMemoryVideoBufferD0Ev @ 106 NONAME + _ZN18QMemoryVideoBufferD1Ev @ 107 NONAME + _ZN18QMemoryVideoBufferD2Ev @ 108 NONAME + _ZN19QAbstractAudioInput11qt_metacallEN11QMetaObject4CallEiPPv @ 109 NONAME + _ZN19QAbstractAudioInput11qt_metacastEPKc @ 110 NONAME + _ZN19QAbstractAudioInput12stateChangedEN6QAudio5StateE @ 111 NONAME + _ZN19QAbstractAudioInput16staticMetaObjectE @ 112 NONAME DATA 16 + _ZN19QAbstractAudioInput19getStaticMetaObjectEv @ 113 NONAME + _ZN19QAbstractAudioInput6notifyEv @ 114 NONAME + _ZN19QVideoSurfaceFormat11setPropertyEPKcRK8QVariant @ 115 NONAME + _ZN19QVideoSurfaceFormat11setViewportERK5QRect @ 116 NONAME + _ZN19QVideoSurfaceFormat12setFrameRateERK5QPairIiiE @ 117 NONAME + _ZN19QVideoSurfaceFormat12setFrameRateEii @ 118 NONAME + _ZN19QVideoSurfaceFormat12setFrameSizeERK5QSizeNS_12ViewportModeE @ 119 NONAME + _ZN19QVideoSurfaceFormat12setFrameSizeEiiNS_12ViewportModeE @ 120 NONAME + _ZN19QVideoSurfaceFormat16setYuvColorSpaceENS_13YuvColorSpaceE @ 121 NONAME + _ZN19QVideoSurfaceFormat19setPixelAspectRatioERK5QSize @ 122 NONAME + _ZN19QVideoSurfaceFormat19setPixelAspectRatioEii @ 123 NONAME + _ZN19QVideoSurfaceFormat20setScanLineDirectionENS_9DirectionE @ 124 NONAME + _ZN19QVideoSurfaceFormatC1ERK5QSizeN11QVideoFrame11PixelFormatEN20QAbstractVideoBuffer10HandleTypeE @ 125 NONAME + _ZN19QVideoSurfaceFormatC1ERKS_ @ 126 NONAME + _ZN19QVideoSurfaceFormatC1Ev @ 127 NONAME + _ZN19QVideoSurfaceFormatC2ERK5QSizeN11QVideoFrame11PixelFormatEN20QAbstractVideoBuffer10HandleTypeE @ 128 NONAME + _ZN19QVideoSurfaceFormatC2ERKS_ @ 129 NONAME + _ZN19QVideoSurfaceFormatC2Ev @ 130 NONAME + _ZN19QVideoSurfaceFormatD1Ev @ 131 NONAME + _ZN19QVideoSurfaceFormatD2Ev @ 132 NONAME + _ZN19QVideoSurfaceFormataSERKS_ @ 133 NONAME + _ZN20QAbstractAudioOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 134 NONAME + _ZN20QAbstractAudioOutput11qt_metacastEPKc @ 135 NONAME + _ZN20QAbstractAudioOutput12stateChangedEN6QAudio5StateE @ 136 NONAME + _ZN20QAbstractAudioOutput16staticMetaObjectE @ 137 NONAME DATA 16 + _ZN20QAbstractAudioOutput19getStaticMetaObjectEv @ 138 NONAME + _ZN20QAbstractAudioOutput6notifyEv @ 139 NONAME + _ZN20QAbstractVideoBufferC2ENS_10HandleTypeE @ 140 NONAME + _ZN20QAbstractVideoBufferC2ER27QAbstractVideoBufferPrivateNS_10HandleTypeE @ 141 NONAME + _ZN20QAbstractVideoBufferD0Ev @ 142 NONAME + _ZN20QAbstractVideoBufferD1Ev @ 143 NONAME + _ZN20QAbstractVideoBufferD2Ev @ 144 NONAME + _ZN21QAbstractVideoSurface11qt_metacallEN11QMetaObject4CallEiPPv @ 145 NONAME + _ZN21QAbstractVideoSurface11qt_metacastEPKc @ 146 NONAME + _ZN21QAbstractVideoSurface14startedChangedEb @ 147 NONAME + _ZN21QAbstractVideoSurface16staticMetaObjectE @ 148 NONAME DATA 16 + _ZN21QAbstractVideoSurface19getStaticMetaObjectEv @ 149 NONAME + _ZN21QAbstractVideoSurface20surfaceFormatChangedERK19QVideoSurfaceFormat @ 150 NONAME + _ZN21QAbstractVideoSurface23supportedFormatsChangedEv @ 151 NONAME + _ZN21QAbstractVideoSurface4stopEv @ 152 NONAME + _ZN21QAbstractVideoSurface5startERK19QVideoSurfaceFormat @ 153 NONAME + _ZN21QAbstractVideoSurface8setErrorENS_5ErrorE @ 154 NONAME + _ZN21QAbstractVideoSurfaceC2EP7QObject @ 155 NONAME + _ZN21QAbstractVideoSurfaceC2ER28QAbstractVideoSurfacePrivateP7QObject @ 156 NONAME + _ZN21QAbstractVideoSurfaceD0Ev @ 157 NONAME + _ZN21QAbstractVideoSurfaceD1Ev @ 158 NONAME + _ZN21QAbstractVideoSurfaceD2Ev @ 159 NONAME + _ZN24QAbstractAudioDeviceInfo11qt_metacallEN11QMetaObject4CallEiPPv @ 160 NONAME + _ZN24QAbstractAudioDeviceInfo11qt_metacastEPKc @ 161 NONAME + _ZN24QAbstractAudioDeviceInfo16staticMetaObjectE @ 162 NONAME DATA 16 + _ZN24QAbstractAudioDeviceInfo19getStaticMetaObjectEv @ 163 NONAME + _ZNK11QAudioInput10bufferSizeEv @ 164 NONAME + _ZNK11QAudioInput10bytesReadyEv @ 165 NONAME + _ZNK11QAudioInput10metaObjectEv @ 166 NONAME + _ZNK11QAudioInput10periodSizeEv @ 167 NONAME + _ZNK11QAudioInput14notifyIntervalEv @ 168 NONAME + _ZNK11QAudioInput5clockEv @ 169 NONAME + _ZNK11QAudioInput5errorEv @ 170 NONAME + _ZNK11QAudioInput5stateEv @ 171 NONAME + _ZNK11QAudioInput6formatEv @ 172 NONAME + _ZNK11QAudioInput9totalTimeEv @ 173 NONAME + _ZNK11QVideoFrame10handleTypeEv @ 174 NONAME + _ZNK11QVideoFrame10isReadableEv @ 175 NONAME + _ZNK11QVideoFrame10isWritableEv @ 176 NONAME + _ZNK11QVideoFrame11pixelFormatEv @ 177 NONAME + _ZNK11QVideoFrame12bytesPerLineEv @ 178 NONAME + _ZNK11QVideoFrame4bitsEv @ 179 NONAME + _ZNK11QVideoFrame4sizeEv @ 180 NONAME + _ZNK11QVideoFrame5widthEv @ 181 NONAME + _ZNK11QVideoFrame6handleEv @ 182 NONAME + _ZNK11QVideoFrame6heightEv @ 183 NONAME + _ZNK11QVideoFrame7endTimeEv @ 184 NONAME + _ZNK11QVideoFrame7isValidEv @ 185 NONAME + _ZNK11QVideoFrame7mapModeEv @ 186 NONAME + _ZNK11QVideoFrame8isMappedEv @ 187 NONAME + _ZNK11QVideoFrame8numBytesEv @ 188 NONAME + _ZNK11QVideoFrame9fieldTypeEv @ 189 NONAME + _ZNK11QVideoFrame9startTimeEv @ 190 NONAME + _ZNK12QAudioFormat10sampleSizeEv @ 191 NONAME + _ZNK12QAudioFormat10sampleTypeEv @ 192 NONAME + _ZNK12QAudioFormat5codecEv @ 193 NONAME + _ZNK12QAudioFormat6isNullEv @ 194 NONAME + _ZNK12QAudioFormat8channelsEv @ 195 NONAME + _ZNK12QAudioFormat9byteOrderEv @ 196 NONAME + _ZNK12QAudioFormat9frequencyEv @ 197 NONAME + _ZNK12QAudioFormateqERKS_ @ 198 NONAME + _ZNK12QAudioFormatneERKS_ @ 199 NONAME + _ZNK12QAudioOutput10bufferSizeEv @ 200 NONAME + _ZNK12QAudioOutput10metaObjectEv @ 201 NONAME + _ZNK12QAudioOutput10periodSizeEv @ 202 NONAME + _ZNK12QAudioOutput14notifyIntervalEv @ 203 NONAME + _ZNK12QAudioOutput5clockEv @ 204 NONAME + _ZNK12QAudioOutput5errorEv @ 205 NONAME + _ZNK12QAudioOutput5stateEv @ 206 NONAME + _ZNK12QAudioOutput6formatEv @ 207 NONAME + _ZNK12QAudioOutput9bytesFreeEv @ 208 NONAME + _ZNK12QAudioOutput9totalTimeEv @ 209 NONAME + _ZNK16QAudioDeviceInfo10deviceNameEv @ 210 NONAME + _ZNK16QAudioDeviceInfo13nearestFormatERK12QAudioFormat @ 211 NONAME + _ZNK16QAudioDeviceInfo15preferredFormatEv @ 212 NONAME + _ZNK16QAudioDeviceInfo15supportedCodecsEv @ 213 NONAME + _ZNK16QAudioDeviceInfo17isFormatSupportedERK12QAudioFormat @ 214 NONAME + _ZNK16QAudioDeviceInfo17supportedChannelsEv @ 215 NONAME + _ZNK16QAudioDeviceInfo19supportedByteOrdersEv @ 216 NONAME + _ZNK16QAudioDeviceInfo20supportedFrequenciesEv @ 217 NONAME + _ZNK16QAudioDeviceInfo20supportedSampleSizesEv @ 218 NONAME + _ZNK16QAudioDeviceInfo20supportedSampleTypesEv @ 219 NONAME + _ZNK16QAudioDeviceInfo4modeEv @ 220 NONAME + _ZNK16QAudioDeviceInfo5realmEv @ 221 NONAME + _ZNK16QAudioDeviceInfo6handleEv @ 222 NONAME + _ZNK16QAudioDeviceInfo6isNullEv @ 223 NONAME + _ZNK17QImageVideoBuffer7mapModeEv @ 224 NONAME + _ZNK18QAudioEnginePlugin10metaObjectEv @ 225 NONAME + _ZNK18QMemoryVideoBuffer7mapModeEv @ 226 NONAME + _ZNK19QAbstractAudioInput10metaObjectEv @ 227 NONAME + _ZNK19QVideoSurfaceFormat10frameWidthEv @ 228 NONAME + _ZNK19QVideoSurfaceFormat10handleTypeEv @ 229 NONAME + _ZNK19QVideoSurfaceFormat11frameHeightEv @ 230 NONAME + _ZNK19QVideoSurfaceFormat11pixelFormatEv @ 231 NONAME + _ZNK19QVideoSurfaceFormat13propertyNamesEv @ 232 NONAME + _ZNK19QVideoSurfaceFormat13yuvColorSpaceEv @ 233 NONAME + _ZNK19QVideoSurfaceFormat16pixelAspectRatioEv @ 234 NONAME + _ZNK19QVideoSurfaceFormat17scanLineDirectionEv @ 235 NONAME + _ZNK19QVideoSurfaceFormat7isValidEv @ 236 NONAME + _ZNK19QVideoSurfaceFormat8propertyEPKc @ 237 NONAME + _ZNK19QVideoSurfaceFormat8sizeHintEv @ 238 NONAME + _ZNK19QVideoSurfaceFormat8viewportEv @ 239 NONAME + _ZNK19QVideoSurfaceFormat9frameRateEv @ 240 NONAME + _ZNK19QVideoSurfaceFormat9frameSizeEv @ 241 NONAME + _ZNK19QVideoSurfaceFormateqERKS_ @ 242 NONAME + _ZNK19QVideoSurfaceFormatneERKS_ @ 243 NONAME + _ZNK20QAbstractAudioOutput10metaObjectEv @ 244 NONAME + _ZNK20QAbstractVideoBuffer10handleTypeEv @ 245 NONAME + _ZNK20QAbstractVideoBuffer6handleEv @ 246 NONAME + _ZNK21QAbstractVideoSurface10metaObjectEv @ 247 NONAME + _ZNK21QAbstractVideoSurface13surfaceFormatEv @ 248 NONAME + _ZNK21QAbstractVideoSurface17isFormatSupportedERK19QVideoSurfaceFormatPS0_ @ 249 NONAME + _ZNK21QAbstractVideoSurface5errorEv @ 250 NONAME + _ZNK21QAbstractVideoSurface9isStartedEv @ 251 NONAME + _ZNK24QAbstractAudioDeviceInfo10metaObjectEv @ 252 NONAME + _ZTI11QAudioInput @ 253 NONAME + _ZTI12QAudioOutput @ 254 NONAME + _ZTI17QImageVideoBuffer @ 255 NONAME + _ZTI18QAudioEnginePlugin @ 256 NONAME + _ZTI18QMemoryVideoBuffer @ 257 NONAME + _ZTI19QAbstractAudioInput @ 258 NONAME + _ZTI20QAbstractAudioOutput @ 259 NONAME + _ZTI20QAbstractVideoBuffer @ 260 NONAME + _ZTI21QAbstractVideoSurface @ 261 NONAME + _ZTI24QAbstractAudioDeviceInfo @ 262 NONAME + _ZTI28QAudioEngineFactoryInterface @ 263 NONAME + _ZTV11QAudioInput @ 264 NONAME + _ZTV12QAudioOutput @ 265 NONAME + _ZTV17QImageVideoBuffer @ 266 NONAME + _ZTV18QAudioEnginePlugin @ 267 NONAME + _ZTV18QMemoryVideoBuffer @ 268 NONAME + _ZTV19QAbstractAudioInput @ 269 NONAME + _ZTV20QAbstractAudioOutput @ 270 NONAME + _ZTV20QAbstractVideoBuffer @ 271 NONAME + _ZTV21QAbstractVideoSurface @ 272 NONAME + _ZTV24QAbstractAudioDeviceInfo @ 273 NONAME + _ZThn8_N18QAudioEnginePluginD0Ev @ 274 NONAME + _ZThn8_N18QAudioEnginePluginD1Ev @ 275 NONAME + _Zls6QDebugRK19QVideoSurfaceFormat @ 276 NONAME diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def index ab4562c..f216f85 100644 --- a/src/s60installs/eabi/QtNetworku.def +++ b/src/s60installs/eabi/QtNetworku.def @@ -19,1379 +19,974 @@ EXPORTS _ZN10QSslSocket13setPrivateKeyERK7QSslKey @ 18 NONAME _ZN10QSslSocket13setPrivateKeyERK7QStringN4QSsl12KeyAlgorithmENS3_14EncodingFormatERK10QByteArray @ 19 NONAME _ZN10QSslSocket14defaultCiphersEv @ 20 NONAME - _ZN10QSslSocket15ignoreSslErrorsEv @ 21 NONAME - _ZN10QSslSocket15peerVerifyErrorERK9QSslError @ 22 NONAME - _ZN10QSslSocket16addCaCertificateERK15QSslCertificate @ 23 NONAME - _ZN10QSslSocket16staticMetaObjectE @ 24 NONAME DATA 16 - _ZN10QSslSocket16supportedCiphersEv @ 25 NONAME - _ZN10QSslSocket16waitForConnectedEi @ 26 NONAME - _ZN10QSslSocket16waitForEncryptedEi @ 27 NONAME - _ZN10QSslSocket16waitForReadyReadEi @ 28 NONAME - _ZN10QSslSocket17addCaCertificatesERK5QListI15QSslCertificateE @ 29 NONAME - _ZN10QSslSocket17addCaCertificatesERK7QStringN4QSsl14EncodingFormatEN7QRegExp13PatternSyntaxE @ 30 NONAME - _ZN10QSslSocket17setCaCertificatesERK5QListI15QSslCertificateE @ 31 NONAME - _ZN10QSslSocket17setDefaultCiphersERK5QListI10QSslCipherE @ 32 NONAME - _ZN10QSslSocket17setPeerVerifyModeENS_14PeerVerifyModeE @ 33 NONAME - _ZN10QSslSocket17setReadBufferSizeEx @ 34 NONAME - _ZN10QSslSocket18setPeerVerifyDepthEi @ 35 NONAME - _ZN10QSslSocket19setLocalCertificateERK15QSslCertificate @ 36 NONAME - _ZN10QSslSocket19setLocalCertificateERK7QStringN4QSsl14EncodingFormatE @ 37 NONAME - _ZN10QSslSocket19setSocketDescriptorEiN15QAbstractSocket11SocketStateE6QFlagsIN9QIODevice12OpenModeFlagEE @ 38 NONAME - _ZN10QSslSocket19setSslConfigurationERK17QSslConfiguration @ 39 NONAME - _ZN10QSslSocket19waitForBytesWrittenEi @ 40 NONAME - _ZN10QSslSocket19waitForDisconnectedEi @ 41 NONAME - _ZN10QSslSocket20systemCaCertificatesEv @ 42 NONAME - _ZN10QSslSocket21defaultCaCertificatesEv @ 43 NONAME - _ZN10QSslSocket21encryptedBytesWrittenEx @ 44 NONAME - _ZN10QSslSocket21startClientEncryptionEv @ 45 NONAME - _ZN10QSslSocket21startServerEncryptionEv @ 46 NONAME - _ZN10QSslSocket22connectToHostEncryptedERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE @ 47 NONAME - _ZN10QSslSocket23addDefaultCaCertificateERK15QSslCertificate @ 48 NONAME - _ZN10QSslSocket24addDefaultCaCertificatesERK5QListI15QSslCertificateE @ 49 NONAME - _ZN10QSslSocket24addDefaultCaCertificatesERK7QStringN4QSsl14EncodingFormatEN7QRegExp13PatternSyntaxE @ 50 NONAME - _ZN10QSslSocket24setDefaultCaCertificatesERK5QListI15QSslCertificateE @ 51 NONAME - _ZN10QSslSocket27connectToHostImplementationERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE @ 52 NONAME - _ZN10QSslSocket32disconnectFromHostImplementationEv @ 53 NONAME - _ZN10QSslSocket5abortEv @ 54 NONAME - _ZN10QSslSocket5closeEv @ 55 NONAME - _ZN10QSslSocket5flushEv @ 56 NONAME - _ZN10QSslSocket8readDataEPcx @ 57 NONAME - _ZN10QSslSocket9encryptedEv @ 58 NONAME - _ZN10QSslSocket9sslErrorsERK5QListI9QSslErrorE @ 59 NONAME - _ZN10QSslSocket9writeDataEPKcx @ 60 NONAME - _ZN10QSslSocketC1EP7QObject @ 61 NONAME - _ZN10QSslSocketC2EP7QObject @ 62 NONAME - _ZN10QSslSocketD0Ev @ 63 NONAME - _ZN10QSslSocketD1Ev @ 64 NONAME - _ZN10QSslSocketD2Ev @ 65 NONAME - _ZN10QTcpServer11qt_metacallEN11QMetaObject4CallEiPPv @ 66 NONAME - _ZN10QTcpServer11qt_metacastEPKc @ 67 NONAME - _ZN10QTcpServer13newConnectionEv @ 68 NONAME - _ZN10QTcpServer16staticMetaObjectE @ 69 NONAME DATA 16 - _ZN10QTcpServer18incomingConnectionEi @ 70 NONAME - _ZN10QTcpServer19setSocketDescriptorEi @ 71 NONAME - _ZN10QTcpServer20waitForNewConnectionEiPb @ 72 NONAME - _ZN10QTcpServer21nextPendingConnectionEv @ 73 NONAME - _ZN10QTcpServer24setMaxPendingConnectionsEi @ 74 NONAME - _ZN10QTcpServer5closeEv @ 75 NONAME - _ZN10QTcpServer6listenERK12QHostAddresst @ 76 NONAME - _ZN10QTcpServer8setProxyERK13QNetworkProxy @ 77 NONAME - _ZN10QTcpServerC1EP7QObject @ 78 NONAME - _ZN10QTcpServerC2EP7QObject @ 79 NONAME - _ZN10QTcpServerD0Ev @ 80 NONAME - _ZN10QTcpServerD1Ev @ 81 NONAME - _ZN10QTcpServerD2Ev @ 82 NONAME - _ZN10QTcpSocket11qt_metacallEN11QMetaObject4CallEiPPv @ 83 NONAME - _ZN10QTcpSocket11qt_metacastEPKc @ 84 NONAME - _ZN10QTcpSocket16staticMetaObjectE @ 85 NONAME DATA 16 - _ZN10QTcpSocketC1EP7QObject @ 86 NONAME - _ZN10QTcpSocketC1ER17QTcpSocketPrivateP7QObject @ 87 NONAME - _ZN10QTcpSocketC2EP7QObject @ 88 NONAME - _ZN10QTcpSocketC2ER17QTcpSocketPrivateP7QObject @ 89 NONAME - _ZN10QTcpSocketD0Ev @ 90 NONAME - _ZN10QTcpSocketD1Ev @ 91 NONAME - _ZN10QTcpSocketD2Ev @ 92 NONAME - _ZN10QUdpSocket11qt_metacallEN11QMetaObject4CallEiPPv @ 93 NONAME - _ZN10QUdpSocket11qt_metacastEPKc @ 94 NONAME - _ZN10QUdpSocket12readDatagramEPcxP12QHostAddressPt @ 95 NONAME - _ZN10QUdpSocket13writeDatagramEPKcxRK12QHostAddresst @ 96 NONAME - _ZN10QUdpSocket16staticMetaObjectE @ 97 NONAME DATA 16 - _ZN10QUdpSocket4bindERK12QHostAddresst @ 98 NONAME - _ZN10QUdpSocket4bindERK12QHostAddresst6QFlagsINS_8BindFlagEE @ 99 NONAME - _ZN10QUdpSocket4bindEt @ 100 NONAME - _ZN10QUdpSocket4bindEt6QFlagsINS_8BindFlagEE @ 101 NONAME - _ZN10QUdpSocketC1EP7QObject @ 102 NONAME - _ZN10QUdpSocketC2EP7QObject @ 103 NONAME - _ZN10QUdpSocketD0Ev @ 104 NONAME - _ZN10QUdpSocketD1Ev @ 105 NONAME - _ZN10QUdpSocketD2Ev @ 106 NONAME - _ZN11QHttpHeader11removeValueERK7QString @ 107 NONAME - _ZN11QHttpHeader14setContentTypeERK7QString @ 108 NONAME - _ZN11QHttpHeader15removeAllValuesERK7QString @ 109 NONAME - _ZN11QHttpHeader16setContentLengthEi @ 110 NONAME - _ZN11QHttpHeader5parseERK7QString @ 111 NONAME - _ZN11QHttpHeader8addValueERK7QStringS2_ @ 112 NONAME - _ZN11QHttpHeader8setValidEb @ 113 NONAME - _ZN11QHttpHeader8setValueERK7QStringS2_ @ 114 NONAME - _ZN11QHttpHeader9parseLineERK7QStringi @ 115 NONAME - _ZN11QHttpHeader9setValuesERK5QListI5QPairI7QStringS2_EE @ 116 NONAME - _ZN11QHttpHeaderC2ER18QHttpHeaderPrivateRK7QString @ 117 NONAME - _ZN11QHttpHeaderC2ER18QHttpHeaderPrivateRKS_ @ 118 NONAME - _ZN11QHttpHeaderC2ERK7QString @ 119 NONAME - _ZN11QHttpHeaderC2ERKS_ @ 120 NONAME - _ZN11QHttpHeaderC2Ev @ 121 NONAME - _ZN11QHttpHeaderD0Ev @ 122 NONAME - _ZN11QHttpHeaderD1Ev @ 123 NONAME - _ZN11QHttpHeaderD2Ev @ 124 NONAME - _ZN11QHttpHeaderaSERKS_ @ 125 NONAME - _ZN12QHostAddress10setAddressEPK8sockaddr @ 126 NONAME - _ZN12QHostAddress10setAddressEPh @ 127 NONAME - _ZN12QHostAddress10setAddressERK12QIPv6Address @ 128 NONAME - _ZN12QHostAddress10setAddressERK7QString @ 129 NONAME - _ZN12QHostAddress10setAddressEj @ 130 NONAME - _ZN12QHostAddress10setScopeIdERK7QString @ 131 NONAME - _ZN12QHostAddress11parseSubnetERK7QString @ 132 NONAME - _ZN12QHostAddress5clearEv @ 133 NONAME - _ZN12QHostAddressC1ENS_14SpecialAddressE @ 134 NONAME - _ZN12QHostAddressC1EPK8sockaddr @ 135 NONAME - _ZN12QHostAddressC1EPh @ 136 NONAME - _ZN12QHostAddressC1ERK12QIPv6Address @ 137 NONAME - _ZN12QHostAddressC1ERK7QString @ 138 NONAME - _ZN12QHostAddressC1ERKS_ @ 139 NONAME - _ZN12QHostAddressC1Ej @ 140 NONAME - _ZN12QHostAddressC1Ev @ 141 NONAME - _ZN12QHostAddressC2ENS_14SpecialAddressE @ 142 NONAME - _ZN12QHostAddressC2EPK8sockaddr @ 143 NONAME - _ZN12QHostAddressC2EPh @ 144 NONAME - _ZN12QHostAddressC2ERK12QIPv6Address @ 145 NONAME - _ZN12QHostAddressC2ERK7QString @ 146 NONAME - _ZN12QHostAddressC2ERKS_ @ 147 NONAME - _ZN12QHostAddressC2Ej @ 148 NONAME - _ZN12QHostAddressC2Ev @ 149 NONAME - _ZN12QHostAddressD1Ev @ 150 NONAME - _ZN12QHostAddressD2Ev @ 151 NONAME - _ZN12QHostAddressaSERK7QString @ 152 NONAME - _ZN12QHostAddressaSERKS_ @ 153 NONAME - _ZN12QLocalServer11qt_metacallEN11QMetaObject4CallEiPPv @ 154 NONAME - _ZN12QLocalServer11qt_metacastEPKc @ 155 NONAME - _ZN12QLocalServer12removeServerERK7QString @ 156 NONAME - _ZN12QLocalServer13newConnectionEv @ 157 NONAME - _ZN12QLocalServer16staticMetaObjectE @ 158 NONAME DATA 16 - _ZN12QLocalServer18incomingConnectionEj @ 159 NONAME - _ZN12QLocalServer20waitForNewConnectionEiPb @ 160 NONAME - _ZN12QLocalServer21nextPendingConnectionEv @ 161 NONAME - _ZN12QLocalServer24setMaxPendingConnectionsEi @ 162 NONAME - _ZN12QLocalServer5closeEv @ 163 NONAME - _ZN12QLocalServer6listenERK7QString @ 164 NONAME - _ZN12QLocalServerC1EP7QObject @ 165 NONAME - _ZN12QLocalServerC2EP7QObject @ 166 NONAME - _ZN12QLocalServerD0Ev @ 167 NONAME - _ZN12QLocalServerD1Ev @ 168 NONAME - _ZN12QLocalServerD2Ev @ 169 NONAME - _ZN12QLocalSocket11qt_metacallEN11QMetaObject4CallEiPPv @ 170 NONAME - _ZN12QLocalSocket11qt_metacastEPKc @ 171 NONAME - _ZN12QLocalSocket12disconnectedEv @ 172 NONAME - _ZN12QLocalSocket12stateChangedENS_16LocalSocketStateE @ 173 NONAME - _ZN12QLocalSocket15connectToServerERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 174 NONAME - _ZN12QLocalSocket16staticMetaObjectE @ 175 NONAME DATA 16 - _ZN12QLocalSocket16waitForConnectedEi @ 176 NONAME - _ZN12QLocalSocket16waitForReadyReadEi @ 177 NONAME - _ZN12QLocalSocket17setReadBufferSizeEx @ 178 NONAME - _ZN12QLocalSocket19setSocketDescriptorEjNS_16LocalSocketStateE6QFlagsIN9QIODevice12OpenModeFlagEE @ 179 NONAME - _ZN12QLocalSocket19waitForBytesWrittenEi @ 180 NONAME - _ZN12QLocalSocket19waitForDisconnectedEi @ 181 NONAME - _ZN12QLocalSocket20disconnectFromServerEv @ 182 NONAME - _ZN12QLocalSocket5abortEv @ 183 NONAME - _ZN12QLocalSocket5closeEv @ 184 NONAME - _ZN12QLocalSocket5errorENS_16LocalSocketErrorE @ 185 NONAME - _ZN12QLocalSocket5flushEv @ 186 NONAME - _ZN12QLocalSocket8readDataEPcx @ 187 NONAME - _ZN12QLocalSocket9connectedEv @ 188 NONAME - _ZN12QLocalSocket9writeDataEPKcx @ 189 NONAME - _ZN12QLocalSocketC1EP7QObject @ 190 NONAME - _ZN12QLocalSocketC2EP7QObject @ 191 NONAME - _ZN12QLocalSocketD0Ev @ 192 NONAME - _ZN12QLocalSocketD1Ev @ 193 NONAME - _ZN12QLocalSocketD2Ev @ 194 NONAME - _ZN13QNetworkProxy11setHostNameERK7QString @ 195 NONAME - _ZN13QNetworkProxy11setPasswordERK7QString @ 196 NONAME - _ZN13QNetworkProxy15setCapabilitiesE6QFlagsINS_10CapabilityEE @ 197 NONAME - _ZN13QNetworkProxy16applicationProxyEv @ 198 NONAME - _ZN13QNetworkProxy19setApplicationProxyERKS_ @ 199 NONAME - _ZN13QNetworkProxy7setPortEt @ 200 NONAME - _ZN13QNetworkProxy7setTypeENS_9ProxyTypeE @ 201 NONAME - _ZN13QNetworkProxy7setUserERK7QString @ 202 NONAME - _ZN13QNetworkProxyC1ENS_9ProxyTypeERK7QStringtS3_S3_ @ 203 NONAME - _ZN13QNetworkProxyC1ERKS_ @ 204 NONAME - _ZN13QNetworkProxyC1Ev @ 205 NONAME - _ZN13QNetworkProxyC2ENS_9ProxyTypeERK7QStringtS3_S3_ @ 206 NONAME - _ZN13QNetworkProxyC2ERKS_ @ 207 NONAME - _ZN13QNetworkProxyC2Ev @ 208 NONAME - _ZN13QNetworkProxyD1Ev @ 209 NONAME - _ZN13QNetworkProxyD2Ev @ 210 NONAME - _ZN13QNetworkProxyaSERKS_ @ 211 NONAME - _ZN13QNetworkReply10setRequestERK15QNetworkRequest @ 212 NONAME - _ZN13QNetworkReply11qt_metacallEN11QMetaObject4CallEiPPv @ 213 NONAME - _ZN13QNetworkReply11qt_metacastEPKc @ 214 NONAME - _ZN13QNetworkReply12setAttributeEN15QNetworkRequest9AttributeERK8QVariant @ 215 NONAME - _ZN13QNetworkReply12setOperationEN21QNetworkAccessManager9OperationE @ 216 NONAME - _ZN13QNetworkReply12setRawHeaderERK10QByteArrayS2_ @ 217 NONAME - _ZN13QNetworkReply14uploadProgressExx @ 218 NONAME - _ZN13QNetworkReply15ignoreSslErrorsEv @ 219 NONAME - _ZN13QNetworkReply15metaDataChangedEv @ 220 NONAME - _ZN13QNetworkReply16downloadProgressExx @ 221 NONAME - _ZN13QNetworkReply16staticMetaObjectE @ 222 NONAME DATA 16 - _ZN13QNetworkReply17setReadBufferSizeEx @ 223 NONAME - _ZN13QNetworkReply19setSslConfigurationERK17QSslConfiguration @ 224 NONAME - _ZN13QNetworkReply5closeEv @ 225 NONAME - _ZN13QNetworkReply5errorENS_12NetworkErrorE @ 226 NONAME - _ZN13QNetworkReply6setUrlERK4QUrl @ 227 NONAME - _ZN13QNetworkReply8finishedEv @ 228 NONAME - _ZN13QNetworkReply8setErrorENS_12NetworkErrorERK7QString @ 229 NONAME - _ZN13QNetworkReply9setHeaderEN15QNetworkRequest12KnownHeadersERK8QVariant @ 230 NONAME - _ZN13QNetworkReply9sslErrorsERK5QListI9QSslErrorE @ 231 NONAME - _ZN13QNetworkReply9writeDataEPKcx @ 232 NONAME - _ZN13QNetworkReplyC2EP7QObject @ 233 NONAME - _ZN13QNetworkReplyC2ER20QNetworkReplyPrivateP7QObject @ 234 NONAME - _ZN13QNetworkReplyD0Ev @ 235 NONAME - _ZN13QNetworkReplyD1Ev @ 236 NONAME - _ZN13QNetworkReplyD2Ev @ 237 NONAME - _ZN14QAuthenticator11setPasswordERK7QString @ 238 NONAME - _ZN14QAuthenticator6detachEv @ 239 NONAME - _ZN14QAuthenticator7setUserERK7QString @ 240 NONAME - _ZN14QAuthenticatorC1ERKS_ @ 241 NONAME - _ZN14QAuthenticatorC1Ev @ 242 NONAME - _ZN14QAuthenticatorC2ERKS_ @ 243 NONAME - _ZN14QAuthenticatorC2Ev @ 244 NONAME - _ZN14QAuthenticatorD1Ev @ 245 NONAME - _ZN14QAuthenticatorD2Ev @ 246 NONAME - _ZN14QAuthenticatoraSERKS_ @ 247 NONAME - _ZN14QNetworkCookie11setHttpOnlyEb @ 248 NONAME - _ZN14QNetworkCookie12parseCookiesERK10QByteArray @ 249 NONAME - _ZN14QNetworkCookie17setExpirationDateERK9QDateTime @ 250 NONAME - _ZN14QNetworkCookie7setNameERK10QByteArray @ 251 NONAME - _ZN14QNetworkCookie7setPathERK7QString @ 252 NONAME - _ZN14QNetworkCookie8setValueERK10QByteArray @ 253 NONAME - _ZN14QNetworkCookie9setDomainERK7QString @ 254 NONAME - _ZN14QNetworkCookie9setSecureEb @ 255 NONAME - _ZN14QNetworkCookieC1ERK10QByteArray @ 256 NONAME ABSENT - _ZN14QNetworkCookieC1ERK10QByteArrayS2_ @ 257 NONAME - _ZN14QNetworkCookieC1ERKS_ @ 258 NONAME - _ZN14QNetworkCookieC1Ev @ 259 NONAME ABSENT - _ZN14QNetworkCookieC2ERK10QByteArray @ 260 NONAME ABSENT - _ZN14QNetworkCookieC2ERK10QByteArrayS2_ @ 261 NONAME - _ZN14QNetworkCookieC2ERKS_ @ 262 NONAME - _ZN14QNetworkCookieC2Ev @ 263 NONAME ABSENT - _ZN14QNetworkCookieD1Ev @ 264 NONAME - _ZN14QNetworkCookieD2Ev @ 265 NONAME - _ZN14QNetworkCookieaSERKS_ @ 266 NONAME - _ZN15QAbstractSocket11qt_metacallEN11QMetaObject4CallEiPPv @ 267 NONAME - _ZN15QAbstractSocket11qt_metacastEPKc @ 268 NONAME - _ZN15QAbstractSocket11setPeerNameERK7QString @ 269 NONAME - _ZN15QAbstractSocket11setPeerPortEt @ 270 NONAME - _ZN15QAbstractSocket12disconnectedEv @ 271 NONAME - _ZN15QAbstractSocket12readLineDataEPcx @ 272 NONAME - _ZN15QAbstractSocket12setLocalPortEt @ 273 NONAME - _ZN15QAbstractSocket12stateChangedENS_11SocketStateE @ 274 NONAME - _ZN15QAbstractSocket13connectToHostERK12QHostAddresst6QFlagsIN9QIODevice12OpenModeFlagEE @ 275 NONAME - _ZN15QAbstractSocket13connectToHostERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE @ 276 NONAME - _ZN15QAbstractSocket14setPeerAddressERK12QHostAddress @ 277 NONAME - _ZN15QAbstractSocket14setSocketErrorENS_11SocketErrorE @ 278 NONAME - _ZN15QAbstractSocket14setSocketStateENS_11SocketStateE @ 279 NONAME - _ZN15QAbstractSocket15setLocalAddressERK12QHostAddress @ 280 NONAME - _ZN15QAbstractSocket16staticMetaObjectE @ 281 NONAME DATA 16 - _ZN15QAbstractSocket16waitForConnectedEi @ 282 NONAME - _ZN15QAbstractSocket16waitForReadyReadEi @ 283 NONAME - _ZN15QAbstractSocket17setReadBufferSizeEx @ 284 NONAME - _ZN15QAbstractSocket18disconnectFromHostEv @ 285 NONAME - _ZN15QAbstractSocket19setSocketDescriptorEiNS_11SocketStateE6QFlagsIN9QIODevice12OpenModeFlagEE @ 286 NONAME - _ZN15QAbstractSocket19waitForBytesWrittenEi @ 287 NONAME - _ZN15QAbstractSocket19waitForDisconnectedEi @ 288 NONAME - _ZN15QAbstractSocket27connectToHostImplementationERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE @ 289 NONAME - _ZN15QAbstractSocket27proxyAuthenticationRequiredERK13QNetworkProxyP14QAuthenticator @ 290 NONAME - _ZN15QAbstractSocket32disconnectFromHostImplementationEv @ 291 NONAME - _ZN15QAbstractSocket5abortEv @ 292 NONAME - _ZN15QAbstractSocket5closeEv @ 293 NONAME - _ZN15QAbstractSocket5errorENS_11SocketErrorE @ 294 NONAME - _ZN15QAbstractSocket5flushEv @ 295 NONAME - _ZN15QAbstractSocket8readDataEPcx @ 296 NONAME - _ZN15QAbstractSocket8setProxyERK13QNetworkProxy @ 297 NONAME - _ZN15QAbstractSocket9connectedEv @ 298 NONAME - _ZN15QAbstractSocket9hostFoundEv @ 299 NONAME - _ZN15QAbstractSocket9writeDataEPKcx @ 300 NONAME - _ZN15QAbstractSocketC1ENS_10SocketTypeEP7QObject @ 301 NONAME - _ZN15QAbstractSocketC1ENS_10SocketTypeER22QAbstractSocketPrivateP7QObject @ 302 NONAME - _ZN15QAbstractSocketC2ENS_10SocketTypeEP7QObject @ 303 NONAME - _ZN15QAbstractSocketC2ENS_10SocketTypeER22QAbstractSocketPrivateP7QObject @ 304 NONAME - _ZN15QAbstractSocketD0Ev @ 305 NONAME - _ZN15QAbstractSocketD1Ev @ 306 NONAME - _ZN15QAbstractSocketD2Ev @ 307 NONAME - _ZN15QNetworkRequest12setAttributeENS_9AttributeERK8QVariant @ 308 NONAME - _ZN15QNetworkRequest12setRawHeaderERK10QByteArrayS2_ @ 309 NONAME - _ZN15QNetworkRequest19setSslConfigurationERK17QSslConfiguration @ 310 NONAME - _ZN15QNetworkRequest6setUrlERK4QUrl @ 311 NONAME - _ZN15QNetworkRequest9setHeaderENS_12KnownHeadersERK8QVariant @ 312 NONAME - _ZN15QNetworkRequestC1ERK4QUrl @ 313 NONAME - _ZN15QNetworkRequestC1ERKS_ @ 314 NONAME - _ZN15QNetworkRequestC1Ev @ 315 NONAME ABSENT - _ZN15QNetworkRequestC2ERK4QUrl @ 316 NONAME - _ZN15QNetworkRequestC2ERKS_ @ 317 NONAME - _ZN15QNetworkRequestC2Ev @ 318 NONAME ABSENT - _ZN15QNetworkRequestD1Ev @ 319 NONAME - _ZN15QNetworkRequestD2Ev @ 320 NONAME - _ZN15QNetworkRequestaSERKS_ @ 321 NONAME - _ZN15QSslCertificate10fromDeviceEP9QIODeviceN4QSsl14EncodingFormatE @ 322 NONAME - _ZN15QSslCertificate5clearEv @ 323 NONAME - _ZN15QSslCertificate8fromDataERK10QByteArrayN4QSsl14EncodingFormatE @ 324 NONAME - _ZN15QSslCertificate8fromPathERK7QStringN4QSsl14EncodingFormatEN7QRegExp13PatternSyntaxE @ 325 NONAME - _ZN15QSslCertificateC1EP9QIODeviceN4QSsl14EncodingFormatE @ 326 NONAME - _ZN15QSslCertificateC1ERK10QByteArrayN4QSsl14EncodingFormatE @ 327 NONAME - _ZN15QSslCertificateC1ERKS_ @ 328 NONAME - _ZN15QSslCertificateC2EP9QIODeviceN4QSsl14EncodingFormatE @ 329 NONAME - _ZN15QSslCertificateC2ERK10QByteArrayN4QSsl14EncodingFormatE @ 330 NONAME - _ZN15QSslCertificateC2ERKS_ @ 331 NONAME - _ZN15QSslCertificateD1Ev @ 332 NONAME - _ZN15QSslCertificateD2Ev @ 333 NONAME - _ZN15QSslCertificateaSERKS_ @ 334 NONAME - _ZN17QHttpNetworkReply10setRequestERK19QHttpNetworkRequest @ 335 NONAME - _ZN17QHttpNetworkReply11parseHeaderERK10QByteArray @ 336 NONAME - _ZN17QHttpNetworkReply11qt_metacallEN11QMetaObject4CallEiPPv @ 337 NONAME - _ZN17QHttpNetworkReply11qt_metacastEPKc @ 338 NONAME - _ZN17QHttpNetworkReply13headerChangedEv @ 339 NONAME - _ZN17QHttpNetworkReply13setStatusCodeEi @ 340 NONAME - _ZN17QHttpNetworkReply14setErrorStringERK7QString @ 341 NONAME - _ZN17QHttpNetworkReply14setHeaderFieldERK10QByteArrayS2_ @ 342 NONAME - _ZN17QHttpNetworkReply15ignoreSslErrorsEv @ 343 NONAME - _ZN17QHttpNetworkReply16dataReadProgressEii @ 344 NONAME - _ZN17QHttpNetworkReply16dataSendProgressEii @ 345 NONAME ABSENT - _ZN17QHttpNetworkReply16setContentLengthEx @ 346 NONAME - _ZN17QHttpNetworkReply16staticMetaObjectE @ 347 NONAME DATA 16 - _ZN17QHttpNetworkReply17finishedWithErrorEN13QNetworkReply12NetworkErrorERK7QString @ 348 NONAME - _ZN17QHttpNetworkReply19setSslConfigurationERK17QSslConfiguration @ 349 NONAME - _ZN17QHttpNetworkReply4readEx @ 350 NONAME ABSENT - _ZN17QHttpNetworkReply6setUrlERK4QUrl @ 351 NONAME - _ZN17QHttpNetworkReply8finishedEv @ 352 NONAME - _ZN17QHttpNetworkReply9readyReadEv @ 353 NONAME - _ZN17QHttpNetworkReply9sslErrorsERK5QListI9QSslErrorE @ 354 NONAME - _ZN17QHttpNetworkReplyC1ERK4QUrlP7QObject @ 355 NONAME - _ZN17QHttpNetworkReplyC2ERK4QUrlP7QObject @ 356 NONAME - _ZN17QHttpNetworkReplyD0Ev @ 357 NONAME - _ZN17QHttpNetworkReplyD1Ev @ 358 NONAME - _ZN17QHttpNetworkReplyD2Ev @ 359 NONAME - _ZN17QHttpSocketEngine10initializeEN15QAbstractSocket10SocketTypeENS0_20NetworkLayerProtocolE @ 360 NONAME - _ZN17QHttpSocketEngine10initializeEiN15QAbstractSocket11SocketStateE @ 361 NONAME - _ZN17QHttpSocketEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 362 NONAME - _ZN17QHttpSocketEngine11qt_metacastEPKc @ 363 NONAME - _ZN17QHttpSocketEngine11waitForReadEiPb @ 364 NONAME - _ZN17QHttpSocketEngine12readDatagramEPcxP12QHostAddressPt @ 365 NONAME - _ZN17QHttpSocketEngine12waitForWriteEiPb @ 366 NONAME - _ZN17QHttpSocketEngine13connectToHostERK12QHostAddresst @ 367 NONAME - _ZN17QHttpSocketEngine13writeDatagramEPKcxRK12QHostAddresst @ 368 NONAME - _ZN17QHttpSocketEngine15connectInternalEv @ 369 NONAME - _ZN17QHttpSocketEngine15slotSocketErrorEN15QAbstractSocket11SocketErrorE @ 370 NONAME - _ZN17QHttpSocketEngine16staticMetaObjectE @ 371 NONAME DATA 16 - _ZN17QHttpSocketEngine18waitForReadOrWriteEPbS0_bbiS0_ @ 372 NONAME - _ZN17QHttpSocketEngine19connectToHostByNameERK7QStringt @ 373 NONAME - _ZN17QHttpSocketEngine19slotSocketConnectedEv @ 374 NONAME - _ZN17QHttpSocketEngine20emitReadNotificationEv @ 375 NONAME - _ZN17QHttpSocketEngine21emitWriteNotificationEv @ 376 NONAME - _ZN17QHttpSocketEngine22slotSocketBytesWrittenEv @ 377 NONAME - _ZN17QHttpSocketEngine22slotSocketDisconnectedEv @ 378 NONAME - _ZN17QHttpSocketEngine22slotSocketStateChangedEN15QAbstractSocket11SocketStateE @ 379 NONAME - _ZN17QHttpSocketEngine26emitConnectionNotificationEv @ 380 NONAME - _ZN17QHttpSocketEngine26setReadNotificationEnabledEb @ 381 NONAME - _ZN17QHttpSocketEngine26slotSocketReadNotificationEv @ 382 NONAME - _ZN17QHttpSocketEngine27emitPendingReadNotificationEv @ 383 NONAME - _ZN17QHttpSocketEngine27setWriteNotificationEnabledEb @ 384 NONAME - _ZN17QHttpSocketEngine28emitPendingWriteNotificationEv @ 385 NONAME - _ZN17QHttpSocketEngine31setExceptionNotificationEnabledEb @ 386 NONAME - _ZN17QHttpSocketEngine33emitPendingConnectionNotificationEv @ 387 NONAME - _ZN17QHttpSocketEngine4bindERK12QHostAddresst @ 388 NONAME - _ZN17QHttpSocketEngine4readEPcx @ 389 NONAME - _ZN17QHttpSocketEngine5closeEv @ 390 NONAME - _ZN17QHttpSocketEngine5writeEPKcx @ 391 NONAME - _ZN17QHttpSocketEngine6acceptEv @ 392 NONAME - _ZN17QHttpSocketEngine6listenEv @ 393 NONAME - _ZN17QHttpSocketEngine8setProxyERK13QNetworkProxy @ 394 NONAME - _ZN17QHttpSocketEngine9setOptionEN21QAbstractSocketEngine12SocketOptionEi @ 395 NONAME - _ZN17QHttpSocketEngineC1EP7QObject @ 396 NONAME - _ZN17QHttpSocketEngineC2EP7QObject @ 397 NONAME - _ZN17QHttpSocketEngineD0Ev @ 398 NONAME - _ZN17QHttpSocketEngineD1Ev @ 399 NONAME - _ZN17QHttpSocketEngineD2Ev @ 400 NONAME - _ZN17QNetworkCookieJar11qt_metacallEN11QMetaObject4CallEiPPv @ 401 NONAME - _ZN17QNetworkCookieJar11qt_metacastEPKc @ 402 NONAME - _ZN17QNetworkCookieJar13setAllCookiesERK5QListI14QNetworkCookieE @ 403 NONAME - _ZN17QNetworkCookieJar16staticMetaObjectE @ 404 NONAME DATA 16 - _ZN17QNetworkCookieJar17setCookiesFromUrlERK5QListI14QNetworkCookieERK4QUrl @ 405 NONAME - _ZN17QNetworkCookieJarC1EP7QObject @ 406 NONAME - _ZN17QNetworkCookieJarC2EP7QObject @ 407 NONAME - _ZN17QNetworkCookieJarD0Ev @ 408 NONAME - _ZN17QNetworkCookieJarD1Ev @ 409 NONAME - _ZN17QNetworkCookieJarD2Ev @ 410 NONAME - _ZN17QNetworkDiskCache11qt_metacallEN11QMetaObject4CallEiPPv @ 411 NONAME - _ZN17QNetworkDiskCache11qt_metacastEPKc @ 412 NONAME - _ZN17QNetworkDiskCache14updateMetaDataERK21QNetworkCacheMetaData @ 413 NONAME - _ZN17QNetworkDiskCache16staticMetaObjectE @ 414 NONAME DATA 16 - _ZN17QNetworkDiskCache17setCacheDirectoryERK7QString @ 415 NONAME - _ZN17QNetworkDiskCache19setMaximumCacheSizeEx @ 416 NONAME - _ZN17QNetworkDiskCache4dataERK4QUrl @ 417 NONAME - _ZN17QNetworkDiskCache5clearEv @ 418 NONAME - _ZN17QNetworkDiskCache6expireEv @ 419 NONAME - _ZN17QNetworkDiskCache6insertEP9QIODevice @ 420 NONAME - _ZN17QNetworkDiskCache6removeERK4QUrl @ 421 NONAME - _ZN17QNetworkDiskCache7prepareERK21QNetworkCacheMetaData @ 422 NONAME - _ZN17QNetworkDiskCache8metaDataERK4QUrl @ 423 NONAME - _ZN17QNetworkDiskCacheC1EP7QObject @ 424 NONAME - _ZN17QNetworkDiskCacheC2EP7QObject @ 425 NONAME - _ZN17QNetworkDiskCacheD0Ev @ 426 NONAME - _ZN17QNetworkDiskCacheD1Ev @ 427 NONAME - _ZN17QNetworkDiskCacheD2Ev @ 428 NONAME - _ZN17QNetworkInterface12allAddressesEv @ 429 NONAME - _ZN17QNetworkInterface13allInterfacesEv @ 430 NONAME - _ZN17QNetworkInterface17interfaceFromNameERK7QString @ 431 NONAME - _ZN17QNetworkInterface18interfaceFromIndexEi @ 432 NONAME - _ZN17QNetworkInterfaceC1ERKS_ @ 433 NONAME - _ZN17QNetworkInterfaceC1Ev @ 434 NONAME - _ZN17QNetworkInterfaceC2ERKS_ @ 435 NONAME - _ZN17QNetworkInterfaceC2Ev @ 436 NONAME - _ZN17QNetworkInterfaceD1Ev @ 437 NONAME - _ZN17QNetworkInterfaceD2Ev @ 438 NONAME - _ZN17QNetworkInterfaceaSERKS_ @ 439 NONAME - _ZN17QSslConfiguration10setCiphersERK5QListI10QSslCipherE @ 440 NONAME - _ZN17QSslConfiguration11setProtocolEN4QSsl11SslProtocolE @ 441 NONAME - _ZN17QSslConfiguration13setPrivateKeyERK7QSslKey @ 442 NONAME - _ZN17QSslConfiguration17setCaCertificatesERK5QListI15QSslCertificateE @ 443 NONAME - _ZN17QSslConfiguration17setPeerVerifyModeEN10QSslSocket14PeerVerifyModeE @ 444 NONAME - _ZN17QSslConfiguration18setPeerVerifyDepthEi @ 445 NONAME - _ZN17QSslConfiguration19setLocalCertificateERK15QSslCertificate @ 446 NONAME - _ZN17QSslConfiguration20defaultConfigurationEv @ 447 NONAME - _ZN17QSslConfiguration23setDefaultConfigurationERKS_ @ 448 NONAME - _ZN17QSslConfigurationC1ERKS_ @ 449 NONAME - _ZN17QSslConfigurationC1Ev @ 450 NONAME - _ZN17QSslConfigurationC2ERKS_ @ 451 NONAME - _ZN17QSslConfigurationC2Ev @ 452 NONAME - _ZN17QSslConfigurationD1Ev @ 453 NONAME - _ZN17QSslConfigurationD2Ev @ 454 NONAME - _ZN17QSslConfigurationaSERKS_ @ 455 NONAME - _ZN18QHttpRequestHeader10setRequestERK7QStringS2_ii @ 456 NONAME - _ZN18QHttpRequestHeader9parseLineERK7QStringi @ 457 NONAME - _ZN18QHttpRequestHeaderC1ERK7QString @ 458 NONAME - _ZN18QHttpRequestHeaderC1ERK7QStringS2_ii @ 459 NONAME - _ZN18QHttpRequestHeaderC1ERKS_ @ 460 NONAME - _ZN18QHttpRequestHeaderC1Ev @ 461 NONAME - _ZN18QHttpRequestHeaderC2ERK7QString @ 462 NONAME - _ZN18QHttpRequestHeaderC2ERK7QStringS2_ii @ 463 NONAME - _ZN18QHttpRequestHeaderC2ERKS_ @ 464 NONAME - _ZN18QHttpRequestHeaderC2Ev @ 465 NONAME - _ZN18QHttpRequestHeaderaSERKS_ @ 466 NONAME - _ZN18QNetworkProxyQuery11setPeerPortEi @ 467 NONAME - _ZN18QNetworkProxyQuery12setLocalPortEi @ 468 NONAME - _ZN18QNetworkProxyQuery12setQueryTypeENS_9QueryTypeE @ 469 NONAME - _ZN18QNetworkProxyQuery14setProtocolTagERK7QString @ 470 NONAME - _ZN18QNetworkProxyQuery15setPeerHostNameERK7QString @ 471 NONAME - _ZN18QNetworkProxyQuery6setUrlERK4QUrl @ 472 NONAME - _ZN18QNetworkProxyQueryC1ERK4QUrlNS_9QueryTypeE @ 473 NONAME - _ZN18QNetworkProxyQueryC1ERK7QStringiS2_NS_9QueryTypeE @ 474 NONAME - _ZN18QNetworkProxyQueryC1ERKS_ @ 475 NONAME - _ZN18QNetworkProxyQueryC1EtRK7QStringNS_9QueryTypeE @ 476 NONAME - _ZN18QNetworkProxyQueryC1Ev @ 477 NONAME - _ZN18QNetworkProxyQueryC2ERK4QUrlNS_9QueryTypeE @ 478 NONAME - _ZN18QNetworkProxyQueryC2ERK7QStringiS2_NS_9QueryTypeE @ 479 NONAME - _ZN18QNetworkProxyQueryC2ERKS_ @ 480 NONAME - _ZN18QNetworkProxyQueryC2EtRK7QStringNS_9QueryTypeE @ 481 NONAME - _ZN18QNetworkProxyQueryC2Ev @ 482 NONAME - _ZN18QNetworkProxyQueryD1Ev @ 483 NONAME - _ZN18QNetworkProxyQueryD2Ev @ 484 NONAME - _ZN18QNetworkProxyQueryaSERKS_ @ 485 NONAME - _ZN19QHttpNetworkRequest11setPriorityENS_8PriorityE @ 486 NONAME - _ZN19QHttpNetworkRequest12setOperationENS_9OperationE @ 487 NONAME - _ZN19QHttpNetworkRequest14setHeaderFieldERK10QByteArrayS2_ @ 488 NONAME - _ZN19QHttpNetworkRequest16setContentLengthEx @ 489 NONAME - _ZN19QHttpNetworkRequest6setUrlERK4QUrl @ 490 NONAME - _ZN19QHttpNetworkRequest7setDataEP9QIODevice @ 491 NONAME ABSENT - _ZN19QHttpNetworkRequestC1ERK4QUrlNS_9OperationENS_8PriorityE @ 492 NONAME - _ZN19QHttpNetworkRequestC1ERKS_ @ 493 NONAME - _ZN19QHttpNetworkRequestC2ERK4QUrlNS_9OperationENS_8PriorityE @ 494 NONAME - _ZN19QHttpNetworkRequestC2ERKS_ @ 495 NONAME - _ZN19QHttpNetworkRequestD0Ev @ 496 NONAME - _ZN19QHttpNetworkRequestD1Ev @ 497 NONAME - _ZN19QHttpNetworkRequestD2Ev @ 498 NONAME - _ZN19QHttpNetworkRequestaSERKS_ @ 499 NONAME - _ZN19QHttpResponseHeader13setStatusLineEiRK7QStringii @ 500 NONAME - _ZN19QHttpResponseHeader9parseLineERK7QStringi @ 501 NONAME - _ZN19QHttpResponseHeaderC1ERK7QString @ 502 NONAME - _ZN19QHttpResponseHeaderC1ERKS_ @ 503 NONAME - _ZN19QHttpResponseHeaderC1EiRK7QStringii @ 504 NONAME - _ZN19QHttpResponseHeaderC1Ev @ 505 NONAME - _ZN19QHttpResponseHeaderC2ERK7QString @ 506 NONAME - _ZN19QHttpResponseHeaderC2ERKS_ @ 507 NONAME - _ZN19QHttpResponseHeaderC2EiRK7QStringii @ 508 NONAME - _ZN19QHttpResponseHeaderC2Ev @ 509 NONAME - _ZN19QHttpResponseHeaderaSERKS_ @ 510 NONAME - _ZN19QNativeSocketEngine10initializeEN15QAbstractSocket10SocketTypeENS0_20NetworkLayerProtocolE @ 511 NONAME - _ZN19QNativeSocketEngine10initializeEiN15QAbstractSocket11SocketStateE @ 512 NONAME - _ZN19QNativeSocketEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 513 NONAME - _ZN19QNativeSocketEngine11qt_metacastEPKc @ 514 NONAME - _ZN19QNativeSocketEngine11waitForReadEiPb @ 515 NONAME - _ZN19QNativeSocketEngine12readDatagramEPcxP12QHostAddressPt @ 516 NONAME - _ZN19QNativeSocketEngine12waitForWriteEiPb @ 517 NONAME - _ZN19QNativeSocketEngine13connectToHostERK12QHostAddresst @ 518 NONAME - _ZN19QNativeSocketEngine13writeDatagramEPKcxRK12QHostAddresst @ 519 NONAME - _ZN19QNativeSocketEngine16staticMetaObjectE @ 520 NONAME DATA 16 - _ZN19QNativeSocketEngine17setSendBufferSizeEx @ 521 NONAME - _ZN19QNativeSocketEngine18waitForReadOrWriteEPbS0_bbiS0_ @ 522 NONAME - _ZN19QNativeSocketEngine19connectToHostByNameERK7QStringt @ 523 NONAME - _ZN19QNativeSocketEngine20setReceiveBufferSizeEx @ 524 NONAME - _ZN19QNativeSocketEngine22connectionNotificationEv @ 525 NONAME - _ZN19QNativeSocketEngine26setReadNotificationEnabledEb @ 526 NONAME - _ZN19QNativeSocketEngine27setWriteNotificationEnabledEb @ 527 NONAME - _ZN19QNativeSocketEngine31setExceptionNotificationEnabledEb @ 528 NONAME - _ZN19QNativeSocketEngine4bindERK12QHostAddresst @ 529 NONAME - _ZN19QNativeSocketEngine4readEPcx @ 530 NONAME - _ZN19QNativeSocketEngine5closeEv @ 531 NONAME - _ZN19QNativeSocketEngine5writeEPKcx @ 532 NONAME - _ZN19QNativeSocketEngine6acceptEv @ 533 NONAME - _ZN19QNativeSocketEngine6listenEv @ 534 NONAME - _ZN19QNativeSocketEngine9setOptionEN21QAbstractSocketEngine12SocketOptionEi @ 535 NONAME - _ZN19QNativeSocketEngineC1EP7QObject @ 536 NONAME - _ZN19QNativeSocketEngineC2EP7QObject @ 537 NONAME - _ZN19QNativeSocketEngineD0Ev @ 538 NONAME - _ZN19QNativeSocketEngineD1Ev @ 539 NONAME - _ZN19QNativeSocketEngineD2Ev @ 540 NONAME - _ZN19QSocks5SocketEngine10initializeEN15QAbstractSocket10SocketTypeENS0_20NetworkLayerProtocolE @ 541 NONAME - _ZN19QSocks5SocketEngine10initializeEiN15QAbstractSocket11SocketStateE @ 542 NONAME - _ZN19QSocks5SocketEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 543 NONAME - _ZN19QSocks5SocketEngine11qt_metacastEPKc @ 544 NONAME - _ZN19QSocks5SocketEngine11waitForReadEiPb @ 545 NONAME - _ZN19QSocks5SocketEngine12readDatagramEPcxP12QHostAddressPt @ 546 NONAME - _ZN19QSocks5SocketEngine12waitForWriteEiPb @ 547 NONAME - _ZN19QSocks5SocketEngine13connectToHostERK12QHostAddresst @ 548 NONAME - _ZN19QSocks5SocketEngine13writeDatagramEPKcxRK12QHostAddresst @ 549 NONAME - _ZN19QSocks5SocketEngine15connectInternalEv @ 550 NONAME - _ZN19QSocks5SocketEngine16staticMetaObjectE @ 551 NONAME DATA 16 - _ZN19QSocks5SocketEngine18waitForReadOrWriteEPbS0_bbiS0_ @ 552 NONAME - _ZN19QSocks5SocketEngine19connectToHostByNameERK7QStringt @ 553 NONAME - _ZN19QSocks5SocketEngine26setReadNotificationEnabledEb @ 554 NONAME - _ZN19QSocks5SocketEngine27setWriteNotificationEnabledEb @ 555 NONAME - _ZN19QSocks5SocketEngine31setExceptionNotificationEnabledEb @ 556 NONAME - _ZN19QSocks5SocketEngine4bindERK12QHostAddresst @ 557 NONAME - _ZN19QSocks5SocketEngine4readEPcx @ 558 NONAME - _ZN19QSocks5SocketEngine5closeEv @ 559 NONAME - _ZN19QSocks5SocketEngine5writeEPKcx @ 560 NONAME - _ZN19QSocks5SocketEngine6acceptEv @ 561 NONAME - _ZN19QSocks5SocketEngine6listenEv @ 562 NONAME - _ZN19QSocks5SocketEngine8setProxyERK13QNetworkProxy @ 563 NONAME - _ZN19QSocks5SocketEngine9setOptionEN21QAbstractSocketEngine12SocketOptionEi @ 564 NONAME - _ZN19QSocks5SocketEngineC1EP7QObject @ 565 NONAME - _ZN19QSocks5SocketEngineC2EP7QObject @ 566 NONAME - _ZN19QSocks5SocketEngineD0Ev @ 567 NONAME - _ZN19QSocks5SocketEngineD1Ev @ 568 NONAME - _ZN19QSocks5SocketEngineD2Ev @ 569 NONAME - _ZN20QNetworkAddressEntry10setNetmaskERK12QHostAddress @ 570 NONAME - _ZN20QNetworkAddressEntry12setBroadcastERK12QHostAddress @ 571 NONAME - _ZN20QNetworkAddressEntry15setPrefixLengthEi @ 572 NONAME - _ZN20QNetworkAddressEntry5setIpERK12QHostAddress @ 573 NONAME - _ZN20QNetworkAddressEntryC1ERKS_ @ 574 NONAME - _ZN20QNetworkAddressEntryC1Ev @ 575 NONAME - _ZN20QNetworkAddressEntryC2ERKS_ @ 576 NONAME - _ZN20QNetworkAddressEntryC2Ev @ 577 NONAME - _ZN20QNetworkAddressEntryD1Ev @ 578 NONAME - _ZN20QNetworkAddressEntryD2Ev @ 579 NONAME - _ZN20QNetworkAddressEntryaSERKS_ @ 580 NONAME - _ZN20QNetworkProxyFactory13proxyForQueryERK18QNetworkProxyQuery @ 581 NONAME - _ZN20QNetworkProxyFactory19systemProxyForQueryERK18QNetworkProxyQuery @ 582 NONAME - _ZN20QNetworkProxyFactory26setApplicationProxyFactoryEPS_ @ 583 NONAME - _ZN20QNetworkProxyFactoryC2Ev @ 584 NONAME - _ZN20QNetworkProxyFactoryD0Ev @ 585 NONAME - _ZN20QNetworkProxyFactoryD1Ev @ 586 NONAME - _ZN20QNetworkProxyFactoryD2Ev @ 587 NONAME - _ZN20QSocketEngineHandlerC2Ev @ 588 NONAME - _ZN20QSocketEngineHandlerD0Ev @ 589 NONAME - _ZN20QSocketEngineHandlerD1Ev @ 590 NONAME - _ZN20QSocketEngineHandlerD2Ev @ 591 NONAME - _ZN21QAbstractNetworkCache11qt_metacallEN11QMetaObject4CallEiPPv @ 592 NONAME - _ZN21QAbstractNetworkCache11qt_metacastEPKc @ 593 NONAME - _ZN21QAbstractNetworkCache16staticMetaObjectE @ 594 NONAME DATA 16 - _ZN21QAbstractNetworkCacheC2EP7QObject @ 595 NONAME - _ZN21QAbstractNetworkCacheC2ER28QAbstractNetworkCachePrivateP7QObject @ 596 NONAME - _ZN21QAbstractNetworkCacheD0Ev @ 597 NONAME - _ZN21QAbstractNetworkCacheD1Ev @ 598 NONAME - _ZN21QAbstractNetworkCacheD2Ev @ 599 NONAME - _ZN21QAbstractSocketEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 600 NONAME - _ZN21QAbstractSocketEngine11qt_metacastEPKc @ 601 NONAME - _ZN21QAbstractSocketEngine11setPeerPortEt @ 602 NONAME - _ZN21QAbstractSocketEngine11setProtocolEN15QAbstractSocket20NetworkLayerProtocolE @ 603 NONAME - _ZN21QAbstractSocketEngine11setReceiverEP29QAbstractSocketEngineReceiver @ 604 NONAME - _ZN21QAbstractSocketEngine12setLocalPortEt @ 605 NONAME - _ZN21QAbstractSocketEngine13setSocketTypeEN15QAbstractSocket10SocketTypeE @ 606 NONAME - _ZN21QAbstractSocketEngine14setPeerAddressERK12QHostAddress @ 607 NONAME - _ZN21QAbstractSocketEngine15setLocalAddressERK12QHostAddress @ 608 NONAME - _ZN21QAbstractSocketEngine16readNotificationEv @ 609 NONAME - _ZN21QAbstractSocketEngine16staticMetaObjectE @ 610 NONAME DATA 16 - _ZN21QAbstractSocketEngine17writeNotificationEv @ 611 NONAME - _ZN21QAbstractSocketEngine18createSocketEngineEN15QAbstractSocket10SocketTypeERK13QNetworkProxyP7QObject @ 612 NONAME - _ZN21QAbstractSocketEngine18createSocketEngineEiP7QObject @ 613 NONAME - _ZN21QAbstractSocketEngine21exceptionNotificationEv @ 614 NONAME - _ZN21QAbstractSocketEngine22connectionNotificationEv @ 615 NONAME - _ZN21QAbstractSocketEngine27proxyAuthenticationRequiredERK13QNetworkProxyP14QAuthenticator @ 616 NONAME - _ZN21QAbstractSocketEngine8setStateEN15QAbstractSocket11SocketStateE @ 617 NONAME - _ZN21QAbstractSocketEngineC2EP7QObject @ 618 NONAME - _ZN21QAbstractSocketEngineC2ER28QAbstractSocketEnginePrivateP7QObject @ 619 NONAME - _ZN21QNetworkAccessManager11qt_metacallEN11QMetaObject4CallEiPPv @ 620 NONAME - _ZN21QNetworkAccessManager11qt_metacastEPKc @ 621 NONAME - _ZN21QNetworkAccessManager12setCookieJarEP17QNetworkCookieJar @ 622 NONAME - _ZN21QNetworkAccessManager13createRequestENS_9OperationERK15QNetworkRequestP9QIODevice @ 623 NONAME - _ZN21QNetworkAccessManager15setProxyFactoryEP20QNetworkProxyFactory @ 624 NONAME - _ZN21QNetworkAccessManager16staticMetaObjectE @ 625 NONAME DATA 16 - _ZN21QNetworkAccessManager22authenticationRequiredEP13QNetworkReplyP14QAuthenticator @ 626 NONAME - _ZN21QNetworkAccessManager27proxyAuthenticationRequiredERK13QNetworkProxyP14QAuthenticator @ 627 NONAME - _ZN21QNetworkAccessManager3getERK15QNetworkRequest @ 628 NONAME - _ZN21QNetworkAccessManager3putERK15QNetworkRequestP9QIODevice @ 629 NONAME - _ZN21QNetworkAccessManager3putERK15QNetworkRequestRK10QByteArray @ 630 NONAME - _ZN21QNetworkAccessManager4headERK15QNetworkRequest @ 631 NONAME - _ZN21QNetworkAccessManager4postERK15QNetworkRequestP9QIODevice @ 632 NONAME - _ZN21QNetworkAccessManager4postERK15QNetworkRequestRK10QByteArray @ 633 NONAME - _ZN21QNetworkAccessManager8finishedEP13QNetworkReply @ 634 NONAME - _ZN21QNetworkAccessManager8setCacheEP21QAbstractNetworkCache @ 635 NONAME - _ZN21QNetworkAccessManager8setProxyERK13QNetworkProxy @ 636 NONAME - _ZN21QNetworkAccessManager9sslErrorsEP13QNetworkReplyRK5QListI9QSslErrorE @ 637 NONAME - _ZN21QNetworkAccessManagerC1EP7QObject @ 638 NONAME - _ZN21QNetworkAccessManagerC2EP7QObject @ 639 NONAME - _ZN21QNetworkAccessManagerD0Ev @ 640 NONAME - _ZN21QNetworkAccessManagerD1Ev @ 641 NONAME - _ZN21QNetworkAccessManagerD2Ev @ 642 NONAME - _ZN21QNetworkCacheMetaData13setAttributesERK5QHashIN15QNetworkRequest9AttributeE8QVariantE @ 643 NONAME - _ZN21QNetworkCacheMetaData13setRawHeadersERK5QListI5QPairI10QByteArrayS2_EE @ 644 NONAME - _ZN21QNetworkCacheMetaData13setSaveToDiskEb @ 645 NONAME - _ZN21QNetworkCacheMetaData15setLastModifiedERK9QDateTime @ 646 NONAME - _ZN21QNetworkCacheMetaData17setExpirationDateERK9QDateTime @ 647 NONAME - _ZN21QNetworkCacheMetaData6setUrlERK4QUrl @ 648 NONAME - _ZN21QNetworkCacheMetaDataC1ERKS_ @ 649 NONAME - _ZN21QNetworkCacheMetaDataC1Ev @ 650 NONAME - _ZN21QNetworkCacheMetaDataC2ERKS_ @ 651 NONAME - _ZN21QNetworkCacheMetaDataC2Ev @ 652 NONAME - _ZN21QNetworkCacheMetaDataD1Ev @ 653 NONAME - _ZN21QNetworkCacheMetaDataD2Ev @ 654 NONAME - _ZN21QNetworkCacheMetaDataaSERKS_ @ 655 NONAME - _ZN22QHttpNetworkConnection11qt_metacallEN11QMetaObject4CallEiPPv @ 656 NONAME - _ZN22QHttpNetworkConnection11qt_metacastEPKc @ 657 NONAME - _ZN22QHttpNetworkConnection11sendRequestERK19QHttpNetworkRequest @ 658 NONAME - _ZN22QHttpNetworkConnection13setCacheProxyERK13QNetworkProxy @ 659 NONAME - _ZN22QHttpNetworkConnection15ignoreSslErrorsEi @ 660 NONAME - _ZN22QHttpNetworkConnection16enableEncryptionEv @ 661 NONAME - _ZN22QHttpNetworkConnection16staticMetaObjectE @ 662 NONAME DATA 16 - _ZN22QHttpNetworkConnection17setAuthenticationERK7QStringP14QAuthenticator @ 663 NONAME - _ZN22QHttpNetworkConnection19setSslConfigurationERK17QSslConfiguration @ 664 NONAME - _ZN22QHttpNetworkConnection19setTransparentProxyERK13QNetworkProxy @ 665 NONAME - _ZN22QHttpNetworkConnection22authenticationRequiredERK19QHttpNetworkRequestP14QAuthenticatorPKS_ @ 666 NONAME - _ZN22QHttpNetworkConnection22setProxyAuthenticationEP14QAuthenticator @ 667 NONAME - _ZN22QHttpNetworkConnection27proxyAuthenticationRequiredERK13QNetworkProxyP14QAuthenticatorPKS_ @ 668 NONAME - _ZN22QHttpNetworkConnection5errorEN13QNetworkReply12NetworkErrorERK7QString @ 669 NONAME - _ZN22QHttpNetworkConnection9sslErrorsERK5QListI9QSslErrorE @ 670 NONAME - _ZN22QHttpNetworkConnectionC1ERK7QStringtbP7QObject @ 671 NONAME - _ZN22QHttpNetworkConnectionC2ERK7QStringtbP7QObject @ 672 NONAME - _ZN22QHttpNetworkConnectionD0Ev @ 673 NONAME - _ZN22QHttpNetworkConnectionD1Ev @ 674 NONAME - _ZN22QHttpNetworkConnectionD2Ev @ 675 NONAME - _ZN24QHttpSocketEngineHandler18createSocketEngineEN15QAbstractSocket10SocketTypeERK13QNetworkProxyP7QObject @ 676 NONAME - _ZN24QHttpSocketEngineHandler18createSocketEngineEiP7QObject @ 677 NONAME - _ZN26QSocks5SocketEngineHandler18createSocketEngineEN15QAbstractSocket10SocketTypeERK13QNetworkProxyP7QObject @ 678 NONAME - _ZN26QSocks5SocketEngineHandler18createSocketEngineEiP7QObject @ 679 NONAME - _ZN28QNetworkAccessManagerPrivate10clearCacheEP21QNetworkAccessManager @ 680 NONAME - _ZN4QFtp10rawCommandERK7QString @ 681 NONAME - _ZN4QFtp11qt_metacallEN11QMetaObject4CallEiPPv @ 682 NONAME - _ZN4QFtp11qt_metacastEPKc @ 683 NONAME - _ZN4QFtp12stateChangedEi @ 684 NONAME - _ZN4QFtp13connectToHostERK7QStringt @ 685 NONAME - _ZN4QFtp14commandStartedEi @ 686 NONAME - _ZN4QFtp15commandFinishedEib @ 687 NONAME - _ZN4QFtp15rawCommandReplyEiRK7QString @ 688 NONAME - _ZN4QFtp15setTransferModeENS_12TransferModeE @ 689 NONAME - _ZN4QFtp16staticMetaObjectE @ 690 NONAME DATA 16 - _ZN4QFtp20clearPendingCommandsEv @ 691 NONAME - _ZN4QFtp20dataTransferProgressExx @ 692 NONAME - _ZN4QFtp2cdERK7QString @ 693 NONAME - _ZN4QFtp3getERK7QStringP9QIODeviceNS_12TransferTypeE @ 694 NONAME - _ZN4QFtp3putEP9QIODeviceRK7QStringNS_12TransferTypeE @ 695 NONAME - _ZN4QFtp3putERK10QByteArrayRK7QStringNS_12TransferTypeE @ 696 NONAME - _ZN4QFtp4doneEb @ 697 NONAME - _ZN4QFtp4listERK7QString @ 698 NONAME - _ZN4QFtp4readEPcx @ 699 NONAME - _ZN4QFtp5abortEv @ 700 NONAME - _ZN4QFtp5closeEv @ 701 NONAME - _ZN4QFtp5loginERK7QStringS2_ @ 702 NONAME - _ZN4QFtp5mkdirERK7QString @ 703 NONAME - _ZN4QFtp5rmdirERK7QString @ 704 NONAME - _ZN4QFtp6removeERK7QString @ 705 NONAME - _ZN4QFtp6renameERK7QStringS2_ @ 706 NONAME - _ZN4QFtp7readAllEv @ 707 NONAME - _ZN4QFtp8listInfoERK8QUrlInfo @ 708 NONAME - _ZN4QFtp8setProxyERK7QStringt @ 709 NONAME - _ZN4QFtp9readyReadEv @ 710 NONAME - _ZN4QFtpC1EP7QObject @ 711 NONAME - _ZN4QFtpC2EP7QObject @ 712 NONAME - _ZN4QFtpD0Ev @ 713 NONAME - _ZN4QFtpD1Ev @ 714 NONAME - _ZN4QFtpD2Ev @ 715 NONAME - _ZN5QHttp11qt_metacallEN11QMetaObject4CallEiPPv @ 716 NONAME - _ZN5QHttp11qt_metacastEPKc @ 717 NONAME - _ZN5QHttp12stateChangedEi @ 718 NONAME - _ZN5QHttp14requestStartedEi @ 719 NONAME - _ZN5QHttp15closeConnectionEv @ 720 NONAME - _ZN5QHttp15ignoreSslErrorsEv @ 721 NONAME - _ZN5QHttp15requestFinishedEib @ 722 NONAME - _ZN5QHttp16dataReadProgressEii @ 723 NONAME - _ZN5QHttp16dataSendProgressEii @ 724 NONAME - _ZN5QHttp16staticMetaObjectE @ 725 NONAME DATA 16 - _ZN5QHttp20clearPendingRequestsEv @ 726 NONAME - _ZN5QHttp22authenticationRequiredERK7QStringtP14QAuthenticator @ 727 NONAME - _ZN5QHttp22responseHeaderReceivedERK19QHttpResponseHeader @ 728 NONAME - _ZN5QHttp27proxyAuthenticationRequiredERK13QNetworkProxyP14QAuthenticator @ 729 NONAME - _ZN5QHttp3getERK7QStringP9QIODevice @ 730 NONAME - _ZN5QHttp4doneEb @ 731 NONAME - _ZN5QHttp4headERK7QString @ 732 NONAME - _ZN5QHttp4postERK7QStringP9QIODeviceS4_ @ 733 NONAME - _ZN5QHttp4postERK7QStringRK10QByteArrayP9QIODevice @ 734 NONAME - _ZN5QHttp4readEPcx @ 735 NONAME - _ZN5QHttp5abortEv @ 736 NONAME - _ZN5QHttp5closeEv @ 737 NONAME - _ZN5QHttp7readAllEv @ 738 NONAME - _ZN5QHttp7requestERK18QHttpRequestHeaderP9QIODeviceS4_ @ 739 NONAME - _ZN5QHttp7requestERK18QHttpRequestHeaderRK10QByteArrayP9QIODevice @ 740 NONAME - _ZN5QHttp7setHostERK7QStringNS_14ConnectionModeEt @ 741 NONAME - _ZN5QHttp7setHostERK7QStringt @ 742 NONAME - _ZN5QHttp7setUserERK7QStringS2_ @ 743 NONAME - _ZN5QHttp8setProxyERK13QNetworkProxy @ 744 NONAME - _ZN5QHttp8setProxyERK7QStringiS2_S2_ @ 745 NONAME - _ZN5QHttp9readyReadERK19QHttpResponseHeader @ 746 NONAME - _ZN5QHttp9setSocketEP10QTcpSocket @ 747 NONAME - _ZN5QHttp9sslErrorsERK5QListI9QSslErrorE @ 748 NONAME - _ZN5QHttpC1EP7QObject @ 749 NONAME - _ZN5QHttpC1ERK7QStringNS_14ConnectionModeEtP7QObject @ 750 NONAME - _ZN5QHttpC1ERK7QStringtP7QObject @ 751 NONAME - _ZN5QHttpC2EP7QObject @ 752 NONAME - _ZN5QHttpC2ERK7QStringNS_14ConnectionModeEtP7QObject @ 753 NONAME - _ZN5QHttpC2ERK7QStringtP7QObject @ 754 NONAME - _ZN5QHttpD0Ev @ 755 NONAME - _ZN5QHttpD1Ev @ 756 NONAME - _ZN5QHttpD2Ev @ 757 NONAME - _ZN7QSslKey5clearEv @ 758 NONAME - _ZN7QSslKeyC1EP9QIODeviceN4QSsl12KeyAlgorithmENS2_14EncodingFormatENS2_7KeyTypeERK10QByteArray @ 759 NONAME - _ZN7QSslKeyC1ERK10QByteArrayN4QSsl12KeyAlgorithmENS3_14EncodingFormatENS3_7KeyTypeES2_ @ 760 NONAME - _ZN7QSslKeyC1ERKS_ @ 761 NONAME - _ZN7QSslKeyC1Ev @ 762 NONAME - _ZN7QSslKeyC2EP9QIODeviceN4QSsl12KeyAlgorithmENS2_14EncodingFormatENS2_7KeyTypeERK10QByteArray @ 763 NONAME - _ZN7QSslKeyC2ERK10QByteArrayN4QSsl12KeyAlgorithmENS3_14EncodingFormatENS3_7KeyTypeES2_ @ 764 NONAME - _ZN7QSslKeyC2ERKS_ @ 765 NONAME - _ZN7QSslKeyC2Ev @ 766 NONAME - _ZN7QSslKeyD1Ev @ 767 NONAME - _ZN7QSslKeyD2Ev @ 768 NONAME - _ZN7QSslKeyaSERKS_ @ 769 NONAME - _ZN8QUrlInfo10setSymLinkEb @ 770 NONAME - _ZN8QUrlInfo11greaterThanERKS_S1_i @ 771 NONAME - _ZN8QUrlInfo11setLastReadERK9QDateTime @ 772 NONAME - _ZN8QUrlInfo11setReadableEb @ 773 NONAME - _ZN8QUrlInfo11setWritableEb @ 774 NONAME - _ZN8QUrlInfo14setPermissionsEi @ 775 NONAME - _ZN8QUrlInfo15setLastModifiedERK9QDateTime @ 776 NONAME - _ZN8QUrlInfo5equalERKS_S1_i @ 777 NONAME - _ZN8QUrlInfo6setDirEb @ 778 NONAME - _ZN8QUrlInfo7setFileEb @ 779 NONAME - _ZN8QUrlInfo7setNameERK7QString @ 780 NONAME - _ZN8QUrlInfo7setSizeEx @ 781 NONAME - _ZN8QUrlInfo8lessThanERKS_S1_i @ 782 NONAME - _ZN8QUrlInfo8setGroupERK7QString @ 783 NONAME - _ZN8QUrlInfo8setOwnerERK7QString @ 784 NONAME - _ZN8QUrlInfoC1ERK4QUrliRK7QStringS5_xRK9QDateTimeS8_bbbbbb @ 785 NONAME - _ZN8QUrlInfoC1ERK7QStringiS2_S2_xRK9QDateTimeS5_bbbbbb @ 786 NONAME - _ZN8QUrlInfoC1ERKS_ @ 787 NONAME - _ZN8QUrlInfoC1Ev @ 788 NONAME - _ZN8QUrlInfoC2ERK4QUrliRK7QStringS5_xRK9QDateTimeS8_bbbbbb @ 789 NONAME - _ZN8QUrlInfoC2ERK7QStringiS2_S2_xRK9QDateTimeS5_bbbbbb @ 790 NONAME - _ZN8QUrlInfoC2ERKS_ @ 791 NONAME - _ZN8QUrlInfoC2Ev @ 792 NONAME - _ZN8QUrlInfoD0Ev @ 793 NONAME - _ZN8QUrlInfoD1Ev @ 794 NONAME - _ZN8QUrlInfoD2Ev @ 795 NONAME - _ZN8QUrlInfoaSERKS_ @ 796 NONAME - _ZN9QHostInfo10lookupHostERK7QStringP7QObjectPKc @ 797 NONAME - _ZN9QHostInfo11setHostNameERK7QString @ 798 NONAME - _ZN9QHostInfo11setLookupIdEi @ 799 NONAME - _ZN9QHostInfo12setAddressesERK5QListI12QHostAddressE @ 800 NONAME - _ZN9QHostInfo13localHostNameEv @ 801 NONAME - _ZN9QHostInfo14setErrorStringERK7QString @ 802 NONAME - _ZN9QHostInfo15abortHostLookupEi @ 803 NONAME - _ZN9QHostInfo15localDomainNameEv @ 804 NONAME - _ZN9QHostInfo8fromNameERK7QString @ 805 NONAME - _ZN9QHostInfo8setErrorENS_13HostInfoErrorE @ 806 NONAME - _ZN9QHostInfoC1ERKS_ @ 807 NONAME - _ZN9QHostInfoC1Ei @ 808 NONAME - _ZN9QHostInfoC2ERKS_ @ 809 NONAME - _ZN9QHostInfoC2Ei @ 810 NONAME - _ZN9QHostInfoD1Ev @ 811 NONAME - _ZN9QHostInfoD2Ev @ 812 NONAME - _ZN9QHostInfoaSERKS_ @ 813 NONAME - _ZN9QSslErrorC1ENS_8SslErrorE @ 814 NONAME - _ZN9QSslErrorC1ENS_8SslErrorERK15QSslCertificate @ 815 NONAME - _ZN9QSslErrorC1ERKS_ @ 816 NONAME - _ZN9QSslErrorC1Ev @ 817 NONAME - _ZN9QSslErrorC2ENS_8SslErrorE @ 818 NONAME - _ZN9QSslErrorC2ENS_8SslErrorERK15QSslCertificate @ 819 NONAME - _ZN9QSslErrorC2ERKS_ @ 820 NONAME - _ZN9QSslErrorC2Ev @ 821 NONAME - _ZN9QSslErrorD1Ev @ 822 NONAME - _ZN9QSslErrorD2Ev @ 823 NONAME - _ZN9QSslErroraSERKS_ @ 824 NONAME - _ZNK10QSslCipher13supportedBitsEv @ 825 NONAME - _ZNK10QSslCipher14protocolStringEv @ 826 NONAME - _ZNK10QSslCipher16encryptionMethodEv @ 827 NONAME - _ZNK10QSslCipher17keyExchangeMethodEv @ 828 NONAME - _ZNK10QSslCipher20authenticationMethodEv @ 829 NONAME - _ZNK10QSslCipher4nameEv @ 830 NONAME - _ZNK10QSslCipher6isNullEv @ 831 NONAME - _ZNK10QSslCipher8protocolEv @ 832 NONAME - _ZNK10QSslCipher8usedBitsEv @ 833 NONAME - _ZNK10QSslCiphereqERKS_ @ 834 NONAME - _ZNK10QSslSocket10metaObjectEv @ 835 NONAME - _ZNK10QSslSocket10privateKeyEv @ 836 NONAME - _ZNK10QSslSocket11canReadLineEv @ 837 NONAME - _ZNK10QSslSocket11isEncryptedEv @ 838 NONAME - _ZNK10QSslSocket12bytesToWriteEv @ 839 NONAME - _ZNK10QSslSocket13sessionCipherEv @ 840 NONAME - _ZNK10QSslSocket14bytesAvailableEv @ 841 NONAME - _ZNK10QSslSocket14caCertificatesEv @ 842 NONAME - _ZNK10QSslSocket14peerVerifyModeEv @ 843 NONAME - _ZNK10QSslSocket15peerCertificateEv @ 844 NONAME - _ZNK10QSslSocket15peerVerifyDepthEv @ 845 NONAME - _ZNK10QSslSocket16localCertificateEv @ 846 NONAME - _ZNK10QSslSocket16sslConfigurationEv @ 847 NONAME - _ZNK10QSslSocket20peerCertificateChainEv @ 848 NONAME - _ZNK10QSslSocket21encryptedBytesToWriteEv @ 849 NONAME - _ZNK10QSslSocket23encryptedBytesAvailableEv @ 850 NONAME - _ZNK10QSslSocket4modeEv @ 851 NONAME - _ZNK10QSslSocket5atEndEv @ 852 NONAME - _ZNK10QSslSocket7ciphersEv @ 853 NONAME - _ZNK10QSslSocket8protocolEv @ 854 NONAME - _ZNK10QSslSocket9sslErrorsEv @ 855 NONAME - _ZNK10QTcpServer10metaObjectEv @ 856 NONAME - _ZNK10QTcpServer10serverPortEv @ 857 NONAME - _ZNK10QTcpServer11errorStringEv @ 858 NONAME - _ZNK10QTcpServer11isListeningEv @ 859 NONAME - _ZNK10QTcpServer11serverErrorEv @ 860 NONAME - _ZNK10QTcpServer13serverAddressEv @ 861 NONAME - _ZNK10QTcpServer16socketDescriptorEv @ 862 NONAME - _ZNK10QTcpServer21hasPendingConnectionsEv @ 863 NONAME - _ZNK10QTcpServer21maxPendingConnectionsEv @ 864 NONAME - _ZNK10QTcpServer5proxyEv @ 865 NONAME - _ZNK10QTcpSocket10metaObjectEv @ 866 NONAME - _ZNK10QUdpSocket10metaObjectEv @ 867 NONAME - _ZNK10QUdpSocket19hasPendingDatagramsEv @ 868 NONAME - _ZNK10QUdpSocket19pendingDatagramSizeEv @ 869 NONAME - _ZNK11QHttpHeader11contentTypeEv @ 870 NONAME - _ZNK11QHttpHeader13contentLengthEv @ 871 NONAME - _ZNK11QHttpHeader14hasContentTypeEv @ 872 NONAME - _ZNK11QHttpHeader16hasContentLengthEv @ 873 NONAME - _ZNK11QHttpHeader4keysEv @ 874 NONAME - _ZNK11QHttpHeader5valueERK7QString @ 875 NONAME - _ZNK11QHttpHeader6hasKeyERK7QString @ 876 NONAME - _ZNK11QHttpHeader6valuesEv @ 877 NONAME - _ZNK11QHttpHeader7isValidEv @ 878 NONAME - _ZNK11QHttpHeader8toStringEv @ 879 NONAME - _ZNK11QHttpHeader9allValuesERK7QString @ 880 NONAME - _ZNK12QHostAddress10isInSubnetERK5QPairIS_iE @ 881 NONAME - _ZNK12QHostAddress10isInSubnetERKS_i @ 882 NONAME - _ZNK12QHostAddress13toIPv4AddressEv @ 883 NONAME - _ZNK12QHostAddress13toIPv6AddressEv @ 884 NONAME - _ZNK12QHostAddress6isNullEv @ 885 NONAME - _ZNK12QHostAddress7scopeIdEv @ 886 NONAME - _ZNK12QHostAddress8protocolEv @ 887 NONAME - _ZNK12QHostAddress8toStringEv @ 888 NONAME - _ZNK12QHostAddresseqENS_14SpecialAddressE @ 889 NONAME - _ZNK12QHostAddresseqERKS_ @ 890 NONAME - _ZNK12QLocalServer10metaObjectEv @ 891 NONAME - _ZNK12QLocalServer10serverNameEv @ 892 NONAME - _ZNK12QLocalServer11errorStringEv @ 893 NONAME - _ZNK12QLocalServer11isListeningEv @ 894 NONAME - _ZNK12QLocalServer11serverErrorEv @ 895 NONAME - _ZNK12QLocalServer14fullServerNameEv @ 896 NONAME - _ZNK12QLocalServer21hasPendingConnectionsEv @ 897 NONAME - _ZNK12QLocalServer21maxPendingConnectionsEv @ 898 NONAME - _ZNK12QLocalSocket10metaObjectEv @ 899 NONAME - _ZNK12QLocalSocket10serverNameEv @ 900 NONAME - _ZNK12QLocalSocket11canReadLineEv @ 901 NONAME - _ZNK12QLocalSocket12bytesToWriteEv @ 902 NONAME - _ZNK12QLocalSocket12isSequentialEv @ 903 NONAME - _ZNK12QLocalSocket14bytesAvailableEv @ 904 NONAME - _ZNK12QLocalSocket14fullServerNameEv @ 905 NONAME - _ZNK12QLocalSocket14readBufferSizeEv @ 906 NONAME - _ZNK12QLocalSocket16socketDescriptorEv @ 907 NONAME - _ZNK12QLocalSocket5errorEv @ 908 NONAME - _ZNK12QLocalSocket5stateEv @ 909 NONAME - _ZNK12QLocalSocket7isValidEv @ 910 NONAME - _ZNK13QNetworkProxy12capabilitiesEv @ 911 NONAME - _ZNK13QNetworkProxy14isCachingProxyEv @ 912 NONAME - _ZNK13QNetworkProxy18isTransparentProxyEv @ 913 NONAME - _ZNK13QNetworkProxy4portEv @ 914 NONAME - _ZNK13QNetworkProxy4typeEv @ 915 NONAME - _ZNK13QNetworkProxy4userEv @ 916 NONAME - _ZNK13QNetworkProxy8hostNameEv @ 917 NONAME - _ZNK13QNetworkProxy8passwordEv @ 918 NONAME - _ZNK13QNetworkProxyeqERKS_ @ 919 NONAME - _ZNK13QNetworkReply10metaObjectEv @ 920 NONAME - _ZNK13QNetworkReply12hasRawHeaderERK10QByteArray @ 921 NONAME - _ZNK13QNetworkReply12isSequentialEv @ 922 NONAME - _ZNK13QNetworkReply13rawHeaderListEv @ 923 NONAME - _ZNK13QNetworkReply14readBufferSizeEv @ 924 NONAME - _ZNK13QNetworkReply16sslConfigurationEv @ 925 NONAME - _ZNK13QNetworkReply3urlEv @ 926 NONAME - _ZNK13QNetworkReply5errorEv @ 927 NONAME - _ZNK13QNetworkReply6headerEN15QNetworkRequest12KnownHeadersE @ 928 NONAME - _ZNK13QNetworkReply7managerEv @ 929 NONAME - _ZNK13QNetworkReply7requestEv @ 930 NONAME - _ZNK13QNetworkReply9attributeEN15QNetworkRequest9AttributeE @ 931 NONAME - _ZNK13QNetworkReply9operationEv @ 932 NONAME - _ZNK13QNetworkReply9rawHeaderERK10QByteArray @ 933 NONAME - _ZNK14QAuthenticator4userEv @ 934 NONAME - _ZNK14QAuthenticator5realmEv @ 935 NONAME - _ZNK14QAuthenticator6isNullEv @ 936 NONAME - _ZNK14QAuthenticator8passwordEv @ 937 NONAME - _ZNK14QAuthenticatoreqERKS_ @ 938 NONAME - _ZNK14QNetworkCookie10isHttpOnlyEv @ 939 NONAME - _ZNK14QNetworkCookie14expirationDateEv @ 940 NONAME - _ZNK14QNetworkCookie15isSessionCookieEv @ 941 NONAME - _ZNK14QNetworkCookie4nameEv @ 942 NONAME - _ZNK14QNetworkCookie4pathEv @ 943 NONAME - _ZNK14QNetworkCookie5valueEv @ 944 NONAME - _ZNK14QNetworkCookie6domainEv @ 945 NONAME - _ZNK14QNetworkCookie8isSecureEv @ 946 NONAME - _ZNK14QNetworkCookie9toRawFormENS_7RawFormE @ 947 NONAME - _ZNK14QNetworkCookieeqERKS_ @ 948 NONAME - _ZNK15QAbstractSocket10metaObjectEv @ 949 NONAME - _ZNK15QAbstractSocket10socketTypeEv @ 950 NONAME - _ZNK15QAbstractSocket11canReadLineEv @ 951 NONAME - _ZNK15QAbstractSocket11peerAddressEv @ 952 NONAME - _ZNK15QAbstractSocket12bytesToWriteEv @ 953 NONAME - _ZNK15QAbstractSocket12isSequentialEv @ 954 NONAME - _ZNK15QAbstractSocket12localAddressEv @ 955 NONAME - _ZNK15QAbstractSocket14bytesAvailableEv @ 956 NONAME - _ZNK15QAbstractSocket14readBufferSizeEv @ 957 NONAME - _ZNK15QAbstractSocket16socketDescriptorEv @ 958 NONAME - _ZNK15QAbstractSocket5atEndEv @ 959 NONAME - _ZNK15QAbstractSocket5errorEv @ 960 NONAME - _ZNK15QAbstractSocket5proxyEv @ 961 NONAME - _ZNK15QAbstractSocket5stateEv @ 962 NONAME - _ZNK15QAbstractSocket7isValidEv @ 963 NONAME - _ZNK15QAbstractSocket8peerNameEv @ 964 NONAME - _ZNK15QAbstractSocket8peerPortEv @ 965 NONAME - _ZNK15QAbstractSocket9localPortEv @ 966 NONAME - _ZNK15QNetworkRequest12hasRawHeaderERK10QByteArray @ 967 NONAME - _ZNK15QNetworkRequest13rawHeaderListEv @ 968 NONAME - _ZNK15QNetworkRequest16sslConfigurationEv @ 969 NONAME - _ZNK15QNetworkRequest3urlEv @ 970 NONAME - _ZNK15QNetworkRequest6headerENS_12KnownHeadersE @ 971 NONAME - _ZNK15QNetworkRequest9attributeENS_9AttributeERK8QVariant @ 972 NONAME - _ZNK15QNetworkRequest9rawHeaderERK10QByteArray @ 973 NONAME - _ZNK15QNetworkRequesteqERKS_ @ 974 NONAME - _ZNK15QSslCertificate10expiryDateEv @ 975 NONAME - _ZNK15QSslCertificate10issuerInfoENS_11SubjectInfoE @ 976 NONAME - _ZNK15QSslCertificate10issuerInfoERK10QByteArray @ 977 NONAME - _ZNK15QSslCertificate11subjectInfoENS_11SubjectInfoE @ 978 NONAME - _ZNK15QSslCertificate11subjectInfoERK10QByteArray @ 979 NONAME - _ZNK15QSslCertificate12serialNumberEv @ 980 NONAME - _ZNK15QSslCertificate13effectiveDateEv @ 981 NONAME - _ZNK15QSslCertificate21alternateSubjectNamesEv @ 982 NONAME - _ZNK15QSslCertificate5toDerEv @ 983 NONAME - _ZNK15QSslCertificate5toPemEv @ 984 NONAME - _ZNK15QSslCertificate6digestEN18QCryptographicHash9AlgorithmE @ 985 NONAME - _ZNK15QSslCertificate6handleEv @ 986 NONAME - _ZNK15QSslCertificate6isNullEv @ 987 NONAME - _ZNK15QSslCertificate7isValidEv @ 988 NONAME - _ZNK15QSslCertificate7versionEv @ 989 NONAME - _ZNK15QSslCertificate9publicKeyEv @ 990 NONAME - _ZNK15QSslCertificateeqERKS_ @ 991 NONAME - _ZNK17QHttpNetworkReply10isFinishedEv @ 992 NONAME - _ZNK17QHttpNetworkReply10metaObjectEv @ 993 NONAME - _ZNK17QHttpNetworkReply10statusCodeEv @ 994 NONAME - _ZNK17QHttpNetworkReply11errorStringEv @ 995 NONAME - _ZNK17QHttpNetworkReply11headerFieldERK10QByteArrayS2_ @ 996 NONAME - _ZNK17QHttpNetworkReply12majorVersionEv @ 997 NONAME - _ZNK17QHttpNetworkReply12minorVersionEv @ 998 NONAME - _ZNK17QHttpNetworkReply12reasonPhraseEv @ 999 NONAME - _ZNK17QHttpNetworkReply13contentLengthEv @ 1000 NONAME - _ZNK17QHttpNetworkReply14bytesAvailableEv @ 1001 NONAME - _ZNK17QHttpNetworkReply16sslConfigurationEv @ 1002 NONAME - _ZNK17QHttpNetworkReply3urlEv @ 1003 NONAME - _ZNK17QHttpNetworkReply6headerEv @ 1004 NONAME - _ZNK17QHttpNetworkReply7requestEv @ 1005 NONAME - _ZNK17QHttpSocketEngine10metaObjectEv @ 1006 NONAME - _ZNK17QHttpSocketEngine14bytesAvailableEv @ 1007 NONAME - _ZNK17QHttpSocketEngine16socketDescriptorEv @ 1008 NONAME - _ZNK17QHttpSocketEngine19hasPendingDatagramsEv @ 1009 NONAME - _ZNK17QHttpSocketEngine19pendingDatagramSizeEv @ 1010 NONAME - _ZNK17QHttpSocketEngine25isReadNotificationEnabledEv @ 1011 NONAME - _ZNK17QHttpSocketEngine26isWriteNotificationEnabledEv @ 1012 NONAME - _ZNK17QHttpSocketEngine30isExceptionNotificationEnabledEv @ 1013 NONAME - _ZNK17QHttpSocketEngine6optionEN21QAbstractSocketEngine12SocketOptionE @ 1014 NONAME - _ZNK17QHttpSocketEngine7isValidEv @ 1015 NONAME - _ZNK17QNetworkCookieJar10allCookiesEv @ 1016 NONAME - _ZNK17QNetworkCookieJar10metaObjectEv @ 1017 NONAME - _ZNK17QNetworkCookieJar13cookiesForUrlERK4QUrl @ 1018 NONAME - _ZNK17QNetworkDiskCache10metaObjectEv @ 1019 NONAME - _ZNK17QNetworkDiskCache12fileMetaDataERK7QString @ 1020 NONAME - _ZNK17QNetworkDiskCache14cacheDirectoryEv @ 1021 NONAME - _ZNK17QNetworkDiskCache16maximumCacheSizeEv @ 1022 NONAME - _ZNK17QNetworkDiskCache9cacheSizeEv @ 1023 NONAME - _ZNK17QNetworkInterface14addressEntriesEv @ 1024 NONAME - _ZNK17QNetworkInterface15hardwareAddressEv @ 1025 NONAME - _ZNK17QNetworkInterface17humanReadableNameEv @ 1026 NONAME - _ZNK17QNetworkInterface4nameEv @ 1027 NONAME - _ZNK17QNetworkInterface5flagsEv @ 1028 NONAME - _ZNK17QNetworkInterface5indexEv @ 1029 NONAME - _ZNK17QNetworkInterface7isValidEv @ 1030 NONAME - _ZNK17QSslConfiguration10privateKeyEv @ 1031 NONAME - _ZNK17QSslConfiguration13sessionCipherEv @ 1032 NONAME - _ZNK17QSslConfiguration14caCertificatesEv @ 1033 NONAME - _ZNK17QSslConfiguration14peerVerifyModeEv @ 1034 NONAME - _ZNK17QSslConfiguration15peerCertificateEv @ 1035 NONAME - _ZNK17QSslConfiguration15peerVerifyDepthEv @ 1036 NONAME - _ZNK17QSslConfiguration16localCertificateEv @ 1037 NONAME - _ZNK17QSslConfiguration20peerCertificateChainEv @ 1038 NONAME - _ZNK17QSslConfiguration6isNullEv @ 1039 NONAME - _ZNK17QSslConfiguration7ciphersEv @ 1040 NONAME - _ZNK17QSslConfiguration8protocolEv @ 1041 NONAME - _ZNK17QSslConfigurationeqERKS_ @ 1042 NONAME - _ZNK18QHttpRequestHeader12majorVersionEv @ 1043 NONAME - _ZNK18QHttpRequestHeader12minorVersionEv @ 1044 NONAME - _ZNK18QHttpRequestHeader4pathEv @ 1045 NONAME - _ZNK18QHttpRequestHeader6methodEv @ 1046 NONAME - _ZNK18QHttpRequestHeader8toStringEv @ 1047 NONAME - _ZNK18QNetworkProxyQuery11protocolTagEv @ 1048 NONAME - _ZNK18QNetworkProxyQuery12peerHostNameEv @ 1049 NONAME - _ZNK18QNetworkProxyQuery3urlEv @ 1050 NONAME - _ZNK18QNetworkProxyQuery8peerPortEv @ 1051 NONAME - _ZNK18QNetworkProxyQuery9localPortEv @ 1052 NONAME - _ZNK18QNetworkProxyQuery9queryTypeEv @ 1053 NONAME - _ZNK18QNetworkProxyQueryeqERKS_ @ 1054 NONAME - _ZNK19QHttpNetworkRequest11headerFieldERK10QByteArrayS2_ @ 1055 NONAME - _ZNK19QHttpNetworkRequest12majorVersionEv @ 1056 NONAME - _ZNK19QHttpNetworkRequest12minorVersionEv @ 1057 NONAME - _ZNK19QHttpNetworkRequest13contentLengthEv @ 1058 NONAME - _ZNK19QHttpNetworkRequest3urlEv @ 1059 NONAME - _ZNK19QHttpNetworkRequest4dataEv @ 1060 NONAME ABSENT - _ZNK19QHttpNetworkRequest6headerEv @ 1061 NONAME - _ZNK19QHttpNetworkRequest8priorityEv @ 1062 NONAME - _ZNK19QHttpNetworkRequest9operationEv @ 1063 NONAME - _ZNK19QHttpNetworkRequesteqERKS_ @ 1064 NONAME - _ZNK19QHttpResponseHeader10statusCodeEv @ 1065 NONAME - _ZNK19QHttpResponseHeader12majorVersionEv @ 1066 NONAME - _ZNK19QHttpResponseHeader12minorVersionEv @ 1067 NONAME - _ZNK19QHttpResponseHeader12reasonPhraseEv @ 1068 NONAME - _ZNK19QHttpResponseHeader8toStringEv @ 1069 NONAME - _ZNK19QNativeSocketEngine10metaObjectEv @ 1070 NONAME - _ZNK19QNativeSocketEngine14bytesAvailableEv @ 1071 NONAME - _ZNK19QNativeSocketEngine14sendBufferSizeEv @ 1072 NONAME - _ZNK19QNativeSocketEngine16socketDescriptorEv @ 1073 NONAME - _ZNK19QNativeSocketEngine17receiveBufferSizeEv @ 1074 NONAME - _ZNK19QNativeSocketEngine19hasPendingDatagramsEv @ 1075 NONAME - _ZNK19QNativeSocketEngine19pendingDatagramSizeEv @ 1076 NONAME - _ZNK19QNativeSocketEngine25isReadNotificationEnabledEv @ 1077 NONAME - _ZNK19QNativeSocketEngine26isWriteNotificationEnabledEv @ 1078 NONAME - _ZNK19QNativeSocketEngine30isExceptionNotificationEnabledEv @ 1079 NONAME - _ZNK19QNativeSocketEngine6optionEN21QAbstractSocketEngine12SocketOptionE @ 1080 NONAME - _ZNK19QNativeSocketEngine7isValidEv @ 1081 NONAME - _ZNK19QSocks5SocketEngine10metaObjectEv @ 1082 NONAME - _ZNK19QSocks5SocketEngine14bytesAvailableEv @ 1083 NONAME - _ZNK19QSocks5SocketEngine16socketDescriptorEv @ 1084 NONAME - _ZNK19QSocks5SocketEngine19hasPendingDatagramsEv @ 1085 NONAME - _ZNK19QSocks5SocketEngine19pendingDatagramSizeEv @ 1086 NONAME - _ZNK19QSocks5SocketEngine25isReadNotificationEnabledEv @ 1087 NONAME - _ZNK19QSocks5SocketEngine26isWriteNotificationEnabledEv @ 1088 NONAME - _ZNK19QSocks5SocketEngine30isExceptionNotificationEnabledEv @ 1089 NONAME - _ZNK19QSocks5SocketEngine6optionEN21QAbstractSocketEngine12SocketOptionE @ 1090 NONAME - _ZNK19QSocks5SocketEngine7isValidEv @ 1091 NONAME - _ZNK20QNetworkAddressEntry12prefixLengthEv @ 1092 NONAME - _ZNK20QNetworkAddressEntry2ipEv @ 1093 NONAME - _ZNK20QNetworkAddressEntry7netmaskEv @ 1094 NONAME - _ZNK20QNetworkAddressEntry9broadcastEv @ 1095 NONAME - _ZNK20QNetworkAddressEntryeqERKS_ @ 1096 NONAME - _ZNK21QAbstractNetworkCache10metaObjectEv @ 1097 NONAME - _ZNK21QAbstractSocketEngine10metaObjectEv @ 1098 NONAME - _ZNK21QAbstractSocketEngine10socketTypeEv @ 1099 NONAME - _ZNK21QAbstractSocketEngine11errorStringEv @ 1100 NONAME - _ZNK21QAbstractSocketEngine11peerAddressEv @ 1101 NONAME - _ZNK21QAbstractSocketEngine12localAddressEv @ 1102 NONAME - _ZNK21QAbstractSocketEngine5errorEv @ 1103 NONAME - _ZNK21QAbstractSocketEngine5stateEv @ 1104 NONAME - _ZNK21QAbstractSocketEngine8peerPortEv @ 1105 NONAME - _ZNK21QAbstractSocketEngine8protocolEv @ 1106 NONAME - _ZNK21QAbstractSocketEngine8setErrorEN15QAbstractSocket11SocketErrorERK7QString @ 1107 NONAME - _ZNK21QAbstractSocketEngine9localPortEv @ 1108 NONAME - _ZNK21QNetworkAccessManager10metaObjectEv @ 1109 NONAME - _ZNK21QNetworkAccessManager12proxyFactoryEv @ 1110 NONAME - _ZNK21QNetworkAccessManager5cacheEv @ 1111 NONAME - _ZNK21QNetworkAccessManager5proxyEv @ 1112 NONAME - _ZNK21QNetworkAccessManager9cookieJarEv @ 1113 NONAME - _ZNK21QNetworkCacheMetaData10attributesEv @ 1114 NONAME - _ZNK21QNetworkCacheMetaData10rawHeadersEv @ 1115 NONAME - _ZNK21QNetworkCacheMetaData10saveToDiskEv @ 1116 NONAME - _ZNK21QNetworkCacheMetaData12lastModifiedEv @ 1117 NONAME - _ZNK21QNetworkCacheMetaData14expirationDateEv @ 1118 NONAME - _ZNK21QNetworkCacheMetaData3urlEv @ 1119 NONAME - _ZNK21QNetworkCacheMetaData7isValidEv @ 1120 NONAME - _ZNK21QNetworkCacheMetaDataeqERKS_ @ 1121 NONAME - _ZNK22QHttpNetworkConnection10cacheProxyEv @ 1122 NONAME - _ZNK22QHttpNetworkConnection10metaObjectEv @ 1123 NONAME - _ZNK22QHttpNetworkConnection11isEncryptedEv @ 1124 NONAME - _ZNK22QHttpNetworkConnection16transparentProxyEv @ 1125 NONAME - _ZNK22QHttpNetworkConnection4portEv @ 1126 NONAME - _ZNK22QHttpNetworkConnection8hostNameEv @ 1127 NONAME - _ZNK4QFtp10metaObjectEv @ 1128 NONAME - _ZNK4QFtp11errorStringEv @ 1129 NONAME - _ZNK4QFtp13currentDeviceEv @ 1130 NONAME - _ZNK4QFtp14bytesAvailableEv @ 1131 NONAME - _ZNK4QFtp14currentCommandEv @ 1132 NONAME - _ZNK4QFtp18hasPendingCommandsEv @ 1133 NONAME - _ZNK4QFtp5errorEv @ 1134 NONAME - _ZNK4QFtp5stateEv @ 1135 NONAME - _ZNK4QFtp9currentIdEv @ 1136 NONAME - _ZNK5QHttp10metaObjectEv @ 1137 NONAME - _ZNK5QHttp11errorStringEv @ 1138 NONAME - _ZNK5QHttp12lastResponseEv @ 1139 NONAME - _ZNK5QHttp14bytesAvailableEv @ 1140 NONAME - _ZNK5QHttp14currentRequestEv @ 1141 NONAME - _ZNK5QHttp18hasPendingRequestsEv @ 1142 NONAME - _ZNK5QHttp19currentSourceDeviceEv @ 1143 NONAME - _ZNK5QHttp24currentDestinationDeviceEv @ 1144 NONAME - _ZNK5QHttp5errorEv @ 1145 NONAME - _ZNK5QHttp5stateEv @ 1146 NONAME - _ZNK5QHttp9currentIdEv @ 1147 NONAME - _ZNK7QSslKey4typeEv @ 1148 NONAME - _ZNK7QSslKey5toDerERK10QByteArray @ 1149 NONAME - _ZNK7QSslKey5toPemERK10QByteArray @ 1150 NONAME - _ZNK7QSslKey6handleEv @ 1151 NONAME - _ZNK7QSslKey6isNullEv @ 1152 NONAME - _ZNK7QSslKey6lengthEv @ 1153 NONAME - _ZNK7QSslKey9algorithmEv @ 1154 NONAME - _ZNK7QSslKeyeqERKS_ @ 1155 NONAME - _ZNK8QUrlInfo10isReadableEv @ 1156 NONAME - _ZNK8QUrlInfo10isWritableEv @ 1157 NONAME - _ZNK8QUrlInfo11permissionsEv @ 1158 NONAME - _ZNK8QUrlInfo12isExecutableEv @ 1159 NONAME - _ZNK8QUrlInfo12lastModifiedEv @ 1160 NONAME - _ZNK8QUrlInfo4nameEv @ 1161 NONAME - _ZNK8QUrlInfo4sizeEv @ 1162 NONAME - _ZNK8QUrlInfo5groupEv @ 1163 NONAME - _ZNK8QUrlInfo5isDirEv @ 1164 NONAME - _ZNK8QUrlInfo5ownerEv @ 1165 NONAME - _ZNK8QUrlInfo6isFileEv @ 1166 NONAME - _ZNK8QUrlInfo7isValidEv @ 1167 NONAME - _ZNK8QUrlInfo8lastReadEv @ 1168 NONAME - _ZNK8QUrlInfo9isSymLinkEv @ 1169 NONAME - _ZNK8QUrlInfoeqERKS_ @ 1170 NONAME - _ZNK9QHostInfo11errorStringEv @ 1171 NONAME - _ZNK9QHostInfo5errorEv @ 1172 NONAME - _ZNK9QHostInfo8hostNameEv @ 1173 NONAME - _ZNK9QHostInfo8lookupIdEv @ 1174 NONAME - _ZNK9QHostInfo9addressesEv @ 1175 NONAME - _ZNK9QSslError11certificateEv @ 1176 NONAME - _ZNK9QSslError11errorStringEv @ 1177 NONAME - _ZNK9QSslError5errorEv @ 1178 NONAME - _ZNK9QSslErroreqERKS_ @ 1179 NONAME - _ZTI10QSslSocket @ 1180 NONAME - _ZTI10QTcpServer @ 1181 NONAME - _ZTI10QTcpSocket @ 1182 NONAME - _ZTI10QUdpSocket @ 1183 NONAME - _ZTI11QHttpHeader @ 1184 NONAME - _ZTI12QHttpRequest @ 1185 NONAME ABSENT - _ZTI12QLocalServer @ 1186 NONAME - _ZTI12QLocalSocket @ 1187 NONAME - _ZTI13QNetworkReply @ 1188 NONAME - _ZTI13QReadNotifier @ 1189 NONAME ABSENT - _ZTI14QHostInfoAgent @ 1190 NONAME ABSENT - _ZTI14QWriteNotifier @ 1191 NONAME ABSENT - _ZTI15QAbstractSocket @ 1192 NONAME - _ZTI15QHostInfoResult @ 1193 NONAME ABSENT - _ZTI15QHttpPGHRequest @ 1194 NONAME ABSENT - _ZTI16QSocks5BindStore @ 1195 NONAME ABSENT - _ZTI17QHttpCloseRequest @ 1196 NONAME ABSENT - _ZTI17QHttpNetworkReply @ 1197 NONAME - _ZTI17QHttpSocketEngine @ 1198 NONAME - _ZTI17QNetworkCookieJar @ 1199 NONAME - _ZTI17QNetworkDiskCache @ 1200 NONAME - _ZTI17QNetworkReplyImpl @ 1201 NONAME ABSENT - _ZTI17QSslSocketPrivate @ 1202 NONAME ABSENT - _ZTI17QTcpServerPrivate @ 1203 NONAME ABSENT - _ZTI18QExceptionNotifier @ 1204 NONAME ABSENT - _ZTI18QHttpNetworkHeader @ 1205 NONAME - _ZTI18QHttpNormalRequest @ 1206 NONAME ABSENT - _ZTI18QHttpRequestHeader @ 1207 NONAME - _ZTI19QHttpNetworkRequest @ 1208 NONAME - _ZTI19QHttpResponseHeader @ 1209 NONAME - _ZTI19QHttpSetHostRequest @ 1210 NONAME ABSENT - _ZTI19QHttpSetUserRequest @ 1211 NONAME ABSENT - _ZTI19QNativeSocketEngine @ 1212 NONAME - _ZTI19QNetworkAccessCache @ 1213 NONAME ABSENT - _ZTI19QSocks5SocketEngine @ 1214 NONAME - _ZTI20QNetworkProxyFactory @ 1215 NONAME - _ZTI20QSocketEngineHandler @ 1216 NONAME - _ZTI20QSocks5Authenticator @ 1217 NONAME ABSENT - _ZTI21QAbstractNetworkCache @ 1218 NONAME - _ZTI21QAbstractSocketEngine @ 1219 NONAME - _ZTI21QHttpSetSocketRequest @ 1220 NONAME ABSENT - _ZTI21QNetworkAccessBackend @ 1221 NONAME ABSENT - _ZTI21QNetworkAccessManager @ 1222 NONAME - _ZTI22QAbstractSocketPrivate @ 1223 NONAME ABSENT - _ZTI22QHttpNetworkConnection @ 1224 NONAME - _ZTI24QHttpNetworkReplyPrivate @ 1225 NONAME ABSENT - _ZTI24QHttpSocketEngineHandler @ 1226 NONAME - _ZTI24QHttpSocketEnginePrivate @ 1227 NONAME ABSENT - _ZTI24QNetworkAccessFtpBackend @ 1228 NONAME ABSENT - _ZTI24QSslSocketBackendPrivate @ 1229 NONAME ABSENT - _ZTI25QNetworkAccessDataBackend @ 1230 NONAME ABSENT - _ZTI25QNetworkAccessFileBackend @ 1231 NONAME ABSENT - _ZTI25QNetworkAccessHttpBackend @ 1232 NONAME ABSENT - _ZTI26QNativeSocketEnginePrivate @ 1233 NONAME ABSENT - _ZTI26QNetworkAccessCacheBackend @ 1234 NONAME ABSENT - _ZTI26QSocks5SocketEngineHandler @ 1235 NONAME - _ZTI26QSocks5SocketEnginePrivate @ 1236 NONAME ABSENT - _ZTI28QNetworkAccessBackendFactory @ 1237 NONAME ABSENT - _ZTI28QSocks5PasswordAuthenticator @ 1238 NONAME ABSENT - _ZTI29QHttpNetworkConnectionPrivate @ 1239 NONAME ABSENT - _ZTI30QNetworkAccessDebugPipeBackend @ 1240 NONAME ABSENT - _ZTI31QNetworkAccessFtpBackendFactory @ 1241 NONAME ABSENT - _ZTI32QNetworkAccessDataBackendFactory @ 1242 NONAME ABSENT - _ZTI32QNetworkAccessFileBackendFactory @ 1243 NONAME ABSENT - _ZTI32QNetworkAccessHttpBackendFactory @ 1244 NONAME ABSENT - _ZTI37QNetworkAccessDebugPipeBackendFactory @ 1245 NONAME ABSENT - _ZTI4QFtp @ 1246 NONAME - _ZTI5QHttp @ 1247 NONAME - _ZTI6QFtpPI @ 1248 NONAME ABSENT - _ZTI7QFtpDTP @ 1249 NONAME ABSENT - _ZTI8QUrlInfo @ 1250 NONAME - _ZTIN19QNetworkAccessCache15CacheableObjectE @ 1251 NONAME ABSENT - _ZTV10QSslSocket @ 1252 NONAME - _ZTV10QTcpServer @ 1253 NONAME - _ZTV10QTcpSocket @ 1254 NONAME - _ZTV10QUdpSocket @ 1255 NONAME - _ZTV11QHttpHeader @ 1256 NONAME - _ZTV12QHttpRequest @ 1257 NONAME ABSENT - _ZTV12QLocalServer @ 1258 NONAME - _ZTV12QLocalSocket @ 1259 NONAME - _ZTV13QNetworkReply @ 1260 NONAME - _ZTV13QReadNotifier @ 1261 NONAME ABSENT - _ZTV14QHostInfoAgent @ 1262 NONAME ABSENT - _ZTV14QWriteNotifier @ 1263 NONAME ABSENT - _ZTV15QAbstractSocket @ 1264 NONAME - _ZTV15QHostInfoResult @ 1265 NONAME ABSENT - _ZTV15QHttpPGHRequest @ 1266 NONAME ABSENT - _ZTV16QSocks5BindStore @ 1267 NONAME ABSENT - _ZTV17QHttpCloseRequest @ 1268 NONAME ABSENT - _ZTV17QHttpNetworkReply @ 1269 NONAME - _ZTV17QHttpSocketEngine @ 1270 NONAME - _ZTV17QNetworkCookieJar @ 1271 NONAME - _ZTV17QNetworkDiskCache @ 1272 NONAME - _ZTV17QNetworkReplyImpl @ 1273 NONAME ABSENT - _ZTV17QSslSocketPrivate @ 1274 NONAME ABSENT - _ZTV17QTcpServerPrivate @ 1275 NONAME ABSENT - _ZTV18QExceptionNotifier @ 1276 NONAME ABSENT - _ZTV18QHttpNormalRequest @ 1277 NONAME ABSENT - _ZTV18QHttpRequestHeader @ 1278 NONAME - _ZTV19QHttpNetworkRequest @ 1279 NONAME - _ZTV19QHttpResponseHeader @ 1280 NONAME - _ZTV19QHttpSetHostRequest @ 1281 NONAME ABSENT - _ZTV19QHttpSetUserRequest @ 1282 NONAME ABSENT - _ZTV19QNativeSocketEngine @ 1283 NONAME - _ZTV19QNetworkAccessCache @ 1284 NONAME ABSENT - _ZTV19QSocks5SocketEngine @ 1285 NONAME - _ZTV20QNetworkProxyFactory @ 1286 NONAME - _ZTV20QSocketEngineHandler @ 1287 NONAME - _ZTV20QSocks5Authenticator @ 1288 NONAME ABSENT - _ZTV21QAbstractNetworkCache @ 1289 NONAME - _ZTV21QAbstractSocketEngine @ 1290 NONAME - _ZTV21QHttpSetSocketRequest @ 1291 NONAME ABSENT - _ZTV21QNetworkAccessBackend @ 1292 NONAME ABSENT - _ZTV21QNetworkAccessManager @ 1293 NONAME - _ZTV22QAbstractSocketPrivate @ 1294 NONAME ABSENT - _ZTV22QHttpNetworkConnection @ 1295 NONAME - _ZTV24QHttpNetworkReplyPrivate @ 1296 NONAME ABSENT - _ZTV24QHttpSocketEngineHandler @ 1297 NONAME - _ZTV24QHttpSocketEnginePrivate @ 1298 NONAME ABSENT - _ZTV24QNetworkAccessFtpBackend @ 1299 NONAME ABSENT - _ZTV24QSslSocketBackendPrivate @ 1300 NONAME ABSENT - _ZTV25QNetworkAccessDataBackend @ 1301 NONAME ABSENT - _ZTV25QNetworkAccessFileBackend @ 1302 NONAME ABSENT - _ZTV25QNetworkAccessHttpBackend @ 1303 NONAME ABSENT - _ZTV26QNativeSocketEnginePrivate @ 1304 NONAME ABSENT - _ZTV26QNetworkAccessCacheBackend @ 1305 NONAME ABSENT - _ZTV26QSocks5SocketEngineHandler @ 1306 NONAME - _ZTV26QSocks5SocketEnginePrivate @ 1307 NONAME ABSENT - _ZTV28QNetworkAccessBackendFactory @ 1308 NONAME ABSENT - _ZTV28QSocks5PasswordAuthenticator @ 1309 NONAME ABSENT - _ZTV29QHttpNetworkConnectionPrivate @ 1310 NONAME ABSENT - _ZTV30QNetworkAccessDebugPipeBackend @ 1311 NONAME ABSENT - _ZTV31QNetworkAccessFtpBackendFactory @ 1312 NONAME ABSENT - _ZTV32QNetworkAccessDataBackendFactory @ 1313 NONAME ABSENT - _ZTV32QNetworkAccessFileBackendFactory @ 1314 NONAME ABSENT - _ZTV32QNetworkAccessHttpBackendFactory @ 1315 NONAME ABSENT - _ZTV37QNetworkAccessDebugPipeBackendFactory @ 1316 NONAME ABSENT - _ZTV4QFtp @ 1317 NONAME - _ZTV5QHttp @ 1318 NONAME - _ZTV6QFtpPI @ 1319 NONAME ABSENT - _ZTV7QFtpDTP @ 1320 NONAME ABSENT - _ZTV8QUrlInfo @ 1321 NONAME - _ZTVN19QNetworkAccessCache15CacheableObjectE @ 1322 NONAME ABSENT - _ZThn8_N17QHttpNetworkReply14setHeaderFieldERK10QByteArrayS2_ @ 1323 NONAME - _ZThn8_N17QHttpNetworkReply16setContentLengthEx @ 1324 NONAME - _ZThn8_N17QHttpNetworkReply6setUrlERK4QUrl @ 1325 NONAME - _ZThn8_N17QHttpNetworkReplyD0Ev @ 1326 NONAME - _ZThn8_N17QHttpNetworkReplyD1Ev @ 1327 NONAME - _ZThn8_NK17QHttpNetworkReply11headerFieldERK10QByteArrayS2_ @ 1328 NONAME - _ZThn8_NK17QHttpNetworkReply12majorVersionEv @ 1329 NONAME - _ZThn8_NK17QHttpNetworkReply12minorVersionEv @ 1330 NONAME - _ZThn8_NK17QHttpNetworkReply13contentLengthEv @ 1331 NONAME - _ZThn8_NK17QHttpNetworkReply3urlEv @ 1332 NONAME - _ZThn8_NK17QHttpNetworkReply6headerEv @ 1333 NONAME - _Zls6QDebugN12QLocalSocket16LocalSocketErrorE @ 1334 NONAME - _Zls6QDebugN12QLocalSocket16LocalSocketStateE @ 1335 NONAME - _Zls6QDebugN15QAbstractSocket11SocketErrorE @ 1336 NONAME - _Zls6QDebugN15QAbstractSocket11SocketStateE @ 1337 NONAME - _Zls6QDebugN15QSslCertificate11SubjectInfoE @ 1338 NONAME - _Zls6QDebugRK10QSslCipher @ 1339 NONAME - _Zls6QDebugRK12QHostAddress @ 1340 NONAME - _Zls6QDebugRK14QNetworkCookie @ 1341 NONAME - _Zls6QDebugRK15QSslCertificate @ 1342 NONAME - _Zls6QDebugRK17QNetworkInterface @ 1343 NONAME - _Zls6QDebugRK7QSslKey @ 1344 NONAME - _Zls6QDebugRK9QSslError @ 1345 NONAME - _Zls6QDebugRKN9QSslError8SslErrorE @ 1346 NONAME - _ZlsR11QDataStreamRK12QHostAddress @ 1347 NONAME - _ZlsR11QDataStreamRK21QNetworkCacheMetaData @ 1348 NONAME - _ZrsR11QDataStreamR12QHostAddress @ 1349 NONAME - _ZrsR11QDataStreamR21QNetworkCacheMetaData @ 1350 NONAME - _ZN10QSslSocket15ignoreSslErrorsERK5QListI9QSslErrorE @ 1351 NONAME - _ZN10QSslSocket22connectToHostEncryptedERK7QStringtS2_6QFlagsIN9QIODevice12OpenModeFlagEE @ 1352 NONAME - _ZN13QNetworkReply15ignoreSslErrorsERK5QListI9QSslErrorE @ 1353 NONAME - _ZN15QAbstractSocket12socketOptionENS_12SocketOptionE @ 1354 NONAME - _ZN15QAbstractSocket15setSocketOptionENS_12SocketOptionERK8QVariant @ 1355 NONAME - _ZN17QHttpNetworkReply15ignoreSslErrorsERK5QListI9QSslErrorE @ 1356 NONAME - _ZN17QHttpNetworkReply16dataSendProgressExx @ 1357 NONAME - _ZN17QHttpNetworkReply7readAnyEv @ 1358 NONAME - _ZN19QHttpNetworkRequest19setUploadByteDeviceEP24QNonContiguousByteDevice @ 1359 NONAME - _ZN21QNetworkAccessManager14deleteResourceERK15QNetworkRequest @ 1360 NONAME - _ZN22QHttpNetworkConnection15ignoreSslErrorsERK5QListI9QSslErrorEi @ 1361 NONAME - _ZNK13QNetworkReply10isFinishedEv @ 1362 NONAME - _ZNK13QNetworkReply9isRunningEv @ 1363 NONAME - _ZNK17QHttpNetworkReply23bytesAvailableNextBlockEv @ 1364 NONAME - _ZNK19QHttpNetworkRequest16uploadByteDeviceEv @ 1365 NONAME - _ZN10QSslSocket19getStaticMetaObjectEv @ 1366 NONAME - _ZN10QTcpServer19getStaticMetaObjectEv @ 1367 NONAME - _ZN10QTcpSocket19getStaticMetaObjectEv @ 1368 NONAME - _ZN10QUdpSocket19getStaticMetaObjectEv @ 1369 NONAME - _ZN12QLocalServer19getStaticMetaObjectEv @ 1370 NONAME - _ZN12QLocalSocket19getStaticMetaObjectEv @ 1371 NONAME - _ZN13QNetworkReply19getStaticMetaObjectEv @ 1372 NONAME - _ZN15QAbstractSocket19getStaticMetaObjectEv @ 1373 NONAME - _ZN17QHttpNetworkReply19getStaticMetaObjectEv @ 1374 NONAME - _ZN17QHttpSocketEngine19getStaticMetaObjectEv @ 1375 NONAME - _ZN17QNetworkCookieJar19getStaticMetaObjectEv @ 1376 NONAME - _ZN17QNetworkDiskCache19getStaticMetaObjectEv @ 1377 NONAME - _ZN19QHttpNetworkRequest20setPipeliningAllowedEb @ 1378 NONAME - _ZN19QNativeSocketEngine19getStaticMetaObjectEv @ 1379 NONAME - _ZN19QSocks5SocketEngine19getStaticMetaObjectEv @ 1380 NONAME - _ZN20QNetworkProxyFactory25setUseSystemConfigurationEb @ 1381 NONAME - _ZN21QAbstractNetworkCache19getStaticMetaObjectEv @ 1382 NONAME - _ZN21QAbstractSocketEngine19getStaticMetaObjectEv @ 1383 NONAME - _ZN21QNetworkAccessManager19getStaticMetaObjectEv @ 1384 NONAME - _ZN22QHttpNetworkConnection19getStaticMetaObjectEv @ 1385 NONAME - _ZN22QHttpNetworkConnectionC1EtRK7QStringtbP7QObject @ 1386 NONAME - _ZN22QHttpNetworkConnectionC2EtRK7QStringtbP7QObject @ 1387 NONAME - _ZN4QFtp19getStaticMetaObjectEv @ 1388 NONAME - _ZN5QHttp19getStaticMetaObjectEv @ 1389 NONAME - _ZNK17QHttpNetworkReply16isPipeliningUsedEv @ 1390 NONAME - _ZNK19QHttpNetworkRequest19isPipeliningAllowedEv @ 1391 NONAME - _ZTI24QNetworkReplyImplPrivate @ 1392 NONAME ABSENT; ## - _ZTI29QHttpNetworkConnectionChannel @ 1393 NONAME ABSENT; ## - _ZTV24QNetworkReplyImplPrivate @ 1394 NONAME ABSENT; ## - _ZTV29QHttpNetworkConnectionChannel @ 1395 NONAME ABSENT; ## + _ZN10QSslSocket15ignoreSslErrorsERK5QListI9QSslErrorE @ 21 NONAME + _ZN10QSslSocket15ignoreSslErrorsEv @ 22 NONAME + _ZN10QSslSocket15peerVerifyErrorERK9QSslError @ 23 NONAME + _ZN10QSslSocket16addCaCertificateERK15QSslCertificate @ 24 NONAME + _ZN10QSslSocket16staticMetaObjectE @ 25 NONAME DATA 16 + _ZN10QSslSocket16supportedCiphersEv @ 26 NONAME + _ZN10QSslSocket16waitForConnectedEi @ 27 NONAME + _ZN10QSslSocket16waitForEncryptedEi @ 28 NONAME + _ZN10QSslSocket16waitForReadyReadEi @ 29 NONAME + _ZN10QSslSocket17addCaCertificatesERK5QListI15QSslCertificateE @ 30 NONAME + _ZN10QSslSocket17addCaCertificatesERK7QStringN4QSsl14EncodingFormatEN7QRegExp13PatternSyntaxE @ 31 NONAME + _ZN10QSslSocket17setCaCertificatesERK5QListI15QSslCertificateE @ 32 NONAME + _ZN10QSslSocket17setDefaultCiphersERK5QListI10QSslCipherE @ 33 NONAME + _ZN10QSslSocket17setPeerVerifyModeENS_14PeerVerifyModeE @ 34 NONAME + _ZN10QSslSocket17setReadBufferSizeEx @ 35 NONAME + _ZN10QSslSocket18setPeerVerifyDepthEi @ 36 NONAME + _ZN10QSslSocket19getStaticMetaObjectEv @ 37 NONAME + _ZN10QSslSocket19setLocalCertificateERK15QSslCertificate @ 38 NONAME + _ZN10QSslSocket19setLocalCertificateERK7QStringN4QSsl14EncodingFormatE @ 39 NONAME + _ZN10QSslSocket19setSocketDescriptorEiN15QAbstractSocket11SocketStateE6QFlagsIN9QIODevice12OpenModeFlagEE @ 40 NONAME + _ZN10QSslSocket19setSslConfigurationERK17QSslConfiguration @ 41 NONAME + _ZN10QSslSocket19waitForBytesWrittenEi @ 42 NONAME + _ZN10QSslSocket19waitForDisconnectedEi @ 43 NONAME + _ZN10QSslSocket20systemCaCertificatesEv @ 44 NONAME + _ZN10QSslSocket21defaultCaCertificatesEv @ 45 NONAME + _ZN10QSslSocket21encryptedBytesWrittenEx @ 46 NONAME + _ZN10QSslSocket21startClientEncryptionEv @ 47 NONAME + _ZN10QSslSocket21startServerEncryptionEv @ 48 NONAME + _ZN10QSslSocket22connectToHostEncryptedERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE @ 49 NONAME + _ZN10QSslSocket22connectToHostEncryptedERK7QStringtS2_6QFlagsIN9QIODevice12OpenModeFlagEE @ 50 NONAME + _ZN10QSslSocket23addDefaultCaCertificateERK15QSslCertificate @ 51 NONAME + _ZN10QSslSocket24addDefaultCaCertificatesERK5QListI15QSslCertificateE @ 52 NONAME + _ZN10QSslSocket24addDefaultCaCertificatesERK7QStringN4QSsl14EncodingFormatEN7QRegExp13PatternSyntaxE @ 53 NONAME + _ZN10QSslSocket24setDefaultCaCertificatesERK5QListI15QSslCertificateE @ 54 NONAME + _ZN10QSslSocket27connectToHostImplementationERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE @ 55 NONAME + _ZN10QSslSocket32disconnectFromHostImplementationEv @ 56 NONAME + _ZN10QSslSocket5abortEv @ 57 NONAME + _ZN10QSslSocket5closeEv @ 58 NONAME + _ZN10QSslSocket5flushEv @ 59 NONAME + _ZN10QSslSocket8readDataEPcx @ 60 NONAME + _ZN10QSslSocket9encryptedEv @ 61 NONAME + _ZN10QSslSocket9sslErrorsERK5QListI9QSslErrorE @ 62 NONAME + _ZN10QSslSocket9writeDataEPKcx @ 63 NONAME + _ZN10QSslSocketC1EP7QObject @ 64 NONAME + _ZN10QSslSocketC2EP7QObject @ 65 NONAME + _ZN10QSslSocketD0Ev @ 66 NONAME + _ZN10QSslSocketD1Ev @ 67 NONAME + _ZN10QSslSocketD2Ev @ 68 NONAME + _ZN10QTcpServer11qt_metacallEN11QMetaObject4CallEiPPv @ 69 NONAME + _ZN10QTcpServer11qt_metacastEPKc @ 70 NONAME + _ZN10QTcpServer13newConnectionEv @ 71 NONAME + _ZN10QTcpServer16staticMetaObjectE @ 72 NONAME DATA 16 + _ZN10QTcpServer18incomingConnectionEi @ 73 NONAME + _ZN10QTcpServer19getStaticMetaObjectEv @ 74 NONAME + _ZN10QTcpServer19setSocketDescriptorEi @ 75 NONAME + _ZN10QTcpServer20waitForNewConnectionEiPb @ 76 NONAME + _ZN10QTcpServer21nextPendingConnectionEv @ 77 NONAME + _ZN10QTcpServer24setMaxPendingConnectionsEi @ 78 NONAME + _ZN10QTcpServer5closeEv @ 79 NONAME + _ZN10QTcpServer6listenERK12QHostAddresst @ 80 NONAME + _ZN10QTcpServer8setProxyERK13QNetworkProxy @ 81 NONAME + _ZN10QTcpServerC1EP7QObject @ 82 NONAME + _ZN10QTcpServerC2EP7QObject @ 83 NONAME + _ZN10QTcpServerD0Ev @ 84 NONAME + _ZN10QTcpServerD1Ev @ 85 NONAME + _ZN10QTcpServerD2Ev @ 86 NONAME + _ZN10QTcpSocket11qt_metacallEN11QMetaObject4CallEiPPv @ 87 NONAME + _ZN10QTcpSocket11qt_metacastEPKc @ 88 NONAME + _ZN10QTcpSocket16staticMetaObjectE @ 89 NONAME DATA 16 + _ZN10QTcpSocket19getStaticMetaObjectEv @ 90 NONAME + _ZN10QTcpSocketC1EP7QObject @ 91 NONAME + _ZN10QTcpSocketC1ER17QTcpSocketPrivateP7QObject @ 92 NONAME + _ZN10QTcpSocketC2EP7QObject @ 93 NONAME + _ZN10QTcpSocketC2ER17QTcpSocketPrivateP7QObject @ 94 NONAME + _ZN10QTcpSocketD0Ev @ 95 NONAME + _ZN10QTcpSocketD1Ev @ 96 NONAME + _ZN10QTcpSocketD2Ev @ 97 NONAME + _ZN10QUdpSocket11qt_metacallEN11QMetaObject4CallEiPPv @ 98 NONAME + _ZN10QUdpSocket11qt_metacastEPKc @ 99 NONAME + _ZN10QUdpSocket12readDatagramEPcxP12QHostAddressPt @ 100 NONAME + _ZN10QUdpSocket13writeDatagramEPKcxRK12QHostAddresst @ 101 NONAME + _ZN10QUdpSocket16staticMetaObjectE @ 102 NONAME DATA 16 + _ZN10QUdpSocket19getStaticMetaObjectEv @ 103 NONAME + _ZN10QUdpSocket4bindERK12QHostAddresst @ 104 NONAME + _ZN10QUdpSocket4bindERK12QHostAddresst6QFlagsINS_8BindFlagEE @ 105 NONAME + _ZN10QUdpSocket4bindEt @ 106 NONAME + _ZN10QUdpSocket4bindEt6QFlagsINS_8BindFlagEE @ 107 NONAME + _ZN10QUdpSocketC1EP7QObject @ 108 NONAME + _ZN10QUdpSocketC2EP7QObject @ 109 NONAME + _ZN10QUdpSocketD0Ev @ 110 NONAME + _ZN10QUdpSocketD1Ev @ 111 NONAME + _ZN10QUdpSocketD2Ev @ 112 NONAME + _ZN11QHttpHeader11removeValueERK7QString @ 113 NONAME + _ZN11QHttpHeader14setContentTypeERK7QString @ 114 NONAME + _ZN11QHttpHeader15removeAllValuesERK7QString @ 115 NONAME + _ZN11QHttpHeader16setContentLengthEi @ 116 NONAME + _ZN11QHttpHeader5parseERK7QString @ 117 NONAME + _ZN11QHttpHeader8addValueERK7QStringS2_ @ 118 NONAME + _ZN11QHttpHeader8setValidEb @ 119 NONAME + _ZN11QHttpHeader8setValueERK7QStringS2_ @ 120 NONAME + _ZN11QHttpHeader9parseLineERK7QStringi @ 121 NONAME + _ZN11QHttpHeader9setValuesERK5QListI5QPairI7QStringS2_EE @ 122 NONAME + _ZN11QHttpHeaderC2ER18QHttpHeaderPrivateRK7QString @ 123 NONAME + _ZN11QHttpHeaderC2ER18QHttpHeaderPrivateRKS_ @ 124 NONAME + _ZN11QHttpHeaderC2ERK7QString @ 125 NONAME + _ZN11QHttpHeaderC2ERKS_ @ 126 NONAME + _ZN11QHttpHeaderC2Ev @ 127 NONAME + _ZN11QHttpHeaderD0Ev @ 128 NONAME + _ZN11QHttpHeaderD1Ev @ 129 NONAME + _ZN11QHttpHeaderD2Ev @ 130 NONAME + _ZN11QHttpHeaderaSERKS_ @ 131 NONAME + _ZN12QHostAddress10setAddressEPK8sockaddr @ 132 NONAME + _ZN12QHostAddress10setAddressEPh @ 133 NONAME + _ZN12QHostAddress10setAddressERK12QIPv6Address @ 134 NONAME + _ZN12QHostAddress10setAddressERK7QString @ 135 NONAME + _ZN12QHostAddress10setAddressEj @ 136 NONAME + _ZN12QHostAddress10setScopeIdERK7QString @ 137 NONAME + _ZN12QHostAddress11parseSubnetERK7QString @ 138 NONAME + _ZN12QHostAddress5clearEv @ 139 NONAME + _ZN12QHostAddressC1ENS_14SpecialAddressE @ 140 NONAME + _ZN12QHostAddressC1EPK8sockaddr @ 141 NONAME + _ZN12QHostAddressC1EPh @ 142 NONAME + _ZN12QHostAddressC1ERK12QIPv6Address @ 143 NONAME + _ZN12QHostAddressC1ERK7QString @ 144 NONAME + _ZN12QHostAddressC1ERKS_ @ 145 NONAME + _ZN12QHostAddressC1Ej @ 146 NONAME + _ZN12QHostAddressC1Ev @ 147 NONAME + _ZN12QHostAddressC2ENS_14SpecialAddressE @ 148 NONAME + _ZN12QHostAddressC2EPK8sockaddr @ 149 NONAME + _ZN12QHostAddressC2EPh @ 150 NONAME + _ZN12QHostAddressC2ERK12QIPv6Address @ 151 NONAME + _ZN12QHostAddressC2ERK7QString @ 152 NONAME + _ZN12QHostAddressC2ERKS_ @ 153 NONAME + _ZN12QHostAddressC2Ej @ 154 NONAME + _ZN12QHostAddressC2Ev @ 155 NONAME + _ZN12QHostAddressD1Ev @ 156 NONAME + _ZN12QHostAddressD2Ev @ 157 NONAME + _ZN12QHostAddressaSERK7QString @ 158 NONAME + _ZN12QHostAddressaSERKS_ @ 159 NONAME + _ZN12QLocalServer11qt_metacallEN11QMetaObject4CallEiPPv @ 160 NONAME + _ZN12QLocalServer11qt_metacastEPKc @ 161 NONAME + _ZN12QLocalServer12removeServerERK7QString @ 162 NONAME + _ZN12QLocalServer13newConnectionEv @ 163 NONAME + _ZN12QLocalServer16staticMetaObjectE @ 164 NONAME DATA 16 + _ZN12QLocalServer18incomingConnectionEj @ 165 NONAME + _ZN12QLocalServer19getStaticMetaObjectEv @ 166 NONAME + _ZN12QLocalServer20waitForNewConnectionEiPb @ 167 NONAME + _ZN12QLocalServer21nextPendingConnectionEv @ 168 NONAME + _ZN12QLocalServer24setMaxPendingConnectionsEi @ 169 NONAME + _ZN12QLocalServer5closeEv @ 170 NONAME + _ZN12QLocalServer6listenERK7QString @ 171 NONAME + _ZN12QLocalServerC1EP7QObject @ 172 NONAME + _ZN12QLocalServerC2EP7QObject @ 173 NONAME + _ZN12QLocalServerD0Ev @ 174 NONAME + _ZN12QLocalServerD1Ev @ 175 NONAME + _ZN12QLocalServerD2Ev @ 176 NONAME + _ZN12QLocalSocket11qt_metacallEN11QMetaObject4CallEiPPv @ 177 NONAME + _ZN12QLocalSocket11qt_metacastEPKc @ 178 NONAME + _ZN12QLocalSocket12disconnectedEv @ 179 NONAME + _ZN12QLocalSocket12stateChangedENS_16LocalSocketStateE @ 180 NONAME + _ZN12QLocalSocket15connectToServerERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 181 NONAME + _ZN12QLocalSocket16staticMetaObjectE @ 182 NONAME DATA 16 + _ZN12QLocalSocket16waitForConnectedEi @ 183 NONAME + _ZN12QLocalSocket16waitForReadyReadEi @ 184 NONAME + _ZN12QLocalSocket17setReadBufferSizeEx @ 185 NONAME + _ZN12QLocalSocket19getStaticMetaObjectEv @ 186 NONAME + _ZN12QLocalSocket19setSocketDescriptorEjNS_16LocalSocketStateE6QFlagsIN9QIODevice12OpenModeFlagEE @ 187 NONAME + _ZN12QLocalSocket19waitForBytesWrittenEi @ 188 NONAME + _ZN12QLocalSocket19waitForDisconnectedEi @ 189 NONAME + _ZN12QLocalSocket20disconnectFromServerEv @ 190 NONAME + _ZN12QLocalSocket5abortEv @ 191 NONAME + _ZN12QLocalSocket5closeEv @ 192 NONAME + _ZN12QLocalSocket5errorENS_16LocalSocketErrorE @ 193 NONAME + _ZN12QLocalSocket5flushEv @ 194 NONAME + _ZN12QLocalSocket8readDataEPcx @ 195 NONAME + _ZN12QLocalSocket9connectedEv @ 196 NONAME + _ZN12QLocalSocket9writeDataEPKcx @ 197 NONAME + _ZN12QLocalSocketC1EP7QObject @ 198 NONAME + _ZN12QLocalSocketC2EP7QObject @ 199 NONAME + _ZN12QLocalSocketD0Ev @ 200 NONAME + _ZN12QLocalSocketD1Ev @ 201 NONAME + _ZN12QLocalSocketD2Ev @ 202 NONAME + _ZN13QNetworkProxy11setHostNameERK7QString @ 203 NONAME + _ZN13QNetworkProxy11setPasswordERK7QString @ 204 NONAME + _ZN13QNetworkProxy15setCapabilitiesE6QFlagsINS_10CapabilityEE @ 205 NONAME + _ZN13QNetworkProxy16applicationProxyEv @ 206 NONAME + _ZN13QNetworkProxy19setApplicationProxyERKS_ @ 207 NONAME + _ZN13QNetworkProxy7setPortEt @ 208 NONAME + _ZN13QNetworkProxy7setTypeENS_9ProxyTypeE @ 209 NONAME + _ZN13QNetworkProxy7setUserERK7QString @ 210 NONAME + _ZN13QNetworkProxyC1ENS_9ProxyTypeERK7QStringtS3_S3_ @ 211 NONAME + _ZN13QNetworkProxyC1ERKS_ @ 212 NONAME + _ZN13QNetworkProxyC1Ev @ 213 NONAME + _ZN13QNetworkProxyC2ENS_9ProxyTypeERK7QStringtS3_S3_ @ 214 NONAME + _ZN13QNetworkProxyC2ERKS_ @ 215 NONAME + _ZN13QNetworkProxyC2Ev @ 216 NONAME + _ZN13QNetworkProxyD1Ev @ 217 NONAME + _ZN13QNetworkProxyD2Ev @ 218 NONAME + _ZN13QNetworkProxyaSERKS_ @ 219 NONAME + _ZN13QNetworkReply10setRequestERK15QNetworkRequest @ 220 NONAME + _ZN13QNetworkReply11qt_metacallEN11QMetaObject4CallEiPPv @ 221 NONAME + _ZN13QNetworkReply11qt_metacastEPKc @ 222 NONAME + _ZN13QNetworkReply12setAttributeEN15QNetworkRequest9AttributeERK8QVariant @ 223 NONAME + _ZN13QNetworkReply12setOperationEN21QNetworkAccessManager9OperationE @ 224 NONAME + _ZN13QNetworkReply12setRawHeaderERK10QByteArrayS2_ @ 225 NONAME + _ZN13QNetworkReply14uploadProgressExx @ 226 NONAME + _ZN13QNetworkReply15ignoreSslErrorsERK5QListI9QSslErrorE @ 227 NONAME + _ZN13QNetworkReply15ignoreSslErrorsEv @ 228 NONAME + _ZN13QNetworkReply15metaDataChangedEv @ 229 NONAME + _ZN13QNetworkReply16downloadProgressExx @ 230 NONAME + _ZN13QNetworkReply16staticMetaObjectE @ 231 NONAME DATA 16 + _ZN13QNetworkReply17setReadBufferSizeEx @ 232 NONAME + _ZN13QNetworkReply19getStaticMetaObjectEv @ 233 NONAME + _ZN13QNetworkReply19setSslConfigurationERK17QSslConfiguration @ 234 NONAME + _ZN13QNetworkReply5closeEv @ 235 NONAME + _ZN13QNetworkReply5errorENS_12NetworkErrorE @ 236 NONAME + _ZN13QNetworkReply6setUrlERK4QUrl @ 237 NONAME + _ZN13QNetworkReply8finishedEv @ 238 NONAME + _ZN13QNetworkReply8setErrorENS_12NetworkErrorERK7QString @ 239 NONAME + _ZN13QNetworkReply9setHeaderEN15QNetworkRequest12KnownHeadersERK8QVariant @ 240 NONAME + _ZN13QNetworkReply9sslErrorsERK5QListI9QSslErrorE @ 241 NONAME + _ZN13QNetworkReply9writeDataEPKcx @ 242 NONAME + _ZN13QNetworkReplyC2EP7QObject @ 243 NONAME + _ZN13QNetworkReplyC2ER20QNetworkReplyPrivateP7QObject @ 244 NONAME + _ZN13QNetworkReplyD0Ev @ 245 NONAME + _ZN13QNetworkReplyD1Ev @ 246 NONAME + _ZN13QNetworkReplyD2Ev @ 247 NONAME + _ZN14QAuthenticator11setPasswordERK7QString @ 248 NONAME + _ZN14QAuthenticator6detachEv @ 249 NONAME + _ZN14QAuthenticator7setUserERK7QString @ 250 NONAME + _ZN14QAuthenticatorC1ERKS_ @ 251 NONAME + _ZN14QAuthenticatorC1Ev @ 252 NONAME + _ZN14QAuthenticatorC2ERKS_ @ 253 NONAME + _ZN14QAuthenticatorC2Ev @ 254 NONAME + _ZN14QAuthenticatorD1Ev @ 255 NONAME + _ZN14QAuthenticatorD2Ev @ 256 NONAME + _ZN14QAuthenticatoraSERKS_ @ 257 NONAME + _ZN14QNetworkCookie11setHttpOnlyEb @ 258 NONAME + _ZN14QNetworkCookie12parseCookiesERK10QByteArray @ 259 NONAME + _ZN14QNetworkCookie17setExpirationDateERK9QDateTime @ 260 NONAME + _ZN14QNetworkCookie7setNameERK10QByteArray @ 261 NONAME + _ZN14QNetworkCookie7setPathERK7QString @ 262 NONAME + _ZN14QNetworkCookie8setValueERK10QByteArray @ 263 NONAME + _ZN14QNetworkCookie9setDomainERK7QString @ 264 NONAME + _ZN14QNetworkCookie9setSecureEb @ 265 NONAME + _ZN14QNetworkCookieC1ERK10QByteArrayS2_ @ 266 NONAME + _ZN14QNetworkCookieC1ERKS_ @ 267 NONAME + _ZN14QNetworkCookieC2ERK10QByteArrayS2_ @ 268 NONAME + _ZN14QNetworkCookieC2ERKS_ @ 269 NONAME + _ZN14QNetworkCookieD1Ev @ 270 NONAME + _ZN14QNetworkCookieD2Ev @ 271 NONAME + _ZN14QNetworkCookieaSERKS_ @ 272 NONAME + _ZN15QAbstractSocket11qt_metacallEN11QMetaObject4CallEiPPv @ 273 NONAME + _ZN15QAbstractSocket11qt_metacastEPKc @ 274 NONAME + _ZN15QAbstractSocket11setPeerNameERK7QString @ 275 NONAME + _ZN15QAbstractSocket11setPeerPortEt @ 276 NONAME + _ZN15QAbstractSocket12disconnectedEv @ 277 NONAME + _ZN15QAbstractSocket12readLineDataEPcx @ 278 NONAME + _ZN15QAbstractSocket12setLocalPortEt @ 279 NONAME + _ZN15QAbstractSocket12socketOptionENS_12SocketOptionE @ 280 NONAME + _ZN15QAbstractSocket12stateChangedENS_11SocketStateE @ 281 NONAME + _ZN15QAbstractSocket13connectToHostERK12QHostAddresst6QFlagsIN9QIODevice12OpenModeFlagEE @ 282 NONAME + _ZN15QAbstractSocket13connectToHostERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE @ 283 NONAME + _ZN15QAbstractSocket14setPeerAddressERK12QHostAddress @ 284 NONAME + _ZN15QAbstractSocket14setSocketErrorENS_11SocketErrorE @ 285 NONAME + _ZN15QAbstractSocket14setSocketStateENS_11SocketStateE @ 286 NONAME + _ZN15QAbstractSocket15setLocalAddressERK12QHostAddress @ 287 NONAME + _ZN15QAbstractSocket15setSocketOptionENS_12SocketOptionERK8QVariant @ 288 NONAME + _ZN15QAbstractSocket16staticMetaObjectE @ 289 NONAME DATA 16 + _ZN15QAbstractSocket16waitForConnectedEi @ 290 NONAME + _ZN15QAbstractSocket16waitForReadyReadEi @ 291 NONAME + _ZN15QAbstractSocket17setReadBufferSizeEx @ 292 NONAME + _ZN15QAbstractSocket18disconnectFromHostEv @ 293 NONAME + _ZN15QAbstractSocket19getStaticMetaObjectEv @ 294 NONAME + _ZN15QAbstractSocket19setSocketDescriptorEiNS_11SocketStateE6QFlagsIN9QIODevice12OpenModeFlagEE @ 295 NONAME + _ZN15QAbstractSocket19waitForBytesWrittenEi @ 296 NONAME + _ZN15QAbstractSocket19waitForDisconnectedEi @ 297 NONAME + _ZN15QAbstractSocket27connectToHostImplementationERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE @ 298 NONAME + _ZN15QAbstractSocket27proxyAuthenticationRequiredERK13QNetworkProxyP14QAuthenticator @ 299 NONAME + _ZN15QAbstractSocket32disconnectFromHostImplementationEv @ 300 NONAME + _ZN15QAbstractSocket5abortEv @ 301 NONAME + _ZN15QAbstractSocket5closeEv @ 302 NONAME + _ZN15QAbstractSocket5errorENS_11SocketErrorE @ 303 NONAME + _ZN15QAbstractSocket5flushEv @ 304 NONAME + _ZN15QAbstractSocket8readDataEPcx @ 305 NONAME + _ZN15QAbstractSocket8setProxyERK13QNetworkProxy @ 306 NONAME + _ZN15QAbstractSocket9connectedEv @ 307 NONAME + _ZN15QAbstractSocket9hostFoundEv @ 308 NONAME + _ZN15QAbstractSocket9writeDataEPKcx @ 309 NONAME + _ZN15QAbstractSocketC1ENS_10SocketTypeEP7QObject @ 310 NONAME + _ZN15QAbstractSocketC1ENS_10SocketTypeER22QAbstractSocketPrivateP7QObject @ 311 NONAME + _ZN15QAbstractSocketC2ENS_10SocketTypeEP7QObject @ 312 NONAME + _ZN15QAbstractSocketC2ENS_10SocketTypeER22QAbstractSocketPrivateP7QObject @ 313 NONAME + _ZN15QAbstractSocketD0Ev @ 314 NONAME + _ZN15QAbstractSocketD1Ev @ 315 NONAME + _ZN15QAbstractSocketD2Ev @ 316 NONAME + _ZN15QNetworkRequest12setAttributeENS_9AttributeERK8QVariant @ 317 NONAME + _ZN15QNetworkRequest12setRawHeaderERK10QByteArrayS2_ @ 318 NONAME + _ZN15QNetworkRequest19setSslConfigurationERK17QSslConfiguration @ 319 NONAME + _ZN15QNetworkRequest6setUrlERK4QUrl @ 320 NONAME + _ZN15QNetworkRequest9setHeaderENS_12KnownHeadersERK8QVariant @ 321 NONAME + _ZN15QNetworkRequestC1ERK4QUrl @ 322 NONAME + _ZN15QNetworkRequestC1ERKS_ @ 323 NONAME + _ZN15QNetworkRequestC2ERK4QUrl @ 324 NONAME + _ZN15QNetworkRequestC2ERKS_ @ 325 NONAME + _ZN15QNetworkRequestD1Ev @ 326 NONAME + _ZN15QNetworkRequestD2Ev @ 327 NONAME + _ZN15QNetworkRequestaSERKS_ @ 328 NONAME + _ZN15QSslCertificate10fromDeviceEP9QIODeviceN4QSsl14EncodingFormatE @ 329 NONAME + _ZN15QSslCertificate5clearEv @ 330 NONAME + _ZN15QSslCertificate8fromDataERK10QByteArrayN4QSsl14EncodingFormatE @ 331 NONAME + _ZN15QSslCertificate8fromPathERK7QStringN4QSsl14EncodingFormatEN7QRegExp13PatternSyntaxE @ 332 NONAME + _ZN15QSslCertificateC1EP9QIODeviceN4QSsl14EncodingFormatE @ 333 NONAME + _ZN15QSslCertificateC1ERK10QByteArrayN4QSsl14EncodingFormatE @ 334 NONAME + _ZN15QSslCertificateC1ERKS_ @ 335 NONAME + _ZN15QSslCertificateC2EP9QIODeviceN4QSsl14EncodingFormatE @ 336 NONAME + _ZN15QSslCertificateC2ERK10QByteArrayN4QSsl14EncodingFormatE @ 337 NONAME + _ZN15QSslCertificateC2ERKS_ @ 338 NONAME + _ZN15QSslCertificateD1Ev @ 339 NONAME + _ZN15QSslCertificateD2Ev @ 340 NONAME + _ZN15QSslCertificateaSERKS_ @ 341 NONAME + _ZN17QNetworkCookieJar11qt_metacallEN11QMetaObject4CallEiPPv @ 342 NONAME + _ZN17QNetworkCookieJar11qt_metacastEPKc @ 343 NONAME + _ZN17QNetworkCookieJar13setAllCookiesERK5QListI14QNetworkCookieE @ 344 NONAME + _ZN17QNetworkCookieJar16staticMetaObjectE @ 345 NONAME DATA 16 + _ZN17QNetworkCookieJar17setCookiesFromUrlERK5QListI14QNetworkCookieERK4QUrl @ 346 NONAME + _ZN17QNetworkCookieJar19getStaticMetaObjectEv @ 347 NONAME + _ZN17QNetworkCookieJarC1EP7QObject @ 348 NONAME + _ZN17QNetworkCookieJarC2EP7QObject @ 349 NONAME + _ZN17QNetworkCookieJarD0Ev @ 350 NONAME + _ZN17QNetworkCookieJarD1Ev @ 351 NONAME + _ZN17QNetworkCookieJarD2Ev @ 352 NONAME + _ZN17QNetworkDiskCache11qt_metacallEN11QMetaObject4CallEiPPv @ 353 NONAME + _ZN17QNetworkDiskCache11qt_metacastEPKc @ 354 NONAME + _ZN17QNetworkDiskCache14updateMetaDataERK21QNetworkCacheMetaData @ 355 NONAME + _ZN17QNetworkDiskCache16staticMetaObjectE @ 356 NONAME DATA 16 + _ZN17QNetworkDiskCache17setCacheDirectoryERK7QString @ 357 NONAME + _ZN17QNetworkDiskCache19getStaticMetaObjectEv @ 358 NONAME + _ZN17QNetworkDiskCache19setMaximumCacheSizeEx @ 359 NONAME + _ZN17QNetworkDiskCache4dataERK4QUrl @ 360 NONAME + _ZN17QNetworkDiskCache5clearEv @ 361 NONAME + _ZN17QNetworkDiskCache6expireEv @ 362 NONAME + _ZN17QNetworkDiskCache6insertEP9QIODevice @ 363 NONAME + _ZN17QNetworkDiskCache6removeERK4QUrl @ 364 NONAME + _ZN17QNetworkDiskCache7prepareERK21QNetworkCacheMetaData @ 365 NONAME + _ZN17QNetworkDiskCache8metaDataERK4QUrl @ 366 NONAME + _ZN17QNetworkDiskCacheC1EP7QObject @ 367 NONAME + _ZN17QNetworkDiskCacheC2EP7QObject @ 368 NONAME + _ZN17QNetworkDiskCacheD0Ev @ 369 NONAME + _ZN17QNetworkDiskCacheD1Ev @ 370 NONAME + _ZN17QNetworkDiskCacheD2Ev @ 371 NONAME + _ZN17QNetworkInterface12allAddressesEv @ 372 NONAME + _ZN17QNetworkInterface13allInterfacesEv @ 373 NONAME + _ZN17QNetworkInterface17interfaceFromNameERK7QString @ 374 NONAME + _ZN17QNetworkInterface18interfaceFromIndexEi @ 375 NONAME + _ZN17QNetworkInterfaceC1ERKS_ @ 376 NONAME + _ZN17QNetworkInterfaceC1Ev @ 377 NONAME + _ZN17QNetworkInterfaceC2ERKS_ @ 378 NONAME + _ZN17QNetworkInterfaceC2Ev @ 379 NONAME + _ZN17QNetworkInterfaceD1Ev @ 380 NONAME + _ZN17QNetworkInterfaceD2Ev @ 381 NONAME + _ZN17QNetworkInterfaceaSERKS_ @ 382 NONAME + _ZN17QSslConfiguration10setCiphersERK5QListI10QSslCipherE @ 383 NONAME + _ZN17QSslConfiguration11setProtocolEN4QSsl11SslProtocolE @ 384 NONAME + _ZN17QSslConfiguration13setPrivateKeyERK7QSslKey @ 385 NONAME + _ZN17QSslConfiguration17setCaCertificatesERK5QListI15QSslCertificateE @ 386 NONAME + _ZN17QSslConfiguration17setPeerVerifyModeEN10QSslSocket14PeerVerifyModeE @ 387 NONAME + _ZN17QSslConfiguration18setPeerVerifyDepthEi @ 388 NONAME + _ZN17QSslConfiguration19setLocalCertificateERK15QSslCertificate @ 389 NONAME + _ZN17QSslConfiguration20defaultConfigurationEv @ 390 NONAME + _ZN17QSslConfiguration23setDefaultConfigurationERKS_ @ 391 NONAME + _ZN17QSslConfigurationC1ERKS_ @ 392 NONAME + _ZN17QSslConfigurationC1Ev @ 393 NONAME + _ZN17QSslConfigurationC2ERKS_ @ 394 NONAME + _ZN17QSslConfigurationC2Ev @ 395 NONAME + _ZN17QSslConfigurationD1Ev @ 396 NONAME + _ZN17QSslConfigurationD2Ev @ 397 NONAME + _ZN17QSslConfigurationaSERKS_ @ 398 NONAME + _ZN18QHttpRequestHeader10setRequestERK7QStringS2_ii @ 399 NONAME + _ZN18QHttpRequestHeader9parseLineERK7QStringi @ 400 NONAME + _ZN18QHttpRequestHeaderC1ERK7QString @ 401 NONAME + _ZN18QHttpRequestHeaderC1ERK7QStringS2_ii @ 402 NONAME + _ZN18QHttpRequestHeaderC1ERKS_ @ 403 NONAME + _ZN18QHttpRequestHeaderC1Ev @ 404 NONAME + _ZN18QHttpRequestHeaderC2ERK7QString @ 405 NONAME + _ZN18QHttpRequestHeaderC2ERK7QStringS2_ii @ 406 NONAME + _ZN18QHttpRequestHeaderC2ERKS_ @ 407 NONAME + _ZN18QHttpRequestHeaderC2Ev @ 408 NONAME + _ZN18QHttpRequestHeaderaSERKS_ @ 409 NONAME + _ZN18QNetworkProxyQuery11setPeerPortEi @ 410 NONAME + _ZN18QNetworkProxyQuery12setLocalPortEi @ 411 NONAME + _ZN18QNetworkProxyQuery12setQueryTypeENS_9QueryTypeE @ 412 NONAME + _ZN18QNetworkProxyQuery14setProtocolTagERK7QString @ 413 NONAME + _ZN18QNetworkProxyQuery15setPeerHostNameERK7QString @ 414 NONAME + _ZN18QNetworkProxyQuery6setUrlERK4QUrl @ 415 NONAME + _ZN18QNetworkProxyQueryC1ERK4QUrlNS_9QueryTypeE @ 416 NONAME + _ZN18QNetworkProxyQueryC1ERK7QStringiS2_NS_9QueryTypeE @ 417 NONAME + _ZN18QNetworkProxyQueryC1ERKS_ @ 418 NONAME + _ZN18QNetworkProxyQueryC1EtRK7QStringNS_9QueryTypeE @ 419 NONAME + _ZN18QNetworkProxyQueryC1Ev @ 420 NONAME + _ZN18QNetworkProxyQueryC2ERK4QUrlNS_9QueryTypeE @ 421 NONAME + _ZN18QNetworkProxyQueryC2ERK7QStringiS2_NS_9QueryTypeE @ 422 NONAME + _ZN18QNetworkProxyQueryC2ERKS_ @ 423 NONAME + _ZN18QNetworkProxyQueryC2EtRK7QStringNS_9QueryTypeE @ 424 NONAME + _ZN18QNetworkProxyQueryC2Ev @ 425 NONAME + _ZN18QNetworkProxyQueryD1Ev @ 426 NONAME + _ZN18QNetworkProxyQueryD2Ev @ 427 NONAME + _ZN18QNetworkProxyQueryaSERKS_ @ 428 NONAME + _ZN19QHttpResponseHeader13setStatusLineEiRK7QStringii @ 429 NONAME + _ZN19QHttpResponseHeader9parseLineERK7QStringi @ 430 NONAME + _ZN19QHttpResponseHeaderC1ERK7QString @ 431 NONAME + _ZN19QHttpResponseHeaderC1ERKS_ @ 432 NONAME + _ZN19QHttpResponseHeaderC1EiRK7QStringii @ 433 NONAME + _ZN19QHttpResponseHeaderC1Ev @ 434 NONAME + _ZN19QHttpResponseHeaderC2ERK7QString @ 435 NONAME + _ZN19QHttpResponseHeaderC2ERKS_ @ 436 NONAME + _ZN19QHttpResponseHeaderC2EiRK7QStringii @ 437 NONAME + _ZN19QHttpResponseHeaderC2Ev @ 438 NONAME + _ZN19QHttpResponseHeaderaSERKS_ @ 439 NONAME + _ZN20QNetworkAddressEntry10setNetmaskERK12QHostAddress @ 440 NONAME + _ZN20QNetworkAddressEntry12setBroadcastERK12QHostAddress @ 441 NONAME + _ZN20QNetworkAddressEntry15setPrefixLengthEi @ 442 NONAME + _ZN20QNetworkAddressEntry5setIpERK12QHostAddress @ 443 NONAME + _ZN20QNetworkAddressEntryC1ERKS_ @ 444 NONAME + _ZN20QNetworkAddressEntryC1Ev @ 445 NONAME + _ZN20QNetworkAddressEntryC2ERKS_ @ 446 NONAME + _ZN20QNetworkAddressEntryC2Ev @ 447 NONAME + _ZN20QNetworkAddressEntryD1Ev @ 448 NONAME + _ZN20QNetworkAddressEntryD2Ev @ 449 NONAME + _ZN20QNetworkAddressEntryaSERKS_ @ 450 NONAME + _ZN20QNetworkProxyFactory13proxyForQueryERK18QNetworkProxyQuery @ 451 NONAME + _ZN20QNetworkProxyFactory19systemProxyForQueryERK18QNetworkProxyQuery @ 452 NONAME + _ZN20QNetworkProxyFactory25setUseSystemConfigurationEb @ 453 NONAME + _ZN20QNetworkProxyFactory26setApplicationProxyFactoryEPS_ @ 454 NONAME + _ZN20QNetworkProxyFactoryC2Ev @ 455 NONAME + _ZN20QNetworkProxyFactoryD0Ev @ 456 NONAME + _ZN20QNetworkProxyFactoryD1Ev @ 457 NONAME + _ZN20QNetworkProxyFactoryD2Ev @ 458 NONAME + _ZN21QAbstractNetworkCache11qt_metacallEN11QMetaObject4CallEiPPv @ 459 NONAME + _ZN21QAbstractNetworkCache11qt_metacastEPKc @ 460 NONAME + _ZN21QAbstractNetworkCache16staticMetaObjectE @ 461 NONAME DATA 16 + _ZN21QAbstractNetworkCache19getStaticMetaObjectEv @ 462 NONAME + _ZN21QAbstractNetworkCacheC2EP7QObject @ 463 NONAME + _ZN21QAbstractNetworkCacheC2ER28QAbstractNetworkCachePrivateP7QObject @ 464 NONAME + _ZN21QAbstractNetworkCacheD0Ev @ 465 NONAME + _ZN21QAbstractNetworkCacheD1Ev @ 466 NONAME + _ZN21QAbstractNetworkCacheD2Ev @ 467 NONAME + _ZN21QNetworkAccessManager11qt_metacallEN11QMetaObject4CallEiPPv @ 468 NONAME + _ZN21QNetworkAccessManager11qt_metacastEPKc @ 469 NONAME + _ZN21QNetworkAccessManager12setCookieJarEP17QNetworkCookieJar @ 470 NONAME + _ZN21QNetworkAccessManager13createRequestENS_9OperationERK15QNetworkRequestP9QIODevice @ 471 NONAME + _ZN21QNetworkAccessManager14deleteResourceERK15QNetworkRequest @ 472 NONAME + _ZN21QNetworkAccessManager15setProxyFactoryEP20QNetworkProxyFactory @ 473 NONAME + _ZN21QNetworkAccessManager16staticMetaObjectE @ 474 NONAME DATA 16 + _ZN21QNetworkAccessManager19getStaticMetaObjectEv @ 475 NONAME + _ZN21QNetworkAccessManager22authenticationRequiredEP13QNetworkReplyP14QAuthenticator @ 476 NONAME + _ZN21QNetworkAccessManager27proxyAuthenticationRequiredERK13QNetworkProxyP14QAuthenticator @ 477 NONAME + _ZN21QNetworkAccessManager3getERK15QNetworkRequest @ 478 NONAME + _ZN21QNetworkAccessManager3putERK15QNetworkRequestP9QIODevice @ 479 NONAME + _ZN21QNetworkAccessManager3putERK15QNetworkRequestRK10QByteArray @ 480 NONAME + _ZN21QNetworkAccessManager4headERK15QNetworkRequest @ 481 NONAME + _ZN21QNetworkAccessManager4postERK15QNetworkRequestP9QIODevice @ 482 NONAME + _ZN21QNetworkAccessManager4postERK15QNetworkRequestRK10QByteArray @ 483 NONAME + _ZN21QNetworkAccessManager8finishedEP13QNetworkReply @ 484 NONAME + _ZN21QNetworkAccessManager8setCacheEP21QAbstractNetworkCache @ 485 NONAME + _ZN21QNetworkAccessManager8setProxyERK13QNetworkProxy @ 486 NONAME + _ZN21QNetworkAccessManager9sslErrorsEP13QNetworkReplyRK5QListI9QSslErrorE @ 487 NONAME + _ZN21QNetworkAccessManagerC1EP7QObject @ 488 NONAME + _ZN21QNetworkAccessManagerC2EP7QObject @ 489 NONAME + _ZN21QNetworkAccessManagerD0Ev @ 490 NONAME + _ZN21QNetworkAccessManagerD1Ev @ 491 NONAME + _ZN21QNetworkAccessManagerD2Ev @ 492 NONAME + _ZN21QNetworkCacheMetaData13setAttributesERK5QHashIN15QNetworkRequest9AttributeE8QVariantE @ 493 NONAME + _ZN21QNetworkCacheMetaData13setRawHeadersERK5QListI5QPairI10QByteArrayS2_EE @ 494 NONAME + _ZN21QNetworkCacheMetaData13setSaveToDiskEb @ 495 NONAME + _ZN21QNetworkCacheMetaData15setLastModifiedERK9QDateTime @ 496 NONAME + _ZN21QNetworkCacheMetaData17setExpirationDateERK9QDateTime @ 497 NONAME + _ZN21QNetworkCacheMetaData6setUrlERK4QUrl @ 498 NONAME + _ZN21QNetworkCacheMetaDataC1ERKS_ @ 499 NONAME + _ZN21QNetworkCacheMetaDataC1Ev @ 500 NONAME + _ZN21QNetworkCacheMetaDataC2ERKS_ @ 501 NONAME + _ZN21QNetworkCacheMetaDataC2Ev @ 502 NONAME + _ZN21QNetworkCacheMetaDataD1Ev @ 503 NONAME + _ZN21QNetworkCacheMetaDataD2Ev @ 504 NONAME + _ZN21QNetworkCacheMetaDataaSERKS_ @ 505 NONAME + _ZN4QFtp10rawCommandERK7QString @ 506 NONAME + _ZN4QFtp11qt_metacallEN11QMetaObject4CallEiPPv @ 507 NONAME + _ZN4QFtp11qt_metacastEPKc @ 508 NONAME + _ZN4QFtp12stateChangedEi @ 509 NONAME + _ZN4QFtp13connectToHostERK7QStringt @ 510 NONAME + _ZN4QFtp14commandStartedEi @ 511 NONAME + _ZN4QFtp15commandFinishedEib @ 512 NONAME + _ZN4QFtp15rawCommandReplyEiRK7QString @ 513 NONAME + _ZN4QFtp15setTransferModeENS_12TransferModeE @ 514 NONAME + _ZN4QFtp16staticMetaObjectE @ 515 NONAME DATA 16 + _ZN4QFtp19getStaticMetaObjectEv @ 516 NONAME + _ZN4QFtp20clearPendingCommandsEv @ 517 NONAME + _ZN4QFtp20dataTransferProgressExx @ 518 NONAME + _ZN4QFtp2cdERK7QString @ 519 NONAME + _ZN4QFtp3getERK7QStringP9QIODeviceNS_12TransferTypeE @ 520 NONAME + _ZN4QFtp3putEP9QIODeviceRK7QStringNS_12TransferTypeE @ 521 NONAME + _ZN4QFtp3putERK10QByteArrayRK7QStringNS_12TransferTypeE @ 522 NONAME + _ZN4QFtp4doneEb @ 523 NONAME + _ZN4QFtp4listERK7QString @ 524 NONAME + _ZN4QFtp4readEPcx @ 525 NONAME + _ZN4QFtp5abortEv @ 526 NONAME + _ZN4QFtp5closeEv @ 527 NONAME + _ZN4QFtp5loginERK7QStringS2_ @ 528 NONAME + _ZN4QFtp5mkdirERK7QString @ 529 NONAME + _ZN4QFtp5rmdirERK7QString @ 530 NONAME + _ZN4QFtp6removeERK7QString @ 531 NONAME + _ZN4QFtp6renameERK7QStringS2_ @ 532 NONAME + _ZN4QFtp7readAllEv @ 533 NONAME + _ZN4QFtp8listInfoERK8QUrlInfo @ 534 NONAME + _ZN4QFtp8setProxyERK7QStringt @ 535 NONAME + _ZN4QFtp9readyReadEv @ 536 NONAME + _ZN4QFtpC1EP7QObject @ 537 NONAME + _ZN4QFtpC2EP7QObject @ 538 NONAME + _ZN4QFtpD0Ev @ 539 NONAME + _ZN4QFtpD1Ev @ 540 NONAME + _ZN4QFtpD2Ev @ 541 NONAME + _ZN5QHttp11qt_metacallEN11QMetaObject4CallEiPPv @ 542 NONAME + _ZN5QHttp11qt_metacastEPKc @ 543 NONAME + _ZN5QHttp12stateChangedEi @ 544 NONAME + _ZN5QHttp14requestStartedEi @ 545 NONAME + _ZN5QHttp15closeConnectionEv @ 546 NONAME + _ZN5QHttp15ignoreSslErrorsEv @ 547 NONAME + _ZN5QHttp15requestFinishedEib @ 548 NONAME + _ZN5QHttp16dataReadProgressEii @ 549 NONAME + _ZN5QHttp16dataSendProgressEii @ 550 NONAME + _ZN5QHttp16staticMetaObjectE @ 551 NONAME DATA 16 + _ZN5QHttp19getStaticMetaObjectEv @ 552 NONAME + _ZN5QHttp20clearPendingRequestsEv @ 553 NONAME + _ZN5QHttp22authenticationRequiredERK7QStringtP14QAuthenticator @ 554 NONAME + _ZN5QHttp22responseHeaderReceivedERK19QHttpResponseHeader @ 555 NONAME + _ZN5QHttp27proxyAuthenticationRequiredERK13QNetworkProxyP14QAuthenticator @ 556 NONAME + _ZN5QHttp3getERK7QStringP9QIODevice @ 557 NONAME + _ZN5QHttp4doneEb @ 558 NONAME + _ZN5QHttp4headERK7QString @ 559 NONAME + _ZN5QHttp4postERK7QStringP9QIODeviceS4_ @ 560 NONAME + _ZN5QHttp4postERK7QStringRK10QByteArrayP9QIODevice @ 561 NONAME + _ZN5QHttp4readEPcx @ 562 NONAME + _ZN5QHttp5abortEv @ 563 NONAME + _ZN5QHttp5closeEv @ 564 NONAME + _ZN5QHttp7readAllEv @ 565 NONAME + _ZN5QHttp7requestERK18QHttpRequestHeaderP9QIODeviceS4_ @ 566 NONAME + _ZN5QHttp7requestERK18QHttpRequestHeaderRK10QByteArrayP9QIODevice @ 567 NONAME + _ZN5QHttp7setHostERK7QStringNS_14ConnectionModeEt @ 568 NONAME + _ZN5QHttp7setHostERK7QStringt @ 569 NONAME + _ZN5QHttp7setUserERK7QStringS2_ @ 570 NONAME + _ZN5QHttp8setProxyERK13QNetworkProxy @ 571 NONAME + _ZN5QHttp8setProxyERK7QStringiS2_S2_ @ 572 NONAME + _ZN5QHttp9readyReadERK19QHttpResponseHeader @ 573 NONAME + _ZN5QHttp9setSocketEP10QTcpSocket @ 574 NONAME + _ZN5QHttp9sslErrorsERK5QListI9QSslErrorE @ 575 NONAME + _ZN5QHttpC1EP7QObject @ 576 NONAME + _ZN5QHttpC1ERK7QStringNS_14ConnectionModeEtP7QObject @ 577 NONAME + _ZN5QHttpC1ERK7QStringtP7QObject @ 578 NONAME + _ZN5QHttpC2EP7QObject @ 579 NONAME + _ZN5QHttpC2ERK7QStringNS_14ConnectionModeEtP7QObject @ 580 NONAME + _ZN5QHttpC2ERK7QStringtP7QObject @ 581 NONAME + _ZN5QHttpD0Ev @ 582 NONAME + _ZN5QHttpD1Ev @ 583 NONAME + _ZN5QHttpD2Ev @ 584 NONAME + _ZN7QSslKey5clearEv @ 585 NONAME + _ZN7QSslKeyC1EP9QIODeviceN4QSsl12KeyAlgorithmENS2_14EncodingFormatENS2_7KeyTypeERK10QByteArray @ 586 NONAME + _ZN7QSslKeyC1ERK10QByteArrayN4QSsl12KeyAlgorithmENS3_14EncodingFormatENS3_7KeyTypeES2_ @ 587 NONAME + _ZN7QSslKeyC1ERKS_ @ 588 NONAME + _ZN7QSslKeyC1Ev @ 589 NONAME + _ZN7QSslKeyC2EP9QIODeviceN4QSsl12KeyAlgorithmENS2_14EncodingFormatENS2_7KeyTypeERK10QByteArray @ 590 NONAME + _ZN7QSslKeyC2ERK10QByteArrayN4QSsl12KeyAlgorithmENS3_14EncodingFormatENS3_7KeyTypeES2_ @ 591 NONAME + _ZN7QSslKeyC2ERKS_ @ 592 NONAME + _ZN7QSslKeyC2Ev @ 593 NONAME + _ZN7QSslKeyD1Ev @ 594 NONAME + _ZN7QSslKeyD2Ev @ 595 NONAME + _ZN7QSslKeyaSERKS_ @ 596 NONAME + _ZN8QUrlInfo10setSymLinkEb @ 597 NONAME + _ZN8QUrlInfo11greaterThanERKS_S1_i @ 598 NONAME + _ZN8QUrlInfo11setLastReadERK9QDateTime @ 599 NONAME + _ZN8QUrlInfo11setReadableEb @ 600 NONAME + _ZN8QUrlInfo11setWritableEb @ 601 NONAME + _ZN8QUrlInfo14setPermissionsEi @ 602 NONAME + _ZN8QUrlInfo15setLastModifiedERK9QDateTime @ 603 NONAME + _ZN8QUrlInfo5equalERKS_S1_i @ 604 NONAME + _ZN8QUrlInfo6setDirEb @ 605 NONAME + _ZN8QUrlInfo7setFileEb @ 606 NONAME + _ZN8QUrlInfo7setNameERK7QString @ 607 NONAME + _ZN8QUrlInfo7setSizeEx @ 608 NONAME + _ZN8QUrlInfo8lessThanERKS_S1_i @ 609 NONAME + _ZN8QUrlInfo8setGroupERK7QString @ 610 NONAME + _ZN8QUrlInfo8setOwnerERK7QString @ 611 NONAME + _ZN8QUrlInfoC1ERK4QUrliRK7QStringS5_xRK9QDateTimeS8_bbbbbb @ 612 NONAME + _ZN8QUrlInfoC1ERK7QStringiS2_S2_xRK9QDateTimeS5_bbbbbb @ 613 NONAME + _ZN8QUrlInfoC1ERKS_ @ 614 NONAME + _ZN8QUrlInfoC1Ev @ 615 NONAME + _ZN8QUrlInfoC2ERK4QUrliRK7QStringS5_xRK9QDateTimeS8_bbbbbb @ 616 NONAME + _ZN8QUrlInfoC2ERK7QStringiS2_S2_xRK9QDateTimeS5_bbbbbb @ 617 NONAME + _ZN8QUrlInfoC2ERKS_ @ 618 NONAME + _ZN8QUrlInfoC2Ev @ 619 NONAME + _ZN8QUrlInfoD0Ev @ 620 NONAME + _ZN8QUrlInfoD1Ev @ 621 NONAME + _ZN8QUrlInfoD2Ev @ 622 NONAME + _ZN8QUrlInfoaSERKS_ @ 623 NONAME + _ZN9QHostInfo10lookupHostERK7QStringP7QObjectPKc @ 624 NONAME + _ZN9QHostInfo11setHostNameERK7QString @ 625 NONAME + _ZN9QHostInfo11setLookupIdEi @ 626 NONAME + _ZN9QHostInfo12setAddressesERK5QListI12QHostAddressE @ 627 NONAME + _ZN9QHostInfo13localHostNameEv @ 628 NONAME + _ZN9QHostInfo14setErrorStringERK7QString @ 629 NONAME + _ZN9QHostInfo15abortHostLookupEi @ 630 NONAME + _ZN9QHostInfo15localDomainNameEv @ 631 NONAME + _ZN9QHostInfo8fromNameERK7QString @ 632 NONAME + _ZN9QHostInfo8setErrorENS_13HostInfoErrorE @ 633 NONAME + _ZN9QHostInfoC1ERKS_ @ 634 NONAME + _ZN9QHostInfoC1Ei @ 635 NONAME + _ZN9QHostInfoC2ERKS_ @ 636 NONAME + _ZN9QHostInfoC2Ei @ 637 NONAME + _ZN9QHostInfoD1Ev @ 638 NONAME + _ZN9QHostInfoD2Ev @ 639 NONAME + _ZN9QHostInfoaSERKS_ @ 640 NONAME + _ZN9QSslErrorC1ENS_8SslErrorE @ 641 NONAME + _ZN9QSslErrorC1ENS_8SslErrorERK15QSslCertificate @ 642 NONAME + _ZN9QSslErrorC1ERKS_ @ 643 NONAME + _ZN9QSslErrorC1Ev @ 644 NONAME + _ZN9QSslErrorC2ENS_8SslErrorE @ 645 NONAME + _ZN9QSslErrorC2ENS_8SslErrorERK15QSslCertificate @ 646 NONAME + _ZN9QSslErrorC2ERKS_ @ 647 NONAME + _ZN9QSslErrorC2Ev @ 648 NONAME + _ZN9QSslErrorD1Ev @ 649 NONAME + _ZN9QSslErrorD2Ev @ 650 NONAME + _ZN9QSslErroraSERKS_ @ 651 NONAME + _ZNK10QSslCipher13supportedBitsEv @ 652 NONAME + _ZNK10QSslCipher14protocolStringEv @ 653 NONAME + _ZNK10QSslCipher16encryptionMethodEv @ 654 NONAME + _ZNK10QSslCipher17keyExchangeMethodEv @ 655 NONAME + _ZNK10QSslCipher20authenticationMethodEv @ 656 NONAME + _ZNK10QSslCipher4nameEv @ 657 NONAME + _ZNK10QSslCipher6isNullEv @ 658 NONAME + _ZNK10QSslCipher8protocolEv @ 659 NONAME + _ZNK10QSslCipher8usedBitsEv @ 660 NONAME + _ZNK10QSslCiphereqERKS_ @ 661 NONAME + _ZNK10QSslSocket10metaObjectEv @ 662 NONAME + _ZNK10QSslSocket10privateKeyEv @ 663 NONAME + _ZNK10QSslSocket11canReadLineEv @ 664 NONAME + _ZNK10QSslSocket11isEncryptedEv @ 665 NONAME + _ZNK10QSslSocket12bytesToWriteEv @ 666 NONAME + _ZNK10QSslSocket13sessionCipherEv @ 667 NONAME + _ZNK10QSslSocket14bytesAvailableEv @ 668 NONAME + _ZNK10QSslSocket14caCertificatesEv @ 669 NONAME + _ZNK10QSslSocket14peerVerifyModeEv @ 670 NONAME + _ZNK10QSslSocket15peerCertificateEv @ 671 NONAME + _ZNK10QSslSocket15peerVerifyDepthEv @ 672 NONAME + _ZNK10QSslSocket16localCertificateEv @ 673 NONAME + _ZNK10QSslSocket16sslConfigurationEv @ 674 NONAME + _ZNK10QSslSocket20peerCertificateChainEv @ 675 NONAME + _ZNK10QSslSocket21encryptedBytesToWriteEv @ 676 NONAME + _ZNK10QSslSocket23encryptedBytesAvailableEv @ 677 NONAME + _ZNK10QSslSocket4modeEv @ 678 NONAME + _ZNK10QSslSocket5atEndEv @ 679 NONAME + _ZNK10QSslSocket7ciphersEv @ 680 NONAME + _ZNK10QSslSocket8protocolEv @ 681 NONAME + _ZNK10QSslSocket9sslErrorsEv @ 682 NONAME + _ZNK10QTcpServer10metaObjectEv @ 683 NONAME + _ZNK10QTcpServer10serverPortEv @ 684 NONAME + _ZNK10QTcpServer11errorStringEv @ 685 NONAME + _ZNK10QTcpServer11isListeningEv @ 686 NONAME + _ZNK10QTcpServer11serverErrorEv @ 687 NONAME + _ZNK10QTcpServer13serverAddressEv @ 688 NONAME + _ZNK10QTcpServer16socketDescriptorEv @ 689 NONAME + _ZNK10QTcpServer21hasPendingConnectionsEv @ 690 NONAME + _ZNK10QTcpServer21maxPendingConnectionsEv @ 691 NONAME + _ZNK10QTcpServer5proxyEv @ 692 NONAME + _ZNK10QTcpSocket10metaObjectEv @ 693 NONAME + _ZNK10QUdpSocket10metaObjectEv @ 694 NONAME + _ZNK10QUdpSocket19hasPendingDatagramsEv @ 695 NONAME + _ZNK10QUdpSocket19pendingDatagramSizeEv @ 696 NONAME + _ZNK11QHttpHeader11contentTypeEv @ 697 NONAME + _ZNK11QHttpHeader13contentLengthEv @ 698 NONAME + _ZNK11QHttpHeader14hasContentTypeEv @ 699 NONAME + _ZNK11QHttpHeader16hasContentLengthEv @ 700 NONAME + _ZNK11QHttpHeader4keysEv @ 701 NONAME + _ZNK11QHttpHeader5valueERK7QString @ 702 NONAME + _ZNK11QHttpHeader6hasKeyERK7QString @ 703 NONAME + _ZNK11QHttpHeader6valuesEv @ 704 NONAME + _ZNK11QHttpHeader7isValidEv @ 705 NONAME + _ZNK11QHttpHeader8toStringEv @ 706 NONAME + _ZNK11QHttpHeader9allValuesERK7QString @ 707 NONAME + _ZNK12QHostAddress10isInSubnetERK5QPairIS_iE @ 708 NONAME + _ZNK12QHostAddress10isInSubnetERKS_i @ 709 NONAME + _ZNK12QHostAddress13toIPv4AddressEv @ 710 NONAME + _ZNK12QHostAddress13toIPv6AddressEv @ 711 NONAME + _ZNK12QHostAddress6isNullEv @ 712 NONAME + _ZNK12QHostAddress7scopeIdEv @ 713 NONAME + _ZNK12QHostAddress8protocolEv @ 714 NONAME + _ZNK12QHostAddress8toStringEv @ 715 NONAME + _ZNK12QHostAddresseqENS_14SpecialAddressE @ 716 NONAME + _ZNK12QHostAddresseqERKS_ @ 717 NONAME + _ZNK12QLocalServer10metaObjectEv @ 718 NONAME + _ZNK12QLocalServer10serverNameEv @ 719 NONAME + _ZNK12QLocalServer11errorStringEv @ 720 NONAME + _ZNK12QLocalServer11isListeningEv @ 721 NONAME + _ZNK12QLocalServer11serverErrorEv @ 722 NONAME + _ZNK12QLocalServer14fullServerNameEv @ 723 NONAME + _ZNK12QLocalServer21hasPendingConnectionsEv @ 724 NONAME + _ZNK12QLocalServer21maxPendingConnectionsEv @ 725 NONAME + _ZNK12QLocalSocket10metaObjectEv @ 726 NONAME + _ZNK12QLocalSocket10serverNameEv @ 727 NONAME + _ZNK12QLocalSocket11canReadLineEv @ 728 NONAME + _ZNK12QLocalSocket12bytesToWriteEv @ 729 NONAME + _ZNK12QLocalSocket12isSequentialEv @ 730 NONAME + _ZNK12QLocalSocket14bytesAvailableEv @ 731 NONAME + _ZNK12QLocalSocket14fullServerNameEv @ 732 NONAME + _ZNK12QLocalSocket14readBufferSizeEv @ 733 NONAME + _ZNK12QLocalSocket16socketDescriptorEv @ 734 NONAME + _ZNK12QLocalSocket5errorEv @ 735 NONAME + _ZNK12QLocalSocket5stateEv @ 736 NONAME + _ZNK12QLocalSocket7isValidEv @ 737 NONAME + _ZNK13QNetworkProxy12capabilitiesEv @ 738 NONAME + _ZNK13QNetworkProxy14isCachingProxyEv @ 739 NONAME + _ZNK13QNetworkProxy18isTransparentProxyEv @ 740 NONAME + _ZNK13QNetworkProxy4portEv @ 741 NONAME + _ZNK13QNetworkProxy4typeEv @ 742 NONAME + _ZNK13QNetworkProxy4userEv @ 743 NONAME + _ZNK13QNetworkProxy8hostNameEv @ 744 NONAME + _ZNK13QNetworkProxy8passwordEv @ 745 NONAME + _ZNK13QNetworkProxyeqERKS_ @ 746 NONAME + _ZNK13QNetworkReply10isFinishedEv @ 747 NONAME + _ZNK13QNetworkReply10metaObjectEv @ 748 NONAME + _ZNK13QNetworkReply12hasRawHeaderERK10QByteArray @ 749 NONAME + _ZNK13QNetworkReply12isSequentialEv @ 750 NONAME + _ZNK13QNetworkReply13rawHeaderListEv @ 751 NONAME + _ZNK13QNetworkReply14readBufferSizeEv @ 752 NONAME + _ZNK13QNetworkReply16sslConfigurationEv @ 753 NONAME + _ZNK13QNetworkReply3urlEv @ 754 NONAME + _ZNK13QNetworkReply5errorEv @ 755 NONAME + _ZNK13QNetworkReply6headerEN15QNetworkRequest12KnownHeadersE @ 756 NONAME + _ZNK13QNetworkReply7managerEv @ 757 NONAME + _ZNK13QNetworkReply7requestEv @ 758 NONAME + _ZNK13QNetworkReply9attributeEN15QNetworkRequest9AttributeE @ 759 NONAME + _ZNK13QNetworkReply9isRunningEv @ 760 NONAME + _ZNK13QNetworkReply9operationEv @ 761 NONAME + _ZNK13QNetworkReply9rawHeaderERK10QByteArray @ 762 NONAME + _ZNK14QAuthenticator4userEv @ 763 NONAME + _ZNK14QAuthenticator5realmEv @ 764 NONAME + _ZNK14QAuthenticator6isNullEv @ 765 NONAME + _ZNK14QAuthenticator8passwordEv @ 766 NONAME + _ZNK14QAuthenticatoreqERKS_ @ 767 NONAME + _ZNK14QNetworkCookie10isHttpOnlyEv @ 768 NONAME + _ZNK14QNetworkCookie14expirationDateEv @ 769 NONAME + _ZNK14QNetworkCookie15isSessionCookieEv @ 770 NONAME + _ZNK14QNetworkCookie4nameEv @ 771 NONAME + _ZNK14QNetworkCookie4pathEv @ 772 NONAME + _ZNK14QNetworkCookie5valueEv @ 773 NONAME + _ZNK14QNetworkCookie6domainEv @ 774 NONAME + _ZNK14QNetworkCookie8isSecureEv @ 775 NONAME + _ZNK14QNetworkCookie9toRawFormENS_7RawFormE @ 776 NONAME + _ZNK14QNetworkCookieeqERKS_ @ 777 NONAME + _ZNK15QAbstractSocket10metaObjectEv @ 778 NONAME + _ZNK15QAbstractSocket10socketTypeEv @ 779 NONAME + _ZNK15QAbstractSocket11canReadLineEv @ 780 NONAME + _ZNK15QAbstractSocket11peerAddressEv @ 781 NONAME + _ZNK15QAbstractSocket12bytesToWriteEv @ 782 NONAME + _ZNK15QAbstractSocket12isSequentialEv @ 783 NONAME + _ZNK15QAbstractSocket12localAddressEv @ 784 NONAME + _ZNK15QAbstractSocket14bytesAvailableEv @ 785 NONAME + _ZNK15QAbstractSocket14readBufferSizeEv @ 786 NONAME + _ZNK15QAbstractSocket16socketDescriptorEv @ 787 NONAME + _ZNK15QAbstractSocket5atEndEv @ 788 NONAME + _ZNK15QAbstractSocket5errorEv @ 789 NONAME + _ZNK15QAbstractSocket5proxyEv @ 790 NONAME + _ZNK15QAbstractSocket5stateEv @ 791 NONAME + _ZNK15QAbstractSocket7isValidEv @ 792 NONAME + _ZNK15QAbstractSocket8peerNameEv @ 793 NONAME + _ZNK15QAbstractSocket8peerPortEv @ 794 NONAME + _ZNK15QAbstractSocket9localPortEv @ 795 NONAME + _ZNK15QNetworkRequest12hasRawHeaderERK10QByteArray @ 796 NONAME + _ZNK15QNetworkRequest13rawHeaderListEv @ 797 NONAME + _ZNK15QNetworkRequest16sslConfigurationEv @ 798 NONAME + _ZNK15QNetworkRequest3urlEv @ 799 NONAME + _ZNK15QNetworkRequest6headerENS_12KnownHeadersE @ 800 NONAME + _ZNK15QNetworkRequest9attributeENS_9AttributeERK8QVariant @ 801 NONAME + _ZNK15QNetworkRequest9rawHeaderERK10QByteArray @ 802 NONAME + _ZNK15QNetworkRequesteqERKS_ @ 803 NONAME + _ZNK15QSslCertificate10expiryDateEv @ 804 NONAME + _ZNK15QSslCertificate10issuerInfoENS_11SubjectInfoE @ 805 NONAME + _ZNK15QSslCertificate10issuerInfoERK10QByteArray @ 806 NONAME + _ZNK15QSslCertificate11subjectInfoENS_11SubjectInfoE @ 807 NONAME + _ZNK15QSslCertificate11subjectInfoERK10QByteArray @ 808 NONAME + _ZNK15QSslCertificate12serialNumberEv @ 809 NONAME + _ZNK15QSslCertificate13effectiveDateEv @ 810 NONAME + _ZNK15QSslCertificate21alternateSubjectNamesEv @ 811 NONAME + _ZNK15QSslCertificate5toDerEv @ 812 NONAME + _ZNK15QSslCertificate5toPemEv @ 813 NONAME + _ZNK15QSslCertificate6digestEN18QCryptographicHash9AlgorithmE @ 814 NONAME + _ZNK15QSslCertificate6handleEv @ 815 NONAME + _ZNK15QSslCertificate6isNullEv @ 816 NONAME + _ZNK15QSslCertificate7isValidEv @ 817 NONAME + _ZNK15QSslCertificate7versionEv @ 818 NONAME + _ZNK15QSslCertificate9publicKeyEv @ 819 NONAME + _ZNK15QSslCertificateeqERKS_ @ 820 NONAME + _ZNK17QNetworkCookieJar10allCookiesEv @ 821 NONAME + _ZNK17QNetworkCookieJar10metaObjectEv @ 822 NONAME + _ZNK17QNetworkCookieJar13cookiesForUrlERK4QUrl @ 823 NONAME + _ZNK17QNetworkDiskCache10metaObjectEv @ 824 NONAME + _ZNK17QNetworkDiskCache12fileMetaDataERK7QString @ 825 NONAME + _ZNK17QNetworkDiskCache14cacheDirectoryEv @ 826 NONAME + _ZNK17QNetworkDiskCache16maximumCacheSizeEv @ 827 NONAME + _ZNK17QNetworkDiskCache9cacheSizeEv @ 828 NONAME + _ZNK17QNetworkInterface14addressEntriesEv @ 829 NONAME + _ZNK17QNetworkInterface15hardwareAddressEv @ 830 NONAME + _ZNK17QNetworkInterface17humanReadableNameEv @ 831 NONAME + _ZNK17QNetworkInterface4nameEv @ 832 NONAME + _ZNK17QNetworkInterface5flagsEv @ 833 NONAME + _ZNK17QNetworkInterface5indexEv @ 834 NONAME + _ZNK17QNetworkInterface7isValidEv @ 835 NONAME + _ZNK17QSslConfiguration10privateKeyEv @ 836 NONAME + _ZNK17QSslConfiguration13sessionCipherEv @ 837 NONAME + _ZNK17QSslConfiguration14caCertificatesEv @ 838 NONAME + _ZNK17QSslConfiguration14peerVerifyModeEv @ 839 NONAME + _ZNK17QSslConfiguration15peerCertificateEv @ 840 NONAME + _ZNK17QSslConfiguration15peerVerifyDepthEv @ 841 NONAME + _ZNK17QSslConfiguration16localCertificateEv @ 842 NONAME + _ZNK17QSslConfiguration20peerCertificateChainEv @ 843 NONAME + _ZNK17QSslConfiguration6isNullEv @ 844 NONAME + _ZNK17QSslConfiguration7ciphersEv @ 845 NONAME + _ZNK17QSslConfiguration8protocolEv @ 846 NONAME + _ZNK17QSslConfigurationeqERKS_ @ 847 NONAME + _ZNK18QHttpRequestHeader12majorVersionEv @ 848 NONAME + _ZNK18QHttpRequestHeader12minorVersionEv @ 849 NONAME + _ZNK18QHttpRequestHeader4pathEv @ 850 NONAME + _ZNK18QHttpRequestHeader6methodEv @ 851 NONAME + _ZNK18QHttpRequestHeader8toStringEv @ 852 NONAME + _ZNK18QNetworkProxyQuery11protocolTagEv @ 853 NONAME + _ZNK18QNetworkProxyQuery12peerHostNameEv @ 854 NONAME + _ZNK18QNetworkProxyQuery3urlEv @ 855 NONAME + _ZNK18QNetworkProxyQuery8peerPortEv @ 856 NONAME + _ZNK18QNetworkProxyQuery9localPortEv @ 857 NONAME + _ZNK18QNetworkProxyQuery9queryTypeEv @ 858 NONAME + _ZNK18QNetworkProxyQueryeqERKS_ @ 859 NONAME + _ZNK19QHttpResponseHeader10statusCodeEv @ 860 NONAME + _ZNK19QHttpResponseHeader12majorVersionEv @ 861 NONAME + _ZNK19QHttpResponseHeader12minorVersionEv @ 862 NONAME + _ZNK19QHttpResponseHeader12reasonPhraseEv @ 863 NONAME + _ZNK19QHttpResponseHeader8toStringEv @ 864 NONAME + _ZNK20QNetworkAddressEntry12prefixLengthEv @ 865 NONAME + _ZNK20QNetworkAddressEntry2ipEv @ 866 NONAME + _ZNK20QNetworkAddressEntry7netmaskEv @ 867 NONAME + _ZNK20QNetworkAddressEntry9broadcastEv @ 868 NONAME + _ZNK20QNetworkAddressEntryeqERKS_ @ 869 NONAME + _ZNK21QAbstractNetworkCache10metaObjectEv @ 870 NONAME + _ZNK21QNetworkAccessManager10metaObjectEv @ 871 NONAME + _ZNK21QNetworkAccessManager12proxyFactoryEv @ 872 NONAME + _ZNK21QNetworkAccessManager5cacheEv @ 873 NONAME + _ZNK21QNetworkAccessManager5proxyEv @ 874 NONAME + _ZNK21QNetworkAccessManager9cookieJarEv @ 875 NONAME + _ZNK21QNetworkCacheMetaData10attributesEv @ 876 NONAME + _ZNK21QNetworkCacheMetaData10rawHeadersEv @ 877 NONAME + _ZNK21QNetworkCacheMetaData10saveToDiskEv @ 878 NONAME + _ZNK21QNetworkCacheMetaData12lastModifiedEv @ 879 NONAME + _ZNK21QNetworkCacheMetaData14expirationDateEv @ 880 NONAME + _ZNK21QNetworkCacheMetaData3urlEv @ 881 NONAME + _ZNK21QNetworkCacheMetaData7isValidEv @ 882 NONAME + _ZNK21QNetworkCacheMetaDataeqERKS_ @ 883 NONAME + _ZNK4QFtp10metaObjectEv @ 884 NONAME + _ZNK4QFtp11errorStringEv @ 885 NONAME + _ZNK4QFtp13currentDeviceEv @ 886 NONAME + _ZNK4QFtp14bytesAvailableEv @ 887 NONAME + _ZNK4QFtp14currentCommandEv @ 888 NONAME + _ZNK4QFtp18hasPendingCommandsEv @ 889 NONAME + _ZNK4QFtp5errorEv @ 890 NONAME + _ZNK4QFtp5stateEv @ 891 NONAME + _ZNK4QFtp9currentIdEv @ 892 NONAME + _ZNK5QHttp10metaObjectEv @ 893 NONAME + _ZNK5QHttp11errorStringEv @ 894 NONAME + _ZNK5QHttp12lastResponseEv @ 895 NONAME + _ZNK5QHttp14bytesAvailableEv @ 896 NONAME + _ZNK5QHttp14currentRequestEv @ 897 NONAME + _ZNK5QHttp18hasPendingRequestsEv @ 898 NONAME + _ZNK5QHttp19currentSourceDeviceEv @ 899 NONAME + _ZNK5QHttp24currentDestinationDeviceEv @ 900 NONAME + _ZNK5QHttp5errorEv @ 901 NONAME + _ZNK5QHttp5stateEv @ 902 NONAME + _ZNK5QHttp9currentIdEv @ 903 NONAME + _ZNK7QSslKey4typeEv @ 904 NONAME + _ZNK7QSslKey5toDerERK10QByteArray @ 905 NONAME + _ZNK7QSslKey5toPemERK10QByteArray @ 906 NONAME + _ZNK7QSslKey6handleEv @ 907 NONAME + _ZNK7QSslKey6isNullEv @ 908 NONAME + _ZNK7QSslKey6lengthEv @ 909 NONAME + _ZNK7QSslKey9algorithmEv @ 910 NONAME + _ZNK7QSslKeyeqERKS_ @ 911 NONAME + _ZNK8QUrlInfo10isReadableEv @ 912 NONAME + _ZNK8QUrlInfo10isWritableEv @ 913 NONAME + _ZNK8QUrlInfo11permissionsEv @ 914 NONAME + _ZNK8QUrlInfo12isExecutableEv @ 915 NONAME + _ZNK8QUrlInfo12lastModifiedEv @ 916 NONAME + _ZNK8QUrlInfo4nameEv @ 917 NONAME + _ZNK8QUrlInfo4sizeEv @ 918 NONAME + _ZNK8QUrlInfo5groupEv @ 919 NONAME + _ZNK8QUrlInfo5isDirEv @ 920 NONAME + _ZNK8QUrlInfo5ownerEv @ 921 NONAME + _ZNK8QUrlInfo6isFileEv @ 922 NONAME + _ZNK8QUrlInfo7isValidEv @ 923 NONAME + _ZNK8QUrlInfo8lastReadEv @ 924 NONAME + _ZNK8QUrlInfo9isSymLinkEv @ 925 NONAME + _ZNK8QUrlInfoeqERKS_ @ 926 NONAME + _ZNK9QHostInfo11errorStringEv @ 927 NONAME + _ZNK9QHostInfo5errorEv @ 928 NONAME + _ZNK9QHostInfo8hostNameEv @ 929 NONAME + _ZNK9QHostInfo8lookupIdEv @ 930 NONAME + _ZNK9QHostInfo9addressesEv @ 931 NONAME + _ZNK9QSslError11certificateEv @ 932 NONAME + _ZNK9QSslError11errorStringEv @ 933 NONAME + _ZNK9QSslError5errorEv @ 934 NONAME + _ZNK9QSslErroreqERKS_ @ 935 NONAME + _ZTI10QSslSocket @ 936 NONAME + _ZTI10QTcpServer @ 937 NONAME + _ZTI10QTcpSocket @ 938 NONAME + _ZTI10QUdpSocket @ 939 NONAME + _ZTI11QHttpHeader @ 940 NONAME + _ZTI12QLocalServer @ 941 NONAME + _ZTI12QLocalSocket @ 942 NONAME + _ZTI13QNetworkReply @ 943 NONAME + _ZTI15QAbstractSocket @ 944 NONAME + _ZTI17QNetworkCookieJar @ 945 NONAME + _ZTI17QNetworkDiskCache @ 946 NONAME + _ZTI18QHttpRequestHeader @ 947 NONAME + _ZTI19QHttpResponseHeader @ 948 NONAME + _ZTI20QNetworkProxyFactory @ 949 NONAME + _ZTI21QAbstractNetworkCache @ 950 NONAME + _ZTI21QNetworkAccessManager @ 951 NONAME + _ZTI4QFtp @ 952 NONAME + _ZTI5QHttp @ 953 NONAME + _ZTI8QUrlInfo @ 954 NONAME + _ZTV10QSslSocket @ 955 NONAME + _ZTV10QTcpServer @ 956 NONAME + _ZTV10QTcpSocket @ 957 NONAME + _ZTV10QUdpSocket @ 958 NONAME + _ZTV11QHttpHeader @ 959 NONAME + _ZTV12QLocalServer @ 960 NONAME + _ZTV12QLocalSocket @ 961 NONAME + _ZTV13QNetworkReply @ 962 NONAME + _ZTV15QAbstractSocket @ 963 NONAME + _ZTV17QNetworkCookieJar @ 964 NONAME + _ZTV17QNetworkDiskCache @ 965 NONAME + _ZTV18QHttpRequestHeader @ 966 NONAME + _ZTV19QHttpResponseHeader @ 967 NONAME + _ZTV20QNetworkProxyFactory @ 968 NONAME + _ZTV21QAbstractNetworkCache @ 969 NONAME + _ZTV21QNetworkAccessManager @ 970 NONAME + _ZTV4QFtp @ 971 NONAME + _ZTV5QHttp @ 972 NONAME + _ZTV8QUrlInfo @ 973 NONAME + _Zls6QDebugN12QLocalSocket16LocalSocketErrorE @ 974 NONAME + _Zls6QDebugN12QLocalSocket16LocalSocketStateE @ 975 NONAME + _Zls6QDebugN15QAbstractSocket11SocketErrorE @ 976 NONAME + _Zls6QDebugN15QAbstractSocket11SocketStateE @ 977 NONAME + _Zls6QDebugN15QSslCertificate11SubjectInfoE @ 978 NONAME + _Zls6QDebugRK10QSslCipher @ 979 NONAME + _Zls6QDebugRK12QHostAddress @ 980 NONAME + _Zls6QDebugRK14QNetworkCookie @ 981 NONAME + _Zls6QDebugRK15QSslCertificate @ 982 NONAME + _Zls6QDebugRK17QNetworkInterface @ 983 NONAME + _Zls6QDebugRK7QSslKey @ 984 NONAME + _Zls6QDebugRK9QSslError @ 985 NONAME + _Zls6QDebugRKN9QSslError8SslErrorE @ 986 NONAME + _ZlsR11QDataStreamRK12QHostAddress @ 987 NONAME + _ZlsR11QDataStreamRK21QNetworkCacheMetaData @ 988 NONAME + _ZrsR11QDataStreamR12QHostAddress @ 989 NONAME + _ZrsR11QDataStreamR21QNetworkCacheMetaData @ 990 NONAME diff --git a/src/s60installs/eabi/QtScriptu.def b/src/s60installs/eabi/QtScriptu.def index 1205c04..d0a3e3e 100644 --- a/src/s60installs/eabi/QtScriptu.def +++ b/src/s60installs/eabi/QtScriptu.def @@ -1,43 +1,43 @@ EXPORTS _Z14qScriptConnectP7QObjectPKcRK12QScriptValueS5_ @ 1 NONAME - _Z14qt_scriptToXmlRK7QStringi @ 2 NONAME ABSENT - _Z17qScriptDisconnectP7QObjectPKcRK12QScriptValueS5_ @ 3 NONAME - _ZN11QScriptableC1Ev @ 4 NONAME - _ZN11QScriptableC2Ev @ 5 NONAME - _ZN11QScriptableD1Ev @ 6 NONAME - _ZN11QScriptableD2Ev @ 7 NONAME - _ZN12QScriptClass11newIteratorERK12QScriptValue @ 8 NONAME - _ZN12QScriptClass11setPropertyER12QScriptValueRK13QScriptStringjRKS0_ @ 9 NONAME - _ZN12QScriptClass13propertyFlagsERK12QScriptValueRK13QScriptStringj @ 10 NONAME - _ZN12QScriptClass13queryPropertyERK12QScriptValueRK13QScriptString6QFlagsINS_9QueryFlagEEPj @ 11 NONAME - _ZN12QScriptClass8propertyERK12QScriptValueRK13QScriptStringj @ 12 NONAME - _ZN12QScriptClass9extensionENS_9ExtensionERK8QVariant @ 13 NONAME - _ZN12QScriptClassC1EP13QScriptEngine @ 14 NONAME - _ZN12QScriptClassC1EP13QScriptEngineR19QScriptClassPrivate @ 15 NONAME - _ZN12QScriptClassC2EP13QScriptEngine @ 16 NONAME - _ZN12QScriptClassC2EP13QScriptEngineR19QScriptClassPrivate @ 17 NONAME - _ZN12QScriptClassD0Ev @ 18 NONAME - _ZN12QScriptClassD1Ev @ 19 NONAME - _ZN12QScriptClassD2Ev @ 20 NONAME - _ZN12QScriptValue11setPropertyERK13QScriptStringRKS_RK6QFlagsINS_12PropertyFlagEE @ 21 NONAME - _ZN12QScriptValue11setPropertyERK7QStringRKS_RK6QFlagsINS_12PropertyFlagEE @ 22 NONAME - _ZN12QScriptValue11setPropertyEjRKS_RK6QFlagsINS_12PropertyFlagEE @ 23 NONAME - _ZN12QScriptValue12setPrototypeERKS_ @ 24 NONAME - _ZN12QScriptValue14setScriptClassEP12QScriptClass @ 25 NONAME - _ZN12QScriptValue4callERKS_RK5QListIS_E @ 26 NONAME - _ZN12QScriptValue4callERKS_S1_ @ 27 NONAME - _ZN12QScriptValue7setDataERKS_ @ 28 NONAME - _ZN12QScriptValue8setScopeERKS_ @ 29 NONAME - _ZN12QScriptValue9constructERK5QListIS_E @ 30 NONAME - _ZN12QScriptValue9constructERKS_ @ 31 NONAME - _ZN12QScriptValueC1ENS_12SpecialValueE @ 32 NONAME - _ZN12QScriptValueC1EP13QScriptEngineNS_12SpecialValueE @ 33 NONAME - _ZN12QScriptValueC1EP13QScriptEnginePKc @ 34 NONAME - _ZN12QScriptValueC1EP13QScriptEngineRK7QString @ 35 NONAME - _ZN12QScriptValueC1EP13QScriptEngineb @ 36 NONAME - _ZN12QScriptValueC1EP13QScriptEngined @ 37 NONAME - _ZN12QScriptValueC1EP13QScriptEnginei @ 38 NONAME - _ZN12QScriptValueC1EP13QScriptEnginej @ 39 NONAME + _Z17qScriptDisconnectP7QObjectPKcRK12QScriptValueS5_ @ 2 NONAME + _ZN11QScriptableC1Ev @ 3 NONAME + _ZN11QScriptableC2Ev @ 4 NONAME + _ZN11QScriptableD1Ev @ 5 NONAME + _ZN11QScriptableD2Ev @ 6 NONAME + _ZN12QScriptClass11newIteratorERK12QScriptValue @ 7 NONAME + _ZN12QScriptClass11setPropertyER12QScriptValueRK13QScriptStringjRKS0_ @ 8 NONAME + _ZN12QScriptClass13propertyFlagsERK12QScriptValueRK13QScriptStringj @ 9 NONAME + _ZN12QScriptClass13queryPropertyERK12QScriptValueRK13QScriptString6QFlagsINS_9QueryFlagEEPj @ 10 NONAME + _ZN12QScriptClass8propertyERK12QScriptValueRK13QScriptStringj @ 11 NONAME + _ZN12QScriptClass9extensionENS_9ExtensionERK8QVariant @ 12 NONAME + _ZN12QScriptClassC1EP13QScriptEngine @ 13 NONAME + _ZN12QScriptClassC1EP13QScriptEngineR19QScriptClassPrivate @ 14 NONAME + _ZN12QScriptClassC2EP13QScriptEngine @ 15 NONAME + _ZN12QScriptClassC2EP13QScriptEngineR19QScriptClassPrivate @ 16 NONAME + _ZN12QScriptClassD0Ev @ 17 NONAME + _ZN12QScriptClassD1Ev @ 18 NONAME + _ZN12QScriptClassD2Ev @ 19 NONAME + _ZN12QScriptValue11setPropertyERK13QScriptStringRKS_RK6QFlagsINS_12PropertyFlagEE @ 20 NONAME + _ZN12QScriptValue11setPropertyERK7QStringRKS_RK6QFlagsINS_12PropertyFlagEE @ 21 NONAME + _ZN12QScriptValue11setPropertyEjRKS_RK6QFlagsINS_12PropertyFlagEE @ 22 NONAME + _ZN12QScriptValue12setPrototypeERKS_ @ 23 NONAME + _ZN12QScriptValue14setScriptClassEP12QScriptClass @ 24 NONAME + _ZN12QScriptValue4callERKS_RK5QListIS_E @ 25 NONAME + _ZN12QScriptValue4callERKS_S1_ @ 26 NONAME + _ZN12QScriptValue7setDataERKS_ @ 27 NONAME + _ZN12QScriptValue8setScopeERKS_ @ 28 NONAME + _ZN12QScriptValue9constructERK5QListIS_E @ 29 NONAME + _ZN12QScriptValue9constructERKS_ @ 30 NONAME + _ZN12QScriptValueC1ENS_12SpecialValueE @ 31 NONAME + _ZN12QScriptValueC1EP13QScriptEngineNS_12SpecialValueE @ 32 NONAME + _ZN12QScriptValueC1EP13QScriptEnginePKc @ 33 NONAME + _ZN12QScriptValueC1EP13QScriptEngineRK7QString @ 34 NONAME + _ZN12QScriptValueC1EP13QScriptEngineb @ 35 NONAME + _ZN12QScriptValueC1EP13QScriptEngined @ 36 NONAME + _ZN12QScriptValueC1EP13QScriptEnginei @ 37 NONAME + _ZN12QScriptValueC1EP13QScriptEnginej @ 38 NONAME + _ZN12QScriptValueC1EP19QScriptValuePrivate @ 39 NONAME _ZN12QScriptValueC1EPKc @ 40 NONAME _ZN12QScriptValueC1ERK13QLatin1String @ 41 NONAME _ZN12QScriptValueC1ERK7QString @ 42 NONAME @@ -55,550 +55,290 @@ EXPORTS _ZN12QScriptValueC2EP13QScriptEngined @ 54 NONAME _ZN12QScriptValueC2EP13QScriptEnginei @ 55 NONAME _ZN12QScriptValueC2EP13QScriptEnginej @ 56 NONAME - _ZN12QScriptValueC2EPKc @ 57 NONAME - _ZN12QScriptValueC2ERK13QLatin1String @ 58 NONAME - _ZN12QScriptValueC2ERK7QString @ 59 NONAME - _ZN12QScriptValueC2ERKS_ @ 60 NONAME - _ZN12QScriptValueC2Eb @ 61 NONAME - _ZN12QScriptValueC2Ed @ 62 NONAME - _ZN12QScriptValueC2Ei @ 63 NONAME - _ZN12QScriptValueC2Ej @ 64 NONAME - _ZN12QScriptValueC2Ev @ 65 NONAME - _ZN12QScriptValueD1Ev @ 66 NONAME - _ZN12QScriptValueD2Ev @ 67 NONAME - _ZN12QScriptValueaSERKS_ @ 68 NONAME - _ZN13QScriptEngine10newQObjectEP7QObjectNS_14ValueOwnershipERK6QFlagsINS_17QObjectWrapOptionEE @ 69 NONAME - _ZN13QScriptEngine10newQObjectERK12QScriptValueP7QObjectNS_14ValueOwnershipERK6QFlagsINS_17QObjectWrapOptionEE @ 70 NONAME - _ZN13QScriptEngine10newVariantERK12QScriptValueRK8QVariant @ 71 NONAME - _ZN13QScriptEngine10newVariantERK8QVariant @ 72 NONAME - _ZN13QScriptEngine10popContextEv @ 73 NONAME - _ZN13QScriptEngine11checkSyntaxERK7QString @ 74 NONAME - _ZN13QScriptEngine11newFunctionEPF12QScriptValueP14QScriptContextPS_ERKS0_i @ 75 NONAME - _ZN13QScriptEngine11newFunctionEPF12QScriptValueP14QScriptContextPS_Ei @ 76 NONAME - _ZN13QScriptEngine11newFunctionEPF12QScriptValueP14QScriptContextPS_PvES4_ @ 77 NONAME - _ZN13QScriptEngine11pushContextEv @ 78 NONAME - _ZN13QScriptEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 79 NONAME - _ZN13QScriptEngine11qt_metacastEPKc @ 80 NONAME - _ZN13QScriptEngine14collectGarbageEv @ 81 NONAME - _ZN13QScriptEngine14newQMetaObjectEPK11QMetaObjectRK12QScriptValue @ 82 NONAME - _ZN13QScriptEngine14toStringHandleERK7QString @ 83 NONAME - _ZN13QScriptEngine14undefinedValueEv @ 84 NONAME - _ZN13QScriptEngine15abortEvaluationERK12QScriptValue @ 85 NONAME - _ZN13QScriptEngine15clearExceptionsEv @ 86 NONAME - _ZN13QScriptEngine15importExtensionERK7QString @ 87 NONAME - _ZN13QScriptEngine15setGlobalObjectERK12QScriptValue @ 88 NONAME - _ZN13QScriptEngine16staticMetaObjectE @ 89 NONAME DATA 16 - _ZN13QScriptEngine18registerCustomTypeEiPF12QScriptValuePS_PKvEPFvRKS0_PvES7_ @ 90 NONAME - _ZN13QScriptEngine19newActivationObjectEv @ 91 NONAME - _ZN13QScriptEngine19setDefaultPrototypeEiRK12QScriptValue @ 92 NONAME - _ZN13QScriptEngine22signalHandlerExceptionERK12QScriptValue @ 93 NONAME - _ZN13QScriptEngine24setProcessEventsIntervalEi @ 94 NONAME - _ZN13QScriptEngine26installTranslatorFunctionsERK12QScriptValue @ 95 NONAME - _ZN13QScriptEngine6createEiPKv @ 96 NONAME - _ZN13QScriptEngine7convertERK12QScriptValueiPv @ 97 NONAME - _ZN13QScriptEngine7newDateERK9QDateTime @ 98 NONAME - _ZN13QScriptEngine7newDateEd @ 99 NONAME - _ZN13QScriptEngine8evaluateERK7QStringS2_i @ 100 NONAME - _ZN13QScriptEngine8newArrayEj @ 101 NONAME - _ZN13QScriptEngine8setAgentEP18QScriptEngineAgent @ 102 NONAME - _ZN13QScriptEngine8toObjectERK12QScriptValue @ 103 NONAME - _ZN13QScriptEngine9convertV2ERK12QScriptValueiPv @ 104 NONAME - _ZN13QScriptEngine9newObjectEP12QScriptClassRK12QScriptValue @ 105 NONAME - _ZN13QScriptEngine9newObjectEv @ 106 NONAME - _ZN13QScriptEngine9newRegExpERK7QRegExp @ 107 NONAME - _ZN13QScriptEngine9newRegExpERK7QStringS2_ @ 108 NONAME - _ZN13QScriptEngine9nullValueEv @ 109 NONAME - _ZN13QScriptEngineC1EP7QObject @ 110 NONAME - _ZN13QScriptEngineC1ER20QScriptEnginePrivateP7QObject @ 111 NONAME - _ZN13QScriptEngineC1Ev @ 112 NONAME - _ZN13QScriptEngineC2EP7QObject @ 113 NONAME - _ZN13QScriptEngineC2ER20QScriptEnginePrivateP7QObject @ 114 NONAME - _ZN13QScriptEngineC2Ev @ 115 NONAME - _ZN13QScriptEngineD0Ev @ 116 NONAME - _ZN13QScriptEngineD1Ev @ 117 NONAME - _ZN13QScriptEngineD2Ev @ 118 NONAME - _ZN13QScriptStringC1ERKS_ @ 119 NONAME - _ZN13QScriptStringC1Ev @ 120 NONAME - _ZN13QScriptStringC2ERKS_ @ 121 NONAME - _ZN13QScriptStringC2Ev @ 122 NONAME - _ZN13QScriptStringD1Ev @ 123 NONAME - _ZN13QScriptStringD2Ev @ 124 NONAME - _ZN13QScriptStringaSERKS_ @ 125 NONAME - _ZN14QScriptContext10throwErrorENS_5ErrorERK7QString @ 126 NONAME - _ZN14QScriptContext10throwErrorERK7QString @ 127 NONAME - _ZN14QScriptContext10throwValueERK12QScriptValue @ 128 NONAME - _ZN14QScriptContext13setThisObjectERK12QScriptValue @ 129 NONAME - _ZN14QScriptContext14setReturnValueERK12QScriptValue @ 130 NONAME - _ZN14QScriptContext19setActivationObjectERK12QScriptValue @ 131 NONAME - _ZN14QScriptContext8popScopeEv @ 132 NONAME - _ZN14QScriptContext9pushScopeERK12QScriptValue @ 133 NONAME - _ZN14QScriptContextC1Ev @ 134 NONAME - _ZN14QScriptContextC2Ev @ 135 NONAME - _ZN14QScriptContextD1Ev @ 136 NONAME - _ZN14QScriptContextD2Ev @ 137 NONAME - _ZN18QScriptContextInfoC1EPK14QScriptContext @ 138 NONAME - _ZN18QScriptContextInfoC1ERKS_ @ 139 NONAME - _ZN18QScriptContextInfoC1Ev @ 140 NONAME - _ZN18QScriptContextInfoC2EPK14QScriptContext @ 141 NONAME - _ZN18QScriptContextInfoC2ERKS_ @ 142 NONAME - _ZN18QScriptContextInfoC2Ev @ 143 NONAME - _ZN18QScriptContextInfoD1Ev @ 144 NONAME - _ZN18QScriptContextInfoD2Ev @ 145 NONAME - _ZN18QScriptContextInfoaSERKS_ @ 146 NONAME - _ZN18QScriptEngineAgent10contextPopEv @ 147 NONAME - _ZN18QScriptEngineAgent10scriptLoadExRK7QStringS2_i @ 148 NONAME - _ZN18QScriptEngineAgent11contextPushEv @ 149 NONAME - _ZN18QScriptEngineAgent12functionExitExRK12QScriptValue @ 150 NONAME - _ZN18QScriptEngineAgent12scriptUnloadEx @ 151 NONAME - _ZN18QScriptEngineAgent13functionEntryEx @ 152 NONAME - _ZN18QScriptEngineAgent14exceptionCatchExRK12QScriptValue @ 153 NONAME - _ZN18QScriptEngineAgent14exceptionThrowExRK12QScriptValueb @ 154 NONAME - _ZN18QScriptEngineAgent14positionChangeExii @ 155 NONAME - _ZN18QScriptEngineAgent9extensionENS_9ExtensionERK8QVariant @ 156 NONAME - _ZN18QScriptEngineAgentC1EP13QScriptEngine @ 157 NONAME - _ZN18QScriptEngineAgentC1ER25QScriptEngineAgentPrivateP13QScriptEngine @ 158 NONAME - _ZN18QScriptEngineAgentC2EP13QScriptEngine @ 159 NONAME - _ZN18QScriptEngineAgentC2ER25QScriptEngineAgentPrivateP13QScriptEngine @ 160 NONAME - _ZN18QScriptEngineAgentD0Ev @ 161 NONAME - _ZN18QScriptEngineAgentD1Ev @ 162 NONAME - _ZN18QScriptEngineAgentD2Ev @ 163 NONAME - _ZN20QScriptValueIterator4nextEv @ 164 NONAME - _ZN20QScriptValueIterator6removeEv @ 165 NONAME - _ZN20QScriptValueIterator6toBackEv @ 166 NONAME - _ZN20QScriptValueIterator7toFrontEv @ 167 NONAME - _ZN20QScriptValueIterator8previousEv @ 168 NONAME - _ZN20QScriptValueIterator8setValueERK12QScriptValue @ 169 NONAME - _ZN20QScriptValueIteratorC1ERK12QScriptValue @ 170 NONAME - _ZN20QScriptValueIteratorC2ERK12QScriptValue @ 171 NONAME - _ZN20QScriptValueIteratorD1Ev @ 172 NONAME - _ZN20QScriptValueIteratorD2Ev @ 173 NONAME - _ZN20QScriptValueIteratoraSER12QScriptValue @ 174 NONAME - _ZN22QScriptExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 175 NONAME - _ZN22QScriptExtensionPlugin11qt_metacastEPKc @ 176 NONAME - _ZN22QScriptExtensionPlugin16staticMetaObjectE @ 177 NONAME DATA 16 - _ZN22QScriptExtensionPluginC2EP7QObject @ 178 NONAME - _ZN22QScriptExtensionPluginD0Ev @ 179 NONAME - _ZN22QScriptExtensionPluginD1Ev @ 180 NONAME - _ZN22QScriptExtensionPluginD2Ev @ 181 NONAME - _ZN24QScriptSyntaxCheckResultC1EP31QScriptSyntaxCheckResultPrivate @ 182 NONAME - _ZN24QScriptSyntaxCheckResultC1ERKS_ @ 183 NONAME - _ZN24QScriptSyntaxCheckResultC1Ev @ 184 NONAME - _ZN24QScriptSyntaxCheckResultC2EP31QScriptSyntaxCheckResultPrivate @ 185 NONAME - _ZN24QScriptSyntaxCheckResultC2ERKS_ @ 186 NONAME - _ZN24QScriptSyntaxCheckResultC2Ev @ 187 NONAME - _ZN24QScriptSyntaxCheckResultD1Ev @ 188 NONAME - _ZN24QScriptSyntaxCheckResultD2Ev @ 189 NONAME - _ZN24QScriptSyntaxCheckResultaSERKS_ @ 190 NONAME - _ZN25QScriptEngineAgentPrivateC1Ev @ 191 NONAME ABSENT - _ZN25QScriptEngineAgentPrivateC2Ev @ 192 NONAME ABSENT - _ZN25QScriptEngineAgentPrivateD0Ev @ 193 NONAME ABSENT - _ZN25QScriptEngineAgentPrivateD1Ev @ 194 NONAME ABSENT - _ZN25QScriptEngineAgentPrivateD2Ev @ 195 NONAME ABSENT - _ZN28QScriptClassPropertyIteratorC2ERK12QScriptValue @ 196 NONAME - _ZN28QScriptClassPropertyIteratorC2ERK12QScriptValueR35QScriptClassPropertyIteratorPrivate @ 197 NONAME - _ZN28QScriptClassPropertyIteratorD0Ev @ 198 NONAME - _ZN28QScriptClassPropertyIteratorD1Ev @ 199 NONAME - _ZN28QScriptClassPropertyIteratorD2Ev @ 200 NONAME - _ZNK11QScriptable10thisObjectEv @ 201 NONAME - _ZNK11QScriptable13argumentCountEv @ 202 NONAME - _ZNK11QScriptable6engineEv @ 203 NONAME - _ZNK11QScriptable7contextEv @ 204 NONAME - _ZNK11QScriptable8argumentEi @ 205 NONAME - _ZNK12QScriptClass17supportsExtensionENS_9ExtensionE @ 206 NONAME - _ZNK12QScriptClass4nameEv @ 207 NONAME - _ZNK12QScriptClass6engineEv @ 208 NONAME - _ZNK12QScriptClass9prototypeEv @ 209 NONAME - _ZNK12QScriptValue10instanceOfERKS_ @ 210 NONAME - _ZNK12QScriptValue10isFunctionEv @ 211 NONAME - _ZNK12QScriptValue10toDateTimeEv @ 212 NONAME - _ZNK12QScriptValue11isUndefinedEv @ 213 NONAME - _ZNK12QScriptValue11scriptClassEv @ 214 NONAME - _ZNK12QScriptValue13isQMetaObjectEv @ 215 NONAME - _ZNK12QScriptValue13propertyFlagsERK13QScriptStringRK6QFlagsINS_11ResolveFlagEE @ 216 NONAME - _ZNK12QScriptValue13propertyFlagsERK7QStringRK6QFlagsINS_11ResolveFlagEE @ 217 NONAME - _ZNK12QScriptValue13toQMetaObjectEv @ 218 NONAME - _ZNK12QScriptValue14strictlyEqualsERKS_ @ 219 NONAME - _ZNK12QScriptValue4dataEv @ 220 NONAME - _ZNK12QScriptValue5scopeEv @ 221 NONAME - _ZNK12QScriptValue6engineEv @ 222 NONAME - _ZNK12QScriptValue6equalsERKS_ @ 223 NONAME - _ZNK12QScriptValue6isBoolEv @ 224 NONAME - _ZNK12QScriptValue6isDateEv @ 225 NONAME - _ZNK12QScriptValue6isNullEv @ 226 NONAME - _ZNK12QScriptValue6toBoolEv @ 227 NONAME - _ZNK12QScriptValue7isArrayEv @ 228 NONAME - _ZNK12QScriptValue7isErrorEv @ 229 NONAME - _ZNK12QScriptValue7isValidEv @ 230 NONAME - _ZNK12QScriptValue7toInt32Ev @ 231 NONAME - _ZNK12QScriptValue8isNumberEv @ 232 NONAME - _ZNK12QScriptValue8isObjectEv @ 233 NONAME - _ZNK12QScriptValue8isRegExpEv @ 234 NONAME - _ZNK12QScriptValue8isStringEv @ 235 NONAME - _ZNK12QScriptValue8lessThanERKS_ @ 236 NONAME - _ZNK12QScriptValue8objectIdEv @ 237 NONAME - _ZNK12QScriptValue8propertyERK13QScriptStringRK6QFlagsINS_11ResolveFlagEE @ 238 NONAME - _ZNK12QScriptValue8propertyERK7QStringRK6QFlagsINS_11ResolveFlagEE @ 239 NONAME - _ZNK12QScriptValue8propertyEjRK6QFlagsINS_11ResolveFlagEE @ 240 NONAME - _ZNK12QScriptValue8toNumberEv @ 241 NONAME - _ZNK12QScriptValue8toObjectEv @ 242 NONAME - _ZNK12QScriptValue8toRegExpEv @ 243 NONAME - _ZNK12QScriptValue8toStringEv @ 244 NONAME - _ZNK12QScriptValue8toUInt16Ev @ 245 NONAME - _ZNK12QScriptValue8toUInt32Ev @ 246 NONAME - _ZNK12QScriptValue9isBooleanEv @ 247 NONAME - _ZNK12QScriptValue9isQObjectEv @ 248 NONAME - _ZNK12QScriptValue9isVariantEv @ 249 NONAME - _ZNK12QScriptValue9prototypeEv @ 250 NONAME - _ZNK12QScriptValue9toBooleanEv @ 251 NONAME - _ZNK12QScriptValue9toIntegerEv @ 252 NONAME - _ZNK12QScriptValue9toQObjectEv @ 253 NONAME - _ZNK12QScriptValue9toVariantEv @ 254 NONAME - _ZNK13QScriptEngine10metaObjectEv @ 255 NONAME - _ZNK13QScriptEngine10objectByIdEx @ 256 NONAME - _ZNK13QScriptEngine11canEvaluateERK7QString @ 257 NONAME - _ZNK13QScriptEngine12globalObjectEv @ 258 NONAME - _ZNK13QScriptEngine12isEvaluatingEv @ 259 NONAME - _ZNK13QScriptEngine14currentContextEv @ 260 NONAME - _ZNK13QScriptEngine16defaultPrototypeEi @ 261 NONAME - _ZNK13QScriptEngine17uncaughtExceptionEv @ 262 NONAME - _ZNK13QScriptEngine18importedExtensionsEv @ 263 NONAME - _ZNK13QScriptEngine19availableExtensionsEv @ 264 NONAME - _ZNK13QScriptEngine20hasUncaughtExceptionEv @ 265 NONAME - _ZNK13QScriptEngine21processEventsIntervalEv @ 266 NONAME - _ZNK13QScriptEngine26uncaughtExceptionBacktraceEv @ 267 NONAME - _ZNK13QScriptEngine27uncaughtExceptionLineNumberEv @ 268 NONAME - _ZNK13QScriptEngine5agentEv @ 269 NONAME - _ZNK13QScriptString7isValidEv @ 270 NONAME - _ZNK13QScriptString8toStringEv @ 271 NONAME - _ZNK13QScriptStringcv7QStringEv @ 272 NONAME - _ZNK13QScriptStringeqERKS_ @ 273 NONAME - _ZNK13QScriptStringneERKS_ @ 274 NONAME - _ZNK14QScriptContext10scopeChainEv @ 275 NONAME - _ZNK14QScriptContext10thisObjectEv @ 276 NONAME - _ZNK14QScriptContext11returnValueEv @ 277 NONAME - _ZNK14QScriptContext13argumentCountEv @ 278 NONAME - _ZNK14QScriptContext13parentContextEv @ 279 NONAME - _ZNK14QScriptContext15argumentsObjectEv @ 280 NONAME - _ZNK14QScriptContext16activationObjectEv @ 281 NONAME - _ZNK14QScriptContext21isCalledAsConstructorEv @ 282 NONAME - _ZNK14QScriptContext5stateEv @ 283 NONAME - _ZNK14QScriptContext6calleeEv @ 284 NONAME - _ZNK14QScriptContext6engineEv @ 285 NONAME - _ZNK14QScriptContext8argumentEi @ 286 NONAME - _ZNK14QScriptContext8toStringEv @ 287 NONAME - _ZNK14QScriptContext9backtraceEv @ 288 NONAME - _ZNK18QScriptContextInfo10lineNumberEv @ 289 NONAME - _ZNK18QScriptContextInfo12columnNumberEv @ 290 NONAME - _ZNK18QScriptContextInfo12functionNameEv @ 291 NONAME - _ZNK18QScriptContextInfo12functionTypeEv @ 292 NONAME - _ZNK18QScriptContextInfo17functionMetaIndexEv @ 293 NONAME - _ZNK18QScriptContextInfo21functionEndLineNumberEv @ 294 NONAME - _ZNK18QScriptContextInfo22functionParameterNamesEv @ 295 NONAME - _ZNK18QScriptContextInfo23functionStartLineNumberEv @ 296 NONAME - _ZNK18QScriptContextInfo6isNullEv @ 297 NONAME - _ZNK18QScriptContextInfo8fileNameEv @ 298 NONAME - _ZNK18QScriptContextInfo8scriptIdEv @ 299 NONAME - _ZNK18QScriptContextInfoeqERKS_ @ 300 NONAME - _ZNK18QScriptContextInfoneERKS_ @ 301 NONAME - _ZNK18QScriptEngineAgent17supportsExtensionENS_9ExtensionE @ 302 NONAME - _ZNK18QScriptEngineAgent6engineEv @ 303 NONAME - _ZNK20QScriptValueIterator10scriptNameEv @ 304 NONAME - _ZNK20QScriptValueIterator11hasPreviousEv @ 305 NONAME - _ZNK20QScriptValueIterator4nameEv @ 306 NONAME - _ZNK20QScriptValueIterator5flagsEv @ 307 NONAME - _ZNK20QScriptValueIterator5valueEv @ 308 NONAME - _ZNK20QScriptValueIterator7hasNextEv @ 309 NONAME - _ZNK22QScriptExtensionPlugin10metaObjectEv @ 310 NONAME - _ZNK22QScriptExtensionPlugin12setupPackageERK7QStringP13QScriptEngine @ 311 NONAME - _ZNK24QScriptSyntaxCheckResult12errorMessageEv @ 312 NONAME - _ZNK24QScriptSyntaxCheckResult15errorLineNumberEv @ 313 NONAME - _ZNK24QScriptSyntaxCheckResult17errorColumnNumberEv @ 314 NONAME - _ZNK24QScriptSyntaxCheckResult5stateEv @ 315 NONAME - _ZNK28QScriptClassPropertyIterator2idEv @ 316 NONAME - _ZNK28QScriptClassPropertyIterator5flagsEv @ 317 NONAME - _ZNK28QScriptClassPropertyIterator6objectEv @ 318 NONAME - _ZTI12QScriptClass @ 319 NONAME - _ZTI13QScriptEngine @ 320 NONAME - _ZTI15QScriptFunction @ 321 NONAME ABSENT - _ZTI16QScriptClassData @ 322 NONAME ABSENT - _ZTI18QScriptEngineAgent @ 323 NONAME - _ZTI19QScriptClassPrivate @ 324 NONAME ABSENT - _ZTI20QScriptEnginePrivate @ 325 NONAME ABSENT - _ZTI22QScriptCustomClassData @ 326 NONAME ABSENT - _ZTI22QScriptExtensionPlugin @ 327 NONAME - _ZTI24QScriptClassDataIterator @ 328 NONAME ABSENT - _ZTI25QScriptEngineAgentPrivate @ 329 NONAME - _ZTI25QScriptExtensionInterface @ 330 NONAME - _ZTI28QScriptClassPropertyIterator @ 331 NONAME - _ZTI30QScriptCustomClassDataIterator @ 332 NONAME ABSENT - _ZTI35QScriptClassPropertyIteratorPrivate @ 333 NONAME ABSENT - _ZTIN7QScript10C2FunctionE @ 334 NONAME ABSENT - _ZTIN7QScript10C3FunctionE @ 335 NONAME ABSENT - _ZTIN7QScript10ExtQObject8InstanceE @ 336 NONAME ABSENT - _ZTIN7QScript10ExtQObjectE @ 337 NONAME ABSENT - _ZTIN7QScript10QtFunctionE @ 338 NONAME ABSENT - _ZTIN7QScript12PrettyPrettyE @ 339 NONAME ABSENT - _ZTIN7QScript12XmlGeneratorE @ 340 NONAME ABSENT - _ZTIN7QScript14ExtQMetaObject8InstanceE @ 341 NONAME ABSENT - _ZTIN7QScript14ExtQMetaObjectE @ 342 NONAME ABSENT - _ZTIN7QScript14ScriptFunctionE @ 343 NONAME ABSENT - _ZTIN7QScript16QObjectPrototypeE @ 344 NONAME ABSENT - _ZTIN7QScript18ArgumentsClassDataE @ 345 NONAME ABSENT - _ZTIN7QScript18ExtQMetaObjectDataE @ 346 NONAME ABSENT - _ZTIN7QScript18QtPropertyFunctionE @ 347 NONAME ABSENT - _ZTIN7QScript22ExtQObjectDataIteratorE @ 348 NONAME ABSENT - _ZTIN7QScript24QObjectConnectionManagerE @ 349 NONAME ABSENT - _ZTIN7QScript26ArgumentsClassDataIteratorE @ 350 NONAME ABSENT - _ZTIN7QScript3AST10CaseClauseE @ 351 NONAME ABSENT - _ZTIN7QScript3AST10ExpressionE @ 352 NONAME ABSENT - _ZTIN7QScript3AST11CaseClausesE @ 353 NONAME ABSENT - _ZTIN7QScript3AST11ElementListE @ 354 NONAME ABSENT - _ZTIN7QScript3AST11IfStatementE @ 355 NONAME ABSENT - _ZTIN7QScript3AST11TrueLiteralE @ 356 NONAME ABSENT - _ZTIN7QScript3AST12ArgumentListE @ 357 NONAME ABSENT - _ZTIN7QScript3AST12ArrayLiteralE @ 358 NONAME ABSENT - _ZTIN7QScript3AST12FalseLiteralE @ 359 NONAME ABSENT - _ZTIN7QScript3AST12ForStatementE @ 360 NONAME ABSENT - _ZTIN7QScript3AST12FunctionBodyE @ 361 NONAME ABSENT - _ZTIN7QScript3AST12TryStatementE @ 362 NONAME ABSENT - _ZTIN7QScript3AST13DefaultClauseE @ 363 NONAME ABSENT - _ZTIN7QScript3AST13NewExpressionE @ 364 NONAME ABSENT - _ZTIN7QScript3AST13NotExpressionE @ 365 NONAME ABSENT - _ZTIN7QScript3AST13ObjectLiteralE @ 366 NONAME ABSENT - _ZTIN7QScript3AST13RegExpLiteralE @ 367 NONAME ABSENT - _ZTIN7QScript3AST13StatementListE @ 368 NONAME ABSENT - _ZTIN7QScript3AST13StringLiteralE @ 369 NONAME ABSENT - _ZTIN7QScript3AST13WithStatementE @ 370 NONAME ABSENT - _ZTIN7QScript3AST14BreakStatementE @ 371 NONAME ABSENT - _ZTIN7QScript3AST14CallExpressionE @ 372 NONAME ABSENT - _ZTIN7QScript3AST14EmptyStatementE @ 373 NONAME ABSENT - _ZTIN7QScript3AST14ExpressionNodeE @ 374 NONAME ABSENT - _ZTIN7QScript3AST14NullExpressionE @ 375 NONAME ABSENT - _ZTIN7QScript3AST14NumericLiteralE @ 376 NONAME ABSENT - _ZTIN7QScript3AST14SourceElementsE @ 377 NONAME ABSENT - _ZTIN7QScript3AST14ThisExpressionE @ 378 NONAME ABSENT - _ZTIN7QScript3AST14ThrowStatementE @ 379 NONAME ABSENT - _ZTIN7QScript3AST14VoidExpressionE @ 380 NONAME ABSENT - _ZTIN7QScript3AST14WhileStatementE @ 381 NONAME ABSENT - _ZTIN7QScript3AST15ReturnStatementE @ 382 NONAME ABSENT - _ZTIN7QScript3AST15SwitchStatementE @ 383 NONAME ABSENT - _ZTIN7QScript3AST15TildeExpressionE @ 384 NONAME ABSENT - _ZTIN7QScript3AST16BinaryExpressionE @ 385 NONAME ABSENT - _ZTIN7QScript3AST16DeleteExpressionE @ 386 NONAME ABSENT - _ZTIN7QScript3AST16DoWhileStatementE @ 387 NONAME ABSENT - _ZTIN7QScript3AST16ForEachStatementE @ 388 NONAME ABSENT - _ZTIN7QScript3AST16TypeOfExpressionE @ 389 NONAME ABSENT - _ZTIN7QScript3AST17ContinueStatementE @ 390 NONAME ABSENT - _ZTIN7QScript3AST17DebuggerStatementE @ 391 NONAME ABSENT - _ZTIN7QScript3AST17LabelledStatementE @ 392 NONAME ABSENT - _ZTIN7QScript3AST17LocalForStatementE @ 393 NONAME ABSENT - _ZTIN7QScript3AST17VariableStatementE @ 394 NONAME ABSENT - _ZTIN7QScript3AST18FunctionExpressionE @ 395 NONAME ABSENT - _ZTIN7QScript3AST19ExpressionStatementE @ 396 NONAME ABSENT - _ZTIN7QScript3AST19FormalParameterListE @ 397 NONAME ABSENT - _ZTIN7QScript3AST19FunctionDeclarationE @ 398 NONAME ABSENT - _ZTIN7QScript3AST19NewMemberExpressionE @ 399 NONAME ABSENT - _ZTIN7QScript3AST19UnaryPlusExpressionE @ 400 NONAME ABSENT - _ZTIN7QScript3AST19VariableDeclarationE @ 401 NONAME ABSENT - _ZTIN7QScript3AST20IdentifierExpressionE @ 402 NONAME ABSENT - _ZTIN7QScript3AST20UnaryMinusExpressionE @ 403 NONAME ABSENT - _ZTIN7QScript3AST21ArrayMemberExpressionE @ 404 NONAME ABSENT - _ZTIN7QScript3AST21ConditionalExpressionE @ 405 NONAME ABSENT - _ZTIN7QScript3AST21FieldMemberExpressionE @ 406 NONAME ABSENT - _ZTIN7QScript3AST21FunctionSourceElementE @ 407 NONAME ABSENT - _ZTIN7QScript3AST21LocalForEachStatementE @ 408 NONAME ABSENT - _ZTIN7QScript3AST22IdentifierPropertyNameE @ 409 NONAME ABSENT - _ZTIN7QScript3AST22PreDecrementExpressionE @ 410 NONAME ABSENT - _ZTIN7QScript3AST22PreIncrementExpressionE @ 411 NONAME ABSENT - _ZTIN7QScript3AST22StatementSourceElementE @ 412 NONAME ABSENT - _ZTIN7QScript3AST23PostDecrementExpressionE @ 413 NONAME ABSENT - _ZTIN7QScript3AST23PostIncrementExpressionE @ 414 NONAME ABSENT - _ZTIN7QScript3AST23VariableDeclarationListE @ 415 NONAME ABSENT - _ZTIN7QScript3AST24PropertyNameAndValueListE @ 416 NONAME ABSENT - _ZTIN7QScript3AST25StringLiteralPropertyNameE @ 417 NONAME ABSENT - _ZTIN7QScript3AST26NumericLiteralPropertyNameE @ 418 NONAME ABSENT - _ZTIN7QScript3AST4NodeE @ 419 NONAME ABSENT - _ZTIN7QScript3AST5BlockE @ 420 NONAME ABSENT - _ZTIN7QScript3AST5CatchE @ 421 NONAME ABSENT - _ZTIN7QScript3AST7ElisionE @ 422 NONAME ABSENT - _ZTIN7QScript3AST7FinallyE @ 423 NONAME ABSENT - _ZTIN7QScript3AST7ProgramE @ 424 NONAME ABSENT - _ZTIN7QScript3AST7VisitorE @ 425 NONAME ABSENT - _ZTIN7QScript3AST9CaseBlockE @ 426 NONAME ABSENT - _ZTIN7QScript3AST9StatementE @ 427 NONAME ABSENT - _ZTIN7QScript3Ext11Enumeration8InstanceE @ 428 NONAME ABSENT - _ZTIN7QScript3Ext11EnumerationE @ 429 NONAME ABSENT - _ZTIN7QScript3Ext20EnumerationClassDataE @ 430 NONAME ABSENT - _ZTIN7QScript3Ext7VariantE @ 431 NONAME ABSENT - _ZTIN7QScript4Ecma14ArrayClassDataE @ 432 NONAME ABSENT - _ZTIN7QScript4Ecma15StringClassDataE @ 433 NONAME ABSENT - _ZTIN7QScript4Ecma17FunctionClassDataE @ 434 NONAME ABSENT - _ZTIN7QScript4Ecma22ArrayClassDataIteratorE @ 435 NONAME ABSENT - _ZTIN7QScript4Ecma23StringClassDataIteratorE @ 436 NONAME ABSENT - _ZTIN7QScript4Ecma4CoreE @ 437 NONAME ABSENT - _ZTIN7QScript4Ecma4DateE @ 438 NONAME ABSENT - _ZTIN7QScript4Ecma4MathE @ 439 NONAME ABSENT - _ZTIN7QScript4Ecma5ArrayE @ 440 NONAME ABSENT - _ZTIN7QScript4Ecma5ErrorE @ 441 NONAME ABSENT - _ZTIN7QScript4Ecma6GlobalE @ 442 NONAME ABSENT - _ZTIN7QScript4Ecma6NumberE @ 443 NONAME ABSENT - _ZTIN7QScript4Ecma6ObjectE @ 444 NONAME ABSENT - _ZTIN7QScript4Ecma6RegExpE @ 445 NONAME ABSENT - _ZTIN7QScript4Ecma6StringE @ 446 NONAME ABSENT - _ZTIN7QScript4Ecma7BooleanE @ 447 NONAME ABSENT - _ZTIN7QScript4Ecma8FunctionE @ 448 NONAME ABSENT - _ZTIN7QScript8CompilerE @ 449 NONAME ABSENT - _ZTIN7QScript8NodePoolE @ 450 NONAME ABSENT - _ZTIN7QScript9CFunctionE @ 451 NONAME ABSENT - _ZTV12QScriptClass @ 452 NONAME - _ZTV13QScriptEngine @ 453 NONAME - _ZTV15QScriptFunction @ 454 NONAME ABSENT - _ZTV16QScriptClassData @ 455 NONAME ABSENT - _ZTV18QScriptEngineAgent @ 456 NONAME - _ZTV19QScriptClassPrivate @ 457 NONAME ABSENT - _ZTV20QScriptEnginePrivate @ 458 NONAME ABSENT - _ZTV22QScriptCustomClassData @ 459 NONAME ABSENT - _ZTV22QScriptExtensionPlugin @ 460 NONAME - _ZTV24QScriptClassDataIterator @ 461 NONAME ABSENT - _ZTV25QScriptEngineAgentPrivate @ 462 NONAME - _ZTV28QScriptClassPropertyIterator @ 463 NONAME - _ZTV30QScriptCustomClassDataIterator @ 464 NONAME ABSENT - _ZTV35QScriptClassPropertyIteratorPrivate @ 465 NONAME ABSENT - _ZTVN7QScript10C2FunctionE @ 466 NONAME ABSENT - _ZTVN7QScript10C3FunctionE @ 467 NONAME ABSENT - _ZTVN7QScript10ExtQObject8InstanceE @ 468 NONAME ABSENT - _ZTVN7QScript10ExtQObjectE @ 469 NONAME ABSENT - _ZTVN7QScript10QtFunctionE @ 470 NONAME ABSENT - _ZTVN7QScript12PrettyPrettyE @ 471 NONAME ABSENT - _ZTVN7QScript12XmlGeneratorE @ 472 NONAME ABSENT - _ZTVN7QScript14ExtQMetaObject8InstanceE @ 473 NONAME ABSENT - _ZTVN7QScript14ExtQMetaObjectE @ 474 NONAME ABSENT - _ZTVN7QScript14ScriptFunctionE @ 475 NONAME ABSENT - _ZTVN7QScript16QObjectPrototypeE @ 476 NONAME ABSENT - _ZTVN7QScript18ArgumentsClassDataE @ 477 NONAME ABSENT - _ZTVN7QScript18ExtQMetaObjectDataE @ 478 NONAME ABSENT - _ZTVN7QScript18QtPropertyFunctionE @ 479 NONAME ABSENT - _ZTVN7QScript22ExtQObjectDataIteratorE @ 480 NONAME ABSENT - _ZTVN7QScript24QObjectConnectionManagerE @ 481 NONAME ABSENT - _ZTVN7QScript26ArgumentsClassDataIteratorE @ 482 NONAME ABSENT - _ZTVN7QScript3AST10CaseClauseE @ 483 NONAME ABSENT - _ZTVN7QScript3AST10ExpressionE @ 484 NONAME ABSENT - _ZTVN7QScript3AST11CaseClausesE @ 485 NONAME ABSENT - _ZTVN7QScript3AST11ElementListE @ 486 NONAME ABSENT - _ZTVN7QScript3AST11IfStatementE @ 487 NONAME ABSENT - _ZTVN7QScript3AST11TrueLiteralE @ 488 NONAME ABSENT - _ZTVN7QScript3AST12ArgumentListE @ 489 NONAME ABSENT - _ZTVN7QScript3AST12ArrayLiteralE @ 490 NONAME ABSENT - _ZTVN7QScript3AST12FalseLiteralE @ 491 NONAME ABSENT - _ZTVN7QScript3AST12ForStatementE @ 492 NONAME ABSENT - _ZTVN7QScript3AST12FunctionBodyE @ 493 NONAME ABSENT - _ZTVN7QScript3AST12TryStatementE @ 494 NONAME ABSENT - _ZTVN7QScript3AST13DefaultClauseE @ 495 NONAME ABSENT - _ZTVN7QScript3AST13NewExpressionE @ 496 NONAME ABSENT - _ZTVN7QScript3AST13NotExpressionE @ 497 NONAME ABSENT - _ZTVN7QScript3AST13ObjectLiteralE @ 498 NONAME ABSENT - _ZTVN7QScript3AST13RegExpLiteralE @ 499 NONAME ABSENT - _ZTVN7QScript3AST13StatementListE @ 500 NONAME ABSENT - _ZTVN7QScript3AST13StringLiteralE @ 501 NONAME ABSENT - _ZTVN7QScript3AST13WithStatementE @ 502 NONAME ABSENT - _ZTVN7QScript3AST14BreakStatementE @ 503 NONAME ABSENT - _ZTVN7QScript3AST14CallExpressionE @ 504 NONAME ABSENT - _ZTVN7QScript3AST14EmptyStatementE @ 505 NONAME ABSENT - _ZTVN7QScript3AST14ExpressionNodeE @ 506 NONAME ABSENT - _ZTVN7QScript3AST14NullExpressionE @ 507 NONAME ABSENT - _ZTVN7QScript3AST14NumericLiteralE @ 508 NONAME ABSENT - _ZTVN7QScript3AST14SourceElementsE @ 509 NONAME ABSENT - _ZTVN7QScript3AST14ThisExpressionE @ 510 NONAME ABSENT - _ZTVN7QScript3AST14ThrowStatementE @ 511 NONAME ABSENT - _ZTVN7QScript3AST14VoidExpressionE @ 512 NONAME ABSENT - _ZTVN7QScript3AST14WhileStatementE @ 513 NONAME ABSENT - _ZTVN7QScript3AST15ReturnStatementE @ 514 NONAME ABSENT - _ZTVN7QScript3AST15SwitchStatementE @ 515 NONAME ABSENT - _ZTVN7QScript3AST15TildeExpressionE @ 516 NONAME ABSENT - _ZTVN7QScript3AST16BinaryExpressionE @ 517 NONAME ABSENT - _ZTVN7QScript3AST16DeleteExpressionE @ 518 NONAME ABSENT - _ZTVN7QScript3AST16DoWhileStatementE @ 519 NONAME ABSENT - _ZTVN7QScript3AST16ForEachStatementE @ 520 NONAME ABSENT - _ZTVN7QScript3AST16TypeOfExpressionE @ 521 NONAME ABSENT - _ZTVN7QScript3AST17ContinueStatementE @ 522 NONAME ABSENT - _ZTVN7QScript3AST17DebuggerStatementE @ 523 NONAME ABSENT - _ZTVN7QScript3AST17LabelledStatementE @ 524 NONAME ABSENT - _ZTVN7QScript3AST17LocalForStatementE @ 525 NONAME ABSENT - _ZTVN7QScript3AST17VariableStatementE @ 526 NONAME ABSENT - _ZTVN7QScript3AST18FunctionExpressionE @ 527 NONAME ABSENT - _ZTVN7QScript3AST19ExpressionStatementE @ 528 NONAME ABSENT - _ZTVN7QScript3AST19FormalParameterListE @ 529 NONAME ABSENT - _ZTVN7QScript3AST19FunctionDeclarationE @ 530 NONAME ABSENT - _ZTVN7QScript3AST19NewMemberExpressionE @ 531 NONAME ABSENT - _ZTVN7QScript3AST19UnaryPlusExpressionE @ 532 NONAME ABSENT - _ZTVN7QScript3AST19VariableDeclarationE @ 533 NONAME ABSENT - _ZTVN7QScript3AST20IdentifierExpressionE @ 534 NONAME ABSENT - _ZTVN7QScript3AST20UnaryMinusExpressionE @ 535 NONAME ABSENT - _ZTVN7QScript3AST21ArrayMemberExpressionE @ 536 NONAME ABSENT - _ZTVN7QScript3AST21ConditionalExpressionE @ 537 NONAME ABSENT - _ZTVN7QScript3AST21FieldMemberExpressionE @ 538 NONAME ABSENT - _ZTVN7QScript3AST21FunctionSourceElementE @ 539 NONAME ABSENT - _ZTVN7QScript3AST21LocalForEachStatementE @ 540 NONAME ABSENT - _ZTVN7QScript3AST22IdentifierPropertyNameE @ 541 NONAME ABSENT - _ZTVN7QScript3AST22PreDecrementExpressionE @ 542 NONAME ABSENT - _ZTVN7QScript3AST22PreIncrementExpressionE @ 543 NONAME ABSENT - _ZTVN7QScript3AST22StatementSourceElementE @ 544 NONAME ABSENT - _ZTVN7QScript3AST23PostDecrementExpressionE @ 545 NONAME ABSENT - _ZTVN7QScript3AST23PostIncrementExpressionE @ 546 NONAME ABSENT - _ZTVN7QScript3AST23VariableDeclarationListE @ 547 NONAME ABSENT - _ZTVN7QScript3AST24PropertyNameAndValueListE @ 548 NONAME ABSENT - _ZTVN7QScript3AST25StringLiteralPropertyNameE @ 549 NONAME ABSENT - _ZTVN7QScript3AST26NumericLiteralPropertyNameE @ 550 NONAME ABSENT - _ZTVN7QScript3AST4NodeE @ 551 NONAME ABSENT - _ZTVN7QScript3AST5BlockE @ 552 NONAME ABSENT - _ZTVN7QScript3AST5CatchE @ 553 NONAME ABSENT - _ZTVN7QScript3AST7ElisionE @ 554 NONAME ABSENT - _ZTVN7QScript3AST7FinallyE @ 555 NONAME ABSENT - _ZTVN7QScript3AST7ProgramE @ 556 NONAME ABSENT - _ZTVN7QScript3AST7VisitorE @ 557 NONAME ABSENT - _ZTVN7QScript3AST9CaseBlockE @ 558 NONAME ABSENT - _ZTVN7QScript3AST9StatementE @ 559 NONAME ABSENT - _ZTVN7QScript3Ext11Enumeration8InstanceE @ 560 NONAME ABSENT - _ZTVN7QScript3Ext11EnumerationE @ 561 NONAME ABSENT - _ZTVN7QScript3Ext20EnumerationClassDataE @ 562 NONAME ABSENT - _ZTVN7QScript3Ext7VariantE @ 563 NONAME ABSENT - _ZTVN7QScript4Ecma14ArrayClassDataE @ 564 NONAME ABSENT - _ZTVN7QScript4Ecma15StringClassDataE @ 565 NONAME ABSENT - _ZTVN7QScript4Ecma17FunctionClassDataE @ 566 NONAME ABSENT - _ZTVN7QScript4Ecma22ArrayClassDataIteratorE @ 567 NONAME ABSENT - _ZTVN7QScript4Ecma23StringClassDataIteratorE @ 568 NONAME ABSENT - _ZTVN7QScript4Ecma4CoreE @ 569 NONAME ABSENT - _ZTVN7QScript4Ecma4DateE @ 570 NONAME ABSENT - _ZTVN7QScript4Ecma4MathE @ 571 NONAME ABSENT - _ZTVN7QScript4Ecma5ArrayE @ 572 NONAME ABSENT - _ZTVN7QScript4Ecma5ErrorE @ 573 NONAME ABSENT - _ZTVN7QScript4Ecma6GlobalE @ 574 NONAME ABSENT - _ZTVN7QScript4Ecma6NumberE @ 575 NONAME ABSENT - _ZTVN7QScript4Ecma6ObjectE @ 576 NONAME ABSENT - _ZTVN7QScript4Ecma6RegExpE @ 577 NONAME ABSENT - _ZTVN7QScript4Ecma6StringE @ 578 NONAME ABSENT - _ZTVN7QScript4Ecma7BooleanE @ 579 NONAME ABSENT - _ZTVN7QScript4Ecma8FunctionE @ 580 NONAME ABSENT - _ZTVN7QScript8CompilerE @ 581 NONAME ABSENT - _ZTVN7QScript8NodePoolE @ 582 NONAME ABSENT - _ZTVN7QScript9CFunctionE @ 583 NONAME ABSENT - _ZThn8_N22QScriptExtensionPluginD0Ev @ 584 NONAME - _ZThn8_N22QScriptExtensionPluginD1Ev @ 585 NONAME - _ZlsR11QDataStreamRK18QScriptContextInfo @ 586 NONAME - _ZrsR11QDataStreamR18QScriptContextInfo @ 587 NONAME - _Z22qt_script_isJITEnabledv @ 588 NONAME - _ZN12QScriptValueC1EP19QScriptValuePrivate @ 589 NONAME - _ZN12QScriptValueC2EP19QScriptValuePrivate @ 590 NONAME - _ZN13QScriptEngine19getStaticMetaObjectEv @ 591 NONAME - _ZN22QScriptExtensionPlugin19getStaticMetaObjectEv @ 592 NONAME - _ZN25QScriptEngineAgentPrivate11atStatementERKN5QTJSC17DebuggerCallFrameEiii @ 593 NONAME - _ZN25QScriptEngineAgentPrivate11returnEventERKN5QTJSC17DebuggerCallFrameEii @ 594 NONAME - _ZN25QScriptEngineAgentPrivate12evaluateStopERKN5QTJSC7JSValueEi @ 595 NONAME - _ZN25QScriptEngineAgentPrivate12functionExitERKN5QTJSC7JSValueEi @ 596 NONAME - _ZN25QScriptEngineAgentPrivate14exceptionCatchERKN5QTJSC17DebuggerCallFrameEi @ 597 NONAME - _ZN25QScriptEngineAgentPrivate14exceptionThrowERKN5QTJSC17DebuggerCallFrameEib @ 598 NONAME - _ZN25QScriptEngineAgentPrivate18didReachBreakpointERKN5QTJSC17DebuggerCallFrameEiii @ 599 NONAME - _ZN25QScriptEngineAgentPrivate6attachEv @ 600 NONAME - _ZN25QScriptEngineAgentPrivate6detachEv @ 601 NONAME - _Z5qHashRK13QScriptString @ 602 NONAME + _ZN12QScriptValueC2EP19QScriptValuePrivate @ 57 NONAME + _ZN12QScriptValueC2EPKc @ 58 NONAME + _ZN12QScriptValueC2ERK13QLatin1String @ 59 NONAME + _ZN12QScriptValueC2ERK7QString @ 60 NONAME + _ZN12QScriptValueC2ERKS_ @ 61 NONAME + _ZN12QScriptValueC2Eb @ 62 NONAME + _ZN12QScriptValueC2Ed @ 63 NONAME + _ZN12QScriptValueC2Ei @ 64 NONAME + _ZN12QScriptValueC2Ej @ 65 NONAME + _ZN12QScriptValueC2Ev @ 66 NONAME + _ZN12QScriptValueD1Ev @ 67 NONAME + _ZN12QScriptValueD2Ev @ 68 NONAME + _ZN12QScriptValueaSERKS_ @ 69 NONAME + _ZN13QScriptEngine10newQObjectEP7QObjectNS_14ValueOwnershipERK6QFlagsINS_17QObjectWrapOptionEE @ 70 NONAME + _ZN13QScriptEngine10newQObjectERK12QScriptValueP7QObjectNS_14ValueOwnershipERK6QFlagsINS_17QObjectWrapOptionEE @ 71 NONAME + _ZN13QScriptEngine10newVariantERK12QScriptValueRK8QVariant @ 72 NONAME + _ZN13QScriptEngine10newVariantERK8QVariant @ 73 NONAME + _ZN13QScriptEngine10popContextEv @ 74 NONAME + _ZN13QScriptEngine11checkSyntaxERK7QString @ 75 NONAME + _ZN13QScriptEngine11newFunctionEPF12QScriptValueP14QScriptContextPS_ERKS0_i @ 76 NONAME + _ZN13QScriptEngine11newFunctionEPF12QScriptValueP14QScriptContextPS_Ei @ 77 NONAME + _ZN13QScriptEngine11newFunctionEPF12QScriptValueP14QScriptContextPS_PvES4_ @ 78 NONAME + _ZN13QScriptEngine11pushContextEv @ 79 NONAME + _ZN13QScriptEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 80 NONAME + _ZN13QScriptEngine11qt_metacastEPKc @ 81 NONAME + _ZN13QScriptEngine14collectGarbageEv @ 82 NONAME + _ZN13QScriptEngine14newQMetaObjectEPK11QMetaObjectRK12QScriptValue @ 83 NONAME + _ZN13QScriptEngine14toStringHandleERK7QString @ 84 NONAME + _ZN13QScriptEngine14undefinedValueEv @ 85 NONAME + _ZN13QScriptEngine15abortEvaluationERK12QScriptValue @ 86 NONAME + _ZN13QScriptEngine15clearExceptionsEv @ 87 NONAME + _ZN13QScriptEngine15importExtensionERK7QString @ 88 NONAME + _ZN13QScriptEngine15setGlobalObjectERK12QScriptValue @ 89 NONAME + _ZN13QScriptEngine16staticMetaObjectE @ 90 NONAME DATA 16 + _ZN13QScriptEngine18registerCustomTypeEiPF12QScriptValuePS_PKvEPFvRKS0_PvES7_ @ 91 NONAME + _ZN13QScriptEngine19getStaticMetaObjectEv @ 92 NONAME + _ZN13QScriptEngine19newActivationObjectEv @ 93 NONAME + _ZN13QScriptEngine19setDefaultPrototypeEiRK12QScriptValue @ 94 NONAME + _ZN13QScriptEngine22signalHandlerExceptionERK12QScriptValue @ 95 NONAME + _ZN13QScriptEngine24setProcessEventsIntervalEi @ 96 NONAME + _ZN13QScriptEngine26installTranslatorFunctionsERK12QScriptValue @ 97 NONAME + _ZN13QScriptEngine6createEiPKv @ 98 NONAME + _ZN13QScriptEngine7convertERK12QScriptValueiPv @ 99 NONAME + _ZN13QScriptEngine7newDateERK9QDateTime @ 100 NONAME + _ZN13QScriptEngine7newDateEd @ 101 NONAME + _ZN13QScriptEngine8evaluateERK7QStringS2_i @ 102 NONAME + _ZN13QScriptEngine8newArrayEj @ 103 NONAME + _ZN13QScriptEngine8setAgentEP18QScriptEngineAgent @ 104 NONAME + _ZN13QScriptEngine8toObjectERK12QScriptValue @ 105 NONAME + _ZN13QScriptEngine9convertV2ERK12QScriptValueiPv @ 106 NONAME + _ZN13QScriptEngine9newObjectEP12QScriptClassRK12QScriptValue @ 107 NONAME + _ZN13QScriptEngine9newObjectEv @ 108 NONAME + _ZN13QScriptEngine9newRegExpERK7QRegExp @ 109 NONAME + _ZN13QScriptEngine9newRegExpERK7QStringS2_ @ 110 NONAME + _ZN13QScriptEngine9nullValueEv @ 111 NONAME + _ZN13QScriptEngineC1EP7QObject @ 112 NONAME + _ZN13QScriptEngineC1ER20QScriptEnginePrivateP7QObject @ 113 NONAME + _ZN13QScriptEngineC1Ev @ 114 NONAME + _ZN13QScriptEngineC2EP7QObject @ 115 NONAME + _ZN13QScriptEngineC2ER20QScriptEnginePrivateP7QObject @ 116 NONAME + _ZN13QScriptEngineC2Ev @ 117 NONAME + _ZN13QScriptEngineD0Ev @ 118 NONAME + _ZN13QScriptEngineD1Ev @ 119 NONAME + _ZN13QScriptEngineD2Ev @ 120 NONAME + _ZN13QScriptStringC1ERKS_ @ 121 NONAME + _ZN13QScriptStringC1Ev @ 122 NONAME + _ZN13QScriptStringC2ERKS_ @ 123 NONAME + _ZN13QScriptStringC2Ev @ 124 NONAME + _ZN13QScriptStringD1Ev @ 125 NONAME + _ZN13QScriptStringD2Ev @ 126 NONAME + _ZN13QScriptStringaSERKS_ @ 127 NONAME + _ZN14QScriptContext10throwErrorENS_5ErrorERK7QString @ 128 NONAME + _ZN14QScriptContext10throwErrorERK7QString @ 129 NONAME + _ZN14QScriptContext10throwValueERK12QScriptValue @ 130 NONAME + _ZN14QScriptContext13setThisObjectERK12QScriptValue @ 131 NONAME + _ZN14QScriptContext14setReturnValueERK12QScriptValue @ 132 NONAME + _ZN14QScriptContext19setActivationObjectERK12QScriptValue @ 133 NONAME + _ZN14QScriptContext8popScopeEv @ 134 NONAME + _ZN14QScriptContext9pushScopeERK12QScriptValue @ 135 NONAME + _ZN14QScriptContextC1Ev @ 136 NONAME + _ZN14QScriptContextC2Ev @ 137 NONAME + _ZN14QScriptContextD1Ev @ 138 NONAME + _ZN14QScriptContextD2Ev @ 139 NONAME + _ZN18QScriptContextInfoC1EPK14QScriptContext @ 140 NONAME + _ZN18QScriptContextInfoC1ERKS_ @ 141 NONAME + _ZN18QScriptContextInfoC1Ev @ 142 NONAME + _ZN18QScriptContextInfoC2EPK14QScriptContext @ 143 NONAME + _ZN18QScriptContextInfoC2ERKS_ @ 144 NONAME + _ZN18QScriptContextInfoC2Ev @ 145 NONAME + _ZN18QScriptContextInfoD1Ev @ 146 NONAME + _ZN18QScriptContextInfoD2Ev @ 147 NONAME + _ZN18QScriptContextInfoaSERKS_ @ 148 NONAME + _ZN18QScriptEngineAgent10contextPopEv @ 149 NONAME + _ZN18QScriptEngineAgent10scriptLoadExRK7QStringS2_i @ 150 NONAME + _ZN18QScriptEngineAgent11contextPushEv @ 151 NONAME + _ZN18QScriptEngineAgent12functionExitExRK12QScriptValue @ 152 NONAME + _ZN18QScriptEngineAgent12scriptUnloadEx @ 153 NONAME + _ZN18QScriptEngineAgent13functionEntryEx @ 154 NONAME + _ZN18QScriptEngineAgent14exceptionCatchExRK12QScriptValue @ 155 NONAME + _ZN18QScriptEngineAgent14exceptionThrowExRK12QScriptValueb @ 156 NONAME + _ZN18QScriptEngineAgent14positionChangeExii @ 157 NONAME + _ZN18QScriptEngineAgent9extensionENS_9ExtensionERK8QVariant @ 158 NONAME + _ZN18QScriptEngineAgentC1EP13QScriptEngine @ 159 NONAME + _ZN18QScriptEngineAgentC1ER25QScriptEngineAgentPrivateP13QScriptEngine @ 160 NONAME + _ZN18QScriptEngineAgentC2EP13QScriptEngine @ 161 NONAME + _ZN18QScriptEngineAgentC2ER25QScriptEngineAgentPrivateP13QScriptEngine @ 162 NONAME + _ZN18QScriptEngineAgentD0Ev @ 163 NONAME + _ZN18QScriptEngineAgentD1Ev @ 164 NONAME + _ZN18QScriptEngineAgentD2Ev @ 165 NONAME + _ZN20QScriptValueIterator4nextEv @ 166 NONAME + _ZN20QScriptValueIterator6removeEv @ 167 NONAME + _ZN20QScriptValueIterator6toBackEv @ 168 NONAME + _ZN20QScriptValueIterator7toFrontEv @ 169 NONAME + _ZN20QScriptValueIterator8previousEv @ 170 NONAME + _ZN20QScriptValueIterator8setValueERK12QScriptValue @ 171 NONAME + _ZN20QScriptValueIteratorC1ERK12QScriptValue @ 172 NONAME + _ZN20QScriptValueIteratorC2ERK12QScriptValue @ 173 NONAME + _ZN20QScriptValueIteratorD1Ev @ 174 NONAME + _ZN20QScriptValueIteratorD2Ev @ 175 NONAME + _ZN20QScriptValueIteratoraSER12QScriptValue @ 176 NONAME + _ZN22QScriptExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 177 NONAME + _ZN22QScriptExtensionPlugin11qt_metacastEPKc @ 178 NONAME + _ZN22QScriptExtensionPlugin16staticMetaObjectE @ 179 NONAME DATA 16 + _ZN22QScriptExtensionPlugin19getStaticMetaObjectEv @ 180 NONAME + _ZN22QScriptExtensionPluginC2EP7QObject @ 181 NONAME + _ZN22QScriptExtensionPluginD0Ev @ 182 NONAME + _ZN22QScriptExtensionPluginD1Ev @ 183 NONAME + _ZN22QScriptExtensionPluginD2Ev @ 184 NONAME + _ZN24QScriptSyntaxCheckResultC1EP31QScriptSyntaxCheckResultPrivate @ 185 NONAME + _ZN24QScriptSyntaxCheckResultC1ERKS_ @ 186 NONAME + _ZN24QScriptSyntaxCheckResultC1Ev @ 187 NONAME + _ZN24QScriptSyntaxCheckResultC2EP31QScriptSyntaxCheckResultPrivate @ 188 NONAME + _ZN24QScriptSyntaxCheckResultC2ERKS_ @ 189 NONAME + _ZN24QScriptSyntaxCheckResultC2Ev @ 190 NONAME + _ZN24QScriptSyntaxCheckResultD1Ev @ 191 NONAME + _ZN24QScriptSyntaxCheckResultD2Ev @ 192 NONAME + _ZN24QScriptSyntaxCheckResultaSERKS_ @ 193 NONAME + _ZN25QScriptEngineAgentPrivate11atStatementERKN5QTJSC17DebuggerCallFrameEiii @ 194 NONAME + _ZN25QScriptEngineAgentPrivate11returnEventERKN5QTJSC17DebuggerCallFrameEii @ 195 NONAME + _ZN25QScriptEngineAgentPrivate12evaluateStopERKN5QTJSC7JSValueEi @ 196 NONAME + _ZN25QScriptEngineAgentPrivate12functionExitERKN5QTJSC7JSValueEi @ 197 NONAME + _ZN25QScriptEngineAgentPrivate14exceptionCatchERKN5QTJSC17DebuggerCallFrameEi @ 198 NONAME + _ZN25QScriptEngineAgentPrivate14exceptionThrowERKN5QTJSC17DebuggerCallFrameEib @ 199 NONAME + _ZN25QScriptEngineAgentPrivate18didReachBreakpointERKN5QTJSC17DebuggerCallFrameEiii @ 200 NONAME + _ZN25QScriptEngineAgentPrivate6attachEv @ 201 NONAME + _ZN25QScriptEngineAgentPrivate6detachEv @ 202 NONAME + _ZN28QScriptClassPropertyIteratorC2ERK12QScriptValue @ 203 NONAME + _ZN28QScriptClassPropertyIteratorC2ERK12QScriptValueR35QScriptClassPropertyIteratorPrivate @ 204 NONAME + _ZN28QScriptClassPropertyIteratorD0Ev @ 205 NONAME + _ZN28QScriptClassPropertyIteratorD1Ev @ 206 NONAME + _ZN28QScriptClassPropertyIteratorD2Ev @ 207 NONAME + _ZNK11QScriptable10thisObjectEv @ 208 NONAME + _ZNK11QScriptable13argumentCountEv @ 209 NONAME + _ZNK11QScriptable6engineEv @ 210 NONAME + _ZNK11QScriptable7contextEv @ 211 NONAME + _ZNK11QScriptable8argumentEi @ 212 NONAME + _ZNK12QScriptClass17supportsExtensionENS_9ExtensionE @ 213 NONAME + _ZNK12QScriptClass4nameEv @ 214 NONAME + _ZNK12QScriptClass6engineEv @ 215 NONAME + _ZNK12QScriptClass9prototypeEv @ 216 NONAME + _ZNK12QScriptValue10instanceOfERKS_ @ 217 NONAME + _ZNK12QScriptValue10isFunctionEv @ 218 NONAME + _ZNK12QScriptValue10toDateTimeEv @ 219 NONAME + _ZNK12QScriptValue11isUndefinedEv @ 220 NONAME + _ZNK12QScriptValue11scriptClassEv @ 221 NONAME + _ZNK12QScriptValue13isQMetaObjectEv @ 222 NONAME + _ZNK12QScriptValue13propertyFlagsERK13QScriptStringRK6QFlagsINS_11ResolveFlagEE @ 223 NONAME + _ZNK12QScriptValue13propertyFlagsERK7QStringRK6QFlagsINS_11ResolveFlagEE @ 224 NONAME + _ZNK12QScriptValue13toQMetaObjectEv @ 225 NONAME + _ZNK12QScriptValue14strictlyEqualsERKS_ @ 226 NONAME + _ZNK12QScriptValue4dataEv @ 227 NONAME + _ZNK12QScriptValue5scopeEv @ 228 NONAME + _ZNK12QScriptValue6engineEv @ 229 NONAME + _ZNK12QScriptValue6equalsERKS_ @ 230 NONAME + _ZNK12QScriptValue6isBoolEv @ 231 NONAME + _ZNK12QScriptValue6isDateEv @ 232 NONAME + _ZNK12QScriptValue6isNullEv @ 233 NONAME + _ZNK12QScriptValue6toBoolEv @ 234 NONAME + _ZNK12QScriptValue7isArrayEv @ 235 NONAME + _ZNK12QScriptValue7isErrorEv @ 236 NONAME + _ZNK12QScriptValue7isValidEv @ 237 NONAME + _ZNK12QScriptValue7toInt32Ev @ 238 NONAME + _ZNK12QScriptValue8isNumberEv @ 239 NONAME + _ZNK12QScriptValue8isObjectEv @ 240 NONAME + _ZNK12QScriptValue8isRegExpEv @ 241 NONAME + _ZNK12QScriptValue8isStringEv @ 242 NONAME + _ZNK12QScriptValue8lessThanERKS_ @ 243 NONAME + _ZNK12QScriptValue8objectIdEv @ 244 NONAME + _ZNK12QScriptValue8propertyERK13QScriptStringRK6QFlagsINS_11ResolveFlagEE @ 245 NONAME + _ZNK12QScriptValue8propertyERK7QStringRK6QFlagsINS_11ResolveFlagEE @ 246 NONAME + _ZNK12QScriptValue8propertyEjRK6QFlagsINS_11ResolveFlagEE @ 247 NONAME + _ZNK12QScriptValue8toNumberEv @ 248 NONAME + _ZNK12QScriptValue8toObjectEv @ 249 NONAME + _ZNK12QScriptValue8toRegExpEv @ 250 NONAME + _ZNK12QScriptValue8toStringEv @ 251 NONAME + _ZNK12QScriptValue8toUInt16Ev @ 252 NONAME + _ZNK12QScriptValue8toUInt32Ev @ 253 NONAME + _ZNK12QScriptValue9isBooleanEv @ 254 NONAME + _ZNK12QScriptValue9isQObjectEv @ 255 NONAME + _ZNK12QScriptValue9isVariantEv @ 256 NONAME + _ZNK12QScriptValue9prototypeEv @ 257 NONAME + _ZNK12QScriptValue9toBooleanEv @ 258 NONAME + _ZNK12QScriptValue9toIntegerEv @ 259 NONAME + _ZNK12QScriptValue9toQObjectEv @ 260 NONAME + _ZNK12QScriptValue9toVariantEv @ 261 NONAME + _ZNK13QScriptEngine10metaObjectEv @ 262 NONAME + _ZNK13QScriptEngine10objectByIdEx @ 263 NONAME + _ZNK13QScriptEngine11canEvaluateERK7QString @ 264 NONAME + _ZNK13QScriptEngine12globalObjectEv @ 265 NONAME + _ZNK13QScriptEngine12isEvaluatingEv @ 266 NONAME + _ZNK13QScriptEngine14currentContextEv @ 267 NONAME + _ZNK13QScriptEngine16defaultPrototypeEi @ 268 NONAME + _ZNK13QScriptEngine17uncaughtExceptionEv @ 269 NONAME + _ZNK13QScriptEngine18importedExtensionsEv @ 270 NONAME + _ZNK13QScriptEngine19availableExtensionsEv @ 271 NONAME + _ZNK13QScriptEngine20hasUncaughtExceptionEv @ 272 NONAME + _ZNK13QScriptEngine21processEventsIntervalEv @ 273 NONAME + _ZNK13QScriptEngine26uncaughtExceptionBacktraceEv @ 274 NONAME + _ZNK13QScriptEngine27uncaughtExceptionLineNumberEv @ 275 NONAME + _ZNK13QScriptEngine5agentEv @ 276 NONAME + _ZNK13QScriptString7isValidEv @ 277 NONAME + _ZNK13QScriptString8toStringEv @ 278 NONAME + _ZNK13QScriptStringcv7QStringEv @ 279 NONAME + _ZNK13QScriptStringeqERKS_ @ 280 NONAME + _ZNK13QScriptStringneERKS_ @ 281 NONAME + _ZNK14QScriptContext10scopeChainEv @ 282 NONAME + _ZNK14QScriptContext10thisObjectEv @ 283 NONAME + _ZNK14QScriptContext11returnValueEv @ 284 NONAME + _ZNK14QScriptContext13argumentCountEv @ 285 NONAME + _ZNK14QScriptContext13parentContextEv @ 286 NONAME + _ZNK14QScriptContext15argumentsObjectEv @ 287 NONAME + _ZNK14QScriptContext16activationObjectEv @ 288 NONAME + _ZNK14QScriptContext21isCalledAsConstructorEv @ 289 NONAME + _ZNK14QScriptContext5stateEv @ 290 NONAME + _ZNK14QScriptContext6calleeEv @ 291 NONAME + _ZNK14QScriptContext6engineEv @ 292 NONAME + _ZNK14QScriptContext8argumentEi @ 293 NONAME + _ZNK14QScriptContext8toStringEv @ 294 NONAME + _ZNK14QScriptContext9backtraceEv @ 295 NONAME + _ZNK18QScriptContextInfo10lineNumberEv @ 296 NONAME + _ZNK18QScriptContextInfo12columnNumberEv @ 297 NONAME + _ZNK18QScriptContextInfo12functionNameEv @ 298 NONAME + _ZNK18QScriptContextInfo12functionTypeEv @ 299 NONAME + _ZNK18QScriptContextInfo17functionMetaIndexEv @ 300 NONAME + _ZNK18QScriptContextInfo21functionEndLineNumberEv @ 301 NONAME + _ZNK18QScriptContextInfo22functionParameterNamesEv @ 302 NONAME + _ZNK18QScriptContextInfo23functionStartLineNumberEv @ 303 NONAME + _ZNK18QScriptContextInfo6isNullEv @ 304 NONAME + _ZNK18QScriptContextInfo8fileNameEv @ 305 NONAME + _ZNK18QScriptContextInfo8scriptIdEv @ 306 NONAME + _ZNK18QScriptContextInfoeqERKS_ @ 307 NONAME + _ZNK18QScriptContextInfoneERKS_ @ 308 NONAME + _ZNK18QScriptEngineAgent17supportsExtensionENS_9ExtensionE @ 309 NONAME + _ZNK18QScriptEngineAgent6engineEv @ 310 NONAME + _ZNK20QScriptValueIterator10scriptNameEv @ 311 NONAME + _ZNK20QScriptValueIterator11hasPreviousEv @ 312 NONAME + _ZNK20QScriptValueIterator4nameEv @ 313 NONAME + _ZNK20QScriptValueIterator5flagsEv @ 314 NONAME + _ZNK20QScriptValueIterator5valueEv @ 315 NONAME + _ZNK20QScriptValueIterator7hasNextEv @ 316 NONAME + _ZNK22QScriptExtensionPlugin10metaObjectEv @ 317 NONAME + _ZNK22QScriptExtensionPlugin12setupPackageERK7QStringP13QScriptEngine @ 318 NONAME + _ZNK24QScriptSyntaxCheckResult12errorMessageEv @ 319 NONAME + _ZNK24QScriptSyntaxCheckResult15errorLineNumberEv @ 320 NONAME + _ZNK24QScriptSyntaxCheckResult17errorColumnNumberEv @ 321 NONAME + _ZNK24QScriptSyntaxCheckResult5stateEv @ 322 NONAME + _ZNK28QScriptClassPropertyIterator2idEv @ 323 NONAME + _ZNK28QScriptClassPropertyIterator5flagsEv @ 324 NONAME + _ZNK28QScriptClassPropertyIterator6objectEv @ 325 NONAME + _ZTI12QScriptClass @ 326 NONAME + _ZTI13QScriptEngine @ 327 NONAME + _ZTI18QScriptEngineAgent @ 328 NONAME + _ZTI22QScriptExtensionPlugin @ 329 NONAME + _ZTI25QScriptEngineAgentPrivate @ 330 NONAME + _ZTI25QScriptExtensionInterface @ 331 NONAME + _ZTI28QScriptClassPropertyIterator @ 332 NONAME + _ZTV12QScriptClass @ 333 NONAME + _ZTV13QScriptEngine @ 334 NONAME + _ZTV18QScriptEngineAgent @ 335 NONAME + _ZTV22QScriptExtensionPlugin @ 336 NONAME + _ZTV25QScriptEngineAgentPrivate @ 337 NONAME + _ZTV28QScriptClassPropertyIterator @ 338 NONAME + _ZThn8_N22QScriptExtensionPluginD0Ev @ 339 NONAME + _ZThn8_N22QScriptExtensionPluginD1Ev @ 340 NONAME + _ZlsR11QDataStreamRK18QScriptContextInfo @ 341 NONAME + _ZrsR11QDataStreamR18QScriptContextInfo @ 342 NONAME diff --git a/src/s60installs/eabi/QtSqlu.def b/src/s60installs/eabi/QtSqlu.def index 4d4791a..1510374 100644 --- a/src/s60installs/eabi/QtSqlu.def +++ b/src/s60installs/eabi/QtSqlu.def @@ -7,476 +7,462 @@ EXPORTS _ZN10QSqlDriver16beginTransactionEv @ 6 NONAME _ZN10QSqlDriver16staticMetaObjectE @ 7 NONAME DATA 16 _ZN10QSqlDriver17commitTransactionEv @ 8 NONAME - _ZN10QSqlDriver19rollbackTransactionEv @ 9 NONAME - _ZN10QSqlDriver23subscribeToNotificationERK7QString @ 10 NONAME - _ZN10QSqlDriver27unsubscribeFromNotificationERK7QString @ 11 NONAME - _ZN10QSqlDriver37subscribeToNotificationImplementationERK7QString @ 12 NONAME - _ZN10QSqlDriver41unsubscribeFromNotificationImplementationERK7QString @ 13 NONAME - _ZN10QSqlDriver7setOpenEb @ 14 NONAME - _ZN10QSqlDriverC2EP7QObject @ 15 NONAME - _ZN10QSqlDriverD0Ev @ 16 NONAME - _ZN10QSqlDriverD1Ev @ 17 NONAME - _ZN10QSqlDriverD2Ev @ 18 NONAME - _ZN10QSqlRecord11clearValuesEv @ 19 NONAME - _ZN10QSqlRecord12setGeneratedERK7QStringb @ 20 NONAME - _ZN10QSqlRecord12setGeneratedEib @ 21 NONAME - _ZN10QSqlRecord5clearEv @ 22 NONAME - _ZN10QSqlRecord6appendERK9QSqlField @ 23 NONAME - _ZN10QSqlRecord6detachEv @ 24 NONAME - _ZN10QSqlRecord6insertEiRK9QSqlField @ 25 NONAME - _ZN10QSqlRecord6removeEi @ 26 NONAME - _ZN10QSqlRecord7replaceEiRK9QSqlField @ 27 NONAME - _ZN10QSqlRecord7setNullERK7QString @ 28 NONAME - _ZN10QSqlRecord7setNullEi @ 29 NONAME - _ZN10QSqlRecord8setValueERK7QStringRK8QVariant @ 30 NONAME - _ZN10QSqlRecord8setValueEiRK8QVariant @ 31 NONAME - _ZN10QSqlRecordC1ERKS_ @ 32 NONAME - _ZN10QSqlRecordC1Ev @ 33 NONAME - _ZN10QSqlRecordC2ERKS_ @ 34 NONAME - _ZN10QSqlRecordC2Ev @ 35 NONAME - _ZN10QSqlRecordD1Ev @ 36 NONAME - _ZN10QSqlRecordD2Ev @ 37 NONAME - _ZN10QSqlRecordaSERKS_ @ 38 NONAME - _ZN10QSqlResult10nextResultEv @ 39 NONAME - _ZN10QSqlResult11savePrepareERK7QString @ 40 NONAME - _ZN10QSqlResult12addBindValueERK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 41 NONAME - _ZN10QSqlResult12setLastErrorERK9QSqlError @ 42 NONAME - _ZN10QSqlResult12virtual_hookEiPv @ 43 NONAME - _ZN10QSqlResult13fetchPreviousEv @ 44 NONAME - _ZN10QSqlResult14resetBindCountEv @ 45 NONAME - _ZN10QSqlResult14setForwardOnlyEb @ 46 NONAME - _ZN10QSqlResult19detachFromResultSetEv @ 47 NONAME - _ZN10QSqlResult27setNumericalPrecisionPolicyEN4QSql24NumericalPrecisionPolicyE @ 48 NONAME - _ZN10QSqlResult4execEv @ 49 NONAME - _ZN10QSqlResult5clearEv @ 50 NONAME - _ZN10QSqlResult5setAtEi @ 51 NONAME - _ZN10QSqlResult7prepareERK7QString @ 52 NONAME - _ZN10QSqlResult8setQueryERK7QString @ 53 NONAME - _ZN10QSqlResult9bindValueERK7QStringRK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 54 NONAME - _ZN10QSqlResult9bindValueEiRK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 55 NONAME - _ZN10QSqlResult9execBatchEb @ 56 NONAME - _ZN10QSqlResult9fetchNextEv @ 57 NONAME - _ZN10QSqlResult9setActiveEb @ 58 NONAME - _ZN10QSqlResult9setSelectEb @ 59 NONAME - _ZN10QSqlResultC2EPK10QSqlDriver @ 60 NONAME - _ZN10QSqlResultD0Ev @ 61 NONAME - _ZN10QSqlResultD1Ev @ 62 NONAME - _ZN10QSqlResultD2Ev @ 63 NONAME - _ZN12QSqlDatabase11addDatabaseEP10QSqlDriverRK7QString @ 64 NONAME - _ZN12QSqlDatabase11addDatabaseERK7QStringS2_ @ 65 NONAME - _ZN12QSqlDatabase11setHostNameERK7QString @ 66 NONAME - _ZN12QSqlDatabase11setPasswordERK7QString @ 67 NONAME - _ZN12QSqlDatabase11setUserNameERK7QString @ 68 NONAME - _ZN12QSqlDatabase11transactionEv @ 69 NONAME - _ZN12QSqlDatabase13cloneDatabaseERKS_RK7QString @ 70 NONAME - _ZN12QSqlDatabase14removeDatabaseERK7QString @ 71 NONAME - _ZN12QSqlDatabase15connectionNamesEv @ 72 NONAME - _ZN12QSqlDatabase15setDatabaseNameERK7QString @ 73 NONAME - _ZN12QSqlDatabase17defaultConnectionE @ 74 NONAME DATA 4 - _ZN12QSqlDatabase17isDriverAvailableERK7QString @ 75 NONAME - _ZN12QSqlDatabase17registerSqlDriverERK7QStringP21QSqlDriverCreatorBase @ 76 NONAME - _ZN12QSqlDatabase17setConnectOptionsERK7QString @ 77 NONAME - _ZN12QSqlDatabase4openERK7QStringS2_ @ 78 NONAME - _ZN12QSqlDatabase4openEv @ 79 NONAME - _ZN12QSqlDatabase5closeEv @ 80 NONAME - _ZN12QSqlDatabase6commitEv @ 81 NONAME - _ZN12QSqlDatabase7driversEv @ 82 NONAME - _ZN12QSqlDatabase7setPortEi @ 83 NONAME - _ZN12QSqlDatabase8containsERK7QString @ 84 NONAME - _ZN12QSqlDatabase8databaseERK7QStringb @ 85 NONAME - _ZN12QSqlDatabase8rollbackEv @ 86 NONAME - _ZN12QSqlDatabaseC1EP10QSqlDriver @ 87 NONAME - _ZN12QSqlDatabaseC1ERK7QString @ 88 NONAME - _ZN12QSqlDatabaseC1ERKS_ @ 89 NONAME - _ZN12QSqlDatabaseC1Ev @ 90 NONAME - _ZN12QSqlDatabaseC2EP10QSqlDriver @ 91 NONAME - _ZN12QSqlDatabaseC2ERK7QString @ 92 NONAME - _ZN12QSqlDatabaseC2ERKS_ @ 93 NONAME - _ZN12QSqlDatabaseC2Ev @ 94 NONAME - _ZN12QSqlDatabaseD1Ev @ 95 NONAME - _ZN12QSqlDatabaseD2Ev @ 96 NONAME - _ZN12QSqlDatabaseaSERKS_ @ 97 NONAME - _ZN13QSQLiteDriver11qt_metacallEN11QMetaObject4CallEiPPv @ 98 NONAME - _ZN13QSQLiteDriver11qt_metacastEPKc @ 99 NONAME - _ZN13QSQLiteDriver16beginTransactionEv @ 100 NONAME - _ZN13QSQLiteDriver16staticMetaObjectE @ 101 NONAME DATA 16 - _ZN13QSQLiteDriver17commitTransactionEv @ 102 NONAME - _ZN13QSQLiteDriver19rollbackTransactionEv @ 103 NONAME - _ZN13QSQLiteDriver4openERK7QStringS2_S2_S2_iS2_ @ 104 NONAME - _ZN13QSQLiteDriver5closeEv @ 105 NONAME - _ZN13QSQLiteDriverC1EP7QObject @ 106 NONAME - _ZN13QSQLiteDriverC1EP7sqlite3P7QObject @ 107 NONAME - _ZN13QSQLiteDriverC2EP7QObject @ 108 NONAME - _ZN13QSQLiteDriverC2EP7sqlite3P7QObject @ 109 NONAME - _ZN13QSQLiteDriverD0Ev @ 110 NONAME - _ZN13QSQLiteDriverD1Ev @ 111 NONAME - _ZN13QSQLiteDriverD2Ev @ 112 NONAME - _ZN14QSqlQueryModel11qt_metacallEN11QMetaObject4CallEiPPv @ 113 NONAME - _ZN14QSqlQueryModel11qt_metacastEPKc @ 114 NONAME - _ZN14QSqlQueryModel11queryChangeEv @ 115 NONAME - _ZN14QSqlQueryModel12setLastErrorERK9QSqlError @ 116 NONAME - _ZN14QSqlQueryModel13insertColumnsEiiRK11QModelIndex @ 117 NONAME - _ZN14QSqlQueryModel13removeColumnsEiiRK11QModelIndex @ 118 NONAME - _ZN14QSqlQueryModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 119 NONAME - _ZN14QSqlQueryModel16staticMetaObjectE @ 120 NONAME DATA 16 - _ZN14QSqlQueryModel5clearEv @ 121 NONAME - _ZN14QSqlQueryModel8setQueryERK7QStringRK12QSqlDatabase @ 122 NONAME - _ZN14QSqlQueryModel8setQueryERK9QSqlQuery @ 123 NONAME - _ZN14QSqlQueryModel9fetchMoreERK11QModelIndex @ 124 NONAME - _ZN14QSqlQueryModelC1EP7QObject @ 125 NONAME - _ZN14QSqlQueryModelC1ER21QSqlQueryModelPrivateP7QObject @ 126 NONAME - _ZN14QSqlQueryModelC2EP7QObject @ 127 NONAME - _ZN14QSqlQueryModelC2ER21QSqlQueryModelPrivateP7QObject @ 128 NONAME - _ZN14QSqlQueryModelD0Ev @ 129 NONAME - _ZN14QSqlQueryModelD1Ev @ 130 NONAME - _ZN14QSqlQueryModelD2Ev @ 131 NONAME - _ZN14QSqlTableModel10insertRowsEiiRK11QModelIndex @ 132 NONAME - _ZN14QSqlTableModel10removeRowsEiiRK11QModelIndex @ 133 NONAME - _ZN14QSqlTableModel11primeInsertEiR10QSqlRecord @ 134 NONAME - _ZN14QSqlTableModel11qt_metacallEN11QMetaObject4CallEiPPv @ 135 NONAME - _ZN14QSqlTableModel11qt_metacastEPKc @ 136 NONAME - _ZN14QSqlTableModel12beforeDeleteEi @ 137 NONAME - _ZN14QSqlTableModel12beforeInsertER10QSqlRecord @ 138 NONAME - _ZN14QSqlTableModel12beforeUpdateEiR10QSqlRecord @ 139 NONAME - _ZN14QSqlTableModel12insertRecordEiRK10QSqlRecord @ 140 NONAME - _ZN14QSqlTableModel13removeColumnsEiiRK11QModelIndex @ 141 NONAME - _ZN14QSqlTableModel13setPrimaryKeyERK9QSqlIndex @ 142 NONAME - _ZN14QSqlTableModel15setEditStrategyENS_12EditStrategyE @ 143 NONAME - _ZN14QSqlTableModel16staticMetaObjectE @ 144 NONAME DATA 16 - _ZN14QSqlTableModel16updateRowInTableEiRK10QSqlRecord @ 145 NONAME - _ZN14QSqlTableModel18deleteRowFromTableEi @ 146 NONAME - _ZN14QSqlTableModel18insertRowIntoTableERK10QSqlRecord @ 147 NONAME - _ZN14QSqlTableModel4sortEiN2Qt9SortOrderE @ 148 NONAME - _ZN14QSqlTableModel5clearEv @ 149 NONAME - _ZN14QSqlTableModel6revertEv @ 150 NONAME - _ZN14QSqlTableModel6selectEv @ 151 NONAME - _ZN14QSqlTableModel6submitEv @ 152 NONAME - _ZN14QSqlTableModel7setDataERK11QModelIndexRK8QVarianti @ 153 NONAME - _ZN14QSqlTableModel7setSortEiN2Qt9SortOrderE @ 154 NONAME - _ZN14QSqlTableModel8setQueryERK9QSqlQuery @ 155 NONAME - _ZN14QSqlTableModel8setTableERK7QString @ 156 NONAME - _ZN14QSqlTableModel9revertAllEv @ 157 NONAME - _ZN14QSqlTableModel9revertRowEi @ 158 NONAME - _ZN14QSqlTableModel9setFilterERK7QString @ 159 NONAME - _ZN14QSqlTableModel9setRecordEiRK10QSqlRecord @ 160 NONAME - _ZN14QSqlTableModel9submitAllEv @ 161 NONAME - _ZN14QSqlTableModelC1EP7QObject12QSqlDatabase @ 162 NONAME - _ZN14QSqlTableModelC1ER21QSqlTableModelPrivateP7QObject12QSqlDatabase @ 163 NONAME - _ZN14QSqlTableModelC2EP7QObject12QSqlDatabase @ 164 NONAME - _ZN14QSqlTableModelC2ER21QSqlTableModelPrivateP7QObject12QSqlDatabase @ 165 NONAME - _ZN14QSqlTableModelD0Ev @ 166 NONAME - _ZN14QSqlTableModelD1Ev @ 167 NONAME - _ZN14QSqlTableModelD2Ev @ 168 NONAME - _ZN16QSqlCachedResult10fetchFirstEv @ 169 NONAME - _ZN16QSqlCachedResult11clearValuesEv @ 170 NONAME - _ZN16QSqlCachedResult13fetchPreviousEv @ 171 NONAME - _ZN16QSqlCachedResult4dataEi @ 172 NONAME - _ZN16QSqlCachedResult4initEi @ 173 NONAME - _ZN16QSqlCachedResult5cacheEv @ 174 NONAME - _ZN16QSqlCachedResult5fetchEi @ 175 NONAME - _ZN16QSqlCachedResult6isNullEi @ 176 NONAME - _ZN16QSqlCachedResult7cleanupEv @ 177 NONAME - _ZN16QSqlCachedResult9cacheNextEv @ 178 NONAME - _ZN16QSqlCachedResult9fetchLastEv @ 179 NONAME - _ZN16QSqlCachedResult9fetchNextEv @ 180 NONAME - _ZN16QSqlCachedResultC2EPK10QSqlDriver @ 181 NONAME - _ZN16QSqlCachedResultD0Ev @ 182 NONAME - _ZN16QSqlCachedResultD1Ev @ 183 NONAME - _ZN16QSqlCachedResultD2Ev @ 184 NONAME - _ZN16QSqlDriverPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 185 NONAME - _ZN16QSqlDriverPlugin11qt_metacastEPKc @ 186 NONAME - _ZN16QSqlDriverPlugin16staticMetaObjectE @ 187 NONAME DATA 16 - _ZN16QSqlDriverPluginC2EP7QObject @ 188 NONAME - _ZN16QSqlDriverPluginD0Ev @ 189 NONAME - _ZN16QSqlDriverPluginD1Ev @ 190 NONAME - _ZN16QSqlDriverPluginD2Ev @ 191 NONAME - _ZN24QSqlRelationalTableModel11qt_metacallEN11QMetaObject4CallEiPPv @ 192 NONAME - _ZN24QSqlRelationalTableModel11qt_metacastEPKc @ 193 NONAME - _ZN24QSqlRelationalTableModel11setRelationEiRK12QSqlRelation @ 194 NONAME - _ZN24QSqlRelationalTableModel13removeColumnsEiiRK11QModelIndex @ 195 NONAME - _ZN24QSqlRelationalTableModel16staticMetaObjectE @ 196 NONAME DATA 16 - _ZN24QSqlRelationalTableModel16updateRowInTableEiRK10QSqlRecord @ 197 NONAME - _ZN24QSqlRelationalTableModel18insertRowIntoTableERK10QSqlRecord @ 198 NONAME - _ZN24QSqlRelationalTableModel5clearEv @ 199 NONAME - _ZN24QSqlRelationalTableModel6selectEv @ 200 NONAME - _ZN24QSqlRelationalTableModel7setDataERK11QModelIndexRK8QVarianti @ 201 NONAME - _ZN24QSqlRelationalTableModel8setTableERK7QString @ 202 NONAME - _ZN24QSqlRelationalTableModel9revertRowEi @ 203 NONAME - _ZN24QSqlRelationalTableModelC1EP7QObject12QSqlDatabase @ 204 NONAME - _ZN24QSqlRelationalTableModelC2EP7QObject12QSqlDatabase @ 205 NONAME - _ZN24QSqlRelationalTableModelD0Ev @ 206 NONAME - _ZN24QSqlRelationalTableModelD1Ev @ 207 NONAME - _ZN24QSqlRelationalTableModelD2Ev @ 208 NONAME - _ZN9QSqlError13setDriverTextERK7QString @ 209 NONAME - _ZN9QSqlError15setDatabaseTextERK7QString @ 210 NONAME - _ZN9QSqlError7setTypeENS_9ErrorTypeE @ 211 NONAME - _ZN9QSqlError9setNumberEi @ 212 NONAME - _ZN9QSqlErrorC1ERK7QStringS2_NS_9ErrorTypeEi @ 213 NONAME - _ZN9QSqlErrorC1ERKS_ @ 214 NONAME - _ZN9QSqlErrorC2ERK7QStringS2_NS_9ErrorTypeEi @ 215 NONAME - _ZN9QSqlErrorC2ERKS_ @ 216 NONAME - _ZN9QSqlErrorD1Ev @ 217 NONAME - _ZN9QSqlErrorD2Ev @ 218 NONAME - _ZN9QSqlErroraSERKS_ @ 219 NONAME - _ZN9QSqlField10setSqlTypeEi @ 220 NONAME - _ZN9QSqlField11setReadOnlyEb @ 221 NONAME - _ZN9QSqlField12setAutoValueEb @ 222 NONAME - _ZN9QSqlField12setGeneratedEb @ 223 NONAME - _ZN9QSqlField12setPrecisionEi @ 224 NONAME - _ZN9QSqlField15setDefaultValueERK8QVariant @ 225 NONAME - _ZN9QSqlField17setRequiredStatusENS_14RequiredStatusE @ 226 NONAME - _ZN9QSqlField5clearEv @ 227 NONAME - _ZN9QSqlField6detachEv @ 228 NONAME - _ZN9QSqlField7setNameERK7QString @ 229 NONAME - _ZN9QSqlField7setTypeEN8QVariant4TypeE @ 230 NONAME - _ZN9QSqlField8setValueERK8QVariant @ 231 NONAME - _ZN9QSqlField9setLengthEi @ 232 NONAME - _ZN9QSqlFieldC1ERK7QString @ 233 NONAME ABSENT - _ZN9QSqlFieldC1ERK7QStringN8QVariant4TypeE @ 234 NONAME - _ZN9QSqlFieldC1ERKS_ @ 235 NONAME - _ZN9QSqlFieldC1Ev @ 236 NONAME ABSENT - _ZN9QSqlFieldC2ERK7QString @ 237 NONAME ABSENT - _ZN9QSqlFieldC2ERK7QStringN8QVariant4TypeE @ 238 NONAME - _ZN9QSqlFieldC2ERKS_ @ 239 NONAME - _ZN9QSqlFieldC2Ev @ 240 NONAME ABSENT - _ZN9QSqlFieldD1Ev @ 241 NONAME - _ZN9QSqlFieldD2Ev @ 242 NONAME - _ZN9QSqlFieldaSERKS_ @ 243 NONAME - _ZN9QSqlIndex13setCursorNameERK7QString @ 244 NONAME - _ZN9QSqlIndex13setDescendingEib @ 245 NONAME - _ZN9QSqlIndex6appendERK9QSqlField @ 246 NONAME - _ZN9QSqlIndex6appendERK9QSqlFieldb @ 247 NONAME - _ZN9QSqlIndex7setNameERK7QString @ 248 NONAME - _ZN9QSqlIndexC1ERK7QStringS2_ @ 249 NONAME - _ZN9QSqlIndexC1ERKS_ @ 250 NONAME - _ZN9QSqlIndexC2ERK7QStringS2_ @ 251 NONAME - _ZN9QSqlIndexC2ERKS_ @ 252 NONAME - _ZN9QSqlIndexD1Ev @ 253 NONAME - _ZN9QSqlIndexD2Ev @ 254 NONAME - _ZN9QSqlIndexaSERKS_ @ 255 NONAME - _ZN9QSqlQuery10nextResultEv @ 256 NONAME - _ZN9QSqlQuery12addBindValueERK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 257 NONAME - _ZN9QSqlQuery14setForwardOnlyEb @ 258 NONAME - _ZN9QSqlQuery27setNumericalPrecisionPolicyEN4QSql24NumericalPrecisionPolicyE @ 259 NONAME - _ZN9QSqlQuery4execERK7QString @ 260 NONAME - _ZN9QSqlQuery4execEv @ 261 NONAME - _ZN9QSqlQuery4lastEv @ 262 NONAME - _ZN9QSqlQuery4nextEv @ 263 NONAME - _ZN9QSqlQuery4seekEib @ 264 NONAME - _ZN9QSqlQuery5clearEv @ 265 NONAME - _ZN9QSqlQuery5firstEv @ 266 NONAME - _ZN9QSqlQuery6finishEv @ 267 NONAME - _ZN9QSqlQuery7prepareERK7QString @ 268 NONAME - _ZN9QSqlQuery8previousEv @ 269 NONAME - _ZN9QSqlQuery9bindValueERK7QStringRK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 270 NONAME - _ZN9QSqlQuery9bindValueEiRK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 271 NONAME - _ZN9QSqlQuery9execBatchENS_18BatchExecutionModeE @ 272 NONAME - _ZN9QSqlQueryC1E12QSqlDatabase @ 273 NONAME - _ZN9QSqlQueryC1EP10QSqlResult @ 274 NONAME - _ZN9QSqlQueryC1ERK7QString12QSqlDatabase @ 275 NONAME - _ZN9QSqlQueryC1ERKS_ @ 276 NONAME - _ZN9QSqlQueryC2E12QSqlDatabase @ 277 NONAME - _ZN9QSqlQueryC2EP10QSqlResult @ 278 NONAME - _ZN9QSqlQueryC2ERK7QString12QSqlDatabase @ 279 NONAME - _ZN9QSqlQueryC2ERKS_ @ 280 NONAME - _ZN9QSqlQueryD1Ev @ 281 NONAME - _ZN9QSqlQueryD2Ev @ 282 NONAME - _ZN9QSqlQueryaSERKS_ @ 283 NONAME - _ZNK10QSqlDriver10metaObjectEv @ 284 NONAME - _ZNK10QSqlDriver11formatValueERK9QSqlFieldb @ 285 NONAME - _ZNK10QSqlDriver11isOpenErrorEv @ 286 NONAME - _ZNK10QSqlDriver12primaryIndexERK7QString @ 287 NONAME - _ZNK10QSqlDriver12sqlStatementENS_13StatementTypeERK7QStringRK10QSqlRecordb @ 288 NONAME - _ZNK10QSqlDriver15stripDelimitersERK7QStringNS_14IdentifierTypeE @ 289 NONAME - _ZNK10QSqlDriver16escapeIdentifierERK7QStringNS_14IdentifierTypeE @ 290 NONAME - _ZNK10QSqlDriver19isIdentifierEscapedERK7QStringNS_14IdentifierTypeE @ 291 NONAME - _ZNK10QSqlDriver25subscribedToNotificationsEv @ 292 NONAME - _ZNK10QSqlDriver29stripDelimitersImplementationERK7QStringNS_14IdentifierTypeE @ 293 NONAME - _ZNK10QSqlDriver33isIdentifierEscapedImplementationERK7QStringNS_14IdentifierTypeE @ 294 NONAME - _ZNK10QSqlDriver39subscribedToNotificationsImplementationEv @ 295 NONAME - _ZNK10QSqlDriver6handleEv @ 296 NONAME - _ZNK10QSqlDriver6isOpenEv @ 297 NONAME - _ZNK10QSqlDriver6recordERK7QString @ 298 NONAME - _ZNK10QSqlDriver6tablesEN4QSql9TableTypeE @ 299 NONAME - _ZNK10QSqlDriver9lastErrorEv @ 300 NONAME - _ZNK10QSqlRecord11isGeneratedERK7QString @ 301 NONAME - _ZNK10QSqlRecord11isGeneratedEi @ 302 NONAME - _ZNK10QSqlRecord5countEv @ 303 NONAME - _ZNK10QSqlRecord5fieldERK7QString @ 304 NONAME - _ZNK10QSqlRecord5fieldEi @ 305 NONAME - _ZNK10QSqlRecord5valueERK7QString @ 306 NONAME - _ZNK10QSqlRecord5valueEi @ 307 NONAME - _ZNK10QSqlRecord6isNullERK7QString @ 308 NONAME - _ZNK10QSqlRecord6isNullEi @ 309 NONAME - _ZNK10QSqlRecord7indexOfERK7QString @ 310 NONAME - _ZNK10QSqlRecord7isEmptyEv @ 311 NONAME - _ZNK10QSqlRecord8containsERK7QString @ 312 NONAME - _ZNK10QSqlRecord9fieldNameEi @ 313 NONAME - _ZNK10QSqlRecordeqERKS_ @ 314 NONAME - _ZNK10QSqlResult10boundValueERK7QString @ 315 NONAME - _ZNK10QSqlResult10boundValueEi @ 316 NONAME - _ZNK10QSqlResult11boundValuesEv @ 317 NONAME - _ZNK10QSqlResult12hasOutValuesEv @ 318 NONAME - _ZNK10QSqlResult12lastInsertIdEv @ 319 NONAME - _ZNK10QSqlResult13bindValueTypeERK7QString @ 320 NONAME - _ZNK10QSqlResult13bindValueTypeEi @ 321 NONAME - _ZNK10QSqlResult13bindingSyntaxEv @ 322 NONAME - _ZNK10QSqlResult13executedQueryEv @ 323 NONAME - _ZNK10QSqlResult13isForwardOnlyEv @ 324 NONAME - _ZNK10QSqlResult14boundValueNameEi @ 325 NONAME - _ZNK10QSqlResult15boundValueCountEv @ 326 NONAME - _ZNK10QSqlResult2atEv @ 327 NONAME - _ZNK10QSqlResult6driverEv @ 328 NONAME - _ZNK10QSqlResult6handleEv @ 329 NONAME - _ZNK10QSqlResult6recordEv @ 330 NONAME - _ZNK10QSqlResult7isValidEv @ 331 NONAME - _ZNK10QSqlResult8isActiveEv @ 332 NONAME - _ZNK10QSqlResult8isSelectEv @ 333 NONAME - _ZNK10QSqlResult9lastErrorEv @ 334 NONAME - _ZNK10QSqlResult9lastQueryEv @ 335 NONAME - _ZNK12QSqlDatabase10driverNameEv @ 336 NONAME - _ZNK12QSqlDatabase11isOpenErrorEv @ 337 NONAME - _ZNK12QSqlDatabase12databaseNameEv @ 338 NONAME - _ZNK12QSqlDatabase12primaryIndexERK7QString @ 339 NONAME - _ZNK12QSqlDatabase14connectOptionsEv @ 340 NONAME - _ZNK12QSqlDatabase14connectionNameEv @ 341 NONAME - _ZNK12QSqlDatabase4execERK7QString @ 342 NONAME - _ZNK12QSqlDatabase4portEv @ 343 NONAME - _ZNK12QSqlDatabase6driverEv @ 344 NONAME - _ZNK12QSqlDatabase6isOpenEv @ 345 NONAME - _ZNK12QSqlDatabase6recordERK7QString @ 346 NONAME - _ZNK12QSqlDatabase6tablesEN4QSql9TableTypeE @ 347 NONAME - _ZNK12QSqlDatabase7isValidEv @ 348 NONAME - _ZNK12QSqlDatabase8hostNameEv @ 349 NONAME - _ZNK12QSqlDatabase8passwordEv @ 350 NONAME - _ZNK12QSqlDatabase8userNameEv @ 351 NONAME - _ZNK12QSqlDatabase9lastErrorEv @ 352 NONAME - _ZNK13QSQLiteDriver10hasFeatureEN10QSqlDriver13DriverFeatureE @ 353 NONAME - _ZNK13QSQLiteDriver10metaObjectEv @ 354 NONAME - _ZNK13QSQLiteDriver12createResultEv @ 355 NONAME - _ZNK13QSQLiteDriver12primaryIndexERK7QString @ 356 NONAME - _ZNK13QSQLiteDriver16escapeIdentifierERK7QStringN10QSqlDriver14IdentifierTypeE @ 357 NONAME - _ZNK13QSQLiteDriver6handleEv @ 358 NONAME - _ZNK13QSQLiteDriver6recordERK7QString @ 359 NONAME - _ZNK13QSQLiteDriver6tablesEN4QSql9TableTypeE @ 360 NONAME - _ZNK14QSqlQueryModel10headerDataEiN2Qt11OrientationEi @ 361 NONAME - _ZNK14QSqlQueryModel10metaObjectEv @ 362 NONAME - _ZNK14QSqlQueryModel11columnCountERK11QModelIndex @ 363 NONAME - _ZNK14QSqlQueryModel12canFetchMoreERK11QModelIndex @ 364 NONAME - _ZNK14QSqlQueryModel12indexInQueryERK11QModelIndex @ 365 NONAME - _ZNK14QSqlQueryModel4dataERK11QModelIndexi @ 366 NONAME - _ZNK14QSqlQueryModel5queryEv @ 367 NONAME - _ZNK14QSqlQueryModel6recordEi @ 368 NONAME - _ZNK14QSqlQueryModel6recordEv @ 369 NONAME - _ZNK14QSqlQueryModel8rowCountERK11QModelIndex @ 370 NONAME - _ZNK14QSqlQueryModel9lastErrorEv @ 371 NONAME - _ZNK14QSqlTableModel10fieldIndexERK7QString @ 372 NONAME - _ZNK14QSqlTableModel10headerDataEiN2Qt11OrientationEi @ 373 NONAME - _ZNK14QSqlTableModel10metaObjectEv @ 374 NONAME - _ZNK14QSqlTableModel10primaryKeyEv @ 375 NONAME - _ZNK14QSqlTableModel12editStrategyEv @ 376 NONAME - _ZNK14QSqlTableModel12indexInQueryERK11QModelIndex @ 377 NONAME - _ZNK14QSqlTableModel13orderByClauseEv @ 378 NONAME - _ZNK14QSqlTableModel15selectStatementEv @ 379 NONAME - _ZNK14QSqlTableModel4dataERK11QModelIndexi @ 380 NONAME - _ZNK14QSqlTableModel5flagsERK11QModelIndex @ 381 NONAME - _ZNK14QSqlTableModel6filterEv @ 382 NONAME - _ZNK14QSqlTableModel7isDirtyERK11QModelIndex @ 383 NONAME - _ZNK14QSqlTableModel8databaseEv @ 384 NONAME - _ZNK14QSqlTableModel8rowCountERK11QModelIndex @ 385 NONAME - _ZNK14QSqlTableModel9tableNameEv @ 386 NONAME - _ZNK16QSqlCachedResult8colCountEv @ 387 NONAME - _ZNK16QSqlDriverPlugin10metaObjectEv @ 388 NONAME - _ZNK24QSqlRelationalTableModel10metaObjectEv @ 389 NONAME - _ZNK24QSqlRelationalTableModel13orderByClauseEv @ 390 NONAME - _ZNK24QSqlRelationalTableModel13relationModelEi @ 391 NONAME - _ZNK24QSqlRelationalTableModel15selectStatementEv @ 392 NONAME - _ZNK24QSqlRelationalTableModel4dataERK11QModelIndexi @ 393 NONAME - _ZNK24QSqlRelationalTableModel8relationEi @ 394 NONAME - _ZNK9QSqlError10driverTextEv @ 395 NONAME - _ZNK9QSqlError12databaseTextEv @ 396 NONAME - _ZNK9QSqlError4textEv @ 397 NONAME - _ZNK9QSqlError4typeEv @ 398 NONAME - _ZNK9QSqlError6numberEv @ 399 NONAME - _ZNK9QSqlError7isValidEv @ 400 NONAME - _ZNK9QSqlField10isReadOnlyEv @ 401 NONAME - _ZNK9QSqlField11isAutoValueEv @ 402 NONAME - _ZNK9QSqlField11isGeneratedEv @ 403 NONAME - _ZNK9QSqlField12defaultValueEv @ 404 NONAME - _ZNK9QSqlField14requiredStatusEv @ 405 NONAME - _ZNK9QSqlField4nameEv @ 406 NONAME - _ZNK9QSqlField4typeEv @ 407 NONAME - _ZNK9QSqlField6isNullEv @ 408 NONAME - _ZNK9QSqlField6lengthEv @ 409 NONAME - _ZNK9QSqlField6typeIDEv @ 410 NONAME - _ZNK9QSqlField7isValidEv @ 411 NONAME - _ZNK9QSqlField9precisionEv @ 412 NONAME - _ZNK9QSqlFieldeqERKS_ @ 413 NONAME - _ZNK9QSqlIndex11createFieldEiRK7QStringb @ 414 NONAME - _ZNK9QSqlIndex12isDescendingEi @ 415 NONAME - _ZNK9QSqlQuery10boundValueERK7QString @ 416 NONAME - _ZNK9QSqlQuery10boundValueEi @ 417 NONAME - _ZNK9QSqlQuery11boundValuesEv @ 418 NONAME - _ZNK9QSqlQuery12lastInsertIdEv @ 419 NONAME - _ZNK9QSqlQuery13executedQueryEv @ 420 NONAME - _ZNK9QSqlQuery13isForwardOnlyEv @ 421 NONAME - _ZNK9QSqlQuery15numRowsAffectedEv @ 422 NONAME - _ZNK9QSqlQuery24numericalPrecisionPolicyEv @ 423 NONAME - _ZNK9QSqlQuery2atEv @ 424 NONAME - _ZNK9QSqlQuery4sizeEv @ 425 NONAME - _ZNK9QSqlQuery5valueEi @ 426 NONAME - _ZNK9QSqlQuery6driverEv @ 427 NONAME - _ZNK9QSqlQuery6isNullEi @ 428 NONAME - _ZNK9QSqlQuery6recordEv @ 429 NONAME - _ZNK9QSqlQuery6resultEv @ 430 NONAME - _ZNK9QSqlQuery7isValidEv @ 431 NONAME - _ZNK9QSqlQuery8isActiveEv @ 432 NONAME - _ZNK9QSqlQuery8isSelectEv @ 433 NONAME - _ZNK9QSqlQuery9lastErrorEv @ 434 NONAME - _ZNK9QSqlQuery9lastQueryEv @ 435 NONAME - _ZTI10QSqlDriver @ 436 NONAME - _ZTI10QSqlResult @ 437 NONAME - _ZTI13QSQLiteDriver @ 438 NONAME - _ZTI13QSQLiteResult @ 439 NONAME ABSENT - _ZTI14QSqlQueryModel @ 440 NONAME - _ZTI14QSqlTableModel @ 441 NONAME - _ZTI16QSqlCachedResult @ 442 NONAME - _ZTI16QSqlDriverPlugin @ 443 NONAME - _ZTI17QSqlDriverPrivate @ 444 NONAME ABSENT - _ZTI21QSqlQueryModelPrivate @ 445 NONAME ABSENT - _ZTI21QSqlTableModelPrivate @ 446 NONAME ABSENT - _ZTI24QSqlRelationalTableModel @ 447 NONAME - _ZTI26QSqlDriverFactoryInterface @ 448 NONAME - _ZTI31QSqlRelationalTableModelPrivate @ 449 NONAME ABSENT - _ZTV10QSqlDriver @ 450 NONAME - _ZTV10QSqlResult @ 451 NONAME - _ZTV13QSQLiteDriver @ 452 NONAME - _ZTV13QSQLiteResult @ 453 NONAME ABSENT - _ZTV14QSqlQueryModel @ 454 NONAME - _ZTV14QSqlTableModel @ 455 NONAME - _ZTV16QSqlCachedResult @ 456 NONAME - _ZTV16QSqlDriverPlugin @ 457 NONAME - _ZTV17QSqlDriverPrivate @ 458 NONAME ABSENT - _ZTV21QSqlQueryModelPrivate @ 459 NONAME ABSENT - _ZTV21QSqlTableModelPrivate @ 460 NONAME ABSENT - _ZTV24QSqlRelationalTableModel @ 461 NONAME - _ZTV31QSqlRelationalTableModelPrivate @ 462 NONAME ABSENT - _ZThn8_N16QSqlDriverPluginD0Ev @ 463 NONAME - _ZThn8_N16QSqlDriverPluginD1Ev @ 464 NONAME - _Zls6QDebugRK10QSqlRecord @ 465 NONAME - _Zls6QDebugRK12QSqlDatabase @ 466 NONAME - _Zls6QDebugRK9QSqlError @ 467 NONAME - _Zls6QDebugRK9QSqlField @ 468 NONAME - _ZN10QSqlDriver27setNumericalPrecisionPolicyEN4QSql24NumericalPrecisionPolicyE @ 469 NONAME - _ZN12QSqlDatabase27setNumericalPrecisionPolicyEN4QSql24NumericalPrecisionPolicyE @ 470 NONAME - _ZN16QSqlCachedResult12virtual_hookEiPv @ 471 NONAME - _ZNK10QSqlDriver24numericalPrecisionPolicyEv @ 472 NONAME - _ZNK10QSqlResult24numericalPrecisionPolicyEv @ 473 NONAME - _ZNK12QSqlDatabase24numericalPrecisionPolicyEv @ 474 NONAME - _ZN10QSqlDriver19getStaticMetaObjectEv @ 475 NONAME - _ZN13QSQLiteDriver19getStaticMetaObjectEv @ 476 NONAME - _ZN14QSqlQueryModel19getStaticMetaObjectEv @ 477 NONAME - _ZN14QSqlTableModel19getStaticMetaObjectEv @ 478 NONAME - _ZN16QSqlDriverPlugin19getStaticMetaObjectEv @ 479 NONAME - _ZN24QSqlRelationalTableModel19getStaticMetaObjectEv @ 480 NONAME + _ZN10QSqlDriver19getStaticMetaObjectEv @ 9 NONAME + _ZN10QSqlDriver19rollbackTransactionEv @ 10 NONAME + _ZN10QSqlDriver23subscribeToNotificationERK7QString @ 11 NONAME + _ZN10QSqlDriver27setNumericalPrecisionPolicyEN4QSql24NumericalPrecisionPolicyE @ 12 NONAME + _ZN10QSqlDriver27unsubscribeFromNotificationERK7QString @ 13 NONAME + _ZN10QSqlDriver37subscribeToNotificationImplementationERK7QString @ 14 NONAME + _ZN10QSqlDriver41unsubscribeFromNotificationImplementationERK7QString @ 15 NONAME + _ZN10QSqlDriver7setOpenEb @ 16 NONAME + _ZN10QSqlDriverC2EP7QObject @ 17 NONAME + _ZN10QSqlDriverD0Ev @ 18 NONAME + _ZN10QSqlDriverD1Ev @ 19 NONAME + _ZN10QSqlDriverD2Ev @ 20 NONAME + _ZN10QSqlRecord11clearValuesEv @ 21 NONAME + _ZN10QSqlRecord12setGeneratedERK7QStringb @ 22 NONAME + _ZN10QSqlRecord12setGeneratedEib @ 23 NONAME + _ZN10QSqlRecord5clearEv @ 24 NONAME + _ZN10QSqlRecord6appendERK9QSqlField @ 25 NONAME + _ZN10QSqlRecord6detachEv @ 26 NONAME + _ZN10QSqlRecord6insertEiRK9QSqlField @ 27 NONAME + _ZN10QSqlRecord6removeEi @ 28 NONAME + _ZN10QSqlRecord7replaceEiRK9QSqlField @ 29 NONAME + _ZN10QSqlRecord7setNullERK7QString @ 30 NONAME + _ZN10QSqlRecord7setNullEi @ 31 NONAME + _ZN10QSqlRecord8setValueERK7QStringRK8QVariant @ 32 NONAME + _ZN10QSqlRecord8setValueEiRK8QVariant @ 33 NONAME + _ZN10QSqlRecordC1ERKS_ @ 34 NONAME + _ZN10QSqlRecordC1Ev @ 35 NONAME + _ZN10QSqlRecordC2ERKS_ @ 36 NONAME + _ZN10QSqlRecordC2Ev @ 37 NONAME + _ZN10QSqlRecordD1Ev @ 38 NONAME + _ZN10QSqlRecordD2Ev @ 39 NONAME + _ZN10QSqlRecordaSERKS_ @ 40 NONAME + _ZN10QSqlResult10nextResultEv @ 41 NONAME + _ZN10QSqlResult11savePrepareERK7QString @ 42 NONAME + _ZN10QSqlResult12addBindValueERK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 43 NONAME + _ZN10QSqlResult12setLastErrorERK9QSqlError @ 44 NONAME + _ZN10QSqlResult12virtual_hookEiPv @ 45 NONAME + _ZN10QSqlResult13fetchPreviousEv @ 46 NONAME + _ZN10QSqlResult14resetBindCountEv @ 47 NONAME + _ZN10QSqlResult14setForwardOnlyEb @ 48 NONAME + _ZN10QSqlResult19detachFromResultSetEv @ 49 NONAME + _ZN10QSqlResult27setNumericalPrecisionPolicyEN4QSql24NumericalPrecisionPolicyE @ 50 NONAME + _ZN10QSqlResult4execEv @ 51 NONAME + _ZN10QSqlResult5clearEv @ 52 NONAME + _ZN10QSqlResult5setAtEi @ 53 NONAME + _ZN10QSqlResult7prepareERK7QString @ 54 NONAME + _ZN10QSqlResult8setQueryERK7QString @ 55 NONAME + _ZN10QSqlResult9bindValueERK7QStringRK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 56 NONAME + _ZN10QSqlResult9bindValueEiRK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 57 NONAME + _ZN10QSqlResult9execBatchEb @ 58 NONAME + _ZN10QSqlResult9fetchNextEv @ 59 NONAME + _ZN10QSqlResult9setActiveEb @ 60 NONAME + _ZN10QSqlResult9setSelectEb @ 61 NONAME + _ZN10QSqlResultC2EPK10QSqlDriver @ 62 NONAME + _ZN10QSqlResultD0Ev @ 63 NONAME + _ZN10QSqlResultD1Ev @ 64 NONAME + _ZN10QSqlResultD2Ev @ 65 NONAME + _ZN12QSqlDatabase11addDatabaseEP10QSqlDriverRK7QString @ 66 NONAME + _ZN12QSqlDatabase11addDatabaseERK7QStringS2_ @ 67 NONAME + _ZN12QSqlDatabase11setHostNameERK7QString @ 68 NONAME + _ZN12QSqlDatabase11setPasswordERK7QString @ 69 NONAME + _ZN12QSqlDatabase11setUserNameERK7QString @ 70 NONAME + _ZN12QSqlDatabase11transactionEv @ 71 NONAME + _ZN12QSqlDatabase13cloneDatabaseERKS_RK7QString @ 72 NONAME + _ZN12QSqlDatabase14removeDatabaseERK7QString @ 73 NONAME + _ZN12QSqlDatabase15connectionNamesEv @ 74 NONAME + _ZN12QSqlDatabase15setDatabaseNameERK7QString @ 75 NONAME + _ZN12QSqlDatabase17defaultConnectionE @ 76 NONAME DATA 4 + _ZN12QSqlDatabase17isDriverAvailableERK7QString @ 77 NONAME + _ZN12QSqlDatabase17registerSqlDriverERK7QStringP21QSqlDriverCreatorBase @ 78 NONAME + _ZN12QSqlDatabase17setConnectOptionsERK7QString @ 79 NONAME + _ZN12QSqlDatabase27setNumericalPrecisionPolicyEN4QSql24NumericalPrecisionPolicyE @ 80 NONAME + _ZN12QSqlDatabase4openERK7QStringS2_ @ 81 NONAME + _ZN12QSqlDatabase4openEv @ 82 NONAME + _ZN12QSqlDatabase5closeEv @ 83 NONAME + _ZN12QSqlDatabase6commitEv @ 84 NONAME + _ZN12QSqlDatabase7driversEv @ 85 NONAME + _ZN12QSqlDatabase7setPortEi @ 86 NONAME + _ZN12QSqlDatabase8containsERK7QString @ 87 NONAME + _ZN12QSqlDatabase8databaseERK7QStringb @ 88 NONAME + _ZN12QSqlDatabase8rollbackEv @ 89 NONAME + _ZN12QSqlDatabaseC1EP10QSqlDriver @ 90 NONAME + _ZN12QSqlDatabaseC1ERK7QString @ 91 NONAME + _ZN12QSqlDatabaseC1ERKS_ @ 92 NONAME + _ZN12QSqlDatabaseC1Ev @ 93 NONAME + _ZN12QSqlDatabaseC2EP10QSqlDriver @ 94 NONAME + _ZN12QSqlDatabaseC2ERK7QString @ 95 NONAME + _ZN12QSqlDatabaseC2ERKS_ @ 96 NONAME + _ZN12QSqlDatabaseC2Ev @ 97 NONAME + _ZN12QSqlDatabaseD1Ev @ 98 NONAME + _ZN12QSqlDatabaseD2Ev @ 99 NONAME + _ZN12QSqlDatabaseaSERKS_ @ 100 NONAME + _ZN13QSQLiteDriver11qt_metacallEN11QMetaObject4CallEiPPv @ 101 NONAME + _ZN13QSQLiteDriver11qt_metacastEPKc @ 102 NONAME + _ZN13QSQLiteDriver16beginTransactionEv @ 103 NONAME + _ZN13QSQLiteDriver16staticMetaObjectE @ 104 NONAME DATA 16 + _ZN13QSQLiteDriver17commitTransactionEv @ 105 NONAME + _ZN13QSQLiteDriver19getStaticMetaObjectEv @ 106 NONAME + _ZN13QSQLiteDriver19rollbackTransactionEv @ 107 NONAME + _ZN13QSQLiteDriver4openERK7QStringS2_S2_S2_iS2_ @ 108 NONAME + _ZN13QSQLiteDriver5closeEv @ 109 NONAME + _ZN13QSQLiteDriverC1EP7QObject @ 110 NONAME + _ZN13QSQLiteDriverC1EP7sqlite3P7QObject @ 111 NONAME + _ZN13QSQLiteDriverC2EP7QObject @ 112 NONAME + _ZN13QSQLiteDriverC2EP7sqlite3P7QObject @ 113 NONAME + _ZN13QSQLiteDriverD0Ev @ 114 NONAME + _ZN13QSQLiteDriverD1Ev @ 115 NONAME + _ZN13QSQLiteDriverD2Ev @ 116 NONAME + _ZN14QSqlQueryModel11qt_metacallEN11QMetaObject4CallEiPPv @ 117 NONAME + _ZN14QSqlQueryModel11qt_metacastEPKc @ 118 NONAME + _ZN14QSqlQueryModel11queryChangeEv @ 119 NONAME + _ZN14QSqlQueryModel12setLastErrorERK9QSqlError @ 120 NONAME + _ZN14QSqlQueryModel13insertColumnsEiiRK11QModelIndex @ 121 NONAME + _ZN14QSqlQueryModel13removeColumnsEiiRK11QModelIndex @ 122 NONAME + _ZN14QSqlQueryModel13setHeaderDataEiN2Qt11OrientationERK8QVarianti @ 123 NONAME + _ZN14QSqlQueryModel16staticMetaObjectE @ 124 NONAME DATA 16 + _ZN14QSqlQueryModel19getStaticMetaObjectEv @ 125 NONAME + _ZN14QSqlQueryModel5clearEv @ 126 NONAME + _ZN14QSqlQueryModel8setQueryERK7QStringRK12QSqlDatabase @ 127 NONAME + _ZN14QSqlQueryModel8setQueryERK9QSqlQuery @ 128 NONAME + _ZN14QSqlQueryModel9fetchMoreERK11QModelIndex @ 129 NONAME + _ZN14QSqlQueryModelC1EP7QObject @ 130 NONAME + _ZN14QSqlQueryModelC1ER21QSqlQueryModelPrivateP7QObject @ 131 NONAME + _ZN14QSqlQueryModelC2EP7QObject @ 132 NONAME + _ZN14QSqlQueryModelC2ER21QSqlQueryModelPrivateP7QObject @ 133 NONAME + _ZN14QSqlQueryModelD0Ev @ 134 NONAME + _ZN14QSqlQueryModelD1Ev @ 135 NONAME + _ZN14QSqlQueryModelD2Ev @ 136 NONAME + _ZN14QSqlTableModel10insertRowsEiiRK11QModelIndex @ 137 NONAME + _ZN14QSqlTableModel10removeRowsEiiRK11QModelIndex @ 138 NONAME + _ZN14QSqlTableModel11primeInsertEiR10QSqlRecord @ 139 NONAME + _ZN14QSqlTableModel11qt_metacallEN11QMetaObject4CallEiPPv @ 140 NONAME + _ZN14QSqlTableModel11qt_metacastEPKc @ 141 NONAME + _ZN14QSqlTableModel12beforeDeleteEi @ 142 NONAME + _ZN14QSqlTableModel12beforeInsertER10QSqlRecord @ 143 NONAME + _ZN14QSqlTableModel12beforeUpdateEiR10QSqlRecord @ 144 NONAME + _ZN14QSqlTableModel12insertRecordEiRK10QSqlRecord @ 145 NONAME + _ZN14QSqlTableModel13removeColumnsEiiRK11QModelIndex @ 146 NONAME + _ZN14QSqlTableModel13setPrimaryKeyERK9QSqlIndex @ 147 NONAME + _ZN14QSqlTableModel15setEditStrategyENS_12EditStrategyE @ 148 NONAME + _ZN14QSqlTableModel16staticMetaObjectE @ 149 NONAME DATA 16 + _ZN14QSqlTableModel16updateRowInTableEiRK10QSqlRecord @ 150 NONAME + _ZN14QSqlTableModel18deleteRowFromTableEi @ 151 NONAME + _ZN14QSqlTableModel18insertRowIntoTableERK10QSqlRecord @ 152 NONAME + _ZN14QSqlTableModel19getStaticMetaObjectEv @ 153 NONAME + _ZN14QSqlTableModel4sortEiN2Qt9SortOrderE @ 154 NONAME + _ZN14QSqlTableModel5clearEv @ 155 NONAME + _ZN14QSqlTableModel6revertEv @ 156 NONAME + _ZN14QSqlTableModel6selectEv @ 157 NONAME + _ZN14QSqlTableModel6submitEv @ 158 NONAME + _ZN14QSqlTableModel7setDataERK11QModelIndexRK8QVarianti @ 159 NONAME + _ZN14QSqlTableModel7setSortEiN2Qt9SortOrderE @ 160 NONAME + _ZN14QSqlTableModel8setQueryERK9QSqlQuery @ 161 NONAME + _ZN14QSqlTableModel8setTableERK7QString @ 162 NONAME + _ZN14QSqlTableModel9revertAllEv @ 163 NONAME + _ZN14QSqlTableModel9revertRowEi @ 164 NONAME + _ZN14QSqlTableModel9setFilterERK7QString @ 165 NONAME + _ZN14QSqlTableModel9setRecordEiRK10QSqlRecord @ 166 NONAME + _ZN14QSqlTableModel9submitAllEv @ 167 NONAME + _ZN14QSqlTableModelC1EP7QObject12QSqlDatabase @ 168 NONAME + _ZN14QSqlTableModelC1ER21QSqlTableModelPrivateP7QObject12QSqlDatabase @ 169 NONAME + _ZN14QSqlTableModelC2EP7QObject12QSqlDatabase @ 170 NONAME + _ZN14QSqlTableModelC2ER21QSqlTableModelPrivateP7QObject12QSqlDatabase @ 171 NONAME + _ZN14QSqlTableModelD0Ev @ 172 NONAME + _ZN14QSqlTableModelD1Ev @ 173 NONAME + _ZN14QSqlTableModelD2Ev @ 174 NONAME + _ZN16QSqlCachedResult10fetchFirstEv @ 175 NONAME + _ZN16QSqlCachedResult11clearValuesEv @ 176 NONAME + _ZN16QSqlCachedResult12virtual_hookEiPv @ 177 NONAME + _ZN16QSqlCachedResult13fetchPreviousEv @ 178 NONAME + _ZN16QSqlCachedResult4dataEi @ 179 NONAME + _ZN16QSqlCachedResult4initEi @ 180 NONAME + _ZN16QSqlCachedResult5cacheEv @ 181 NONAME + _ZN16QSqlCachedResult5fetchEi @ 182 NONAME + _ZN16QSqlCachedResult6isNullEi @ 183 NONAME + _ZN16QSqlCachedResult7cleanupEv @ 184 NONAME + _ZN16QSqlCachedResult9cacheNextEv @ 185 NONAME + _ZN16QSqlCachedResult9fetchLastEv @ 186 NONAME + _ZN16QSqlCachedResult9fetchNextEv @ 187 NONAME + _ZN16QSqlCachedResultC2EPK10QSqlDriver @ 188 NONAME + _ZN16QSqlCachedResultD0Ev @ 189 NONAME + _ZN16QSqlCachedResultD1Ev @ 190 NONAME + _ZN16QSqlCachedResultD2Ev @ 191 NONAME + _ZN16QSqlDriverPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 192 NONAME + _ZN16QSqlDriverPlugin11qt_metacastEPKc @ 193 NONAME + _ZN16QSqlDriverPlugin16staticMetaObjectE @ 194 NONAME DATA 16 + _ZN16QSqlDriverPlugin19getStaticMetaObjectEv @ 195 NONAME + _ZN16QSqlDriverPluginC2EP7QObject @ 196 NONAME + _ZN16QSqlDriverPluginD0Ev @ 197 NONAME + _ZN16QSqlDriverPluginD1Ev @ 198 NONAME + _ZN16QSqlDriverPluginD2Ev @ 199 NONAME + _ZN24QSqlRelationalTableModel11qt_metacallEN11QMetaObject4CallEiPPv @ 200 NONAME + _ZN24QSqlRelationalTableModel11qt_metacastEPKc @ 201 NONAME + _ZN24QSqlRelationalTableModel11setRelationEiRK12QSqlRelation @ 202 NONAME + _ZN24QSqlRelationalTableModel13removeColumnsEiiRK11QModelIndex @ 203 NONAME + _ZN24QSqlRelationalTableModel16staticMetaObjectE @ 204 NONAME DATA 16 + _ZN24QSqlRelationalTableModel16updateRowInTableEiRK10QSqlRecord @ 205 NONAME + _ZN24QSqlRelationalTableModel18insertRowIntoTableERK10QSqlRecord @ 206 NONAME + _ZN24QSqlRelationalTableModel19getStaticMetaObjectEv @ 207 NONAME + _ZN24QSqlRelationalTableModel5clearEv @ 208 NONAME + _ZN24QSqlRelationalTableModel6selectEv @ 209 NONAME + _ZN24QSqlRelationalTableModel7setDataERK11QModelIndexRK8QVarianti @ 210 NONAME + _ZN24QSqlRelationalTableModel8setTableERK7QString @ 211 NONAME + _ZN24QSqlRelationalTableModel9revertRowEi @ 212 NONAME + _ZN24QSqlRelationalTableModelC1EP7QObject12QSqlDatabase @ 213 NONAME + _ZN24QSqlRelationalTableModelC2EP7QObject12QSqlDatabase @ 214 NONAME + _ZN24QSqlRelationalTableModelD0Ev @ 215 NONAME + _ZN24QSqlRelationalTableModelD1Ev @ 216 NONAME + _ZN24QSqlRelationalTableModelD2Ev @ 217 NONAME + _ZN9QSqlError13setDriverTextERK7QString @ 218 NONAME + _ZN9QSqlError15setDatabaseTextERK7QString @ 219 NONAME + _ZN9QSqlError7setTypeENS_9ErrorTypeE @ 220 NONAME + _ZN9QSqlError9setNumberEi @ 221 NONAME + _ZN9QSqlErrorC1ERK7QStringS2_NS_9ErrorTypeEi @ 222 NONAME + _ZN9QSqlErrorC1ERKS_ @ 223 NONAME + _ZN9QSqlErrorC2ERK7QStringS2_NS_9ErrorTypeEi @ 224 NONAME + _ZN9QSqlErrorC2ERKS_ @ 225 NONAME + _ZN9QSqlErrorD1Ev @ 226 NONAME + _ZN9QSqlErrorD2Ev @ 227 NONAME + _ZN9QSqlErroraSERKS_ @ 228 NONAME + _ZN9QSqlField10setSqlTypeEi @ 229 NONAME + _ZN9QSqlField11setReadOnlyEb @ 230 NONAME + _ZN9QSqlField12setAutoValueEb @ 231 NONAME + _ZN9QSqlField12setGeneratedEb @ 232 NONAME + _ZN9QSqlField12setPrecisionEi @ 233 NONAME + _ZN9QSqlField15setDefaultValueERK8QVariant @ 234 NONAME + _ZN9QSqlField17setRequiredStatusENS_14RequiredStatusE @ 235 NONAME + _ZN9QSqlField5clearEv @ 236 NONAME + _ZN9QSqlField6detachEv @ 237 NONAME + _ZN9QSqlField7setNameERK7QString @ 238 NONAME + _ZN9QSqlField7setTypeEN8QVariant4TypeE @ 239 NONAME + _ZN9QSqlField8setValueERK8QVariant @ 240 NONAME + _ZN9QSqlField9setLengthEi @ 241 NONAME + _ZN9QSqlFieldC1ERK7QStringN8QVariant4TypeE @ 242 NONAME + _ZN9QSqlFieldC1ERKS_ @ 243 NONAME + _ZN9QSqlFieldC2ERK7QStringN8QVariant4TypeE @ 244 NONAME + _ZN9QSqlFieldC2ERKS_ @ 245 NONAME + _ZN9QSqlFieldD1Ev @ 246 NONAME + _ZN9QSqlFieldD2Ev @ 247 NONAME + _ZN9QSqlFieldaSERKS_ @ 248 NONAME + _ZN9QSqlIndex13setCursorNameERK7QString @ 249 NONAME + _ZN9QSqlIndex13setDescendingEib @ 250 NONAME + _ZN9QSqlIndex6appendERK9QSqlField @ 251 NONAME + _ZN9QSqlIndex6appendERK9QSqlFieldb @ 252 NONAME + _ZN9QSqlIndex7setNameERK7QString @ 253 NONAME + _ZN9QSqlIndexC1ERK7QStringS2_ @ 254 NONAME + _ZN9QSqlIndexC1ERKS_ @ 255 NONAME + _ZN9QSqlIndexC2ERK7QStringS2_ @ 256 NONAME + _ZN9QSqlIndexC2ERKS_ @ 257 NONAME + _ZN9QSqlIndexD1Ev @ 258 NONAME + _ZN9QSqlIndexD2Ev @ 259 NONAME + _ZN9QSqlIndexaSERKS_ @ 260 NONAME + _ZN9QSqlQuery10nextResultEv @ 261 NONAME + _ZN9QSqlQuery12addBindValueERK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 262 NONAME + _ZN9QSqlQuery14setForwardOnlyEb @ 263 NONAME + _ZN9QSqlQuery27setNumericalPrecisionPolicyEN4QSql24NumericalPrecisionPolicyE @ 264 NONAME + _ZN9QSqlQuery4execERK7QString @ 265 NONAME + _ZN9QSqlQuery4execEv @ 266 NONAME + _ZN9QSqlQuery4lastEv @ 267 NONAME + _ZN9QSqlQuery4nextEv @ 268 NONAME + _ZN9QSqlQuery4seekEib @ 269 NONAME + _ZN9QSqlQuery5clearEv @ 270 NONAME + _ZN9QSqlQuery5firstEv @ 271 NONAME + _ZN9QSqlQuery6finishEv @ 272 NONAME + _ZN9QSqlQuery7prepareERK7QString @ 273 NONAME + _ZN9QSqlQuery8previousEv @ 274 NONAME + _ZN9QSqlQuery9bindValueERK7QStringRK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 275 NONAME + _ZN9QSqlQuery9bindValueEiRK8QVariant6QFlagsIN4QSql13ParamTypeFlagEE @ 276 NONAME + _ZN9QSqlQuery9execBatchENS_18BatchExecutionModeE @ 277 NONAME + _ZN9QSqlQueryC1E12QSqlDatabase @ 278 NONAME + _ZN9QSqlQueryC1EP10QSqlResult @ 279 NONAME + _ZN9QSqlQueryC1ERK7QString12QSqlDatabase @ 280 NONAME + _ZN9QSqlQueryC1ERKS_ @ 281 NONAME + _ZN9QSqlQueryC2E12QSqlDatabase @ 282 NONAME + _ZN9QSqlQueryC2EP10QSqlResult @ 283 NONAME + _ZN9QSqlQueryC2ERK7QString12QSqlDatabase @ 284 NONAME + _ZN9QSqlQueryC2ERKS_ @ 285 NONAME + _ZN9QSqlQueryD1Ev @ 286 NONAME + _ZN9QSqlQueryD2Ev @ 287 NONAME + _ZN9QSqlQueryaSERKS_ @ 288 NONAME + _ZNK10QSqlDriver10metaObjectEv @ 289 NONAME + _ZNK10QSqlDriver11formatValueERK9QSqlFieldb @ 290 NONAME + _ZNK10QSqlDriver11isOpenErrorEv @ 291 NONAME + _ZNK10QSqlDriver12primaryIndexERK7QString @ 292 NONAME + _ZNK10QSqlDriver12sqlStatementENS_13StatementTypeERK7QStringRK10QSqlRecordb @ 293 NONAME + _ZNK10QSqlDriver15stripDelimitersERK7QStringNS_14IdentifierTypeE @ 294 NONAME + _ZNK10QSqlDriver16escapeIdentifierERK7QStringNS_14IdentifierTypeE @ 295 NONAME + _ZNK10QSqlDriver19isIdentifierEscapedERK7QStringNS_14IdentifierTypeE @ 296 NONAME + _ZNK10QSqlDriver24numericalPrecisionPolicyEv @ 297 NONAME + _ZNK10QSqlDriver25subscribedToNotificationsEv @ 298 NONAME + _ZNK10QSqlDriver29stripDelimitersImplementationERK7QStringNS_14IdentifierTypeE @ 299 NONAME + _ZNK10QSqlDriver33isIdentifierEscapedImplementationERK7QStringNS_14IdentifierTypeE @ 300 NONAME + _ZNK10QSqlDriver39subscribedToNotificationsImplementationEv @ 301 NONAME + _ZNK10QSqlDriver6handleEv @ 302 NONAME + _ZNK10QSqlDriver6isOpenEv @ 303 NONAME + _ZNK10QSqlDriver6recordERK7QString @ 304 NONAME + _ZNK10QSqlDriver6tablesEN4QSql9TableTypeE @ 305 NONAME + _ZNK10QSqlDriver9lastErrorEv @ 306 NONAME + _ZNK10QSqlRecord11isGeneratedERK7QString @ 307 NONAME + _ZNK10QSqlRecord11isGeneratedEi @ 308 NONAME + _ZNK10QSqlRecord5countEv @ 309 NONAME + _ZNK10QSqlRecord5fieldERK7QString @ 310 NONAME + _ZNK10QSqlRecord5fieldEi @ 311 NONAME + _ZNK10QSqlRecord5valueERK7QString @ 312 NONAME + _ZNK10QSqlRecord5valueEi @ 313 NONAME + _ZNK10QSqlRecord6isNullERK7QString @ 314 NONAME + _ZNK10QSqlRecord6isNullEi @ 315 NONAME + _ZNK10QSqlRecord7indexOfERK7QString @ 316 NONAME + _ZNK10QSqlRecord7isEmptyEv @ 317 NONAME + _ZNK10QSqlRecord8containsERK7QString @ 318 NONAME + _ZNK10QSqlRecord9fieldNameEi @ 319 NONAME + _ZNK10QSqlRecordeqERKS_ @ 320 NONAME + _ZNK10QSqlResult10boundValueERK7QString @ 321 NONAME + _ZNK10QSqlResult10boundValueEi @ 322 NONAME + _ZNK10QSqlResult11boundValuesEv @ 323 NONAME + _ZNK10QSqlResult12hasOutValuesEv @ 324 NONAME + _ZNK10QSqlResult12lastInsertIdEv @ 325 NONAME + _ZNK10QSqlResult13bindValueTypeERK7QString @ 326 NONAME + _ZNK10QSqlResult13bindValueTypeEi @ 327 NONAME + _ZNK10QSqlResult13bindingSyntaxEv @ 328 NONAME + _ZNK10QSqlResult13executedQueryEv @ 329 NONAME + _ZNK10QSqlResult13isForwardOnlyEv @ 330 NONAME + _ZNK10QSqlResult14boundValueNameEi @ 331 NONAME + _ZNK10QSqlResult15boundValueCountEv @ 332 NONAME + _ZNK10QSqlResult24numericalPrecisionPolicyEv @ 333 NONAME + _ZNK10QSqlResult2atEv @ 334 NONAME + _ZNK10QSqlResult6driverEv @ 335 NONAME + _ZNK10QSqlResult6handleEv @ 336 NONAME + _ZNK10QSqlResult6recordEv @ 337 NONAME + _ZNK10QSqlResult7isValidEv @ 338 NONAME + _ZNK10QSqlResult8isActiveEv @ 339 NONAME + _ZNK10QSqlResult8isSelectEv @ 340 NONAME + _ZNK10QSqlResult9lastErrorEv @ 341 NONAME + _ZNK10QSqlResult9lastQueryEv @ 342 NONAME + _ZNK12QSqlDatabase10driverNameEv @ 343 NONAME + _ZNK12QSqlDatabase11isOpenErrorEv @ 344 NONAME + _ZNK12QSqlDatabase12databaseNameEv @ 345 NONAME + _ZNK12QSqlDatabase12primaryIndexERK7QString @ 346 NONAME + _ZNK12QSqlDatabase14connectOptionsEv @ 347 NONAME + _ZNK12QSqlDatabase14connectionNameEv @ 348 NONAME + _ZNK12QSqlDatabase24numericalPrecisionPolicyEv @ 349 NONAME + _ZNK12QSqlDatabase4execERK7QString @ 350 NONAME + _ZNK12QSqlDatabase4portEv @ 351 NONAME + _ZNK12QSqlDatabase6driverEv @ 352 NONAME + _ZNK12QSqlDatabase6isOpenEv @ 353 NONAME + _ZNK12QSqlDatabase6recordERK7QString @ 354 NONAME + _ZNK12QSqlDatabase6tablesEN4QSql9TableTypeE @ 355 NONAME + _ZNK12QSqlDatabase7isValidEv @ 356 NONAME + _ZNK12QSqlDatabase8hostNameEv @ 357 NONAME + _ZNK12QSqlDatabase8passwordEv @ 358 NONAME + _ZNK12QSqlDatabase8userNameEv @ 359 NONAME + _ZNK12QSqlDatabase9lastErrorEv @ 360 NONAME + _ZNK13QSQLiteDriver10hasFeatureEN10QSqlDriver13DriverFeatureE @ 361 NONAME + _ZNK13QSQLiteDriver10metaObjectEv @ 362 NONAME + _ZNK13QSQLiteDriver12createResultEv @ 363 NONAME + _ZNK13QSQLiteDriver12primaryIndexERK7QString @ 364 NONAME + _ZNK13QSQLiteDriver16escapeIdentifierERK7QStringN10QSqlDriver14IdentifierTypeE @ 365 NONAME + _ZNK13QSQLiteDriver6handleEv @ 366 NONAME + _ZNK13QSQLiteDriver6recordERK7QString @ 367 NONAME + _ZNK13QSQLiteDriver6tablesEN4QSql9TableTypeE @ 368 NONAME + _ZNK14QSqlQueryModel10headerDataEiN2Qt11OrientationEi @ 369 NONAME + _ZNK14QSqlQueryModel10metaObjectEv @ 370 NONAME + _ZNK14QSqlQueryModel11columnCountERK11QModelIndex @ 371 NONAME + _ZNK14QSqlQueryModel12canFetchMoreERK11QModelIndex @ 372 NONAME + _ZNK14QSqlQueryModel12indexInQueryERK11QModelIndex @ 373 NONAME + _ZNK14QSqlQueryModel4dataERK11QModelIndexi @ 374 NONAME + _ZNK14QSqlQueryModel5queryEv @ 375 NONAME + _ZNK14QSqlQueryModel6recordEi @ 376 NONAME + _ZNK14QSqlQueryModel6recordEv @ 377 NONAME + _ZNK14QSqlQueryModel8rowCountERK11QModelIndex @ 378 NONAME + _ZNK14QSqlQueryModel9lastErrorEv @ 379 NONAME + _ZNK14QSqlTableModel10fieldIndexERK7QString @ 380 NONAME + _ZNK14QSqlTableModel10headerDataEiN2Qt11OrientationEi @ 381 NONAME + _ZNK14QSqlTableModel10metaObjectEv @ 382 NONAME + _ZNK14QSqlTableModel10primaryKeyEv @ 383 NONAME + _ZNK14QSqlTableModel12editStrategyEv @ 384 NONAME + _ZNK14QSqlTableModel12indexInQueryERK11QModelIndex @ 385 NONAME + _ZNK14QSqlTableModel13orderByClauseEv @ 386 NONAME + _ZNK14QSqlTableModel15selectStatementEv @ 387 NONAME + _ZNK14QSqlTableModel4dataERK11QModelIndexi @ 388 NONAME + _ZNK14QSqlTableModel5flagsERK11QModelIndex @ 389 NONAME + _ZNK14QSqlTableModel6filterEv @ 390 NONAME + _ZNK14QSqlTableModel7isDirtyERK11QModelIndex @ 391 NONAME + _ZNK14QSqlTableModel8databaseEv @ 392 NONAME + _ZNK14QSqlTableModel8rowCountERK11QModelIndex @ 393 NONAME + _ZNK14QSqlTableModel9tableNameEv @ 394 NONAME + _ZNK16QSqlCachedResult8colCountEv @ 395 NONAME + _ZNK16QSqlDriverPlugin10metaObjectEv @ 396 NONAME + _ZNK24QSqlRelationalTableModel10metaObjectEv @ 397 NONAME + _ZNK24QSqlRelationalTableModel13orderByClauseEv @ 398 NONAME + _ZNK24QSqlRelationalTableModel13relationModelEi @ 399 NONAME + _ZNK24QSqlRelationalTableModel15selectStatementEv @ 400 NONAME + _ZNK24QSqlRelationalTableModel4dataERK11QModelIndexi @ 401 NONAME + _ZNK24QSqlRelationalTableModel8relationEi @ 402 NONAME + _ZNK9QSqlError10driverTextEv @ 403 NONAME + _ZNK9QSqlError12databaseTextEv @ 404 NONAME + _ZNK9QSqlError4textEv @ 405 NONAME + _ZNK9QSqlError4typeEv @ 406 NONAME + _ZNK9QSqlError6numberEv @ 407 NONAME + _ZNK9QSqlError7isValidEv @ 408 NONAME + _ZNK9QSqlField10isReadOnlyEv @ 409 NONAME + _ZNK9QSqlField11isAutoValueEv @ 410 NONAME + _ZNK9QSqlField11isGeneratedEv @ 411 NONAME + _ZNK9QSqlField12defaultValueEv @ 412 NONAME + _ZNK9QSqlField14requiredStatusEv @ 413 NONAME + _ZNK9QSqlField4nameEv @ 414 NONAME + _ZNK9QSqlField4typeEv @ 415 NONAME + _ZNK9QSqlField6isNullEv @ 416 NONAME + _ZNK9QSqlField6lengthEv @ 417 NONAME + _ZNK9QSqlField6typeIDEv @ 418 NONAME + _ZNK9QSqlField7isValidEv @ 419 NONAME + _ZNK9QSqlField9precisionEv @ 420 NONAME + _ZNK9QSqlFieldeqERKS_ @ 421 NONAME + _ZNK9QSqlIndex11createFieldEiRK7QStringb @ 422 NONAME + _ZNK9QSqlIndex12isDescendingEi @ 423 NONAME + _ZNK9QSqlQuery10boundValueERK7QString @ 424 NONAME + _ZNK9QSqlQuery10boundValueEi @ 425 NONAME + _ZNK9QSqlQuery11boundValuesEv @ 426 NONAME + _ZNK9QSqlQuery12lastInsertIdEv @ 427 NONAME + _ZNK9QSqlQuery13executedQueryEv @ 428 NONAME + _ZNK9QSqlQuery13isForwardOnlyEv @ 429 NONAME + _ZNK9QSqlQuery15numRowsAffectedEv @ 430 NONAME + _ZNK9QSqlQuery24numericalPrecisionPolicyEv @ 431 NONAME + _ZNK9QSqlQuery2atEv @ 432 NONAME + _ZNK9QSqlQuery4sizeEv @ 433 NONAME + _ZNK9QSqlQuery5valueEi @ 434 NONAME + _ZNK9QSqlQuery6driverEv @ 435 NONAME + _ZNK9QSqlQuery6isNullEi @ 436 NONAME + _ZNK9QSqlQuery6recordEv @ 437 NONAME + _ZNK9QSqlQuery6resultEv @ 438 NONAME + _ZNK9QSqlQuery7isValidEv @ 439 NONAME + _ZNK9QSqlQuery8isActiveEv @ 440 NONAME + _ZNK9QSqlQuery8isSelectEv @ 441 NONAME + _ZNK9QSqlQuery9lastErrorEv @ 442 NONAME + _ZNK9QSqlQuery9lastQueryEv @ 443 NONAME + _ZTI10QSqlDriver @ 444 NONAME + _ZTI10QSqlResult @ 445 NONAME + _ZTI13QSQLiteDriver @ 446 NONAME + _ZTI14QSqlQueryModel @ 447 NONAME + _ZTI14QSqlTableModel @ 448 NONAME + _ZTI16QSqlCachedResult @ 449 NONAME + _ZTI16QSqlDriverPlugin @ 450 NONAME + _ZTI24QSqlRelationalTableModel @ 451 NONAME + _ZTI26QSqlDriverFactoryInterface @ 452 NONAME + _ZTV10QSqlDriver @ 453 NONAME + _ZTV10QSqlResult @ 454 NONAME + _ZTV13QSQLiteDriver @ 455 NONAME + _ZTV14QSqlQueryModel @ 456 NONAME + _ZTV14QSqlTableModel @ 457 NONAME + _ZTV16QSqlCachedResult @ 458 NONAME + _ZTV16QSqlDriverPlugin @ 459 NONAME + _ZTV24QSqlRelationalTableModel @ 460 NONAME + _ZThn8_N16QSqlDriverPluginD0Ev @ 461 NONAME + _ZThn8_N16QSqlDriverPluginD1Ev @ 462 NONAME + _Zls6QDebugRK10QSqlRecord @ 463 NONAME + _Zls6QDebugRK12QSqlDatabase @ 464 NONAME + _Zls6QDebugRK9QSqlError @ 465 NONAME + _Zls6QDebugRK9QSqlField @ 466 NONAME diff --git a/src/s60installs/eabi/QtSvgu.def b/src/s60installs/eabi/QtSvgu.def index 838b68c..ccc029d 100644 --- a/src/s60installs/eabi/QtSvgu.def +++ b/src/s60installs/eabi/QtSvgu.def @@ -1,9 +1,9 @@ EXPORTS - _Z22qt_inflateGZipDataFromP9QIODevice @ 1 NONAME - _ZN10QSvgWidget10paintEventEP11QPaintEvent @ 2 NONAME - _ZN10QSvgWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME - _ZN10QSvgWidget11qt_metacastEPKc @ 4 NONAME - _ZN10QSvgWidget16staticMetaObjectE @ 5 NONAME DATA 16 + _ZN10QSvgWidget10paintEventEP11QPaintEvent @ 1 NONAME + _ZN10QSvgWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME + _ZN10QSvgWidget11qt_metacastEPKc @ 3 NONAME + _ZN10QSvgWidget16staticMetaObjectE @ 4 NONAME DATA 16 + _ZN10QSvgWidget19getStaticMetaObjectEv @ 5 NONAME _ZN10QSvgWidget4loadERK10QByteArray @ 6 NONAME _ZN10QSvgWidget4loadERK7QString @ 7 NONAME _ZN10QSvgWidgetC1EP7QWidget @ 8 NONAME @@ -21,194 +21,127 @@ EXPORTS _ZN12QSvgRenderer15setCurrentFrameEi @ 20 NONAME _ZN12QSvgRenderer16staticMetaObjectE @ 21 NONAME DATA 16 _ZN12QSvgRenderer18setFramesPerSecondEi @ 22 NONAME - _ZN12QSvgRenderer4loadEP16QXmlStreamReader @ 23 NONAME - _ZN12QSvgRenderer4loadERK10QByteArray @ 24 NONAME - _ZN12QSvgRenderer4loadERK7QString @ 25 NONAME - _ZN12QSvgRenderer6renderEP8QPainter @ 26 NONAME - _ZN12QSvgRenderer6renderEP8QPainterRK6QRectF @ 27 NONAME - _ZN12QSvgRenderer6renderEP8QPainterRK7QStringRK6QRectF @ 28 NONAME - _ZN12QSvgRendererC1EP16QXmlStreamReaderP7QObject @ 29 NONAME - _ZN12QSvgRendererC1EP7QObject @ 30 NONAME - _ZN12QSvgRendererC1ERK10QByteArrayP7QObject @ 31 NONAME - _ZN12QSvgRendererC1ERK7QStringP7QObject @ 32 NONAME - _ZN12QSvgRendererC2EP16QXmlStreamReaderP7QObject @ 33 NONAME - _ZN12QSvgRendererC2EP7QObject @ 34 NONAME - _ZN12QSvgRendererC2ERK10QByteArrayP7QObject @ 35 NONAME - _ZN12QSvgRendererC2ERK7QStringP7QObject @ 36 NONAME - _ZN12QSvgRendererD0Ev @ 37 NONAME - _ZN12QSvgRendererD1Ev @ 38 NONAME - _ZN12QSvgRendererD2Ev @ 39 NONAME - _ZN13QSvgGenerator10setViewBoxERK5QRect @ 40 NONAME - _ZN13QSvgGenerator10setViewBoxERK6QRectF @ 41 NONAME - _ZN13QSvgGenerator11setFileNameERK7QString @ 42 NONAME - _ZN13QSvgGenerator13setResolutionEi @ 43 NONAME - _ZN13QSvgGenerator14setDescriptionERK7QString @ 44 NONAME - _ZN13QSvgGenerator15setOutputDeviceEP9QIODevice @ 45 NONAME - _ZN13QSvgGenerator7setSizeERK5QSize @ 46 NONAME - _ZN13QSvgGenerator8setTitleERK7QString @ 47 NONAME - _ZN13QSvgGeneratorC1Ev @ 48 NONAME - _ZN13QSvgGeneratorC2Ev @ 49 NONAME - _ZN13QSvgGeneratorD0Ev @ 50 NONAME - _ZN13QSvgGeneratorD1Ev @ 51 NONAME - _ZN13QSvgGeneratorD2Ev @ 52 NONAME - _ZN16QGraphicsSvgItem11qt_metacallEN11QMetaObject4CallEiPPv @ 53 NONAME - _ZN16QGraphicsSvgItem11qt_metacastEPKc @ 54 NONAME - _ZN16QGraphicsSvgItem12setElementIdERK7QString @ 55 NONAME - _ZN16QGraphicsSvgItem16staticMetaObjectE @ 56 NONAME DATA 16 - _ZN16QGraphicsSvgItem17setCachingEnabledEb @ 57 NONAME - _ZN16QGraphicsSvgItem17setSharedRendererEP12QSvgRenderer @ 58 NONAME - _ZN16QGraphicsSvgItem19setMaximumCacheSizeERK5QSize @ 59 NONAME - _ZN16QGraphicsSvgItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 60 NONAME - _ZN16QGraphicsSvgItemC1EP13QGraphicsItem @ 61 NONAME - _ZN16QGraphicsSvgItemC1ERK7QStringP13QGraphicsItem @ 62 NONAME - _ZN16QGraphicsSvgItemC2EP13QGraphicsItem @ 63 NONAME - _ZN16QGraphicsSvgItemC2ERK7QStringP13QGraphicsItem @ 64 NONAME - _ZN16QSvgTinyDocument10addSvgFontEP8QSvgFont @ 65 NONAME - _ZN16QSvgTinyDocument10setViewBoxERK6QRectF @ 66 NONAME - _ZN16QSvgTinyDocument11setAnimatedEb @ 67 NONAME - _ZN16QSvgTinyDocument15setCurrentFrameEi @ 68 NONAME - _ZN16QSvgTinyDocument16restartAnimationEv @ 69 NONAME - _ZN16QSvgTinyDocument17mapSourceToTargetEP8QPainterRK6QRectFS4_ @ 70 NONAME - _ZN16QSvgTinyDocument18setFramesPerSecondEi @ 71 NONAME - _ZN16QSvgTinyDocument4drawEP8QPainter @ 72 NONAME - _ZN16QSvgTinyDocument4drawEP8QPainterR15QSvgExtraStates @ 73 NONAME - _ZN16QSvgTinyDocument4drawEP8QPainterRK6QRectF @ 74 NONAME - _ZN16QSvgTinyDocument4drawEP8QPainterRK7QStringRK6QRectF @ 75 NONAME - _ZN16QSvgTinyDocument4loadEP16QXmlStreamReader @ 76 NONAME - _ZN16QSvgTinyDocument4loadERK10QByteArray @ 77 NONAME - _ZN16QSvgTinyDocument4loadERK7QString @ 78 NONAME - _ZN16QSvgTinyDocument8setWidthEib @ 79 NONAME - _ZN16QSvgTinyDocument9setHeightEib @ 80 NONAME - _ZN16QSvgTinyDocumentC1Ev @ 81 NONAME - _ZN16QSvgTinyDocumentC2Ev @ 82 NONAME - _ZN16QSvgTinyDocumentD0Ev @ 83 NONAME - _ZN16QSvgTinyDocumentD1Ev @ 84 NONAME - _ZN16QSvgTinyDocumentD2Ev @ 85 NONAME - _ZNK10QSvgWidget10metaObjectEv @ 86 NONAME - _ZNK10QSvgWidget8rendererEv @ 87 NONAME - _ZNK10QSvgWidget8sizeHintEv @ 88 NONAME - _ZNK12QSvgRenderer10metaObjectEv @ 89 NONAME - _ZNK12QSvgRenderer11defaultSizeEv @ 90 NONAME - _ZNK12QSvgRenderer12currentFrameEv @ 91 NONAME - _ZNK12QSvgRenderer13elementExistsERK7QString @ 92 NONAME - _ZNK12QSvgRenderer15boundsOnElementERK7QString @ 93 NONAME - _ZNK12QSvgRenderer15framesPerSecondEv @ 94 NONAME - _ZNK12QSvgRenderer16matrixForElementERK7QString @ 95 NONAME - _ZNK12QSvgRenderer17animationDurationEv @ 96 NONAME - _ZNK12QSvgRenderer7isValidEv @ 97 NONAME - _ZNK12QSvgRenderer7viewBoxEv @ 98 NONAME - _ZNK12QSvgRenderer8animatedEv @ 99 NONAME - _ZNK12QSvgRenderer8viewBoxFEv @ 100 NONAME - _ZNK13QSvgGenerator10resolutionEv @ 101 NONAME - _ZNK13QSvgGenerator11descriptionEv @ 102 NONAME - _ZNK13QSvgGenerator11paintEngineEv @ 103 NONAME - _ZNK13QSvgGenerator12outputDeviceEv @ 104 NONAME - _ZNK13QSvgGenerator4sizeEv @ 105 NONAME - _ZNK13QSvgGenerator5titleEv @ 106 NONAME - _ZNK13QSvgGenerator6metricEN12QPaintDevice17PaintDeviceMetricE @ 107 NONAME - _ZNK13QSvgGenerator7viewBoxEv @ 108 NONAME - _ZNK13QSvgGenerator8fileNameEv @ 109 NONAME - _ZNK13QSvgGenerator8viewBoxFEv @ 110 NONAME - _ZNK16QGraphicsSvgItem10metaObjectEv @ 111 NONAME - _ZNK16QGraphicsSvgItem12boundingRectEv @ 112 NONAME - _ZNK16QGraphicsSvgItem16isCachingEnabledEv @ 113 NONAME - _ZNK16QGraphicsSvgItem16maximumCacheSizeEv @ 114 NONAME - _ZNK16QGraphicsSvgItem4typeEv @ 115 NONAME - _ZNK16QGraphicsSvgItem8rendererEv @ 116 NONAME - _ZNK16QGraphicsSvgItem9elementIdEv @ 117 NONAME - _ZNK16QSvgTinyDocument12currentFrameEv @ 118 NONAME - _ZNK16QSvgTinyDocument13elementExistsERK7QString @ 119 NONAME - _ZNK16QSvgTinyDocument15boundsOnElementERK7QString @ 120 NONAME - _ZNK16QSvgTinyDocument16matrixForElementERK7QString @ 121 NONAME - _ZNK16QSvgTinyDocument4typeEv @ 122 NONAME - _ZNK16QSvgTinyDocument7svgFontERK7QString @ 123 NONAME - _ZNK16QSvgTinyDocument8animatedEv @ 124 NONAME - _ZTI10QSvgCircle @ 125 NONAME ABSENT - _ZTI10QSvgSwitch @ 126 NONAME ABSENT - _ZTI10QSvgWidget @ 127 NONAME - _ZTI11QSvgEllipse @ 128 NONAME ABSENT - _ZTI11QSvgPolygon @ 129 NONAME ABSENT - _ZTI12QSvgPolyline @ 130 NONAME ABSENT - _ZTI12QSvgRenderer @ 131 NONAME - _ZTI13QSvgAnimation @ 132 NONAME ABSENT - _ZTI13QSvgFillStyle @ 133 NONAME ABSENT - _ZTI13QSvgFontStyle @ 134 NONAME ABSENT - _ZTI13QSvgGenerator @ 135 NONAME - _ZTI15QSvgCompOpStyle @ 136 NONAME ABSENT - _ZTI15QSvgPaintEngine @ 137 NONAME ABSENT - _ZTI15QSvgStrokeStyle @ 138 NONAME ABSENT - _ZTI16QGraphicsSvgItem @ 139 NONAME - _ZTI16QSvgAnimateColor @ 140 NONAME ABSENT - _ZTI16QSvgOpacityStyle @ 141 NONAME ABSENT - _ZTI16QSvgQualityStyle @ 142 NONAME ABSENT - _ZTI16QSvgTinyDocument @ 143 NONAME - _ZTI17QSvgGradientStyle @ 144 NONAME ABSENT - _ZTI17QSvgStructureNode @ 145 NONAME ABSENT - _ZTI17QSvgStyleProperty @ 146 NONAME ABSENT - _ZTI18QSvgTransformStyle @ 147 NONAME ABSENT - _ZTI19QSvgSolidColorStyle @ 148 NONAME ABSENT - _ZTI20QSvgAnimateTransform @ 149 NONAME ABSENT - _ZTI21QSvgViewportFillStyle @ 150 NONAME ABSENT - _ZTI5QSvgG @ 151 NONAME ABSENT - _ZTI7QSvgArc @ 152 NONAME ABSENT - _ZTI7QSvgUse @ 153 NONAME ABSENT - _ZTI8QSvgDefs @ 154 NONAME ABSENT - _ZTI8QSvgLine @ 155 NONAME ABSENT - _ZTI8QSvgNode @ 156 NONAME ABSENT - _ZTI8QSvgPath @ 157 NONAME ABSENT - _ZTI8QSvgRect @ 158 NONAME ABSENT - _ZTI8QSvgText @ 159 NONAME ABSENT - _ZTI9QSvgImage @ 160 NONAME ABSENT - _ZTI9QSvgVideo @ 161 NONAME ABSENT - _ZTV10QSvgCircle @ 162 NONAME ABSENT - _ZTV10QSvgSwitch @ 163 NONAME ABSENT - _ZTV10QSvgWidget @ 164 NONAME - _ZTV11QSvgEllipse @ 165 NONAME ABSENT - _ZTV11QSvgPolygon @ 166 NONAME ABSENT - _ZTV12QSvgPolyline @ 167 NONAME ABSENT - _ZTV12QSvgRenderer @ 168 NONAME - _ZTV13QSvgAnimation @ 169 NONAME ABSENT - _ZTV13QSvgFillStyle @ 170 NONAME ABSENT - _ZTV13QSvgFontStyle @ 171 NONAME ABSENT - _ZTV13QSvgGenerator @ 172 NONAME - _ZTV15QSvgCompOpStyle @ 173 NONAME ABSENT - _ZTV15QSvgPaintEngine @ 174 NONAME ABSENT - _ZTV15QSvgStrokeStyle @ 175 NONAME ABSENT - _ZTV16QGraphicsSvgItem @ 176 NONAME - _ZTV16QSvgAnimateColor @ 177 NONAME ABSENT - _ZTV16QSvgOpacityStyle @ 178 NONAME ABSENT - _ZTV16QSvgQualityStyle @ 179 NONAME ABSENT - _ZTV16QSvgTinyDocument @ 180 NONAME - _ZTV17QSvgGradientStyle @ 181 NONAME ABSENT - _ZTV17QSvgStructureNode @ 182 NONAME ABSENT - _ZTV17QSvgStyleProperty @ 183 NONAME ABSENT - _ZTV18QSvgTransformStyle @ 184 NONAME ABSENT - _ZTV19QSvgSolidColorStyle @ 185 NONAME ABSENT - _ZTV20QSvgAnimateTransform @ 186 NONAME ABSENT - _ZTV21QSvgViewportFillStyle @ 187 NONAME ABSENT - _ZTV5QSvgG @ 188 NONAME ABSENT - _ZTV7QSvgArc @ 189 NONAME ABSENT - _ZTV7QSvgUse @ 190 NONAME ABSENT - _ZTV8QSvgDefs @ 191 NONAME ABSENT - _ZTV8QSvgLine @ 192 NONAME ABSENT - _ZTV8QSvgNode @ 193 NONAME ABSENT - _ZTV8QSvgPath @ 194 NONAME ABSENT - _ZTV8QSvgRect @ 195 NONAME ABSENT - _ZTV8QSvgText @ 196 NONAME ABSENT - _ZTV9QSvgImage @ 197 NONAME ABSENT - _ZTV9QSvgVideo @ 198 NONAME ABSENT - _ZThn8_N10QSvgWidgetD0Ev @ 199 NONAME - _ZThn8_N10QSvgWidgetD1Ev @ 200 NONAME - _ZThn8_N16QGraphicsSvgItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 201 NONAME - _ZThn8_NK16QGraphicsSvgItem12boundingRectEv @ 202 NONAME - _ZThn8_NK16QGraphicsSvgItem4typeEv @ 203 NONAME - _ZN10QSvgWidget19getStaticMetaObjectEv @ 204 NONAME - _ZN12QSvgRenderer19getStaticMetaObjectEv @ 205 NONAME - _ZN16QGraphicsSvgItem19getStaticMetaObjectEv @ 206 NONAME - _ZN16QSvgTinyDocument12addNamedNodeERK7QStringP8QSvgNode @ 207 NONAME - _ZN16QSvgTinyDocument13addNamedStyleERK7QStringP21QSvgFillStyleProperty @ 208 NONAME - _ZNK16QSvgTinyDocument10namedStyleERK7QString @ 209 NONAME - _ZNK16QSvgTinyDocument9namedNodeERK7QString @ 210 NONAME - _ZTI21QSvgFillStyleProperty @ 211 NONAME ABSENT; ## - _ZTV21QSvgFillStyleProperty @ 212 NONAME ABSENT; ## + _ZN12QSvgRenderer19getStaticMetaObjectEv @ 23 NONAME + _ZN12QSvgRenderer4loadEP16QXmlStreamReader @ 24 NONAME + _ZN12QSvgRenderer4loadERK10QByteArray @ 25 NONAME + _ZN12QSvgRenderer4loadERK7QString @ 26 NONAME + _ZN12QSvgRenderer6renderEP8QPainter @ 27 NONAME + _ZN12QSvgRenderer6renderEP8QPainterRK6QRectF @ 28 NONAME + _ZN12QSvgRenderer6renderEP8QPainterRK7QStringRK6QRectF @ 29 NONAME + _ZN12QSvgRendererC1EP16QXmlStreamReaderP7QObject @ 30 NONAME + _ZN12QSvgRendererC1EP7QObject @ 31 NONAME + _ZN12QSvgRendererC1ERK10QByteArrayP7QObject @ 32 NONAME + _ZN12QSvgRendererC1ERK7QStringP7QObject @ 33 NONAME + _ZN12QSvgRendererC2EP16QXmlStreamReaderP7QObject @ 34 NONAME + _ZN12QSvgRendererC2EP7QObject @ 35 NONAME + _ZN12QSvgRendererC2ERK10QByteArrayP7QObject @ 36 NONAME + _ZN12QSvgRendererC2ERK7QStringP7QObject @ 37 NONAME + _ZN12QSvgRendererD0Ev @ 38 NONAME + _ZN12QSvgRendererD1Ev @ 39 NONAME + _ZN12QSvgRendererD2Ev @ 40 NONAME + _ZN13QSvgGenerator10setViewBoxERK5QRect @ 41 NONAME + _ZN13QSvgGenerator10setViewBoxERK6QRectF @ 42 NONAME + _ZN13QSvgGenerator11setFileNameERK7QString @ 43 NONAME + _ZN13QSvgGenerator13setResolutionEi @ 44 NONAME + _ZN13QSvgGenerator14setDescriptionERK7QString @ 45 NONAME + _ZN13QSvgGenerator15setOutputDeviceEP9QIODevice @ 46 NONAME + _ZN13QSvgGenerator7setSizeERK5QSize @ 47 NONAME + _ZN13QSvgGenerator8setTitleERK7QString @ 48 NONAME + _ZN13QSvgGeneratorC1Ev @ 49 NONAME + _ZN13QSvgGeneratorC2Ev @ 50 NONAME + _ZN13QSvgGeneratorD0Ev @ 51 NONAME + _ZN13QSvgGeneratorD1Ev @ 52 NONAME + _ZN13QSvgGeneratorD2Ev @ 53 NONAME + _ZN16QGraphicsSvgItem11qt_metacallEN11QMetaObject4CallEiPPv @ 54 NONAME + _ZN16QGraphicsSvgItem11qt_metacastEPKc @ 55 NONAME + _ZN16QGraphicsSvgItem12setElementIdERK7QString @ 56 NONAME + _ZN16QGraphicsSvgItem16staticMetaObjectE @ 57 NONAME DATA 16 + _ZN16QGraphicsSvgItem17setCachingEnabledEb @ 58 NONAME + _ZN16QGraphicsSvgItem17setSharedRendererEP12QSvgRenderer @ 59 NONAME + _ZN16QGraphicsSvgItem19getStaticMetaObjectEv @ 60 NONAME + _ZN16QGraphicsSvgItem19setMaximumCacheSizeERK5QSize @ 61 NONAME + _ZN16QGraphicsSvgItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 62 NONAME + _ZN16QGraphicsSvgItemC1EP13QGraphicsItem @ 63 NONAME + _ZN16QGraphicsSvgItemC1ERK7QStringP13QGraphicsItem @ 64 NONAME + _ZN16QGraphicsSvgItemC2EP13QGraphicsItem @ 65 NONAME + _ZN16QGraphicsSvgItemC2ERK7QStringP13QGraphicsItem @ 66 NONAME + _ZN16QSvgTinyDocument10addSvgFontEP8QSvgFont @ 67 NONAME + _ZN16QSvgTinyDocument10setViewBoxERK6QRectF @ 68 NONAME + _ZN16QSvgTinyDocument11setAnimatedEb @ 69 NONAME + _ZN16QSvgTinyDocument12addNamedNodeERK7QStringP8QSvgNode @ 70 NONAME + _ZN16QSvgTinyDocument13addNamedStyleERK7QStringP21QSvgFillStyleProperty @ 71 NONAME + _ZN16QSvgTinyDocument15setCurrentFrameEi @ 72 NONAME + _ZN16QSvgTinyDocument16restartAnimationEv @ 73 NONAME + _ZN16QSvgTinyDocument17mapSourceToTargetEP8QPainterRK6QRectFS4_ @ 74 NONAME + _ZN16QSvgTinyDocument18setFramesPerSecondEi @ 75 NONAME + _ZN16QSvgTinyDocument4drawEP8QPainter @ 76 NONAME + _ZN16QSvgTinyDocument4drawEP8QPainterR15QSvgExtraStates @ 77 NONAME + _ZN16QSvgTinyDocument4drawEP8QPainterRK6QRectF @ 78 NONAME + _ZN16QSvgTinyDocument4drawEP8QPainterRK7QStringRK6QRectF @ 79 NONAME + _ZN16QSvgTinyDocument4loadEP16QXmlStreamReader @ 80 NONAME + _ZN16QSvgTinyDocument4loadERK10QByteArray @ 81 NONAME + _ZN16QSvgTinyDocument4loadERK7QString @ 82 NONAME + _ZN16QSvgTinyDocument8setWidthEib @ 83 NONAME + _ZN16QSvgTinyDocument9setHeightEib @ 84 NONAME + _ZN16QSvgTinyDocumentC1Ev @ 85 NONAME + _ZN16QSvgTinyDocumentC2Ev @ 86 NONAME + _ZN16QSvgTinyDocumentD0Ev @ 87 NONAME + _ZN16QSvgTinyDocumentD1Ev @ 88 NONAME + _ZN16QSvgTinyDocumentD2Ev @ 89 NONAME + _ZNK10QSvgWidget10metaObjectEv @ 90 NONAME + _ZNK10QSvgWidget8rendererEv @ 91 NONAME + _ZNK10QSvgWidget8sizeHintEv @ 92 NONAME + _ZNK12QSvgRenderer10metaObjectEv @ 93 NONAME + _ZNK12QSvgRenderer11defaultSizeEv @ 94 NONAME + _ZNK12QSvgRenderer12currentFrameEv @ 95 NONAME + _ZNK12QSvgRenderer13elementExistsERK7QString @ 96 NONAME + _ZNK12QSvgRenderer15boundsOnElementERK7QString @ 97 NONAME + _ZNK12QSvgRenderer15framesPerSecondEv @ 98 NONAME + _ZNK12QSvgRenderer16matrixForElementERK7QString @ 99 NONAME + _ZNK12QSvgRenderer17animationDurationEv @ 100 NONAME + _ZNK12QSvgRenderer7isValidEv @ 101 NONAME + _ZNK12QSvgRenderer7viewBoxEv @ 102 NONAME + _ZNK12QSvgRenderer8animatedEv @ 103 NONAME + _ZNK12QSvgRenderer8viewBoxFEv @ 104 NONAME + _ZNK13QSvgGenerator10resolutionEv @ 105 NONAME + _ZNK13QSvgGenerator11descriptionEv @ 106 NONAME + _ZNK13QSvgGenerator11paintEngineEv @ 107 NONAME + _ZNK13QSvgGenerator12outputDeviceEv @ 108 NONAME + _ZNK13QSvgGenerator4sizeEv @ 109 NONAME + _ZNK13QSvgGenerator5titleEv @ 110 NONAME + _ZNK13QSvgGenerator6metricEN12QPaintDevice17PaintDeviceMetricE @ 111 NONAME + _ZNK13QSvgGenerator7viewBoxEv @ 112 NONAME + _ZNK13QSvgGenerator8fileNameEv @ 113 NONAME + _ZNK13QSvgGenerator8viewBoxFEv @ 114 NONAME + _ZNK16QGraphicsSvgItem10metaObjectEv @ 115 NONAME + _ZNK16QGraphicsSvgItem12boundingRectEv @ 116 NONAME + _ZNK16QGraphicsSvgItem16isCachingEnabledEv @ 117 NONAME + _ZNK16QGraphicsSvgItem16maximumCacheSizeEv @ 118 NONAME + _ZNK16QGraphicsSvgItem4typeEv @ 119 NONAME + _ZNK16QGraphicsSvgItem8rendererEv @ 120 NONAME + _ZNK16QGraphicsSvgItem9elementIdEv @ 121 NONAME + _ZNK16QSvgTinyDocument10namedStyleERK7QString @ 122 NONAME + _ZNK16QSvgTinyDocument12currentFrameEv @ 123 NONAME + _ZNK16QSvgTinyDocument13elementExistsERK7QString @ 124 NONAME + _ZNK16QSvgTinyDocument15boundsOnElementERK7QString @ 125 NONAME + _ZNK16QSvgTinyDocument16matrixForElementERK7QString @ 126 NONAME + _ZNK16QSvgTinyDocument4typeEv @ 127 NONAME + _ZNK16QSvgTinyDocument7svgFontERK7QString @ 128 NONAME + _ZNK16QSvgTinyDocument8animatedEv @ 129 NONAME + _ZNK16QSvgTinyDocument9namedNodeERK7QString @ 130 NONAME + _ZTI10QSvgWidget @ 131 NONAME + _ZTI12QSvgRenderer @ 132 NONAME + _ZTI13QSvgGenerator @ 133 NONAME + _ZTI16QGraphicsSvgItem @ 134 NONAME + _ZTI16QSvgTinyDocument @ 135 NONAME + _ZTV10QSvgWidget @ 136 NONAME + _ZTV12QSvgRenderer @ 137 NONAME + _ZTV13QSvgGenerator @ 138 NONAME + _ZTV16QGraphicsSvgItem @ 139 NONAME + _ZTV16QSvgTinyDocument @ 140 NONAME + _ZThn8_N10QSvgWidgetD0Ev @ 141 NONAME + _ZThn8_N10QSvgWidgetD1Ev @ 142 NONAME + _ZThn8_N16QGraphicsSvgItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 143 NONAME + _ZThn8_NK16QGraphicsSvgItem12boundingRectEv @ 144 NONAME + _ZThn8_NK16QGraphicsSvgItem4typeEv @ 145 NONAME diff --git a/src/s60installs/eabi/QtTestu.def b/src/s60installs/eabi/QtTestu.def index 56f84ec..b66ffc1 100644 --- a/src/s60installs/eabi/QtTestu.def +++ b/src/s60installs/eabi/QtTestu.def @@ -2,103 +2,71 @@ EXPORTS _ZN14QTestEventLoop11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME _ZN14QTestEventLoop11qt_metacastEPKc @ 2 NONAME _ZN14QTestEventLoop16staticMetaObjectE @ 3 NONAME DATA 16 - _ZN5QTest10asciiToKeyEc @ 4 NONAME - _ZN5QTest10keyToAsciiEN2Qt3KeyE @ 5 NONAME - _ZN5QTest10testObjectEv @ 6 NONAME - _ZN5QTest11qExpectFailEPKcS1_NS_12TestFailModeES1_i @ 7 NONAME - _ZN5QTest11qGlobalDataEPKci @ 8 NONAME - _ZN5QTest11qt_snprintfEPciPKcz @ 9 NONAME - _ZN5QTest12qElementDataEPKci @ 10 NONAME - _ZN5QTest13ignoreMessageE9QtMsgTypePKc @ 11 NONAME - _ZN5QTest14compare_helperEbPKcPcS2_S1_S1_S1_i @ 12 NONAME - _ZN5QTest14compare_helperEbPKcS1_i @ 13 NONAME - _ZN5QTest14currentDataTagEv @ 14 NONAME - _ZN5QTest15defaultKeyDelayEv @ 15 NONAME - _ZN5QTest17addColumnInternalEiPKc @ 16 NONAME - _ZN5QTest17currentTestFailedEv @ 17 NONAME - _ZN5QTest17defaultKeyVerboseEv @ 18 NONAME - _ZN5QTest17defaultMouseDelayEv @ 19 NONAME - _ZN5QTest19currentTestFunctionEv @ 20 NONAME - _ZN5QTest19toHexRepresentationEPKci @ 21 NONAME - _ZN5QTest21compare_string_helperEPKcS1_S1_S1_S1_i @ 22 NONAME - _ZN5QTest23endBenchmarkMeasurementEv @ 23 NONAME - _ZN5QTest25beginBenchmarkMeasurementEv @ 24 NONAME - _ZN5QTest29QBenchmarkIterationController4nextEv @ 25 NONAME - _ZN5QTest29QBenchmarkIterationController6isDoneEv @ 26 NONAME - _ZN5QTest29QBenchmarkIterationControllerC1Ev @ 27 NONAME - _ZN5QTest29QBenchmarkIterationControllerC2Ev @ 28 NONAME - _ZN5QTest29QBenchmarkIterationControllerD1Ev @ 29 NONAME - _ZN5QTest29QBenchmarkIterationControllerD2Ev @ 30 NONAME - _ZN5QTest5qDataEPKci @ 31 NONAME - _ZN5QTest5qExecEP7QObjectRK11QStringList @ 32 NONAME - _ZN5QTest5qExecEP7QObjectiPPc @ 33 NONAME - _ZN5QTest5qFailEPKcS1_i @ 34 NONAME - _ZN5QTest5qSkipEPKcNS_8SkipModeES1_i @ 35 NONAME - _ZN5QTest5qWarnEPKc @ 36 NONAME - _ZN5QTest6newRowEPKc @ 37 NONAME - _ZN5QTest6qSleepEi @ 38 NONAME - _ZN5QTest7qVerifyEbPKcS1_S1_i @ 39 NONAME - _ZN5QTest8qCompareIdEEbRKT_S3_PKcS5_S5_i @ 40 NONAME - _ZN5QTest8qCompareIfEEbRKT_S3_PKcS5_S5_i @ 41 NONAME - _ZN5QTest8toStringEPKc @ 42 NONAME - _ZN5QTest8toStringEPKv @ 43 NONAME - _ZN5QTest8toStringIbEEPcRKT_ @ 44 NONAME - _ZN5QTest8toStringIcEEPcRKT_ @ 45 NONAME - _ZN5QTest8toStringIdEEPcRKT_ @ 46 NONAME - _ZN5QTest8toStringIfEEPcRKT_ @ 47 NONAME - _ZN5QTest8toStringIiEEPcRKT_ @ 48 NONAME - _ZN5QTest8toStringIjEEPcRKT_ @ 49 NONAME - _ZN5QTest8toStringIlEEPcRKT_ @ 50 NONAME - _ZN5QTest8toStringImEEPcRKT_ @ 51 NONAME - _ZN5QTest8toStringIsEEPcRKT_ @ 52 NONAME - _ZN5QTest8toStringItEEPcRKT_ @ 53 NONAME - _ZN5QTest8toStringIxEEPcRKT_ @ 54 NONAME - _ZN5QTest8toStringIyEEPcRKT_ @ 55 NONAME - _ZN9QTestData6appendEiPKv @ 56 NONAME - _ZN9QTestDataC1EPKcP10QTestTable @ 57 NONAME - _ZN9QTestDataC2EPKcP10QTestTable @ 58 NONAME - _ZN9QTestDataD1Ev @ 59 NONAME - _ZN9QTestDataD2Ev @ 60 NONAME - _ZNK14QTestEventLoop10metaObjectEv @ 61 NONAME - _ZNK9QTestData4dataEi @ 62 NONAME - _ZNK9QTestData6parentEv @ 63 NONAME - _ZNK9QTestData7dataTagEv @ 64 NONAME - _ZNK9QTestData9dataCountEv @ 65 NONAME - _ZTI14QTestEventLoop @ 66 NONAME - _ZTI14QXmlTestLogger @ 67 NONAME ABSENT - _ZTI15QBenchmarkEvent @ 68 NONAME ABSENT - _ZTI16QPlainTestLogger @ 69 NONAME ABSENT - _ZTI19QAbstractTestLogger @ 70 NONAME ABSENT - _ZTI22QBenchmarkTickMeasurer @ 71 NONAME ABSENT - _ZTI22QBenchmarkTimeMeasurer @ 72 NONAME ABSENT - _ZTV14QTestEventLoop @ 73 NONAME - _ZTV14QXmlTestLogger @ 74 NONAME ABSENT - _ZTV15QBenchmarkEvent @ 75 NONAME ABSENT - _ZTV16QPlainTestLogger @ 76 NONAME ABSENT - _ZTV19QAbstractTestLogger @ 77 NONAME ABSENT - _ZTV22QBenchmarkTickMeasurer @ 78 NONAME ABSENT - _ZTV22QBenchmarkTimeMeasurer @ 79 NONAME ABSENT - _ZN5QTest29QBenchmarkIterationControllerC1ENS0_7RunModeE @ 80 NONAME - _ZN5QTest29QBenchmarkIterationControllerC2ENS0_7RunModeE @ 81 NONAME - _ZN14QTestEventLoop19getStaticMetaObjectEv @ 82 NONAME - _ZTI11QTestLogger @ 83 NONAME ABSENT ; ## - _ZTI12QTestElement @ 84 NONAME ABSENT; ## - _ZTI13QTestCoreListI12QTestElementE @ 85 NONAME ABSENT; ## - _ZTI13QTestCoreListI21QTestElementAttributeE @ 86 NONAME ABSENT; ## - _ZTI16QTestCoreElementI12QTestElementE @ 87 NONAME ABSENT; ## - _ZTI16QTestXmlStreamer @ 88 NONAME ABSENT; ## - _ZTI18QTestBasicStreamer @ 89 NONAME ABSENT; ## - _ZTI18QTestXunitStreamer @ 90 NONAME ABSENT; ## - _ZTI21QTestElementAttribute @ 91 NONAME ABSENT; ## - _ZTI21QTestLightXmlStreamer @ 92 NONAME ABSENT; ## - _ZTV11QTestLogger @ 93 NONAME ABSENT; ## - _ZTV12QTestElement @ 94 NONAME ABSENT; ## - _ZTV13QTestCoreListI12QTestElementE @ 95 NONAME ABSENT; ## - _ZTV13QTestCoreListI21QTestElementAttributeE @ 96 NONAME ABSENT; ## - _ZTV16QTestCoreElementI12QTestElementE @ 97 NONAME ABSENT; ## - _ZTV16QTestXmlStreamer @ 98 NONAME ABSENT; ## - _ZTV18QTestBasicStreamer @ 99 NONAME ABSENT; ## - _ZTV18QTestXunitStreamer @ 100 NONAME ABSENT; ## - _ZTV21QTestElementAttribute @ 101 NONAME ABSENT; ## - _ZTV21QTestLightXmlStreamer @ 102 NONAME ABSENT; ## + _ZN14QTestEventLoop19getStaticMetaObjectEv @ 4 NONAME + _ZN5QTest10asciiToKeyEc @ 5 NONAME + _ZN5QTest10keyToAsciiEN2Qt3KeyE @ 6 NONAME + _ZN5QTest10testObjectEv @ 7 NONAME + _ZN5QTest11qExpectFailEPKcS1_NS_12TestFailModeES1_i @ 8 NONAME + _ZN5QTest11qGlobalDataEPKci @ 9 NONAME + _ZN5QTest11qt_snprintfEPciPKcz @ 10 NONAME + _ZN5QTest12qElementDataEPKci @ 11 NONAME + _ZN5QTest13ignoreMessageE9QtMsgTypePKc @ 12 NONAME + _ZN5QTest14compare_helperEbPKcPcS2_S1_S1_S1_i @ 13 NONAME + _ZN5QTest14compare_helperEbPKcS1_i @ 14 NONAME + _ZN5QTest14currentDataTagEv @ 15 NONAME + _ZN5QTest15defaultKeyDelayEv @ 16 NONAME + _ZN5QTest17addColumnInternalEiPKc @ 17 NONAME + _ZN5QTest17currentTestFailedEv @ 18 NONAME + _ZN5QTest17defaultKeyVerboseEv @ 19 NONAME + _ZN5QTest17defaultMouseDelayEv @ 20 NONAME + _ZN5QTest19currentTestFunctionEv @ 21 NONAME + _ZN5QTest19toHexRepresentationEPKci @ 22 NONAME + _ZN5QTest21compare_string_helperEPKcS1_S1_S1_S1_i @ 23 NONAME + _ZN5QTest23endBenchmarkMeasurementEv @ 24 NONAME + _ZN5QTest25beginBenchmarkMeasurementEv @ 25 NONAME + _ZN5QTest29QBenchmarkIterationController4nextEv @ 26 NONAME + _ZN5QTest29QBenchmarkIterationController6isDoneEv @ 27 NONAME + _ZN5QTest29QBenchmarkIterationControllerC1ENS0_7RunModeE @ 28 NONAME + _ZN5QTest29QBenchmarkIterationControllerC1Ev @ 29 NONAME + _ZN5QTest29QBenchmarkIterationControllerC2ENS0_7RunModeE @ 30 NONAME + _ZN5QTest29QBenchmarkIterationControllerC2Ev @ 31 NONAME + _ZN5QTest29QBenchmarkIterationControllerD1Ev @ 32 NONAME + _ZN5QTest29QBenchmarkIterationControllerD2Ev @ 33 NONAME + _ZN5QTest5qDataEPKci @ 34 NONAME + _ZN5QTest5qExecEP7QObjectRK11QStringList @ 35 NONAME + _ZN5QTest5qExecEP7QObjectiPPc @ 36 NONAME + _ZN5QTest5qFailEPKcS1_i @ 37 NONAME + _ZN5QTest5qSkipEPKcNS_8SkipModeES1_i @ 38 NONAME + _ZN5QTest5qWarnEPKc @ 39 NONAME + _ZN5QTest6newRowEPKc @ 40 NONAME + _ZN5QTest6qSleepEi @ 41 NONAME + _ZN5QTest7qVerifyEbPKcS1_S1_i @ 42 NONAME + _ZN5QTest8qCompareIdEEbRKT_S3_PKcS5_S5_i @ 43 NONAME + _ZN5QTest8qCompareIfEEbRKT_S3_PKcS5_S5_i @ 44 NONAME + _ZN5QTest8toStringEPKc @ 45 NONAME + _ZN5QTest8toStringEPKv @ 46 NONAME + _ZN5QTest8toStringIbEEPcRKT_ @ 47 NONAME + _ZN5QTest8toStringIcEEPcRKT_ @ 48 NONAME + _ZN5QTest8toStringIdEEPcRKT_ @ 49 NONAME + _ZN5QTest8toStringIfEEPcRKT_ @ 50 NONAME + _ZN5QTest8toStringIiEEPcRKT_ @ 51 NONAME + _ZN5QTest8toStringIjEEPcRKT_ @ 52 NONAME + _ZN5QTest8toStringIlEEPcRKT_ @ 53 NONAME + _ZN5QTest8toStringImEEPcRKT_ @ 54 NONAME + _ZN5QTest8toStringIsEEPcRKT_ @ 55 NONAME + _ZN5QTest8toStringItEEPcRKT_ @ 56 NONAME + _ZN5QTest8toStringIxEEPcRKT_ @ 57 NONAME + _ZN5QTest8toStringIyEEPcRKT_ @ 58 NONAME + _ZN9QTestData6appendEiPKv @ 59 NONAME + _ZN9QTestDataC1EPKcP10QTestTable @ 60 NONAME + _ZN9QTestDataC2EPKcP10QTestTable @ 61 NONAME + _ZN9QTestDataD1Ev @ 62 NONAME + _ZN9QTestDataD2Ev @ 63 NONAME + _ZNK14QTestEventLoop10metaObjectEv @ 64 NONAME + _ZNK9QTestData4dataEi @ 65 NONAME + _ZNK9QTestData6parentEv @ 66 NONAME + _ZNK9QTestData7dataTagEv @ 67 NONAME + _ZNK9QTestData9dataCountEv @ 68 NONAME + _ZTI14QTestEventLoop @ 69 NONAME + _ZTV14QTestEventLoop @ 70 NONAME diff --git a/src/s60installs/eabi/QtWebKitu.def b/src/s60installs/eabi/QtWebKitu.def new file mode 100644 index 0000000..31a82bc --- /dev/null +++ b/src/s60installs/eabi/QtWebKitu.def @@ -0,0 +1,652 @@ +EXPORTS + _Z10qt_drt_runb @ 1 NONAME + _Z14qWebKitVersionv @ 2 NONAME + _Z19qWebKitMajorVersionv @ 3 NONAME + _Z19qWebKitMinorVersionv @ 4 NONAME + _Z20qt_dump_frame_loaderb @ 5 NONAME + _Z20qt_webpage_groupNameP8QWebPage @ 6 NONAME + _Z21qt_drt_clearFrameNameP9QWebFrame @ 7 NONAME + _Z21qt_drt_pauseAnimationP9QWebFrameRK7QStringdS3_ @ 8 NONAME + _Z23qt_webpage_setGroupNameP8QWebPageRK7QString @ 9 NONAME + _Z25qt_dump_editing_callbacksb @ 10 NONAME + _Z27qt_dump_set_accepts_editingb @ 11 NONAME + _Z29qt_drt_javaScriptObjectsCountv @ 12 NONAME + _Z31qt_drt_garbageCollector_collectv @ 13 NONAME + _Z31qt_drt_numberOfActiveAnimationsP9QWebFrame @ 14 NONAME + _Z31qt_dump_resource_load_callbacksb @ 15 NONAME + _Z32qt_drt_pauseTransitionOfPropertyP9QWebFrameRK7QStringdS3_ @ 16 NONAME + _Z33qt_drt_overwritePluginDirectoriesv @ 17 NONAME + _Z36qt_drt_setJavaScriptProfilingEnabledP9QWebFrameb @ 18 NONAME + _Z48qt_drt_garbageCollector_collectOnAlternateThreadb @ 19 NONAME + _ZN11QWebElement11encloseWithERK7QString @ 20 NONAME + _ZN11QWebElement11encloseWithERKS_ @ 21 NONAME + _ZN11QWebElement11removeClassERK7QString @ 22 NONAME + _ZN11QWebElement11setInnerXmlERK7QString @ 23 NONAME + _ZN11QWebElement11setOuterXmlERK7QString @ 24 NONAME + _ZN11QWebElement11toggleClassERK7QString @ 25 NONAME + _ZN11QWebElement12appendInsideERK7QString @ 26 NONAME + _ZN11QWebElement12appendInsideERKS_ @ 27 NONAME + _ZN11QWebElement12setAttributeERK7QStringS2_ @ 28 NONAME + _ZN11QWebElement12setPlainTextERK7QString @ 29 NONAME + _ZN11QWebElement13appendOutsideERK7QString @ 30 NONAME + _ZN11QWebElement13appendOutsideERKS_ @ 31 NONAME + _ZN11QWebElement13prependInsideERK7QString @ 32 NONAME + _ZN11QWebElement13prependInsideERKS_ @ 33 NONAME + _ZN11QWebElement14prependOutsideERK7QString @ 34 NONAME + _ZN11QWebElement14prependOutsideERKS_ @ 35 NONAME + _ZN11QWebElement14removeChildrenEv @ 36 NONAME + _ZN11QWebElement14setAttributeNSERK7QStringS2_S2_ @ 37 NONAME + _ZN11QWebElement15removeAttributeERK7QString @ 38 NONAME + _ZN11QWebElement16enclosingElementEPN7WebCore4NodeE @ 39 NONAME + _ZN11QWebElement16setStylePropertyERK7QStringS2_ @ 40 NONAME + _ZN11QWebElement16takeFromDocumentEv @ 41 NONAME + _ZN11QWebElement17removeAttributeNSERK7QStringS2_ @ 42 NONAME + _ZN11QWebElement18evaluateJavaScriptERK7QString @ 43 NONAME + _ZN11QWebElement18removeFromDocumentEv @ 44 NONAME + _ZN11QWebElement19encloseContentsWithERK7QString @ 45 NONAME + _ZN11QWebElement19encloseContentsWithERKS_ @ 46 NONAME + _ZN11QWebElement7replaceERK7QString @ 47 NONAME + _ZN11QWebElement7replaceERKS_ @ 48 NONAME + _ZN11QWebElement8addClassERK7QString @ 49 NONAME + _ZN11QWebElement8setFocusEv @ 50 NONAME + _ZN11QWebElementC1EPN7WebCore4NodeE @ 51 NONAME + _ZN11QWebElementC1EPN7WebCore7ElementE @ 52 NONAME + _ZN11QWebElementC1ERKS_ @ 53 NONAME + _ZN11QWebElementC1Ev @ 54 NONAME + _ZN11QWebElementC2EPN7WebCore4NodeE @ 55 NONAME + _ZN11QWebElementC2EPN7WebCore7ElementE @ 56 NONAME + _ZN11QWebElementC2ERKS_ @ 57 NONAME + _ZN11QWebElementC2Ev @ 58 NONAME + _ZN11QWebElementD1Ev @ 59 NONAME + _ZN11QWebElementD2Ev @ 60 NONAME + _ZN11QWebElementaSERKS_ @ 61 NONAME + _ZN11QWebHistory12restoreStateERK10QByteArray @ 62 NONAME + _ZN11QWebHistory19setMaximumItemCountEi @ 63 NONAME + _ZN11QWebHistory4backEv @ 64 NONAME + _ZN11QWebHistory5clearEv @ 65 NONAME + _ZN11QWebHistory7forwardEv @ 66 NONAME + _ZN11QWebHistory8goToItemERK15QWebHistoryItem @ 67 NONAME + _ZN11QWebHistoryC1Ev @ 68 NONAME + _ZN11QWebHistoryC2Ev @ 69 NONAME + _ZN11QWebHistoryD1Ev @ 70 NONAME + _ZN11QWebHistoryD2Ev @ 71 NONAME + _ZN12QWebDatabase14removeDatabaseERKS_ @ 72 NONAME + _ZN12QWebDatabase18removeAllDatabasesEv @ 73 NONAME + _ZN12QWebDatabaseC1EP19QWebDatabasePrivate @ 74 NONAME + _ZN12QWebDatabaseC1ERKS_ @ 75 NONAME + _ZN12QWebDatabaseC2EP19QWebDatabasePrivate @ 76 NONAME + _ZN12QWebDatabaseC2ERKS_ @ 77 NONAME + _ZN12QWebDatabaseD1Ev @ 78 NONAME + _ZN12QWebDatabaseD2Ev @ 79 NONAME + _ZN12QWebDatabaseaSERKS_ @ 80 NONAME + _ZN12QWebSettings10iconForUrlERK4QUrl @ 81 NONAME + _ZN12QWebSettings10webGraphicENS_10WebGraphicE @ 82 NONAME + _ZN12QWebSettings11setFontSizeENS_8FontSizeEi @ 83 NONAME + _ZN12QWebSettings12setAttributeENS_12WebAttributeEb @ 84 NONAME + _ZN12QWebSettings13resetFontSizeENS_8FontSizeE @ 85 NONAME + _ZN12QWebSettings13setFontFamilyENS_10FontFamilyERK7QString @ 86 NONAME + _ZN12QWebSettings13setWebGraphicENS_10WebGraphicERK7QPixmap @ 87 NONAME + _ZN12QWebSettings14globalSettingsEv @ 88 NONAME + _ZN12QWebSettings14pluginDatabaseEv @ 89 NONAME + _ZN12QWebSettings14resetAttributeENS_12WebAttributeE @ 90 NONAME + _ZN12QWebSettings15resetFontFamilyENS_10FontFamilyE @ 91 NONAME + _ZN12QWebSettings16iconDatabasePathEv @ 92 NONAME + _ZN12QWebSettings17clearIconDatabaseEv @ 93 NONAME + _ZN12QWebSettings17clearMemoryCachesEv @ 94 NONAME + _ZN12QWebSettings18offlineStoragePathEv @ 95 NONAME + _ZN12QWebSettings19maximumPagesInCacheEv @ 96 NONAME + _ZN12QWebSettings19setIconDatabasePathERK7QString @ 97 NONAME + _ZN12QWebSettings19setLocalStoragePathERK7QString @ 98 NONAME + _ZN12QWebSettings20setUserStyleSheetUrlERK4QUrl @ 99 NONAME + _ZN12QWebSettings21setOfflineStoragePathERK7QString @ 100 NONAME + _ZN12QWebSettings22setDefaultTextEncodingERK7QString @ 101 NONAME + _ZN12QWebSettings22setMaximumPagesInCacheEi @ 102 NONAME + _ZN12QWebSettings23enablePersistentStorageERK7QString @ 103 NONAME + _ZN12QWebSettings24setObjectCacheCapacitiesEiii @ 104 NONAME + _ZN12QWebSettings26offlineStorageDefaultQuotaEv @ 105 NONAME + _ZN12QWebSettings29setOfflineStorageDefaultQuotaEx @ 106 NONAME + _ZN12QWebSettings30offlineWebApplicationCachePathEv @ 107 NONAME + _ZN12QWebSettings31offlineWebApplicationCacheQuotaEv @ 108 NONAME + _ZN12QWebSettings33setOfflineWebApplicationCachePathERK7QString @ 109 NONAME + _ZN12QWebSettings34setOfflineWebApplicationCacheQuotaEx @ 110 NONAME + _ZN12QWebSettingsC1EPN7WebCore8SettingsE @ 111 NONAME + _ZN12QWebSettingsC1Ev @ 112 NONAME + _ZN12QWebSettingsC2EPN7WebCore8SettingsE @ 113 NONAME + _ZN12QWebSettingsC2Ev @ 114 NONAME + _ZN12QWebSettingsD1Ev @ 115 NONAME + _ZN12QWebSettingsD2Ev @ 116 NONAME + _ZN13QWebInspector11qt_metacallEN11QMetaObject4CallEiPPv @ 117 NONAME + _ZN13QWebInspector11qt_metacastEPKc @ 118 NONAME + _ZN13QWebInspector11resizeEventEP12QResizeEvent @ 119 NONAME + _ZN13QWebInspector16staticMetaObjectE @ 120 NONAME DATA 16 + _ZN13QWebInspector18windowTitleChangedERK7QString @ 121 NONAME + _ZN13QWebInspector19getStaticMetaObjectEv @ 122 NONAME + _ZN13QWebInspector5eventEP6QEvent @ 123 NONAME + _ZN13QWebInspector7setPageEP8QWebPage @ 124 NONAME + _ZN13QWebInspector9hideEventEP10QHideEvent @ 125 NONAME + _ZN13QWebInspector9showEventEP10QShowEvent @ 126 NONAME + _ZN13QWebInspectorC1EP7QWidget @ 127 NONAME + _ZN13QWebInspectorC2EP7QWidget @ 128 NONAME + _ZN13QWebInspectorD0Ev @ 129 NONAME + _ZN13QWebInspectorD1Ev @ 130 NONAME + _ZN13QWebInspectorD2Ev @ 131 NONAME + _ZN14QWebPluginInfo10setEnabledEb @ 132 NONAME + _ZN14QWebPluginInfoC1EPN7WebCore13PluginPackageE @ 133 NONAME + _ZN14QWebPluginInfoC1ERKS_ @ 134 NONAME + _ZN14QWebPluginInfoC1Ev @ 135 NONAME + _ZN14QWebPluginInfoC2EPN7WebCore13PluginPackageE @ 136 NONAME + _ZN14QWebPluginInfoC2ERKS_ @ 137 NONAME + _ZN14QWebPluginInfoC2Ev @ 138 NONAME + _ZN14QWebPluginInfoD1Ev @ 139 NONAME + _ZN14QWebPluginInfoD2Ev @ 140 NONAME + _ZN14QWebPluginInfoaSERKS_ @ 141 NONAME + _ZN15QWebHistoryItem11setUserDataERK8QVariant @ 142 NONAME + _ZN15QWebHistoryItemC1EP22QWebHistoryItemPrivate @ 143 NONAME + _ZN15QWebHistoryItemC1ERKS_ @ 144 NONAME + _ZN15QWebHistoryItemC2EP22QWebHistoryItemPrivate @ 145 NONAME + _ZN15QWebHistoryItemC2ERKS_ @ 146 NONAME + _ZN15QWebHistoryItemD1Ev @ 147 NONAME + _ZN15QWebHistoryItemD2Ev @ 148 NONAME + _ZN15QWebHistoryItemaSERKS_ @ 149 NONAME + _ZN16QGraphicsWebView10loadFailedEv @ 150 NONAME + _ZN16QGraphicsWebView10sceneEventEP6QEvent @ 151 NONAME + _ZN16QGraphicsWebView10setContentERK10QByteArrayRK7QStringRK4QUrl @ 152 NONAME + _ZN16QGraphicsWebView10urlChangedERK4QUrl @ 153 NONAME + _ZN16QGraphicsWebView10wheelEventEP24QGraphicsSceneWheelEvent @ 154 NONAME + _ZN16QGraphicsWebView11iconChangedEv @ 155 NONAME + _ZN16QGraphicsWebView11loadStartedEv @ 156 NONAME + _ZN16QGraphicsWebView11qt_metacallEN11QMetaObject4CallEiPPv @ 157 NONAME + _ZN16QGraphicsWebView11qt_metacastEPKc @ 158 NONAME + _ZN16QGraphicsWebView11setGeometryERK6QRectF @ 159 NONAME + _ZN16QGraphicsWebView12focusInEventEP11QFocusEvent @ 160 NONAME + _ZN16QGraphicsWebView12loadFinishedEv @ 161 NONAME + _ZN16QGraphicsWebView12titleChangedERK7QString @ 162 NONAME + _ZN16QGraphicsWebView13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 163 NONAME + _ZN16QGraphicsWebView13focusOutEventEP11QFocusEvent @ 164 NONAME + _ZN16QGraphicsWebView13keyPressEventEP9QKeyEvent @ 165 NONAME + _ZN16QGraphicsWebView13setZoomFactorEf @ 166 NONAME + _ZN16QGraphicsWebView13statusChangedEv @ 167 NONAME + _ZN16QGraphicsWebView14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 168 NONAME + _ZN16QGraphicsWebView14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 169 NONAME + _ZN16QGraphicsWebView14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 170 NONAME + _ZN16QGraphicsWebView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 171 NONAME + _ZN16QGraphicsWebView14setInteractiveEb @ 172 NONAME + _ZN16QGraphicsWebView14updateGeometryEv @ 173 NONAME + _ZN16QGraphicsWebView15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 174 NONAME + _ZN16QGraphicsWebView15keyReleaseEventEP9QKeyEvent @ 175 NONAME + _ZN16QGraphicsWebView15mousePressEventEP24QGraphicsSceneMouseEvent @ 176 NONAME + _ZN16QGraphicsWebView15progressChangedEf @ 177 NONAME + _ZN16QGraphicsWebView16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 178 NONAME + _ZN16QGraphicsWebView16inputMethodEventEP17QInputMethodEvent @ 179 NONAME + _ZN16QGraphicsWebView16staticMetaObjectE @ 180 NONAME DATA 16 + _ZN16QGraphicsWebView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 181 NONAME + _ZN16QGraphicsWebView17zoomFactorChangedEv @ 182 NONAME + _ZN16QGraphicsWebView18focusNextPrevChildEb @ 183 NONAME + _ZN16QGraphicsWebView19getStaticMetaObjectEv @ 184 NONAME + _ZN16QGraphicsWebView20interactivityChangedEv @ 185 NONAME + _ZN16QGraphicsWebView21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 186 NONAME + _ZN16QGraphicsWebView4backEv @ 187 NONAME + _ZN16QGraphicsWebView4loadERK15QNetworkRequestN21QNetworkAccessManager9OperationERK10QByteArray @ 188 NONAME + _ZN16QGraphicsWebView4loadERK4QUrl @ 189 NONAME + _ZN16QGraphicsWebView4stopEv @ 190 NONAME + _ZN16QGraphicsWebView5eventEP6QEvent @ 191 NONAME + _ZN16QGraphicsWebView5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 192 NONAME + _ZN16QGraphicsWebView6reloadEv @ 193 NONAME + _ZN16QGraphicsWebView6setUrlERK4QUrl @ 194 NONAME + _ZN16QGraphicsWebView7forwardEv @ 195 NONAME + _ZN16QGraphicsWebView7setHtmlERK7QStringRK4QUrl @ 196 NONAME + _ZN16QGraphicsWebView7setPageEP8QWebPage @ 197 NONAME + _ZN16QGraphicsWebView9dropEventEP27QGraphicsSceneDragDropEvent @ 198 NONAME + _ZN16QGraphicsWebViewC1EP13QGraphicsItem @ 199 NONAME + _ZN16QGraphicsWebViewC2EP13QGraphicsItem @ 200 NONAME + _ZN16QGraphicsWebViewD0Ev @ 201 NONAME + _ZN16QGraphicsWebViewD1Ev @ 202 NONAME + _ZN16QGraphicsWebViewD2Ev @ 203 NONAME + _ZN17QWebHitTestResultC1EP24QWebHitTestResultPrivate @ 204 NONAME + _ZN17QWebHitTestResultC1ERKS_ @ 205 NONAME + _ZN17QWebHitTestResultC1Ev @ 206 NONAME + _ZN17QWebHitTestResultC2EP24QWebHitTestResultPrivate @ 207 NONAME + _ZN17QWebHitTestResultC2ERKS_ @ 208 NONAME + _ZN17QWebHitTestResultC2Ev @ 209 NONAME + _ZN17QWebHitTestResultD1Ev @ 210 NONAME + _ZN17QWebHitTestResultD2Ev @ 211 NONAME + _ZN17QWebHitTestResultaSERKS_ @ 212 NONAME + _ZN17QWebPluginFactory11qt_metacallEN11QMetaObject4CallEiPPv @ 213 NONAME + _ZN17QWebPluginFactory11qt_metacastEPKc @ 214 NONAME + _ZN17QWebPluginFactory14refreshPluginsEv @ 215 NONAME + _ZN17QWebPluginFactory16staticMetaObjectE @ 216 NONAME DATA 16 + _ZN17QWebPluginFactory19getStaticMetaObjectEv @ 217 NONAME + _ZN17QWebPluginFactory9extensionENS_9ExtensionEPKNS_15ExtensionOptionEPNS_15ExtensionReturnE @ 218 NONAME + _ZN17QWebPluginFactoryC2EP7QObject @ 219 NONAME + _ZN17QWebPluginFactoryD0Ev @ 220 NONAME + _ZN17QWebPluginFactoryD1Ev @ 221 NONAME + _ZN17QWebPluginFactoryD2Ev @ 222 NONAME + _ZN18QWebPluginDatabase11qt_metacallEN11QMetaObject4CallEiPPv @ 223 NONAME + _ZN18QWebPluginDatabase11qt_metacastEPKc @ 224 NONAME + _ZN18QWebPluginDatabase13addSearchPathERK7QString @ 225 NONAME + _ZN18QWebPluginDatabase14setSearchPathsERK11QStringList @ 226 NONAME + _ZN18QWebPluginDatabase16staticMetaObjectE @ 227 NONAME DATA 16 + _ZN18QWebPluginDatabase17pluginForMimeTypeERK7QString @ 228 NONAME + _ZN18QWebPluginDatabase18defaultSearchPathsEv @ 229 NONAME + _ZN18QWebPluginDatabase19getStaticMetaObjectEv @ 230 NONAME + _ZN18QWebPluginDatabase29setPreferredPluginForMimeTypeERK7QStringRK14QWebPluginInfo @ 231 NONAME + _ZN18QWebPluginDatabase7refreshEv @ 232 NONAME + _ZN18QWebPluginDatabaseC1EP7QObject @ 233 NONAME + _ZN18QWebPluginDatabaseC2EP7QObject @ 234 NONAME + _ZN18QWebPluginDatabaseD0Ev @ 235 NONAME + _ZN18QWebPluginDatabaseD1Ev @ 236 NONAME + _ZN18QWebPluginDatabaseD2Ev @ 237 NONAME + _ZN18QWebSecurityOrigin10allOriginsEv @ 238 NONAME + _ZN18QWebSecurityOrigin12localSchemesEv @ 239 NONAME + _ZN18QWebSecurityOrigin14addLocalSchemeERK7QString @ 240 NONAME + _ZN18QWebSecurityOrigin16setDatabaseQuotaEx @ 241 NONAME + _ZN18QWebSecurityOrigin17removeLocalSchemeERK7QString @ 242 NONAME + _ZN18QWebSecurityOrigin25whiteListAccessFromOriginERK7QStringS2_S2_b @ 243 NONAME + _ZN18QWebSecurityOrigin27resetOriginAccessWhiteListsEv @ 244 NONAME + _ZN18QWebSecurityOriginC1EP25QWebSecurityOriginPrivate @ 245 NONAME + _ZN18QWebSecurityOriginC1ERKS_ @ 246 NONAME + _ZN18QWebSecurityOriginC2EP25QWebSecurityOriginPrivate @ 247 NONAME + _ZN18QWebSecurityOriginC2ERKS_ @ 248 NONAME + _ZN18QWebSecurityOriginD1Ev @ 249 NONAME + _ZN18QWebSecurityOriginD2Ev @ 250 NONAME + _ZN18QWebSecurityOriginaSERKS_ @ 251 NONAME + _ZN20QWebHistoryInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 252 NONAME + _ZN20QWebHistoryInterface11qt_metacastEPKc @ 253 NONAME + _ZN20QWebHistoryInterface16defaultInterfaceEv @ 254 NONAME + _ZN20QWebHistoryInterface16staticMetaObjectE @ 255 NONAME DATA 16 + _ZN20QWebHistoryInterface19getStaticMetaObjectEv @ 256 NONAME + _ZN20QWebHistoryInterface19setDefaultInterfaceEPS_ @ 257 NONAME + _ZN20QWebHistoryInterfaceC2EP7QObject @ 258 NONAME + _ZN20QWebHistoryInterfaceD0Ev @ 259 NONAME + _ZN20QWebHistoryInterfaceD1Ev @ 260 NONAME + _ZN20QWebHistoryInterfaceD2Ev @ 261 NONAME + _ZN8QWebPage10chooseFileEP9QWebFrameRK7QString @ 262 NONAME + _ZN8QWebPage10setPaletteERK8QPalette @ 263 NONAME + _ZN8QWebPage11linkClickedERK4QUrl @ 264 NONAME + _ZN8QWebPage11linkHoveredERK7QStringS2_S2_ @ 265 NONAME + _ZN8QWebPage11loadStartedEv @ 266 NONAME + _ZN8QWebPage11qt_metacallEN11QMetaObject4CallEiPPv @ 267 NONAME + _ZN8QWebPage11qt_metacastEPKc @ 268 NONAME + _ZN8QWebPage12createPluginERK7QStringRK4QUrlRK11QStringListS8_ @ 269 NONAME + _ZN8QWebPage12createWindowENS_13WebWindowTypeE @ 270 NONAME + _ZN8QWebPage12frameCreatedEP9QWebFrame @ 271 NONAME + _ZN8QWebPage12loadFinishedEb @ 272 NONAME + _ZN8QWebPage12loadProgressEi @ 273 NONAME + _ZN8QWebPage13triggerActionENS_9WebActionEb @ 274 NONAME + _ZN8QWebPage14printRequestedEP9QWebFrame @ 275 NONAME + _ZN8QWebPage15contentsChangedEv @ 276 NONAME + _ZN8QWebPage15javaScriptAlertEP9QWebFrameRK7QString @ 277 NONAME + _ZN8QWebPage15scrollRequestedEiiRK5QRect @ 278 NONAME + _ZN8QWebPage16javaScriptPromptEP9QWebFrameRK7QStringS4_PS2_ @ 279 NONAME + _ZN8QWebPage16repaintRequestedERK5QRect @ 280 NONAME + _ZN8QWebPage16selectionChangedEv @ 281 NONAME + _ZN8QWebPage16setPluginFactoryEP17QWebPluginFactory @ 282 NONAME + _ZN8QWebPage16staticMetaObjectE @ 283 NONAME DATA 16 + _ZN8QWebPage16statusBarMessageERK7QString @ 284 NONAME + _ZN8QWebPage17downloadRequestedERK15QNetworkRequest @ 285 NONAME + _ZN8QWebPage17javaScriptConfirmEP9QWebFrameRK7QString @ 286 NONAME + _ZN8QWebPage17microFocusChangedEv @ 287 NONAME + _ZN8QWebPage18focusNextPrevChildEb @ 288 NONAME + _ZN8QWebPage18setContentEditableEb @ 289 NONAME + _ZN8QWebPage18unsupportedContentEP13QNetworkReply @ 290 NONAME + _ZN8QWebPage19getStaticMetaObjectEv @ 291 NONAME + _ZN8QWebPage20windowCloseRequestedEv @ 292 NONAME + _ZN8QWebPage21databaseQuotaExceededEP9QWebFrame7QString @ 293 NONAME + _ZN8QWebPage21webInspectorTriggeredERK11QWebElement @ 294 NONAME + _ZN8QWebPage23acceptNavigationRequestEP9QWebFrameRK15QNetworkRequestNS_14NavigationTypeE @ 295 NONAME + _ZN8QWebPage23geometryChangeRequestedERK5QRect @ 296 NONAME + _ZN8QWebPage23saveFrameStateRequestedEP9QWebFrameP15QWebHistoryItem @ 297 NONAME + _ZN8QWebPage23setLinkDelegationPolicyENS_20LinkDelegationPolicyE @ 298 NONAME + _ZN8QWebPage23setNetworkAccessManagerEP21QNetworkAccessManager @ 299 NONAME + _ZN8QWebPage23swallowContextMenuEventEP17QContextMenuEvent @ 300 NONAME + _ZN8QWebPage24javaScriptConsoleMessageERK7QStringiS2_ @ 301 NONAME + _ZN8QWebPage25createStandardContextMenuEv @ 302 NONAME + _ZN8QWebPage25shouldInterruptJavaScriptEv @ 303 NONAME + _ZN8QWebPage26restoreFrameStateRequestedEP9QWebFrame @ 304 NONAME + _ZN8QWebPage28setForwardUnsupportedContentEb @ 305 NONAME + _ZN8QWebPage30updatePositionDependentActionsERK6QPoint @ 306 NONAME + _ZN8QWebPage32menuBarVisibilityChangeRequestedEb @ 307 NONAME + _ZN8QWebPage32toolBarVisibilityChangeRequestedEb @ 308 NONAME + _ZN8QWebPage34statusBarVisibilityChangeRequestedEb @ 309 NONAME + _ZN8QWebPage5eventEP6QEvent @ 310 NONAME + _ZN8QWebPage7setViewEP7QWidget @ 311 NONAME + _ZN8QWebPage8findTextERK7QString6QFlagsINS_8FindFlagEE @ 312 NONAME + _ZN8QWebPage9extensionENS_9ExtensionEPKNS_15ExtensionOptionEPNS_15ExtensionReturnE @ 313 NONAME + _ZN8QWebPageC1EP7QObject @ 314 NONAME + _ZN8QWebPageC2EP7QObject @ 315 NONAME + _ZN8QWebPageD0Ev @ 316 NONAME + _ZN8QWebPageD1Ev @ 317 NONAME + _ZN8QWebPageD2Ev @ 318 NONAME + _ZN8QWebView10paintEventEP11QPaintEvent @ 319 NONAME + _ZN8QWebView10setContentERK10QByteArrayRK7QStringRK4QUrl @ 320 NONAME + _ZN8QWebView10urlChangedERK4QUrl @ 321 NONAME + _ZN8QWebView10wheelEventEP11QWheelEvent @ 322 NONAME + _ZN8QWebView11changeEventEP6QEvent @ 323 NONAME + _ZN8QWebView11iconChangedEv @ 324 NONAME + _ZN8QWebView11linkClickedERK4QUrl @ 325 NONAME + _ZN8QWebView11loadStartedEv @ 326 NONAME + _ZN8QWebView11qt_metacallEN11QMetaObject4CallEiPPv @ 327 NONAME + _ZN8QWebView11qt_metacastEPKc @ 328 NONAME + _ZN8QWebView11resizeEventEP12QResizeEvent @ 329 NONAME + _ZN8QWebView12createWindowEN8QWebPage13WebWindowTypeE @ 330 NONAME + _ZN8QWebView12focusInEventEP11QFocusEvent @ 331 NONAME + _ZN8QWebView12loadFinishedEb @ 332 NONAME + _ZN8QWebView12loadProgressEi @ 333 NONAME + _ZN8QWebView12titleChangedERK7QString @ 334 NONAME + _ZN8QWebView13dragMoveEventEP14QDragMoveEvent @ 335 NONAME + _ZN8QWebView13focusOutEventEP11QFocusEvent @ 336 NONAME + _ZN8QWebView13keyPressEventEP9QKeyEvent @ 337 NONAME + _ZN8QWebView13setRenderHintEN8QPainter10RenderHintEb @ 338 NONAME + _ZN8QWebView13setZoomFactorEf @ 339 NONAME + _ZN8QWebView14dragEnterEventEP15QDragEnterEvent @ 340 NONAME + _ZN8QWebView14dragLeaveEventEP15QDragLeaveEvent @ 341 NONAME + _ZN8QWebView14mouseMoveEventEP11QMouseEvent @ 342 NONAME + _ZN8QWebView14setRenderHintsE6QFlagsIN8QPainter10RenderHintEE @ 343 NONAME + _ZN8QWebView15keyReleaseEventEP9QKeyEvent @ 344 NONAME + _ZN8QWebView15mousePressEventEP11QMouseEvent @ 345 NONAME + _ZN8QWebView16contextMenuEventEP17QContextMenuEvent @ 346 NONAME + _ZN8QWebView16inputMethodEventEP17QInputMethodEvent @ 347 NONAME + _ZN8QWebView16selectionChangedEv @ 348 NONAME + _ZN8QWebView16staticMetaObjectE @ 349 NONAME DATA 16 + _ZN8QWebView16statusBarMessageERK7QString @ 350 NONAME + _ZN8QWebView17mouseReleaseEventEP11QMouseEvent @ 351 NONAME + _ZN8QWebView17triggerPageActionEN8QWebPage9WebActionEb @ 352 NONAME + _ZN8QWebView18focusNextPrevChildEb @ 353 NONAME + _ZN8QWebView18guessUrlFromStringERK7QString @ 354 NONAME + _ZN8QWebView19getStaticMetaObjectEv @ 355 NONAME + _ZN8QWebView21mouseDoubleClickEventEP11QMouseEvent @ 356 NONAME + _ZN8QWebView21setTextSizeMultiplierEf @ 357 NONAME + _ZN8QWebView4backEv @ 358 NONAME + _ZN8QWebView4loadERK15QNetworkRequestN21QNetworkAccessManager9OperationERK10QByteArray @ 359 NONAME + _ZN8QWebView4loadERK4QUrl @ 360 NONAME + _ZN8QWebView4stopEv @ 361 NONAME + _ZN8QWebView5eventEP6QEvent @ 362 NONAME + _ZN8QWebView6reloadEv @ 363 NONAME + _ZN8QWebView6setUrlERK4QUrl @ 364 NONAME + _ZN8QWebView7forwardEv @ 365 NONAME + _ZN8QWebView7setHtmlERK7QStringRK4QUrl @ 366 NONAME + _ZN8QWebView7setPageEP8QWebPage @ 367 NONAME + _ZN8QWebView8findTextERK7QString6QFlagsIN8QWebPage8FindFlagEE @ 368 NONAME + _ZN8QWebView9dropEventEP10QDropEvent @ 369 NONAME + _ZN8QWebViewC1EP7QWidget @ 370 NONAME + _ZN8QWebViewC2EP7QWidget @ 371 NONAME + _ZN8QWebViewD0Ev @ 372 NONAME + _ZN8QWebViewD1Ev @ 373 NONAME + _ZN8QWebViewD2Ev @ 374 NONAME + _ZN9QWebFrame10setContentERK10QByteArrayRK7QStringRK4QUrl @ 375 NONAME + _ZN9QWebFrame10urlChangedERK4QUrl @ 376 NONAME + _ZN9QWebFrame11iconChangedEv @ 377 NONAME + _ZN9QWebFrame11loadStartedEv @ 378 NONAME + _ZN9QWebFrame11qt_metacallEN11QMetaObject4CallEiPPv @ 379 NONAME + _ZN9QWebFrame11qt_metacastEPKc @ 380 NONAME + _ZN9QWebFrame12loadFinishedEb @ 381 NONAME + _ZN9QWebFrame12titleChangedERK7QString @ 382 NONAME + _ZN9QWebFrame13setZoomFactorEf @ 383 NONAME + _ZN9QWebFrame15provisionalLoadEv @ 384 NONAME + _ZN9QWebFrame16staticMetaObjectE @ 385 NONAME DATA 16 + _ZN9QWebFrame17setScrollBarValueEN2Qt11OrientationEi @ 386 NONAME + _ZN9QWebFrame17setScrollPositionERK6QPoint @ 387 NONAME + _ZN9QWebFrame18evaluateJavaScriptERK7QString @ 388 NONAME + _ZN9QWebFrame18setScrollBarPolicyEN2Qt11OrientationENS0_15ScrollBarPolicyE @ 389 NONAME + _ZN9QWebFrame19contentsSizeChangedERK5QSize @ 390 NONAME + _ZN9QWebFrame19getStaticMetaObjectEv @ 391 NONAME + _ZN9QWebFrame21setTextSizeMultiplierEf @ 392 NONAME + _ZN9QWebFrame22initialLayoutCompletedEv @ 393 NONAME + _ZN9QWebFrame23setClipRenderToViewportEb @ 394 NONAME + _ZN9QWebFrame27addToJavaScriptWindowObjectERK7QStringP7QObject @ 395 NONAME + _ZN9QWebFrame27addToJavaScriptWindowObjectERK7QStringP7QObjectN13QScriptEngine14ValueOwnershipE @ 396 NONAME + _ZN9QWebFrame29javaScriptWindowObjectClearedEv @ 397 NONAME + _ZN9QWebFrame4loadERK15QNetworkRequestN21QNetworkAccessManager9OperationERK10QByteArray @ 398 NONAME + _ZN9QWebFrame4loadERK4QUrl @ 399 NONAME + _ZN9QWebFrame5eventEP6QEvent @ 400 NONAME + _ZN9QWebFrame6renderEP8QPainter @ 401 NONAME + _ZN9QWebFrame6renderEP8QPainterRK7QRegion @ 402 NONAME + _ZN9QWebFrame6scrollEii @ 403 NONAME + _ZN9QWebFrame6setUrlERK4QUrl @ 404 NONAME + _ZN9QWebFrame7setHtmlERK7QStringRK4QUrl @ 405 NONAME + _ZN9QWebFrame8setFocusEv @ 406 NONAME + _ZN9QWebFrameC1EP8QWebPageP13QWebFrameData @ 407 NONAME + _ZN9QWebFrameC1EPS_P13QWebFrameData @ 408 NONAME + _ZN9QWebFrameC2EP8QWebPageP13QWebFrameData @ 409 NONAME + _ZN9QWebFrameC2EPS_P13QWebFrameData @ 410 NONAME + _ZN9QWebFrameD0Ev @ 411 NONAME + _ZN9QWebFrameD1Ev @ 412 NONAME + _ZN9QWebFrameD2Ev @ 413 NONAME + _ZNK11QWebElement10firstChildEv @ 414 NONAME + _ZNK11QWebElement10toInnerXmlEv @ 415 NONAME + _ZNK11QWebElement10toOuterXmlEv @ 416 NONAME + _ZNK11QWebElement11attributeNSERK7QStringS2_S2_ @ 417 NONAME + _ZNK11QWebElement11nextSiblingEv @ 418 NONAME + _ZNK11QWebElement11toPlainTextEv @ 419 NONAME + _ZNK11QWebElement12hasAttributeERK7QString @ 420 NONAME + _ZNK11QWebElement12namespaceUriEv @ 421 NONAME + _ZNK11QWebElement13hasAttributesEv @ 422 NONAME + _ZNK11QWebElement13stylePropertyERK7QStringNS_20StyleResolveStrategyE @ 423 NONAME + _ZNK11QWebElement14hasAttributeNSERK7QStringS2_ @ 424 NONAME + _ZNK11QWebElement15previousSiblingEv @ 425 NONAME + _ZNK11QWebElement5cloneEv @ 426 NONAME + _ZNK11QWebElement6isNullEv @ 427 NONAME + _ZNK11QWebElement6parentEv @ 428 NONAME + _ZNK11QWebElement6prefixEv @ 429 NONAME + _ZNK11QWebElement7classesEv @ 430 NONAME + _ZNK11QWebElement7findAllERK7QString @ 431 NONAME + _ZNK11QWebElement7tagNameEv @ 432 NONAME + _ZNK11QWebElement8documentEv @ 433 NONAME + _ZNK11QWebElement8geometryEv @ 434 NONAME + _ZNK11QWebElement8hasClassERK7QString @ 435 NONAME + _ZNK11QWebElement8hasFocusEv @ 436 NONAME + _ZNK11QWebElement8webFrameEv @ 437 NONAME + _ZNK11QWebElement9attributeERK7QStringS2_ @ 438 NONAME + _ZNK11QWebElement9findFirstERK7QString @ 439 NONAME + _ZNK11QWebElement9lastChildEv @ 440 NONAME + _ZNK11QWebElement9localNameEv @ 441 NONAME + _ZNK11QWebElementeqERKS_ @ 442 NONAME + _ZNK11QWebElementneERKS_ @ 443 NONAME + _ZNK11QWebHistory11currentItemEv @ 444 NONAME + _ZNK11QWebHistory11forwardItemEv @ 445 NONAME + _ZNK11QWebHistory12canGoForwardEv @ 446 NONAME + _ZNK11QWebHistory12forwardItemsEi @ 447 NONAME + _ZNK11QWebHistory16currentItemIndexEv @ 448 NONAME + _ZNK11QWebHistory16maximumItemCountEv @ 449 NONAME + _ZNK11QWebHistory5countEv @ 450 NONAME + _ZNK11QWebHistory5itemsEv @ 451 NONAME + _ZNK11QWebHistory6itemAtEi @ 452 NONAME + _ZNK11QWebHistory8backItemEv @ 453 NONAME + _ZNK11QWebHistory9backItemsEi @ 454 NONAME + _ZNK11QWebHistory9canGoBackEv @ 455 NONAME + _ZNK11QWebHistory9saveStateENS_19HistoryStateVersionE @ 456 NONAME + _ZNK12QWebDatabase11displayNameEv @ 457 NONAME + _ZNK12QWebDatabase12expectedSizeEv @ 458 NONAME + _ZNK12QWebDatabase4nameEv @ 459 NONAME + _ZNK12QWebDatabase4sizeEv @ 460 NONAME + _ZNK12QWebDatabase6originEv @ 461 NONAME + _ZNK12QWebDatabase8fileNameEv @ 462 NONAME + _ZNK12QWebSettings10fontFamilyENS_10FontFamilyE @ 463 NONAME + _ZNK12QWebSettings13testAttributeENS_12WebAttributeE @ 464 NONAME + _ZNK12QWebSettings16localStoragePathEv @ 465 NONAME + _ZNK12QWebSettings17userStyleSheetUrlEv @ 466 NONAME + _ZNK12QWebSettings19defaultTextEncodingEv @ 467 NONAME + _ZNK12QWebSettings8fontSizeENS_8FontSizeE @ 468 NONAME + _ZNK13QWebInspector10metaObjectEv @ 469 NONAME + _ZNK13QWebInspector4pageEv @ 470 NONAME + _ZNK13QWebInspector8sizeHintEv @ 471 NONAME + _ZNK14QWebPluginInfo11descriptionEv @ 472 NONAME + _ZNK14QWebPluginInfo16supportsMimeTypeERK7QString @ 473 NONAME + _ZNK14QWebPluginInfo4nameEv @ 474 NONAME + _ZNK14QWebPluginInfo4pathEv @ 475 NONAME + _ZNK14QWebPluginInfo6isNullEv @ 476 NONAME + _ZNK14QWebPluginInfo9isEnabledEv @ 477 NONAME + _ZNK14QWebPluginInfo9mimeTypesEv @ 478 NONAME + _ZNK14QWebPluginInfoeqERKS_ @ 479 NONAME + _ZNK14QWebPluginInfoneERKS_ @ 480 NONAME + _ZNK15QWebHistoryItem11lastVisitedEv @ 481 NONAME + _ZNK15QWebHistoryItem11originalUrlEv @ 482 NONAME + _ZNK15QWebHistoryItem3urlEv @ 483 NONAME + _ZNK15QWebHistoryItem4iconEv @ 484 NONAME + _ZNK15QWebHistoryItem5titleEv @ 485 NONAME + _ZNK15QWebHistoryItem7isValidEv @ 486 NONAME + _ZNK15QWebHistoryItem8userDataEv @ 487 NONAME + _ZNK16QGraphicsWebView10metaObjectEv @ 488 NONAME + _ZNK16QGraphicsWebView10zoomFactorEv @ 489 NONAME + _ZNK16QGraphicsWebView13isInteractiveEv @ 490 NONAME + _ZNK16QGraphicsWebView3urlEv @ 491 NONAME + _ZNK16QGraphicsWebView4iconEv @ 492 NONAME + _ZNK16QGraphicsWebView4pageEv @ 493 NONAME + _ZNK16QGraphicsWebView5titleEv @ 494 NONAME + _ZNK16QGraphicsWebView6statusEv @ 495 NONAME + _ZNK16QGraphicsWebView6toHtmlEv @ 496 NONAME + _ZNK16QGraphicsWebView7historyEv @ 497 NONAME + _ZNK16QGraphicsWebView8progressEv @ 498 NONAME + _ZNK16QGraphicsWebView8settingsEv @ 499 NONAME + _ZNK17QWebHitTestResult11linkElementEv @ 500 NONAME + _ZNK17QWebHitTestResult12boundingRectEv @ 501 NONAME + _ZNK17QWebHitTestResult13alternateTextEv @ 502 NONAME + _ZNK17QWebHitTestResult15linkTargetFrameEv @ 503 NONAME + _ZNK17QWebHitTestResult17isContentEditableEv @ 504 NONAME + _ZNK17QWebHitTestResult17isContentSelectedEv @ 505 NONAME + _ZNK17QWebHitTestResult21enclosingBlockElementEv @ 506 NONAME + _ZNK17QWebHitTestResult3posEv @ 507 NONAME + _ZNK17QWebHitTestResult5frameEv @ 508 NONAME + _ZNK17QWebHitTestResult5titleEv @ 509 NONAME + _ZNK17QWebHitTestResult6isNullEv @ 510 NONAME + _ZNK17QWebHitTestResult6pixmapEv @ 511 NONAME + _ZNK17QWebHitTestResult7elementEv @ 512 NONAME + _ZNK17QWebHitTestResult7linkUrlEv @ 513 NONAME + _ZNK17QWebHitTestResult8imageUrlEv @ 514 NONAME + _ZNK17QWebHitTestResult8linkTextEv @ 515 NONAME + _ZNK17QWebHitTestResult9linkTitleEv @ 516 NONAME + _ZNK17QWebPluginFactory10metaObjectEv @ 517 NONAME + _ZNK17QWebPluginFactory17supportsExtensionENS_9ExtensionE @ 518 NONAME + _ZNK17QWebPluginFactory8MimeTypeeqERKS0_ @ 519 NONAME + _ZNK18QWebPluginDatabase10metaObjectEv @ 520 NONAME + _ZNK18QWebPluginDatabase11searchPathsEv @ 521 NONAME + _ZNK18QWebPluginDatabase7pluginsEv @ 522 NONAME + _ZNK18QWebSecurityOrigin13databaseQuotaEv @ 523 NONAME + _ZNK18QWebSecurityOrigin13databaseUsageEv @ 524 NONAME + _ZNK18QWebSecurityOrigin4hostEv @ 525 NONAME + _ZNK18QWebSecurityOrigin4portEv @ 526 NONAME + _ZNK18QWebSecurityOrigin6schemeEv @ 527 NONAME + _ZNK18QWebSecurityOrigin9databasesEv @ 528 NONAME + _ZNK20QWebHistoryInterface10metaObjectEv @ 529 NONAME + _ZNK8QWebPage10isModifiedEv @ 530 NONAME + _ZNK8QWebPage10metaObjectEv @ 531 NONAME + _ZNK8QWebPage10totalBytesEv @ 532 NONAME + _ZNK8QWebPage12currentFrameEv @ 533 NONAME + _ZNK8QWebPage12selectedTextEv @ 534 NONAME + _ZNK8QWebPage12viewportSizeEv @ 535 NONAME + _ZNK8QWebPage13bytesReceivedEv @ 536 NONAME + _ZNK8QWebPage13pluginFactoryEv @ 537 NONAME + _ZNK8QWebPage15setViewportSizeERK5QSize @ 538 NONAME + _ZNK8QWebPage15userAgentForUrlERK4QUrl @ 539 NONAME + _ZNK8QWebPage16inputMethodQueryEN2Qt16InputMethodQueryE @ 540 NONAME + _ZNK8QWebPage17fixedContentsSizeEv @ 541 NONAME + _ZNK8QWebPage17isContentEditableEv @ 542 NONAME + _ZNK8QWebPage17supportsExtensionENS_9ExtensionE @ 543 NONAME + _ZNK8QWebPage20linkDelegationPolicyEv @ 544 NONAME + _ZNK8QWebPage20networkAccessManagerEv @ 545 NONAME + _ZNK8QWebPage20setFixedContentsSizeERK5QSize @ 546 NONAME + _ZNK8QWebPage25forwardUnsupportedContentEv @ 547 NONAME + _ZNK8QWebPage4viewEv @ 548 NONAME + _ZNK8QWebPage6actionENS_9WebActionE @ 549 NONAME + _ZNK8QWebPage7frameAtERK6QPoint @ 550 NONAME + _ZNK8QWebPage7historyEv @ 551 NONAME + _ZNK8QWebPage7paletteEv @ 552 NONAME + _ZNK8QWebPage8settingsEv @ 553 NONAME + _ZNK8QWebPage9mainFrameEv @ 554 NONAME + _ZNK8QWebPage9undoStackEv @ 555 NONAME + _ZNK8QWebView10isModifiedEv @ 556 NONAME + _ZNK8QWebView10metaObjectEv @ 557 NONAME + _ZNK8QWebView10pageActionEN8QWebPage9WebActionE @ 558 NONAME + _ZNK8QWebView10zoomFactorEv @ 559 NONAME + _ZNK8QWebView11renderHintsEv @ 560 NONAME + _ZNK8QWebView12selectedTextEv @ 561 NONAME + _ZNK8QWebView16inputMethodQueryEN2Qt16InputMethodQueryE @ 562 NONAME + _ZNK8QWebView18textSizeMultiplierEv @ 563 NONAME + _ZNK8QWebView3urlEv @ 564 NONAME + _ZNK8QWebView4iconEv @ 565 NONAME + _ZNK8QWebView4pageEv @ 566 NONAME + _ZNK8QWebView5printEP8QPrinter @ 567 NONAME + _ZNK8QWebView5titleEv @ 568 NONAME + _ZNK8QWebView7historyEv @ 569 NONAME + _ZNK8QWebView8settingsEv @ 570 NONAME + _ZNK8QWebView8sizeHintEv @ 571 NONAME + _ZNK9QWebFrame10metaObjectEv @ 572 NONAME + _ZNK9QWebFrame10zoomFactorEv @ 573 NONAME + _ZNK9QWebFrame11childFramesEv @ 574 NONAME + _ZNK9QWebFrame11parentFrameEv @ 575 NONAME + _ZNK9QWebFrame11toPlainTextEv @ 576 NONAME + _ZNK9QWebFrame12contentsSizeEv @ 577 NONAME + _ZNK9QWebFrame12requestedUrlEv @ 578 NONAME + _ZNK9QWebFrame14hitTestContentERK6QPoint @ 579 NONAME + _ZNK9QWebFrame14renderTreeDumpEv @ 580 NONAME + _ZNK9QWebFrame14scrollBarValueEN2Qt11OrientationE @ 581 NONAME + _ZNK9QWebFrame14scrollPositionEv @ 582 NONAME + _ZNK9QWebFrame14securityOriginEv @ 583 NONAME + _ZNK9QWebFrame15documentElementEv @ 584 NONAME + _ZNK9QWebFrame15findAllElementsERK7QString @ 585 NONAME + _ZNK9QWebFrame15scrollBarPolicyEN2Qt11OrientationE @ 586 NONAME + _ZNK9QWebFrame16findFirstElementERK7QString @ 587 NONAME + _ZNK9QWebFrame16scrollBarMaximumEN2Qt11OrientationE @ 588 NONAME + _ZNK9QWebFrame16scrollBarMinimumEN2Qt11OrientationE @ 589 NONAME + _ZNK9QWebFrame17scrollBarGeometryEN2Qt11OrientationE @ 590 NONAME + _ZNK9QWebFrame18textSizeMultiplierEv @ 591 NONAME + _ZNK9QWebFrame20clipRenderToViewportEv @ 592 NONAME + _ZNK9QWebFrame3posEv @ 593 NONAME + _ZNK9QWebFrame3urlEv @ 594 NONAME + _ZNK9QWebFrame4iconEv @ 595 NONAME + _ZNK9QWebFrame4pageEv @ 596 NONAME + _ZNK9QWebFrame5titleEv @ 597 NONAME + _ZNK9QWebFrame6toHtmlEv @ 598 NONAME + _ZNK9QWebFrame7baseUrlEv @ 599 NONAME + _ZNK9QWebFrame8geometryEv @ 600 NONAME + _ZNK9QWebFrame8hasFocusEv @ 601 NONAME + _ZNK9QWebFrame8metaDataEv @ 602 NONAME + _ZNK9QWebFrame9frameNameEv @ 603 NONAME + _ZTI13QWebInspector @ 604 NONAME + _ZTI16QGraphicsWebView @ 605 NONAME + _ZTI17QWebPluginFactory @ 606 NONAME + _ZTI18QWebPluginDatabase @ 607 NONAME + _ZTI20QWebHistoryInterface @ 608 NONAME + _ZTI8QWebPage @ 609 NONAME + _ZTI8QWebView @ 610 NONAME + _ZTI9QWebFrame @ 611 NONAME + _ZTV13QWebInspector @ 612 NONAME + _ZTV16QGraphicsWebView @ 613 NONAME + _ZTV17QWebPluginFactory @ 614 NONAME + _ZTV18QWebPluginDatabase @ 615 NONAME + _ZTV20QWebHistoryInterface @ 616 NONAME + _ZTV8QWebPage @ 617 NONAME + _ZTV8QWebView @ 618 NONAME + _ZTV9QWebFrame @ 619 NONAME + _ZThn16_N16QGraphicsWebView11setGeometryERK6QRectF @ 620 NONAME + _ZThn16_N16QGraphicsWebView14updateGeometryEv @ 621 NONAME + _ZThn16_N16QGraphicsWebViewD0Ev @ 622 NONAME + _ZThn16_N16QGraphicsWebViewD1Ev @ 623 NONAME + _ZThn8_N13QWebInspectorD0Ev @ 624 NONAME + _ZThn8_N13QWebInspectorD1Ev @ 625 NONAME + _ZThn8_N16QGraphicsWebView10sceneEventEP6QEvent @ 626 NONAME + _ZThn8_N16QGraphicsWebView10wheelEventEP24QGraphicsSceneWheelEvent @ 627 NONAME + _ZThn8_N16QGraphicsWebView12focusInEventEP11QFocusEvent @ 628 NONAME + _ZThn8_N16QGraphicsWebView13dragMoveEventEP27QGraphicsSceneDragDropEvent @ 629 NONAME + _ZThn8_N16QGraphicsWebView13focusOutEventEP11QFocusEvent @ 630 NONAME + _ZThn8_N16QGraphicsWebView13keyPressEventEP9QKeyEvent @ 631 NONAME + _ZThn8_N16QGraphicsWebView14dragEnterEventEP27QGraphicsSceneDragDropEvent @ 632 NONAME + _ZThn8_N16QGraphicsWebView14dragLeaveEventEP27QGraphicsSceneDragDropEvent @ 633 NONAME + _ZThn8_N16QGraphicsWebView14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 634 NONAME + _ZThn8_N16QGraphicsWebView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 635 NONAME + _ZThn8_N16QGraphicsWebView15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 636 NONAME + _ZThn8_N16QGraphicsWebView15keyReleaseEventEP9QKeyEvent @ 637 NONAME + _ZThn8_N16QGraphicsWebView15mousePressEventEP24QGraphicsSceneMouseEvent @ 638 NONAME + _ZThn8_N16QGraphicsWebView16contextMenuEventEP30QGraphicsSceneContextMenuEvent @ 639 NONAME + _ZThn8_N16QGraphicsWebView16inputMethodEventEP17QInputMethodEvent @ 640 NONAME + _ZThn8_N16QGraphicsWebView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 641 NONAME + _ZThn8_N16QGraphicsWebView21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 642 NONAME + _ZThn8_N16QGraphicsWebView5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 643 NONAME + _ZThn8_N16QGraphicsWebView9dropEventEP27QGraphicsSceneDragDropEvent @ 644 NONAME + _ZThn8_N16QGraphicsWebViewD0Ev @ 645 NONAME + _ZThn8_N16QGraphicsWebViewD1Ev @ 646 NONAME + _ZThn8_N8QWebViewD0Ev @ 647 NONAME + _ZThn8_N8QWebViewD1Ev @ 648 NONAME + _ZlsR11QDataStreamRK11QWebHistory @ 649 NONAME + _ZrsR11QDataStreamR11QWebHistory @ 650 NONAME + diff --git a/src/s60installs/eabi/QtXmlu.def b/src/s60installs/eabi/QtXmlu.def index f08152f..d1ba69d 100644 --- a/src/s60installs/eabi/QtXmlu.def +++ b/src/s60installs/eabi/QtXmlu.def @@ -208,284 +208,254 @@ EXPORTS _ZN18QXmlDefaultHandler8startDTDERK7QStringS2_S2_ @ 207 NONAME _ZN18QXmlDefaultHandler9endEntityERK7QString @ 208 NONAME _ZN18QXmlParseExceptionC1ERK7QStringiiS2_S2_ @ 209 NONAME - _ZN18QXmlParseExceptionC2ERK7QStringiiS2_S2_ @ 210 NONAME - _ZN18QXmlParseExceptionD1Ev @ 211 NONAME - _ZN18QXmlParseExceptionD2Ev @ 212 NONAME - _ZN19QDomEntityReferenceC1EP26QDomEntityReferencePrivate @ 213 NONAME - _ZN19QDomEntityReferenceC1ERKS_ @ 214 NONAME - _ZN19QDomEntityReferenceC1Ev @ 215 NONAME - _ZN19QDomEntityReferenceC2EP26QDomEntityReferencePrivate @ 216 NONAME - _ZN19QDomEntityReferenceC2ERKS_ @ 217 NONAME - _ZN19QDomEntityReferenceC2Ev @ 218 NONAME - _ZN19QDomEntityReferenceaSERKS_ @ 219 NONAME - _ZN20QDomDocumentFragmentC1EP27QDomDocumentFragmentPrivate @ 220 NONAME - _ZN20QDomDocumentFragmentC1ERKS_ @ 221 NONAME - _ZN20QDomDocumentFragmentC1Ev @ 222 NONAME - _ZN20QDomDocumentFragmentC2EP27QDomDocumentFragmentPrivate @ 223 NONAME - _ZN20QDomDocumentFragmentC2ERKS_ @ 224 NONAME - _ZN20QDomDocumentFragmentC2Ev @ 225 NONAME - _ZN20QDomDocumentFragmentaSERKS_ @ 226 NONAME - _ZN20QXmlNamespaceSupport10popContextEv @ 227 NONAME - _ZN20QXmlNamespaceSupport11pushContextEv @ 228 NONAME - _ZN20QXmlNamespaceSupport5resetEv @ 229 NONAME - _ZN20QXmlNamespaceSupport9setPrefixERK7QStringS2_ @ 230 NONAME - _ZN20QXmlNamespaceSupportC1Ev @ 231 NONAME - _ZN20QXmlNamespaceSupportC2Ev @ 232 NONAME - _ZN20QXmlNamespaceSupportD1Ev @ 233 NONAME - _ZN20QXmlNamespaceSupportD2Ev @ 234 NONAME - _ZN25QDomProcessingInstruction7setDataERK7QString @ 235 NONAME - _ZN25QDomProcessingInstructionC1EP32QDomProcessingInstructionPrivate @ 236 NONAME - _ZN25QDomProcessingInstructionC1ERKS_ @ 237 NONAME - _ZN25QDomProcessingInstructionC1Ev @ 238 NONAME - _ZN25QDomProcessingInstructionC2EP32QDomProcessingInstructionPrivate @ 239 NONAME - _ZN25QDomProcessingInstructionC2ERKS_ @ 240 NONAME - _ZN25QDomProcessingInstructionC2Ev @ 241 NONAME - _ZN25QDomProcessingInstructionaSERKS_ @ 242 NONAME - _ZN8QDomAttr8setValueERK7QString @ 243 NONAME - _ZN8QDomAttrC1EP15QDomAttrPrivate @ 244 NONAME - _ZN8QDomAttrC1ERKS_ @ 245 NONAME - _ZN8QDomAttrC1Ev @ 246 NONAME - _ZN8QDomAttrC2EP15QDomAttrPrivate @ 247 NONAME - _ZN8QDomAttrC2ERKS_ @ 248 NONAME - _ZN8QDomAttrC2Ev @ 249 NONAME - _ZN8QDomAttraSERKS_ @ 250 NONAME - _ZN8QDomNode11appendChildERKS_ @ 251 NONAME - _ZN8QDomNode11insertAfterERKS_S1_ @ 252 NONAME - _ZN8QDomNode11removeChildERKS_ @ 253 NONAME - _ZN8QDomNode12insertBeforeERKS_S1_ @ 254 NONAME - _ZN8QDomNode12replaceChildERKS_S1_ @ 255 NONAME - _ZN8QDomNode12setNodeValueERK7QString @ 256 NONAME - _ZN8QDomNode5clearEv @ 257 NONAME - _ZN8QDomNode9normalizeEv @ 258 NONAME - _ZN8QDomNode9setPrefixERK7QString @ 259 NONAME - _ZN8QDomNodeC1EP15QDomNodePrivate @ 260 NONAME - _ZN8QDomNodeC1ERKS_ @ 261 NONAME - _ZN8QDomNodeC1Ev @ 262 NONAME - _ZN8QDomNodeC2EP15QDomNodePrivate @ 263 NONAME - _ZN8QDomNodeC2ERKS_ @ 264 NONAME - _ZN8QDomNodeC2Ev @ 265 NONAME - _ZN8QDomNodeD1Ev @ 266 NONAME - _ZN8QDomNodeD2Ev @ 267 NONAME - _ZN8QDomNodeaSERKS_ @ 268 NONAME - _ZN8QDomText9splitTextEi @ 269 NONAME - _ZN8QDomTextC1EP15QDomTextPrivate @ 270 NONAME - _ZN8QDomTextC1ERKS_ @ 271 NONAME - _ZN8QDomTextC1Ev @ 272 NONAME - _ZN8QDomTextC2EP15QDomTextPrivate @ 273 NONAME - _ZN8QDomTextC2ERKS_ @ 274 NONAME - _ZN8QDomTextC2Ev @ 275 NONAME - _ZN8QDomTextaSERKS_ @ 276 NONAME - _ZNK10QDomEntity12notationNameEv @ 277 NONAME - _ZNK10QDomEntity8publicIdEv @ 278 NONAME - _ZNK10QDomEntity8systemIdEv @ 279 NONAME - _ZNK11QDomElement10attributesEv @ 280 NONAME - _ZNK11QDomElement11attributeNSE7QStringRKS0_S2_ @ 281 NONAME - _ZNK11QDomElement12hasAttributeERK7QString @ 282 NONAME - _ZNK11QDomElement14hasAttributeNSERK7QStringS2_ @ 283 NONAME - _ZNK11QDomElement17elementsByTagNameERK7QString @ 284 NONAME - _ZNK11QDomElement19elementsByTagNameNSERK7QStringS2_ @ 285 NONAME - _ZNK11QDomElement4textEv @ 286 NONAME - _ZNK11QDomElement7tagNameEv @ 287 NONAME - _ZNK11QDomElement9attributeERK7QStringS2_ @ 288 NONAME - _ZNK12QDomDocument11toByteArrayEi @ 289 NONAME - _ZNK12QDomDocument14implementationEv @ 290 NONAME - _ZNK12QDomDocument15documentElementEv @ 291 NONAME - _ZNK12QDomDocument17elementsByTagNameERK7QString @ 292 NONAME - _ZNK12QDomDocument7doctypeEv @ 293 NONAME - _ZNK12QDomDocument8toStringEi @ 294 NONAME - _ZNK12QDomNodeList4itemEi @ 295 NONAME - _ZNK12QDomNodeList6lengthEv @ 296 NONAME - _ZNK12QDomNodeListeqERKS_ @ 297 NONAME - _ZNK12QDomNodeListneERKS_ @ 298 NONAME - _ZNK12QDomNotation8publicIdEv @ 299 NONAME - _ZNK12QDomNotation8systemIdEv @ 300 NONAME - _ZNK14QXmlAttributes3uriEi @ 301 NONAME - _ZNK14QXmlAttributes4typeERK7QString @ 302 NONAME - _ZNK14QXmlAttributes4typeERK7QStringS2_ @ 303 NONAME - _ZNK14QXmlAttributes4typeEi @ 304 NONAME - _ZNK14QXmlAttributes5indexERK13QLatin1String @ 305 NONAME - _ZNK14QXmlAttributes5indexERK7QString @ 306 NONAME - _ZNK14QXmlAttributes5indexERK7QStringS2_ @ 307 NONAME - _ZNK14QXmlAttributes5qNameEi @ 308 NONAME - _ZNK14QXmlAttributes5valueERK13QLatin1String @ 309 NONAME - _ZNK14QXmlAttributes5valueERK7QString @ 310 NONAME - _ZNK14QXmlAttributes5valueERK7QStringS2_ @ 311 NONAME - _ZNK14QXmlAttributes5valueEi @ 312 NONAME - _ZNK14QXmlAttributes6lengthEv @ 313 NONAME - _ZNK14QXmlAttributes9localNameEi @ 314 NONAME - _ZNK15QXmlInputSource4dataEv @ 315 NONAME - _ZNK16QDomDocumentType14internalSubsetEv @ 316 NONAME - _ZNK16QDomDocumentType4nameEv @ 317 NONAME - _ZNK16QDomDocumentType8entitiesEv @ 318 NONAME - _ZNK16QDomDocumentType8publicIdEv @ 319 NONAME - _ZNK16QDomDocumentType8systemIdEv @ 320 NONAME - _ZNK16QDomDocumentType9notationsEv @ 321 NONAME - _ZNK16QDomNamedNodeMap11namedItemNSERK7QStringS2_ @ 322 NONAME - _ZNK16QDomNamedNodeMap4itemEi @ 323 NONAME - _ZNK16QDomNamedNodeMap6lengthEv @ 324 NONAME - _ZNK16QDomNamedNodeMap8containsERK7QString @ 325 NONAME - _ZNK16QDomNamedNodeMap9namedItemERK7QString @ 326 NONAME - _ZNK16QDomNamedNodeMapeqERKS_ @ 327 NONAME - _ZNK16QDomNamedNodeMapneERKS_ @ 328 NONAME - _ZNK16QXmlSimpleReader10DTDHandlerEv @ 329 NONAME - _ZNK16QXmlSimpleReader10hasFeatureERK7QString @ 330 NONAME - _ZNK16QXmlSimpleReader11declHandlerEv @ 331 NONAME - _ZNK16QXmlSimpleReader11hasPropertyERK7QString @ 332 NONAME - _ZNK16QXmlSimpleReader12errorHandlerEv @ 333 NONAME - _ZNK16QXmlSimpleReader14contentHandlerEv @ 334 NONAME - _ZNK16QXmlSimpleReader14entityResolverEv @ 335 NONAME - _ZNK16QXmlSimpleReader14lexicalHandlerEv @ 336 NONAME - _ZNK16QXmlSimpleReader7featureERK7QStringPb @ 337 NONAME - _ZNK16QXmlSimpleReader8propertyERK7QStringPb @ 338 NONAME - _ZNK17QDomCharacterData4dataEv @ 339 NONAME - _ZNK17QDomCharacterData6lengthEv @ 340 NONAME - _ZNK17QDomCharacterData8nodeTypeEv @ 341 NONAME - _ZNK18QDomImplementation10hasFeatureERK7QStringS2_ @ 342 NONAME - _ZNK18QDomImplementationeqERKS_ @ 343 NONAME - _ZNK18QDomImplementationneERKS_ @ 344 NONAME - _ZNK18QXmlDefaultHandler11errorStringEv @ 345 NONAME - _ZNK18QXmlParseException10lineNumberEv @ 346 NONAME - _ZNK18QXmlParseException12columnNumberEv @ 347 NONAME - _ZNK18QXmlParseException7messageEv @ 348 NONAME - _ZNK18QXmlParseException8publicIdEv @ 349 NONAME - _ZNK18QXmlParseException8systemIdEv @ 350 NONAME - _ZNK20QXmlNamespaceSupport11processNameERK7QStringbRS0_S3_ @ 351 NONAME - _ZNK20QXmlNamespaceSupport3uriERK7QString @ 352 NONAME - _ZNK20QXmlNamespaceSupport6prefixERK7QString @ 353 NONAME - _ZNK20QXmlNamespaceSupport8prefixesERK7QString @ 354 NONAME - _ZNK20QXmlNamespaceSupport8prefixesEv @ 355 NONAME - _ZNK20QXmlNamespaceSupport9splitNameERK7QStringRS0_S3_ @ 356 NONAME - _ZNK25QDomProcessingInstruction4dataEv @ 357 NONAME - _ZNK25QDomProcessingInstruction6targetEv @ 358 NONAME - _ZNK8QDomAttr12ownerElementEv @ 359 NONAME - _ZNK8QDomAttr4nameEv @ 360 NONAME - _ZNK8QDomAttr5valueEv @ 361 NONAME - _ZNK8QDomAttr9specifiedEv @ 362 NONAME - _ZNK8QDomNode10attributesEv @ 363 NONAME - _ZNK8QDomNode10childNodesEv @ 364 NONAME - _ZNK8QDomNode10firstChildEv @ 365 NONAME - _ZNK8QDomNode10isDocumentEv @ 366 NONAME - _ZNK8QDomNode10isNotationEv @ 367 NONAME - _ZNK8QDomNode10lineNumberEv @ 368 NONAME - _ZNK8QDomNode10parentNodeEv @ 369 NONAME - _ZNK8QDomNode10toDocumentEv @ 370 NONAME - _ZNK8QDomNode10toNotationEv @ 371 NONAME - _ZNK8QDomNode11isSupportedERK7QStringS2_ @ 372 NONAME - _ZNK8QDomNode11nextSiblingEv @ 373 NONAME - _ZNK8QDomNode12columnNumberEv @ 374 NONAME - _ZNK8QDomNode12namespaceURIEv @ 375 NONAME - _ZNK8QDomNode13hasAttributesEv @ 376 NONAME - _ZNK8QDomNode13hasChildNodesEv @ 377 NONAME - _ZNK8QDomNode13ownerDocumentEv @ 378 NONAME - _ZNK8QDomNode14isCDATASectionEv @ 379 NONAME - _ZNK8QDomNode14isDocumentTypeEv @ 380 NONAME - _ZNK8QDomNode14toCDATASectionEv @ 381 NONAME - _ZNK8QDomNode14toDocumentTypeEv @ 382 NONAME - _ZNK8QDomNode15isCharacterDataEv @ 383 NONAME - _ZNK8QDomNode15previousSiblingEv @ 384 NONAME - _ZNK8QDomNode15toCharacterDataEv @ 385 NONAME - _ZNK8QDomNode16lastChildElementERK7QString @ 386 NONAME - _ZNK8QDomNode17firstChildElementERK7QString @ 387 NONAME - _ZNK8QDomNode17isEntityReferenceEv @ 388 NONAME - _ZNK8QDomNode17toEntityReferenceEv @ 389 NONAME - _ZNK8QDomNode18isDocumentFragmentEv @ 390 NONAME - _ZNK8QDomNode18nextSiblingElementERK7QString @ 391 NONAME - _ZNK8QDomNode18toDocumentFragmentEv @ 392 NONAME - _ZNK8QDomNode22previousSiblingElementERK7QString @ 393 NONAME - _ZNK8QDomNode23isProcessingInstructionEv @ 394 NONAME - _ZNK8QDomNode23toProcessingInstructionEv @ 395 NONAME - _ZNK8QDomNode4saveER11QTextStreami @ 396 NONAME - _ZNK8QDomNode4saveER11QTextStreamiNS_14EncodingPolicyE @ 397 NONAME - _ZNK8QDomNode6isAttrEv @ 398 NONAME - _ZNK8QDomNode6isNullEv @ 399 NONAME - _ZNK8QDomNode6isTextEv @ 400 NONAME - _ZNK8QDomNode6prefixEv @ 401 NONAME - _ZNK8QDomNode6toAttrEv @ 402 NONAME - _ZNK8QDomNode6toTextEv @ 403 NONAME - _ZNK8QDomNode8isEntityEv @ 404 NONAME - _ZNK8QDomNode8nodeNameEv @ 405 NONAME - _ZNK8QDomNode8nodeTypeEv @ 406 NONAME - _ZNK8QDomNode8toEntityEv @ 407 NONAME - _ZNK8QDomNode9cloneNodeEb @ 408 NONAME - _ZNK8QDomNode9isCommentEv @ 409 NONAME - _ZNK8QDomNode9isElementEv @ 410 NONAME - _ZNK8QDomNode9lastChildEv @ 411 NONAME - _ZNK8QDomNode9localNameEv @ 412 NONAME - _ZNK8QDomNode9namedItemERK7QString @ 413 NONAME - _ZNK8QDomNode9nodeValueEv @ 414 NONAME - _ZNK8QDomNode9toCommentEv @ 415 NONAME - _ZNK8QDomNode9toElementEv @ 416 NONAME - _ZNK8QDomNodeeqERKS_ @ 417 NONAME - _ZNK8QDomNodeneERKS_ @ 418 NONAME - _ZTI10QXmlReader @ 419 NONAME - _ZTI11QDomHandler @ 420 NONAME ABSENT - _ZTI11QXmlLocator @ 421 NONAME - _ZTI14QXmlAttributes @ 422 NONAME - _ZTI14QXmlDTDHandler @ 423 NONAME - _ZTI15QDomAttrPrivate @ 424 NONAME ABSENT - _ZTI15QDomNodePrivate @ 425 NONAME ABSENT - _ZTI15QDomTextPrivate @ 426 NONAME ABSENT - _ZTI15QXmlDeclHandler @ 427 NONAME - _ZTI15QXmlInputSource @ 428 NONAME - _ZTI16QXmlErrorHandler @ 429 NONAME - _ZTI16QXmlSimpleReader @ 430 NONAME - _ZTI17QDomEntityPrivate @ 431 NONAME ABSENT - _ZTI18QDomCommentPrivate @ 432 NONAME ABSENT - _ZTI18QDomElementPrivate @ 433 NONAME ABSENT - _ZTI18QXmlContentHandler @ 434 NONAME - _ZTI18QXmlDefaultHandler @ 435 NONAME - _ZTI18QXmlEntityResolver @ 436 NONAME - _ZTI18QXmlLexicalHandler @ 437 NONAME - _ZTI19QDomDocumentPrivate @ 438 NONAME ABSENT - _ZTI19QDomNotationPrivate @ 439 NONAME ABSENT - _ZTI23QDomCDATASectionPrivate @ 440 NONAME ABSENT - _ZTI23QDomDocumentTypePrivate @ 441 NONAME ABSENT - _ZTI24QDomCharacterDataPrivate @ 442 NONAME ABSENT - _ZTI26QDomEntityReferencePrivate @ 443 NONAME ABSENT - _ZTI27QDomDocumentFragmentPrivate @ 444 NONAME ABSENT - _ZTI32QDomProcessingInstructionPrivate @ 445 NONAME ABSENT - _ZTV11QDomHandler @ 446 NONAME ABSENT - _ZTV11QXmlLocator @ 447 NONAME - _ZTV14QXmlAttributes @ 448 NONAME - _ZTV15QDomAttrPrivate @ 449 NONAME ABSENT - _ZTV15QDomNodePrivate @ 450 NONAME ABSENT - _ZTV15QDomTextPrivate @ 451 NONAME ABSENT - _ZTV15QXmlInputSource @ 452 NONAME - _ZTV16QXmlSimpleReader @ 453 NONAME - _ZTV17QDomEntityPrivate @ 454 NONAME ABSENT - _ZTV18QDomCommentPrivate @ 455 NONAME ABSENT - _ZTV18QDomElementPrivate @ 456 NONAME ABSENT - _ZTV18QXmlDefaultHandler @ 457 NONAME - _ZTV19QDomDocumentPrivate @ 458 NONAME ABSENT - _ZTV19QDomNotationPrivate @ 459 NONAME ABSENT - _ZTV23QDomCDATASectionPrivate @ 460 NONAME ABSENT - _ZTV23QDomDocumentTypePrivate @ 461 NONAME ABSENT - _ZTV24QDomCharacterDataPrivate @ 462 NONAME ABSENT - _ZTV26QDomEntityReferencePrivate @ 463 NONAME ABSENT - _ZTV27QDomDocumentFragmentPrivate @ 464 NONAME ABSENT - _ZTV32QDomProcessingInstructionPrivate @ 465 NONAME ABSENT - _ZThn12_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource @ 466 NONAME - _ZThn12_NK18QXmlDefaultHandler11errorStringEv @ 467 NONAME - _ZThn16_N18QXmlDefaultHandler10startCDATAEv @ 468 NONAME - _ZThn16_N18QXmlDefaultHandler11startEntityERK7QString @ 469 NONAME - _ZThn16_N18QXmlDefaultHandler6endDTDEv @ 470 NONAME - _ZThn16_N18QXmlDefaultHandler7commentERK7QString @ 471 NONAME - _ZThn16_N18QXmlDefaultHandler8endCDATAEv @ 472 NONAME - _ZThn16_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_ @ 473 NONAME - _ZThn16_N18QXmlDefaultHandler9endEntityERK7QString @ 474 NONAME - _ZThn16_NK18QXmlDefaultHandler11errorStringEv @ 475 NONAME - _ZThn20_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_ @ 476 NONAME - _ZThn20_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_ @ 477 NONAME - _ZThn20_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_ @ 478 NONAME - _ZThn20_NK18QXmlDefaultHandler11errorStringEv @ 479 NONAME - _ZThn4_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException @ 480 NONAME - _ZThn4_N18QXmlDefaultHandler5errorERK18QXmlParseException @ 481 NONAME - _ZThn4_N18QXmlDefaultHandler7warningERK18QXmlParseException @ 482 NONAME - _ZThn4_NK18QXmlDefaultHandler11errorStringEv @ 483 NONAME - _ZThn8_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_ @ 484 NONAME - _ZThn8_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_ @ 485 NONAME - _ZThn8_NK18QXmlDefaultHandler11errorStringEv @ 486 NONAME - _ZlsR11QTextStreamRK8QDomNode @ 487 NONAME - _ZN18QXmlParseExceptionC1ERKS_ @ 488 NONAME - _ZN18QXmlParseExceptionC2ERKS_ @ 489 NONAME + _ZN18QXmlParseExceptionC1ERKS_ @ 210 NONAME + _ZN18QXmlParseExceptionC2ERK7QStringiiS2_S2_ @ 211 NONAME + _ZN18QXmlParseExceptionC2ERKS_ @ 212 NONAME + _ZN18QXmlParseExceptionD1Ev @ 213 NONAME + _ZN18QXmlParseExceptionD2Ev @ 214 NONAME + _ZN19QDomEntityReferenceC1EP26QDomEntityReferencePrivate @ 215 NONAME + _ZN19QDomEntityReferenceC1ERKS_ @ 216 NONAME + _ZN19QDomEntityReferenceC1Ev @ 217 NONAME + _ZN19QDomEntityReferenceC2EP26QDomEntityReferencePrivate @ 218 NONAME + _ZN19QDomEntityReferenceC2ERKS_ @ 219 NONAME + _ZN19QDomEntityReferenceC2Ev @ 220 NONAME + _ZN19QDomEntityReferenceaSERKS_ @ 221 NONAME + _ZN20QDomDocumentFragmentC1EP27QDomDocumentFragmentPrivate @ 222 NONAME + _ZN20QDomDocumentFragmentC1ERKS_ @ 223 NONAME + _ZN20QDomDocumentFragmentC1Ev @ 224 NONAME + _ZN20QDomDocumentFragmentC2EP27QDomDocumentFragmentPrivate @ 225 NONAME + _ZN20QDomDocumentFragmentC2ERKS_ @ 226 NONAME + _ZN20QDomDocumentFragmentC2Ev @ 227 NONAME + _ZN20QDomDocumentFragmentaSERKS_ @ 228 NONAME + _ZN20QXmlNamespaceSupport10popContextEv @ 229 NONAME + _ZN20QXmlNamespaceSupport11pushContextEv @ 230 NONAME + _ZN20QXmlNamespaceSupport5resetEv @ 231 NONAME + _ZN20QXmlNamespaceSupport9setPrefixERK7QStringS2_ @ 232 NONAME + _ZN20QXmlNamespaceSupportC1Ev @ 233 NONAME + _ZN20QXmlNamespaceSupportC2Ev @ 234 NONAME + _ZN20QXmlNamespaceSupportD1Ev @ 235 NONAME + _ZN20QXmlNamespaceSupportD2Ev @ 236 NONAME + _ZN25QDomProcessingInstruction7setDataERK7QString @ 237 NONAME + _ZN25QDomProcessingInstructionC1EP32QDomProcessingInstructionPrivate @ 238 NONAME + _ZN25QDomProcessingInstructionC1ERKS_ @ 239 NONAME + _ZN25QDomProcessingInstructionC1Ev @ 240 NONAME + _ZN25QDomProcessingInstructionC2EP32QDomProcessingInstructionPrivate @ 241 NONAME + _ZN25QDomProcessingInstructionC2ERKS_ @ 242 NONAME + _ZN25QDomProcessingInstructionC2Ev @ 243 NONAME + _ZN25QDomProcessingInstructionaSERKS_ @ 244 NONAME + _ZN8QDomAttr8setValueERK7QString @ 245 NONAME + _ZN8QDomAttrC1EP15QDomAttrPrivate @ 246 NONAME + _ZN8QDomAttrC1ERKS_ @ 247 NONAME + _ZN8QDomAttrC1Ev @ 248 NONAME + _ZN8QDomAttrC2EP15QDomAttrPrivate @ 249 NONAME + _ZN8QDomAttrC2ERKS_ @ 250 NONAME + _ZN8QDomAttrC2Ev @ 251 NONAME + _ZN8QDomAttraSERKS_ @ 252 NONAME + _ZN8QDomNode11appendChildERKS_ @ 253 NONAME + _ZN8QDomNode11insertAfterERKS_S1_ @ 254 NONAME + _ZN8QDomNode11removeChildERKS_ @ 255 NONAME + _ZN8QDomNode12insertBeforeERKS_S1_ @ 256 NONAME + _ZN8QDomNode12replaceChildERKS_S1_ @ 257 NONAME + _ZN8QDomNode12setNodeValueERK7QString @ 258 NONAME + _ZN8QDomNode5clearEv @ 259 NONAME + _ZN8QDomNode9normalizeEv @ 260 NONAME + _ZN8QDomNode9setPrefixERK7QString @ 261 NONAME + _ZN8QDomNodeC1EP15QDomNodePrivate @ 262 NONAME + _ZN8QDomNodeC1ERKS_ @ 263 NONAME + _ZN8QDomNodeC1Ev @ 264 NONAME + _ZN8QDomNodeC2EP15QDomNodePrivate @ 265 NONAME + _ZN8QDomNodeC2ERKS_ @ 266 NONAME + _ZN8QDomNodeC2Ev @ 267 NONAME + _ZN8QDomNodeD1Ev @ 268 NONAME + _ZN8QDomNodeD2Ev @ 269 NONAME + _ZN8QDomNodeaSERKS_ @ 270 NONAME + _ZN8QDomText9splitTextEi @ 271 NONAME + _ZN8QDomTextC1EP15QDomTextPrivate @ 272 NONAME + _ZN8QDomTextC1ERKS_ @ 273 NONAME + _ZN8QDomTextC1Ev @ 274 NONAME + _ZN8QDomTextC2EP15QDomTextPrivate @ 275 NONAME + _ZN8QDomTextC2ERKS_ @ 276 NONAME + _ZN8QDomTextC2Ev @ 277 NONAME + _ZN8QDomTextaSERKS_ @ 278 NONAME + _ZNK10QDomEntity12notationNameEv @ 279 NONAME + _ZNK10QDomEntity8publicIdEv @ 280 NONAME + _ZNK10QDomEntity8systemIdEv @ 281 NONAME + _ZNK11QDomElement10attributesEv @ 282 NONAME + _ZNK11QDomElement11attributeNSE7QStringRKS0_S2_ @ 283 NONAME + _ZNK11QDomElement12hasAttributeERK7QString @ 284 NONAME + _ZNK11QDomElement14hasAttributeNSERK7QStringS2_ @ 285 NONAME + _ZNK11QDomElement17elementsByTagNameERK7QString @ 286 NONAME + _ZNK11QDomElement19elementsByTagNameNSERK7QStringS2_ @ 287 NONAME + _ZNK11QDomElement4textEv @ 288 NONAME + _ZNK11QDomElement7tagNameEv @ 289 NONAME + _ZNK11QDomElement9attributeERK7QStringS2_ @ 290 NONAME + _ZNK12QDomDocument11toByteArrayEi @ 291 NONAME + _ZNK12QDomDocument14implementationEv @ 292 NONAME + _ZNK12QDomDocument15documentElementEv @ 293 NONAME + _ZNK12QDomDocument17elementsByTagNameERK7QString @ 294 NONAME + _ZNK12QDomDocument7doctypeEv @ 295 NONAME + _ZNK12QDomDocument8toStringEi @ 296 NONAME + _ZNK12QDomNodeList4itemEi @ 297 NONAME + _ZNK12QDomNodeList6lengthEv @ 298 NONAME + _ZNK12QDomNodeListeqERKS_ @ 299 NONAME + _ZNK12QDomNodeListneERKS_ @ 300 NONAME + _ZNK12QDomNotation8publicIdEv @ 301 NONAME + _ZNK12QDomNotation8systemIdEv @ 302 NONAME + _ZNK14QXmlAttributes3uriEi @ 303 NONAME + _ZNK14QXmlAttributes4typeERK7QString @ 304 NONAME + _ZNK14QXmlAttributes4typeERK7QStringS2_ @ 305 NONAME + _ZNK14QXmlAttributes4typeEi @ 306 NONAME + _ZNK14QXmlAttributes5indexERK13QLatin1String @ 307 NONAME + _ZNK14QXmlAttributes5indexERK7QString @ 308 NONAME + _ZNK14QXmlAttributes5indexERK7QStringS2_ @ 309 NONAME + _ZNK14QXmlAttributes5qNameEi @ 310 NONAME + _ZNK14QXmlAttributes5valueERK13QLatin1String @ 311 NONAME + _ZNK14QXmlAttributes5valueERK7QString @ 312 NONAME + _ZNK14QXmlAttributes5valueERK7QStringS2_ @ 313 NONAME + _ZNK14QXmlAttributes5valueEi @ 314 NONAME + _ZNK14QXmlAttributes6lengthEv @ 315 NONAME + _ZNK14QXmlAttributes9localNameEi @ 316 NONAME + _ZNK15QXmlInputSource4dataEv @ 317 NONAME + _ZNK16QDomDocumentType14internalSubsetEv @ 318 NONAME + _ZNK16QDomDocumentType4nameEv @ 319 NONAME + _ZNK16QDomDocumentType8entitiesEv @ 320 NONAME + _ZNK16QDomDocumentType8publicIdEv @ 321 NONAME + _ZNK16QDomDocumentType8systemIdEv @ 322 NONAME + _ZNK16QDomDocumentType9notationsEv @ 323 NONAME + _ZNK16QDomNamedNodeMap11namedItemNSERK7QStringS2_ @ 324 NONAME + _ZNK16QDomNamedNodeMap4itemEi @ 325 NONAME + _ZNK16QDomNamedNodeMap6lengthEv @ 326 NONAME + _ZNK16QDomNamedNodeMap8containsERK7QString @ 327 NONAME + _ZNK16QDomNamedNodeMap9namedItemERK7QString @ 328 NONAME + _ZNK16QDomNamedNodeMapeqERKS_ @ 329 NONAME + _ZNK16QDomNamedNodeMapneERKS_ @ 330 NONAME + _ZNK16QXmlSimpleReader10DTDHandlerEv @ 331 NONAME + _ZNK16QXmlSimpleReader10hasFeatureERK7QString @ 332 NONAME + _ZNK16QXmlSimpleReader11declHandlerEv @ 333 NONAME + _ZNK16QXmlSimpleReader11hasPropertyERK7QString @ 334 NONAME + _ZNK16QXmlSimpleReader12errorHandlerEv @ 335 NONAME + _ZNK16QXmlSimpleReader14contentHandlerEv @ 336 NONAME + _ZNK16QXmlSimpleReader14entityResolverEv @ 337 NONAME + _ZNK16QXmlSimpleReader14lexicalHandlerEv @ 338 NONAME + _ZNK16QXmlSimpleReader7featureERK7QStringPb @ 339 NONAME + _ZNK16QXmlSimpleReader8propertyERK7QStringPb @ 340 NONAME + _ZNK17QDomCharacterData4dataEv @ 341 NONAME + _ZNK17QDomCharacterData6lengthEv @ 342 NONAME + _ZNK17QDomCharacterData8nodeTypeEv @ 343 NONAME + _ZNK18QDomImplementation10hasFeatureERK7QStringS2_ @ 344 NONAME + _ZNK18QDomImplementationeqERKS_ @ 345 NONAME + _ZNK18QDomImplementationneERKS_ @ 346 NONAME + _ZNK18QXmlDefaultHandler11errorStringEv @ 347 NONAME + _ZNK18QXmlParseException10lineNumberEv @ 348 NONAME + _ZNK18QXmlParseException12columnNumberEv @ 349 NONAME + _ZNK18QXmlParseException7messageEv @ 350 NONAME + _ZNK18QXmlParseException8publicIdEv @ 351 NONAME + _ZNK18QXmlParseException8systemIdEv @ 352 NONAME + _ZNK20QXmlNamespaceSupport11processNameERK7QStringbRS0_S3_ @ 353 NONAME + _ZNK20QXmlNamespaceSupport3uriERK7QString @ 354 NONAME + _ZNK20QXmlNamespaceSupport6prefixERK7QString @ 355 NONAME + _ZNK20QXmlNamespaceSupport8prefixesERK7QString @ 356 NONAME + _ZNK20QXmlNamespaceSupport8prefixesEv @ 357 NONAME + _ZNK20QXmlNamespaceSupport9splitNameERK7QStringRS0_S3_ @ 358 NONAME + _ZNK25QDomProcessingInstruction4dataEv @ 359 NONAME + _ZNK25QDomProcessingInstruction6targetEv @ 360 NONAME + _ZNK8QDomAttr12ownerElementEv @ 361 NONAME + _ZNK8QDomAttr4nameEv @ 362 NONAME + _ZNK8QDomAttr5valueEv @ 363 NONAME + _ZNK8QDomAttr9specifiedEv @ 364 NONAME + _ZNK8QDomNode10attributesEv @ 365 NONAME + _ZNK8QDomNode10childNodesEv @ 366 NONAME + _ZNK8QDomNode10firstChildEv @ 367 NONAME + _ZNK8QDomNode10isDocumentEv @ 368 NONAME + _ZNK8QDomNode10isNotationEv @ 369 NONAME + _ZNK8QDomNode10lineNumberEv @ 370 NONAME + _ZNK8QDomNode10parentNodeEv @ 371 NONAME + _ZNK8QDomNode10toDocumentEv @ 372 NONAME + _ZNK8QDomNode10toNotationEv @ 373 NONAME + _ZNK8QDomNode11isSupportedERK7QStringS2_ @ 374 NONAME + _ZNK8QDomNode11nextSiblingEv @ 375 NONAME + _ZNK8QDomNode12columnNumberEv @ 376 NONAME + _ZNK8QDomNode12namespaceURIEv @ 377 NONAME + _ZNK8QDomNode13hasAttributesEv @ 378 NONAME + _ZNK8QDomNode13hasChildNodesEv @ 379 NONAME + _ZNK8QDomNode13ownerDocumentEv @ 380 NONAME + _ZNK8QDomNode14isCDATASectionEv @ 381 NONAME + _ZNK8QDomNode14isDocumentTypeEv @ 382 NONAME + _ZNK8QDomNode14toCDATASectionEv @ 383 NONAME + _ZNK8QDomNode14toDocumentTypeEv @ 384 NONAME + _ZNK8QDomNode15isCharacterDataEv @ 385 NONAME + _ZNK8QDomNode15previousSiblingEv @ 386 NONAME + _ZNK8QDomNode15toCharacterDataEv @ 387 NONAME + _ZNK8QDomNode16lastChildElementERK7QString @ 388 NONAME + _ZNK8QDomNode17firstChildElementERK7QString @ 389 NONAME + _ZNK8QDomNode17isEntityReferenceEv @ 390 NONAME + _ZNK8QDomNode17toEntityReferenceEv @ 391 NONAME + _ZNK8QDomNode18isDocumentFragmentEv @ 392 NONAME + _ZNK8QDomNode18nextSiblingElementERK7QString @ 393 NONAME + _ZNK8QDomNode18toDocumentFragmentEv @ 394 NONAME + _ZNK8QDomNode22previousSiblingElementERK7QString @ 395 NONAME + _ZNK8QDomNode23isProcessingInstructionEv @ 396 NONAME + _ZNK8QDomNode23toProcessingInstructionEv @ 397 NONAME + _ZNK8QDomNode4saveER11QTextStreami @ 398 NONAME + _ZNK8QDomNode4saveER11QTextStreamiNS_14EncodingPolicyE @ 399 NONAME + _ZNK8QDomNode6isAttrEv @ 400 NONAME + _ZNK8QDomNode6isNullEv @ 401 NONAME + _ZNK8QDomNode6isTextEv @ 402 NONAME + _ZNK8QDomNode6prefixEv @ 403 NONAME + _ZNK8QDomNode6toAttrEv @ 404 NONAME + _ZNK8QDomNode6toTextEv @ 405 NONAME + _ZNK8QDomNode8isEntityEv @ 406 NONAME + _ZNK8QDomNode8nodeNameEv @ 407 NONAME + _ZNK8QDomNode8nodeTypeEv @ 408 NONAME + _ZNK8QDomNode8toEntityEv @ 409 NONAME + _ZNK8QDomNode9cloneNodeEb @ 410 NONAME + _ZNK8QDomNode9isCommentEv @ 411 NONAME + _ZNK8QDomNode9isElementEv @ 412 NONAME + _ZNK8QDomNode9lastChildEv @ 413 NONAME + _ZNK8QDomNode9localNameEv @ 414 NONAME + _ZNK8QDomNode9namedItemERK7QString @ 415 NONAME + _ZNK8QDomNode9nodeValueEv @ 416 NONAME + _ZNK8QDomNode9toCommentEv @ 417 NONAME + _ZNK8QDomNode9toElementEv @ 418 NONAME + _ZNK8QDomNodeeqERKS_ @ 419 NONAME + _ZNK8QDomNodeneERKS_ @ 420 NONAME + _ZTI10QXmlReader @ 421 NONAME + _ZTI11QXmlLocator @ 422 NONAME + _ZTI14QXmlAttributes @ 423 NONAME + _ZTI14QXmlDTDHandler @ 424 NONAME + _ZTI15QXmlDeclHandler @ 425 NONAME + _ZTI15QXmlInputSource @ 426 NONAME + _ZTI16QXmlErrorHandler @ 427 NONAME + _ZTI16QXmlSimpleReader @ 428 NONAME + _ZTI18QXmlContentHandler @ 429 NONAME + _ZTI18QXmlDefaultHandler @ 430 NONAME + _ZTI18QXmlEntityResolver @ 431 NONAME + _ZTI18QXmlLexicalHandler @ 432 NONAME + _ZTV11QXmlLocator @ 433 NONAME + _ZTV14QXmlAttributes @ 434 NONAME + _ZTV15QXmlInputSource @ 435 NONAME + _ZTV16QXmlSimpleReader @ 436 NONAME + _ZTV18QXmlDefaultHandler @ 437 NONAME + _ZThn12_N18QXmlDefaultHandler13resolveEntityERK7QStringS2_RP15QXmlInputSource @ 438 NONAME + _ZThn12_NK18QXmlDefaultHandler11errorStringEv @ 439 NONAME + _ZThn16_N18QXmlDefaultHandler10startCDATAEv @ 440 NONAME + _ZThn16_N18QXmlDefaultHandler11startEntityERK7QString @ 441 NONAME + _ZThn16_N18QXmlDefaultHandler6endDTDEv @ 442 NONAME + _ZThn16_N18QXmlDefaultHandler7commentERK7QString @ 443 NONAME + _ZThn16_N18QXmlDefaultHandler8endCDATAEv @ 444 NONAME + _ZThn16_N18QXmlDefaultHandler8startDTDERK7QStringS2_S2_ @ 445 NONAME + _ZThn16_N18QXmlDefaultHandler9endEntityERK7QString @ 446 NONAME + _ZThn16_NK18QXmlDefaultHandler11errorStringEv @ 447 NONAME + _ZThn20_N18QXmlDefaultHandler13attributeDeclERK7QStringS2_S2_S2_S2_ @ 448 NONAME + _ZThn20_N18QXmlDefaultHandler18externalEntityDeclERK7QStringS2_S2_ @ 449 NONAME + _ZThn20_N18QXmlDefaultHandler18internalEntityDeclERK7QStringS2_ @ 450 NONAME + _ZThn20_NK18QXmlDefaultHandler11errorStringEv @ 451 NONAME + _ZThn4_N18QXmlDefaultHandler10fatalErrorERK18QXmlParseException @ 452 NONAME + _ZThn4_N18QXmlDefaultHandler5errorERK18QXmlParseException @ 453 NONAME + _ZThn4_N18QXmlDefaultHandler7warningERK18QXmlParseException @ 454 NONAME + _ZThn4_NK18QXmlDefaultHandler11errorStringEv @ 455 NONAME + _ZThn8_N18QXmlDefaultHandler12notationDeclERK7QStringS2_S2_ @ 456 NONAME + _ZThn8_N18QXmlDefaultHandler18unparsedEntityDeclERK7QStringS2_S2_S2_ @ 457 NONAME + _ZThn8_NK18QXmlDefaultHandler11errorStringEv @ 458 NONAME + _ZlsR11QTextStreamRK8QDomNode @ 459 NONAME diff --git a/src/s60installs/eabi/phononu.def b/src/s60installs/eabi/phononu.def index d70942c..651a0b8 100644 --- a/src/s60installs/eabi/phononu.def +++ b/src/s60installs/eabi/phononu.def @@ -9,565 +9,529 @@ EXPORTS _ZN6Phonon10SeekSlider14setMediaObjectEPNS_11MediaObjectE @ 8 NONAME _ZN6Phonon10SeekSlider14setOrientationEN2Qt11OrientationE @ 9 NONAME _ZN6Phonon10SeekSlider16staticMetaObjectE @ 10 NONAME DATA 16 - _ZN6Phonon10SeekSliderC1EP7QWidget @ 11 NONAME - _ZN6Phonon10SeekSliderC1EPNS_11MediaObjectEP7QWidget @ 12 NONAME - _ZN6Phonon10SeekSliderC2EP7QWidget @ 13 NONAME - _ZN6Phonon10SeekSliderC2EPNS_11MediaObjectEP7QWidget @ 14 NONAME - _ZN6Phonon10SeekSliderD0Ev @ 15 NONAME - _ZN6Phonon10SeekSliderD1Ev @ 16 NONAME - _ZN6Phonon10SeekSliderD2Ev @ 17 NONAME - _ZN6Phonon10createPathEPNS_9MediaNodeES1_ @ 18 NONAME - _ZN6Phonon11AudioOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 19 NONAME - _ZN6Phonon11AudioOutput11qt_metacastEPKc @ 20 NONAME - _ZN6Phonon11AudioOutput12mutedChangedEb @ 21 NONAME - _ZN6Phonon11AudioOutput13volumeChangedEf @ 22 NONAME - _ZN6Phonon11AudioOutput15setOutputDeviceERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE0EEE @ 23 NONAME - _ZN6Phonon11AudioOutput16setVolumeDecibelEf @ 24 NONAME - _ZN6Phonon11AudioOutput16staticMetaObjectE @ 25 NONAME DATA 16 - _ZN6Phonon11AudioOutput19outputDeviceChangedERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE0EEE @ 26 NONAME - _ZN6Phonon11AudioOutput7setNameERK7QString @ 27 NONAME - _ZN6Phonon11AudioOutput8setMutedEb @ 28 NONAME - _ZN6Phonon11AudioOutput9setVolumeEf @ 29 NONAME - _ZN6Phonon11AudioOutputC1ENS_8CategoryEP7QObject @ 30 NONAME - _ZN6Phonon11AudioOutputC1EP7QObject @ 31 NONAME - _ZN6Phonon11AudioOutputC2ENS_8CategoryEP7QObject @ 32 NONAME - _ZN6Phonon11AudioOutputC2EP7QObject @ 33 NONAME - _ZN6Phonon11MediaObject10clearQueueEv @ 34 NONAME - _ZN6Phonon11MediaObject11qt_metacallEN11QMetaObject4CallEiPPv @ 35 NONAME - _ZN6Phonon11MediaObject11qt_metacastEPKc @ 36 NONAME - _ZN6Phonon11MediaObject12bufferStatusEi @ 37 NONAME - _ZN6Phonon11MediaObject12stateChangedENS_5StateES1_ @ 38 NONAME - _ZN6Phonon11MediaObject13aboutToFinishEv @ 39 NONAME - _ZN6Phonon11MediaObject15hasVideoChangedEb @ 40 NONAME - _ZN6Phonon11MediaObject15metaDataChangedEv @ 41 NONAME - _ZN6Phonon11MediaObject15seekableChangedEb @ 42 NONAME - _ZN6Phonon11MediaObject15setTickIntervalEi @ 43 NONAME - _ZN6Phonon11MediaObject16setCurrentSourceERKNS_11MediaSourceE @ 44 NONAME - _ZN6Phonon11MediaObject16setPrefinishMarkEi @ 45 NONAME - _ZN6Phonon11MediaObject16staticMetaObjectE @ 46 NONAME DATA 16 - _ZN6Phonon11MediaObject16totalTimeChangedEx @ 47 NONAME - _ZN6Phonon11MediaObject17setTransitionTimeEi @ 48 NONAME - _ZN6Phonon11MediaObject20currentSourceChangedERKNS_11MediaSourceE @ 49 NONAME - _ZN6Phonon11MediaObject20prefinishMarkReachedEi @ 50 NONAME - _ZN6Phonon11MediaObject4playEv @ 51 NONAME - _ZN6Phonon11MediaObject4seekEx @ 52 NONAME - _ZN6Phonon11MediaObject4stopEv @ 53 NONAME - _ZN6Phonon11MediaObject4tickEx @ 54 NONAME - _ZN6Phonon11MediaObject5clearEv @ 55 NONAME - _ZN6Phonon11MediaObject5pauseEv @ 56 NONAME - _ZN6Phonon11MediaObject7enqueueERK5QListI4QUrlE @ 57 NONAME - _ZN6Phonon11MediaObject7enqueueERK5QListINS_11MediaSourceEE @ 58 NONAME - _ZN6Phonon11MediaObject7enqueueERKNS_11MediaSourceE @ 59 NONAME - _ZN6Phonon11MediaObject8finishedEv @ 60 NONAME - _ZN6Phonon11MediaObject8setQueueERK5QListI4QUrlE @ 61 NONAME - _ZN6Phonon11MediaObject8setQueueERK5QListINS_11MediaSourceEE @ 62 NONAME - _ZN6Phonon11MediaObjectC1EP7QObject @ 63 NONAME - _ZN6Phonon11MediaObjectC2EP7QObject @ 64 NONAME - _ZN6Phonon11MediaObjectD0Ev @ 65 NONAME - _ZN6Phonon11MediaObjectD1Ev @ 66 NONAME - _ZN6Phonon11MediaObjectD2Ev @ 67 NONAME - _ZN6Phonon11MediaSource13setAutoDeleteEb @ 68 NONAME - _ZN6Phonon11MediaSourceC1ENS_8DiscTypeERK7QString @ 69 NONAME - _ZN6Phonon11MediaSourceC1EP9QIODevice @ 70 NONAME - _ZN6Phonon11MediaSourceC1EPNS_19AbstractMediaStreamE @ 71 NONAME - _ZN6Phonon11MediaSourceC1ERK4QUrl @ 72 NONAME - _ZN6Phonon11MediaSourceC1ERK7QString @ 73 NONAME - _ZN6Phonon11MediaSourceC1ERKS0_ @ 74 NONAME - _ZN6Phonon11MediaSourceC1ERNS_18MediaSourcePrivateE @ 75 NONAME - _ZN6Phonon11MediaSourceC1Ev @ 76 NONAME - _ZN6Phonon11MediaSourceC2ENS_8DiscTypeERK7QString @ 77 NONAME - _ZN6Phonon11MediaSourceC2EP9QIODevice @ 78 NONAME - _ZN6Phonon11MediaSourceC2EPNS_19AbstractMediaStreamE @ 79 NONAME - _ZN6Phonon11MediaSourceC2ERK4QUrl @ 80 NONAME - _ZN6Phonon11MediaSourceC2ERK7QString @ 81 NONAME - _ZN6Phonon11MediaSourceC2ERKS0_ @ 82 NONAME - _ZN6Phonon11MediaSourceC2ERNS_18MediaSourcePrivateE @ 83 NONAME - _ZN6Phonon11MediaSourceC2Ev @ 84 NONAME - _ZN6Phonon11MediaSourceD1Ev @ 85 NONAME - _ZN6Phonon11MediaSourceD2Ev @ 86 NONAME - _ZN6Phonon11MediaSourceaSERKS0_ @ 87 NONAME - _ZN6Phonon11VideoPlayer11qt_metacallEN11QMetaObject4CallEiPPv @ 88 NONAME - _ZN6Phonon11VideoPlayer11qt_metacastEPKc @ 89 NONAME - _ZN6Phonon11VideoPlayer16staticMetaObjectE @ 90 NONAME DATA 16 - _ZN6Phonon11VideoPlayer4loadERKNS_11MediaSourceE @ 91 NONAME - _ZN6Phonon11VideoPlayer4playERKNS_11MediaSourceE @ 92 NONAME - _ZN6Phonon11VideoPlayer4playEv @ 93 NONAME - _ZN6Phonon11VideoPlayer4seekEx @ 94 NONAME - _ZN6Phonon11VideoPlayer4stopEv @ 95 NONAME - _ZN6Phonon11VideoPlayer5pauseEv @ 96 NONAME - _ZN6Phonon11VideoPlayer8finishedEv @ 97 NONAME - _ZN6Phonon11VideoPlayer9setVolumeEf @ 98 NONAME - _ZN6Phonon11VideoPlayerC1ENS_8CategoryEP7QWidget @ 99 NONAME - _ZN6Phonon11VideoPlayerC1EP7QWidget @ 100 NONAME - _ZN6Phonon11VideoPlayerC2ENS_8CategoryEP7QWidget @ 101 NONAME - _ZN6Phonon11VideoPlayerC2EP7QWidget @ 102 NONAME - _ZN6Phonon11VideoPlayerD0Ev @ 103 NONAME - _ZN6Phonon11VideoPlayerD1Ev @ 104 NONAME - _ZN6Phonon11VideoPlayerD2Ev @ 105 NONAME - _ZN6Phonon11VideoWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 106 NONAME - _ZN6Phonon11VideoWidget11qt_metacastEPKc @ 107 NONAME - _ZN6Phonon11VideoWidget11setContrastEf @ 108 NONAME - _ZN6Phonon11VideoWidget12setScaleModeENS0_9ScaleModeE @ 109 NONAME - _ZN6Phonon11VideoWidget13setBrightnessEf @ 110 NONAME - _ZN6Phonon11VideoWidget13setFullScreenEb @ 111 NONAME - _ZN6Phonon11VideoWidget13setSaturationEf @ 112 NONAME - _ZN6Phonon11VideoWidget14exitFullScreenEv @ 113 NONAME - _ZN6Phonon11VideoWidget14mouseMoveEventEP11QMouseEvent @ 114 NONAME - _ZN6Phonon11VideoWidget14setAspectRatioENS0_11AspectRatioE @ 115 NONAME - _ZN6Phonon11VideoWidget15enterFullScreenEv @ 116 NONAME - _ZN6Phonon11VideoWidget16staticMetaObjectE @ 117 NONAME DATA 16 - _ZN6Phonon11VideoWidget5eventEP6QEvent @ 118 NONAME - _ZN6Phonon11VideoWidget6setHueEf @ 119 NONAME - _ZN6Phonon11VideoWidgetC1EP7QWidget @ 120 NONAME - _ZN6Phonon11VideoWidgetC1ERNS_18VideoWidgetPrivateEP7QWidget @ 121 NONAME - _ZN6Phonon11VideoWidgetC2EP7QWidget @ 122 NONAME - _ZN6Phonon11VideoWidgetC2ERNS_18VideoWidgetPrivateEP7QWidget @ 123 NONAME - _ZN6Phonon12EffectWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 124 NONAME - _ZN6Phonon12EffectWidget11qt_metacastEPKc @ 125 NONAME - _ZN6Phonon12EffectWidget16staticMetaObjectE @ 126 NONAME DATA 16 - _ZN6Phonon12EffectWidgetC1EPNS_6EffectEP7QWidget @ 127 NONAME - _ZN6Phonon12EffectWidgetC2EPNS_6EffectEP7QWidget @ 128 NONAME - _ZN6Phonon12EffectWidgetD0Ev @ 129 NONAME - _ZN6Phonon12EffectWidgetD1Ev @ 130 NONAME - _ZN6Phonon12EffectWidgetD2Ev @ 131 NONAME - _ZN6Phonon12GlobalConfigC1Ev @ 132 NONAME - _ZN6Phonon12GlobalConfigC2Ev @ 133 NONAME - _ZN6Phonon12GlobalConfigD0Ev @ 134 NONAME - _ZN6Phonon12GlobalConfigD1Ev @ 135 NONAME - _ZN6Phonon12GlobalConfigD2Ev @ 136 NONAME - _ZN6Phonon12VolumeSlider11qt_metacallEN11QMetaObject4CallEiPPv @ 137 NONAME - _ZN6Phonon12VolumeSlider11qt_metacastEPKc @ 138 NONAME - _ZN6Phonon12VolumeSlider11setIconSizeERK5QSize @ 139 NONAME - _ZN6Phonon12VolumeSlider11setPageStepEi @ 140 NONAME - _ZN6Phonon12VolumeSlider11setTrackingEb @ 141 NONAME - _ZN6Phonon12VolumeSlider13setSingleStepEi @ 142 NONAME - _ZN6Phonon12VolumeSlider14setAudioOutputEPNS_11AudioOutputE @ 143 NONAME - _ZN6Phonon12VolumeSlider14setMuteVisibleEb @ 144 NONAME - _ZN6Phonon12VolumeSlider14setOrientationEN2Qt11OrientationE @ 145 NONAME - _ZN6Phonon12VolumeSlider16setMaximumVolumeEf @ 146 NONAME - _ZN6Phonon12VolumeSlider16staticMetaObjectE @ 147 NONAME DATA 16 - _ZN6Phonon12VolumeSliderC1EP7QWidget @ 148 NONAME - _ZN6Phonon12VolumeSliderC1EPNS_11AudioOutputEP7QWidget @ 149 NONAME - _ZN6Phonon12VolumeSliderC2EP7QWidget @ 150 NONAME - _ZN6Phonon12VolumeSliderC2EPNS_11AudioOutputEP7QWidget @ 151 NONAME - _ZN6Phonon12VolumeSliderD0Ev @ 152 NONAME - _ZN6Phonon12VolumeSliderD1Ev @ 153 NONAME - _ZN6Phonon12VolumeSliderD2Ev @ 154 NONAME - _ZN6Phonon12createPlayerENS_8CategoryERKNS_11MediaSourceE @ 155 NONAME - _ZN6Phonon13phononVersionEv @ 156 NONAME - _ZN6Phonon15EffectParameterC1ERKS0_ @ 157 NONAME - _ZN6Phonon15EffectParameterC1EiRK7QString6QFlagsINS0_4HintEERK8QVariantS9_S9_RK5QListIS7_ES3_ @ 158 NONAME - _ZN6Phonon15EffectParameterC1Ev @ 159 NONAME - _ZN6Phonon15EffectParameterC2ERKS0_ @ 160 NONAME - _ZN6Phonon15EffectParameterC2EiRK7QString6QFlagsINS0_4HintEERK8QVariantS9_S9_RK5QListIS7_ES3_ @ 161 NONAME - _ZN6Phonon15EffectParameterC2Ev @ 162 NONAME - _ZN6Phonon15EffectParameterD1Ev @ 163 NONAME - _ZN6Phonon15EffectParameterD2Ev @ 164 NONAME - _ZN6Phonon15EffectParameteraSERKS0_ @ 165 NONAME - _ZN6Phonon15MediaController11qt_metacallEN11QMetaObject4CallEiPPv @ 166 NONAME - _ZN6Phonon15MediaController11qt_metacastEPKc @ 167 NONAME - _ZN6Phonon15MediaController12angleChangedEi @ 168 NONAME - _ZN6Phonon15MediaController12titleChangedEi @ 169 NONAME - _ZN6Phonon15MediaController13previousTitleEv @ 170 NONAME - _ZN6Phonon15MediaController14chapterChangedEi @ 171 NONAME - _ZN6Phonon15MediaController15setCurrentAngleEi @ 172 NONAME - _ZN6Phonon15MediaController15setCurrentTitleEi @ 173 NONAME - _ZN6Phonon15MediaController16staticMetaObjectE @ 174 NONAME DATA 16 - _ZN6Phonon15MediaController17setAutoplayTitlesEb @ 175 NONAME - _ZN6Phonon15MediaController17setCurrentChapterEi @ 176 NONAME - _ZN6Phonon15MediaController18setCurrentSubtitleERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE3EEE @ 177 NONAME - _ZN6Phonon15MediaController22availableAnglesChangedEi @ 178 NONAME - _ZN6Phonon15MediaController22availableTitlesChangedEi @ 179 NONAME - _ZN6Phonon15MediaController22setCurrentAudioChannelERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE2EEE @ 180 NONAME - _ZN6Phonon15MediaController24availableChaptersChangedEi @ 181 NONAME - _ZN6Phonon15MediaController25availableSubtitlesChangedEv @ 182 NONAME - _ZN6Phonon15MediaController29availableAudioChannelsChangedEv @ 183 NONAME - _ZN6Phonon15MediaController9nextTitleEv @ 184 NONAME - _ZN6Phonon15MediaControllerC1EPNS_11MediaObjectE @ 185 NONAME - _ZN6Phonon15MediaControllerC2EPNS_11MediaObjectE @ 186 NONAME - _ZN6Phonon15MediaControllerD0Ev @ 187 NONAME - _ZN6Phonon15MediaControllerD1Ev @ 188 NONAME - _ZN6Phonon15MediaControllerD2Ev @ 189 NONAME - _ZN6Phonon15StreamInterface10enoughDataEv @ 190 NONAME - _ZN6Phonon15StreamInterface10seekStreamEx @ 191 NONAME - _ZN6Phonon15StreamInterface15connectToSourceERKNS_11MediaSourceE @ 192 NONAME - _ZN6Phonon15StreamInterface5resetEv @ 193 NONAME - _ZN6Phonon15StreamInterface8needDataEv @ 194 NONAME - _ZN6Phonon15StreamInterfaceC2Ev @ 195 NONAME - _ZN6Phonon15StreamInterfaceD0Ev @ 196 NONAME - _ZN6Phonon15StreamInterfaceD1Ev @ 197 NONAME - _ZN6Phonon15StreamInterfaceD2Ev @ 198 NONAME - _ZN6Phonon16MediaNodePrivate12addInputPathERKNS_4PathE @ 199 NONAME - _ZN6Phonon16MediaNodePrivate13addOutputPathERKNS_4PathE @ 200 NONAME - _ZN6Phonon16MediaNodePrivate13backendObjectEv @ 201 NONAME - _ZN6Phonon16MediaNodePrivate15removeInputPathERKNS_4PathE @ 202 NONAME - _ZN6Phonon16MediaNodePrivate16removeOutputPathERKNS_4PathE @ 203 NONAME - _ZN6Phonon16MediaNodePrivate19deleteBackendObjectEv @ 204 NONAME - _ZN6Phonon16MediaNodePrivate21addDestructionHandlerEPNS_27MediaNodeDestructionHandlerE @ 205 NONAME - _ZN6Phonon16MediaNodePrivate24removeDestructionHandlerEPNS_27MediaNodeDestructionHandlerE @ 206 NONAME - _ZN6Phonon16MediaNodePrivateC2ENS0_6CastIdE @ 207 NONAME - _ZN6Phonon16MediaNodePrivateD0Ev @ 208 NONAME - _ZN6Phonon16MediaNodePrivateD1Ev @ 209 NONAME - _ZN6Phonon16MediaNodePrivateD2Ev @ 210 NONAME - _ZN6Phonon16categoryToStringENS_8CategoryE @ 211 NONAME - _ZN6Phonon17VolumeFaderEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 212 NONAME - _ZN6Phonon17VolumeFaderEffect11qt_metacastEPKc @ 213 NONAME - _ZN6Phonon17VolumeFaderEffect12setFadeCurveENS0_9FadeCurveE @ 214 NONAME - _ZN6Phonon17VolumeFaderEffect16setVolumeDecibelEd @ 215 NONAME - _ZN6Phonon17VolumeFaderEffect16staticMetaObjectE @ 216 NONAME DATA 16 - _ZN6Phonon17VolumeFaderEffect6fadeInEi @ 217 NONAME - _ZN6Phonon17VolumeFaderEffect6fadeToEfi @ 218 NONAME - _ZN6Phonon17VolumeFaderEffect7fadeOutEi @ 219 NONAME - _ZN6Phonon17VolumeFaderEffect9setVolumeEf @ 220 NONAME - _ZN6Phonon17VolumeFaderEffectC1EP7QObject @ 221 NONAME - _ZN6Phonon17VolumeFaderEffectC2EP7QObject @ 222 NONAME - _ZN6Phonon18MediaObjectPrivate15_k_stateChangedENS_5StateES1_ @ 223 NONAME - _ZN6Phonon18MediaObjectPrivate18setupBackendObjectEv @ 224 NONAME - _ZN6Phonon18MediaSourcePrivate9setStreamEPNS_19AbstractMediaStreamE @ 225 NONAME - _ZN6Phonon18MediaSourcePrivateD0Ev @ 226 NONAME - _ZN6Phonon18MediaSourcePrivateD1Ev @ 227 NONAME - _ZN6Phonon18MediaSourcePrivateD2Ev @ 228 NONAME - _ZN6Phonon19AbstractAudioOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 229 NONAME - _ZN6Phonon19AbstractAudioOutput11qt_metacastEPKc @ 230 NONAME - _ZN6Phonon19AbstractAudioOutput16staticMetaObjectE @ 231 NONAME DATA 16 - _ZN6Phonon19AbstractAudioOutputC1ERNS_26AbstractAudioOutputPrivateEP7QObject @ 232 NONAME - _ZN6Phonon19AbstractAudioOutputC2ERNS_26AbstractAudioOutputPrivateEP7QObject @ 233 NONAME - _ZN6Phonon19AbstractAudioOutputD0Ev @ 234 NONAME - _ZN6Phonon19AbstractAudioOutputD1Ev @ 235 NONAME - _ZN6Phonon19AbstractAudioOutputD2Ev @ 236 NONAME - _ZN6Phonon19AbstractMediaStream10enoughDataEv @ 237 NONAME - _ZN6Phonon19AbstractMediaStream10seekStreamEx @ 238 NONAME - _ZN6Phonon19AbstractMediaStream11qt_metacallEN11QMetaObject4CallEiPPv @ 239 NONAME - _ZN6Phonon19AbstractMediaStream11qt_metacastEPKc @ 240 NONAME - _ZN6Phonon19AbstractMediaStream13setStreamSizeEx @ 241 NONAME - _ZN6Phonon19AbstractMediaStream16staticMetaObjectE @ 242 NONAME DATA 16 - _ZN6Phonon19AbstractMediaStream17setStreamSeekableEb @ 243 NONAME - _ZN6Phonon19AbstractMediaStream5errorENS_9ErrorTypeERK7QString @ 244 NONAME - _ZN6Phonon19AbstractMediaStream9endOfDataEv @ 245 NONAME - _ZN6Phonon19AbstractMediaStream9writeDataERK10QByteArray @ 246 NONAME - _ZN6Phonon19AbstractMediaStreamC2EP7QObject @ 247 NONAME - _ZN6Phonon19AbstractMediaStreamC2ERNS_26AbstractMediaStreamPrivateEP7QObject @ 248 NONAME - _ZN6Phonon19AbstractMediaStreamD0Ev @ 249 NONAME - _ZN6Phonon19AbstractMediaStreamD1Ev @ 250 NONAME - _ZN6Phonon19AbstractMediaStreamD2Ev @ 251 NONAME - _ZN6Phonon19AbstractVideoOutputC1ERNS_26AbstractVideoOutputPrivateE @ 252 NONAME - _ZN6Phonon19AbstractVideoOutputC2ERNS_26AbstractVideoOutputPrivateE @ 253 NONAME - _ZN6Phonon19BackendCapabilities18availableMimeTypesEv @ 254 NONAME - _ZN6Phonon19BackendCapabilities19isMimeTypeAvailableERK7QString @ 255 NONAME - _ZN6Phonon19BackendCapabilities21availableAudioEffectsEv @ 256 NONAME - _ZN6Phonon19BackendCapabilities27availableAudioOutputDevicesEv @ 257 NONAME - _ZN6Phonon19BackendCapabilities28availableAudioCaptureDevicesEv @ 258 NONAME - _ZN6Phonon19BackendCapabilities8notifierEv @ 259 NONAME - _ZN6Phonon21ObjectDescriptionData9fromIndexENS_21ObjectDescriptionTypeEi @ 260 NONAME - _ZN6Phonon21ObjectDescriptionDataC1EPNS_24ObjectDescriptionPrivateE @ 261 NONAME - _ZN6Phonon21ObjectDescriptionDataC1EiRK5QHashI10QByteArray8QVariantE @ 262 NONAME - _ZN6Phonon21ObjectDescriptionDataC2EPNS_24ObjectDescriptionPrivateE @ 263 NONAME - _ZN6Phonon21ObjectDescriptionDataC2EiRK5QHashI10QByteArray8QVariantE @ 264 NONAME - _ZN6Phonon21ObjectDescriptionDataD1Ev @ 265 NONAME - _ZN6Phonon21ObjectDescriptionDataD2Ev @ 266 NONAME - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EE11qt_metacastEPKc @ 267 NONAME - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EE16staticMetaObjectE @ 268 NONAME DATA 16 - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EE11qt_metacastEPKc @ 269 NONAME - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EE16staticMetaObjectE @ 270 NONAME DATA 16 - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EE11qt_metacastEPKc @ 271 NONAME - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EE16staticMetaObjectE @ 272 NONAME DATA 16 - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EE11qt_metacastEPKc @ 273 NONAME - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EE16staticMetaObjectE @ 274 NONAME DATA 16 - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EE11qt_metacastEPKc @ 275 NONAME - _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EE16staticMetaObjectE @ 276 NONAME DATA 16 - _ZN6Phonon26AbstractMediaStreamPrivate13setStreamSizeEx @ 277 NONAME - _ZN6Phonon26AbstractMediaStreamPrivate17setStreamSeekableEb @ 278 NONAME - _ZN6Phonon26AbstractMediaStreamPrivate18setStreamInterfaceEPNS_15StreamInterfaceE @ 279 NONAME - _ZN6Phonon26AbstractMediaStreamPrivate21phononObjectDestroyedEPNS_16MediaNodePrivateE @ 280 NONAME - _ZN6Phonon26AbstractMediaStreamPrivate21setMediaObjectPrivateEPNS_18MediaObjectPrivateE @ 281 NONAME - _ZN6Phonon26AbstractMediaStreamPrivate9endOfDataEv @ 282 NONAME - _ZN6Phonon26AbstractMediaStreamPrivate9writeDataERK10QByteArray @ 283 NONAME - _ZN6Phonon26AbstractMediaStreamPrivateD0Ev @ 284 NONAME - _ZN6Phonon26AbstractMediaStreamPrivateD1Ev @ 285 NONAME - _ZN6Phonon26AbstractMediaStreamPrivateD2Ev @ 286 NONAME - _ZN6Phonon26ObjectDescriptionModelData10removeRowsEiiRK11QModelIndex @ 287 NONAME - _ZN6Phonon26ObjectDescriptionModelData12dropMimeDataENS_21ObjectDescriptionTypeEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 288 NONAME - _ZN6Phonon26ObjectDescriptionModelData12setModelDataERK5QListI28QExplicitlySharedDataPointerINS_21ObjectDescriptionDataEEE @ 289 NONAME - _ZN6Phonon26ObjectDescriptionModelData6moveUpERK11QModelIndex @ 290 NONAME - _ZN6Phonon26ObjectDescriptionModelData8moveDownERK11QModelIndex @ 291 NONAME - _ZN6Phonon26ObjectDescriptionModelDataC1EP18QAbstractListModel @ 292 NONAME - _ZN6Phonon26ObjectDescriptionModelDataC2EP18QAbstractListModel @ 293 NONAME - _ZN6Phonon26ObjectDescriptionModelDataD1Ev @ 294 NONAME - _ZN6Phonon26ObjectDescriptionModelDataD2Ev @ 295 NONAME - _ZN6Phonon4Path10disconnectEv @ 296 NONAME - _ZN6Phonon4Path12insertEffectEPNS_6EffectES2_ @ 297 NONAME - _ZN6Phonon4Path12insertEffectERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE1EEEPNS_6EffectE @ 298 NONAME - _ZN6Phonon4Path12removeEffectEPNS_6EffectE @ 299 NONAME - _ZN6Phonon4Path9reconnectEPNS_9MediaNodeES2_ @ 300 NONAME - _ZN6Phonon4PathC1ERKS0_ @ 301 NONAME - _ZN6Phonon4PathC1Ev @ 302 NONAME - _ZN6Phonon4PathC2ERKS0_ @ 303 NONAME - _ZN6Phonon4PathC2Ev @ 304 NONAME - _ZN6Phonon4PathD1Ev @ 305 NONAME - _ZN6Phonon4PathD2Ev @ 306 NONAME - _ZN6Phonon4PathaSERKS0_ @ 307 NONAME - _ZN6Phonon5qHashERKNS_15EffectParameterE @ 308 NONAME - _ZN6Phonon6Effect11qt_metacallEN11QMetaObject4CallEiPPv @ 309 NONAME - _ZN6Phonon6Effect11qt_metacastEPKc @ 310 NONAME - _ZN6Phonon6Effect16staticMetaObjectE @ 311 NONAME DATA 16 - _ZN6Phonon6Effect17setParameterValueERKNS_15EffectParameterERK8QVariant @ 312 NONAME - _ZN6Phonon6EffectC1ERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE1EEEP7QObject @ 313 NONAME - _ZN6Phonon6EffectC1ERNS_13EffectPrivateEP7QObject @ 314 NONAME - _ZN6Phonon6EffectC2ERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE1EEEP7QObject @ 315 NONAME - _ZN6Phonon6EffectC2ERNS_13EffectPrivateEP7QObject @ 316 NONAME - _ZN6Phonon6EffectD0Ev @ 317 NONAME - _ZN6Phonon6EffectD1Ev @ 318 NONAME - _ZN6Phonon6EffectD2Ev @ 319 NONAME - _ZN6Phonon7Factory10setBackendEP7QObject @ 320 NONAME - _ZN6Phonon7Factory11backendNameEv @ 321 NONAME - _ZN6Phonon7Factory14platformPluginEv @ 322 NONAME - _ZN6Phonon7Factory15registerQObjectEP7QObject @ 323 NONAME - _ZN6Phonon7Factory22registerFrontendObjectEPNS_16MediaNodePrivateE @ 324 NONAME - _ZN6Phonon7Factory24deregisterFrontendObjectEPNS_16MediaNodePrivateE @ 325 NONAME - _ZN6Phonon7Factory6senderEv @ 326 NONAME - _ZN6Phonon7Factory7backendEb @ 327 NONAME - _ZN6Phonon9MediaNodeC1ERNS_16MediaNodePrivateE @ 328 NONAME - _ZN6Phonon9MediaNodeC2ERNS_16MediaNodePrivateE @ 329 NONAME - _ZN6Phonon9MediaNodeD0Ev @ 330 NONAME - _ZN6Phonon9MediaNodeD1Ev @ 331 NONAME - _ZN6Phonon9MediaNodeD2Ev @ 332 NONAME - _ZNK6Phonon10SeekSlider10metaObjectEv @ 333 NONAME - _ZNK6Phonon10SeekSlider10singleStepEv @ 334 NONAME - _ZNK6Phonon10SeekSlider11hasTrackingEv @ 335 NONAME - _ZNK6Phonon10SeekSlider11mediaObjectEv @ 336 NONAME - _ZNK6Phonon10SeekSlider11orientationEv @ 337 NONAME - _ZNK6Phonon10SeekSlider13isIconVisibleEv @ 338 NONAME - _ZNK6Phonon10SeekSlider8iconSizeEv @ 339 NONAME - _ZNK6Phonon10SeekSlider8pageStepEv @ 340 NONAME - _ZNK6Phonon11AudioOutput10metaObjectEv @ 341 NONAME - _ZNK6Phonon11AudioOutput12outputDeviceEv @ 342 NONAME - _ZNK6Phonon11AudioOutput13volumeDecibelEv @ 343 NONAME - _ZNK6Phonon11AudioOutput4nameEv @ 344 NONAME - _ZNK6Phonon11AudioOutput6volumeEv @ 345 NONAME - _ZNK6Phonon11AudioOutput7isMutedEv @ 346 NONAME - _ZNK6Phonon11AudioOutput8categoryEv @ 347 NONAME - _ZNK6Phonon11MediaObject10isSeekableEv @ 348 NONAME - _ZNK6Phonon11MediaObject10metaObjectEv @ 349 NONAME - _ZNK6Phonon11MediaObject11currentTimeEv @ 350 NONAME - _ZNK6Phonon11MediaObject11errorStringEv @ 351 NONAME - _ZNK6Phonon11MediaObject12tickIntervalEv @ 352 NONAME - _ZNK6Phonon11MediaObject13currentSourceEv @ 353 NONAME - _ZNK6Phonon11MediaObject13prefinishMarkEv @ 354 NONAME - _ZNK6Phonon11MediaObject13remainingTimeEv @ 355 NONAME - _ZNK6Phonon11MediaObject14transitionTimeEv @ 356 NONAME - _ZNK6Phonon11MediaObject5queueEv @ 357 NONAME - _ZNK6Phonon11MediaObject5stateEv @ 358 NONAME - _ZNK6Phonon11MediaObject8hasVideoEv @ 359 NONAME - _ZNK6Phonon11MediaObject8metaDataENS_8MetaDataE @ 360 NONAME - _ZNK6Phonon11MediaObject8metaDataERK7QString @ 361 NONAME - _ZNK6Phonon11MediaObject8metaDataEv @ 362 NONAME - _ZNK6Phonon11MediaObject9errorTypeEv @ 363 NONAME - _ZNK6Phonon11MediaObject9totalTimeEv @ 364 NONAME - _ZNK6Phonon11MediaSource10autoDeleteEv @ 365 NONAME - _ZNK6Phonon11MediaSource10deviceNameEv @ 366 NONAME - _ZNK6Phonon11MediaSource3urlEv @ 367 NONAME - _ZNK6Phonon11MediaSource4typeEv @ 368 NONAME - _ZNK6Phonon11MediaSource6streamEv @ 369 NONAME - _ZNK6Phonon11MediaSource8discTypeEv @ 370 NONAME - _ZNK6Phonon11MediaSource8fileNameEv @ 371 NONAME - _ZNK6Phonon11MediaSourceeqERKS0_ @ 372 NONAME - _ZNK6Phonon11VideoPlayer10metaObjectEv @ 373 NONAME - _ZNK6Phonon11VideoPlayer11audioOutputEv @ 374 NONAME - _ZNK6Phonon11VideoPlayer11currentTimeEv @ 375 NONAME - _ZNK6Phonon11VideoPlayer11mediaObjectEv @ 376 NONAME - _ZNK6Phonon11VideoPlayer11videoWidgetEv @ 377 NONAME - _ZNK6Phonon11VideoPlayer6volumeEv @ 378 NONAME - _ZNK6Phonon11VideoPlayer8isPausedEv @ 379 NONAME - _ZNK6Phonon11VideoPlayer9isPlayingEv @ 380 NONAME - _ZNK6Phonon11VideoPlayer9totalTimeEv @ 381 NONAME - _ZNK6Phonon11VideoWidget10brightnessEv @ 382 NONAME - _ZNK6Phonon11VideoWidget10metaObjectEv @ 383 NONAME - _ZNK6Phonon11VideoWidget10saturationEv @ 384 NONAME - _ZNK6Phonon11VideoWidget11aspectRatioEv @ 385 NONAME - _ZNK6Phonon11VideoWidget3hueEv @ 386 NONAME - _ZNK6Phonon11VideoWidget8contrastEv @ 387 NONAME - _ZNK6Phonon11VideoWidget9scaleModeEv @ 388 NONAME - _ZNK6Phonon12EffectWidget10metaObjectEv @ 389 NONAME - _ZNK6Phonon12GlobalConfig20audioOutputDeviceForENS_8CategoryEi @ 390 NONAME - _ZNK6Phonon12GlobalConfig21audioCaptureDeviceForENS_8CategoryEi @ 391 NONAME - _ZNK6Phonon12GlobalConfig24audioOutputDeviceListForENS_8CategoryEi @ 392 NONAME - _ZNK6Phonon12GlobalConfig25audioCaptureDeviceListForENS_8CategoryEi @ 393 NONAME - _ZNK6Phonon12VolumeSlider10metaObjectEv @ 394 NONAME - _ZNK6Phonon12VolumeSlider10singleStepEv @ 395 NONAME - _ZNK6Phonon12VolumeSlider11audioOutputEv @ 396 NONAME - _ZNK6Phonon12VolumeSlider11hasTrackingEv @ 397 NONAME - _ZNK6Phonon12VolumeSlider11orientationEv @ 398 NONAME - _ZNK6Phonon12VolumeSlider13isMuteVisibleEv @ 399 NONAME - _ZNK6Phonon12VolumeSlider13maximumVolumeEv @ 400 NONAME - _ZNK6Phonon12VolumeSlider8iconSizeEv @ 401 NONAME - _ZNK6Phonon12VolumeSlider8pageStepEv @ 402 NONAME - _ZNK6Phonon15EffectParameter11descriptionEv @ 403 NONAME - _ZNK6Phonon15EffectParameter12defaultValueEv @ 404 NONAME - _ZNK6Phonon15EffectParameter12maximumValueEv @ 405 NONAME - _ZNK6Phonon15EffectParameter12minimumValueEv @ 406 NONAME - _ZNK6Phonon15EffectParameter14possibleValuesEv @ 407 NONAME - _ZNK6Phonon15EffectParameter20isLogarithmicControlEv @ 408 NONAME - _ZNK6Phonon15EffectParameter2idEv @ 409 NONAME - _ZNK6Phonon15EffectParameter4nameEv @ 410 NONAME - _ZNK6Phonon15EffectParameter4typeEv @ 411 NONAME - _ZNK6Phonon15EffectParametereqERKS0_ @ 412 NONAME - _ZNK6Phonon15EffectParametergtERKS0_ @ 413 NONAME - _ZNK6Phonon15EffectParameterltERKS0_ @ 414 NONAME - _ZNK6Phonon15MediaController10metaObjectEv @ 415 NONAME - _ZNK6Phonon15MediaController12currentAngleEv @ 416 NONAME - _ZNK6Phonon15MediaController12currentTitleEv @ 417 NONAME - _ZNK6Phonon15MediaController14autoplayTitlesEv @ 418 NONAME - _ZNK6Phonon15MediaController14currentChapterEv @ 419 NONAME - _ZNK6Phonon15MediaController15availableAnglesEv @ 420 NONAME - _ZNK6Phonon15MediaController15availableTitlesEv @ 421 NONAME - _ZNK6Phonon15MediaController15currentSubtitleEv @ 422 NONAME - _ZNK6Phonon15MediaController17availableChaptersEv @ 423 NONAME - _ZNK6Phonon15MediaController17supportedFeaturesEv @ 424 NONAME - _ZNK6Phonon15MediaController18availableSubtitlesEv @ 425 NONAME - _ZNK6Phonon15MediaController19currentAudioChannelEv @ 426 NONAME - _ZNK6Phonon15MediaController22availableAudioChannelsEv @ 427 NONAME - _ZNK6Phonon17VolumeFaderEffect10metaObjectEv @ 428 NONAME - _ZNK6Phonon17VolumeFaderEffect13volumeDecibelEv @ 429 NONAME - _ZNK6Phonon17VolumeFaderEffect6volumeEv @ 430 NONAME - _ZNK6Phonon17VolumeFaderEffect9fadeCurveEv @ 431 NONAME - _ZNK6Phonon19AbstractAudioOutput10metaObjectEv @ 432 NONAME - _ZNK6Phonon19AbstractMediaStream10metaObjectEv @ 433 NONAME - _ZNK6Phonon19AbstractMediaStream10streamSizeEv @ 434 NONAME - _ZNK6Phonon19AbstractMediaStream14streamSeekableEv @ 435 NONAME - _ZNK6Phonon21ObjectDescriptionData11descriptionEv @ 436 NONAME - _ZNK6Phonon21ObjectDescriptionData13propertyNamesEv @ 437 NONAME - _ZNK6Phonon21ObjectDescriptionData4nameEv @ 438 NONAME - _ZNK6Phonon21ObjectDescriptionData5indexEv @ 439 NONAME - _ZNK6Phonon21ObjectDescriptionData7isValidEv @ 440 NONAME - _ZNK6Phonon21ObjectDescriptionData8propertyEPKc @ 441 NONAME - _ZNK6Phonon21ObjectDescriptionDataeqERKS0_ @ 442 NONAME - _ZNK6Phonon22AudioOutputInterface4219deviceAccessListForERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE0EEE @ 443 NONAME - _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EE10metaObjectEv @ 444 NONAME - _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EE10metaObjectEv @ 445 NONAME - _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EE10metaObjectEv @ 446 NONAME - _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EE10metaObjectEv @ 447 NONAME - _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EE10metaObjectEv @ 448 NONAME - _ZNK6Phonon26ObjectDescriptionModelData15tupleIndexOrderEv @ 449 NONAME - _ZNK6Phonon26ObjectDescriptionModelData20supportedDropActionsEv @ 450 NONAME - _ZNK6Phonon26ObjectDescriptionModelData25tupleIndexAtPositionIndexEi @ 451 NONAME - _ZNK6Phonon26ObjectDescriptionModelData4dataERK11QModelIndexi @ 452 NONAME - _ZNK6Phonon26ObjectDescriptionModelData5flagsERK11QModelIndex @ 453 NONAME - _ZNK6Phonon26ObjectDescriptionModelData8mimeDataENS_21ObjectDescriptionTypeERK5QListI11QModelIndexE @ 454 NONAME - _ZNK6Phonon26ObjectDescriptionModelData8rowCountERK11QModelIndex @ 455 NONAME - _ZNK6Phonon26ObjectDescriptionModelData9mimeTypesENS_21ObjectDescriptionTypeE @ 456 NONAME - _ZNK6Phonon26ObjectDescriptionModelData9modelDataERK11QModelIndex @ 457 NONAME - _ZNK6Phonon26ObjectDescriptionModelData9modelDataEv @ 458 NONAME - _ZNK6Phonon4Path4sinkEv @ 459 NONAME - _ZNK6Phonon4Path6sourceEv @ 460 NONAME - _ZNK6Phonon4Path7effectsEv @ 461 NONAME - _ZNK6Phonon4Path7isValidEv @ 462 NONAME - _ZNK6Phonon4PatheqERKS0_ @ 463 NONAME - _ZNK6Phonon4PathneERKS0_ @ 464 NONAME - _ZNK6Phonon6Effect10metaObjectEv @ 465 NONAME - _ZNK6Phonon6Effect10parametersEv @ 466 NONAME - _ZNK6Phonon6Effect11descriptionEv @ 467 NONAME - _ZNK6Phonon6Effect14parameterValueERKNS_15EffectParameterE @ 468 NONAME - _ZNK6Phonon9MediaNode10inputPathsEv @ 469 NONAME - _ZNK6Phonon9MediaNode11outputPathsEv @ 470 NONAME - _ZNK6Phonon9MediaNode7isValidEv @ 471 NONAME - _ZTIN6Phonon10SeekSliderE @ 472 NONAME - _ZTIN6Phonon11AudioOutputE @ 473 NONAME - _ZTIN6Phonon11MediaObjectE @ 474 NONAME - _ZTIN6Phonon11PathPrivateE @ 475 NONAME ABSENT - _ZTIN6Phonon11VideoPlayerE @ 476 NONAME - _ZTIN6Phonon11VideoWidgetE @ 477 NONAME - _ZTIN6Phonon12EffectWidgetE @ 478 NONAME - _ZTIN6Phonon12GlobalConfigE @ 479 NONAME - _ZTIN6Phonon12VolumeSliderE @ 480 NONAME - _ZTIN6Phonon13EffectPrivateE @ 481 NONAME ABSENT - _ZTIN6Phonon14FactoryPrivateE @ 482 NONAME ABSENT - _ZTIN6Phonon14IODeviceStreamE @ 483 NONAME ABSENT - _ZTIN6Phonon15MediaControllerE @ 484 NONAME - _ZTIN6Phonon15StreamInterfaceE @ 485 NONAME - _ZTIN6Phonon16MediaNodePrivateE @ 486 NONAME - _ZTIN6Phonon17VolumeFaderEffectE @ 487 NONAME - _ZTIN6Phonon18AudioOutputPrivateE @ 488 NONAME ABSENT - _ZTIN6Phonon18MediaObjectPrivateE @ 489 NONAME ABSENT - _ZTIN6Phonon18MediaSourcePrivateE @ 490 NONAME - _ZTIN6Phonon18VideoWidgetPrivateE @ 491 NONAME ABSENT - _ZTIN6Phonon19AbstractAudioOutputE @ 492 NONAME - _ZTIN6Phonon19AbstractMediaStreamE @ 493 NONAME - _ZTIN6Phonon19AbstractVideoOutputE @ 494 NONAME - _ZTIN6Phonon19BackendCapabilities8NotifierE @ 495 NONAME ABSENT - _ZTIN6Phonon22MediaControllerPrivateE @ 496 NONAME ABSENT - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 497 NONAME - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 498 NONAME - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 499 NONAME - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 500 NONAME - _ZTIN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 501 NONAME - _ZTIN6Phonon24VolumeFaderEffectPrivateE @ 502 NONAME ABSENT - _ZTIN6Phonon26AbstractAudioOutputPrivateE @ 503 NONAME ABSENT - _ZTIN6Phonon26AbstractMediaStreamPrivateE @ 504 NONAME - _ZTIN6Phonon26AbstractVideoOutputPrivateE @ 505 NONAME ABSENT - _ZTIN6Phonon6EffectE @ 506 NONAME - _ZTIN6Phonon7Factory6SenderE @ 507 NONAME ABSENT - _ZTIN6Phonon9MediaNodeE @ 508 NONAME - _ZTVN6Phonon10SeekSliderE @ 509 NONAME - _ZTVN6Phonon11AudioOutputE @ 510 NONAME - _ZTVN6Phonon11MediaObjectE @ 511 NONAME - _ZTVN6Phonon11PathPrivateE @ 512 NONAME ABSENT - _ZTVN6Phonon11VideoPlayerE @ 513 NONAME - _ZTVN6Phonon11VideoWidgetE @ 514 NONAME - _ZTVN6Phonon12EffectWidgetE @ 515 NONAME - _ZTVN6Phonon12GlobalConfigE @ 516 NONAME - _ZTVN6Phonon12VolumeSliderE @ 517 NONAME - _ZTVN6Phonon13EffectPrivateE @ 518 NONAME ABSENT - _ZTVN6Phonon14FactoryPrivateE @ 519 NONAME ABSENT - _ZTVN6Phonon14IODeviceStreamE @ 520 NONAME ABSENT - _ZTVN6Phonon15MediaControllerE @ 521 NONAME - _ZTVN6Phonon15StreamInterfaceE @ 522 NONAME - _ZTVN6Phonon16MediaNodePrivateE @ 523 NONAME - _ZTVN6Phonon17VolumeFaderEffectE @ 524 NONAME - _ZTVN6Phonon18AudioOutputPrivateE @ 525 NONAME ABSENT - _ZTVN6Phonon18MediaObjectPrivateE @ 526 NONAME ABSENT - _ZTVN6Phonon18MediaSourcePrivateE @ 527 NONAME - _ZTVN6Phonon18VideoWidgetPrivateE @ 528 NONAME ABSENT - _ZTVN6Phonon19AbstractAudioOutputE @ 529 NONAME - _ZTVN6Phonon19AbstractMediaStreamE @ 530 NONAME - _ZTVN6Phonon19AbstractVideoOutputE @ 531 NONAME - _ZTVN6Phonon19BackendCapabilities8NotifierE @ 532 NONAME ABSENT - _ZTVN6Phonon22MediaControllerPrivateE @ 533 NONAME ABSENT - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EEE @ 534 NONAME - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EEE @ 535 NONAME - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EEE @ 536 NONAME - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EEE @ 537 NONAME - _ZTVN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EEE @ 538 NONAME - _ZTVN6Phonon24VolumeFaderEffectPrivateE @ 539 NONAME ABSENT - _ZTVN6Phonon26AbstractAudioOutputPrivateE @ 540 NONAME ABSENT - _ZTVN6Phonon26AbstractMediaStreamPrivateE @ 541 NONAME - _ZTVN6Phonon26AbstractVideoOutputPrivateE @ 542 NONAME ABSENT - _ZTVN6Phonon6EffectE @ 543 NONAME - _ZTVN6Phonon7Factory6SenderE @ 544 NONAME ABSENT - _ZTVN6Phonon9MediaNodeE @ 545 NONAME - _ZThn8_N6Phonon10SeekSliderD0Ev @ 546 NONAME - _ZThn8_N6Phonon10SeekSliderD1Ev @ 547 NONAME - _ZThn8_N6Phonon11MediaObjectD0Ev @ 548 NONAME - _ZThn8_N6Phonon11MediaObjectD1Ev @ 549 NONAME - _ZThn8_N6Phonon11VideoPlayerD0Ev @ 550 NONAME - _ZThn8_N6Phonon11VideoPlayerD1Ev @ 551 NONAME - _ZThn8_N6Phonon12EffectWidgetD0Ev @ 552 NONAME - _ZThn8_N6Phonon12EffectWidgetD1Ev @ 553 NONAME - _ZThn8_N6Phonon12VolumeSliderD0Ev @ 554 NONAME - _ZThn8_N6Phonon12VolumeSliderD1Ev @ 555 NONAME - _ZThn8_N6Phonon19AbstractAudioOutputD0Ev @ 556 NONAME - _ZThn8_N6Phonon19AbstractAudioOutputD1Ev @ 557 NONAME - _ZThn8_N6Phonon6EffectD0Ev @ 558 NONAME - _ZThn8_N6Phonon6EffectD1Ev @ 559 NONAME - _ZN6Phonon10SeekSlider19getStaticMetaObjectEv @ 560 NONAME - _ZN6Phonon11AudioOutput19getStaticMetaObjectEv @ 561 NONAME - _ZN6Phonon11MediaObject19getStaticMetaObjectEv @ 562 NONAME - _ZN6Phonon11VideoPlayer19getStaticMetaObjectEv @ 563 NONAME - _ZN6Phonon11VideoWidget19getStaticMetaObjectEv @ 564 NONAME - _ZN6Phonon12EffectWidget19getStaticMetaObjectEv @ 565 NONAME - _ZN6Phonon12VolumeSlider19getStaticMetaObjectEv @ 566 NONAME - _ZN6Phonon15MediaController19getStaticMetaObjectEv @ 567 NONAME - _ZN6Phonon17VolumeFaderEffect19getStaticMetaObjectEv @ 568 NONAME - _ZN6Phonon19AbstractAudioOutput19getStaticMetaObjectEv @ 569 NONAME - _ZN6Phonon19AbstractMediaStream19getStaticMetaObjectEv @ 570 NONAME - _ZN6Phonon6Effect19getStaticMetaObjectEv @ 571 NONAME + _ZN6Phonon10SeekSlider19getStaticMetaObjectEv @ 11 NONAME + _ZN6Phonon10SeekSliderC1EP7QWidget @ 12 NONAME + _ZN6Phonon10SeekSliderC1EPNS_11MediaObjectEP7QWidget @ 13 NONAME + _ZN6Phonon10SeekSliderC2EP7QWidget @ 14 NONAME + _ZN6Phonon10SeekSliderC2EPNS_11MediaObjectEP7QWidget @ 15 NONAME + _ZN6Phonon10SeekSliderD0Ev @ 16 NONAME + _ZN6Phonon10SeekSliderD1Ev @ 17 NONAME + _ZN6Phonon10SeekSliderD2Ev @ 18 NONAME + _ZN6Phonon10createPathEPNS_9MediaNodeES1_ @ 19 NONAME + _ZN6Phonon11AudioOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 20 NONAME + _ZN6Phonon11AudioOutput11qt_metacastEPKc @ 21 NONAME + _ZN6Phonon11AudioOutput12mutedChangedEb @ 22 NONAME + _ZN6Phonon11AudioOutput13volumeChangedEf @ 23 NONAME + _ZN6Phonon11AudioOutput15setOutputDeviceERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE0EEE @ 24 NONAME + _ZN6Phonon11AudioOutput16setVolumeDecibelEf @ 25 NONAME + _ZN6Phonon11AudioOutput16staticMetaObjectE @ 26 NONAME DATA 16 + _ZN6Phonon11AudioOutput19getStaticMetaObjectEv @ 27 NONAME + _ZN6Phonon11AudioOutput19outputDeviceChangedERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE0EEE @ 28 NONAME + _ZN6Phonon11AudioOutput7setNameERK7QString @ 29 NONAME + _ZN6Phonon11AudioOutput8setMutedEb @ 30 NONAME + _ZN6Phonon11AudioOutput9setVolumeEf @ 31 NONAME + _ZN6Phonon11AudioOutputC1ENS_8CategoryEP7QObject @ 32 NONAME + _ZN6Phonon11AudioOutputC1EP7QObject @ 33 NONAME + _ZN6Phonon11AudioOutputC2ENS_8CategoryEP7QObject @ 34 NONAME + _ZN6Phonon11AudioOutputC2EP7QObject @ 35 NONAME + _ZN6Phonon11MediaObject10clearQueueEv @ 36 NONAME + _ZN6Phonon11MediaObject11qt_metacallEN11QMetaObject4CallEiPPv @ 37 NONAME + _ZN6Phonon11MediaObject11qt_metacastEPKc @ 38 NONAME + _ZN6Phonon11MediaObject12bufferStatusEi @ 39 NONAME + _ZN6Phonon11MediaObject12stateChangedENS_5StateES1_ @ 40 NONAME + _ZN6Phonon11MediaObject13aboutToFinishEv @ 41 NONAME + _ZN6Phonon11MediaObject15hasVideoChangedEb @ 42 NONAME + _ZN6Phonon11MediaObject15metaDataChangedEv @ 43 NONAME + _ZN6Phonon11MediaObject15seekableChangedEb @ 44 NONAME + _ZN6Phonon11MediaObject15setTickIntervalEi @ 45 NONAME + _ZN6Phonon11MediaObject16setCurrentSourceERKNS_11MediaSourceE @ 46 NONAME + _ZN6Phonon11MediaObject16setPrefinishMarkEi @ 47 NONAME + _ZN6Phonon11MediaObject16staticMetaObjectE @ 48 NONAME DATA 16 + _ZN6Phonon11MediaObject16totalTimeChangedEx @ 49 NONAME + _ZN6Phonon11MediaObject17setTransitionTimeEi @ 50 NONAME + _ZN6Phonon11MediaObject19getStaticMetaObjectEv @ 51 NONAME + _ZN6Phonon11MediaObject20currentSourceChangedERKNS_11MediaSourceE @ 52 NONAME + _ZN6Phonon11MediaObject20prefinishMarkReachedEi @ 53 NONAME + _ZN6Phonon11MediaObject4playEv @ 54 NONAME + _ZN6Phonon11MediaObject4seekEx @ 55 NONAME + _ZN6Phonon11MediaObject4stopEv @ 56 NONAME + _ZN6Phonon11MediaObject4tickEx @ 57 NONAME + _ZN6Phonon11MediaObject5clearEv @ 58 NONAME + _ZN6Phonon11MediaObject5pauseEv @ 59 NONAME + _ZN6Phonon11MediaObject7enqueueERK5QListI4QUrlE @ 60 NONAME + _ZN6Phonon11MediaObject7enqueueERK5QListINS_11MediaSourceEE @ 61 NONAME + _ZN6Phonon11MediaObject7enqueueERKNS_11MediaSourceE @ 62 NONAME + _ZN6Phonon11MediaObject8finishedEv @ 63 NONAME + _ZN6Phonon11MediaObject8setQueueERK5QListI4QUrlE @ 64 NONAME + _ZN6Phonon11MediaObject8setQueueERK5QListINS_11MediaSourceEE @ 65 NONAME + _ZN6Phonon11MediaObjectC1EP7QObject @ 66 NONAME + _ZN6Phonon11MediaObjectC2EP7QObject @ 67 NONAME + _ZN6Phonon11MediaObjectD0Ev @ 68 NONAME + _ZN6Phonon11MediaObjectD1Ev @ 69 NONAME + _ZN6Phonon11MediaObjectD2Ev @ 70 NONAME + _ZN6Phonon11MediaSource13setAutoDeleteEb @ 71 NONAME + _ZN6Phonon11MediaSourceC1ENS_8DiscTypeERK7QString @ 72 NONAME + _ZN6Phonon11MediaSourceC1EP9QIODevice @ 73 NONAME + _ZN6Phonon11MediaSourceC1EPNS_19AbstractMediaStreamE @ 74 NONAME + _ZN6Phonon11MediaSourceC1ERK4QUrl @ 75 NONAME + _ZN6Phonon11MediaSourceC1ERK7QString @ 76 NONAME + _ZN6Phonon11MediaSourceC1ERKS0_ @ 77 NONAME + _ZN6Phonon11MediaSourceC1ERNS_18MediaSourcePrivateE @ 78 NONAME + _ZN6Phonon11MediaSourceC1Ev @ 79 NONAME + _ZN6Phonon11MediaSourceC2ENS_8DiscTypeERK7QString @ 80 NONAME + _ZN6Phonon11MediaSourceC2EP9QIODevice @ 81 NONAME + _ZN6Phonon11MediaSourceC2EPNS_19AbstractMediaStreamE @ 82 NONAME + _ZN6Phonon11MediaSourceC2ERK4QUrl @ 83 NONAME + _ZN6Phonon11MediaSourceC2ERK7QString @ 84 NONAME + _ZN6Phonon11MediaSourceC2ERKS0_ @ 85 NONAME + _ZN6Phonon11MediaSourceC2ERNS_18MediaSourcePrivateE @ 86 NONAME + _ZN6Phonon11MediaSourceC2Ev @ 87 NONAME + _ZN6Phonon11MediaSourceD1Ev @ 88 NONAME + _ZN6Phonon11MediaSourceD2Ev @ 89 NONAME + _ZN6Phonon11MediaSourceaSERKS0_ @ 90 NONAME + _ZN6Phonon11VideoPlayer11qt_metacallEN11QMetaObject4CallEiPPv @ 91 NONAME + _ZN6Phonon11VideoPlayer11qt_metacastEPKc @ 92 NONAME + _ZN6Phonon11VideoPlayer16staticMetaObjectE @ 93 NONAME DATA 16 + _ZN6Phonon11VideoPlayer19getStaticMetaObjectEv @ 94 NONAME + _ZN6Phonon11VideoPlayer4loadERKNS_11MediaSourceE @ 95 NONAME + _ZN6Phonon11VideoPlayer4playERKNS_11MediaSourceE @ 96 NONAME + _ZN6Phonon11VideoPlayer4playEv @ 97 NONAME + _ZN6Phonon11VideoPlayer4seekEx @ 98 NONAME + _ZN6Phonon11VideoPlayer4stopEv @ 99 NONAME + _ZN6Phonon11VideoPlayer5pauseEv @ 100 NONAME + _ZN6Phonon11VideoPlayer8finishedEv @ 101 NONAME + _ZN6Phonon11VideoPlayer9setVolumeEf @ 102 NONAME + _ZN6Phonon11VideoPlayerC1ENS_8CategoryEP7QWidget @ 103 NONAME + _ZN6Phonon11VideoPlayerC1EP7QWidget @ 104 NONAME + _ZN6Phonon11VideoPlayerC2ENS_8CategoryEP7QWidget @ 105 NONAME + _ZN6Phonon11VideoPlayerC2EP7QWidget @ 106 NONAME + _ZN6Phonon11VideoPlayerD0Ev @ 107 NONAME + _ZN6Phonon11VideoPlayerD1Ev @ 108 NONAME + _ZN6Phonon11VideoPlayerD2Ev @ 109 NONAME + _ZN6Phonon11VideoWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 110 NONAME + _ZN6Phonon11VideoWidget11qt_metacastEPKc @ 111 NONAME + _ZN6Phonon11VideoWidget11setContrastEf @ 112 NONAME + _ZN6Phonon11VideoWidget12setScaleModeENS0_9ScaleModeE @ 113 NONAME + _ZN6Phonon11VideoWidget13setBrightnessEf @ 114 NONAME + _ZN6Phonon11VideoWidget13setFullScreenEb @ 115 NONAME + _ZN6Phonon11VideoWidget13setSaturationEf @ 116 NONAME + _ZN6Phonon11VideoWidget14exitFullScreenEv @ 117 NONAME + _ZN6Phonon11VideoWidget14mouseMoveEventEP11QMouseEvent @ 118 NONAME + _ZN6Phonon11VideoWidget14setAspectRatioENS0_11AspectRatioE @ 119 NONAME + _ZN6Phonon11VideoWidget15enterFullScreenEv @ 120 NONAME + _ZN6Phonon11VideoWidget16staticMetaObjectE @ 121 NONAME DATA 16 + _ZN6Phonon11VideoWidget19getStaticMetaObjectEv @ 122 NONAME + _ZN6Phonon11VideoWidget5eventEP6QEvent @ 123 NONAME + _ZN6Phonon11VideoWidget6setHueEf @ 124 NONAME + _ZN6Phonon11VideoWidgetC1EP7QWidget @ 125 NONAME + _ZN6Phonon11VideoWidgetC1ERNS_18VideoWidgetPrivateEP7QWidget @ 126 NONAME + _ZN6Phonon11VideoWidgetC2EP7QWidget @ 127 NONAME + _ZN6Phonon11VideoWidgetC2ERNS_18VideoWidgetPrivateEP7QWidget @ 128 NONAME + _ZN6Phonon12EffectWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 129 NONAME + _ZN6Phonon12EffectWidget11qt_metacastEPKc @ 130 NONAME + _ZN6Phonon12EffectWidget16staticMetaObjectE @ 131 NONAME DATA 16 + _ZN6Phonon12EffectWidget19getStaticMetaObjectEv @ 132 NONAME + _ZN6Phonon12EffectWidgetC1EPNS_6EffectEP7QWidget @ 133 NONAME + _ZN6Phonon12EffectWidgetC2EPNS_6EffectEP7QWidget @ 134 NONAME + _ZN6Phonon12EffectWidgetD0Ev @ 135 NONAME + _ZN6Phonon12EffectWidgetD1Ev @ 136 NONAME + _ZN6Phonon12EffectWidgetD2Ev @ 137 NONAME + _ZN6Phonon12GlobalConfigC1Ev @ 138 NONAME + _ZN6Phonon12GlobalConfigC2Ev @ 139 NONAME + _ZN6Phonon12GlobalConfigD0Ev @ 140 NONAME + _ZN6Phonon12GlobalConfigD1Ev @ 141 NONAME + _ZN6Phonon12GlobalConfigD2Ev @ 142 NONAME + _ZN6Phonon12VolumeSlider11qt_metacallEN11QMetaObject4CallEiPPv @ 143 NONAME + _ZN6Phonon12VolumeSlider11qt_metacastEPKc @ 144 NONAME + _ZN6Phonon12VolumeSlider11setIconSizeERK5QSize @ 145 NONAME + _ZN6Phonon12VolumeSlider11setPageStepEi @ 146 NONAME + _ZN6Phonon12VolumeSlider11setTrackingEb @ 147 NONAME + _ZN6Phonon12VolumeSlider13setSingleStepEi @ 148 NONAME + _ZN6Phonon12VolumeSlider14setAudioOutputEPNS_11AudioOutputE @ 149 NONAME + _ZN6Phonon12VolumeSlider14setMuteVisibleEb @ 150 NONAME + _ZN6Phonon12VolumeSlider14setOrientationEN2Qt11OrientationE @ 151 NONAME + _ZN6Phonon12VolumeSlider16setMaximumVolumeEf @ 152 NONAME + _ZN6Phonon12VolumeSlider16staticMetaObjectE @ 153 NONAME DATA 16 + _ZN6Phonon12VolumeSlider19getStaticMetaObjectEv @ 154 NONAME + _ZN6Phonon12VolumeSliderC1EP7QWidget @ 155 NONAME + _ZN6Phonon12VolumeSliderC1EPNS_11AudioOutputEP7QWidget @ 156 NONAME + _ZN6Phonon12VolumeSliderC2EP7QWidget @ 157 NONAME + _ZN6Phonon12VolumeSliderC2EPNS_11AudioOutputEP7QWidget @ 158 NONAME + _ZN6Phonon12VolumeSliderD0Ev @ 159 NONAME + _ZN6Phonon12VolumeSliderD1Ev @ 160 NONAME + _ZN6Phonon12VolumeSliderD2Ev @ 161 NONAME + _ZN6Phonon12createPlayerENS_8CategoryERKNS_11MediaSourceE @ 162 NONAME + _ZN6Phonon13phononVersionEv @ 163 NONAME + _ZN6Phonon15EffectParameterC1ERKS0_ @ 164 NONAME + _ZN6Phonon15EffectParameterC1EiRK7QString6QFlagsINS0_4HintEERK8QVariantS9_S9_RK5QListIS7_ES3_ @ 165 NONAME + _ZN6Phonon15EffectParameterC1Ev @ 166 NONAME + _ZN6Phonon15EffectParameterC2ERKS0_ @ 167 NONAME + _ZN6Phonon15EffectParameterC2EiRK7QString6QFlagsINS0_4HintEERK8QVariantS9_S9_RK5QListIS7_ES3_ @ 168 NONAME + _ZN6Phonon15EffectParameterC2Ev @ 169 NONAME + _ZN6Phonon15EffectParameterD1Ev @ 170 NONAME + _ZN6Phonon15EffectParameterD2Ev @ 171 NONAME + _ZN6Phonon15EffectParameteraSERKS0_ @ 172 NONAME + _ZN6Phonon15MediaController11qt_metacallEN11QMetaObject4CallEiPPv @ 173 NONAME + _ZN6Phonon15MediaController11qt_metacastEPKc @ 174 NONAME + _ZN6Phonon15MediaController12angleChangedEi @ 175 NONAME + _ZN6Phonon15MediaController12titleChangedEi @ 176 NONAME + _ZN6Phonon15MediaController13previousTitleEv @ 177 NONAME + _ZN6Phonon15MediaController14chapterChangedEi @ 178 NONAME + _ZN6Phonon15MediaController15setCurrentAngleEi @ 179 NONAME + _ZN6Phonon15MediaController15setCurrentTitleEi @ 180 NONAME + _ZN6Phonon15MediaController16staticMetaObjectE @ 181 NONAME DATA 16 + _ZN6Phonon15MediaController17setAutoplayTitlesEb @ 182 NONAME + _ZN6Phonon15MediaController17setCurrentChapterEi @ 183 NONAME + _ZN6Phonon15MediaController18setCurrentSubtitleERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE3EEE @ 184 NONAME + _ZN6Phonon15MediaController19getStaticMetaObjectEv @ 185 NONAME + _ZN6Phonon15MediaController22availableAnglesChangedEi @ 186 NONAME + _ZN6Phonon15MediaController22availableTitlesChangedEi @ 187 NONAME + _ZN6Phonon15MediaController22setCurrentAudioChannelERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE2EEE @ 188 NONAME + _ZN6Phonon15MediaController24availableChaptersChangedEi @ 189 NONAME + _ZN6Phonon15MediaController25availableSubtitlesChangedEv @ 190 NONAME + _ZN6Phonon15MediaController29availableAudioChannelsChangedEv @ 191 NONAME + _ZN6Phonon15MediaController9nextTitleEv @ 192 NONAME + _ZN6Phonon15MediaControllerC1EPNS_11MediaObjectE @ 193 NONAME + _ZN6Phonon15MediaControllerC2EPNS_11MediaObjectE @ 194 NONAME + _ZN6Phonon15MediaControllerD0Ev @ 195 NONAME + _ZN6Phonon15MediaControllerD1Ev @ 196 NONAME + _ZN6Phonon15MediaControllerD2Ev @ 197 NONAME + _ZN6Phonon15StreamInterface10enoughDataEv @ 198 NONAME + _ZN6Phonon15StreamInterface10seekStreamEx @ 199 NONAME + _ZN6Phonon15StreamInterface15connectToSourceERKNS_11MediaSourceE @ 200 NONAME + _ZN6Phonon15StreamInterface5resetEv @ 201 NONAME + _ZN6Phonon15StreamInterface8needDataEv @ 202 NONAME + _ZN6Phonon15StreamInterfaceC2Ev @ 203 NONAME + _ZN6Phonon15StreamInterfaceD0Ev @ 204 NONAME + _ZN6Phonon15StreamInterfaceD1Ev @ 205 NONAME + _ZN6Phonon15StreamInterfaceD2Ev @ 206 NONAME + _ZN6Phonon16MediaNodePrivate12addInputPathERKNS_4PathE @ 207 NONAME + _ZN6Phonon16MediaNodePrivate13addOutputPathERKNS_4PathE @ 208 NONAME + _ZN6Phonon16MediaNodePrivate13backendObjectEv @ 209 NONAME + _ZN6Phonon16MediaNodePrivate15removeInputPathERKNS_4PathE @ 210 NONAME + _ZN6Phonon16MediaNodePrivate16removeOutputPathERKNS_4PathE @ 211 NONAME + _ZN6Phonon16MediaNodePrivate19deleteBackendObjectEv @ 212 NONAME + _ZN6Phonon16MediaNodePrivate21addDestructionHandlerEPNS_27MediaNodeDestructionHandlerE @ 213 NONAME + _ZN6Phonon16MediaNodePrivate24removeDestructionHandlerEPNS_27MediaNodeDestructionHandlerE @ 214 NONAME + _ZN6Phonon16MediaNodePrivateC2ENS0_6CastIdE @ 215 NONAME + _ZN6Phonon16MediaNodePrivateD0Ev @ 216 NONAME + _ZN6Phonon16MediaNodePrivateD1Ev @ 217 NONAME + _ZN6Phonon16MediaNodePrivateD2Ev @ 218 NONAME + _ZN6Phonon16categoryToStringENS_8CategoryE @ 219 NONAME + _ZN6Phonon17VolumeFaderEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 220 NONAME + _ZN6Phonon17VolumeFaderEffect11qt_metacastEPKc @ 221 NONAME + _ZN6Phonon17VolumeFaderEffect12setFadeCurveENS0_9FadeCurveE @ 222 NONAME + _ZN6Phonon17VolumeFaderEffect16setVolumeDecibelEd @ 223 NONAME + _ZN6Phonon17VolumeFaderEffect16staticMetaObjectE @ 224 NONAME DATA 16 + _ZN6Phonon17VolumeFaderEffect19getStaticMetaObjectEv @ 225 NONAME + _ZN6Phonon17VolumeFaderEffect6fadeInEi @ 226 NONAME + _ZN6Phonon17VolumeFaderEffect6fadeToEfi @ 227 NONAME + _ZN6Phonon17VolumeFaderEffect7fadeOutEi @ 228 NONAME + _ZN6Phonon17VolumeFaderEffect9setVolumeEf @ 229 NONAME + _ZN6Phonon17VolumeFaderEffectC1EP7QObject @ 230 NONAME + _ZN6Phonon17VolumeFaderEffectC2EP7QObject @ 231 NONAME + _ZN6Phonon18MediaObjectPrivate15_k_stateChangedENS_5StateES1_ @ 232 NONAME + _ZN6Phonon18MediaObjectPrivate18setupBackendObjectEv @ 233 NONAME + _ZN6Phonon18MediaSourcePrivate9setStreamEPNS_19AbstractMediaStreamE @ 234 NONAME + _ZN6Phonon18MediaSourcePrivateD0Ev @ 235 NONAME + _ZN6Phonon18MediaSourcePrivateD1Ev @ 236 NONAME + _ZN6Phonon18MediaSourcePrivateD2Ev @ 237 NONAME + _ZN6Phonon19AbstractAudioOutput11qt_metacallEN11QMetaObject4CallEiPPv @ 238 NONAME + _ZN6Phonon19AbstractAudioOutput11qt_metacastEPKc @ 239 NONAME + _ZN6Phonon19AbstractAudioOutput16staticMetaObjectE @ 240 NONAME DATA 16 + _ZN6Phonon19AbstractAudioOutput19getStaticMetaObjectEv @ 241 NONAME + _ZN6Phonon19AbstractAudioOutputC1ERNS_26AbstractAudioOutputPrivateEP7QObject @ 242 NONAME + _ZN6Phonon19AbstractAudioOutputC2ERNS_26AbstractAudioOutputPrivateEP7QObject @ 243 NONAME + _ZN6Phonon19AbstractAudioOutputD0Ev @ 244 NONAME + _ZN6Phonon19AbstractAudioOutputD1Ev @ 245 NONAME + _ZN6Phonon19AbstractAudioOutputD2Ev @ 246 NONAME + _ZN6Phonon19AbstractMediaStream10enoughDataEv @ 247 NONAME + _ZN6Phonon19AbstractMediaStream10seekStreamEx @ 248 NONAME + _ZN6Phonon19AbstractMediaStream11qt_metacallEN11QMetaObject4CallEiPPv @ 249 NONAME + _ZN6Phonon19AbstractMediaStream11qt_metacastEPKc @ 250 NONAME + _ZN6Phonon19AbstractMediaStream13setStreamSizeEx @ 251 NONAME + _ZN6Phonon19AbstractMediaStream16staticMetaObjectE @ 252 NONAME DATA 16 + _ZN6Phonon19AbstractMediaStream17setStreamSeekableEb @ 253 NONAME + _ZN6Phonon19AbstractMediaStream19getStaticMetaObjectEv @ 254 NONAME + _ZN6Phonon19AbstractMediaStream5errorENS_9ErrorTypeERK7QString @ 255 NONAME + _ZN6Phonon19AbstractMediaStream9endOfDataEv @ 256 NONAME + _ZN6Phonon19AbstractMediaStream9writeDataERK10QByteArray @ 257 NONAME + _ZN6Phonon19AbstractMediaStreamC2EP7QObject @ 258 NONAME + _ZN6Phonon19AbstractMediaStreamC2ERNS_26AbstractMediaStreamPrivateEP7QObject @ 259 NONAME + _ZN6Phonon19AbstractMediaStreamD0Ev @ 260 NONAME + _ZN6Phonon19AbstractMediaStreamD1Ev @ 261 NONAME + _ZN6Phonon19AbstractMediaStreamD2Ev @ 262 NONAME + _ZN6Phonon19AbstractVideoOutputC1ERNS_26AbstractVideoOutputPrivateE @ 263 NONAME + _ZN6Phonon19AbstractVideoOutputC2ERNS_26AbstractVideoOutputPrivateE @ 264 NONAME + _ZN6Phonon19BackendCapabilities18availableMimeTypesEv @ 265 NONAME + _ZN6Phonon19BackendCapabilities19isMimeTypeAvailableERK7QString @ 266 NONAME + _ZN6Phonon19BackendCapabilities21availableAudioEffectsEv @ 267 NONAME + _ZN6Phonon19BackendCapabilities27availableAudioOutputDevicesEv @ 268 NONAME + _ZN6Phonon19BackendCapabilities28availableAudioCaptureDevicesEv @ 269 NONAME + _ZN6Phonon19BackendCapabilities8notifierEv @ 270 NONAME + _ZN6Phonon21ObjectDescriptionData9fromIndexENS_21ObjectDescriptionTypeEi @ 271 NONAME + _ZN6Phonon21ObjectDescriptionDataC1EPNS_24ObjectDescriptionPrivateE @ 272 NONAME + _ZN6Phonon21ObjectDescriptionDataC1EiRK5QHashI10QByteArray8QVariantE @ 273 NONAME + _ZN6Phonon21ObjectDescriptionDataC2EPNS_24ObjectDescriptionPrivateE @ 274 NONAME + _ZN6Phonon21ObjectDescriptionDataC2EiRK5QHashI10QByteArray8QVariantE @ 275 NONAME + _ZN6Phonon21ObjectDescriptionDataD1Ev @ 276 NONAME + _ZN6Phonon21ObjectDescriptionDataD2Ev @ 277 NONAME + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EE11qt_metacastEPKc @ 278 NONAME + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EE16staticMetaObjectE @ 279 NONAME DATA 16 + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EE11qt_metacastEPKc @ 280 NONAME + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EE16staticMetaObjectE @ 281 NONAME DATA 16 + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EE11qt_metacastEPKc @ 282 NONAME + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EE16staticMetaObjectE @ 283 NONAME DATA 16 + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EE11qt_metacastEPKc @ 284 NONAME + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EE16staticMetaObjectE @ 285 NONAME DATA 16 + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EE11qt_metacastEPKc @ 286 NONAME + _ZN6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EE16staticMetaObjectE @ 287 NONAME DATA 16 + _ZN6Phonon26AbstractMediaStreamPrivate13setStreamSizeEx @ 288 NONAME + _ZN6Phonon26AbstractMediaStreamPrivate17setStreamSeekableEb @ 289 NONAME + _ZN6Phonon26AbstractMediaStreamPrivate18setStreamInterfaceEPNS_15StreamInterfaceE @ 290 NONAME + _ZN6Phonon26AbstractMediaStreamPrivate21phononObjectDestroyedEPNS_16MediaNodePrivateE @ 291 NONAME + _ZN6Phonon26AbstractMediaStreamPrivate21setMediaObjectPrivateEPNS_18MediaObjectPrivateE @ 292 NONAME + _ZN6Phonon26AbstractMediaStreamPrivate9endOfDataEv @ 293 NONAME + _ZN6Phonon26AbstractMediaStreamPrivate9writeDataERK10QByteArray @ 294 NONAME + _ZN6Phonon26AbstractMediaStreamPrivateD0Ev @ 295 NONAME + _ZN6Phonon26AbstractMediaStreamPrivateD1Ev @ 296 NONAME + _ZN6Phonon26AbstractMediaStreamPrivateD2Ev @ 297 NONAME + _ZN6Phonon26ObjectDescriptionModelData10removeRowsEiiRK11QModelIndex @ 298 NONAME + _ZN6Phonon26ObjectDescriptionModelData12dropMimeDataENS_21ObjectDescriptionTypeEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 299 NONAME + _ZN6Phonon26ObjectDescriptionModelData12setModelDataERK5QListI28QExplicitlySharedDataPointerINS_21ObjectDescriptionDataEEE @ 300 NONAME + _ZN6Phonon26ObjectDescriptionModelData6moveUpERK11QModelIndex @ 301 NONAME + _ZN6Phonon26ObjectDescriptionModelData8moveDownERK11QModelIndex @ 302 NONAME + _ZN6Phonon26ObjectDescriptionModelDataC1EP18QAbstractListModel @ 303 NONAME + _ZN6Phonon26ObjectDescriptionModelDataC2EP18QAbstractListModel @ 304 NONAME + _ZN6Phonon26ObjectDescriptionModelDataD1Ev @ 305 NONAME + _ZN6Phonon26ObjectDescriptionModelDataD2Ev @ 306 NONAME + _ZN6Phonon4Path10disconnectEv @ 307 NONAME + _ZN6Phonon4Path12insertEffectEPNS_6EffectES2_ @ 308 NONAME + _ZN6Phonon4Path12insertEffectERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE1EEEPNS_6EffectE @ 309 NONAME + _ZN6Phonon4Path12removeEffectEPNS_6EffectE @ 310 NONAME + _ZN6Phonon4Path9reconnectEPNS_9MediaNodeES2_ @ 311 NONAME + _ZN6Phonon4PathC1ERKS0_ @ 312 NONAME + _ZN6Phonon4PathC1Ev @ 313 NONAME + _ZN6Phonon4PathC2ERKS0_ @ 314 NONAME + _ZN6Phonon4PathC2Ev @ 315 NONAME + _ZN6Phonon4PathD1Ev @ 316 NONAME + _ZN6Phonon4PathD2Ev @ 317 NONAME + _ZN6Phonon4PathaSERKS0_ @ 318 NONAME + _ZN6Phonon5qHashERKNS_15EffectParameterE @ 319 NONAME + _ZN6Phonon6Effect11qt_metacallEN11QMetaObject4CallEiPPv @ 320 NONAME + _ZN6Phonon6Effect11qt_metacastEPKc @ 321 NONAME + _ZN6Phonon6Effect16staticMetaObjectE @ 322 NONAME DATA 16 + _ZN6Phonon6Effect17setParameterValueERKNS_15EffectParameterERK8QVariant @ 323 NONAME + _ZN6Phonon6Effect19getStaticMetaObjectEv @ 324 NONAME + _ZN6Phonon6EffectC1ERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE1EEEP7QObject @ 325 NONAME + _ZN6Phonon6EffectC1ERNS_13EffectPrivateEP7QObject @ 326 NONAME + _ZN6Phonon6EffectC2ERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE1EEEP7QObject @ 327 NONAME + _ZN6Phonon6EffectC2ERNS_13EffectPrivateEP7QObject @ 328 NONAME + _ZN6Phonon6EffectD0Ev @ 329 NONAME + _ZN6Phonon6EffectD1Ev @ 330 NONAME + _ZN6Phonon6EffectD2Ev @ 331 NONAME + _ZN6Phonon7Factory10setBackendEP7QObject @ 332 NONAME + _ZN6Phonon7Factory11backendNameEv @ 333 NONAME + _ZN6Phonon7Factory14platformPluginEv @ 334 NONAME + _ZN6Phonon7Factory15registerQObjectEP7QObject @ 335 NONAME + _ZN6Phonon7Factory22registerFrontendObjectEPNS_16MediaNodePrivateE @ 336 NONAME + _ZN6Phonon7Factory24deregisterFrontendObjectEPNS_16MediaNodePrivateE @ 337 NONAME + _ZN6Phonon7Factory6senderEv @ 338 NONAME + _ZN6Phonon7Factory7backendEb @ 339 NONAME + _ZN6Phonon9MediaNodeC1ERNS_16MediaNodePrivateE @ 340 NONAME + _ZN6Phonon9MediaNodeC2ERNS_16MediaNodePrivateE @ 341 NONAME + _ZN6Phonon9MediaNodeD0Ev @ 342 NONAME + _ZN6Phonon9MediaNodeD1Ev @ 343 NONAME + _ZN6Phonon9MediaNodeD2Ev @ 344 NONAME + _ZNK6Phonon10SeekSlider10metaObjectEv @ 345 NONAME + _ZNK6Phonon10SeekSlider10singleStepEv @ 346 NONAME + _ZNK6Phonon10SeekSlider11hasTrackingEv @ 347 NONAME + _ZNK6Phonon10SeekSlider11mediaObjectEv @ 348 NONAME + _ZNK6Phonon10SeekSlider11orientationEv @ 349 NONAME + _ZNK6Phonon10SeekSlider13isIconVisibleEv @ 350 NONAME + _ZNK6Phonon10SeekSlider8iconSizeEv @ 351 NONAME + _ZNK6Phonon10SeekSlider8pageStepEv @ 352 NONAME + _ZNK6Phonon11AudioOutput10metaObjectEv @ 353 NONAME + _ZNK6Phonon11AudioOutput12outputDeviceEv @ 354 NONAME + _ZNK6Phonon11AudioOutput13volumeDecibelEv @ 355 NONAME + _ZNK6Phonon11AudioOutput4nameEv @ 356 NONAME + _ZNK6Phonon11AudioOutput6volumeEv @ 357 NONAME + _ZNK6Phonon11AudioOutput7isMutedEv @ 358 NONAME + _ZNK6Phonon11AudioOutput8categoryEv @ 359 NONAME + _ZNK6Phonon11MediaObject10isSeekableEv @ 360 NONAME + _ZNK6Phonon11MediaObject10metaObjectEv @ 361 NONAME + _ZNK6Phonon11MediaObject11currentTimeEv @ 362 NONAME + _ZNK6Phonon11MediaObject11errorStringEv @ 363 NONAME + _ZNK6Phonon11MediaObject12tickIntervalEv @ 364 NONAME + _ZNK6Phonon11MediaObject13currentSourceEv @ 365 NONAME + _ZNK6Phonon11MediaObject13prefinishMarkEv @ 366 NONAME + _ZNK6Phonon11MediaObject13remainingTimeEv @ 367 NONAME + _ZNK6Phonon11MediaObject14transitionTimeEv @ 368 NONAME + _ZNK6Phonon11MediaObject5queueEv @ 369 NONAME + _ZNK6Phonon11MediaObject5stateEv @ 370 NONAME + _ZNK6Phonon11MediaObject8hasVideoEv @ 371 NONAME + _ZNK6Phonon11MediaObject8metaDataENS_8MetaDataE @ 372 NONAME + _ZNK6Phonon11MediaObject8metaDataERK7QString @ 373 NONAME + _ZNK6Phonon11MediaObject8metaDataEv @ 374 NONAME + _ZNK6Phonon11MediaObject9errorTypeEv @ 375 NONAME + _ZNK6Phonon11MediaObject9totalTimeEv @ 376 NONAME + _ZNK6Phonon11MediaSource10autoDeleteEv @ 377 NONAME + _ZNK6Phonon11MediaSource10deviceNameEv @ 378 NONAME + _ZNK6Phonon11MediaSource3urlEv @ 379 NONAME + _ZNK6Phonon11MediaSource4typeEv @ 380 NONAME + _ZNK6Phonon11MediaSource6streamEv @ 381 NONAME + _ZNK6Phonon11MediaSource8discTypeEv @ 382 NONAME + _ZNK6Phonon11MediaSource8fileNameEv @ 383 NONAME + _ZNK6Phonon11MediaSourceeqERKS0_ @ 384 NONAME + _ZNK6Phonon11VideoPlayer10metaObjectEv @ 385 NONAME + _ZNK6Phonon11VideoPlayer11audioOutputEv @ 386 NONAME + _ZNK6Phonon11VideoPlayer11currentTimeEv @ 387 NONAME + _ZNK6Phonon11VideoPlayer11mediaObjectEv @ 388 NONAME + _ZNK6Phonon11VideoPlayer11videoWidgetEv @ 389 NONAME + _ZNK6Phonon11VideoPlayer6volumeEv @ 390 NONAME + _ZNK6Phonon11VideoPlayer8isPausedEv @ 391 NONAME + _ZNK6Phonon11VideoPlayer9isPlayingEv @ 392 NONAME + _ZNK6Phonon11VideoPlayer9totalTimeEv @ 393 NONAME + _ZNK6Phonon11VideoWidget10brightnessEv @ 394 NONAME + _ZNK6Phonon11VideoWidget10metaObjectEv @ 395 NONAME + _ZNK6Phonon11VideoWidget10saturationEv @ 396 NONAME + _ZNK6Phonon11VideoWidget11aspectRatioEv @ 397 NONAME + _ZNK6Phonon11VideoWidget3hueEv @ 398 NONAME + _ZNK6Phonon11VideoWidget8contrastEv @ 399 NONAME + _ZNK6Phonon11VideoWidget9scaleModeEv @ 400 NONAME + _ZNK6Phonon12EffectWidget10metaObjectEv @ 401 NONAME + _ZNK6Phonon12GlobalConfig20audioOutputDeviceForENS_8CategoryEi @ 402 NONAME + _ZNK6Phonon12GlobalConfig21audioCaptureDeviceForENS_8CategoryEi @ 403 NONAME + _ZNK6Phonon12GlobalConfig24audioOutputDeviceListForENS_8CategoryEi @ 404 NONAME + _ZNK6Phonon12GlobalConfig25audioCaptureDeviceListForENS_8CategoryEi @ 405 NONAME + _ZNK6Phonon12VolumeSlider10metaObjectEv @ 406 NONAME + _ZNK6Phonon12VolumeSlider10singleStepEv @ 407 NONAME + _ZNK6Phonon12VolumeSlider11audioOutputEv @ 408 NONAME + _ZNK6Phonon12VolumeSlider11hasTrackingEv @ 409 NONAME + _ZNK6Phonon12VolumeSlider11orientationEv @ 410 NONAME + _ZNK6Phonon12VolumeSlider13isMuteVisibleEv @ 411 NONAME + _ZNK6Phonon12VolumeSlider13maximumVolumeEv @ 412 NONAME + _ZNK6Phonon12VolumeSlider8iconSizeEv @ 413 NONAME + _ZNK6Phonon12VolumeSlider8pageStepEv @ 414 NONAME + _ZNK6Phonon15EffectParameter11descriptionEv @ 415 NONAME + _ZNK6Phonon15EffectParameter12defaultValueEv @ 416 NONAME + _ZNK6Phonon15EffectParameter12maximumValueEv @ 417 NONAME + _ZNK6Phonon15EffectParameter12minimumValueEv @ 418 NONAME + _ZNK6Phonon15EffectParameter14possibleValuesEv @ 419 NONAME + _ZNK6Phonon15EffectParameter20isLogarithmicControlEv @ 420 NONAME + _ZNK6Phonon15EffectParameter2idEv @ 421 NONAME + _ZNK6Phonon15EffectParameter4nameEv @ 422 NONAME + _ZNK6Phonon15EffectParameter4typeEv @ 423 NONAME + _ZNK6Phonon15EffectParametereqERKS0_ @ 424 NONAME + _ZNK6Phonon15EffectParametergtERKS0_ @ 425 NONAME + _ZNK6Phonon15EffectParameterltERKS0_ @ 426 NONAME + _ZNK6Phonon15MediaController10metaObjectEv @ 427 NONAME + _ZNK6Phonon15MediaController12currentAngleEv @ 428 NONAME + _ZNK6Phonon15MediaController12currentTitleEv @ 429 NONAME + _ZNK6Phonon15MediaController14autoplayTitlesEv @ 430 NONAME + _ZNK6Phonon15MediaController14currentChapterEv @ 431 NONAME + _ZNK6Phonon15MediaController15availableAnglesEv @ 432 NONAME + _ZNK6Phonon15MediaController15availableTitlesEv @ 433 NONAME + _ZNK6Phonon15MediaController15currentSubtitleEv @ 434 NONAME + _ZNK6Phonon15MediaController17availableChaptersEv @ 435 NONAME + _ZNK6Phonon15MediaController17supportedFeaturesEv @ 436 NONAME + _ZNK6Phonon15MediaController18availableSubtitlesEv @ 437 NONAME + _ZNK6Phonon15MediaController19currentAudioChannelEv @ 438 NONAME + _ZNK6Phonon15MediaController22availableAudioChannelsEv @ 439 NONAME + _ZNK6Phonon17VolumeFaderEffect10metaObjectEv @ 440 NONAME + _ZNK6Phonon17VolumeFaderEffect13volumeDecibelEv @ 441 NONAME + _ZNK6Phonon17VolumeFaderEffect6volumeEv @ 442 NONAME + _ZNK6Phonon17VolumeFaderEffect9fadeCurveEv @ 443 NONAME + _ZNK6Phonon19AbstractAudioOutput10metaObjectEv @ 444 NONAME + _ZNK6Phonon19AbstractMediaStream10metaObjectEv @ 445 NONAME + _ZNK6Phonon19AbstractMediaStream10streamSizeEv @ 446 NONAME + _ZNK6Phonon19AbstractMediaStream14streamSeekableEv @ 447 NONAME + _ZNK6Phonon21ObjectDescriptionData11descriptionEv @ 448 NONAME + _ZNK6Phonon21ObjectDescriptionData13propertyNamesEv @ 449 NONAME + _ZNK6Phonon21ObjectDescriptionData4nameEv @ 450 NONAME + _ZNK6Phonon21ObjectDescriptionData5indexEv @ 451 NONAME + _ZNK6Phonon21ObjectDescriptionData7isValidEv @ 452 NONAME + _ZNK6Phonon21ObjectDescriptionData8propertyEPKc @ 453 NONAME + _ZNK6Phonon21ObjectDescriptionDataeqERKS0_ @ 454 NONAME + _ZNK6Phonon22AudioOutputInterface4219deviceAccessListForERKNS_17ObjectDescriptionILNS_21ObjectDescriptionTypeE0EEE @ 455 NONAME + _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE0EE10metaObjectEv @ 456 NONAME + _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE1EE10metaObjectEv @ 457 NONAME + _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE2EE10metaObjectEv @ 458 NONAME + _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE3EE10metaObjectEv @ 459 NONAME + _ZNK6Phonon22ObjectDescriptionModelILNS_21ObjectDescriptionTypeE4EE10metaObjectEv @ 460 NONAME + _ZNK6Phonon26ObjectDescriptionModelData15tupleIndexOrderEv @ 461 NONAME + _ZNK6Phonon26ObjectDescriptionModelData20supportedDropActionsEv @ 462 NONAME + _ZNK6Phonon26ObjectDescriptionModelData25tupleIndexAtPositionIndexEi @ 463 NONAME + _ZNK6Phonon26ObjectDescriptionModelData4dataERK11QModelIndexi @ 464 NONAME + _ZNK6Phonon26ObjectDescriptionModelData5flagsERK11QModelIndex @ 465 NONAME + _ZNK6Phonon26ObjectDescriptionModelData8mimeDataENS_21ObjectDescriptionTypeERK5QListI11QModelIndexE @ 466 NONAME + _ZNK6Phonon26ObjectDescriptionModelData8rowCountERK11QModelIndex @ 467 NONAME + _ZNK6Phonon26ObjectDescriptionModelData9mimeTypesENS_21ObjectDescriptionTypeE @ 468 NONAME + _ZNK6Phonon26ObjectDescriptionModelData9modelDataERK11QModelIndex @ 469 NONAME + _ZNK6Phonon26ObjectDescriptionModelData9modelDataEv @ 470 NONAME + _ZNK6Phonon4Path4sinkEv @ 471 NONAME + _ZNK6Phonon4Path6sourceEv @ 472 NONAME + _ZNK6Phonon4Path7effectsEv @ 473 NONAME + _ZNK6Phonon4Path7isValidEv @ 474 NONAME + _ZNK6Phonon4PatheqERKS0_ @ 475 NONAME + _ZNK6Phonon4PathneERKS0_ @ 476 NONAME + _ZNK6Phonon6Effect10metaObjectEv @ 477 NONAME + _ZNK6Phonon6Effect10parametersEv @ 478 NONAME + _ZNK6Phonon6Effect11descriptionEv @ 479 NONAME + _ZNK6Phonon6Effect14parameterValueERKNS_15EffectParameterE @ 480 NONAME + _ZNK6Phonon9MediaNode10inputPathsEv @ 481 NONAME + _ZNK6Phonon9MediaNode11outputPathsEv @ 482 NONAME + _ZNK6Phonon9MediaNode7isValidEv @ 483 NONAME + _ZTIN6Phonon10SeekSliderE @ 484 NONAME + _ZTIN6Phonon11AudioOutputE @ 485 NONAME + _ZTIN6Phonon11MediaObjectE @ 486 NONAME + _ZTIN6Phonon11VideoPlayerE @ 487 NONAME + _ZTIN6Phonon11VideoWidgetE @ 488 NONAME + _ZTIN6Phonon12EffectWidgetE @ 489 NONAME + _ZTIN6Phonon12GlobalConfigE @ 490 NONAME + _ZTIN6Phonon12VolumeSliderE @ 491 NONAME + _ZTIN6Phonon15MediaControllerE @ 492 NONAME + _ZTIN6Phonon15StreamInterfaceE @ 493 NONAME + _ZTIN6Phonon16MediaNodePrivateE @ 494 NONAME + _ZTIN6Phonon17VolumeFaderEffectE @ 495 NONAME + _ZTIN6Phonon18MediaSourcePrivateE @ 496 NONAME + _ZTIN6Phonon19AbstractAudioOutputE @ 497 NONAME + _ZTIN6Phonon19AbstractMediaStreamE @ 498 NONAME + _ZTIN6Phonon19AbstractVideoOutputE @ 499 NONAME + _ZTIN6Phonon26AbstractMediaStreamPrivateE @ 500 NONAME + _ZTIN6Phonon6EffectE @ 501 NONAME + _ZTIN6Phonon9MediaNodeE @ 502 NONAME + _ZTVN6Phonon10SeekSliderE @ 503 NONAME + _ZTVN6Phonon11AudioOutputE @ 504 NONAME + _ZTVN6Phonon11MediaObjectE @ 505 NONAME + _ZTVN6Phonon11VideoPlayerE @ 506 NONAME + _ZTVN6Phonon11VideoWidgetE @ 507 NONAME + _ZTVN6Phonon12EffectWidgetE @ 508 NONAME + _ZTVN6Phonon12GlobalConfigE @ 509 NONAME + _ZTVN6Phonon12VolumeSliderE @ 510 NONAME + _ZTVN6Phonon15MediaControllerE @ 511 NONAME + _ZTVN6Phonon15StreamInterfaceE @ 512 NONAME + _ZTVN6Phonon16MediaNodePrivateE @ 513 NONAME + _ZTVN6Phonon17VolumeFaderEffectE @ 514 NONAME + _ZTVN6Phonon18MediaSourcePrivateE @ 515 NONAME + _ZTVN6Phonon19AbstractAudioOutputE @ 516 NONAME + _ZTVN6Phonon19AbstractMediaStreamE @ 517 NONAME + _ZTVN6Phonon19AbstractVideoOutputE @ 518 NONAME + _ZTVN6Phonon26AbstractMediaStreamPrivateE @ 519 NONAME + _ZTVN6Phonon6EffectE @ 520 NONAME + _ZTVN6Phonon9MediaNodeE @ 521 NONAME + _ZThn8_N6Phonon10SeekSliderD0Ev @ 522 NONAME + _ZThn8_N6Phonon10SeekSliderD1Ev @ 523 NONAME + _ZThn8_N6Phonon11MediaObjectD0Ev @ 524 NONAME + _ZThn8_N6Phonon11MediaObjectD1Ev @ 525 NONAME + _ZThn8_N6Phonon11VideoPlayerD0Ev @ 526 NONAME + _ZThn8_N6Phonon11VideoPlayerD1Ev @ 527 NONAME + _ZThn8_N6Phonon12EffectWidgetD0Ev @ 528 NONAME + _ZThn8_N6Phonon12EffectWidgetD1Ev @ 529 NONAME + _ZThn8_N6Phonon12VolumeSliderD0Ev @ 530 NONAME + _ZThn8_N6Phonon12VolumeSliderD1Ev @ 531 NONAME + _ZThn8_N6Phonon19AbstractAudioOutputD0Ev @ 532 NONAME + _ZThn8_N6Phonon19AbstractAudioOutputD1Ev @ 533 NONAME + _ZThn8_N6Phonon6EffectD0Ev @ 534 NONAME + _ZThn8_N6Phonon6EffectD1Ev @ 535 NONAME -- cgit v0.12 From fa4d78a580fb4deb0c2c5de253b3b18a4ad18ab3 Mon Sep 17 00:00:00 2001 From: Maurice Kalinowski Date: Tue, 13 Oct 2009 15:43:56 +0200 Subject: crash fix on WinCE without gesture support dd9d8693 added some checks causing SetGestureConfig to not be initialized to 0. Thus it gets derefenced and causes crashes on all WinCE applications. Reviewed-by: denis Reviewed-by: ninerider --- src/gui/kernel/qapplication_win.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 540f0a2..5bb25fa 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -819,13 +819,16 @@ void qt_init(QApplicationPrivate *priv, int) priv->GetGestureInfo = 0; priv->GetGestureExtraArgs = 0; + priv->CloseGestureInfoHandle = 0; + priv->SetGestureConfig = 0; + priv->GetGestureConfig = 0; + priv->BeginPanningFeedback = 0; + priv->UpdatePanningFeedback = 0; + priv->EndPanningFeedback = 0; #if defined(Q_WS_WINCE_WM) && defined(QT_WINCE_GESTURES) priv->GetGestureInfo = (PtrGetGestureInfo) &TKGetGestureInfo; priv->GetGestureExtraArgs = (PtrGetGestureExtraArgs) &TKGetGestureExtraArguments; - priv->CloseGestureInfoHandle = (PtrCloseGestureInfoHandle) 0; - priv->SetGestureConfig = (PtrSetGestureConfig) 0; - priv->GetGestureConfig = (PtrGetGestureConfig) 0; #elif !defined(Q_WS_WINCE) priv->GetGestureInfo = (PtrGetGestureInfo)QLibrary::resolve(QLatin1String("user32"), -- cgit v0.12 From b7142463c738cc1a0540fe456002fe94e7f5a894 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Tue, 13 Oct 2009 14:53:19 +0100 Subject: Modified QSymbianControl::setFocusSafely to set last focused control to zero only if currently focused Reviewed-by: axis --- src/gui/kernel/qapplication_s60.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index acd1041..b1706af 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -948,7 +948,8 @@ void QSymbianControl::setFocusSafely(bool focus) S60->appUi()->RemoveFromStack(this); QT_TRAP_THROWING(S60->appUi()->AddToStackL(this, ECoeStackPriorityDefault, ECoeStackFlagStandard)); - lastFocusedControl = 0; + if(this == lastFocusedControl) + lastFocusedControl = 0; this->SetFocus(false); } } -- cgit v0.12 From c4e15c2ff15d21975410df9bc9615961e448b3d2 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Tue, 13 Oct 2009 15:53:06 +0200 Subject: Mac: fix autotest for qcolordialog Rev-By: olivier --- src/gui/dialogs/qcolordialog_mac.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/dialogs/qcolordialog_mac.mm b/src/gui/dialogs/qcolordialog_mac.mm index f6b88bb..9e4fdd1 100644 --- a/src/gui/dialogs/qcolordialog_mac.mm +++ b/src/gui/dialogs/qcolordialog_mac.mm @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -319,6 +320,7 @@ QT_USE_NAMESPACE QMacCocoaAutoReleasePool pool; mDialogIsExecuting = true; [NSApp runModalForWindow:mColorPanel]; + QAbstractEventDispatcher::instance()->interrupt(); if (mResultCode == NSCancelButton) mPriv->colorDialog()->reject(); else @@ -411,7 +413,7 @@ void QColorDialogPrivate::openCocoaColorPanel(const QColor &initial, void QColorDialogPrivate::closeCocoaColorPanel() { - [[static_cast(delegate) colorPanel] close]; + [static_cast(delegate) onCancelClicked]; } void QColorDialogPrivate::releaseCocoaColorPanelDelegate() -- cgit v0.12 From 886588aea9283932185ee06341145233a4684289 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Tue, 13 Oct 2009 14:53:19 +0100 Subject: Modified QSymbianControl::setFocusSafely to set last focused control to zero only if currently focused Reviewed-by: axis --- src/gui/kernel/qapplication_s60.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 115e135..6d50e55 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -949,7 +949,8 @@ void QSymbianControl::setFocusSafely(bool focus) S60->appUi()->RemoveFromStack(this); QT_TRAP_THROWING(S60->appUi()->AddToStackL(this, ECoeStackPriorityDefault, ECoeStackFlagStandard)); - lastFocusedControl = 0; + if(this == lastFocusedControl) + lastFocusedControl = 0; this->SetFocus(false); } } -- cgit v0.12 From 15d44ea32164a1205bef7938da331457054f8df4 Mon Sep 17 00:00:00 2001 From: Maurice Kalinowski Date: Tue, 13 Oct 2009 15:43:56 +0200 Subject: crash fix on WinCE without gesture support dd9d8693 added some checks causing SetGestureConfig to not be initialized to 0. Thus it gets derefenced and causes crashes on all WinCE applications. Reviewed-by: denis Reviewed-by: ninerider (cherry picked from commit fa4d78a580fb4deb0c2c5de253b3b18a4ad18ab3) --- src/gui/kernel/qapplication_win.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 540f0a2..5bb25fa 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -819,13 +819,16 @@ void qt_init(QApplicationPrivate *priv, int) priv->GetGestureInfo = 0; priv->GetGestureExtraArgs = 0; + priv->CloseGestureInfoHandle = 0; + priv->SetGestureConfig = 0; + priv->GetGestureConfig = 0; + priv->BeginPanningFeedback = 0; + priv->UpdatePanningFeedback = 0; + priv->EndPanningFeedback = 0; #if defined(Q_WS_WINCE_WM) && defined(QT_WINCE_GESTURES) priv->GetGestureInfo = (PtrGetGestureInfo) &TKGetGestureInfo; priv->GetGestureExtraArgs = (PtrGetGestureExtraArgs) &TKGetGestureExtraArguments; - priv->CloseGestureInfoHandle = (PtrCloseGestureInfoHandle) 0; - priv->SetGestureConfig = (PtrSetGestureConfig) 0; - priv->GetGestureConfig = (PtrGetGestureConfig) 0; #elif !defined(Q_WS_WINCE) priv->GetGestureInfo = (PtrGetGestureInfo)QLibrary::resolve(QLatin1String("user32"), -- cgit v0.12 From 27fdeb7be980b2a390e413ce6e93bae12626f185 Mon Sep 17 00:00:00 2001 From: Jocelyn Turcotte Date: Tue, 13 Oct 2009 11:34:27 +0200 Subject: Re-applying commit ee0a43fee20cc398b505eb65218ebed56dfc8f39 by Simon Hausmann Fix crash of QtScript on Mac OS X When compiling on 10.4 but running on 10.5 the flags passed to vm_map cause it to crash. For now fall back to the use of mmap() as allocator instead. Reviewed-by: Kent Hansen (cherry picked from commit 6b8ac349b9a477863a8c8388dcc0658f3284bc54) --- src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp index 474d7bf..01e36c4 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp @@ -240,7 +240,9 @@ void Heap::destroy() template NEVER_INLINE CollectorBlock* Heap::allocateBlock() { -#if PLATFORM(DARWIN) + // Disable the use of vm_map for the Qt build on Darwin, because when compiled on 10.4 + // it crashes on 10.5 +#if PLATFORM(DARWIN) && !PLATFORM(QT) vm_address_t address = 0; // FIXME: tag the region as a JavaScriptCore heap when we get a registered VM tag: . vm_map(current_task(), &address, BLOCK_SIZE, BLOCK_OFFSET_MASK, VM_FLAGS_ANYWHERE | VM_TAG_FOR_COLLECTOR_MEMORY, MEMORY_OBJECT_NULL, 0, FALSE, VM_PROT_DEFAULT, VM_PROT_DEFAULT, VM_INHERIT_DEFAULT); @@ -332,7 +334,9 @@ NEVER_INLINE void Heap::freeBlock(size_t block) NEVER_INLINE void Heap::freeBlock(CollectorBlock* block) { -#if PLATFORM(DARWIN) + // Disable the use of vm_deallocate for the Qt build on Darwin, because when compiled on 10.4 + // it crashes on 10.5 +#if PLATFORM(DARWIN) && !PLATFORM(QT) vm_deallocate(current_task(), reinterpret_cast(block), BLOCK_SIZE); #elif PLATFORM(SYMBIAN) userChunk->Free(reinterpret_cast(block)); -- cgit v0.12 From 87c3bb1ba858c705a83e4ff58b2389501a8d5084 Mon Sep 17 00:00:00 2001 From: ninerider Date: Tue, 13 Oct 2009 16:59:49 +0200 Subject: Notification relaxed for Windows CE test. Due to lower performance the expected signal count was decreased for this test. Reviewed-by: Maurice --- tests/auto/qaudiooutput/tst_qaudiooutput.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/auto/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/qaudiooutput/tst_qaudiooutput.cpp index b90873e..b46f88d 100644 --- a/tests/auto/qaudiooutput/tst_qaudiooutput.cpp +++ b/tests/auto/qaudiooutput/tst_qaudiooutput.cpp @@ -156,9 +156,14 @@ void tst_QAudioOutput::pullFile() // Wait until finished... QTestEventLoop::instance().enterLoop(1); QCOMPARE(audio->totalTime(), qint64(692250)); + +#ifdef Q_OS_WINCE + // 4.wav is a little less than 700ms, so notify should fire 4 times on Wince! + QVERIFY(readSignal.count() >= 4); +#else // 4.wav is a little less than 700ms, so notify should fire 6 times! QVERIFY(readSignal.count() >= 6); - +#endif audio->stop(); QTest::qWait(20); // wait 20ms QVERIFY(audio->state() == QAudio::StopState); -- cgit v0.12 From 1ac2f104b7ab97f99a2b249b14bc5129588dbe46 Mon Sep 17 00:00:00 2001 From: Jesper Thomschutz Date: Tue, 13 Oct 2009 17:03:50 +0200 Subject: Add known issues wiki to docs. Reviewed-by: Jason McDonald --- doc/src/getting-started/known-issues.qdoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc index 40ac1c7..0b63423 100644 --- a/doc/src/getting-started/known-issues.qdoc +++ b/doc/src/getting-started/known-issues.qdoc @@ -53,6 +53,10 @@ For a list list of known bugs in Qt %VERSION%, see the \l{Task Tracker} on the Qt website. + An overview of known issues may also be found at: + \l{http://qt.gitorious.org/qt/pages/Qt460BetaKnownIssues} + {Known Issues Wiki}. + \section1 Installation Issues \section2 Building the Source Package on Windows 7 -- cgit v0.12 From c59eff45ef16cae014e71a9a22b88a65bf0f343c Mon Sep 17 00:00:00 2001 From: Jesper Thomschutz Date: Tue, 13 Oct 2009 17:03:50 +0200 Subject: Add known issues wiki to docs. Reviewed-by: Jason McDonald (cherry picked from commit 1ac2f104b7ab97f99a2b249b14bc5129588dbe46) --- doc/src/getting-started/known-issues.qdoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc index 40ac1c7..0b63423 100644 --- a/doc/src/getting-started/known-issues.qdoc +++ b/doc/src/getting-started/known-issues.qdoc @@ -53,6 +53,10 @@ For a list list of known bugs in Qt %VERSION%, see the \l{Task Tracker} on the Qt website. + An overview of known issues may also be found at: + \l{http://qt.gitorious.org/qt/pages/Qt460BetaKnownIssues} + {Known Issues Wiki}. + \section1 Installation Issues \section2 Building the Source Package on Windows 7 -- cgit v0.12 From bd94c6df873ab196e537f5a49b57c86ccd66ad90 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Tue, 13 Oct 2009 10:18:59 +0200 Subject: Work around broken ATI X1600 drivers on Mac OS X The GLSL implementation messes up return values from functions so that all our srcPixel()'s become black and several matrices are off. We don't want to rewrite the shader code to fit an "ancient" graphics card, so we simply fall back to the GL 1 engine. Reviewed-by: Trond (cherry picked from commit 33ed3d0bacddce214a43be60eb6481903e753a88) --- src/opengl/qgl.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 3f96d1c..8aef8b4 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -150,7 +150,25 @@ QGLSignalProxy *QGLSignalProxy::instance() class QGLEngineSelector { public: - QGLEngineSelector() : engineType(QPaintEngine::MaxUser) { } + QGLEngineSelector() : engineType(QPaintEngine::MaxUser) + { +#ifdef Q_WS_MAC + // The ATI X1600 driver for Mac OS X does not support return + // values from functions in GLSL. Since working around this in + // the GL2 engine would require a big, ugly rewrite, we're + // falling back to the GL 1 engine.. + QGLWidget *tmp = 0; + if (!QGLContext::currentContext()) { + tmp = new QGLWidget(); + tmp->makeCurrent(); + } + if (strstr((char *) glGetString(GL_RENDERER), "X1600")) + setPreferredPaintEngine(QPaintEngine::OpenGL); + if (tmp) + delete tmp; +#endif + + } void setPreferredPaintEngine(QPaintEngine::Type type) { if (type == QPaintEngine::OpenGL || type == QPaintEngine::OpenGL2) -- cgit v0.12 From ca5b49a2ec0ee9d7030b8d03b561717addd3441f Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Tue, 13 Oct 2009 10:18:59 +0200 Subject: Work around broken ATI X1600 drivers on Mac OS X The GLSL implementation messes up return values from functions so that all our srcPixel()'s become black and several matrices are off. We don't want to rewrite the shader code to fit an "ancient" graphics card, so we simply fall back to the GL 1 engine. Reviewed-by: Trond (cherry picked from commit 33ed3d0bacddce214a43be60eb6481903e753a88) (cherry picked from commit bd94c6df873ab196e537f5a49b57c86ccd66ad90) --- src/opengl/qgl.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 3f96d1c..8aef8b4 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -150,7 +150,25 @@ QGLSignalProxy *QGLSignalProxy::instance() class QGLEngineSelector { public: - QGLEngineSelector() : engineType(QPaintEngine::MaxUser) { } + QGLEngineSelector() : engineType(QPaintEngine::MaxUser) + { +#ifdef Q_WS_MAC + // The ATI X1600 driver for Mac OS X does not support return + // values from functions in GLSL. Since working around this in + // the GL2 engine would require a big, ugly rewrite, we're + // falling back to the GL 1 engine.. + QGLWidget *tmp = 0; + if (!QGLContext::currentContext()) { + tmp = new QGLWidget(); + tmp->makeCurrent(); + } + if (strstr((char *) glGetString(GL_RENDERER), "X1600")) + setPreferredPaintEngine(QPaintEngine::OpenGL); + if (tmp) + delete tmp; +#endif + + } void setPreferredPaintEngine(QPaintEngine::Type type) { if (type == QPaintEngine::OpenGL || type == QPaintEngine::OpenGL2) -- cgit v0.12 From 6420f43f30e2d5cf7ae74702f96c176d7bf22a84 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 13 Oct 2009 17:40:20 +0200 Subject: Fix sorting after changing a QTableView's header Keep the sorting states in sync with the header when setting custom headers Reviewed-by: Gabriel Task-number: QTBUG-3128 task-number: 234926 --- src/gui/itemviews/qtableview.cpp | 3 +++ tests/auto/qtableview/tst_qtableview.cpp | 37 ++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp index 2d98258..a610b73 100644 --- a/src/gui/itemviews/qtableview.cpp +++ b/src/gui/itemviews/qtableview.cpp @@ -1117,6 +1117,9 @@ void QTableView::setHorizontalHeader(QHeaderView *header) connect(d->horizontalHeader, SIGNAL(sectionHandleDoubleClicked(int)), this, SLOT(resizeColumnToContents(int))); connect(d->horizontalHeader, SIGNAL(geometriesChanged()), this, SLOT(updateGeometries())); + + //update the sorting enabled states on the new header + setSortingEnabled(d->sortingEnabled); } /*! diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index eab5a35..5b11823 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -193,6 +193,7 @@ private slots: void mouseWheel(); void addColumnWhileEditing(); + void task234926_setHeaderSorting(); }; // Testing get/set functions @@ -3774,5 +3775,41 @@ void tst_QTableView::task191545_dragSelectRows() } } +void tst_QTableView::task234926_setHeaderSorting() +{ + QStringListModel model; + QStringList data; + data << "orange" << "apple" << "banana" << "lemon" << "pumpkin"; + QStringList sortedDataA = data; + QStringList sortedDataD = data; + qSort(sortedDataA); + qSort(sortedDataD.begin(), sortedDataD.end(), qGreater()); + model.setStringList(data); + QTableView view; + view.setModel(&model); +// view.show(); + QTest::qWait(20); + QCOMPARE(model.stringList(), data); + view.setSortingEnabled(true); + view.sortByColumn(0, Qt::AscendingOrder); + QApplication::processEvents(); + QCOMPARE(model.stringList() , sortedDataA); + + view.horizontalHeader()->setSortIndicator(0, Qt::DescendingOrder); + QApplication::processEvents(); + QCOMPARE(model.stringList() , sortedDataD); + + QHeaderView *h = new QHeaderView(Qt::Horizontal); + h->setModel(&model); + view.setHorizontalHeader(h); + h->setSortIndicator(0, Qt::AscendingOrder); + QApplication::processEvents(); + QCOMPARE(model.stringList() , sortedDataA); + + h->setSortIndicator(0, Qt::DescendingOrder); + QApplication::processEvents(); + QCOMPARE(model.stringList() , sortedDataD); +} + QTEST_MAIN(tst_QTableView) #include "tst_qtableview.moc" -- cgit v0.12 From 19030e2af098e319e3c3f3883c51e28364bf3ccf Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Tue, 13 Oct 2009 16:26:10 +0200 Subject: Sorting bug in QTableView fix When the DisplayRole is identical for two or more items, any modification of one item (e.g. backgroundColorRole) may trigger a re-ordering, which is obviously not an behaviour to be expected. Same fix as the one used for QTreewidget in c9eacfa1c791e2d228a3c8f0c119d02d7f46ee02. Task-number: QTBUG-4856 Task-number: 262056 Reviewed-by: Olivier Goffart --- src/gui/itemviews/qtablewidget.cpp | 2 ++ tests/auto/qtablewidget/tst_qtablewidget.cpp | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/gui/itemviews/qtablewidget.cpp b/src/gui/itemviews/qtablewidget.cpp index a086498..65758b8 100644 --- a/src/gui/itemviews/qtablewidget.cpp +++ b/src/gui/itemviews/qtablewidget.cpp @@ -571,6 +571,8 @@ void QTableModel::ensureSorted(int column, Qt::SortOrder order, colItems.remove(oldRow); vit = sortedInsertionIterator(vit, colItems.end(), order, item); int newRow = qMax((int)(vit - colItems.begin()), 0); + if ((newRow < oldRow) && !(*item < *colItems.at(oldRow - 1))) + newRow = oldRow; vit = colItems.insert(vit, item); if (newRow != oldRow) { changed = true; diff --git a/tests/auto/qtablewidget/tst_qtablewidget.cpp b/tests/auto/qtablewidget/tst_qtablewidget.cpp index 5aa2d1d..b85851f 100644 --- a/tests/auto/qtablewidget/tst_qtablewidget.cpp +++ b/tests/auto/qtablewidget/tst_qtablewidget.cpp @@ -102,6 +102,7 @@ private slots: void cellWidget(); void task231094(); void task219380_removeLastRow(); + void task262056_sortDuplicate(); private: QTableWidget *testWidget; @@ -1474,6 +1475,26 @@ void tst_QTableWidget::task219380_removeLastRow() QCOMPARE(testWidget->cellWidget(18, 0)->geometry(), testWidget->visualItemRect(&item)); } +void tst_QTableWidget::task262056_sortDuplicate() +{ + testWidget->setColumnCount(2); + testWidget->setRowCount(8); + testWidget->setSortingEnabled(true); + QStringList items = (QStringList() << "AAA" << "BBB" << "CCC" << "CCC" << "DDD"\ + << "EEE" << "FFF" << "GGG"); + for (int i = 0; i<8; i++ ) { + QTableWidgetItem *twi = new QTableWidgetItem(items.at(i)); + testWidget->setItem(i,0,twi); + testWidget->setItem(i,1,new QTableWidgetItem(QString("item %1").arg(i))); + } + testWidget->sortItems(0, Qt::AscendingOrder); + QSignalSpy layoutChangedSpy(testWidget->model(), SIGNAL(layoutChanged())); + testWidget->item(3,0)->setBackgroundColor(Qt::red); + + QCOMPARE(layoutChangedSpy.count(),0); + +} + QTEST_MAIN(tst_QTableWidget) #include "tst_qtablewidget.moc" -- cgit v0.12 From 5cf4e269ecaeda3cd847b2d7704fa5c94dbf0fae Mon Sep 17 00:00:00 2001 From: Donald Carr Date: Tue, 13 Oct 2009 20:24:34 +0000 Subject: Add unsupported mkspec for scratchbox 2 targets Scratchbox 2 abstracts away toolchain considerations when cross compiling, allowing us to introduce a generic scratchbox 2 mkspec. See blog for more details: http://labs.trolltech.com/blogs/2009/09/10/cross-compiling-qtx11 Reviewed-by: Anders Bakken --- .../unsupported/linux-scratchbox2-g++/qmake.conf | 32 +++++++++++++++++ .../linux-scratchbox2-g++/qplatformdefs.h | 42 ++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf create mode 100644 mkspecs/unsupported/linux-scratchbox2-g++/qplatformdefs.h diff --git a/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf b/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf new file mode 100644 index 0000000..f1b78c3 --- /dev/null +++ b/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf @@ -0,0 +1,32 @@ +# +# qmake configuration derived from linux-g++ +# +# This mkspec is intended for use with scratchbox 2 (sb2) and assumes the +# default sb2 target is set appropriately, or you will have to append the +# appropriate -t $target argument to sb2 + +# You will probably want to set your PKG_CONFIG_PATH in order for the host +# pkg-config to correctly query and utilize your targets .pc files +# (normally stored in $staging/usr/lib/pkgconfig) + +MAKEFILE_GENERATOR = UNIX +TEMPLATE = app +CONFIG += qt warn_on release incremental link_prl +QT += core gui +QMAKE_INCREMENTAL_STYLE = sublib + +include(../../common/g++.conf) +include(../../common/linux.conf) + +# modifications to g++.conf +QMAKE_CC = sb2 gcc +QMAKE_CXX = sb2 g++ +QMAKE_LINK = sb2 g++ +QMAKE_LINK_SHLIB = sb2 g++ + +# modifications to linux.conf +QMAKE_AR = sb2 ar cqs +QMAKE_OBJCOPY = sb2 objcopy +QMAKE_STRIP = sb2 strip + +load(qt_config) diff --git a/mkspecs/unsupported/linux-scratchbox2-g++/qplatformdefs.h b/mkspecs/unsupported/linux-scratchbox2-g++/qplatformdefs.h new file mode 100644 index 0000000..60e0f5e --- /dev/null +++ b/mkspecs/unsupported/linux-scratchbox2-g++/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../../linux-g++/qplatformdefs.h" -- cgit v0.12 From b3ee3b8e681f3d5d7dd42a5b6391ec473c78a28a Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Tue, 6 Oct 2009 08:33:19 -0700 Subject: Make sure we don't repaint when moving a window We need to make sure the QDirectFBWindowSurface returns true for isBuffered(). Otherwise QWSWindowSurface will force a repaint when moved. Reviewed-by: Donald Carr --- src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index f33e820..a409ce5 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -276,6 +276,8 @@ void QDirectFBWindowSurface::setPermanentState(const QByteArray &state) { if (state.size() == sizeof(this)) { sibling = *reinterpret_cast(state.constData()); + Q_ASSERT(sibling); + sibling->setSurfaceFlags(surfaceFlags()); } } -- cgit v0.12 From b5e7172e7150cc92290f1eff5a8323e0ff3a24b9 Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Tue, 6 Oct 2009 08:42:07 -0700 Subject: Don't create too many window surfaces in DFB Since DirectFB handles the composition for us we don't need to invalidate anything when moving a window. Only on resize do we want another paint event. Reviewed-by: Donald Carr --- src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index a409ce5..27ec668 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -262,7 +262,11 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect) if (oldSurface != dfbSurface) updateFormat(); - QWSWindowSurface::setGeometry(rect); + if (oldRect.size() != rect.size()) { + QWSWindowSurface::setGeometry(rect); + } else { + QWindowSurface::setGeometry(rect); + } } QByteArray QDirectFBWindowSurface::permanentState() const -- cgit v0.12 From 1b1dc796cb2c14ffed77571ec6268c8e87bf1cb0 Mon Sep 17 00:00:00 2001 From: Donald Carr Date: Tue, 13 Oct 2009 22:42:08 +0000 Subject: Add further documentation to scratchbox 2 mkspec Documented that pkg-config functionality must be forced if used in conjunction with this mkspec, and that PKG_CONFIG_PATH is a shell variable not a qmake variable. Reviewed-by: Anders Bakken --- mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf b/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf index f1b78c3..1ade6b9 100644 --- a/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf +++ b/mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf @@ -5,9 +5,11 @@ # default sb2 target is set appropriately, or you will have to append the # appropriate -t $target argument to sb2 -# You will probably want to set your PKG_CONFIG_PATH in order for the host -# pkg-config to correctly query and utilize your targets .pc files -# (normally stored in $staging/usr/lib/pkgconfig) +# If you want to use pkg-config you have to explicitly force it by passing +# -force-pkg-config to configure. You will probably want to export your +# PKG_CONFIG_PATH shell variable in order for the host pkg-config to +# correctly query and utilize your targets .pc files (normally stored in +# $staging/usr/lib/pkgconfig) MAKEFILE_GENERATOR = UNIX TEMPLATE = app -- cgit v0.12 From 495ba974b6f84205be48bfd478cc71d8078eceb2 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Wed, 14 Oct 2009 09:17:46 +1000 Subject: Explicitly request the alpha mask in the EGL configuration The EGL implementation used in S60/NGA for OpenVG does not return a configuration with alpha masking unless it is explicitly requested. Reviewed-by: Julian de Bhal --- src/openvg/qwindowsurface_vgegl.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/openvg/qwindowsurface_vgegl.cpp b/src/openvg/qwindowsurface_vgegl.cpp index 3ae911f..d622c1f 100644 --- a/src/openvg/qwindowsurface_vgegl.cpp +++ b/src/openvg/qwindowsurface_vgegl.cpp @@ -211,6 +211,10 @@ static QEglContext *createContext(QPaintDevice *device) int redSize = configProps.value(EGL_RED_SIZE); if (redSize == EGL_DONT_CARE || redSize == 0) configProps.setPixelFormat(QImage::Format_ARGB32); // XXX +#ifndef QVG_SCISSOR_CLIP + // If we are using the mask to clip, then explicitly request a mask. + configProps.setValue(EGL_ALPHA_MASK_SIZE, 1); +#endif #ifdef EGL_VG_ALPHA_FORMAT_PRE_BIT configProps.setValue(EGL_SURFACE_TYPE, EGL_WINDOW_BIT | EGL_PBUFFER_BIT | EGL_VG_ALPHA_FORMAT_PRE_BIT); -- cgit v0.12 From 9d58da36c9790e60aead8de4477c80332d3e0a62 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Wed, 14 Oct 2009 09:35:13 +1000 Subject: Improve scissor clipping in the OpenVG engine If the scissor is being used to clip instead of the mask, use the bounding rectangle of the clip path if it cannot be handled as a simple rectangle. Reviewed-by: trustme --- src/openvg/qpaintengine_vg.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index 2a506bb..e0c99d7 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -1554,6 +1554,10 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) QRectF rect(points[0], points[1], points[2] - points[0], points[5] - points[1]); clip(rect.toRect(), op); + } else { + // The best we can do is clip to the bounding rectangle + // of all control points. + clip(path.controlPointRect().toRect(), op); } } -- cgit v0.12 From c03d97cde16a398df8b4895672a94a015bf5ca5b Mon Sep 17 00:00:00 2001 From: Bill King Date: Wed, 14 Oct 2009 13:54:05 +1000 Subject: Remove excess spam from autotests when postgresql creates primary indexes. --- tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp | 2 ++ .../q3sqlselectcursor/tst_q3sqlselectcursor.cpp | 2 ++ tests/auto/qsqldatabase/tst_qsqldatabase.cpp | 23 ++++++++++++++++++++-- tests/auto/qsqldriver/tst_qsqldriver.cpp | 3 +++ tests/auto/qsqlquery/tst_qsqlquery.cpp | 5 +++++ tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp | 2 ++ tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp | 5 +++++ 7 files changed, 40 insertions(+), 2 deletions(-) diff --git a/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp b/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp index 6b580df..ecc0594 100644 --- a/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp +++ b/tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp @@ -137,6 +137,8 @@ void tst_Q3SqlCursor::createTestTables( QSqlDatabase db ) QVERIFY_SQL(q, exec("SET ANSI_DEFAULTS ON")); QVERIFY_SQL(q, exec("SET IMPLICIT_TRANSACTIONS OFF")); } + else if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); // please never ever change this table; otherwise fix all tests ;) if ( tst_Databases::isMSAccess( db ) ) { diff --git a/tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp b/tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp index 237f29d..68e8ce8 100644 --- a/tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp +++ b/tests/auto/q3sqlselectcursor/tst_q3sqlselectcursor.cpp @@ -107,6 +107,8 @@ void tst_Q3SqlSelectCursor::createTestTables( QSqlDatabase db ) if ( !db.isValid() ) return; QSqlQuery q( db ); + if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); // please never ever change this table; otherwise fix all tests ;) if (tst_Databases::isMSAccess(db)) QVERIFY_SQL(q, exec( "create table " + qTableName( "qtest" ) + " ( id int not null, t_varchar varchar(40) not null," diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp index 7149fab..13d68ff 100644 --- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp @@ -304,10 +304,11 @@ void tst_QSqlDatabase::createTestTables(QSqlDatabase db) // ### stupid workaround until we find a way to hardcode this // in the MySQL server startup script q.exec("set table_type=innodb"); - if (tst_Databases::isSqlServer(db)) { + else if (tst_Databases::isSqlServer(db)) { QVERIFY_SQL(q, exec("SET ANSI_DEFAULTS ON")); QVERIFY_SQL(q, exec("SET IMPLICIT_TRANSACTIONS OFF")); - } + } else if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); // please never ever change this table; otherwise fix all tests ;) if (tst_Databases::isMSAccess(db)) { @@ -334,6 +335,12 @@ void tst_QSqlDatabase::dropTestTables(QSqlDatabase db) { if (!db.isValid()) return; + + if(tst_Databases::isPostgreSQL(db)) { + QSqlQuery q(db); + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); + } + // drop the view first, otherwise we'll get dependency problems tst_Databases::safeDropViews(db, QStringList() << qTableName("qtest_view") << qTableName("qtest_view2")); @@ -1019,6 +1026,10 @@ void tst_QSqlDatabase::recordPSQL() }; QSqlQuery q(db); + + if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); + q.exec("drop sequence " + qTableName("qtestfields") + "_t_bigserial_seq"); q.exec("drop sequence " + qTableName("qtestfields") + "_t_serial_seq"); // older psql cut off the table name @@ -1494,6 +1505,11 @@ void tst_QSqlDatabase::psql_schemas() QSKIP("server does not support schemas", SkipSingle); QSqlQuery q(db); + + if(tst_Databases::isPostgreSQL(db)) { + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); + } + QVERIFY_SQL(q, exec("CREATE SCHEMA " + qTableName("qtestschema"))); QString table = qTableName("qtestschema") + '.' + qTableName("qtesttable"); @@ -1529,6 +1545,9 @@ void tst_QSqlDatabase::psql_escapedIdentifiers() QSqlQuery q(db); + if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); + QString schemaName = qTableName("qtestScHeMa"); QString tableName = qTableName("qtest"); QString field1Name = QString("fIeLdNaMe"); diff --git a/tests/auto/qsqldriver/tst_qsqldriver.cpp b/tests/auto/qsqldriver/tst_qsqldriver.cpp index 8fc38a7..5322b97 100644 --- a/tests/auto/qsqldriver/tst_qsqldriver.cpp +++ b/tests/auto/qsqldriver/tst_qsqldriver.cpp @@ -85,6 +85,9 @@ void tst_QSqlDriver::recreateTestTables(QSqlDatabase db) { QSqlQuery q(db); + if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); + tst_Databases::safeDropTable( db, qTableName( "relTEST1" ) ); QVERIFY_SQL( q, exec("create table " + qTableName("relTEST1") + diff --git a/tests/auto/qsqlquery/tst_qsqlquery.cpp b/tests/auto/qsqlquery/tst_qsqlquery.cpp index 5ed9cfa..546c105 100644 --- a/tests/auto/qsqlquery/tst_qsqlquery.cpp +++ b/tests/auto/qsqlquery/tst_qsqlquery.cpp @@ -333,6 +333,8 @@ void tst_QSqlQuery::createTestTables( QSqlDatabase db ) // ### stupid workaround until we find a way to hardcode this // in the MySQL server startup script q.exec( "set table_type=innodb" ); + else if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); if(tst_Databases::isPostgreSQL(db)) QVERIFY_SQL( q, exec( "create table " + qTableName( "qtest" ) + " (id serial NOT NULL, t_varchar varchar(20), t_char char(20), primary key(id)) WITH OIDS" ) ); @@ -1645,6 +1647,9 @@ void tst_QSqlQuery::prepare_bind_exec() QString createQuery; + if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); + if ( tst_Databases::isSqlServer( db ) || db.driverName().startsWith( "QTDS" ) ) createQuery = "create table " + qTableName( "qtest_prepare" ) + " (id int primary key, name nvarchar(20) null)"; else if ( db.driverName().startsWith( "QMYSQL" ) && useUnicode ) diff --git a/tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp b/tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp index 391219b..3131f35 100644 --- a/tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp +++ b/tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp @@ -158,6 +158,8 @@ void tst_QSqlQueryModel::createTestTables(QSqlDatabase db) { dropTestTables(db); QSqlQuery q(db); + if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); QVERIFY_SQL( q, exec("create table " + qTableName("test") + "(id integer not null, name varchar(20), title integer, primary key (id))")); QVERIFY_SQL( q, exec("create table " + qTableName("test2") + "(id integer not null, title varchar(20), primary key (id))")); QVERIFY_SQL( q, exec("create table " + qTableName("test3") + "(id integer not null, primary key (id))")); diff --git a/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp b/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp index 5405cb6..653d944 100644 --- a/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp +++ b/tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp @@ -143,6 +143,8 @@ void tst_QSqlTableModel::dropTestTables() for (int i = 0; i < dbs.dbNames.count(); ++i) { QSqlDatabase db = QSqlDatabase::database(dbs.dbNames.at(i)); QSqlQuery q(db); + if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); QStringList tableNames; tableNames << qTableName("test") @@ -659,6 +661,9 @@ void tst_QSqlTableModel::primaryKeyOrder() QSqlQuery q(db); + if(tst_Databases::isPostgreSQL(db)) + QVERIFY_SQL( q, exec("set client_min_messages='warning'")); + QVERIFY_SQL( q, exec("create table "+qTableName("foo")+"(a varchar(20), id int not null primary key, b varchar(20))")); QSqlTableModel model(0, db); -- cgit v0.12 From 3df2bfd8717fa4fc5eb3066fe2957210efedd4bf Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Wed, 14 Oct 2009 09:15:23 +0200 Subject: Build the embedded demos on X11 so they can be used by Maemo --- demos/demos.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/demos.pro b/demos/demos.pro index 4a9d451..5e400ea 100644 --- a/demos/demos.pro +++ b/demos/demos.pro @@ -26,7 +26,7 @@ SUBDIRS += demos_boxes } mac*: SUBDIRS += demos_macmainwindow -wince*|symbian|embedded: SUBDIRS += embedded +wince*|symbian|embedded|x11: SUBDIRS += embedded !contains(QT_EDITION, Console):!cross_compile:!embedded:!wince*:SUBDIRS += demos_arthurplugin -- cgit v0.12 From 47a2215b0e6fb3e588b2dd4824b9a9951fcae413 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Wed, 14 Oct 2009 09:22:22 +0200 Subject: Fix the install targets on the new embedded demos --- demos/embedded/anomaly/anomaly.pro | 5 +++++ demos/embedded/desktopservices/desktopservices.pro | 18 ++++++++++++++---- demos/embedded/digiflip/digiflip.pro | 4 ++++ demos/embedded/flickable/flickable.pro | 5 +++++ demos/embedded/flightinfo/flightinfo.pro | 5 +++++ demos/embedded/lightmaps/lightmaps.pro | 5 +++++ demos/embedded/raycasting/raycasting.pro | 5 +++++ demos/embedded/weatherinfo/weatherinfo.pro | 5 +++++ 8 files changed, 48 insertions(+), 4 deletions(-) diff --git a/demos/embedded/anomaly/anomaly.pro b/demos/embedded/anomaly/anomaly.pro index 8f2825b..2871ba7 100644 --- a/demos/embedded/anomaly/anomaly.pro +++ b/demos/embedded/anomaly/anomaly.pro @@ -29,3 +29,8 @@ symbian { TARGET.CAPABILITY = NetworkServices TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 } + +target.path = $$[QT_INSTALL_DEMOS]/embedded/anomaly +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro src/images +sources.path = $$[QT_INSTALL_DEMOS]/embedded/anomaly +INSTALLS += target sources diff --git a/demos/embedded/desktopservices/desktopservices.pro b/demos/embedded/desktopservices/desktopservices.pro index c160029c..bff7c46 100644 --- a/demos/embedded/desktopservices/desktopservices.pro +++ b/demos/embedded/desktopservices/desktopservices.pro @@ -8,15 +8,25 @@ SOURCES += desktopwidget.cpp contenttab.cpp linktab.cpp main.cpp RESOURCES += desktopservices.qrc music.sources = data/*.mp3 data/*.wav -music.path = /data/sounds/ - image.sources = data/*.png -image.path = /data/images/ -DEPLOYMENT += music image +target.path = $$[QT_INSTALL_DEMOS]/embedded/desktopservices +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro +sources.path = $$[QT_INSTALL_DEMOS]/embedded/desktopservices symbian { TARGET.UID3 = 0xA000C611 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) ICON = ./resources/heart.svg + music.path = /data/sounds/ + image.path = /data/images/ + DEPLOYMENT += music image +} + +wince*{ + music.path = "\My Documents\My Music" + image.path = "\My Documents\My Pictures" + DEPLOYMENT += music image } + +INSTALLS += target sources diff --git a/demos/embedded/digiflip/digiflip.pro b/demos/embedded/digiflip/digiflip.pro index 72cdc0f..4af9973 100644 --- a/demos/embedded/digiflip/digiflip.pro +++ b/demos/embedded/digiflip/digiflip.pro @@ -5,3 +5,7 @@ symbian { include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) } +target.path = $$[QT_INSTALL_DEMOS]/embedded/digiflip +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro +sources.path = $$[QT_INSTALL_DEMOS]/embedded/digiflip +INSTALLS += target sources diff --git a/demos/embedded/flickable/flickable.pro b/demos/embedded/flickable/flickable.pro index 731dcbe..1052330 100644 --- a/demos/embedded/flickable/flickable.pro +++ b/demos/embedded/flickable/flickable.pro @@ -5,3 +5,8 @@ symbian { TARGET.UID3 = 0xA000CF73 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) } + +target.path = $$[QT_INSTALL_DEMOS]/embedded/flickable +sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro +sources.path = $$[QT_INSTALL_DEMOS]/embedded/flickable +INSTALLS += target sources diff --git a/demos/embedded/flightinfo/flightinfo.pro b/demos/embedded/flightinfo/flightinfo.pro index 0a51287..8e5535c 100644 --- a/demos/embedded/flightinfo/flightinfo.pro +++ b/demos/embedded/flightinfo/flightinfo.pro @@ -12,3 +12,8 @@ symbian { LIBS += -lesock -lconnmon -linsock TARGET.CAPABILITY = NetworkServices } + +target.path = $$[QT_INSTALL_DEMOS]/embedded/flightinfo +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro +sources.path = $$[QT_INSTALL_DEMOS]/embedded/flightinfo +INSTALLS += target sources diff --git a/demos/embedded/lightmaps/lightmaps.pro b/demos/embedded/lightmaps/lightmaps.pro index cc78efa..c9bfa0a 100644 --- a/demos/embedded/lightmaps/lightmaps.pro +++ b/demos/embedded/lightmaps/lightmaps.pro @@ -10,3 +10,8 @@ symbian { TARGET.CAPABILITY = NetworkServices TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 } + +target.path = $$[QT_INSTALL_DEMOS]/embedded/lightmaps +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro +sources.path = $$[QT_INSTALL_DEMOS]/embedded/lightmaps +INSTALLS += target sources diff --git a/demos/embedded/raycasting/raycasting.pro b/demos/embedded/raycasting/raycasting.pro index 8dd8a24..82d0812 100644 --- a/demos/embedded/raycasting/raycasting.pro +++ b/demos/embedded/raycasting/raycasting.pro @@ -6,3 +6,8 @@ symbian { TARGET.UID3 = 0xA000CF76 include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) } + +target.path = $$[QT_INSTALL_DEMOS]/embedded/raycasting +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro +sources.path = $$[QT_INSTALL_DEMOS]/embedded/raycasting +INSTALLS += target sources diff --git a/demos/embedded/weatherinfo/weatherinfo.pro b/demos/embedded/weatherinfo/weatherinfo.pro index 54c3857..57f1684 100644 --- a/demos/embedded/weatherinfo/weatherinfo.pro +++ b/demos/embedded/weatherinfo/weatherinfo.pro @@ -11,3 +11,8 @@ symbian { LIBS += -lesock -lconnmon -linsock TARGET.CAPABILITY = NetworkServices } + +target.path = $$[QT_INSTALL_DEMOS]/embedded/weatherinfo +sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro +sources.path = $$[QT_INSTALL_DEMOS]/embedded/weatherinfo +INSTALLS += target sources -- cgit v0.12 From a98075a4f5795b3f84cd6bb028f80e84f5e6d00b Mon Sep 17 00:00:00 2001 From: Liang QI Date: Wed, 14 Oct 2009 10:01:04 +0200 Subject: Fix the autotest for S60, skip tst_QPainter::drawClippedEllipse(). RevBy: Janne Anttila --- tests/auto/qpainter/tst_qpainter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qpainter/tst_qpainter.cpp b/tests/auto/qpainter/tst_qpainter.cpp index 9515d87..e4f267d 100644 --- a/tests/auto/qpainter/tst_qpainter.cpp +++ b/tests/auto/qpainter/tst_qpainter.cpp @@ -1554,7 +1554,7 @@ void tst_QPainter::drawClippedEllipse_data() void tst_QPainter::drawClippedEllipse() { QFETCH(QRect, rect); -#if defined(Q_OS_WINCE) +#if defined(Q_OS_WINCE) || defined(Q_OS_SYMBIAN) if (sizeof(qreal) != sizeof(double)) QSKIP("Test only works for qreal==double", SkipAll); #endif -- cgit v0.12 From efba0372add3a080acafc30663b28e72ef72e435 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Wed, 14 Oct 2009 10:27:01 +0200 Subject: qdoc: Made the \sincelist command produce better html. --- doc/src/qt4-intro.qdoc | 5 +- tools/qdoc3/htmlgenerator.cpp | 157 ++++++++++++++++++++++++++---------------- tools/qdoc3/htmlgenerator.h | 9 +-- 3 files changed, 105 insertions(+), 66 deletions(-) diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index e37d327..cecff0e 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -664,9 +664,10 @@ See the \l{QtMultimedia Module} documentation for more information. - \section1 Classes, functions, etc new in 4.6 + \section1 New Classes, Functions, Macros, etc - Links to classes, functions, and other items that are new in 4.6. + Links to new classes, functions, macros, and other items + introduced in Qt 4.6. \sincelist 4.6 diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index 033c62c..c02dc2e 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -672,18 +672,18 @@ int HtmlGenerator::generateAtom(const Atom *atom, break; case Atom::SinceList: { - NodeMultiMapMap::const_iterator v; - v = nodeMultiMapMap.find(atom->string()); - NodeMapMap::const_iterator nc; - nc = nodeMapMap.find(atom->string()); - if ((v != nodeMultiMapMap.constEnd()) && !v.value().isEmpty()) { + NewSinceMaps::const_iterator nsmap; + nsmap = newSinceMaps.find(atom->string()); + NewClassMaps::const_iterator ncmap; + ncmap = newClassMaps.find(atom->string()); + if ((nsmap != newSinceMaps.constEnd()) && !nsmap.value().isEmpty()) { QList
      sections; QList
      ::ConstIterator s; for (int i=0; itype()) { case Node::Namespace: @@ -741,35 +741,63 @@ int HtmlGenerator::generateAtom(const Atom *atom, } ++n; } + + /* + First generate the table of contents. + */ + out() << "
        \n"; + s = sections.constBegin(); + while (s != sections.constEnd()) { + if (!(*s).members.isEmpty()) { + + out() << "
      • " + << "" + << (*s).name + << "
      • \n"; + } + ++s; + } + out() << "
      \n"; + int idx = 0; s = sections.constBegin(); while (s != sections.constEnd()) { if (!(*s).members.isEmpty()) { out() << "\n"; out() << "

      " << protect((*s).name) << "

      \n"; if (idx == Class) - generateCompactList(0, marker, nc.value(), QString("Q")); + generateCompactList(0, marker, ncmap.value(), QString("Q")); else if (idx == MemberFunction) { - NodeMultiMapMap nodemultimapmap; - NodeMultiMapMap::iterator nmmap; + ParentMaps parentmaps; + ParentMaps::iterator pmap; NodeList::const_iterator i = s->members.constBegin(); while (i != s->members.constEnd()) { Node* p = (*i)->parent(); - nmmap = nodemultimapmap.find(p->name()); - if (nmmap == nodemultimapmap.end()) - nmmap = nodemultimapmap.insert(p->name(),NodeMultiMap()); - nmmap->insert((*i)->name(),(*i)); + pmap = parentmaps.find(p); + if (pmap == parentmaps.end()) + pmap = parentmaps.insert(p,NodeMultiMap()); + pmap->insert((*i)->name(),(*i)); ++i; } - nmmap = nodemultimapmap.begin(); - while (nmmap != nodemultimapmap.end()) { - NodeList nlist = nmmap->values(); - out() << "

      New functions in " << protect(nmmap.key()) << ":

      \n"; + pmap = parentmaps.begin(); + while (pmap != parentmaps.end()) { + NodeList nlist = pmap->values(); + out() << "

      Class "; + + out() << ""; + QStringList pieces = fullName(pmap.key(), 0, marker).split("::"); + out() << protect(pieces.last()); + out() << "" << ":

      \n"; + generateSection(nlist, 0, marker, CodeMarker::Summary); out() << "
      "; - ++nmmap; + ++pmap; } } else @@ -1124,7 +1152,10 @@ int HtmlGenerator::generateAtom(const Atom *atom, } if (node) - generateTableOfContents(node, marker, sectioningUnit, numColumns, + generateTableOfContents(node, + marker, + sectioningUnit, + numColumns, relative); } break; @@ -2112,7 +2143,8 @@ void HtmlGenerator::generateCompactList(const Node *relative, /* If commonPrefix is not empty, then the caller knows what - the common prefix is, so just use that. + the common prefix is and has passed it in, so just use that + one. */ int commonPrefixLen = commonPrefix.length(); if (commonPrefixLen == 0) { @@ -2120,10 +2152,15 @@ void HtmlGenerator::generateCompactList(const Node *relative, QString last; /* - First, find out the common prefix of all non-namespaced - classes. For Qt, the prefix is Q. It can easily be derived - from the first and last classes in alphabetical order - (QAccel and QXtWidget in Qt 2.1). + The caller didn't pass in a common prefix, so get the common + prefix by looking at the class names of the first and last + classes in the class map. Discard any namespace names and + just use the bare class names. For Qt, the prefix is "Q". + + Note that the algorithm used here to derive the common prefix + from the first and last classes in alphabetical order (QAccel + and QXtWidget in Qt 2.1), fails if either class name does not + begin with Q. */ NodeMap::const_iterator iter = classMap.begin(); @@ -2164,8 +2201,7 @@ void HtmlGenerator::generateCompactList(const Node *relative, Divide the data into 37 paragraphs: 0, ..., 9, A, ..., Z, underscore (_). QAccel will fall in paragraph 10 (A) and QXtWidget in paragraph 33 (X). This is the only place where we - assume that NumParagraphs is 37. Each paragraph is a - NodeMap. + assume that NumParagraphs is 37. Each paragraph is a NodeMap. */ NodeMap paragraph[NumParagraphs+1]; QString paragraphName[NumParagraphs+1]; @@ -3644,53 +3680,54 @@ void HtmlGenerator::findAllClasses(const InnerNode *node) } /*! - For generating the "Since x.y" page. + For generating the "New Classes... in 4.6" section on the + What's New in 4.6" page. */ void HtmlGenerator::findAllSince(const InnerNode *node) { - NodeList::const_iterator c = node->childNodes().constBegin(); - while (c != node->childNodes().constEnd()) { - QString sinceVersion = (*c)->since(); - if (((*c)->access() != Node::Private) && !sinceVersion.isEmpty()) { - NodeMultiMapMap::iterator vmap = nodeMultiMapMap.find(sinceVersion); - if (vmap == nodeMultiMapMap.end()) - vmap = nodeMultiMapMap.insert(sinceVersion,NodeMultiMap()); - NodeMapMap::iterator ncmap = nodeMapMap.find(sinceVersion); - if (ncmap == nodeMapMap.end()) - ncmap = nodeMapMap.insert(sinceVersion,NodeMap()); + NodeList::const_iterator child = node->childNodes().constBegin(); + while (child != node->childNodes().constEnd()) { + QString sinceVersion = (*child)->since(); + if (((*child)->access() != Node::Private) && !sinceVersion.isEmpty()) { + NewSinceMaps::iterator nsmap = newSinceMaps.find(sinceVersion); + if (nsmap == newSinceMaps.end()) + nsmap = newSinceMaps.insert(sinceVersion,NodeMultiMap()); + NewClassMaps::iterator ncmap = newClassMaps.find(sinceVersion); + if (ncmap == newClassMaps.end()) + ncmap = newClassMaps.insert(sinceVersion,NodeMap()); - if ((*c)->type() == Node::Function) { - FunctionNode *func = static_cast(*c); + if ((*child)->type() == Node::Function) { + FunctionNode *func = static_cast(*child); if ((func->status() > Node::Obsolete) && (func->metaness() != FunctionNode::Ctor) && (func->metaness() != FunctionNode::Dtor)) { - vmap.value().insert(func->name(),(*c)); + nsmap.value().insert(func->name(),(*child)); } } - else if ((*c)->url().isEmpty()) { - if ((*c)->type() == Node::Class && !(*c)->doc().isEmpty()) { - QString className = (*c)->name(); - if ((*c)->parent() && - (*c)->parent()->type() == Node::Namespace && - !(*c)->parent()->name().isEmpty()) - className = (*c)->parent()->name()+"::"+className; - vmap.value().insert(className,(*c)); - ncmap.value().insert(className,(*c)); + else if ((*child)->url().isEmpty()) { + if ((*child)->type() == Node::Class && !(*child)->doc().isEmpty()) { + QString className = (*child)->name(); + if ((*child)->parent() && + (*child)->parent()->type() == Node::Namespace && + !(*child)->parent()->name().isEmpty()) + className = (*child)->parent()->name()+"::"+className; + nsmap.value().insert(className,(*child)); + ncmap.value().insert(className,(*child)); } } else { - QString name = (*c)->name(); - if ((*c)->parent() && - (*c)->parent()->type() == Node::Namespace && - !(*c)->parent()->name().isEmpty()) - name = (*c)->parent()->name()+"::"+name; - vmap.value().insert(name,(*c)); + QString name = (*child)->name(); + if ((*child)->parent() && + (*child)->parent()->type() == Node::Namespace && + !(*child)->parent()->name().isEmpty()) + name = (*child)->parent()->name()+"::"+name; + nsmap.value().insert(name,(*child)); } - if ((*c)->isInnerNode()) { - findAllSince(static_cast(*c)); + if ((*child)->isInnerNode()) { + findAllSince(static_cast(*child)); } } - ++c; + ++child; } } diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h index fabfed1..40117df 100644 --- a/tools/qdoc3/htmlgenerator.h +++ b/tools/qdoc3/htmlgenerator.h @@ -68,9 +68,10 @@ struct NavigationBar #endif typedef QMultiMap NodeMultiMap; -typedef QMap NodeMultiMapMap; +typedef QMap NewSinceMaps; +typedef QMap ParentMaps; typedef QMap NodeMap; -typedef QMap NodeMapMap; +typedef QMap NewClassMaps; class HelpProjectWriter; @@ -311,9 +312,9 @@ class HtmlGenerator : public PageGenerator #endif QMap funcIndex; QMap legaleseTexts; - NodeMultiMapMap nodeMultiMapMap; + NewSinceMaps newSinceMaps; static QString sinceTitles[]; - NodeMapMap nodeMapMap; + NewClassMaps newClassMaps; }; #define HTMLGENERATOR_ADDRESS "address" -- cgit v0.12 From 252fa3d8fa159791a0762a3e02c1594a34a104af Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Wed, 14 Oct 2009 10:39:05 +0200 Subject: QNAM HTTP Code: Backport a fix related to aborting replies Backport af71faf8cb2c9cbf34c408b81ce7ae1ef6c6403e from 4.6 to 4.5. Task-number: 261999 Reviewed-by: Peter Hartmann --- src/network/access/qhttpnetworkconnection.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index aef1258..d747345 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -954,7 +954,10 @@ void QHttpNetworkConnectionPrivate::removeReply(QHttpNetworkReply *reply) for (int i = 0; i < channelCount; ++i) { if (channels[i].reply == reply) { channels[i].reply = 0; - if (reply->d_func()->connectionCloseEnabled()) + // if HTTP mandates we should close + // or the reply is not finished yet, e.g. it was aborted + // we have to close that connection + if (reply->d_func()->connectionCloseEnabled() || !reply->isFinished()) closeChannel(i); QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection); return; -- cgit v0.12 From 4ee954db7f99ba7021b4b825852fe56c3bcb022c Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 14 Oct 2009 11:17:00 +0200 Subject: Compile the QTableView test on Mac Reviewed-by: Gabriel --- tests/auto/qtableview/tst_qtableview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index 5b11823..78a0dfd 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -3783,7 +3783,7 @@ void tst_QTableView::task234926_setHeaderSorting() QStringList sortedDataA = data; QStringList sortedDataD = data; qSort(sortedDataA); - qSort(sortedDataD.begin(), sortedDataD.end(), qGreater()); + qSort(sortedDataD.begin(), sortedDataD.end(), qGreater()); model.setStringList(data); QTableView view; view.setModel(&model); -- cgit v0.12 From 2fc228b4d2fbe6ca44389e9e065272030775c87b Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Wed, 14 Oct 2009 11:28:47 +0200 Subject: Cocoa: qfiledialog will not exit cleanly The native filedialog will not exit if it is told to hide. To remedy this, we just add an extra interrupt call so to inform the event dispatcher that it needs to return the the event loop to check if it has been told to quit Rev-By: olivier --- src/gui/dialogs/qfiledialog_mac.mm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/dialogs/qfiledialog_mac.mm b/src/gui/dialogs/qfiledialog_mac.mm index 3a4ecce..8e4c461 100644 --- a/src/gui/dialogs/qfiledialog_mac.mm +++ b/src/gui/dialogs/qfiledialog_mac.mm @@ -62,6 +62,7 @@ #include #include #include +#include #include "ui_qfiledialog.h" QT_BEGIN_NAMESPACE @@ -245,6 +246,8 @@ QT_USE_NAMESPACE mReturnCode = [mSavePanel runModalForDirectory:mCurrentDir file:selectable ? filename : @"untitled"]; + + QAbstractEventDispatcher::instance()->interrupt(); return (mReturnCode == NSOKButton); } -- cgit v0.12 From f151424797794cba5a3fdaf628eabaa75a5e7801 Mon Sep 17 00:00:00 2001 From: Pierre Rossi Date: Wed, 14 Oct 2009 11:30:43 +0200 Subject: Make the autotest pass for descending order in QTableWidget It failed after this commit: 19030e2af098e319e3c3f3883c51e28364bf3ccf Reviewed-by: ogoffart --- src/gui/itemviews/qtablewidget.cpp | 2 +- src/gui/itemviews/qtreewidget.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/itemviews/qtablewidget.cpp b/src/gui/itemviews/qtablewidget.cpp index 65758b8..21c4e0a 100644 --- a/src/gui/itemviews/qtablewidget.cpp +++ b/src/gui/itemviews/qtablewidget.cpp @@ -571,7 +571,7 @@ void QTableModel::ensureSorted(int column, Qt::SortOrder order, colItems.remove(oldRow); vit = sortedInsertionIterator(vit, colItems.end(), order, item); int newRow = qMax((int)(vit - colItems.begin()), 0); - if ((newRow < oldRow) && !(*item < *colItems.at(oldRow - 1))) + if ((newRow < oldRow) && !(*item < *colItems.at(oldRow - 1)) && !(*colItems.at(oldRow - 1) < *item)) newRow = oldRow; vit = colItems.insert(vit, item); if (newRow != oldRow) { diff --git a/src/gui/itemviews/qtreewidget.cpp b/src/gui/itemviews/qtreewidget.cpp index 06342d8..040c498 100644 --- a/src/gui/itemviews/qtreewidget.cpp +++ b/src/gui/itemviews/qtreewidget.cpp @@ -623,7 +623,7 @@ void QTreeModel::ensureSorted(int column, Qt::SortOrder order, lit = sortedInsertionIterator(lit, lst.end(), order, item); int newRow = qMax(lit - lst.begin(), 0); - if ((newRow < oldRow) && !(*item < *lst.at(oldRow - 1))) + if ((newRow < oldRow) && !(*item < *lst.at(oldRow - 1)) && !(*lst.at(oldRow - 1) < *item )) newRow = oldRow; lit = lst.insert(lit, item); -- cgit v0.12 From 09afb304b21be21864036d39522d4418fe243b0b Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Wed, 14 Oct 2009 11:37:50 +0200 Subject: Make the test working on random directories so we are sure there was no crap before. Reviewed-by:ogoffart --- .../auto/qfilesystemmodel/tst_qfilesystemmodel.cpp | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp index 3b24352..f2d9017 100644 --- a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp +++ b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp @@ -806,21 +806,13 @@ void tst_QFileSystemModel::sort() myModel->d_func()->disableRecursiveSort = true; QDir dir(QDir::tempPath()); - dir.mkdir("sortTemp"); - dir.cd("sortTemp"); + //initialize the randomness + qsrand(QDateTime::currentDateTime().toTime_t()); + QString tempName = QLatin1String("sortTemp.") + QString::number(qrand()); + dir.mkdir(tempName); + dir.cd(tempName); QTRY_VERIFY(dir.exists()); - //To be sure we clean the dir if it was there before - QDirIterator it(dir.absolutePath(), QDir::NoDotAndDotDot); - while(it.hasNext()) - { - it.next(); - QFileInfo info = it.fileInfo(); - if (info.isDir()) - dir.rmdir(info.fileName()); - else - QFile::remove(info.absoluteFilePath()); - } const QString dirPath = dir.absolutePath(); QVERIFY(dir.exists()); @@ -882,11 +874,11 @@ void tst_QFileSystemModel::sort() delete myModel; dir.setPath(QDir::tempPath()); - dir.cd("sortTemp"); + dir.cd(tempName); tempFile.remove(); tempFile2.remove(); dir.cdUp(); - dir.rmdir("sortTemp"); + dir.rmdir(tempName); } -- cgit v0.12 From edcc782002c8b93e60dabfc0859c209a4eeedf10 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 14 Oct 2009 12:56:36 +0300 Subject: Removed platform specific include from qprocess.h It wasn't necessary to have a Symbian specific include in qprocess.h, as 64-bit integer will work as pid also in Symbian. Task-number: QT-2266 Reviewed-by: Janne Anttila --- src/corelib/io/qprocess.cpp | 8 ++++++-- src/corelib/io/qprocess.h | 7 +------ src/corelib/io/qprocess_p.h | 3 +++ src/corelib/io/qprocess_symbian.cpp | 6 +++--- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index a6a61dd..37161bc 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -97,6 +97,10 @@ QT_END_NAMESPACE #include #endif +#ifdef Q_OS_SYMBIAN +#include +#endif + #ifndef QT_NO_PROCESS QT_BEGIN_NAMESPACE @@ -412,7 +416,7 @@ void QProcessPrivate::Channel::clear() } /*! \fn bool QProcessPrivate::startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory, qint64 *pid) - + \internal */ @@ -2238,7 +2242,7 @@ QProcessEnvironment QProcessEnvironment::systemEnvironment() \relates QProcess Typedef for the identifiers used to represent processes on the underlying - platform. On Unix, this corresponds to \l qint64; on Windows, it + platform. On Unix and Symbian, this corresponds to \l qint64; on Windows, it corresponds to \c{_PROCESS_INFORMATION*}. \sa QProcess::pid() diff --git a/src/corelib/io/qprocess.h b/src/corelib/io/qprocess.h index 09a6fc8..ffcd5de 100644 --- a/src/corelib/io/qprocess.h +++ b/src/corelib/io/qprocess.h @@ -54,13 +54,8 @@ QT_MODULE(Core) #ifndef QT_NO_PROCESS -#if (!defined(Q_OS_WIN32) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)) || defined(qdoc) +#if (!defined(Q_OS_WIN32) && !defined(Q_OS_WINCE)) || defined(qdoc) typedef qint64 Q_PID; -#elif defined(Q_OS_SYMBIAN) -QT_END_NAMESPACE -# include -QT_BEGIN_NAMESPACE -typedef TProcessId Q_PID; #else QT_END_NAMESPACE typedef struct _PROCESS_INFORMATION *Q_PID; diff --git a/src/corelib/io/qprocess_p.h b/src/corelib/io/qprocess_p.h index 8092792..09be544 100644 --- a/src/corelib/io/qprocess_p.h +++ b/src/corelib/io/qprocess_p.h @@ -77,6 +77,9 @@ class QSocketNotifier; class QWindowsPipeWriter; class QWinEventNotifier; class QTimer; +#if defined(Q_OS_SYMBIAN) +class RProcess; +#endif class QProcessEnvironmentPrivate: public QSharedData { diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp index f5de750..1f5117f 100644 --- a/src/corelib/io/qprocess_symbian.cpp +++ b/src/corelib/io/qprocess_symbian.cpp @@ -791,7 +791,7 @@ void QProcessPrivate::startProcess() TInt err = qt_create_symbian_process(&symbianProcess, program, arguments); if (err == KErrNone) { - pid = symbianProcess->Id(); + pid = symbianProcess->Id().Id(); ::fcntl(deathPipe[0], F_SETFL, ::fcntl(deathPipe[0], F_GETFL) | O_NONBLOCK); @@ -816,7 +816,7 @@ void QProcessPrivate::startProcess() symbianProcess->Resume(); - QPROCESS_DEBUG_PRINT("QProcessPrivate::startProcess(): this: 0x%x, pid: %d", this, (TUint)pid); + QPROCESS_DEBUG_PRINT("QProcessPrivate::startProcess(): this: 0x%x, pid: %ld", this, pid); // Notify child start _q_startupNotification(); @@ -1021,7 +1021,7 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a if (err == KErrNone) { if (pid) - *pid = (qint64)newProc->Id(); + *pid = newProc->Id().Id(); newProc->Resume(); newProc->Close(); -- cgit v0.12 From 73bf8967c604054baaa9f80640f44dc82e5d7220 Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Wed, 14 Oct 2009 11:56:11 +0200 Subject: Bump heap and stack size for Phonon plugins. This is required by the Helix plugin. As discussed with Dallas team/Fu Liz. Reviewed-by: Shane Kearns --- mkspecs/features/qt.prf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 2b2a42c..7f7d882 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -163,6 +163,11 @@ for(QTLIB, $$list($$lower($$unique(QT)))) { INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon_compat/phonon INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon_compat INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon/Phonon + + # The Helix backend requires this. Since we can't let a plugin set it, + # we bump the values for all Symbian Phonon plugins. + symbian:isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x040000 0x1600000 + } else:isEqual(QTLIB, webkit):qlib = QtWebKit else:isEqual(QTLIB, multimedia):qlib = QtMultimedia else:message("Unknown QT: $$QTLIB"):qlib = -- cgit v0.12 From 1c20d834c004bb57b1f2274c10a9f983b32fda1f Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Wed, 14 Oct 2009 12:45:47 +0200 Subject: doc: Replaced \obsolete with \warning. Warning: This class is provided only to get access to S60 specific functionality in the application framework classes. It is not portable. We strongly recommend against using it in new applications. --- src/gui/s60framework/qs60mainapplication.cpp | 47 +++++++++++++++------------- src/gui/s60framework/qs60mainappui.cpp | 44 +++++++++++++++----------- src/gui/s60framework/qs60maindocument.cpp | 44 +++++++++++++++----------- 3 files changed, 76 insertions(+), 59 deletions(-) diff --git a/src/gui/s60framework/qs60mainapplication.cpp b/src/gui/s60framework/qs60mainapplication.cpp index 2973c97..82e7743 100644 --- a/src/gui/s60framework/qs60mainapplication.cpp +++ b/src/gui/s60framework/qs60mainapplication.cpp @@ -60,27 +60,32 @@ CApaApplication *newS60Application() _LIT(KQtWrapperResourceFile, "\\resource\\apps\\s60main.rsc"); /*! - * \class QS60MainApplication - * \obsolete - * \since 4.6 - * \brief The QS60MainApplication class provides support for migration from S60. - * - * The QS60MainApplication provides a helper class for use in migrating from existing S60 based - * applications to Qt based applications. It is used in the exact same way as the - * \c CAknApplication class from Symbian, but internally provides extensions used by Qt. - * - * When modifying old S60 applications that rely on implementing functions in \c CAknApplication, - * the class should be modified to inherit from this class instead of \c CAknApplication. Then the - * application can choose to override only certain functions. To make Qt use the custom application - * objects, pass a factory function to - * QApplication::QApplication(QApplication::QS60MainApplicationFactory, int &, char **). - * - * For more information on \c CAknApplication, please see the S60 documentation. - * - * Unlike other Qt classes, QS60MainApplication behaves like an S60 class, and can throw Symbian - * leaves. - * - * \sa QS60MainDocument, QS60MainAppUi, QApplication::QS60MainApplicationFactory + \class QS60MainApplication + \since 4.6 + \brief The QS60MainApplication class provides support for migration from S60. + + \warning This class is provided only to get access to S60 specific + functionality in the application framework classes. It is not + portable. We strongly recommend against using it in new applications. + + The QS60MainApplication provides a helper class for use in migrating + from existing S60 based applications to Qt based applications. It is + used in the exact same way as the \c CAknApplication class from + Symbian, but internally provides extensions used by Qt. + + When modifying old S60 applications that rely on implementing + functions in \c CAknApplication, the class should be modified to + inherit from this class instead of \c CAknApplication. Then the + application can choose to override only certain functions. To make + Qt use the custom application objects, pass a factory function to + \c{QApplication::QApplication(QApplication::QS60MainApplicationFactory, int &, char **)}. + + For more information on \c CAknApplication, please see the S60 documentation. + + Unlike other Qt classes, QS60MainApplication behaves like an S60 class, and can throw Symbian + leaves. + + \sa QS60MainDocument, QS60MainAppUi, QApplication::QS60MainApplicationFactory */ /*! diff --git a/src/gui/s60framework/qs60mainappui.cpp b/src/gui/s60framework/qs60mainappui.cpp index d8181f8..611ca59 100644 --- a/src/gui/s60framework/qs60mainappui.cpp +++ b/src/gui/s60framework/qs60mainappui.cpp @@ -58,25 +58,31 @@ QT_BEGIN_NAMESPACE /*! - * \class QS60MainAppUi - * \obsolete - * \since 4.6 - * \brief Helper class for S60 migration - * - * The QS60MainAppUi provides a helper class for use in migrating from existing S60 based - * applications to Qt based applications. It is used in the exact same way as the - * \c CAknAppUi class from Symbian, but internally provides extensions used by Qt. - * - * When modifying old S60 applications that rely on implementing functions in \c CAknAppUi, - * the class should be modified to inherit from this class instead of \c CAknAppUi. Then the - * application can choose to override only certain functions. - * - * For more information on \c CAknAppUi, please see the S60 documentation. - * - * Unlike other Qt classes, QS60MainAppUi behaves like an S60 class, and can throw Symbian - * leaves. - * - * \sa QS60MainDocument, QS60MainApplication + \class QS60MainAppUi + \since 4.6 + \brief Helper class for S60 migration + + \warning This class is provided only to get access to S60 specific + functionality in the application framework classes. It is not + portable. We strongly recommend against using it in new applications. + + The QS60MainAppUi provides a helper class for use in migrating from + existing S60 based applications to Qt based applications. It is used + in the exact same way as the \c CAknAppUi class from Symbian, but + internally provides extensions used by Qt. + + When modifying old S60 applications that rely on implementing + functions in \c CAknAppUi, the class should be modified to inherit + from this class instead of \c CAknAppUi. Then the application can + choose to override only certain functions. + + For more information on \c CAknAppUi, please see the S60 + documentation. + + Unlike other Qt classes, QS60MainAppUi behaves like an S60 class, + and can throw Symbian leaves. + + \sa QS60MainDocument, QS60MainApplication */ /*! diff --git a/src/gui/s60framework/qs60maindocument.cpp b/src/gui/s60framework/qs60maindocument.cpp index 52595db..54df17e 100644 --- a/src/gui/s60framework/qs60maindocument.cpp +++ b/src/gui/s60framework/qs60maindocument.cpp @@ -47,25 +47,31 @@ QT_BEGIN_NAMESPACE /*! - * \class QS60MainDocument - * \obsolete - * \since 4.6 - * \brief Helper class for S60 migration - * - * The QS60MainDocument provides a helper class for use in migrating from existing S60 based - * applications to Qt based applications. It is used in the exact same way as the - * \c CAknDocument class from Symbian, but internally provides extensions used by Qt. - * - * When modifying old S60 applications that rely on implementing functions in \c CAknDocument, - * the class should be modified to inherit from this class instead of \c CAknDocument. Then the - * application can choose to override only certain functions. - * - * For more information on \c CAknDocument, please see the S60 documentation. - * - * Unlike other Qt classes, QS60MainDocument behaves like an S60 class, and can throw Symbian - * leaves. - * - * \sa QS60MainApplication, QS60MainAppUi + \class QS60MainDocument + \since 4.6 + \brief Helper class for S60 migration + + \warning This class is provided only to get access to S60 specific + functionality in the application framework classes. It is not + portable. We strongly recommend against using it in new applications. + + The QS60MainDocument provides a helper class for use in migrating + from existing S60 based applications to Qt based applications. It is + used in the exact same way as the \c CAknDocument class from + Symbian, but internally provides extensions used by Qt. + + When modifying old S60 applications that rely on implementing + functions in \c CAknDocument, the class should be modified to + inherit from this class instead of \c CAknDocument. Then the + application can choose to override only certain functions. + + For more information on \c CAknDocument, please see the S60 + documentation. + + Unlike other Qt classes, QS60MainDocument behaves like an S60 class, + and can throw Symbian leaves. + + \sa QS60MainApplication, QS60MainAppUi */ /*! -- cgit v0.12 From f19ee77f9f87adec826cf84d10d95b653743777e Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Wed, 14 Oct 2009 11:56:11 +0200 Subject: Bump heap and stack size for Phonon plugins. This is required by the Helix plugin. As discussed with Dallas team/Fu Liz. Reviewed-by: Shane Kearns --- mkspecs/features/qt.prf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 2b2a42c..7f7d882 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -163,6 +163,11 @@ for(QTLIB, $$list($$lower($$unique(QT)))) { INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon_compat/phonon INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon_compat INCLUDEPATH += $$QMAKE_INCDIR_QT/phonon/Phonon + + # The Helix backend requires this. Since we can't let a plugin set it, + # we bump the values for all Symbian Phonon plugins. + symbian:isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x040000 0x1600000 + } else:isEqual(QTLIB, webkit):qlib = QtWebKit else:isEqual(QTLIB, multimedia):qlib = QtMultimedia else:message("Unknown QT: $$QTLIB"):qlib = -- cgit v0.12 From 9b9e8ece43cf50a295a2a41f161be4231605e0b5 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Wed, 14 Oct 2009 13:32:27 +0200 Subject: Split QFileDialog auto-tests in two separate dirs. This will allow slow machines to complete those tests before being killed by pulse. Reviewed-by:TrustMe --- tests/auto/qfiledialog/tst_qfiledialog.cpp | 867 ---------------------- tests/auto/qfiledialog2/qfiledialog2.pro | 27 + tests/auto/qfiledialog2/tst_qfiledialog2.cpp | 1006 ++++++++++++++++++++++++++ 3 files changed, 1033 insertions(+), 867 deletions(-) create mode 100644 tests/auto/qfiledialog2/qfiledialog2.pro create mode 100644 tests/auto/qfiledialog2/tst_qfiledialog2.cpp diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp index dc2ca61..2f9410b 100644 --- a/tests/auto/qfiledialog/tst_qfiledialog.cpp +++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp @@ -140,36 +140,6 @@ private slots: void clearLineEdit(); void enableChooseButton(); void hooks(); - void listRoot(); - void heapCorruption(); - void deleteDirAndFiles(); - void filter(); - void showNameFilterDetails(); - void unc(); - void emptyUncPath(); - - void task178897_minimumSize(); - void task180459_lastDirectory_data(); - void task180459_lastDirectory(); - void task227304_proxyOnFileDialog(); - void task227930_correctNavigationKeyboardBehavior(); -#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) - void task226366_lowerCaseHardDriveWindows(); -#endif - void task233037_selectingDirectory(); - void task235069_hideOnEscape(); - void task236402_dontWatchDeletedDir(); - void task203703_returnProperSeparator(); - void task228844_ensurePreviousSorting(); - void task239706_editableFilterCombo(); - void task218353_relativePaths(); - void task251321_sideBarHiddenEntries(); - void task251341_sideBarRemoveEntries(); - void task254490_selectFileMultipleTimes(); - void task257579_sideBarWithNonCleanUrls(); - void task259105_filtersCornerCases(); - - void QTBUG4419_lineEditSelectAll(); private: QByteArray userSettings; @@ -1345,842 +1315,5 @@ void tst_QFiledialog::hooks() QCOMPARE(QFileDialog::getSaveFileName(), QString("saveName")); } -void tst_QFiledialog::listRoot() -{ -#if defined QT_BUILD_INTERNAL - QFileInfoGatherer::fetchedRoot = false; - QString dir(QDir::currentPath()); - QNonNativeFileDialog fd(0, QString(), dir); - fd.show(); - QCOMPARE(QFileInfoGatherer::fetchedRoot,false); - fd.setDirectory(""); - QTest::qWait(500); - QCOMPARE(QFileInfoGatherer::fetchedRoot,true); -#endif -} - -void tst_QFiledialog::heapCorruption() -{ - QVector dialogs; - for (int i=0; i < 10; i++) { - QNonNativeFileDialog *f = new QNonNativeFileDialog(NULL); - dialogs << f; - } - qDeleteAll(dialogs); -} - -struct FriendlyQFileDialog : public QFileDialog -{ - friend class tst_QFileDialog; - Q_DECLARE_PRIVATE(QFileDialog) -}; - - -void tst_QFiledialog::deleteDirAndFiles() -{ -#if defined QT_BUILD_INTERNAL - QString tempPath = QDir::tempPath() + '/' + "QFileDialogTestDir4FullDelete"; - QDir dir; - QVERIFY(dir.mkpath(tempPath + "/foo")); - QVERIFY(dir.mkpath(tempPath + "/foo/B")); - QVERIFY(dir.mkpath(tempPath + "/foo/B")); - QVERIFY(dir.mkpath(tempPath + "/foo/c")); - QVERIFY(dir.mkpath(tempPath + "/bar")); - QFile(tempPath + "/foo/a"); - QTemporaryFile *t; - t = new QTemporaryFile(tempPath + "/foo/aXXXXXX"); - t->setAutoRemove(false); - t->open(); - t->close(); - delete t; - - t = new QTemporaryFile(tempPath + "/foo/B/yXXXXXX"); - t->setAutoRemove(false); - t->open(); - t->close(); - delete t; - FriendlyQFileDialog fd; - fd.setOption(QFileDialog::DontUseNativeDialog); - fd.d_func()->removeDirectory(tempPath); - QFileInfo info(tempPath); - QTest::qWait(2000); - QVERIFY(!info.exists()); -#endif -} - -void tst_QFiledialog::filter() -{ - QNonNativeFileDialog fd; - QAction *hiddenAction = qFindChild(&fd, "qt_show_hidden_action"); - QVERIFY(hiddenAction); - QVERIFY(hiddenAction->isEnabled()); - QVERIFY(!hiddenAction->isChecked()); - QDir::Filters filter = fd.filter(); - filter |= QDir::Hidden; - fd.setFilter(filter); - QVERIFY(hiddenAction->isChecked()); -} - -void tst_QFiledialog::showNameFilterDetails() -{ - QNonNativeFileDialog fd; - QComboBox *filters = qFindChild(&fd, "fileTypeCombo"); - QVERIFY(filters); - QVERIFY(fd.isNameFilterDetailsVisible()); - - - QStringList filterChoices; - filterChoices << "Image files (*.png *.xpm *.jpg)" - << "Text files (*.txt)" - << "Any files (*.*)"; - fd.setFilters(filterChoices); - - fd.setNameFilterDetailsVisible(false); - QCOMPARE(filters->itemText(0), QString("Image files")); - QCOMPARE(filters->itemText(1), QString("Text files")); - QCOMPARE(filters->itemText(2), QString("Any files")); - - fd.setNameFilterDetailsVisible(true); - QCOMPARE(filters->itemText(0), filterChoices.at(0)); - QCOMPARE(filters->itemText(1), filterChoices.at(1)); - QCOMPARE(filters->itemText(2), filterChoices.at(2)); -} - -void tst_QFiledialog::unc() -{ -#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) - // Only test UNC on Windows./ - QString dir("\\\\" + QtNetworkSettings::winServerName() + "\\testsharewritable"); -#else - QString dir(QDir::currentPath()); -#endif - QVERIFY(QFile::exists(dir)); - QNonNativeFileDialog fd(0, QString(), dir); - QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); - QVERIFY(model); - QCOMPARE(model->index(fd.directory().absolutePath()), model->index(dir)); -} - -void tst_QFiledialog::emptyUncPath() -{ - QNonNativeFileDialog fd; - fd.show(); - QLineEdit *lineEdit = qFindChild(&fd, "fileNameEdit"); - QVERIFY(lineEdit); - // press 'keys' for the input - for (int i = 0; i < 3 ; ++i) - QTest::keyPress(lineEdit, Qt::Key_Backslash); - QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); - QVERIFY(model); -} - -void tst_QFiledialog::task178897_minimumSize() -{ - QNonNativeFileDialog fd; - QStringList history = fd.history(); - history << QDir::toNativeSeparators("/verylongdirectory/" - "aaaaaaaaaabbbbbbbbcccccccccccddddddddddddddeeeeeeeeeeeeffffffffffgggtggggggggghhhhhhhhiiiiiijjjk"); - fd.setHistory(history); - fd.show(); - - QSize ms = fd.layout()->minimumSize(); - QVERIFY(ms.width() < 400); -} - -void tst_QFiledialog::task180459_lastDirectory_data() -{ - QTest::addColumn("path"); - QTest::addColumn("directory"); - QTest::addColumn("isEnabled"); - QTest::addColumn("result"); - - QTest::newRow("path+file") << QDir::homePath() + QDir::separator() + "foo" - << QDir::homePath() << true - << QDir::homePath() + QDir::separator() + "foo" ; - QTest::newRow("no path") << "" - << QDir::tempPath() << false << QString(); - QTest::newRow("file") << "foo" - << QDir::currentPath() << true - << QDir::currentPath() + QDir::separator() + "foo" ; - QTest::newRow("path") << QDir::homePath() - << QDir::homePath() << false << QString(); - QTest::newRow("path not existing") << "/usr/bin/foo/bar/foo/foo.txt" - << QDir::tempPath() << true - << QDir::tempPath() + QDir::separator() + "foo.txt"; - -} - -void tst_QFiledialog::task180459_lastDirectory() -{ - //first visit the temp directory and close the dialog - QNonNativeFileDialog *dlg = new QNonNativeFileDialog(0, "", QDir::tempPath()); - QFileSystemModel *model = qFindChild(dlg, "qt_filesystem_model"); - QVERIFY(model); - QCOMPARE(model->index(QDir::tempPath()), model->index(dlg->directory().absolutePath())); - delete dlg; - - QFETCH(QString, path); - QFETCH(QString, directory); - QFETCH(bool, isEnabled); - QFETCH(QString, result); - - dlg = new QNonNativeFileDialog(0, "", path); - model = qFindChild(dlg, "qt_filesystem_model"); - QVERIFY(model); - dlg->setAcceptMode(QFileDialog::AcceptSave); - QCOMPARE(model->index(dlg->directory().absolutePath()), model->index(directory)); - - QDialogButtonBox *buttonBox = qFindChild(dlg, "buttonBox"); - QPushButton *button = buttonBox->button(QDialogButtonBox::Save); - QVERIFY(button); - QCOMPARE(button->isEnabled(), isEnabled); - if (isEnabled) - QCOMPARE(model->index(result), model->index(dlg->selectedFiles().first())); - - delete dlg; -} - - - -class FilterDirModel : public QSortFilterProxyModel -{ - -public: - FilterDirModel(QString root, QObject* parent=0):QSortFilterProxyModel(parent), m_root(root) - {} - ~FilterDirModel() - {}; - -protected: - bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const - { - QModelIndex parentIndex; - parentIndex = source_parent; - - QString path; - path = parentIndex.child(source_row,0).data(Qt::DisplayRole).toString(); - - do { - path = parentIndex.data(Qt::DisplayRole).toString() + "/" + path; - parentIndex = parentIndex.parent(); - } while(parentIndex.isValid()); - - QFileInfo info(path); - if (info.isDir() && (QDir(path) != m_root)) - return false; - return true; - } - - -private: - QDir m_root; - - -}; - -class sortProxy : public QSortFilterProxyModel -{ -public: - sortProxy(QObject *parent) : QSortFilterProxyModel(parent) - { - } -protected: - virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const - { - QFileSystemModel * const model = qobject_cast(sourceModel()); - const QFileInfo leftInfo(model->fileInfo(left)); - const QFileInfo rightInfo(model->fileInfo(right)); - - if (leftInfo.isDir() == rightInfo.isDir()) - return(leftInfo.filePath().compare(rightInfo.filePath(),Qt::CaseInsensitive) < 0); - else if (leftInfo.isDir()) - return(false); - else - return(true); - } -}; - -class CrashDialog : public QNonNativeFileDialog -{ - Q_OBJECT - -public: - CrashDialog(QWidget *parent, const QString &caption, const -QString &dir, const QString &filter) - : QNonNativeFileDialog(parent, caption, dir, filter) - { - sortProxy *proxyModel = new sortProxy(this); - setProxyModel(proxyModel); - } -}; - -void tst_QFiledialog::task227304_proxyOnFileDialog() -{ -#if defined QT_BUILD_INTERNAL - QNonNativeFileDialog fd(0, "", QDir::currentPath(), 0); - fd.setProxyModel(new FilterDirModel(QDir::currentPath())); - fd.show(); - QLineEdit *edit = qFindChild(&fd, "fileNameEdit"); - QTest::qWait(200); - QTest::keyClick(edit, Qt::Key_T); - QTest::keyClick(edit, Qt::Key_S); - QTest::qWait(200); - QTest::keyClick(edit->completer()->popup(), Qt::Key_Down); - - CrashDialog *dialog = new CrashDialog(0, QString("crash dialog test"), QDir::homePath(), QString("*") ); - dialog->setFileMode(QFileDialog::ExistingFile); - dialog->show(); - - QListView *list = qFindChild(dialog, "listView"); - QTest::qWait(200); - QTest::keyClick(list, Qt::Key_Down); - QTest::keyClick(list, Qt::Key_Return); - QTest::qWait(200); - - dialog->close(); - fd.close(); - - QNonNativeFileDialog fd2(0, "I should not crash with a proxy", QDir::tempPath(), 0); - QSortFilterProxyModel *pm = new QSortFilterProxyModel; - fd2.setProxyModel(pm); - fd2.show(); - QSidebar *sidebar = qFindChild(&fd2, "sidebar"); - sidebar->setFocus(); - sidebar->selectUrl(QUrl::fromLocalFile(QDir::homePath())); - QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(1, 0)).center()); - QTest::qWait(250); - //We shouldn't crash -#endif -} - -void tst_QFiledialog::task227930_correctNavigationKeyboardBehavior() -{ - QDir current = QDir::currentPath(); - current.mkdir("test"); - current.cd("test"); - QFile file("test/out.txt"); - QFile file2("test/out2.txt"); - QVERIFY(file.open(QIODevice::WriteOnly | QIODevice::Text)); - QVERIFY(file2.open(QIODevice::WriteOnly | QIODevice::Text)); - current.cdUp(); - current.mkdir("test2"); - QNonNativeFileDialog fd; - fd.setViewMode(QFileDialog::List); - fd.setDirectory(current.absolutePath()); - fd.show(); - QListView *list = qFindChild(&fd, "listView"); - QTest::qWait(200); - QTest::keyClick(list, Qt::Key_Down); - QTest::keyClick(list, Qt::Key_Return); - QTest::qWait(200); - QTest::mouseClick(list->viewport(), Qt::LeftButton,0); - QTest::keyClick(list, Qt::Key_Down); - QTest::keyClick(list, Qt::Key_Backspace); - QTest::qWait(200); - QTest::keyClick(list, Qt::Key_Down); - QTest::keyClick(list, Qt::Key_Down); - QTest::keyClick(list, Qt::Key_Return); - QTest::qWait(200); - QCOMPARE(fd.isVisible(), true); - QTest::qWait(200); - file.close(); - file2.close(); - file.remove(); - file2.remove(); - current.rmdir("test"); - current.rmdir("test2"); -} - -#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) -void tst_QFiledialog::task226366_lowerCaseHardDriveWindows() -{ - QNonNativeFileDialog fd; - fd.setDirectory(QDir::root().path()); - fd.show(); - QLineEdit *edit = qFindChild(&fd, "fileNameEdit"); - QToolButton *buttonParent = qFindChild(&fd, "toParentButton"); - QTest::qWait(200); - QTest::mouseClick(buttonParent, Qt::LeftButton,0,QPoint(0,0)); - QTest::qWait(2000); - QTest::keyClick(edit, Qt::Key_C); - QTest::qWait(200); - QTest::keyClick(edit->completer()->popup(), Qt::Key_Down); - QTest::qWait(200); - QCOMPARE(edit->text(), QString("C:")); - QTest::qWait(2000); - //i clear my previous selection in the completer - QTest::keyClick(edit->completer()->popup(), Qt::Key_Down); - edit->clear(); - QTest::keyClick(edit, (char)(Qt::Key_C | Qt::SHIFT)); - QTest::qWait(200); - QTest::keyClick(edit->completer()->popup(), Qt::Key_Down); - QCOMPARE(edit->text(), QString("C:")); -} -#endif - -void tst_QFiledialog::task233037_selectingDirectory() -{ - QDir current = QDir::currentPath(); - current.mkdir("test"); - QNonNativeFileDialog fd; - fd.setViewMode(QFileDialog::List); - fd.setDirectory(current.absolutePath()); - fd.setAcceptMode( QFileDialog::AcceptSave); - fd.show(); - QListView *list = qFindChild(&fd, "listView"); - QTest::qWait(3000); // Wait for sort to settle (I need a signal). -#ifdef QT_KEYPAD_NAVIGATION - list->setEditFocus(true); -#endif - QTest::keyClick(list, Qt::Key_Down); - QTest::qWait(100); - QDialogButtonBox *buttonBox = qFindChild(&fd, "buttonBox"); - QPushButton *button = buttonBox->button(QDialogButtonBox::Save); - QVERIFY(button); - QCOMPARE(button->isEnabled(), true); - current.rmdir("test"); -} - -void tst_QFiledialog::task235069_hideOnEscape() -{ - QDir current = QDir::currentPath(); - QNonNativeFileDialog fd; - fd.setViewMode(QFileDialog::List); - fd.setDirectory(current.absolutePath()); - fd.setAcceptMode( QFileDialog::AcceptSave); - fd.show(); - QListView *list = qFindChild(&fd, "listView"); - list->setFocus(); - QTest::qWait(200); - QTest::keyClick(list, Qt::Key_Escape); - QCOMPARE(fd.isVisible(), false); - QNonNativeFileDialog fd2; - fd2.setDirectory(current.absolutePath()); - fd2.setAcceptMode( QFileDialog::AcceptSave); - fd2.show(); - QLineEdit *edit = qFindChild(&fd2, "fileNameEdit"); - QTest::keyClick(edit, Qt::Key_Escape); - QCOMPARE(fd2.isVisible(), false); -} - -void tst_QFiledialog::task236402_dontWatchDeletedDir() -{ -#if defined QT_BUILD_INTERNAL - //THIS TEST SHOULD NOT DISPLAY WARNINGS - QDir current = QDir::currentPath(); - //make sure it is the first on the list - current.mkdir("aaaaaaaaaa"); - FriendlyQFileDialog fd; - fd.setViewMode(QFileDialog::List); - fd.setDirectory(current.absolutePath()); - fd.setAcceptMode( QFileDialog::AcceptSave); - fd.show(); - QListView *list = qFindChild(&fd, "listView"); - list->setFocus(); - QTest::qWait(200); - QTest::keyClick(list, Qt::Key_Return); - QTest::qWait(200); - QTest::keyClick(list, Qt::Key_Backspace); - QTest::keyClick(list, Qt::Key_Down); - QTest::qWait(200); - fd.d_func()->removeDirectory(current.absolutePath() + "/aaaaaaaaaa/"); - QTest::qWait(1000); -#endif -} - -void tst_QFiledialog::task203703_returnProperSeparator() -{ - QDir current = QDir::currentPath(); - current.mkdir("aaaaaaaaaaaaaaaaaa"); - QNonNativeFileDialog fd; - fd.setDirectory(current.absolutePath()); - fd.setViewMode(QFileDialog::List); - fd.setFileMode(QFileDialog::Directory); - fd.show(); - QTest::qWait(500); - QListView *list = qFindChild(&fd, "listView"); - list->setFocus(); - QTest::qWait(200); - QTest::keyClick(list, Qt::Key_Return); - QTest::qWait(1000); - QDialogButtonBox *buttonBox = qFindChild(&fd, "buttonBox"); - QPushButton *button = buttonBox->button(QDialogButtonBox::Cancel); - QTest::keyClick(button, Qt::Key_Return); - QTest::qWait(500); - QString result = fd.selectedFiles().first(); - QVERIFY(result.at(result.count() - 1) != '/'); - QVERIFY(!result.contains('\\')); - current.rmdir("aaaaaaaaaaaaaaaaaa"); -} - -void tst_QFiledialog::task228844_ensurePreviousSorting() -{ - QDir current = QDir::currentPath(); - current.mkdir("aaaaaaaaaaaaaaaaaa"); - current.cd("aaaaaaaaaaaaaaaaaa"); - current.mkdir("a"); - current.mkdir("b"); - current.mkdir("c"); - current.mkdir("d"); - current.mkdir("e"); - current.mkdir("f"); - current.mkdir("g"); - QTemporaryFile *tempFile = new QTemporaryFile(current.absolutePath() + "/rXXXXXX"); - tempFile->open(); - current.cdUp(); - - QNonNativeFileDialog fd; - fd.setDirectory(current.absolutePath()); - fd.setViewMode(QFileDialog::Detail); - fd.show(); - QTest::qWait(500); - QTreeView *tree = qFindChild(&fd, "treeView"); - tree->header()->setSortIndicator(3,Qt::DescendingOrder); - QTest::qWait(200); - QDialogButtonBox *buttonBox = qFindChild(&fd, "buttonBox"); - QPushButton *button = buttonBox->button(QDialogButtonBox::Open); - QTest::mouseClick(button, Qt::LeftButton); - QTest::qWait(500); - - QNonNativeFileDialog fd2; - fd2.setFileMode(QFileDialog::Directory); - fd2.restoreState(fd.saveState()); - current.cd("aaaaaaaaaaaaaaaaaa"); - fd2.setDirectory(current.absolutePath()); - fd2.show(); - QTest::qWait(500); - QTreeView *tree2 = qFindChild(&fd2, "treeView"); - tree2->setFocus(); - - QCOMPARE(tree2->rootIndex().data(QFileSystemModel::FilePathRole).toString(),current.absolutePath()); - - QDialogButtonBox *buttonBox2 = qFindChild(&fd2, "buttonBox"); - QPushButton *button2 = buttonBox2->button(QDialogButtonBox::Open); - fd2.selectFile("g"); - QTest::mouseClick(button2, Qt::LeftButton); - QTest::qWait(500); - - QCOMPARE(fd2.selectedFiles().first(), current.absolutePath() + QChar('/') + QLatin1String("g")); - - QNonNativeFileDialog fd3(0, "This is a third file dialog", tempFile->fileName()); - fd3.restoreState(fd.saveState()); - fd3.setFileMode(QFileDialog::Directory); - fd3.show(); - QTest::qWait(500); - QTreeView *tree3 = qFindChild(&fd3, "treeView"); - tree3->setFocus(); - - QCOMPARE(tree3->rootIndex().data(QFileSystemModel::FilePathRole).toString(), current.absolutePath()); - - QDialogButtonBox *buttonBox3 = qFindChild(&fd3, "buttonBox"); - QPushButton *button3 = buttonBox3->button(QDialogButtonBox::Open); - QTest::mouseClick(button3, Qt::LeftButton); - QTest::qWait(500); - - QCOMPARE(fd3.selectedFiles().first(), tempFile->fileName()); - - current.cd("aaaaaaaaaaaaaaaaaa"); - current.rmdir("a"); - current.rmdir("b"); - current.rmdir("c"); - current.rmdir("d"); - current.rmdir("e"); - current.rmdir("f"); - current.rmdir("g"); - tempFile->close(); - delete tempFile; - current.cdUp(); - current.rmdir("aaaaaaaaaaaaaaaaaa"); -} - - -void tst_QFiledialog::task239706_editableFilterCombo() -{ - QNonNativeFileDialog d; - d.setNameFilter("*.cpp *.h"); - - d.show(); - QTest::qWait(500); - - QList comboList = d.findChildren(); - QComboBox *filterCombo = 0; - foreach (QComboBox *combo, comboList) { - if (combo->objectName() == QString("fileTypeCombo")) { - filterCombo = combo; - break; - } - } - Q_ASSERT(filterCombo); - filterCombo->setEditable(true); - QTest::mouseClick(filterCombo, Qt::LeftButton); - QTest::keyPress(filterCombo, Qt::Key_X); - QTest::keyPress(filterCombo, Qt::Key_Enter); // should not trigger assertion failure -} - -void tst_QFiledialog::task218353_relativePaths() -{ - QDir appDir = QDir::current(); - QVERIFY(appDir.cdUp() != false); - QNonNativeFileDialog d(0, "TestDialog", ".."); - QCOMPARE(d.directory().absolutePath(), appDir.absolutePath()); - - d.setDirectory(appDir.absolutePath() + QLatin1String("/non-existing-directory/../another-non-existing-dir/../")); - QCOMPARE(d.directory().absolutePath(), appDir.absolutePath()); - - QDir::current().mkdir("test"); - appDir = QDir::current(); - d.setDirectory(appDir.absolutePath() + QLatin1String("/test/../test/../")); - QCOMPARE(d.directory().absolutePath(), appDir.absolutePath()); - appDir.rmdir("test"); -} - -void tst_QFiledialog::task251321_sideBarHiddenEntries() -{ -#if defined QT_BUILD_INTERNAL - QNonNativeFileDialog fd; - - QDir current = QDir::currentPath(); - current.mkdir(".hidden"); - QDir hiddenDir = QDir(".hidden"); - hiddenDir.mkdir("subdir"); - QDir hiddenSubDir = QDir(".hidden/subdir"); - hiddenSubDir.mkdir("happy"); - hiddenSubDir.mkdir("happy2"); - - QList urls; - urls << QUrl::fromLocalFile(hiddenSubDir.absolutePath()); - fd.setSidebarUrls(urls); - fd.show(); - QTest::qWait(250); - - QSidebar *sidebar = qFindChild(&fd, "sidebar"); - sidebar->setFocus(); - sidebar->selectUrl(QUrl::fromLocalFile(hiddenSubDir.absolutePath())); - QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(0, 0)).center()); - QTest::qWait(250); - - QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); - QCOMPARE(model->rowCount(model->index(hiddenSubDir.absolutePath())), 2); - - hiddenSubDir.rmdir("happy2"); - hiddenSubDir.rmdir("happy"); - hiddenDir.rmdir("subdir"); - current.rmdir(".hidden"); -#endif -} - -#if defined QT_BUILD_INTERNAL -class MyQSideBar : public QSidebar -{ -public : - MyQSideBar(QWidget *parent = 0) : QSidebar(parent) - {} - - void removeSelection() { - QList idxs = selectionModel()->selectedIndexes(); - QList indexes; - for (int i = 0; i < idxs.count(); i++) - indexes.append(idxs.at(i)); - - for (int i = 0; i < indexes.count(); ++i) - if (!indexes.at(i).data(Qt::UserRole + 1).toUrl().path().isEmpty()) - model()->removeRow(indexes.at(i).row()); - } -}; -#endif - -void tst_QFiledialog::task251341_sideBarRemoveEntries() -{ -#if defined QT_BUILD_INTERNAL - QNonNativeFileDialog fd; - - QDir current = QDir::currentPath(); - current.mkdir("testDir"); - QDir testSubDir = QDir("testDir"); - - QList urls; - urls << QUrl::fromLocalFile(testSubDir.absolutePath()); - urls << QUrl::fromLocalFile("NotFound"); - fd.setSidebarUrls(urls); - fd.show(); - QTest::qWait(250); - - QSidebar *sidebar = qFindChild(&fd, "sidebar"); - sidebar->setFocus(); - //We enter in the first bookmark - sidebar->selectUrl(QUrl::fromLocalFile(testSubDir.absolutePath())); - QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(0, 0)).center()); - QTest::qWait(250); - - QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); - //There is no file - QCOMPARE(model->rowCount(model->index(testSubDir.absolutePath())), 0); - //Icon is not enabled QUrlModel::EnabledRole - QVariant value = sidebar->model()->index(0, 0).data(Qt::UserRole + 2); - QCOMPARE(qvariant_cast(value), true); - - sidebar->setFocus(); - //We enter in the second bookmark which is invalid - sidebar->selectUrl(QUrl::fromLocalFile("NotFound")); - QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(1, 0)).center()); - QTest::qWait(250); - - //We fallback to root because the entry in the bookmark is invalid - QCOMPARE(model->rowCount(model->index("NotFound")), model->rowCount(model->index(model->rootPath()))); - //Icon is not enabled QUrlModel::EnabledRole - value = sidebar->model()->index(1, 0).data(Qt::UserRole + 2); - QCOMPARE(qvariant_cast(value), false); - - MyQSideBar mySideBar; - mySideBar.init(model, urls); - mySideBar.show(); - mySideBar.selectUrl(QUrl::fromLocalFile(testSubDir.absolutePath())); - QTest::qWait(1000); - mySideBar.removeSelection(); - - //We remove the first entry - QList expected; - expected << QUrl::fromLocalFile("NotFound"); - QCOMPARE(mySideBar.urls(), expected); - - mySideBar.selectUrl(QUrl::fromLocalFile("NotFound")); - mySideBar.removeSelection(); - - //We remove the second entry - expected.clear(); - QCOMPARE(mySideBar.urls(), expected); - - current.rmdir("testDir"); -#endif -} - -void tst_QFiledialog::task254490_selectFileMultipleTimes() -{ - QString tempPath = QDir::tempPath(); - QTemporaryFile *t; - t = new QTemporaryFile; - t->open(); - QNonNativeFileDialog fd(0, "TestFileDialog"); - - fd.setDirectory(tempPath); - fd.setViewMode(QFileDialog::List); - fd.setAcceptMode(QFileDialog::AcceptSave); - fd.setFileMode(QFileDialog::AnyFile); - - //This should select the file in the QFileDialog - fd.selectFile(t->fileName()); - - //This should clear the selection and write it into the filename line edit - fd.selectFile("new_file.txt"); - - fd.show(); - QTest::qWait(250); - - QLineEdit *lineEdit = qFindChild(&fd, "fileNameEdit"); - QVERIFY(lineEdit); - QCOMPARE(lineEdit->text(),QLatin1String("new_file.txt")); - QListView *list = qFindChild(&fd, "listView"); - QVERIFY(list); - QCOMPARE(list->selectionModel()->selectedRows(0).count(), 0); - - t->deleteLater(); -} - -void tst_QFiledialog::task257579_sideBarWithNonCleanUrls() -{ -#if defined QT_BUILD_INTERNAL - QDir tempDir = QDir::temp(); - QLatin1String dirname("autotest_task257579"); - tempDir.rmdir(dirname); //makes sure it doesn't exist any more - QVERIFY(tempDir.mkdir(dirname)); - QString url = QString::fromLatin1("%1/%2/..").arg(tempDir.absolutePath()).arg(dirname); - QNonNativeFileDialog fd; - fd.setSidebarUrls(QList() << QUrl::fromLocalFile(url)); - QSidebar *sidebar = qFindChild(&fd, "sidebar"); - QCOMPARE(sidebar->urls().count(), 1); - QVERIFY(sidebar->urls().first().toLocalFile() != url); - QCOMPARE(sidebar->urls().first().toLocalFile(), QDir::cleanPath(url)); - -#ifdef Q_OS_WIN - QCOMPARE(sidebar->model()->index(0,0).data().toString().toLower(), tempDir.dirName().toLower()); -#else - QCOMPARE(sidebar->model()->index(0,0).data().toString(), tempDir.dirName()); -#endif - - //all tests are finished, we can remove the temporary dir - QVERIFY(tempDir.rmdir(dirname)); -#endif -} - -void tst_QFiledialog::task259105_filtersCornerCases() -{ - QNonNativeFileDialog fd(0, "TestFileDialog"); - fd.setNameFilter(QLatin1String("All Files! (*);;Text Files (*.txt)")); - fd.setOption(QFileDialog::HideNameFilterDetails, true); - fd.show(); - QTest::qWait(250); - - //Extensions are hidden - QComboBox *filters = qFindChild(&fd, "fileTypeCombo"); - QVERIFY(filters); - QCOMPARE(filters->currentText(), QLatin1String("All Files!")); - filters->setCurrentIndex(1); - QCOMPARE(filters->currentText(), QLatin1String("Text Files")); - - //We should have the full names - fd.setOption(QFileDialog::HideNameFilterDetails, false); - QTest::qWait(250); - filters->setCurrentIndex(0); - QCOMPARE(filters->currentText(), QLatin1String("All Files! (*)")); - filters->setCurrentIndex(1); - QCOMPARE(filters->currentText(), QLatin1String("Text Files (*.txt)")); - - //Corner case undocumented of the task - fd.setNameFilter(QLatin1String("\352 (I like cheese) All Files! (*);;Text Files (*.txt)")); - QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files! (*)")); - filters->setCurrentIndex(1); - QCOMPARE(filters->currentText(), QLatin1String("Text Files (*.txt)")); - - fd.setOption(QFileDialog::HideNameFilterDetails, true); - filters->setCurrentIndex(0); - QTest::qWait(500); - QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files!")); - filters->setCurrentIndex(1); - QCOMPARE(filters->currentText(), QLatin1String("Text Files")); - - fd.setOption(QFileDialog::HideNameFilterDetails, true); - filters->setCurrentIndex(0); - QTest::qWait(500); - QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files!")); - filters->setCurrentIndex(1); - QCOMPARE(filters->currentText(), QLatin1String("Text Files")); -} - -void tst_QFiledialog::QTBUG4419_lineEditSelectAll() -{ - QString tempPath = QDir::tempPath(); - QTemporaryFile *t; - t = new QTemporaryFile; - t->open(); - QNonNativeFileDialog fd(0, "TestFileDialog", t->fileName()); - - fd.setDirectory(tempPath); - fd.setViewMode(QFileDialog::List); - fd.setAcceptMode(QFileDialog::AcceptSave); - fd.setFileMode(QFileDialog::AnyFile); - - fd.show(); - QApplication::setActiveWindow(&fd); - QTest::qWaitForWindowShown(&fd); - QTRY_COMPARE(fd.isVisible(), true); - QTRY_COMPARE(QApplication::activeWindow(), static_cast(&fd)); - - QTest::qWait(250); - QLineEdit *lineEdit = qFindChild(&fd, "fileNameEdit"); - - QCOMPARE(tempPath + QChar('/') + lineEdit->text(), t->fileName()); - QCOMPARE(tempPath + QChar('/') + lineEdit->selectedText(), t->fileName()); -} - QTEST_MAIN(tst_QFiledialog) #include "tst_qfiledialog.moc" diff --git a/tests/auto/qfiledialog2/qfiledialog2.pro b/tests/auto/qfiledialog2/qfiledialog2.pro new file mode 100644 index 0000000..4ebf977 --- /dev/null +++ b/tests/auto/qfiledialog2/qfiledialog2.pro @@ -0,0 +1,27 @@ +############################################################ +# Project file for autotest for file qfiledialog.h +############################################################ + +load(qttest_p4) + +SOURCES += tst_qfiledialog2.cpp + +wince*|symbian { + addFiles.sources = *.cpp + addFiles.path = . + filesInDir.sources = *.pro + filesInDir.path = someDir + DEPLOYMENT += addFiles filesInDir +} + +symbian:TARGET.EPOCHEAPSIZE="0x100 0x1000000" +symbian:HEADERS += ../../../include/qtgui/private/qfileinfogatherer_p.h + +wince* { + DEFINES += SRCDIR=\\\"./\\\" +} else:symbian { + TARGET.UID3 = 0xE0340003 + DEFINES += SYMBIAN_SRCDIR_UID=$$lower($$replace(TARGET.UID3,"0x","")) +} else { + DEFINES += SRCDIR=\\\"$$PWD/\\\" +} diff --git a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp new file mode 100644 index 0000000..18f94a9 --- /dev/null +++ b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp @@ -0,0 +1,1006 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../../shared/util.h" +#include "../../../src/gui/dialogs/qsidebar_p.h" +#include "../../../src/gui/dialogs/qfilesystemmodel_p.h" +#include "../../../src/gui/dialogs/qfiledialog_p.h" + +#include "../network-settings.h" + +//TESTED_CLASS= +//TESTED_FILES= + +#if defined(Q_OS_SYMBIAN) +# define STRINGIFY(x) #x +# define TOSTRING(x) STRINGIFY(x) +# define SRCDIR "C:/Private/" TOSTRING(SYMBIAN_SRCDIR_UID) "/" +#endif + +class QNonNativeFileDialog : public QFileDialog +{ + Q_OBJECT +public: + QNonNativeFileDialog(QWidget *parent = 0, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString()) + : QFileDialog(parent, caption, directory, filter) + { + setOption(QFileDialog::DontUseNativeDialog, true); + } +}; + +class tst_QFiledialog : public QObject +{ +Q_OBJECT + +public: + tst_QFiledialog(); + virtual ~tst_QFiledialog(); + +public slots: + void init(); + void cleanup(); + +private slots: + void listRoot(); + void heapCorruption(); + void deleteDirAndFiles(); + void filter(); + void showNameFilterDetails(); + void unc(); + void emptyUncPath(); + + void task178897_minimumSize(); + void task180459_lastDirectory_data(); + void task180459_lastDirectory(); + void task227304_proxyOnFileDialog(); + void task227930_correctNavigationKeyboardBehavior(); +#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) + void task226366_lowerCaseHardDriveWindows(); +#endif + void task233037_selectingDirectory(); + void task235069_hideOnEscape(); + void task236402_dontWatchDeletedDir(); + void task203703_returnProperSeparator(); + void task228844_ensurePreviousSorting(); + void task239706_editableFilterCombo(); + void task218353_relativePaths(); + void task251321_sideBarHiddenEntries(); + void task251341_sideBarRemoveEntries(); + void task254490_selectFileMultipleTimes(); + void task257579_sideBarWithNonCleanUrls(); + void task259105_filtersCornerCases(); + + void QTBUG4419_lineEditSelectAll(); + +private: + QByteArray userSettings; +}; + +tst_QFiledialog::tst_QFiledialog() +{ +} + +tst_QFiledialog::~tst_QFiledialog() +{ +} + +void tst_QFiledialog::init() +{ + // Save the developers settings so they don't get mad when their sidebar folders are gone. + QSettings settings(QSettings::UserScope, QLatin1String("Trolltech")); + settings.beginGroup(QLatin1String("Qt")); + userSettings = settings.value(QLatin1String("filedialog")).toByteArray(); + settings.remove(QLatin1String("filedialog")); + + // populate it with some default settings + QNonNativeFileDialog fd; +#if defined(Q_OS_WINCE) + QTest::qWait(1000); +#endif +} + +void tst_QFiledialog::cleanup() +{ + QSettings settings(QSettings::UserScope, QLatin1String("Trolltech")); + settings.beginGroup(QLatin1String("Qt")); + settings.setValue(QLatin1String("filedialog"), userSettings); +} + +void tst_QFiledialog::listRoot() +{ +#if defined QT_BUILD_INTERNAL + QFileInfoGatherer::fetchedRoot = false; + QString dir(QDir::currentPath()); + QNonNativeFileDialog fd(0, QString(), dir); + fd.show(); + QCOMPARE(QFileInfoGatherer::fetchedRoot,false); + fd.setDirectory(""); + QTest::qWait(500); + QCOMPARE(QFileInfoGatherer::fetchedRoot,true); +#endif +} + +void tst_QFiledialog::heapCorruption() +{ + QVector dialogs; + for (int i=0; i < 10; i++) { + QNonNativeFileDialog *f = new QNonNativeFileDialog(NULL); + dialogs << f; + } + qDeleteAll(dialogs); +} + +struct FriendlyQFileDialog : public QFileDialog +{ + friend class tst_QFileDialog; + Q_DECLARE_PRIVATE(QFileDialog) +}; + + +void tst_QFiledialog::deleteDirAndFiles() +{ +#if defined QT_BUILD_INTERNAL + QString tempPath = QDir::tempPath() + '/' + "QFileDialogTestDir4FullDelete"; + QDir dir; + QVERIFY(dir.mkpath(tempPath + "/foo")); + QVERIFY(dir.mkpath(tempPath + "/foo/B")); + QVERIFY(dir.mkpath(tempPath + "/foo/B")); + QVERIFY(dir.mkpath(tempPath + "/foo/c")); + QVERIFY(dir.mkpath(tempPath + "/bar")); + QFile(tempPath + "/foo/a"); + QTemporaryFile *t; + t = new QTemporaryFile(tempPath + "/foo/aXXXXXX"); + t->setAutoRemove(false); + t->open(); + t->close(); + delete t; + + t = new QTemporaryFile(tempPath + "/foo/B/yXXXXXX"); + t->setAutoRemove(false); + t->open(); + t->close(); + delete t; + FriendlyQFileDialog fd; + fd.setOption(QFileDialog::DontUseNativeDialog); + fd.d_func()->removeDirectory(tempPath); + QFileInfo info(tempPath); + QTest::qWait(2000); + QVERIFY(!info.exists()); +#endif +} + +void tst_QFiledialog::filter() +{ + QNonNativeFileDialog fd; + QAction *hiddenAction = qFindChild(&fd, "qt_show_hidden_action"); + QVERIFY(hiddenAction); + QVERIFY(hiddenAction->isEnabled()); + QVERIFY(!hiddenAction->isChecked()); + QDir::Filters filter = fd.filter(); + filter |= QDir::Hidden; + fd.setFilter(filter); + QVERIFY(hiddenAction->isChecked()); +} + +void tst_QFiledialog::showNameFilterDetails() +{ + QNonNativeFileDialog fd; + QComboBox *filters = qFindChild(&fd, "fileTypeCombo"); + QVERIFY(filters); + QVERIFY(fd.isNameFilterDetailsVisible()); + + + QStringList filterChoices; + filterChoices << "Image files (*.png *.xpm *.jpg)" + << "Text files (*.txt)" + << "Any files (*.*)"; + fd.setFilters(filterChoices); + + fd.setNameFilterDetailsVisible(false); + QCOMPARE(filters->itemText(0), QString("Image files")); + QCOMPARE(filters->itemText(1), QString("Text files")); + QCOMPARE(filters->itemText(2), QString("Any files")); + + fd.setNameFilterDetailsVisible(true); + QCOMPARE(filters->itemText(0), filterChoices.at(0)); + QCOMPARE(filters->itemText(1), filterChoices.at(1)); + QCOMPARE(filters->itemText(2), filterChoices.at(2)); +} + +void tst_QFiledialog::unc() +{ +#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) + // Only test UNC on Windows./ + QString dir("\\\\" + QtNetworkSettings::winServerName() + "\\testsharewritable"); +#else + QString dir(QDir::currentPath()); +#endif + QVERIFY(QFile::exists(dir)); + QNonNativeFileDialog fd(0, QString(), dir); + QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); + QVERIFY(model); + QCOMPARE(model->index(fd.directory().absolutePath()), model->index(dir)); +} + +void tst_QFiledialog::emptyUncPath() +{ + QNonNativeFileDialog fd; + fd.show(); + QLineEdit *lineEdit = qFindChild(&fd, "fileNameEdit"); + QVERIFY(lineEdit); + // press 'keys' for the input + for (int i = 0; i < 3 ; ++i) + QTest::keyPress(lineEdit, Qt::Key_Backslash); + QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); + QVERIFY(model); +} + +void tst_QFiledialog::task178897_minimumSize() +{ + QNonNativeFileDialog fd; + QStringList history = fd.history(); + history << QDir::toNativeSeparators("/verylongdirectory/" + "aaaaaaaaaabbbbbbbbcccccccccccddddddddddddddeeeeeeeeeeeeffffffffffgggtggggggggghhhhhhhhiiiiiijjjk"); + fd.setHistory(history); + fd.show(); + + QSize ms = fd.layout()->minimumSize(); + QVERIFY(ms.width() < 400); +} + +void tst_QFiledialog::task180459_lastDirectory_data() +{ + QTest::addColumn("path"); + QTest::addColumn("directory"); + QTest::addColumn("isEnabled"); + QTest::addColumn("result"); + + QTest::newRow("path+file") << QDir::homePath() + QDir::separator() + "foo" + << QDir::homePath() << true + << QDir::homePath() + QDir::separator() + "foo" ; + QTest::newRow("no path") << "" + << QDir::tempPath() << false << QString(); + QTest::newRow("file") << "foo" + << QDir::currentPath() << true + << QDir::currentPath() + QDir::separator() + "foo" ; + QTest::newRow("path") << QDir::homePath() + << QDir::homePath() << false << QString(); + QTest::newRow("path not existing") << "/usr/bin/foo/bar/foo/foo.txt" + << QDir::tempPath() << true + << QDir::tempPath() + QDir::separator() + "foo.txt"; + +} + +void tst_QFiledialog::task180459_lastDirectory() +{ + //first visit the temp directory and close the dialog + QNonNativeFileDialog *dlg = new QNonNativeFileDialog(0, "", QDir::tempPath()); + QFileSystemModel *model = qFindChild(dlg, "qt_filesystem_model"); + QVERIFY(model); + QCOMPARE(model->index(QDir::tempPath()), model->index(dlg->directory().absolutePath())); + delete dlg; + + QFETCH(QString, path); + QFETCH(QString, directory); + QFETCH(bool, isEnabled); + QFETCH(QString, result); + + dlg = new QNonNativeFileDialog(0, "", path); + model = qFindChild(dlg, "qt_filesystem_model"); + QVERIFY(model); + dlg->setAcceptMode(QFileDialog::AcceptSave); + QCOMPARE(model->index(dlg->directory().absolutePath()), model->index(directory)); + + QDialogButtonBox *buttonBox = qFindChild(dlg, "buttonBox"); + QPushButton *button = buttonBox->button(QDialogButtonBox::Save); + QVERIFY(button); + QCOMPARE(button->isEnabled(), isEnabled); + if (isEnabled) + QCOMPARE(model->index(result), model->index(dlg->selectedFiles().first())); + + delete dlg; +} + + + +class FilterDirModel : public QSortFilterProxyModel +{ + +public: + FilterDirModel(QString root, QObject* parent=0):QSortFilterProxyModel(parent), m_root(root) + {} + ~FilterDirModel() + {}; + +protected: + bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const + { + QModelIndex parentIndex; + parentIndex = source_parent; + + QString path; + path = parentIndex.child(source_row,0).data(Qt::DisplayRole).toString(); + + do { + path = parentIndex.data(Qt::DisplayRole).toString() + "/" + path; + parentIndex = parentIndex.parent(); + } while(parentIndex.isValid()); + + QFileInfo info(path); + if (info.isDir() && (QDir(path) != m_root)) + return false; + return true; + } + + +private: + QDir m_root; + + +}; + +class sortProxy : public QSortFilterProxyModel +{ +public: + sortProxy(QObject *parent) : QSortFilterProxyModel(parent) + { + } +protected: + virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const + { + QFileSystemModel * const model = qobject_cast(sourceModel()); + const QFileInfo leftInfo(model->fileInfo(left)); + const QFileInfo rightInfo(model->fileInfo(right)); + + if (leftInfo.isDir() == rightInfo.isDir()) + return(leftInfo.filePath().compare(rightInfo.filePath(),Qt::CaseInsensitive) < 0); + else if (leftInfo.isDir()) + return(false); + else + return(true); + } +}; + +class CrashDialog : public QNonNativeFileDialog +{ + Q_OBJECT + +public: + CrashDialog(QWidget *parent, const QString &caption, const +QString &dir, const QString &filter) + : QNonNativeFileDialog(parent, caption, dir, filter) + { + sortProxy *proxyModel = new sortProxy(this); + setProxyModel(proxyModel); + } +}; + +void tst_QFiledialog::task227304_proxyOnFileDialog() +{ +#if defined QT_BUILD_INTERNAL + QNonNativeFileDialog fd(0, "", QDir::currentPath(), 0); + fd.setProxyModel(new FilterDirModel(QDir::currentPath())); + fd.show(); + QLineEdit *edit = qFindChild(&fd, "fileNameEdit"); + QTest::qWait(200); + QTest::keyClick(edit, Qt::Key_T); + QTest::keyClick(edit, Qt::Key_S); + QTest::qWait(200); + QTest::keyClick(edit->completer()->popup(), Qt::Key_Down); + + CrashDialog *dialog = new CrashDialog(0, QString("crash dialog test"), QDir::homePath(), QString("*") ); + dialog->setFileMode(QFileDialog::ExistingFile); + dialog->show(); + + QListView *list = qFindChild(dialog, "listView"); + QTest::qWait(200); + QTest::keyClick(list, Qt::Key_Down); + QTest::keyClick(list, Qt::Key_Return); + QTest::qWait(200); + + dialog->close(); + fd.close(); + + QNonNativeFileDialog fd2(0, "I should not crash with a proxy", QDir::tempPath(), 0); + QSortFilterProxyModel *pm = new QSortFilterProxyModel; + fd2.setProxyModel(pm); + fd2.show(); + QSidebar *sidebar = qFindChild(&fd2, "sidebar"); + sidebar->setFocus(); + sidebar->selectUrl(QUrl::fromLocalFile(QDir::homePath())); + QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(1, 0)).center()); + QTest::qWait(250); + //We shouldn't crash +#endif +} + +void tst_QFiledialog::task227930_correctNavigationKeyboardBehavior() +{ + QDir current = QDir::currentPath(); + current.mkdir("test"); + current.cd("test"); + QFile file("test/out.txt"); + QFile file2("test/out2.txt"); + QVERIFY(file.open(QIODevice::WriteOnly | QIODevice::Text)); + QVERIFY(file2.open(QIODevice::WriteOnly | QIODevice::Text)); + current.cdUp(); + current.mkdir("test2"); + QNonNativeFileDialog fd; + fd.setViewMode(QFileDialog::List); + fd.setDirectory(current.absolutePath()); + fd.show(); + QListView *list = qFindChild(&fd, "listView"); + QTest::qWait(200); + QTest::keyClick(list, Qt::Key_Down); + QTest::keyClick(list, Qt::Key_Return); + QTest::qWait(200); + QTest::mouseClick(list->viewport(), Qt::LeftButton,0); + QTest::keyClick(list, Qt::Key_Down); + QTest::keyClick(list, Qt::Key_Backspace); + QTest::qWait(200); + QTest::keyClick(list, Qt::Key_Down); + QTest::keyClick(list, Qt::Key_Down); + QTest::keyClick(list, Qt::Key_Return); + QTest::qWait(200); + QCOMPARE(fd.isVisible(), true); + QTest::qWait(200); + file.close(); + file2.close(); + file.remove(); + file2.remove(); + current.rmdir("test"); + current.rmdir("test2"); +} + +#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) +void tst_QFiledialog::task226366_lowerCaseHardDriveWindows() +{ + QNonNativeFileDialog fd; + fd.setDirectory(QDir::root().path()); + fd.show(); + QLineEdit *edit = qFindChild(&fd, "fileNameEdit"); + QToolButton *buttonParent = qFindChild(&fd, "toParentButton"); + QTest::qWait(200); + QTest::mouseClick(buttonParent, Qt::LeftButton,0,QPoint(0,0)); + QTest::qWait(2000); + QTest::keyClick(edit, Qt::Key_C); + QTest::qWait(200); + QTest::keyClick(edit->completer()->popup(), Qt::Key_Down); + QTest::qWait(200); + QCOMPARE(edit->text(), QString("C:")); + QTest::qWait(2000); + //i clear my previous selection in the completer + QTest::keyClick(edit->completer()->popup(), Qt::Key_Down); + edit->clear(); + QTest::keyClick(edit, (char)(Qt::Key_C | Qt::SHIFT)); + QTest::qWait(200); + QTest::keyClick(edit->completer()->popup(), Qt::Key_Down); + QCOMPARE(edit->text(), QString("C:")); +} +#endif + +void tst_QFiledialog::task233037_selectingDirectory() +{ + QDir current = QDir::currentPath(); + current.mkdir("test"); + QNonNativeFileDialog fd; + fd.setViewMode(QFileDialog::List); + fd.setDirectory(current.absolutePath()); + fd.setAcceptMode( QFileDialog::AcceptSave); + fd.show(); + QListView *list = qFindChild(&fd, "listView"); + QTest::qWait(3000); // Wait for sort to settle (I need a signal). +#ifdef QT_KEYPAD_NAVIGATION + list->setEditFocus(true); +#endif + QTest::keyClick(list, Qt::Key_Down); + QTest::qWait(100); + QDialogButtonBox *buttonBox = qFindChild(&fd, "buttonBox"); + QPushButton *button = buttonBox->button(QDialogButtonBox::Save); + QVERIFY(button); + QCOMPARE(button->isEnabled(), true); + current.rmdir("test"); +} + +void tst_QFiledialog::task235069_hideOnEscape() +{ + QDir current = QDir::currentPath(); + QNonNativeFileDialog fd; + fd.setViewMode(QFileDialog::List); + fd.setDirectory(current.absolutePath()); + fd.setAcceptMode( QFileDialog::AcceptSave); + fd.show(); + QListView *list = qFindChild(&fd, "listView"); + list->setFocus(); + QTest::qWait(200); + QTest::keyClick(list, Qt::Key_Escape); + QCOMPARE(fd.isVisible(), false); + QNonNativeFileDialog fd2; + fd2.setDirectory(current.absolutePath()); + fd2.setAcceptMode( QFileDialog::AcceptSave); + fd2.show(); + QLineEdit *edit = qFindChild(&fd2, "fileNameEdit"); + QTest::keyClick(edit, Qt::Key_Escape); + QCOMPARE(fd2.isVisible(), false); +} + +void tst_QFiledialog::task236402_dontWatchDeletedDir() +{ +#if defined QT_BUILD_INTERNAL + //THIS TEST SHOULD NOT DISPLAY WARNINGS + QDir current = QDir::currentPath(); + //make sure it is the first on the list + current.mkdir("aaaaaaaaaa"); + FriendlyQFileDialog fd; + fd.setViewMode(QFileDialog::List); + fd.setDirectory(current.absolutePath()); + fd.setAcceptMode( QFileDialog::AcceptSave); + fd.show(); + QListView *list = qFindChild(&fd, "listView"); + list->setFocus(); + QTest::qWait(200); + QTest::keyClick(list, Qt::Key_Return); + QTest::qWait(200); + QTest::keyClick(list, Qt::Key_Backspace); + QTest::keyClick(list, Qt::Key_Down); + QTest::qWait(200); + fd.d_func()->removeDirectory(current.absolutePath() + "/aaaaaaaaaa/"); + QTest::qWait(1000); +#endif +} + +void tst_QFiledialog::task203703_returnProperSeparator() +{ + QDir current = QDir::currentPath(); + current.mkdir("aaaaaaaaaaaaaaaaaa"); + QNonNativeFileDialog fd; + fd.setDirectory(current.absolutePath()); + fd.setViewMode(QFileDialog::List); + fd.setFileMode(QFileDialog::Directory); + fd.show(); + QTest::qWait(500); + QListView *list = qFindChild(&fd, "listView"); + list->setFocus(); + QTest::qWait(200); + QTest::keyClick(list, Qt::Key_Return); + QTest::qWait(1000); + QDialogButtonBox *buttonBox = qFindChild(&fd, "buttonBox"); + QPushButton *button = buttonBox->button(QDialogButtonBox::Cancel); + QTest::keyClick(button, Qt::Key_Return); + QTest::qWait(500); + QString result = fd.selectedFiles().first(); + QVERIFY(result.at(result.count() - 1) != '/'); + QVERIFY(!result.contains('\\')); + current.rmdir("aaaaaaaaaaaaaaaaaa"); +} + +void tst_QFiledialog::task228844_ensurePreviousSorting() +{ + QDir current = QDir::currentPath(); + current.mkdir("aaaaaaaaaaaaaaaaaa"); + current.cd("aaaaaaaaaaaaaaaaaa"); + current.mkdir("a"); + current.mkdir("b"); + current.mkdir("c"); + current.mkdir("d"); + current.mkdir("e"); + current.mkdir("f"); + current.mkdir("g"); + QTemporaryFile *tempFile = new QTemporaryFile(current.absolutePath() + "/rXXXXXX"); + tempFile->open(); + current.cdUp(); + + QNonNativeFileDialog fd; + fd.setDirectory(current.absolutePath()); + fd.setViewMode(QFileDialog::Detail); + fd.show(); + QTest::qWait(500); + QTreeView *tree = qFindChild(&fd, "treeView"); + tree->header()->setSortIndicator(3,Qt::DescendingOrder); + QTest::qWait(200); + QDialogButtonBox *buttonBox = qFindChild(&fd, "buttonBox"); + QPushButton *button = buttonBox->button(QDialogButtonBox::Open); + QTest::mouseClick(button, Qt::LeftButton); + QTest::qWait(500); + + QNonNativeFileDialog fd2; + fd2.setFileMode(QFileDialog::Directory); + fd2.restoreState(fd.saveState()); + current.cd("aaaaaaaaaaaaaaaaaa"); + fd2.setDirectory(current.absolutePath()); + fd2.show(); + QTest::qWait(500); + QTreeView *tree2 = qFindChild(&fd2, "treeView"); + tree2->setFocus(); + + QCOMPARE(tree2->rootIndex().data(QFileSystemModel::FilePathRole).toString(),current.absolutePath()); + + QDialogButtonBox *buttonBox2 = qFindChild(&fd2, "buttonBox"); + QPushButton *button2 = buttonBox2->button(QDialogButtonBox::Open); + fd2.selectFile("g"); + QTest::mouseClick(button2, Qt::LeftButton); + QTest::qWait(500); + + QCOMPARE(fd2.selectedFiles().first(), current.absolutePath() + QChar('/') + QLatin1String("g")); + + QNonNativeFileDialog fd3(0, "This is a third file dialog", tempFile->fileName()); + fd3.restoreState(fd.saveState()); + fd3.setFileMode(QFileDialog::Directory); + fd3.show(); + QTest::qWait(500); + QTreeView *tree3 = qFindChild(&fd3, "treeView"); + tree3->setFocus(); + + QCOMPARE(tree3->rootIndex().data(QFileSystemModel::FilePathRole).toString(), current.absolutePath()); + + QDialogButtonBox *buttonBox3 = qFindChild(&fd3, "buttonBox"); + QPushButton *button3 = buttonBox3->button(QDialogButtonBox::Open); + QTest::mouseClick(button3, Qt::LeftButton); + QTest::qWait(500); + + QCOMPARE(fd3.selectedFiles().first(), tempFile->fileName()); + + current.cd("aaaaaaaaaaaaaaaaaa"); + current.rmdir("a"); + current.rmdir("b"); + current.rmdir("c"); + current.rmdir("d"); + current.rmdir("e"); + current.rmdir("f"); + current.rmdir("g"); + tempFile->close(); + delete tempFile; + current.cdUp(); + current.rmdir("aaaaaaaaaaaaaaaaaa"); +} + + +void tst_QFiledialog::task239706_editableFilterCombo() +{ + QNonNativeFileDialog d; + d.setNameFilter("*.cpp *.h"); + + d.show(); + QTest::qWait(500); + + QList comboList = d.findChildren(); + QComboBox *filterCombo = 0; + foreach (QComboBox *combo, comboList) { + if (combo->objectName() == QString("fileTypeCombo")) { + filterCombo = combo; + break; + } + } + Q_ASSERT(filterCombo); + filterCombo->setEditable(true); + QTest::mouseClick(filterCombo, Qt::LeftButton); + QTest::keyPress(filterCombo, Qt::Key_X); + QTest::keyPress(filterCombo, Qt::Key_Enter); // should not trigger assertion failure +} + +void tst_QFiledialog::task218353_relativePaths() +{ + QDir appDir = QDir::current(); + QVERIFY(appDir.cdUp() != false); + QNonNativeFileDialog d(0, "TestDialog", ".."); + QCOMPARE(d.directory().absolutePath(), appDir.absolutePath()); + + d.setDirectory(appDir.absolutePath() + QLatin1String("/non-existing-directory/../another-non-existing-dir/../")); + QCOMPARE(d.directory().absolutePath(), appDir.absolutePath()); + + QDir::current().mkdir("test"); + appDir = QDir::current(); + d.setDirectory(appDir.absolutePath() + QLatin1String("/test/../test/../")); + QCOMPARE(d.directory().absolutePath(), appDir.absolutePath()); + appDir.rmdir("test"); +} + +void tst_QFiledialog::task251321_sideBarHiddenEntries() +{ +#if defined QT_BUILD_INTERNAL + QNonNativeFileDialog fd; + + QDir current = QDir::currentPath(); + current.mkdir(".hidden"); + QDir hiddenDir = QDir(".hidden"); + hiddenDir.mkdir("subdir"); + QDir hiddenSubDir = QDir(".hidden/subdir"); + hiddenSubDir.mkdir("happy"); + hiddenSubDir.mkdir("happy2"); + + QList urls; + urls << QUrl::fromLocalFile(hiddenSubDir.absolutePath()); + fd.setSidebarUrls(urls); + fd.show(); + QTest::qWait(250); + + QSidebar *sidebar = qFindChild(&fd, "sidebar"); + sidebar->setFocus(); + sidebar->selectUrl(QUrl::fromLocalFile(hiddenSubDir.absolutePath())); + QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(0, 0)).center()); + QTest::qWait(250); + + QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); + QCOMPARE(model->rowCount(model->index(hiddenSubDir.absolutePath())), 2); + + hiddenSubDir.rmdir("happy2"); + hiddenSubDir.rmdir("happy"); + hiddenDir.rmdir("subdir"); + current.rmdir(".hidden"); +#endif +} + +#if defined QT_BUILD_INTERNAL +class MyQSideBar : public QSidebar +{ +public : + MyQSideBar(QWidget *parent = 0) : QSidebar(parent) + {} + + void removeSelection() { + QList idxs = selectionModel()->selectedIndexes(); + QList indexes; + for (int i = 0; i < idxs.count(); i++) + indexes.append(idxs.at(i)); + + for (int i = 0; i < indexes.count(); ++i) + if (!indexes.at(i).data(Qt::UserRole + 1).toUrl().path().isEmpty()) + model()->removeRow(indexes.at(i).row()); + } +}; +#endif + +void tst_QFiledialog::task251341_sideBarRemoveEntries() +{ +#if defined QT_BUILD_INTERNAL + QNonNativeFileDialog fd; + + QDir current = QDir::currentPath(); + current.mkdir("testDir"); + QDir testSubDir = QDir("testDir"); + + QList urls; + urls << QUrl::fromLocalFile(testSubDir.absolutePath()); + urls << QUrl::fromLocalFile("NotFound"); + fd.setSidebarUrls(urls); + fd.show(); + QTest::qWait(250); + + QSidebar *sidebar = qFindChild(&fd, "sidebar"); + sidebar->setFocus(); + //We enter in the first bookmark + sidebar->selectUrl(QUrl::fromLocalFile(testSubDir.absolutePath())); + QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(0, 0)).center()); + QTest::qWait(250); + + QFileSystemModel *model = qFindChild(&fd, "qt_filesystem_model"); + //There is no file + QCOMPARE(model->rowCount(model->index(testSubDir.absolutePath())), 0); + //Icon is not enabled QUrlModel::EnabledRole + QVariant value = sidebar->model()->index(0, 0).data(Qt::UserRole + 2); + QCOMPARE(qvariant_cast(value), true); + + sidebar->setFocus(); + //We enter in the second bookmark which is invalid + sidebar->selectUrl(QUrl::fromLocalFile("NotFound")); + QTest::mouseClick(sidebar->viewport(), Qt::LeftButton, 0, sidebar->visualRect(sidebar->model()->index(1, 0)).center()); + QTest::qWait(250); + + //We fallback to root because the entry in the bookmark is invalid + QCOMPARE(model->rowCount(model->index("NotFound")), model->rowCount(model->index(model->rootPath()))); + //Icon is not enabled QUrlModel::EnabledRole + value = sidebar->model()->index(1, 0).data(Qt::UserRole + 2); + QCOMPARE(qvariant_cast(value), false); + + MyQSideBar mySideBar; + mySideBar.init(model, urls); + mySideBar.show(); + mySideBar.selectUrl(QUrl::fromLocalFile(testSubDir.absolutePath())); + QTest::qWait(1000); + mySideBar.removeSelection(); + + //We remove the first entry + QList expected; + expected << QUrl::fromLocalFile("NotFound"); + QCOMPARE(mySideBar.urls(), expected); + + mySideBar.selectUrl(QUrl::fromLocalFile("NotFound")); + mySideBar.removeSelection(); + + //We remove the second entry + expected.clear(); + QCOMPARE(mySideBar.urls(), expected); + + current.rmdir("testDir"); +#endif +} + +void tst_QFiledialog::task254490_selectFileMultipleTimes() +{ + QString tempPath = QDir::tempPath(); + QTemporaryFile *t; + t = new QTemporaryFile; + t->open(); + QNonNativeFileDialog fd(0, "TestFileDialog"); + + fd.setDirectory(tempPath); + fd.setViewMode(QFileDialog::List); + fd.setAcceptMode(QFileDialog::AcceptSave); + fd.setFileMode(QFileDialog::AnyFile); + + //This should select the file in the QFileDialog + fd.selectFile(t->fileName()); + + //This should clear the selection and write it into the filename line edit + fd.selectFile("new_file.txt"); + + fd.show(); + QTest::qWait(250); + + QLineEdit *lineEdit = qFindChild(&fd, "fileNameEdit"); + QVERIFY(lineEdit); + QCOMPARE(lineEdit->text(),QLatin1String("new_file.txt")); + QListView *list = qFindChild(&fd, "listView"); + QVERIFY(list); + QCOMPARE(list->selectionModel()->selectedRows(0).count(), 0); + + t->deleteLater(); +} + +void tst_QFiledialog::task257579_sideBarWithNonCleanUrls() +{ +#if defined QT_BUILD_INTERNAL + QDir tempDir = QDir::temp(); + QLatin1String dirname("autotest_task257579"); + tempDir.rmdir(dirname); //makes sure it doesn't exist any more + QVERIFY(tempDir.mkdir(dirname)); + QString url = QString::fromLatin1("%1/%2/..").arg(tempDir.absolutePath()).arg(dirname); + QNonNativeFileDialog fd; + fd.setSidebarUrls(QList() << QUrl::fromLocalFile(url)); + QSidebar *sidebar = qFindChild(&fd, "sidebar"); + QCOMPARE(sidebar->urls().count(), 1); + QVERIFY(sidebar->urls().first().toLocalFile() != url); + QCOMPARE(sidebar->urls().first().toLocalFile(), QDir::cleanPath(url)); + +#ifdef Q_OS_WIN + QCOMPARE(sidebar->model()->index(0,0).data().toString().toLower(), tempDir.dirName().toLower()); +#else + QCOMPARE(sidebar->model()->index(0,0).data().toString(), tempDir.dirName()); +#endif + + //all tests are finished, we can remove the temporary dir + QVERIFY(tempDir.rmdir(dirname)); +#endif +} + +void tst_QFiledialog::task259105_filtersCornerCases() +{ + QNonNativeFileDialog fd(0, "TestFileDialog"); + fd.setNameFilter(QLatin1String("All Files! (*);;Text Files (*.txt)")); + fd.setOption(QFileDialog::HideNameFilterDetails, true); + fd.show(); + QTest::qWait(250); + + //Extensions are hidden + QComboBox *filters = qFindChild(&fd, "fileTypeCombo"); + QVERIFY(filters); + QCOMPARE(filters->currentText(), QLatin1String("All Files!")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files")); + + //We should have the full names + fd.setOption(QFileDialog::HideNameFilterDetails, false); + QTest::qWait(250); + filters->setCurrentIndex(0); + QCOMPARE(filters->currentText(), QLatin1String("All Files! (*)")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files (*.txt)")); + + //Corner case undocumented of the task + fd.setNameFilter(QLatin1String("\352 (I like cheese) All Files! (*);;Text Files (*.txt)")); + QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files! (*)")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files (*.txt)")); + + fd.setOption(QFileDialog::HideNameFilterDetails, true); + filters->setCurrentIndex(0); + QTest::qWait(500); + QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files!")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files")); + + fd.setOption(QFileDialog::HideNameFilterDetails, true); + filters->setCurrentIndex(0); + QTest::qWait(500); + QCOMPARE(filters->currentText(), QLatin1String("\352 (I like cheese) All Files!")); + filters->setCurrentIndex(1); + QCOMPARE(filters->currentText(), QLatin1String("Text Files")); +} + +void tst_QFiledialog::QTBUG4419_lineEditSelectAll() +{ + QString tempPath = QDir::tempPath(); + QTemporaryFile *t; + t = new QTemporaryFile; + t->open(); + QNonNativeFileDialog fd(0, "TestFileDialog", t->fileName()); + + fd.setDirectory(tempPath); + fd.setViewMode(QFileDialog::List); + fd.setAcceptMode(QFileDialog::AcceptSave); + fd.setFileMode(QFileDialog::AnyFile); + + fd.show(); + QApplication::setActiveWindow(&fd); + QTest::qWaitForWindowShown(&fd); + QTRY_COMPARE(fd.isVisible(), true); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&fd)); + + QTest::qWait(250); + QLineEdit *lineEdit = qFindChild(&fd, "fileNameEdit"); + + QCOMPARE(tempPath + QChar('/') + lineEdit->text(), t->fileName()); + QCOMPARE(tempPath + QChar('/') + lineEdit->selectedText(), t->fileName()); +} + +QTEST_MAIN(tst_QFiledialog) +#include "tst_qfiledialog2.moc" -- cgit v0.12 From c1c2e9c395398021381b30f917f92be58087af11 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 14 Oct 2009 15:47:03 +0300 Subject: Changed "Qt for S60" -> "Qt for Symbian" in configure. Reviewed-by: axis --- tools/configure/configureapp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index b9f8ed8..a0db867 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -3717,7 +3717,7 @@ void Configure::readLicense() (dictionary.value("QMAKESPEC").startsWith("wince") || dictionary.value("XQMAKESPEC").startsWith("wince"))) dictionary["PLATFORM NAME"] = "Qt for Windows CE"; else if (dictionary.value("XQMAKESPEC").startsWith("symbian")) - dictionary["PLATFORM NAME"] = "Qt for S60"; + dictionary["PLATFORM NAME"] = "Qt for Symbian"; else dictionary["PLATFORM NAME"] = "Qt for Windows"; dictionary["LICENSE FILE"] = sourcePath; -- cgit v0.12 From cad0ead9c2c5d533044fd469f5528e1e47cb9c0f Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 14 Oct 2009 15:48:27 +0300 Subject: Synced QT_BUILD_PARTS in .qmake.cache and projects.pro for Symbian. Projects.pro is forcing QT_BUILD_PARTS to omit docs and translations, but configure still outputted those into .qmake.cache. Fixed configure to also omit them for Symbian builds to make building demos work equally whether built by from root or not. Task-number: QT-1018 Reviewed-by: axis --- tools/configure/configureapp.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index a0db867..f57f3a8 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -1465,6 +1465,9 @@ void Configure::applySpecSpecifics() dictionary[ "SQL_SQLITE" ] = "yes"; dictionary[ "SQL_SQLITE_LIB" ] = "system"; + // Disable building docs and translations for now + disabledBuildParts << "docs" << "translations"; + } else if(dictionary[ "XQMAKESPEC" ].startsWith("linux")) { //TODO actually wrong. //TODO dictionary[ "STYLE_WINDOWSXP" ] = "no"; -- cgit v0.12 From d5f794c5c0552e651e3ca558eeb311c96d41860f Mon Sep 17 00:00:00 2001 From: Liang QI Date: Wed, 14 Oct 2009 14:56:41 +0200 Subject: Fix tst_QSidebar::addUrls() on Symbian. On Symbian, QDir::rootPath() and QDir::home() are same. RevBy: Janne Anttila --- tests/auto/qsidebar/tst_qsidebar.cpp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/tests/auto/qsidebar/tst_qsidebar.cpp b/tests/auto/qsidebar/tst_qsidebar.cpp index 7b157f6..b810305 100644 --- a/tests/auto/qsidebar/tst_qsidebar.cpp +++ b/tests/auto/qsidebar/tst_qsidebar.cpp @@ -122,6 +122,12 @@ void tst_QSidebar::addUrls() QSidebar qsidebar; qsidebar.init(&fsmodel, emptyUrls); QAbstractItemModel *model = qsidebar.model(); +#if defined(Q_OS_SYMBIAN) + // On Symbian, QDir::rootPath() and QDir::home() are same. + QDir testDir = QDir::currentPath(); +#else + QDir testDir = QDir::home(); +#endif // default QCOMPARE(model->rowCount(), 0); @@ -146,13 +152,13 @@ void tst_QSidebar::addUrls() // test inserting with already existing rows QList moreUrls; - moreUrls << QUrl::fromLocalFile(QDir::home().absolutePath()); + moreUrls << QUrl::fromLocalFile(testDir.absolutePath()); qsidebar.addUrls(moreUrls, -1); QCOMPARE(model->rowCount(), 3); // make sure invalid urls are still added QList badUrls; - badUrls << QUrl::fromLocalFile(QDir::home().absolutePath() + "/I used to exist"); + badUrls << QUrl::fromLocalFile(testDir.absolutePath() + "/I used to exist"); qsidebar.addUrls(badUrls, 0); QCOMPARE(model->rowCount(), 4); @@ -179,30 +185,30 @@ void tst_QSidebar::addUrls() QList doubleUrls; //tow exact same paths, we have only one entry - doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath()); - doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath()); + doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); + doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); qsidebar.setUrls(emptyUrls); qsidebar.addUrls(doubleUrls, 1); QCOMPARE(qsidebar.urls().size(), 1); // Two paths that are effectively pointing to the same location - doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath()); - doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath() + "/."); + doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); + doubleUrls << QUrl::fromLocalFile(testDir.absolutePath() + "/."); qsidebar.setUrls(emptyUrls); qsidebar.addUrls(doubleUrls, 1); QCOMPARE(qsidebar.urls().size(), 1); #if defined(Q_OS_WIN) //Windows is case insensitive so no duplicate entries in that case - doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath()); - doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath().toUpper()); + doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); + doubleUrls << QUrl::fromLocalFile(testDir.absolutePath().toUpper()); qsidebar.setUrls(emptyUrls); qsidebar.addUrls(doubleUrls, 1); QCOMPARE(qsidebar.urls().size(), 1); #else //Two different paths we should have two entries - doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath()); - doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath().toUpper()); + doubleUrls << QUrl::fromLocalFile(testDir.absolutePath()); + doubleUrls << QUrl::fromLocalFile(testDir.absolutePath().toUpper()); qsidebar.setUrls(emptyUrls); qsidebar.addUrls(doubleUrls, 1); QCOMPARE(qsidebar.urls().size(), 2); -- cgit v0.12 From abd7458af2dea8edf7f1805dc7909e3a86ff2958 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 14 Oct 2009 16:13:15 +0300 Subject: Rebuilt configure.exe. Reviewed-by: Janne Koskinen --- configure.exe | Bin 2362880 -> 2170880 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/configure.exe b/configure.exe index 838889c..dabf10c 100755 Binary files a/configure.exe and b/configure.exe differ -- cgit v0.12 From 81bc22dbd71e2dd0e25156e753afc6d94d808de9 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 14 Oct 2009 15:27:02 +0200 Subject: Update Polish translations --- translations/assistant_adp_pl.ts | 60 +- translations/assistant_pl.ts | 338 +- translations/designer_pl.ts | 912 +++-- translations/linguist_pl.ts | 419 +-- translations/qt_help_pl.ts | 72 +- translations/qt_pl.ts | 6921 +++++++++++++++++++++++++------------- translations/qtconfig_pl.ts | 16 +- translations/qvfb_pl.ts | 41 +- 8 files changed, 5353 insertions(+), 3426 deletions(-) diff --git a/translations/assistant_adp_pl.ts b/translations/assistant_adp_pl.ts index 4b845f2..17c2c5c 100644 --- a/translations/assistant_adp_pl.ts +++ b/translations/assistant_adp_pl.ts @@ -286,11 +286,6 @@ Assistant nie będzie działał! - Enter searchword(s). - Wprowadź wyrażenie(a) do szukania. - - - <b>Enter search word(s).</b><p>Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.</p> <b>Wprowadź wyrażenie(a) do szukania.<b><p>Wprowadź w tym okienku wyrażenia, których szukasz. Wyrażenia mogą zawierać znaczniki (*). Dla wyszukania ciągu wyrażeń umieść całość w cudzysłowie.</p> @@ -306,11 +301,6 @@ Assistant nie będzie działał! - Display the help page. - Pokaż stronę pomocy. - - - Display the help page for the full text search. Pokaż stronę pomocy dla pełnego wyszukiwania. @@ -321,11 +311,6 @@ Assistant nie będzie działał! - Start searching. - Rozpocznij wyszukiwanie. - - - Pressing this button starts the search. Naciśnięcie tego przycisku powoduje rozpoczęcie wyszukiwania. @@ -343,6 +328,21 @@ Assistant nie będzie działał! Znaleziono %n dokumentów. + + + Enter searchword(s) + Wprowadź wyrażenie(a) do szukania + + + + Display the help page + Pokaż stronę pomocy + + + + Start searching + Rozpocznij wyszukiwanie + HelpWindow @@ -425,7 +425,7 @@ Assistant nie będzie działał! Ctrl+M - + Initializing Qt Assistant... Inicjalizowanie Qt Assistant... @@ -480,15 +480,7 @@ Assistant nie będzie działał! Pokazuje główną stronę wybranego zestawu dokumentacji. - Open Source Edition - Wydanie Open Source - - - This version of Qt Assistant is part of the Qt Open Source Edition, for use in the development of Open Source applications. Qt is a comprehensive C++ framework for cross-platform application development. - Ta wersja Qt Assistant jest częścią wydania Qt Open Source, przeznaczonego do tworzenia aplikacji Open Source. Qt zawiera obszerny zestaw bibliotek wykorzystywanych do pisania przenośnych aplikacji. - - - + Qt Assistant Qt Assistant @@ -499,7 +491,7 @@ Assistant nie będzie działał! Nie można otworzyć pliku: '%1' z informacjami o aplikacji - + ... ... @@ -515,13 +507,9 @@ Assistant nie będzie działał! Nie można otworzyć pliku do zapisu! - Qt Assistant by Trolltech - Qt Assistant Trolltech'a - - Qt Assistant by Nokia - + Qt Assistant Nokii @@ -858,21 +846,13 @@ Assistant nie będzie działał! Font Settings... Ustawienia czcionki... - - You need a commercial Qt license for development of proprietary (closed source) applications. Please see <a href="http://qt.nokia.com/company/model">qt.nokia.com/company/model</a> for an overview of Qt licensing. - Aby móc tworzyć przy pomocy Qt własne aplikacje bez publikowania kodu (closed source) potrzebujesz wydania komercyjnego. Opis sposobów licencjonowania Qt znajduje się na stronie <a href="http://qt.nokia.com/company/model.html">qt.nokia.com/company/model.html</a>. - QObject - Qt Assistant by Trolltech - Qt Assistant Trolltech'a - - Qt Assistant by Nokia - + Qt Assistant Nokii diff --git a/translations/assistant_pl.ts b/translations/assistant_pl.ts index 7c99c8b..069b5a0 100644 --- a/translations/assistant_pl.ts +++ b/translations/assistant_pl.ts @@ -31,11 +31,11 @@ BookmarkDialog - + - - - + + + Bookmarks Zakładki @@ -65,7 +65,7 @@ Nowy katalog - + Delete Folder Usuń katalog @@ -78,12 +78,12 @@ BookmarkManager - + Bookmarks Zakładki - + Remove Usuń @@ -93,7 +93,7 @@ Zamierzasz usunąć katalog co spowoduje również usunięcie jego zawartości. Czy chcesz kontynuować? - + New Folder Nowy katalog @@ -102,25 +102,17 @@ BookmarkWidget - + Filter: Filtr: - Bookmarks - Zakładki - - - + Remove Usuń - You are going to delete a Folder, this will also<br>remove it's content. Are you sure to continue? - Zamierzasz usunąć katalog co spowoduje również usunięcie jego zawartości. Czy chcesz kontynuować? - - - + Delete Folder Usuń katalog @@ -150,7 +142,7 @@ Zmień nazwę zakładki - + Add Dodaj @@ -158,7 +150,7 @@ CentralWidget - + Add new page Dodaj nową stronę @@ -168,38 +160,38 @@ Zamknij bieżącą stronę - + Print Document Wydrukuj dokument - + unknown nieznany - + Add New Page Dodaj nową stronę - + Close This Page Zamknij tą stronę - + Close Other Pages Zamknij inne strony - + Add Bookmark for this Page... Dodaj zakładkę dla tej strony... - + Search Wyszukaj @@ -207,7 +199,7 @@ ContentWindow - + Open Link Otwórz odsyłacz @@ -220,10 +212,6 @@ FilterNameDialogClass - FilterNameDialog - FilterNameDialog - - Add Filter Name Dodaj nazwę filtru @@ -237,17 +225,17 @@ FindWidget - + Previous Poprzedni - + Next Następny - + Case Sensitive Uwzględniaj wielkość liter @@ -293,17 +281,11 @@ HelpViewer - + Help Pomoc - Unable to launch web browser. - - Nie można uruchomić przeglądarki internetowej. - - - OK OK @@ -324,12 +306,12 @@ Otwórz odsyłacz w nowej karcie Ctrl+LMB - + Open Link in New Tab Otwórz odsyłacz w nowej karcie - + Unable to launch external application. Nie można uruchomić zewnętrznej aplikacji. @@ -357,13 +339,13 @@ InstallDialog - + Install Documentation Zainstaluj dokumentację - + Downloading documentation info... Pobieranie informacji o dokumentacji... @@ -457,48 +439,43 @@ MainWindow - - + + Index Indeks - - + + Contents Spis treści - - + + Bookmarks Zakładki - - + Search Wyszukaj - - - + + + Qt Assistant Qt Assistant - - + + Unfiltered Nieprzefiltrowany - File - Plik - - - + Page Set&up... &Ustawienia strony... @@ -513,103 +490,62 @@ Wy&drukuj... - CTRL+P - CTRL+P - - - + New &Tab Nowa kar&ta - CTRL+T - CTRL+T - - &Close Tab &Zamknij kartę - CTRL+W - CTRL+W - - &Quit Za&kończ - - CTRL+Q - CTRL+Q - - - Edit - Edycja - - - + &Copy selected Text S&kopiuj zaznaczony tekst - Ctrl+C - Ctrl+C - - - + &Find in Text... Znajdź w &tekście... - Ctrl+F - Ctrl+F - - - + Find &Next Znajdź &następny - F3 - F3 - - Find &Previous Znajdź &poprzedni - Shift+F3 - Shift+F3 - - Preferences... Ustawienia... - View - Widok - - Zoom &in Po&większ - + Zoom &out Po&mniejsz - + Normal &Size Normalny &rozmiar - + Ctrl+0 Ctrl+0 @@ -624,30 +560,17 @@ ALT+I - ALT+B - ALT+B - - ALT+S ALT+S - Go - Nawigacja - - &Home Strona &startowa - - Ctrl+Home - - - - + &Back &Wstecz @@ -657,12 +580,12 @@ W &przód - + Sync with Table of Contents Znajdź bieżącą stronę w spisie treści - + Next Page Następna strona @@ -687,21 +610,17 @@ Dodaj zakładkę... - Help - Pomoc - - - + About... Informacje o programie... - + Navigation Toolbar Pasek do nawigacji - + Toolbars Paski narzędzi @@ -726,35 +645,27 @@ Adres: - + Could not find the associated content item. Nie można znaleźć skojarzonego elementu zawartości. - Open Source Edition - Edycja Open Source - - - This version of Qt Assistant is part of the Qt Open Source Edition, for use in the development of Open Source applications. Qt is a comprehensive C++ framework for cross-platform application development. - Ta wersja Qt Assistant jest częścią wydania Qt Open Source, przeznaczonego do tworzenia aplikacji Open Source. Qt zawiera obszerny zestaw bibliotek wykorzystywanych do pisania przenośnych aplikacji. - - - + About %1 Informacje o %1 - + Updating search index Uaktualnianie indeksu wyszukiwawczego - + Looking for Qt Documentation... Szukanie dokumentacji Qt... - + &Window &Okno @@ -774,54 +685,47 @@ Powiększenie - Add - Dodaj - - - Remove - Usuń - - - You need a commercial Qt license for development of proprietary (closed source) applications. Please see <a href="http://qt.nokia.com/company/about/businessmodel">http://qt.nokia.com/company/about/businessmodel</a> for an overview of Qt licensing. - Aby móc tworzyć przy pomocy Qt własne aplikacje bez publikowania kodu (closed source) potrzebujesz wydania komercyjnego. Opis sposobów licencjonowania Qt znajduje się na stronie <a href="http://qt.nokia.com/company/model.html">qt.nokia.com/company/model.html</a>. - - - + &File &Plik - + &Edit &Edycja - + &View &Widok - + &Go &Nawigacja + + ALT+Home + ALT+Home + + &Bookmarks &Zakładki - + &Help &Pomoc - + ALT+O ALT+O - + CTRL+D CTRL+D @@ -829,49 +733,48 @@ PreferencesDialog - - - + + Add Documentation Dodaj dokumentację - + Qt Compressed Help Files (*.qch) Skompresowane pliki pomocy Qt (*.qch) - + The specified file is not a valid Qt Help File! Podany plik nie jest poprawnym plikiem pomocy Qt! - + The namespace %1 is already registered! Przestrzeń nazw %1 jest już zarejestrowana! - + Remove Documentation - + Usuń dokumentację Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents. - + Niektóre dokumenty otwarte w Assistant odwołują sie do dokumentacji którą próbujesz usunąć. Usunięcie dokumentacji spowoduje zamknięcie tych dokumentów. Cancel - Anuluj + Anuluj OK - OK + OK - + Use custom settings Użyj własnych ustawień @@ -949,50 +852,55 @@ Dodaj... - Network - Sieć + + Options + Opcje - Use Http Proxy - Użyj pośrednika http + + Current Page + Bieżąca strona - Http Proxy: - Pośrednik http: + + Restore to default + Przywróć domyślną - Port: - Port: + + Homepage + Strona startowa - Options - Opcje + On help start: + Po uruchomieniu - Current Page - Bieżąca strona + Show my home page + Pokaż stronę startową - Restore to default - Przywróć domyślne + Show a blank page + Pokaż pustą stronę - Homepage - Strona startowa + Show my tabs from last session + Pokaż moje karty z ostatniej sesji + + + + Blank Page + Pusta strona QObject - New Folder - Nowy katalog - - - + The specified collection file does not exist! Podany plik z kolekcją nie istnieje! @@ -1040,10 +948,10 @@ Missing filter argument! - + Brak argumentu filtra! - + Unknown option: %1 Nieznana opcja: %1 @@ -1054,7 +962,7 @@ Qt Assistant - + Could not register documentation file %1 @@ -1090,7 +998,7 @@ Powód: Dokumentacja poprawnie wyrejestrowana. - + Cannot load sqlite database driver! Nie można odczytać sterownika bazy danych sqlite! @@ -1099,17 +1007,11 @@ Powód: The specified collection file could not be read! Podany plik z kolekcją nie może być odczytany! - - - - Bookmark - Zakładka - RemoteControl - + Debugging Remote Control Zdalne debugowanie @@ -1122,7 +1024,7 @@ Powód: SearchWidget - + &Copy S&kopiuj @@ -1132,21 +1034,15 @@ Powód: Skopiuj &odsyłacz - - + Open Link in New Tab Otwórz odsyłacz w nowej karcie - + Select All Zaznacz wszystko - - - Open Link - Otwórz odsyłacz - TopicChooser diff --git a/translations/designer_pl.ts b/translations/designer_pl.ts index d82d00f..001b54a 100644 --- a/translations/designer_pl.ts +++ b/translations/designer_pl.ts @@ -2,31 +2,6 @@ - - - - <object> - <obiekt> - - - - <signal> - <sygnał> - - - - <slot> - <slot> - - - - The moose in the noose -ate the goose who was loose. - W Szczebrzeszynie -chrząszcz brzmi w trzcinie. - - - AbstractFindWidget @@ -203,34 +178,6 @@ chrząszcz brzmi w trzcinie. - BrushManagerProxy - - - The element '%1' is missing the required attribute '%2'. - Brak atrybutu '%2' w elemencie '%1'. - - - - Empty brush name encountered. - Wystąpiła pusta nazwa szczotki. - - - - An unexpected element '%1' was encountered. - Wystąpił niespodziewany element '%1'. - - - - An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4 - Wystąpił błąd podczas czytania pliku z definicją szczotki '%1' w linii %2, w kolumnie %3: %4 - - - - An error occurred when reading the resource file '%1' at line %2, column %3: %4 - Wystąpił błąd podczas czytania pliku z zasobami '%1' w linii %2, w kolumnie %3: %4 - - - BrushPropertyManager @@ -340,7 +287,7 @@ chrząszcz brzmi w trzcinie. Change signal-slot connection - + Zmień połączenie sygnału ze slotem @@ -454,9 +401,7 @@ chrząszcz brzmi w trzcinie. Strona - - - + page strona @@ -469,12 +414,7 @@ chrząszcz brzmi w trzcinie. Wstaw stronę - - tab - tab - - - + Change Tab order Zmień kolejność tabulacji @@ -566,7 +506,7 @@ chrząszcz brzmi w trzcinie. Usuń pasek narzędzi - + Set action text Ustaw tekst akcji @@ -577,12 +517,12 @@ chrząszcz brzmi w trzcinie. - + Move action Przenieś akcję - + Change Title Zmień tytuł @@ -627,7 +567,7 @@ chrząszcz brzmi w trzcinie. Uprość rozmieszczenie w siatce - + Create button group Utwórz grupę przycisków @@ -681,7 +621,7 @@ chrząszcz brzmi w trzcinie. Zmień skrypt - + Changed '%1' of '%2' Zmień '%1' w '%2' @@ -761,6 +701,24 @@ chrząszcz brzmi w trzcinie. + ConnectionDelegate + + + <object> + <obiekt> + + + + <signal> + <sygnał> + + + + <slot> + <slot> + + + DPI_Chooser @@ -784,12 +742,12 @@ chrząszcz brzmi w trzcinie. Designer - + Qt Designer Qt Designer - + Custom Widgets Własne widżety @@ -809,22 +767,32 @@ chrząszcz brzmi w trzcinie. %1 przekroczony czas operacji. - + This file cannot be read because it was created using %1. Nie można odczytać pliku ponieważ został utworzony przy użyciu %1. - + This file cannot be read because the extra info extension failed to load. Nie można odczytać pliku ponieważ dodatkowe informacje nie mogły zostać załadowane. - + The converted file could not be read. Nie można odczytać skonwertowanego pliku. - + + Invalid UI file: The root element <ui> is missing. + Niepoprawny plik UI: brak głównego elementu <ui>. + + + + An error has occurred while reading the UI file at line %1, column %2: %3 + Wystąpił błąd podczas czytania zawartości pliku UI, linia %1, kolumna %2: %3 + + + This file was created using Designer from Qt-%1 and cannot be read. Ten plik został utworzony za pomocą Qt Designer w wersji %1 i nie można go odczytać. @@ -839,17 +807,7 @@ chrząszcz brzmi w trzcinie. Możliwe że zapomniałeś utworzyć rozmieszczenia? - - Invalid ui file: The root element <ui> is missing. - Niepoprawny plik ui: brak głównego elementu <ui>. - - - - An error has occurred while reading the ui file at line %1, column %2: %3 - Wystąpił błąd podczas czytania zawartości pliku ui, linia %1, kolumna %2: %3 - - - + This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer. Ten plik został utworzony za pomocą Qt Designer w wersji %1 i będzie skonwertowany przez Qt Designer'a do nowego formularza. @@ -995,51 +953,11 @@ chrząszcz brzmi w trzcinie. EmbeddedOptionsControl - None - Żadne - - - Add a profile - Dodaj profil - - - Edit the selected profile - Edytuj zaznaczony profil - - - Delete the selected profile - Usuń zaznaczony profil - - - Add Profile - Dodaj profil - - - New profile - Nowy profil - - - Edit Profile - Edytuj profil - - - Delete Profile - Usuń profil - - - Would you like to delete the profile '%1'? - Czy chcesz usunać profil '%1'? - - - + <html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Style</b></td><td>%3</td></tr><tr><td><b>Resolution</b></td><td>%4 x %5</td></tr></table></html> Format embedded device profile description <html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Styl</b></td><td>%3</td></tr><tr><td><b>Rozdzielczość</b></td><td>%4 x %5</td></tr></table></html> - - Default - Domyślny - EmbeddedOptionsPage @@ -1110,7 +1028,7 @@ chrząszcz brzmi w trzcinie. FormBuilder - + Invalid stretch value for '%1': '%2' Parsing layout stretch values Niepoprawna wartość rozciągniecia dla '%1': '%2' @@ -1192,7 +1110,7 @@ chrząszcz brzmi w trzcinie. FormWindow - + Unexpected element <%1> Niespodziewany element <%1> @@ -1268,7 +1186,7 @@ chrząszcz brzmi w trzcinie. IconSelector - + All Pixmaps ( Wszystkie pixmapy ( @@ -1283,14 +1201,6 @@ chrząszcz brzmi w trzcinie. - LanguageResourceDialog - - - Choose Resource - Wybierz zasób - - - MainWindowBase @@ -1378,17 +1288,9 @@ chrząszcz brzmi w trzcinie. - NewFormWidget - - - Unable to open the form template file '%1': %2 - Nie można otworzyć pliku '%1' z szablonem formularza: %2 - - - ObjectInspectorModel - + Object Obiekt @@ -1411,7 +1313,7 @@ chrząszcz brzmi w trzcinie. ObjectNameDialog - + Change Object Name Zmień nazwę obiektu @@ -1422,73 +1324,16 @@ chrząszcz brzmi w trzcinie. - Oubliette - - Inventory - Spis - - - You have <B>No</B> Items - Nie masz <B>ŻADNYCH</B> elementów - - - You have %1 of %2 items - - Masz %1 z %2 elementu - Masz %1 z %2 elementów - Masz %1 z %2 elementów - - - - OK - OK - - - Easter Egg Found - Znaleziono Jajo - - - Welcome to the Trolltech Business Card Hunt -Use the direction keys to move around and find the business cards for all the trolls. - Witamy w pościgu za wizytówkami Trolltech'a. -Użyj klawiszy kierunkowych aby przemieszczać się i znaleźć wizytówki wszystkich troli. - - - You Did It! - Zrobiłeś to! - - - That's rather anti-climatic - To raczej anty-klimatyczne - - - Quit - Zakończ - - - You've collected all the Trolltech cards. It took you %n steps. -There's nothing more here. You should get back to work. - - Zebrałeś wszystkie wizytówki Trolltech'a. Zabrało to Tobie %n krok. -Nie ma już nic więcej. Powinieneś zabrać się do pracy. - Zebrałeś wszystkie wizytówki Trolltech'a. Zabrało to Tobie %n kroki. -Nie ma już nic więcej. Powinieneś zabrać się do pracy. - Zebrałeś wszystkie wizytówki Trolltech'a. Zabrało to Tobie %n kroków. -Nie ma już nic więcej. Powinieneś zabrać się do pracy. - - - - PluginDialog Plugin Information - Informacje o wtyczkach + Informacje o wtyczkach 1 - 1 + 1 @@ -1502,21 +1347,6 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy. PreviewConfigurationWidget - - Default - Domyślny - - - - None - Żadna - - - - Browse... - Przeglądaj... - - Form Formularz @@ -1550,7 +1380,7 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy. PromotionModel - + Not used Usage of promoted widgets Nie używana @@ -1574,13 +1404,13 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy. - An error has occurred while reading the ui file at line %1, column %2: %3 + An error has occurred while reading the UI file at line %1, column %2: %3 Wystąpił błąd podczas czytania zawartości pliku ui, linia %1, kolumna %2: %3 - Invalid ui file: The root element <ui> is missing. - Niepoprawny plik ui: brak głównego elementu <ui>. + Invalid UI file: The root element <ui> is missing. + Niepoprawny plik UI: brak głównego elementu <ui>. @@ -1588,7 +1418,7 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy. Utworzenie widżetu klasy '%1' nie powiodło się. - + Attempt to add child that is not of class QWizardPage to QWizard. Próba dodania potomka który nie jest klasy QWizardPage do QWizard. @@ -1605,7 +1435,7 @@ To wskazuje na niespójność w pliku ui. Pusty element w %1 '%2'. - + Flags property are not supported yet. Właściwości typu flaga nie są jeszcze obsługiwane. @@ -1615,12 +1445,12 @@ To wskazuje na niespójność w pliku ui. Podczas przypisywania kolejności tabulacji: widżet '%1' nie został znaleziony. - + Invalid QButtonGroup reference '%1' referenced by '%2'. Niepoprawny odnośnik QButtonGroup '%1', użyty w '%2'. - + This version of the uitools library is linked without script support. Ta wersja biblioteki uitools nie zawiera obsługi skryptów. @@ -1752,42 +1582,37 @@ Skrypt: %3 QDesignerActions - + Clear &Menu Wyczyść &menu - + &Quit Za&kończ - - CTRL+Q - CTRL+Q - - - + Edit Widgets Edytuj widżety - + CTRL+R CTRL+R - + &Minimize &Zminimalizuj - + CTRL+M CTRL+M - + Bring All to Front Wszystkie na wierzch @@ -1797,7 +1622,7 @@ Skrypt: %3 Dodatkowe czcionki... - + Qt Designer &Help Pomo&c Qt Designer @@ -1869,41 +1694,41 @@ Czy chcesz spróbować ponownie lub zmienić nazwę pliku? Wybierz nowy plik - + %1 already exists. Do you want to replace it? %1 już istnieje. Czy chcesz go zastąpić? - + &Close Preview Za&mknij podgląd - + Preferences... Ustawienia... - + CTRL+SHIFT+S CTRL+SHIFT+S - + Designer UI files (*.%1);;All Files (*) Pliki Designer UI (*.%1);;Wszystkie pliki (*) - + Saved %1. Formularz %1 zachowany pomyślnie. - + Read error Błąd odczytu @@ -1935,7 +1760,7 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?Nie można zapisać pliku - + &New... &Nowy... @@ -1966,12 +1791,12 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz? - + &Close Za&mknij - + Save &Image... Zachowaj o&brazek... @@ -1986,7 +1811,7 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?Pokaż &kod... - + Save Form As Zachowaj formularz jako @@ -2064,7 +1889,7 @@ Czy chcesz spróbować ponownie? Wydrukowano %1. - + ALT+CTRL+S ALT+CTRL+S @@ -2122,17 +1947,17 @@ Czy chcesz spróbować ponownie? QDesignerFormBuilder - + Script errors occurred: Wystąpiły błędy w skrypcie: - + The preview failed to build. Nie można utworzyć podglądu. - + Designer Projektant @@ -2163,7 +1988,7 @@ Czy chcesz spróbować ponownie? QDesignerMenu - + Type Here Wpisz tutaj @@ -2173,7 +1998,7 @@ Czy chcesz spróbować ponownie? Dodaj separator - + Remove action '%1' Usuń akcję '%1' @@ -2184,12 +2009,12 @@ Czy chcesz spróbować ponownie? - + Add separator Dodaj separator - + Insert separator Wstaw separator @@ -2202,12 +2027,12 @@ Czy chcesz spróbować ponownie? QDesignerMenuBar - + Type Here Wpisz tutaj - + Remove Menu '%1' Usuń menu '%1' @@ -2225,12 +2050,27 @@ Czy chcesz spróbować ponownie? QDesignerPluginManager - + An XML error was encountered when parsing the XML of the custom widget %1: %2 Wystąpił błąd XML podczas przetwarzania kodu XML dla własnego widżetu %1: %2 - + + A required attribute ('%1') is missing. + Brak wymaganego atrybutu "%1". + + + + An invalid property specification ('%1') was encountered. Supported types: %2 + Wystąpiła błędna specyfikacja właściwości "%1". Obsługiwane typy: %2 + + + + '%1' is not a valid string property specification. + "%1" nie jest poprawną specyfikacją właściwości typu ciąg. + + + The XML of the custom widget %1 does not contain any of the elements <widget> or <ui>. Kod XML własnego widżetu %1 nie zawiera żadnego elementu <widget> ani <ui>. @@ -2248,7 +2088,7 @@ Czy chcesz spróbować ponownie? QDesignerPropertySheet - + Dynamic Properties Dynamiczne właściwości @@ -2256,15 +2096,16 @@ Czy chcesz spróbować ponownie? QDesignerResource - + The layout type '%1' is not supported, defaulting to grid. Rozmieszczenie typu '%1' nie jest obsługiwane. Będzie ono zastąpione siatką. - + The container extension of the widget '%1' (%2) returned a widget not managed by Designer '%3' (%4) when queried for page #%5. Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget. - + Rozszerzenie pojemnikowe widżetu "%1" (%2) zwróciło widżet który nie jest zarządzany przez Designera "%3" (%4) podczas pytania o stronę #%5. +Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w XML zwróconym przez metodę domXml() w widżecie użytkownika. @@ -2332,29 +2173,6 @@ Container pages should only be added by specifying them in XML returned by the d - QDesignerWidgetBox - - - An error has been encountered at line %1 of %2: %3 - Wystąpił błąd w linii %1 w %2: %3 - - - - Unexpected element <%1> encountered when parsing for <widget> or <ui> - Wystąpił niespodziewany element <%1> podczas przetwarzania elementu <widget> lub <ui> - - - - Unexpected end of file encountered when parsing widgets. - Wystąpił niespodziewany koniec pliku podczas przetwarzania widżetów. - - - - A widget element could not be found. - Nie można odnależć elementu <widget>. - - - QDesignerWorkbench @@ -2382,12 +2200,22 @@ Container pages should only be added by specifying them in XML returned by the d U&stawienia - + + Widget Box + Panel widżetów + + + The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them? Designer nie został poprawnie zamknięty w trakcie ostatniej sesji. Istnieją pliki zapasowe, czy chcesz je otworzyć? - + + The file <b>%1</b> is not a valid Designer UI file. + Plik <b>%1</b> nie jest poprawnym plikiem UI Designera. + + + &Window &Okno @@ -2407,7 +2235,7 @@ Container pages should only be added by specifying them in XML returned by the d Paski narzędzi - + Save Forms? Zachować formularze? @@ -2436,13 +2264,8 @@ Container pages should only be added by specifying them in XML returned by the d The file <b>%1</b> could not be opened. Nie można otworzyć pliku <b>%1</b>. - - - The file <b>%1</b> is not a valid Designer ui file. - Plik <b>%1</b> nie jest poprawnym plikiem Designer'a. - - + There are %n forms with unsaved changes. Do you want to review these changes before quitting? Jest %n formularz z niezachowanymi zmianami. Czy chcesz przejrzeć zmiany przed wyjściem z programu? @@ -2454,7 +2277,7 @@ Container pages should only be added by specifying them in XML returned by the d QFormBuilder - + An empty class name was passed on to %1 (object name: '%2'). Empty class name passed to widget factory method Pusta nazwa klasy została przekazana do %1 (nazwa obiektu: '%2'). @@ -2470,7 +2293,7 @@ Container pages should only be added by specifying them in XML returned by the d QFormBuilder nie mógł utworzyć widżetu klasy '%1'. - + The layout type `%1' is not supported. Typ rozmieszczenia '%1' nie jest obsługiwany. @@ -2494,16 +2317,6 @@ Container pages should only be added by specifying them in XML returned by the d The property %1 could not be written. The type %2 is not supported yet. Nie można zapisać właściwości %1. Typ %2 nie jest jeszcze obsługiwany. - - - The enumeration-value '%1' is invalid. The default value '%2' will be used instead. - Niepoprawna wartość "%1" typu wyliczeniowego. Użyta będzie domyślna wartość "%2". - - - - The flag-value '%1' is invalid. Zero will be used instead. - Niepoprawna wartość '%1' typu flaga. Użyta będzie zerowa wartość. - QStackedWidgetEventFilter @@ -2548,7 +2361,8 @@ Container pages should only be added by specifying them in XML returned by the d Strona %1 z %2 - + + Insert Page Wstaw stronę @@ -2556,7 +2370,7 @@ Container pages should only be added by specifying them in XML returned by the d QStackedWidgetPreviewEventFilter - + Go to previous page of %1 '%2' (%3/%4). Przejdź do poprzedniej strony %1 '%2' (%3/%4). @@ -2589,7 +2403,8 @@ Container pages should only be added by specifying them in XML returned by the d Strona %1 z %2 - + + Insert Page Wstaw stronę @@ -2651,7 +2466,7 @@ Container pages should only be added by specifying them in XML returned by the d QtBoolPropertyManager - + True Prawda @@ -2664,7 +2479,7 @@ Container pages should only be added by specifying them in XML returned by the d QtCharEdit - + Clear Char Wyczyść znak @@ -2672,7 +2487,7 @@ Container pages should only be added by specifying them in XML returned by the d QtColorEditWidget - + ... ... @@ -2680,7 +2495,7 @@ Container pages should only be added by specifying them in XML returned by the d QtColorPropertyManager - + Red Czerwień @@ -2801,7 +2616,7 @@ Container pages should only be added by specifying them in XML returned by the d QtFontEditWidget - + ... ... @@ -2814,7 +2629,7 @@ Container pages should only be added by specifying them in XML returned by the d QtFontPropertyManager - + Bold Pogrubiony @@ -2860,7 +2675,7 @@ Container pages should only be added by specifying them in XML returned by the d QtGradientEditor - + Start X Początek X @@ -2912,6 +2727,36 @@ Container pages should only be added by specifying them in XML returned by the d Kąt + + Linear + Liniowy + + + + Radial + Radialny + + + + Conical + Stożkowy + + + + Pad + Brak + + + + Repeat + Powtórzone + + + + Reflect + Odbite + + Form Formularz @@ -3135,7 +2980,7 @@ Container pages should only be added by specifying them in XML returned by the d QtGradientStopsWidget - + New Stop Nowy punkt @@ -3188,31 +3033,31 @@ Container pages should only be added by specifying them in XML returned by the d Czy na pewno chcesz usunąć zaznaczony gradient? - + New... Nowy... - - + + Edit... Edytuj... - - + + Rename Zmień nazwę - - + + Remove Usuń - + Gradient View Widok gradientów @@ -3220,7 +3065,6 @@ Container pages should only be added by specifying them in XML returned by the d QtGradientViewDialog - Select Gradient Wybierz gradient @@ -3237,7 +3081,7 @@ Container pages should only be added by specifying them in XML returned by the d QtLocalePropertyManager - + %1, %2 %1, %2 @@ -3255,7 +3099,7 @@ Container pages should only be added by specifying them in XML returned by the d QtPointFPropertyManager - + (%1, %2) (%1, %2) @@ -3273,7 +3117,7 @@ Container pages should only be added by specifying them in XML returned by the d QtPointPropertyManager - + (%1, %2) (%1, %2) @@ -3304,7 +3148,7 @@ Container pages should only be added by specifying them in XML returned by the d QtRectFPropertyManager - + [(%1, %2), %3 x %4] [(%1, %2), %3 x %4] @@ -3332,7 +3176,7 @@ Container pages should only be added by specifying them in XML returned by the d QtRectPropertyManager - + [(%1, %2), %3 x %4] [(%1, %2), %3 x %4] @@ -3389,12 +3233,12 @@ Czy chcesz go zastąpić? - + New Resource File Nowy plik z zasobami - + Resource files (*.qrc) Pliki z zasobami (*.qrc) @@ -3504,7 +3348,7 @@ jako: Zachowaj plik z zasobami - + Edit Resources Edytor zasobów @@ -3578,7 +3422,7 @@ jako: Język / Alias - + <html><p><b>Warning:</b> There have been problems while reloading the resources:</p><pre>%1</pre></html> <html><p><b>Ostrzeżenie:</b> Natrafiono na problemy podczas przeładowania zasobów:</p><pre>%1</pre></html> @@ -3633,12 +3477,12 @@ jako: Usuń zasób lub plik - + Could not write %1: %2 Nie można zapisać "%1", %2 - + Open Resource File Otwórz plik z zasobami @@ -3646,24 +3490,24 @@ jako: QtResourceView - + Size: %1 x %2 %3 Rozmiar: %1 x %2 %3 - + Edit Resources... Edytuj zasoby... - + Reload Przeładuj - + Copy Path Skopiuj ścieżkę @@ -3671,7 +3515,7 @@ jako: QtResourceViewDialog - + Select Resource Wybierz zasób @@ -3679,7 +3523,7 @@ jako: QtSizeFPropertyManager - + %1 x %2 %1 x %2 @@ -3697,10 +3541,10 @@ jako: QtSizePolicyPropertyManager - + <Invalid> - + <Niepoprawna> @@ -3731,7 +3575,7 @@ jako: QtSizePropertyManager - + %1 x %2 %1 x %2 @@ -3749,7 +3593,7 @@ jako: QtToolBarDialog - + < S E P A R A T O R > < S E P A R A T O R > @@ -3814,7 +3658,7 @@ jako: Akcje bieżącego paska narzędzi - + Custom Toolbar Własne paski narzędzi @@ -3935,7 +3779,7 @@ Czy chcesz nadpisać szablon? ScriptErrorDialog - + An error occurred while running the scripts for "%1": Wystąpił błąd podczas uruchamiana skryptu dla "%1": @@ -3957,12 +3801,12 @@ Czy chcesz nadpisać szablon? signal - + sygnał class - + klasa @@ -4069,32 +3913,20 @@ Czy chcesz nadpisać szablon? Qt Designer - - <h3>%1</h3><br/><br/>Version %2 - <h3>%1</h3><br/><br/>Wersja %2 + + %1<br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + - Open Source Edition - Wydanie Open Source + + <h3>%1</h3><br/><br/>Version %2 + <h3>%1</h3><br/><br/>Wersja %2 <br/>Qt Designer is a graphical user interface designer for Qt applications.<br/> <br/>Qt Designer jest aplikacją umożliwiającą projektowanie interfejsów graficznych użytkownika w aplikacjach korzystających z Qt.<br/> - - This program is licensed to you under the terms of the Qt Commercial License Agreement. For details, see the file LICENSE that came with this software distribution.<br/> - Ten program wydany jest na licencji Qt Commercial. Aby zapoznać się ze szczegółami licencji, proszę sprawdzić plik LICENSE, który dołączony jest do pakietu Qt.<br/> - - - - %1<br/>%2<br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/> - %1<br/>%2<br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). Wszystkie prawa zastrzeżone.<br/><br/>Program dostarczony jest BEZ ŻADNYCH GWARANCJI.<br/> - - - This version of Qt Designer is part of the Qt Open Source Edition, for use in the development of Open Source applications. Qt is a comprehensive C++ framework for cross-platform application development.<br/><br/>You need a commercial Qt license for development of proprietary (closed source) applications. Please see <a href="http://qt.nokia.com/company/about/businessmodel">http://qt.nokia.com/company/about/businessmodel.html</a> for an overview of Qt licensing.<br/> - Ta wersja Qt Designer jest częścią wydania Qt Open Source, przeznaczonego do tworzenia aplikacji Open Source. Qt zawiera obszerny zestaw bibliotek wykorzystywanych do pisania przenośnych aplikacji.<br/><br/>Aby móc tworzyć przy pomocy Qt własne aplikacje bez publikowania kodu (closed source) potrzebujesz wydania komercyjnego. Opis sposobów licencjonowania Qt znajduje się na stronie <a href="http://qt.nokia.com/company/model.html">qt.nokia.com/company/model.html</a>.<br/> - WidgetDataBase @@ -4107,7 +3939,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::ActionEditor - + Actions Akcje @@ -4122,7 +3954,7 @@ Czy chcesz nadpisać szablon? Usuń - + New action Nowa akcja @@ -4132,14 +3964,14 @@ Czy chcesz nadpisać szablon? Edytuj akcję - + Edit... Edytuj... Go to slot... - Przejdź do slotu... + Przejdź do slotu... @@ -4162,7 +3994,7 @@ Czy chcesz nadpisać szablon? Zaznacz wszystko - + Configure Action Editor Skonfiguruj edytor akcji @@ -4177,7 +4009,7 @@ Czy chcesz nadpisać szablon? Szczegółowy widok - + Remove actions Usuń akcje @@ -4226,9 +4058,37 @@ Czy chcesz nadpisać szablon? + qdesigner_internal::BrushManagerProxy + + + The element '%1' is missing the required attribute '%2'. + Brak wymaganego atrybutu '%2' w elemencie '%1'. + + + + Empty brush name encountered. + Wystąpiła pusta nazwa szczotki. + + + + An unexpected element '%1' was encountered. + Wystąpił niespodziewany element '%1'. + + + + An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4 + Wystąpił błąd podczas czytania pliku z definicją szczotki '%1' w linii %2, w kolumnie %3: %4 + + + + An error occurred when reading the resource file '%1' at line %2, column %3: %4 + Wystąpił błąd podczas czytania pliku z zasobami '%1' w linii %2, w kolumnie %3: %4 + + + qdesigner_internal::BuddyEditor - + Add buddy Dodaj skojarzoną etykietę @@ -4264,7 +4124,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::BuddyEditorPlugin - + Edit Buddies Edytuj skojarzone etykiety @@ -4272,7 +4132,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::BuddyEditorTool - + Edit Buddies Edytuj skojarzone etykiety @@ -4326,7 +4186,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::CodeDialog - + Save... Zachowaj... @@ -4384,7 +4244,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::ColorAction - + Text Color Color tekstu @@ -4392,7 +4252,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::ComboBoxTaskMenu - + Edit Items... Edytuj elementy... @@ -4484,7 +4344,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::ContainerWidgetTaskMenu - + Insert Page Before Current Page Wstaw stronę przed bieżącą stroną @@ -4547,7 +4407,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::DesignerPropertyManager - + AlignLeft Wyrównanie do lewej @@ -4783,52 +4643,52 @@ Czy chcesz nadpisać szablon? None - + Brak Add a profile - Dodaj profil + Dodaj profil Edit the selected profile - Edytuj zaznaczony profil + Edytuj zaznaczony profil Delete the selected profile - Usuń zaznaczony profil + Usuń zaznaczony profil Add Profile - Dodaj profil + Dodaj profil New profile - Nowy profil + Nowy profil Edit Profile - Edytuj profil + Edytuj profil Delete Profile - Usuń profil + Usuń profil Would you like to delete the profile '%1'? - Czy chcesz usunać profil '%1'? + Czy chcesz usunąć profil '%1'? Default - Domyślny + Domyślny @@ -4899,7 +4759,7 @@ Czy chcesz nadpisać szablon? Błąd wklejania - + Lay out Rozmieść @@ -4910,7 +4770,7 @@ Czy chcesz nadpisać szablon? Upuść widżet - + Paste %n action(s) Wklej %n akcję @@ -4938,7 +4798,7 @@ Czy chcesz nadpisać szablon? Wklej (%1 widżetów, %2 akcji) - + Select Ancestor Wybierz przodka @@ -4948,7 +4808,7 @@ Czy chcesz nadpisać szablon? Formularz bazujący na QMainWindow nie zawiera centralnego widżetu. - + Raise widgets Przenieś widżety na wierzch @@ -4961,7 +4821,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::FormWindowBase - + Delete Usuń @@ -4974,7 +4834,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::FormWindowManager - + Cu&t Wy&tnij @@ -5076,7 +4936,7 @@ Czy chcesz nadpisać szablon? Rozmieszcza zaznaczone widżety w pionie - + Lay Out in a &Grid Rozmieść w &siatce @@ -5126,12 +4986,12 @@ Czy chcesz nadpisać szablon? Podgląd bierzącego formularza - + Form &Settings... Us&tawienia formularza... - + Break Layout Usuń rozmieszczenie @@ -5152,7 +5012,7 @@ Czy chcesz nadpisać szablon? Ustawienia formularza - %1 - + Removes empty columns and rows Usuń puste kolumny i wiersze @@ -5226,7 +5086,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::GroupBoxTaskMenu - + Change title... Zmień tytuł... @@ -5242,7 +5102,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::IconSelector - + The pixmap file '%1' cannot be read. Nie można odczytać pliku z pixmapą %1. @@ -5262,7 +5122,7 @@ Czy chcesz nadpisać szablon? Błąd przy odczycie pixmapy - + ... ... @@ -5327,7 +5187,7 @@ Czy chcesz nadpisać szablon? Przywróć wszystkie - + Choose a Pixmap Wybierz pixmapę @@ -5340,13 +5200,13 @@ Czy chcesz nadpisać szablon? Własciwości &<< - + Properties &>> Własciwości &>> - + Items List Lista elementów @@ -5394,7 +5254,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::LabelTaskMenu - + Change rich text... Zmień tekst sformatowany... @@ -5405,9 +5265,17 @@ Czy chcesz nadpisać szablon? + qdesigner_internal::LanguageResourceDialog + + + Choose Resource + Wybierz zasób + + + qdesigner_internal::LineEditTaskMenu - + Change text... Zmień tekst... @@ -5415,7 +5283,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::ListWidgetEditor - + New Item Nowy element @@ -5433,7 +5301,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::ListWidgetTaskMenu - + Edit Items... Edytuj elementy... @@ -5469,7 +5337,7 @@ Czy chcesz nadpisać szablon? qdesigner_internal::MenuTaskMenu - + Remove Usuń @@ -5570,7 +5438,7 @@ Wybierz inną nazwę. qdesigner_internal::NewFormWidget - + Default size Domyślny rozmiar @@ -5616,7 +5484,12 @@ Wybierz inną nazwę. Błąd podczas ładowania formularza - + + Unable to open the form template file '%1': %2 + Nie można otworzyć pliku '%1' z szablonem formularza: %2 + + + Internal error: No template selected. Błąd wewnętrzny: Nie zaznaczono szablonu. @@ -5649,7 +5522,7 @@ Wybierz inną nazwę. qdesigner_internal::NewPromotedClassPanel - + Add Dodaj @@ -5687,7 +5560,7 @@ Wybierz inną nazwę. qdesigner_internal::ObjectInspector - + &Find in Text... Z&najdź w tekście... @@ -5703,7 +5576,7 @@ Wybierz inną nazwę. qdesigner_internal::OrderDialog - + Index %1 (%2) Indeks %1 (%2) @@ -5784,7 +5657,7 @@ Wybierz inną nazwę. qdesigner_internal::PaletteEditorButton - + Change Palette Zmień paletę @@ -5792,7 +5665,7 @@ Wybierz inną nazwę. qdesigner_internal::PaletteModel - + Color Role Rola koloru @@ -5844,7 +5717,7 @@ Wybierz inną nazwę. qdesigner_internal::PlainTextEditorDialog - + Edit text Edytuj tekst @@ -5872,10 +5745,6 @@ Wybierz inną nazwę. Qt Designer znalazł następujące wtyczki: - TextLabel - Etykieta - - Refresh Odśwież @@ -5890,10 +5759,6 @@ Wybierz inną nazwę. New custom widget plugins have been found. Znaleziono nową wtyczkę z widżetami. - - 1 - 1 - qdesigner_internal::PreviewActionGroup @@ -5904,9 +5769,27 @@ Wybierz inną nazwę. + qdesigner_internal::PreviewConfigurationWidget + + + Default + Domyślny + + + + None + Żadna + + + + Browse... + Przeglądaj... + + + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate - + Load Custom Device Skin Załaduj dostosowaną skórkę (skin) urządzenia @@ -5941,7 +5824,24 @@ Wybierz inną nazwę. qdesigner_internal::PreviewDeviceSkin - + + &Portrait + P&ortret + + + + Landscape (&CCW) + Rotate form preview counter-clockwise + Pejzaż (&CCW) + + + + &Landscape (CW) + Rotate form preview clockwise + P&ejzaż (CW) + + + &Close Za&mknij @@ -5949,12 +5849,23 @@ Wybierz inną nazwę. qdesigner_internal::PreviewManager - + %1 - [Preview] %1 - [Podgląd] + qdesigner_internal::PreviewMdiArea + + + The moose in the noose +ate the goose who was loose. + Palette editor background + W Szczebrzeszynie +chrząszcz brzmi w trzcinie. + + + qdesigner_internal::PreviewWidget @@ -6066,7 +5977,7 @@ Wybierz inną nazwę. qdesigner_internal::PropertyEditor - + Add Dynamic Property... Dodaj dynamiczną właściwość ... @@ -6096,7 +6007,7 @@ Wybierz inną nazwę. Widok z rozszerzalnymi przyciskami - + Configure Property Editor Skonfiguruj edytor właściwości @@ -6232,7 +6143,7 @@ Klasa: %2 no signals available - + brak dostępnych sygnałów @@ -6302,7 +6213,7 @@ Klasa: %2 qdesigner_internal::QDesignerWidgetBox - + Unexpected element <%1> Niespodziewany element <%1> @@ -6321,44 +6232,31 @@ Klasa: %2 Kod XML określony dla widżetu %1 nie zawiera żadnego elementu typu widżet. %2 - - - qdesigner_internal::QtGradientEditor - - - Linear - Liniowy - - - Radial - Radialny - - - - Conical - Stożkowy + + An error has been encountered at line %1 of %2: %3 + Wystąpił błąd w linii %1 w %2: %3 - - Pad - Brak + + Unexpected element <%1> encountered when parsing for <widget> or <ui> + Wystąpił niespodziewany element <%1> podczas przetwarzania elementu <widget> lub <ui> - - Repeat - Powtórzone + + Unexpected end of file encountered when parsing widgets. + Wystąpił niespodziewany koniec pliku podczas przetwarzania widżetów. - - Reflect - Odbite + + A widget element could not be found. + Nie można odnależć elementu <widget>. qdesigner_internal::QtGradientStopsController - + H H @@ -6533,17 +6431,17 @@ Klasa: %2 qdesigner_internal::ScriptDialog - + Edit script Edytuj skrypt - + Syntax error Błąd składni - + <html>Enter a Qt Script snippet to be executed while loading the form.<br>The widget and its children are accessible via the variables <i>widget</i> and <i>childWidgets</i>, respectively. <html>Wprowadź skrypt Qt który będzie wykonany podczas ładowania formularza.<br>Widżet i jego dzieci są dostępne przez zmienne <i>widget</i> i <i>childWidgets</i>, odpowiednio. @@ -6583,7 +6481,7 @@ Klasa: %2 qdesigner_internal::SignalSlotEditorPlugin - + Edit Signals/Slots Edytuj sygnały/sloty @@ -6596,7 +6494,7 @@ Klasa: %2 qdesigner_internal::SignalSlotEditorTool - + Edit Signals/Slots Edytuj sygnały/sloty @@ -6604,7 +6502,7 @@ Klasa: %2 qdesigner_internal::StatusBarTaskMenu - + Remove Usuń @@ -6612,7 +6510,7 @@ Klasa: %2 qdesigner_internal::StringListEditorButton - + Change String List Zmień listę tekstów @@ -6620,13 +6518,13 @@ Klasa: %2 qdesigner_internal::StyleSheetEditorDialog - + Edit Style Sheet Edytuj arkusz stylu - + Valid Style Sheet Poprawny arkusz stylu @@ -6636,7 +6534,7 @@ Klasa: %2 Niepoprawny arkusz stylu - + Add Resource... Dodaj zasób... @@ -6687,7 +6585,7 @@ Klasa: %2 qdesigner_internal::TabOrderEditorPlugin - + Edit Tab Order Edytuj kolejność tabulacji @@ -6695,7 +6593,7 @@ Klasa: %2 qdesigner_internal::TabOrderEditorTool - + Edit Tab Order Edytuj kolejność tabulacji @@ -6713,7 +6611,7 @@ Klasa: %2 &Elementy - + New Row Nowy wiersz @@ -6733,13 +6631,13 @@ Klasa: %2 Własciwości &<< - + Properties &>> Własciwości &>> - + Table Items Elementy tabeli @@ -6752,7 +6650,7 @@ Klasa: %2 qdesigner_internal::TableWidgetTaskMenu - + Edit Items... Edytuj elementy... @@ -6783,7 +6681,7 @@ Klasa: %2 qdesigner_internal::TextEditTaskMenu - + Change HTML... Zmień HTML... @@ -6806,7 +6704,7 @@ Klasa: %2 qdesigner_internal::TextEditor - + Choose Resource... Wybierz zasób... @@ -6816,12 +6714,12 @@ Klasa: %2 Wybierz plik... - + Choose a File Wybierz plik - + ... ... @@ -6829,7 +6727,7 @@ Klasa: %2 qdesigner_internal::ToolBarEventFilter - + Insert Separator Wstaw separator @@ -6872,7 +6770,7 @@ Klasa: %2 Drzewo elementów - + &Columns &Kolumny @@ -6887,30 +6785,30 @@ Klasa: %2 Wspólne właściwości - + New Item Nowy element - - + + New Subitem Nowy podelement - + Properties &<< Własciwości &<< - + Properties &>> Własciwości &>> - + New &Subitem Nowy &podelement @@ -6983,7 +6881,7 @@ Klasa: %2 qdesigner_internal::TreeWidgetTaskMenu - + Edit Items... Edytuj elementy... @@ -6991,7 +6889,7 @@ Klasa: %2 qdesigner_internal::WidgetBox - + Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML. Ostrzeżenie: Błąd tworzenia widżetu w panelu widżetów. Mogło to być spowodowane niepoprawnym kodem XML widżetu. @@ -7009,7 +6907,7 @@ Klasa: %2 Własne widżety - + Expand all Rozszerz wszystkie @@ -7050,7 +6948,7 @@ Klasa: %2 qdesigner_internal::WidgetEditorTool - + Edit Widgets Edytuj widżety @@ -7058,7 +6956,7 @@ Klasa: %2 qdesigner_internal::WidgetFactory - + The custom widget factory registered for widgets of class %1 returned 0. Fabryka widżetów użytkownika zarejestrowana dla widżetów klasy %1 zwróciła 0. @@ -7112,4 +7010,12 @@ To wskazuje na niespójność w pliku "ui". %1 % + + qdesigner_internal::ZoomablePreviewDeviceSkin + + + &Zoom + &Powiększenie + + diff --git a/translations/linguist_pl.ts b/translations/linguist_pl.ts index bcc46e5..93b3a1d 100644 --- a/translations/linguist_pl.ts +++ b/translations/linguist_pl.ts @@ -2,14 +2,6 @@ - - - - (New Entry) - (Nowe wyrażenie) - - - AboutDialog @@ -61,7 +53,7 @@ Set translated entries to finished - Ustaw przetłumaczone wpisy jako zrobione + Ustaw przetłumaczone wpisy jako ukończone @@ -70,11 +62,6 @@ - Note that the modified entries will be reset to unfinished if 'Set translated entries to finished' above is unchecked. - Zwróć uwagę że wpisy zmodyfikowane będą ustawione jako nieukończone jeśli znajdujące się powyżej 'Ustaw przetłumaczone wpisy jako ukończone' nie jest zaznaczone. - - - Translate also finished entries Przetłumacz również ukończone wpisy @@ -95,11 +82,6 @@ - The batch translator will search through the selected phrase books in the order given above. - Automatyczny tłumacz będzie przeszukiwał wybrane książki wyrażeń w porządku ustalonym powyżej. - - - &Run &Uruchom @@ -108,6 +90,16 @@ Cancel Anuluj + + + Note that the modified entries will be reset to unfinished if 'Set translated entries to finished' above is unchecked + Zwróć uwagę że zmodyfikowane wpisy będą ustawione jako nieukończone jeśli znajdujące się powyżej 'Ustaw przetłumaczone wpisy jako ukończone' nie jest zaznaczone + + + + The batch translator will search through the selected phrase books in the order given above + Automatyczny tłumacz będzie przeszukiwał wybrane książki wyrażeń w porządku ustalonym powyżej + DataModel @@ -135,7 +127,8 @@ Linguist does not know the plural rules for '%1'. Will assume a single universal form. - + Linguist nie zna reguł liczby mnogiej dla "%1". +Przyjmie on uniwersalną formę liczby pojedynczej. @@ -145,7 +138,7 @@ Will assume a single universal form. Universal Form - + Forma uniwersalna @@ -286,9 +279,58 @@ Will assume a single universal form. + FormMultiWidget + + + Alt+Delete + translate, but don't change + Alt+Delete + + + + Shift+Alt+Insert + translate, but don't change + Shift+Alt+Insert + + + + Alt+Insert + translate, but don't change + Alt+Insert + + + + Confirmation - Qt Linguist + Potwierdzenie - Qt Linguist + + + + Delete non-empty length variant? + Skasować niepusty wariant? + + + LRelease - + + Dropped %n message(s) which had no ID. + + Opuszczono %n wyrażenie które nie miało identyfikatora. + Opuszczono %n wyrażenia które nie miały identyfikatorów. + Opuszczono %n wyrażeń które nie miały identyfikatorów. + + + + + Excess context/disambiguation dropped from %n message(s). + + Opuszczono nadmiarowy kontekst / ujednoznacznienie w %n wyrażeniu. + Opuszczono nadmiarowe konteksty / ujednoznacznienia w %n wyrażeniach. + Opuszczono nadmiarowe konteksty / ujednoznacznienia w %n wyrażeniach. + + + + Generated %n translation(s) (%1 finished and %2 unfinished) @@ -383,11 +425,6 @@ Will assume a single universal form. - Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the .ts file. - Utwórz binarny plik ".qm" z tłumaczeniami na podstawie bieżącego tłumaczenia, gotowy do użycia w aplikacjach. Nazwa pliku będzie automatycznie określona na podstawie nazwy pliku ".ts" z bieżącym tłumaczeniem. - - - Ctrl+A Ctrl+A @@ -417,10 +454,6 @@ Will assume a single universal form. Ctrl+K - Ctrl+L - Ctrl+L - - Ctrl+N Ctrl+N @@ -461,10 +494,6 @@ Will assume a single universal form. Ctrl+Shift+K - Ctrl+Shift+L - Ctrl+Shift+L - - Ctrl+V Ctrl+V @@ -510,13 +539,13 @@ Will assume a single universal form. &Edycja + - Edit Edycja - + &Edit Phrase Book &Redaguj książkę wyrażeń @@ -551,13 +580,13 @@ Will assume a single universal form. F5 + - File Plik - + &File &Plik @@ -572,13 +601,13 @@ Will assume a single universal form. Podgląd formularzy + - Help Pomoc - + &Help P&omoc @@ -600,7 +629,7 @@ Will assume a single universal form. &Next Unfinished - &Następne niedokończone + &Następne nieukończone @@ -650,7 +679,7 @@ Will assume a single universal form. &Prev Unfinished - &Poprzednie niedokończone + &Poprzednie nieukończone @@ -673,14 +702,14 @@ Will assume a single universal form. W&ydaj - - + + Release As... Wydaj jako... - + Replace the translation on all entries that matches the search source text. Zamienia tłumaczenia we wszystkich pasujących do wzorca wpisach. @@ -691,7 +720,7 @@ Will assume a single universal form. - + Source text Tekst źródłowy @@ -703,17 +732,17 @@ Will assume a single universal form. - + Context Kontekst - + Items Elementy - + This panel lists the source contexts. Ten panel pokazuje listę kontekstów. @@ -744,7 +773,7 @@ Will assume a single universal form. MOD - + Loading... Ładowanie... @@ -798,14 +827,19 @@ Czy chcesz pominąć pierwszy plik? Plik zachowany. - - + + <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist is a tool for adding translations to Qt applications.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). + + + + + Release Wydaj - + Qt message files for released applications (*.qm) All files (*) Pliki z wydanymi tłumaczeniami (*.qm) @@ -818,7 +852,7 @@ Wszystkie pliki (*) Plik utworzony. - + Printing... Drukowanie... @@ -869,7 +903,7 @@ Wszystkie pliki (*) - + @@ -881,7 +915,7 @@ Wszystkie pliki (*) Qt Linguist - + Cannot find the string '%1'. Nie można znaleźć tekstu '%1'. @@ -892,37 +926,25 @@ Wszystkie pliki (*) Wyszukiwanie i tłumaczenie w '%1' - Qt Linguist - Translate - Przetłumacz - - - Translated %n entries to '%1' - - Przetłumaczono %n wpis na '%1' - Przetłumaczono %n wpisy na '%1' - Przetłumaczono %n wpisów na '%1' - - - Translate - Qt Linguist - + Tłumaczenie - Qt Linguist Translated %n entry(s) - - - - + + Przetłumaczono %n wpis + Przetłumaczono %n wpisy + Przetłumaczono %n wpisów No more occurrences of '%1'. Start over? - + Brak więcej "%1". Rozpocząć od nowa? @@ -993,23 +1015,6 @@ Wszystkie pliki (*) Wersja %1 - Open Source Edition - Wydanie Open Source - - - This version of Qt Linguist is part of the Qt Open Source Edition, for use in the development of Open Source applications. Qt is a comprehensive C++ framework for cross-platform application development.<br/><br/>You need a commercial Qt license for development of proprietary (closed source) applications. Please see <tt>http://qt.nokia.com/company/model.html</tt> for an overview of Qt licensing. - Ta wersja Qt Linguist jest częścią wydania Qt Open Source, przeznaczonego do tworzenia aplikacji Open Source. Qt zawiera obszerny zestaw bibliotek wykorzystywanych do pisania przenośnych aplikacji.<br/><br/>Aby móc tworzyć przy pomocy Qt własne aplikacje bez publikowania kodu (closed source) potrzebujesz wydania komercyjnego. Opis sposobów licencjonowania Qt znajduje się na stronie <a href="http://qt.nokia.com/company/model.html">qt.nokia.com/company/model.html</a>. - - - This program is licensed to you under the terms of the Qt Commercial License Agreement. For details, see the file LICENSE that came with this software distribution. - Ten program wydany jest na licencji Qt Commercial. Aby sprawdzić szczegóły licencji, proszę sprawdzić plik LICENSE, który dołączany jest do pakietu Qt. - - - - <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist is a tool for adding translations to Qt applications.</p><p>%2</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</p> - - - Do you want to save the modified files? Czy chcesz zachować zmodyfikowane pliki? @@ -1092,14 +1097,14 @@ Wszystkie pliki (*) &Zachowaj - - + + Save &As... Zachowaj j&ako... - + &Close Za&mknij @@ -1110,13 +1115,13 @@ Wszystkie pliki (*) Zachowaj wszystko - + &Release All Wydaj &wszystko - + Close All Zamknij wszystko @@ -1171,7 +1176,7 @@ Wszystkie pliki (*) Czy chcesz zachować książke wyrażeń '%1'? - + All Wszystko @@ -1227,11 +1232,6 @@ Wszystkie pliki (*) - Toggle checking that phrase suggestions are used. - Przełącz sprawdzanie czy użyto zasugerowanego wyrażenia. - - - &Toolbars Paski &narzędzi @@ -1241,24 +1241,24 @@ Wszystkie pliki (*) &Tłumaczenie - - + + Translation Tłumaczenie - + &Undo &Cofnij + - Validation Walidacja - + V&alidation W&alidacja @@ -1328,19 +1328,19 @@ Wszystkie pliki (*) Wy&szukiwanie i tłumaczenie... + - &Batch Translation... Automatyczne &tłumaczenie... - - + + Translation File &Settings... &Ustawienia pliku z tłumaczeniami... - + &Add to Phrase Book Dod&aj do książki wyrażeń @@ -1351,11 +1351,6 @@ Wszystkie pliki (*) - Previous unfinished item. - Poprzedni niedokończony element. - - - Recently Opened &Files Os&tatnio otwierane pliki @@ -1377,22 +1372,12 @@ Wszystkie pliki (*) Move to the previous unfinished item. - Przechodzi do poprzedniego niedokończonego elementu. - - - - Next unfinished item. - Następny niedokończony element. + Przechodzi do poprzedniego nieukończonego elementu. Move to the next unfinished item. - Przechodzi do następnego niedokończonego elementu. - - - - Move to previous item. - Przejdź do poprzedniego elementu. + Przechodzi do następnego nieukończonego elementu. @@ -1401,23 +1386,13 @@ Wszystkie pliki (*) - Next item. - Następny element. - - - Move to the next item. Przejdź do następnego elementu. - Mark item as done and move to the next unfinished item. - Oznacz element jako dokończony i przejdź do następnego niedokończonego elementu. - - - Mark this item as done and move to the next unfinished item. - Oznacz ten element jako dokończony i przejdź do następnego niedokończonego elementu. + Oznacz ten element jako ukończony i przejdź do następnego nieukończonego elementu. @@ -1426,21 +1401,11 @@ Wszystkie pliki (*) - Toggle the validity check of accelerators. - Przełącz sprawdzanie zgodności klawiszy skrótów. - - - Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window. Przełącz sprawdzanie zgodności klawiszy skrótów, tzn. czy liczba znaków: & w tekście źródłowym i w tłumaczeniu jest taka sama. W przypadku niezgodności pojawia się komunikat w oknie z ostrzeżeniami. - Toggle the validity check of ending punctuation. - Przełącz sprawdzanie zgodności końcowych znaków interpunkcyjnych. - - - Close Zamknij @@ -1461,29 +1426,95 @@ Wszystkie pliki (*) - Toggle the validity check of place markers. - Przełącz sprawdzanie zgodności znaczników. - - - Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window. Przełącz sprawdzanie zgodności znaczników, tzn. czy: %1, %2, ... są spójnie użyte w tekście źródłowym i tłumaczeniu. W przypadku niezgodności pojawia się komunikat w oknie z ostrzeżeniami. Ctrl+J - + Ctrl+J Ctrl+Shift+J - + Ctrl+Shift+J + + + + Previous unfinished item + Poprzedni nieukończony element + + + + Next unfinished item + Następny nieukończony element + + + + Move to previous item + Przejdź do poprzedniego elementu + + + + Next item + Następny element + + + + Mark item as done and move to the next unfinished item + Oznacz element jako ukończony i przejdź do następnego nieukończonego elementu + + + + Copies the source text into the translation field + Kopiuje tekst źródłowy do pola z tłumaczeniem + + + + Toggle the validity check of accelerators + Przełącz sprawdzanie zgodności klawiszy skrótów + + + + Toggle the validity check of ending punctuation + Przełącz sprawdzanie zgodności końcowych znaków interpunkcyjnych + + + + Toggle checking that phrase suggestions are used + Przełącz sprawdzanie czy użyto zasugerowanego wyrażenia + + + + Toggle the validity check of place markers + Przełącz sprawdzanie zgodności znaczników + + + + Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the TS file. + Utwórz binarny plik ".qm" z tłumaczeniami na podstawie bieżącego tłumaczenia, gotowy do użycia w aplikacjach. Nazwa pliku będzie automatycznie określona na podstawie nazwy pliku ".ts" z bieżącym tłumaczeniem. + + + + Length Variants + Warianty tłumaczeń MessageEditor - + + + This is the right panel of the main window. + + + + + Russian + Rosyjskie + + + German Niemieckie @@ -1508,12 +1539,12 @@ Wszystkie pliki (*) Chińskie - + This whole panel allows you to view and edit the translation of some source text. Ten panel pozwala na podgląd i redagowanie tłumaczenia tekstu źródłowego. - + Source text Tekst źródłowy @@ -1523,7 +1554,7 @@ Wszystkie pliki (*) W tym obszarze wyświetlany jest tekst źródłowy. - + Source text (Plural) Tekst źródłowy (liczba mnoga) @@ -1533,7 +1564,7 @@ Wszystkie pliki (*) W tym obszarze wyświetlana jest forma mnoga źródłowego tekstu. - + Developer comments Komentarze programisty @@ -1548,12 +1579,12 @@ Wszystkie pliki (*) Tutaj można wprowadzić komentarze na własny użytek. One nie mają wpływu na przetłumaczoną aplikację. - + %1 translation (%2) %1 tłumaczenie (%2) - + This is where you can enter or modify the translation of the above source text. Tutaj można wprowadzić lub zmodyfikować tłumaczenie tekstu źródłowego. @@ -1568,7 +1599,7 @@ Wszystkie pliki (*) Komentarze tłumacza (język %1). - + '%1' Line: %2 '%1' @@ -1601,7 +1632,7 @@ Linia: %2 MsgEdit - + This is the right panel of the main window. @@ -1610,7 +1641,12 @@ Linia: %2 PhraseBookBox - + + (New Entry) + (Nowe wyrażenie) + + + %1[*] - Qt Linguist %1[*] - Qt Linguist @@ -1710,7 +1746,7 @@ Linia: %2 &Tłumaczenie: - + Go to Phrase > Edit Phrase Book... The dialog that pops up is a PhraseBookBox. @@ -1737,7 +1773,7 @@ Linia: %2 PhraseView - + Insert Wstaw @@ -1765,7 +1801,7 @@ Linia: %2 Skompilowane tłumaczenia Qt - + Translation files (%1);; Pliki z tłumaczeniami (%1);; @@ -1786,63 +1822,34 @@ Linia: %2 Qt Linguist - - C++ source files - Pliki źródłowe C++ - - - - Java source files - Pliki źródłowe Java - - - + GNU Gettext localization files Pliki GNU Gettext - - Qt Script source files - Pliki źródłowe Qt Script - - Qt translation sources (format 1.1) - Źródła tlumaczeń Qt (format 1.1) + Źródła tłumaczeń Qt (format 1.1) Qt translation sources (format 2.0) - Źródła tlumaczeń Qt (format 2.0) + Źródła tłumaczeń Qt (format 2.0) Qt translation sources (latest format) - - - - Qt translation sources - Źródła tlumaczeń Qt + Źródła tłumaczeń Qt (najnowszy format) - - Qt Designer form files - Pliki z formularzami Qt Designer - - - - Qt Jambi form files - Pliki z formularzami Qt Jambi - - - + XLIFF localization files Pliki XLIFF - + Qt Linguist 'Phrase Book' - + Qt Linguist "Książka wyrażeń" diff --git a/translations/qt_help_pl.ts b/translations/qt_help_pl.ts index c85b46c..0e6bbbf 100644 --- a/translations/qt_help_pl.ts +++ b/translations/qt_help_pl.ts @@ -111,19 +111,16 @@ QHelpDBReader - Cannot open DB! - Nie można otworzyć bazy danych! - - - + Cannot open database '%1' '%2': %3 + The placeholders are: %1 - The name of the database which cannot be opened %2 - The unique id for the connection %3 - The actual error string Nie można otworzyć bazy danych '%1' '%2': %3 QHelpEngineCore - + The specified namespace does not exist! Podana przestrzeń nazw nie istnieje! @@ -131,18 +128,10 @@ QHelpEngineCorePrivate - + Cannot open documentation file %1: %2! Nie można otworzyć pliku z dokumentacją %1: %2! - - Cannot open collection file %1! - Nie można otworzyć pliku z kolekcją: %1! - - - Cannot open documentation file %1! - Nie można otworzyć pliku z dokumentacją %1! - QHelpGenerator @@ -157,19 +146,11 @@ Nie podano nazwy pliku wyjściowego! - The file %1 already exists! - Plik %1 już istnieje! - - Building up file structure... Budowanie struktury plików... - Cannot open DB! - Nie można otworzyć bazy danych! - - The file %1 cannot be overwritten! Nie można nadpisać pliku %1! @@ -220,17 +201,22 @@ Wstaw pliki... - + + The referenced file %1 must be inside or within a subdirectory of (%2). Skipping it. + Plik %1 do którego się odwołano musi być wewnątrz poddrzewa (%2). Plik ten został pominięty. + + + The file %1 does not exist! Skipping it. Plik %1 nie istnieje! Zostaje on opuszczony. - + Cannot open file %1! Skipping it. Nie można otworzyć pliku %1! Zostaje on opuszczony. - + The filter %1 is already registered! Filtr %1 jest już zarejestrowany! @@ -263,17 +249,27 @@ QHelpSearchQueryWidget - + Search for: Wyszukaj: + + Previous search + Poprzednie wyszukiwanie + + + + Next search + Następne wyszukiwanie + + Search Wyszukaj - + Advanced search Wyszukiwanie zaawansowane @@ -283,22 +279,22 @@ słowa <B>podobne</B> do: - + <B>without</B> the words: <B>bez</B> słów: - + with <B>exact phrase</B>: z <B>dokładnym wyrażeniem</B>: - + with <B>all</B> of the words: ze <B>wszystkimi</B> słowami: - + with <B>at least one</B> of the words: z <B>przynajmniej jednym</B> ze słów: @@ -327,15 +323,7 @@ Nienazwany - Unknown token at line %1. - Nieznany znak w linii %1. - - - Unknown token at line %1. Expected "QtHelpProject"! - Nieznany znak w linii %1. Spodziewano się "QtHelpProject"! - - - + Unknown token. Nieznany znak. @@ -375,7 +363,7 @@ Brak atrybutu w słowie kluczowym w linii %1. - + The input file %1 could not be opened! Nie można otworzyć pliku wejściowego %1! diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts index 611ae43..8afb485 100644 --- a/translations/qt_pl.ts +++ b/translations/qt_pl.ts @@ -2,29 +2,24 @@ - AudioOutput + CloseButton - - <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> - <html>Urządzenie dźwiękowe <b>%1</b> nie działa.<br/>Przywracanie do <b>%2</b>.</html> + + Close Tab + Zamknij kartę + + + FakeReply - - <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> - <html>Przełączanie na urządzenie dźwiękowe <b>%1</b><br/>które właśnie stało się dostępne i ma wyższy priorytet.</html> + + Fake error ! + - Revert back to device '%1' - Przywróć do urządzenia '%1' - - - - CloseButton - - - Close Tab - Zamknij kartę + Invalid URL + Niepoprawny URL @@ -61,6 +56,24 @@ + Phonon::AudioOutput + + + <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> + <html>Urządzenie dźwiękowe <b>%1</b> nie działa.<br/>Przywracanie do <b>%2</b>.</html> + + + + <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> + <html>Przełączanie na urządzenie dźwiękowe <b>%1</b><br/>które właśnie stało się dostępne i ma wyższy priorytet.</html> + + + + Revert back to device '%1' + Przywróć do urządzenia '%1' + + + Phonon::Gstreamer::Backend @@ -93,27 +106,27 @@ zainstalowałeś libgstreamer-plugins-base. A required codec is missing. You need to install the following codec(s) to play this content: %0 - Brak wymaganego kodeka. Aby odtworzyć zawartość musisz zainstalować poniższego kodeka: %0 + Brak wymaganego kodeka. Aby odtworzyć zawartość musisz zainstalować poniższy kodek: %0 - + - + - + Could not open media source. Nie można otworzyć źródła mediów. - + Invalid source type. Niepoprawny typ źródła. - + Could not locate media source. Nie można znaleźć źródła mediów. @@ -129,20 +142,87 @@ zainstalowałeś libgstreamer-plugins-base. + Phonon::MMF + + + Audio Output + Wyjście dźwięku + + + + The audio output device + Wyjściowe urządzenie dźwiękowe + + + + Phonon::MMF::AudioEqualizer + + + Frequency band, %1 Hz + Częstotliwość środkowa, %1 Hz + + + + Phonon::MMF::EffectFactory + + + audio equalizer + Korektor graficzny + + + + Bass boost + Wzmocnienie basów + + + + Distance Attenuation + + + + + + Environmental Reverb + Pogłos środowiskowy + + + + Loudness + Głośność + + + + Source Orientation + + + + + Stereo Widening + + + + Phonon::VolumeSlider + + Volume: %1% Głośność: %1% - + Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Użyj tego suwaka aby zmienić głośność. Skrajnie lewa pozycja to 0%, skrajnie prawa to %1% + + + Muted + Wyciszony + Q3Accel @@ -188,7 +268,7 @@ zainstalowałeś libgstreamer-plugins-base. Q3FileDialog - + %1 File not found. Check path and filename. @@ -202,15 +282,15 @@ Sprawdź ścieżkę i nazwę pliku. <qt>Na pewno chcesz skasować %1 "%2"?</qt> - + - - + + All Files (*) Wszystkie pliki (*) - + Attributes Atrybuty @@ -220,18 +300,18 @@ Sprawdź ścieżkę i nazwę pliku. Powrót - - + + Cancel Anuluj - + Copy or Move a File Skopiuj lub przenieś plik - + Create New Folder Utwórz nowy katalog @@ -241,7 +321,7 @@ Sprawdź ścieżkę i nazwę pliku. Data - + &Delete &Skasuj @@ -251,12 +331,12 @@ Sprawdź ścieżkę i nazwę pliku. Skasuj %1 - + Detail View Szczegóły - + Dir Katalog @@ -273,29 +353,29 @@ Sprawdź ścieżkę i nazwę pliku. - + Error Błąd - + File Plik - - + + File &name: Nazwa &pliku: - + File &type: &Rodzaj pliku: - + Find Directory Znajdź katalog @@ -305,7 +385,7 @@ Sprawdź ścieżkę i nazwę pliku. Niedostępny - + List View Lista @@ -320,7 +400,7 @@ Sprawdź ścieżkę i nazwę pliku. Nazwa - + New Folder Nowy katalog @@ -340,18 +420,18 @@ Sprawdź ścieżkę i nazwę pliku. &Nie - - + + &OK &OK - + One directory up Katalog wyżej - + &Open @@ -359,23 +439,23 @@ Sprawdź ścieżkę i nazwę pliku. - - + + Open Otwórz - + Preview File Contents Podgląd zawartości pliku - + Preview File Info Podgląd informacji o pliku - + Read: %1 Czytaj: %1 @@ -407,7 +487,7 @@ Sprawdź ścieżkę i nazwę pliku. - + Save As Zachowaj jako @@ -417,12 +497,12 @@ Sprawdź ścieżkę i nazwę pliku. Pokaż &ukryte pliki - + Size Rozmiar - + Sort Sortuj @@ -477,12 +557,12 @@ Sprawdź ścieżkę i nazwę pliku. dowiązanie symboliczne - + Type Rodzaj - + &Unsorted &Bez sortowania @@ -503,17 +583,17 @@ Sprawdź ścieżkę i nazwę pliku. &Tak - + All Files (*.*) Wszystkie pliki (*.*) - + Open Otwórz - + Select a Directory Wybierz katalog @@ -601,7 +681,7 @@ na Q3TabDialog - + Apply Zatwierdź @@ -622,7 +702,7 @@ na - + OK OK @@ -704,22 +784,22 @@ na Zminimalizuj - + + Puts a minimized window back to normal + Przywraca normalny rozmiar uprzednio zminimalizowanego okna + + + Moves the window out of the way Przenosi okno w inne położenie Puts a maximized window back to normal - Przywraca normalny rozmiar poprzednio zmaksymalizowanego okna - - - - Puts a minimized back to normal - Przywraca normalny rozmiar poprzednio zminimalizowanego okna + Przywraca normalny rozmiar uprzednio zmaksymalizowanego okna - + Restore down Przywróć pod spód @@ -825,9 +905,9 @@ na QAbstractSocket - - - + + + Connection refused Połączenie odrzucone @@ -840,19 +920,19 @@ na Host nie znaleziony - + Connection timed out Przekroczony czas połączenia - - + + Operation on socket is not supported Operacja na gnieździe nieobsługiwana - + Socket is not connected Gniazdo nie jest podłączone @@ -870,7 +950,7 @@ na QAbstractSpinBox - + Step &down Krok w &dół @@ -898,7 +978,7 @@ na Uaktywnia główne okno programu - + Executable '%1' requires Qt %2, found Qt %3. Program '%1' wymaga do uruchomienia Qt %2, znaleziono Qt %3. @@ -908,7 +988,7 @@ na Niekompatybilność biblioteki Qt - + QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR @@ -958,12 +1038,12 @@ na QColorDialog - + &Add to Custom Colors &Dodaj do własnych kolorów - + A&lpha channel: Kanał &alfa: @@ -973,22 +1053,22 @@ na Wybierz kolor - + &Basic colors &Kolory podstawowe - + Bl&ue: Błęki&t: - + &Custom colors Wła&sne kolory - + &Green: &Zieleń: @@ -1022,7 +1102,7 @@ na Otwórz - + False Fałsz @@ -1040,29 +1120,28 @@ na QCoreApplication - %1: permission denied - QSystemSemaphore - %1: brak dostępu - - + %1: already exists QSystemSemaphore - %1: już istnieje + %1: już istnieje - %1: doesn't exists + + %1: does not exist QSystemSemaphore - %1: nie istnieje + %1: nie istnieje + %1: out of resources QSystemSemaphore - %1: zasoby wyczerpane + %1: zasoby wyczerpane + %1: unknown error %2 QSystemSemaphore - %1: nieznany błąd %2 + %1: nieznany błąd %2 @@ -1086,19 +1165,19 @@ na QDB2Driver - + Unable to connect Nie można nawiązać połączenia - + Unable to commit transaction Nie można dokonać transakcji Unable to rollback transaction - Nie można cofnąć transakcji + Nie można wycofać transakcji @@ -1109,33 +1188,33 @@ na QDB2Result - - + + Unable to execute statement Nie można wykonać polecenia - + Unable to prepare statement Nie można przygotować polecenia - + Unable to bind variable Nie można powiązać zmiennej - + Unable to fetch record %1 Nie można pobrać rekordu %1 - + Unable to fetch next Nie można pobrać kolejnego wiersza danych - + Unable to fetch first Nie można pobrać pierwszego wiersza danych @@ -1143,7 +1222,7 @@ na QDateTimeEdit - + am am @@ -1184,12 +1263,12 @@ na QDialog - + What's This? Co to jest? - + Done Wykonano @@ -1197,7 +1276,7 @@ na QDialogButtonBox - + Abort Przerwij @@ -1267,7 +1346,7 @@ na Ni&e dla wszystkich - + OK @@ -1322,7 +1401,7 @@ na QDirModel - + Date Modified Data modyfikacji @@ -1383,7 +1462,7 @@ na QErrorMessage - + Debug Message: Komunikat dla programisty: @@ -1393,7 +1472,7 @@ na Błąd krytyczny: - + &OK &OK @@ -1403,7 +1482,7 @@ na &Pokaż ten komunikat ponownie - + Warning: Ostrzeżenie: @@ -1411,41 +1490,46 @@ na QFile - - + + Destination file exists - + Plik wyjściowy już istnieje - + + Will not rename sequential file using block copy + Nie można zmienić nazwy pliku sekwencyjnego używając kopiowania blokowego + + + Cannot remove source file - + Nie można usunąć oryginalnego pilku - + Cannot open %1 for input - + Nie można otworzyć pliku wejściowego %1 Cannot open for output - + Nie można otworzyć pliku wyjściowego Failure to write block - + Nie można zapisać bloku Cannot create %1 for output - + Nie można utworzyć pliku wyjściowego %1 QFileDialog - + %1 already exists. Do you want to replace it? %1 już istnieje. @@ -1483,45 +1567,45 @@ Proszę o sprawdzenie podanej nazwy pliku. Czy na pewno chcesz skasować '%1'? - + Recent Places - + Ostatnie miejsca - + Back Powrót - + Could not delete directory. Nie można skasować katalogu. - + &Delete &Skasuj - + Detail View Szczegóły - + Directories Katalogi - - + + Directory: Katalog: - + Drive Urządzenie @@ -1532,14 +1616,38 @@ Proszę o sprawdzenie podanej nazwy pliku. Plik + + File Folder + Match Windows Explorer + Katalog + + + + Folder + All other platforms + Katalog + + + + Alias + Mac OS X Finder + Alias + + + + Shortcut + All other platforms + Skrót + + - + Files of type: Pliki rodzaju: - + List View Lista @@ -1551,35 +1659,34 @@ Proszę o sprawdzenie podanej nazwy pliku. - - + &Open &Otwórz - + Parent Directory Katalog wyżej - + &Rename &Zmień nazwę - + &Save &Zachowaj - + Show &hidden files Pokaż &ukryte pliki - + Unknown Nieznany @@ -1599,7 +1706,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Znajdź katalog - + All Files (*.*) Wszystkie pliki (*.*) @@ -1610,52 +1717,52 @@ Proszę o sprawdzenie podanej nazwy pliku. - + Forward Do przodu - + New Folder Nowy katalog - + &New Folder &Nowy katalog - + &Choose &Wybierz - + Remove Usuń - - + + All Files (*) Wszystkie pliki (*) - - + + File &name: Nazwa &pliku: - + Look in: Szukaj w: - + Create New Folder Utwórz nowy katalog @@ -1664,26 +1771,31 @@ Proszę o sprawdzenie podanej nazwy pliku. QFileSystemModel + %1 TB %1 TB + %1 GB %1 GB + %1 MB %1 MB + %1 KB %1 KB + %1 bytes %1 b @@ -1698,7 +1810,7 @@ Proszę o sprawdzenie podanej nazwy pliku. <b>Nazwa "%1" nie może zostać użyta.</b><p>Spróbuj użyć nowej nazwy z mniejszą liczbą znaków lub bez znaków przystankowych. - + Name Nazwa @@ -1725,7 +1837,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Data modyfikacji - + My Computer Mój komputer @@ -1738,58 +1850,58 @@ Proszę o sprawdzenie podanej nazwy pliku. QFontDatabase - - + + Normal Normalny - + - + Bold Pogrubiony - - + + Demi Bold Na wpół pogrubiony - + - + Black it's about font weight Bardzo gruby - + Demi Na wpół - + Light it's about font weight Cienki - - + + Italic Kursywa - - + + Oblique Pochyły - + Any Każdy @@ -1957,12 +2069,12 @@ Proszę o sprawdzenie podanej nazwy pliku. QFontDialog - + Effects Efekty - + &Font &Czcionka @@ -1972,23 +2084,23 @@ Proszę o sprawdzenie podanej nazwy pliku. St&yl czcionki - + Sample Przykład - - + + Select Font Wybierz czcionkę - + &Size &Rozmiar - + Stri&keout Pr&zekreślenie @@ -2006,7 +2118,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QFtp - + Changing directory failed: %1 @@ -2019,14 +2131,14 @@ Proszę o sprawdzenie podanej nazwy pliku. Podłączony do hosta - + Connected to host %1 Podłączony do hosta %1 - + Connecting to host failed: %1 @@ -2041,7 +2153,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Połączenie zamknięte - + Connection refused for data connection Połączenie do przesyłu danych odrzucone @@ -2058,7 +2170,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Połączenie do %1 zakończone - + Creating directory failed: %1 @@ -2079,7 +2191,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Host %1 znaleziony - + Host %1 not found Host %1 nie znaleziony @@ -2090,7 +2202,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Host znaleziony - + Listing directory failed: %1 @@ -2106,18 +2218,18 @@ Proszę o sprawdzenie podanej nazwy pliku. %1 - + Not connected Nie podłączony - + Connection timed out to host %1 Przekroczony czas połączenia do hosta %1 - + Removing directory failed: %1 @@ -2133,7 +2245,7 @@ Proszę o sprawdzenie podanej nazwy pliku. %1 - + @@ -2141,7 +2253,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Nieznany błąd - + Uploading file failed: %1 @@ -2160,19 +2272,15 @@ Proszę o sprawdzenie podanej nazwy pliku. QHostInfoAgent - - - - - - - + + + Host not found Host nie znaleziony - + @@ -2180,17 +2288,27 @@ Proszę o sprawdzenie podanej nazwy pliku. Nieznany typ adresu - + Unknown error Nieznany błąd + + + No host name given + Nie podano nazwy hosta + + + + Invalid hostname + Niepoprawna nazwa hosta + QHttp - + Connected to host Podłączony do hosta @@ -2200,7 +2318,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Podłączony do hosta %1 - + Connection closed Połączenie zakończone @@ -2222,7 +2340,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Host %1 znaleziony - + Host %1 not found @@ -2282,12 +2400,12 @@ Proszę o sprawdzenie podanej nazwy pliku. Nieznany błąd - + HTTPS connection requested but SSL support not compiled in Zażądano połączenia HTTPS lecz obsługa SSL nie jest wkompilowana - + Wrong content length Błędna długość zawartości @@ -2295,7 +2413,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Unknown authentication method - + Nieznana metoda autoryzacji @@ -2310,7 +2428,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Error writing response to device - + Błąd zapisywania odpowiedzi do urządzenia @@ -2394,7 +2512,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QIBaseDriver - + Could not start transaction Nie można rozpocząć transakcji @@ -2411,24 +2529,24 @@ Proszę o sprawdzenie podanej nazwy pliku. Unable to rollback transaction - Nie można cofnąć transakcji + Nie można wycofać transakcji QIBaseResult - + Could not allocate statement Nie można zaallokować polecenia - + Could not describe input statement Nie można opisać polecenia wejściowego - + Could not describe statement Nie można opisać polecenia @@ -2438,58 +2556,58 @@ Proszę o sprawdzenie podanej nazwy pliku. Nie można pobrać kolejnego elementu - - + + Could not find array Nie można odnaleźć tablicy - + Could not get array data Nie można pobrać danych z tablicy - + Could not get query info Nie można pobrać informacji o zapytaniu - + Could not get statement info Nie można pobrać informacji o poleceniu - + Could not prepare statement Nie można przygotować polecenia - + Could not start transaction Nie można rozpocząć transakcji - + Unable to close statement Nie można zamknąć polecenia - + Unable to commit transaction Nie można dokonać transakcji - + Unable to create BLOB Nie można utworzyć obiektu typu BLOB - + Unable to execute query Nie można wykonać zapytania - + Unable to open BLOB Nie można otworzyć obiektu typu BLOB @@ -2507,7 +2625,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QIODevice - + No space left on device Brak wolnego miejsca na urządzeniu @@ -2527,7 +2645,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Zbyt wiele otwartych plików - + Unknown error Nieznany błąd @@ -2535,7 +2653,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QInputContext - + Mac OS X input method Metoda wprowadzania Mac OS X @@ -2545,15 +2663,25 @@ Proszę o sprawdzenie podanej nazwy pliku. Metoda wprowadzania Windows - + XIM XIM + + FEP + FEP + + XIM input method Metoda wprowadzania XIM + + + S60 FEP input method + Metoda wprowadzania S60 FEP + QInputDialog @@ -2566,7 +2694,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QLibrary - + Could not mmap '%1': %2 Nie można wykonać przypisania '%1': %2 @@ -2581,7 +2709,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Błąd podczas weryfikacji danych we wtyczce '%1' - + The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Wtyczka '%1' używa niepoprawnej wersji biblioteki QT. (%2.%3.%4) [%5] @@ -2591,13 +2719,13 @@ Proszę o sprawdzenie podanej nazwy pliku. Wtyczka '%1' używa niepoprawnej wersji biblioteki QT. Oczekiwano klucza "%2", uzyskano "%3" - + Unknown error Nieznany błąd - - + + The shared library was not found. Biblioteka współdzielona niedostępna. @@ -2612,19 +2740,19 @@ Proszę o sprawdzenie podanej nazwy pliku. Wtyczka "%1" używa innej wersji biblioteki Qt. (Nie można łączyć bibliotek zwykłych i debugowych.) - - + + Cannot load library %1: %2 Nie można załadować biblioteki %1: %2 - - + + Cannot unload library %1: %2 Nie można zwolnić biblioteki %1: %2 - + Cannot resolve symbol "%1" in %2: %3 Nie można zidentyfikować symbolu "%1" w %2: %3 @@ -2633,19 +2761,19 @@ Proszę o sprawdzenie podanej nazwy pliku. QLineEdit - + &Copy S&kopiuj - + Cu&t W&ytnij - + Delete - Usuń + Skasuj @@ -2653,17 +2781,17 @@ Proszę o sprawdzenie podanej nazwy pliku. &Wklej - + &Redo &Przywróć - + Select All Zaznacz wszystko - + &Undo &Cofnij @@ -2671,8 +2799,8 @@ Proszę o sprawdzenie podanej nazwy pliku. QLocalServer - - + + %1: Name error %1: Błąd nazwy @@ -2688,7 +2816,6 @@ Proszę o sprawdzenie podanej nazwy pliku. - %1: Unknown error %2 %1: Nieznany błąd %2 @@ -2697,7 +2824,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QLocalSocket - + %1: Connection refused %1: Odmowa połączenia @@ -2711,7 +2838,7 @@ Proszę o sprawdzenie podanej nazwy pliku. - + %1: Invalid name %1: Niepoprawna nazwa @@ -2742,7 +2869,7 @@ Proszę o sprawdzenie podanej nazwy pliku. - + %1: Connection error %1: Błąd połączenia @@ -2767,7 +2894,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QMYSQLDriver - + Unable to begin transaction Nie można rozpocząć transakcji @@ -2777,17 +2904,17 @@ Proszę o sprawdzenie podanej nazwy pliku. Nie można potwierdzić transakcji - + Unable to connect Nie można nawiązać połączenia - + Unable to open database ' Nie można otworzyć bazy danych ' - + Unable to rollback transaction Nie można wycofać transakcji @@ -2795,7 +2922,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QMYSQLResult - + Unable to bind outvalues Nie można powiązać wartości zewnętrznych @@ -2806,38 +2933,38 @@ Proszę o sprawdzenie podanej nazwy pliku. Nie można powiązać wartości - + Unable to execute query Nie można wykonać zapytania - + Unable to execute statement Nie można wykonać polecenia - + Unable to fetch data Nie można pobrać danych - + Unable to prepare statement Nie można przygotować polecenia - + Unable to reset statement Nie można skasować polecenia - + Unable to store result Nie można zachować wyników - + Unable to store statement results Nie można zachować wyników polecenia @@ -2976,49 +3103,50 @@ Proszę o sprawdzenie podanej nazwy pliku. - QMessageBox + QMenuBar - <p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> for an overview of Qt licensing.</p> - <p> Ten program używa Qt Open Source Edition w wersji %1.</p><p>Qt Open Source Edition jest przeznaczone do pisania aplikacji z otwartym kodem źródłowym. W przypadku aplikacji zamkniętych (bez kodu źródłowego) wymagana jest licencja komercyjna Qt.</p><p>Strona <a href="http://qt.nokia.com/company/model/">qt.nokia.com/company/model/</a> opisuje sposób licencjonowania Qt.</p> - - - <p>This program uses Qt version %1.</p> - <p> Ten program używa Qt w wersji %1.</p> - - - <h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> - <h3>Informacje o Qt</h3>%1<p>Qt jest biblioteką C++ do tworzenia przenośnego oprogramowania.</p><p>Qt umożliwia pisanie przenośnego kodu zarówno dla MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux jak i dla wszystkich głównych komercyjnych wariantów Unix'ów. Qt jest również dostępne dla urządzeń specjalizowanych i przenośnych jako Qt dla Embedded Linux lub jako Qt dla Windows CE.</p><p>Producentem Qt jest Nokia. Więcej informacji na stronie <a href="http://qt.nokia.com/">qt.nokia.com</a>.</p> + + Actions + Akcje + + + QMessageBox - + About Qt Informacje o Qt - + Help Pomoc - + Hide Details... Ukryj szczegóły... - - + + OK OK - - <h3>About Qt</h3><p>This program uses Qt version %1.</p><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> + + <h3>About Qt</h3><p>This program uses Qt version %1.</p> + <h3>Informacje o Qt</h3><p> Ten program używa Qt w wersji %1.</p> + + + + <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> - + Show Details... Pokaż szczegóły... @@ -3180,30 +3308,38 @@ Proszę o sprawdzenie podanej nazwy pliku. QNetworkAccessCacheBackend - + Error opening %1 Błąd otwierania %1 - QNetworkAccessFileBackend + QNetworkAccessDebugPipeBackend - - Request for opening non-local file %1 - Żądanie otwarcia zdalnego pliku %1 - + + Write error writing to %1: %2 + Błąd w trakcie zapisywania do %1: %2 + + + + QNetworkAccessFileBackend - + + Request for opening non-local file %1 + Żądanie otwarcia zdalnego pliku %1 + + + Error opening %1: %2 Błąd otwierania %1: %2 - + Write error writing to %1: %2 Błąd w trakcie zapisywania do %1: %2 - + Cannot open %1: Path is a directory Nie można otworzyć %1: Ścieżka jest katalogiem @@ -3216,7 +3352,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QNetworkAccessFtpBackend - + No suitable proxy found Nie odnaleziono odpowiedniego pośrednika @@ -3226,7 +3362,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Nie można otworzyć %1: jest to katalog - + Logging in to %1 failed: authentication required Błąd podczas logowania do %1: wymagana autoryzacja @@ -3244,7 +3380,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QNetworkAccessHttpBackend - + No suitable proxy found Nie odnaleziono odpowiedniego pośrednika @@ -3252,12 +3388,12 @@ Proszę o sprawdzenie podanej nazwy pliku. QNetworkReply - + Error downloading %1 - server replied: %2 Błąd podczas pobierania %1 - odpowiedź serwera: %2 - + Protocol "%1" is unknown Protokół "%1" nie jest znany @@ -3265,8 +3401,8 @@ Proszę o sprawdzenie podanej nazwy pliku. QNetworkReplyImpl - - + + Operation canceled Operacja anulowana @@ -3274,7 +3410,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QOCIDriver - + Unable to initialize QOCIDriver Nie można dokonać inicjalizacji @@ -3297,13 +3433,13 @@ Proszę o sprawdzenie podanej nazwy pliku. Unable to rollback transaction - Nie można cofnąć transakcji + Nie można wycofać transakcji QOCIResult - + Unable to bind column for batch execute @@ -3315,7 +3451,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Nie można wykonać polecenia wsadowego - + Unable to goto next Nie można przejść do kolejnego wiersza danych @@ -3330,13 +3466,14 @@ Proszę o sprawdzenie podanej nazwy pliku. Nie można przygotować polecenia - - Unable to bind value - Nie można powiązać wartości + + Unable to get statement type + Nie można pobrać typu polecenia - Unable to execute select statement - Nie można wykonać polecenia select + + Unable to bind value + Nie można powiązać wartości @@ -3347,22 +3484,17 @@ Proszę o sprawdzenie podanej nazwy pliku. QODBCDriver - + Unable to commit transaction Nie można potwierdzić transakcji - + Unable to connect Nie można nawiązać połączenia - - Unable to connect - Driver doesn't support all needed functionality - Nie można nawiązać połączenia - sterownik nie obsługuje całej potrzebnej funkcjonalności - - - + Unable to disable autocommit Nie można wyłączyć trybu automatycznego dokonywania transakcji @@ -3374,14 +3506,19 @@ Proszę o sprawdzenie podanej nazwy pliku. Unable to rollback transaction - Nie można cofnąć transakcji + Nie można wycofać transakcji + + + + Unable to connect - Driver doesn't support all functionality required + Nie można nawiązać połączenia - sterownik nie obsługuje całej potrzebnej funkcjonalności QODBCResult - - + + QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Nie można ustawić 'SQL_CURSOR_STATIC' jako atrybutu polecenia. Proszę sprawdzić konfiguracje sterownika ODBC @@ -3391,30 +3528,30 @@ Proszę o sprawdzenie podanej nazwy pliku. Nie można powiązać zmiennej - - + + Unable to execute statement Nie można wykonać polecenia - + Unable to fetch next Nie można pobrać kolejnych danych - + Unable to prepare statement Nie można przygotować polecenia - - - + + + Unable to fetch last Nie można pobrać ostatnich danych - + Unable to fetch Nie można pobrać @@ -3432,9 +3569,9 @@ Proszę o sprawdzenie podanej nazwy pliku. QObject - - Home - Strona startowa + + Invalid hostname + Niepoprawna nazwa hosta @@ -3442,22 +3579,12 @@ Proszę o sprawdzenie podanej nazwy pliku. Operacja nieobsługiwana na %1 - + Invalid URI: %1 Niepoprawny URI: %1 - - Write error writing to %1: %2 - Błąd w trakcie zapisywania do %1: %2 - - - - Read error reading from %1: %2 - Błąd w trakcie czytania z %1: %2 - - - + Socket error on %1: %2 Błąd gniazda na %1: %2 @@ -3467,13 +3594,8 @@ Proszę o sprawdzenie podanej nazwy pliku. Zdalny host przedwcześnie zakończył połączenie na %1 - - Protocol error: packet of size 0 received - Błąd protokołu: otrzymano pakiet o zerowym rozmiarze - - - - + + No host name given Nie podano nazwy hosta @@ -3481,7 +3603,7 @@ Proszę o sprawdzenie podanej nazwy pliku. QPPDOptionsModel - + Name Nazwa @@ -3494,27 +3616,27 @@ Proszę o sprawdzenie podanej nazwy pliku. QPSQLDriver - + Could not begin transaction Nie można rozpocząć transakcji - + Could not commit transaction Nie można potwierdzić transakcji Could not rollback transaction - Nie można cofnąć transakcji + Nie można wycofać transakcji - + Unable to connect Nie można nawiązać połączenia - + Unable to subscribe Nie można wykonać subskrypcji @@ -3527,14 +3649,14 @@ Proszę o sprawdzenie podanej nazwy pliku. QPSQLResult - + Unable to create query Nie można utworzyć zapytania - + Unable to prepare statement - Nie można przygotować wyrażenia + Nie można przygotować polecenia @@ -3648,7 +3770,7 @@ Proszę o sprawdzenie podanej nazwy pliku. Nieznany błąd - + The plugin was not loaded. Wtyczka nie została załadowana. @@ -3706,7 +3828,7 @@ Proszę o sprawdzenie podanej nazwy pliku. A9 (37 x 52 mm) - + Aliases: %1 Aliasy: %1 @@ -3782,7 +3904,7 @@ Proszę o sprawdzenie podanej nazwy pliku. podłączony lokalnie - + OK OK @@ -3838,7 +3960,7 @@ Proszę o sprawdzenie podanej nazwy pliku. US Common #10 Envelope (105 x 241 mm) - + Print @@ -4041,7 +4163,7 @@ Proszę wybrać inną nazwę pliku. Niestandardowy - + &Options >> &Opcje >> @@ -4067,7 +4189,7 @@ Proszę wybrać inną nazwę pliku. Wydrukuj do pliku (Postscript) - + Local file Plik lokalny @@ -4085,17 +4207,17 @@ Proszę wybrać inną nazwę pliku. QPrintPreviewDialog - + %1% %1% - + Print Preview Wydrukuj podgląd - + Next page Następna strona @@ -4170,19 +4292,14 @@ Proszę wybrać inną nazwę pliku. Ustawienia strony - - Close - Zamknij - - - + Export to PDF - + Wyeksportuj do PDF Export to PostScript - + Wyeksportuj do PostScript @@ -4358,70 +4475,70 @@ Proszę wybrać inną nazwę pliku. QProcess - - + + Could not open input redirection for reading - + Nie można otworzyć wejściowego przekierowania do odczytu - + Could not open output redirection for writing - + Nie można otworzyć wyjściowego przekierowania do zapisu - + Resource error (fork failure): %1 Błąd zasobów (błąd forkowania): %1 - - + + - - + + Process operation timed out - + Przekroczony czas operacji procesu - + Error reading from process - + Błąd odczytywania z procesu - + Error writing to process - + Błąd zapisywania do procesu - + Process crashed - + Wystąpił błąd w procesie - proces zakończony - + No program defined - + Nie zdefiniowano programu - - Process failed to start - + + Process failed to start: %1 + Nie można rozpocząć procesu: %1 QProgressDialog - + Cancel Anuluj @@ -4445,7 +4562,7 @@ Proszę wybrać inną nazwę pliku. QRegExp - + bad char class syntax niepoprawna składnia klasy znakowej @@ -4460,7 +4577,17 @@ Proszę wybrać inną nazwę pliku. niepoprawna składnia powtórzenia - + + invalid interval + Niepoprawny interwał + + + + invalid category + Niepoprawna kategoria + + + disabled feature used użyta funkcja została wyłączona @@ -4493,9 +4620,9 @@ Proszę wybrać inną nazwę pliku. QSQLite2Driver - - Error to open database - Nie można otworzyć bazy danych + + Error opening database + Błąd otwierania bazy danych @@ -4509,8 +4636,8 @@ Proszę wybrać inną nazwę pliku. - Unable to rollback Transaction - Nie można cofnąć transakcji + Unable to rollback transaction + Nie można wycofać transakcji @@ -4521,7 +4648,7 @@ Proszę wybrać inną nazwę pliku. Nie można wykonać polecenia - + Unable to fetch results Nie można pobrać wyników @@ -4529,7 +4656,7 @@ Proszę wybrać inną nazwę pliku. QSQLiteDriver - + Error closing database Błąd zamykania bazy danych @@ -4551,13 +4678,13 @@ Proszę wybrać inną nazwę pliku. Unable to rollback transaction - Nie można cofnąć transakcji + Nie można wycofać transakcji QSQLiteResult - + Parameter count mismatch Niezgodna liczba parametrów @@ -4572,3220 +4699,5232 @@ Proszę wybrać inną nazwę pliku. Nie można wykonać polecenia - + Unable to fetch row Nie można pobrać wiersza danych - + Unable to reset statement Nie można skasować polecenia - + No query Brak zapytania - QScrollBar + QScriptBreakpointsModel - - Bottom - W dół + + ID + Identyfikator - - Left edge - Lewa krawędź + + Location + Miejsce - - Line down - Linia w dół + + Condition + Warunek - - Line up - Linia w górę + + Ignore-count + - - - Page down - Strona w dół + + Single-shot + - - Page left - Strona w lewo + + Hit-count + Ilość trafień + + + QScriptBreakpointsWidget - - Page right - Strona w prawo + + New + Nowy - - - Page up - Strona do góry + + Delete + Skasuj + + + QScriptDebugger - - Position - Pozycja + + + Go to Line + Przejdź do linii - - Right edge - Prawa krawędź + + Line: + Linia: - - Scroll down - Przewiń w dół + + Interrupt + Przerwij - - Scroll here - Przewiń tutaj + + Shift+F5 + Shift+F5 - - Scroll left - Przewiń w lewo + + Continue + Kontynuuj - - Scroll right - Przewiń w prawo + + F5 + F5 - - Scroll up - Przewiń do góry + + Step Into + Wskocz do wnętrza - - Top - Do góry + + F11 + F11 - - - QSharedMemory - - %1: create size is less then 0 - %1: rozmiar przy tworzeniu mniejszy od 0 + + Step Over + Przeskocz - - - %1: unable to lock - %1: nie można zablokować + + F10 + F10 - - %1: unable to unlock - %1: nie można odblokować + + Step Out + Wyskocz na zewnątrz - - - %1: permission denied - %1: brak dostępu + + Shift+F11 + Shift+F11 - - - %1: already exists - %1: już istnieje + + Run to Cursor + Uruchom do kursora - - - %1: doesn't exists - %1: nie istnieje + + Ctrl+F10 + Ctrl+F10 - - - %1: out of resources - %1: zasoby wyczerpane + + Run to New Script + Uruchom do nowego skryptu - - - %1: unknown error %2 - %1: nieznany błąd %2 + + Toggle Breakpoint + Przełącz ustawienie pułapki - - %1: key is empty - %1: klucz jest pusty + + F9 + F9 - - %1: unix key file doesn't exists - %1: unixowy plik z kluczem nie istnieje + + Clear Debug Output + Wyczyść wyjście debuggera - - %1: ftok failed - %1: wystąpił błąd w funkcji ftok() + + Clear Error Log + Wyczyść log z błędami - - - %1: unable to make key - %1: nie można utworzyć klucza + + Clear Console + Wyczyść konsolę - - %1: system-imposed size restrictions - %1: ograniczenia rozmiarów narzucone przez system + + &Find in Script... + &Znajdź w skrypcie... - - %1: not attached - %1: niedołączony + + Ctrl+F + Ctrl+F - - %1: invalid size - %1: niepoprawny rozmiar + + Find &Next + Znajdź &następne - - %1: key error - %1: błąd klucza + + F3 + F3 - - %1: size query failed - %1: zapytanie o rozmiar nie powiodło się + + Find &Previous + Znajdź &poprzednie - - %1: unable to set key on lock - %1: nie można ustawić klucza na zablokowanym segmencie pamięci współdzielonej + + Shift+F3 + Shift+F3 - - - QShortcut - - + - + + + Ctrl+G + Ctrl+G - - - Alt - Alt + + Debug + Debuguj + + + QScriptDebuggerCodeFinderWidget - - Back - Back + + Close + Zamknij - - Backspace - Backspace + + Previous + Poprzednie - - Backtab - Backtab + + Next + Następne - - Bass Boost - Wzmocnienie basów + + Case Sensitive + Uwzględniaj wielkość liter - - Bass Down - Basy w dół + + Whole words + Całe słowa - - Bass Up - Basy w górę + + <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped + <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Przeszukano od początku + + + QScriptDebuggerLocalsModel - - Call - Wywołaj + + Name + Nazwa - - Caps Lock - Caps Lock + + Value + Wartość + + + QScriptDebuggerStackModel - - CapsLock - CapsLock + + Level + Poziom - - Context1 - Kontekst1 + + Name + Nazwa - - Context2 - Kontekst2 + + Location + Miejsce + + + QScriptEdit - - Context3 - Kontekst3 + + Toggle Breakpoint + Przełącz ustawienie pułapki - - Context4 - Kontekst4 + + Disable Breakpoint + Wyłącz pułapkę - - - Ctrl - Ctrl + + Enable Breakpoint + Włącz pułapkę - - Del - Del + + Breakpoint Condition: + Warunek dla pułapki: + + + QScriptEngineDebugger - - Delete - Delete + + Loaded Scripts + Załadowane skrypty - - Down - Dół + + Breakpoints + Pułapki - - End - End + + Stack + Stos - - Enter - Enter + + Locals + Zmienne lokalne - - Esc - Esc + + Console + Konsola - - Escape - Escape + + Debug Output + Wyjscie debuggera - - F%1 - F%1 + + Error Log + Log z błędami - - Favorites - Ulubione + + Search + Szukaj - - Flip - Odwróć + + View + Widok - - Forward - Do przodu + + Qt Script Debugger + Debugger Qt Script + + + QScriptNewBreakpointWidget - - Hangup - Zawieś + + Close + Zamknij + + + QScrollBar - - Help - Pomoc + + Bottom + W dół - - Home - Home + + Left edge + Lewa krawędź - - Home Page - Strona startowa + + Line down + Linia w dół - - Ins - Ins + + Line up + Linia w górę - - Insert - Insert + + + Page down + Strona w dół - - Launch (0) - Uruchom (0) + + Page left + Strona w lewo - Launch (1) - Uruchom (1) + Page right + Strona w prawo - - Launch (2) - Uruchom (2) + + + Page up + Strona do góry - - Launch (3) - Uruchom (3) + + Position + Pozycja - - Launch (4) - Uruchom (4) + + Right edge + Prawa krawędź - - Launch (5) - Uruchom (5) + + Scroll down + Przewiń w dół - - Launch (6) - Uruchom (6) + + Scroll here + Przewiń tutaj - - Launch (7) - Uruchom (7) + + Scroll left + Przewiń w lewo - Launch (8) - Uruchom (8) + Scroll right + Przewiń w prawo - - Launch (9) - Uruchom (9) + + Scroll up + Przewiń do góry - - Launch (A) - Uruchom (A) + + Top + Do góry + + + QSharedMemory - - Launch (B) - Uruchom (B) + + %1: create size is less then 0 + %1: rozmiar przy tworzeniu mniejszy od 0 - - Launch (C) - Uruchom (C) + + + %1: unable to lock + %1: nie można zablokować - - Launch (D) - Uruchom (D) + + %1: unable to unlock + %1: nie można odblokować - - Launch (E) - Uruchom (E) + + + + %1: permission denied + %1: brak dostępu - - Launch (F) - Uruchom (F) + + + + %1: already exists + %1: już istnieje - - Launch Mail - Uruchom program pocztowy + + %1: doesn't exists + %1: nie istnieje - - Launch Media - Uruchom przeglądarkę mediów + + + + %1: out of resources + %1: zasoby wyczerpane - - Left - Lewo + + + + %1: unknown error %2 + %1: nieznany błąd %2 - - Media Next - Następna ścieżka + + %1: key is empty + %1: klucz jest pusty - - Media Play - Odtwarzaj + + %1: ftok failed + %1: wystąpił błąd w funkcji ftok() - - Media Previous - Poprzednia ścieżka + + + + %1: unable to make key + %1: nie można utworzyć klucza - - Media Record - Nagrywaj + + + %1: doesn't exist + %1: nie istnieje - - Media Stop - Zatrzymaj + + %1: UNIX key file doesn't exist + %1: unixowy plik z kluczem nie istnieje - - Menu - Menu + + %1: system-imposed size restrictions + %1: ograniczenia rozmiarów narzucone przez system - - - Meta - Meta + + %1: not attached + %1: niedołączony - - No - Nie + + + %1: invalid size + %1: niepoprawny rozmiar - - Num Lock - Num Lock + + + %1: key error + %1: błąd klucza - - Number Lock - Number Lock + + %1: size query failed + %1: zapytanie o rozmiar nie powiodło się - - NumLock - NumLock + + %1: unable to set key on lock + %1: nie można ustawić klucza na zablokowanym segmencie pamięci współdzielonej + + + QShortcut - - Open URL - Otwórz adres + + + + + - - Page Down - Strona do góry + + + Alt + Alt - - Page Up - Strona w dół + + Back + Back - - Pause - Pauza + + Backspace + Backspace - - PgDown - PgDown + + Backtab + Backtab - - PgUp - PgUp + + Bass Boost + Wzmocnienie basów - - Print - Print + + Bass Down + Basy w dół - - Print Screen - Wydrukuj zawartość ekranu + + Bass Up + Basy w górę - - Refresh - Odśwież + + Call + Wywołaj - - Return - Powrót + + Caps Lock + Caps Lock - - Right - Prawo + + CapsLock + CapsLock - - Scroll Lock - Scroll Lock + + Context1 + Kontekst1 - - ScrollLock - ScrollLock + + Context2 + Kontekst2 - - Search - Szukaj + + Context3 + Kontekst3 - - Select - Wybierz + + Context4 + Kontekst4 - - - Shift - Shift + + + Ctrl + Ctrl - - Space - Spacja + + Del + Del - - Standby - Tryb oczekiwania + + Delete + Delete - - Stop - Zatrzymaj + + Down + Dół - - SysReq - SysReq + + End + End - - System Request - Żądanie systemu + + Enter + Enter - - Tab - Tabulator + + Esc + Esc - - Treble Down - Soprany w dół + + Escape + Escape - - Treble Up - Soprany w górę + + F%1 + F%1 - - Up - Góra + + Favorites + Ulubione - - Volume Down - Przycisz + + Flip + Odwróć - - Volume Mute - Wycisz + + Forward + Do przodu - - Volume Up - Zrób głośniej + + Hangup + Zawieś - - Yes - Tak + + Help + Pomoc - - - QSlider - - Page down - Strona w dół + + Home + Home - - Page left - Strona w lewo + + Home Page + Strona startowa - - Page right - Strona w prawo + + Ins + Ins - - Page up - Strona do góry + + Insert + Insert - - Position - Położenie + + Launch (0) + Uruchom (0) - - - QSocks5SocketEngine - - Connection to proxy refused - Odmowa połączenia z pośrednikiem + + Launch (1) + Uruchom (1) - - Connection to proxy closed prematurely - Przedwczesne zakończenie połączenia z pośrednikiem + + Launch (2) + Uruchom (2) - - Proxy host not found - Nie odnaleziono hosta pośredniczącego + + Launch (3) + Uruchom (3) - - Connection to proxy timed out - Przekroczony czas połączenia do pośrednika + + Launch (4) + Uruchom (4) - - Proxy authentication failed - Autoryzacja pośrednika zakończona błędem + + Launch (5) + Uruchom (5) - Proxy authentication failed: %1 - Autoryzacja pośrednika zakończona błędem: %1 + Launch (6) + Uruchom (6) - - SOCKS version 5 protocol error - Błąd protokołu SOCKS wersji 5 + + Launch (7) + Uruchom (7) - - General SOCKSv5 server failure - Generalny błąd serwera SOCKS wersji 5 + + Launch (8) + Uruchom (8) - - Connection not allowed by SOCKSv5 server - Połączenie niedozwolone przez serwer SOCKS wersji 5 + + Launch (9) + Uruchom (9) - - TTL expired - TTL stracił ważność + + Launch (A) + Uruchom (A) - - SOCKSv5 command not supported - Nieobsługiwana komenda SOCKS wersji 5 + + Launch (B) + Uruchom (B) - - Address type not supported - Nieobsługiwany typ adresu + + Launch (C) + Uruchom (C) - - Unknown SOCKSv5 proxy error code 0x%1 - Nieznany kod błędu (0x%1) pośrednika SOCKS wersji 5 + + Launch (D) + Uruchom (D) - - Network operation timed out - Przekroczony czas operacji sieciowej + + Launch (E) + Uruchom (E) - - - QSpinBox - - Less - Mniej + + Launch (F) + Uruchom (F) - - More - Więcej + + Launch Mail + Uruchom program pocztowy - - - QSql - - Cancel - Anuluj + + Launch Media + Uruchom przeglądarkę mediów - - Cancel your edits? - Anulować zmiany? + + Left + Lewo - - Confirm - Potwierdź + + Media Next + Następna ścieżka - - Delete - Skasuj + + Media Play + Odtwarzaj - - Delete this record? - Skasować ten rekord? + + Media Previous + Poprzednia ścieżka - - Insert - Wstaw + + Media Record + Nagrywaj - - - - No - Nie + + Media Stop + Zatrzymaj - - Save edits? - Zachować zmiany? + + Menu + Menu - - Update - Uaktualnij + + + Meta + Meta - - - - Yes - Tak + + No + Nie - - - QSslSocket - - Unable to write data: %1 - Nie można zapisać danych: %1 + + Num Lock + Num Lock - - Error while reading: %1 - Błąd podczas czytania: %1 + + Number Lock + Number Lock - - Error during SSL handshake: %1 - Błąd podczas nawiązania sesji SSL: %1 + + NumLock + NumLock - - Error creating SSL context (%1) - Błąd tworzenia kontekstu (%1) + + Open URL + Otwórz adres - - Invalid or empty cipher list (%1) - Niepoprawna lub pusta lista szyfrów (%1) + + Page Down + Strona do góry - - Error creating SSL session, %1 - Błąd tworzenia sesji SSL, %1 + + Page Up + Strona w dół - - Error creating SSL session: %1 - Błąd tworzenia sesji SSL: %1 + + Pause + Pauza - - Cannot provide a certificate with no key, %1 - Nie można dostarczyć certyfikatu bez klucza, %1 + + PgDown + PgDown - - Error loading local certificate, %1 - Błąd ładowania lokalnego certyfikatu, %1 + + PgUp + PgUp - - Error loading private key, %1 - Błąd ładowania prywatnego klucza, %1 + + Print + Print - - Private key does not certificate public key, %1 - Prywatny klucz nie uwiarygodnia publicznego, %1 + + Print Screen + Wydrukuj zawartość ekranu - - - QSystemSemaphore - - - %1: out of resources - %1: zasoby wyczerpane + + Refresh + Odśwież - - - %1: permission denied - %1: brak dostępu + + Return + Powrót - - %1: already exists - %1: już istnieje + + Right + Prawo - - %1: does not exist - + + Scroll Lock + Scroll Lock - - - %1: unknown error %2 - %1: nieznany błąd %2 + + ScrollLock + ScrollLock - - - QTDSDriver - - Unable to open connection - Nie można otworzyć połączenia + + Search + Szukaj - - Unable to use database - Nie można użyć bazy danych + + Select + Wybierz - - - QTabBar - - Scroll Left - Przewiń w lewo + + + Shift + Shift - - Scroll Right - Przewiń w prawo + + Space + Spacja - - - QTcpServer - - Operation on socket is not supported - Operacja na gnieździe nieobsługiwana + + Standby + Tryb oczekiwania - - - QTextControl - - &Copy - S&kopiuj + + Stop + Zatrzymaj - - Copy &Link Location - Skopiuj &adres odsyłacza + + SysReq + SysReq - - Cu&t - &Wytnij + + System Request + Żądanie systemu - - Delete - Skasuj + + Tab + Tabulator - - &Paste - &Wklej + + Treble Down + Soprany w dół - - &Redo - &Przywróć + + Treble Up + Soprany w górę - - Select All - Zaznacz wszystko + + Up + Góra - - &Undo - &Cofnij + + Volume Down + Przycisz - - - QToolButton - - - Open - Otwórz + + Volume Mute + Wycisz - - - Press - Wciśnij + + Volume Up + Zrób głośniej - - - QUdpSocket - - This platform does not support IPv6 - Ta platforma nie obsługuje IPv6 + + Yes + Tak - QUndoGroup + QSlider - - Redo - Przywróć + + Page down + Strona w dół - - Undo - Cofnij + + Page left + Strona w lewo - - - QUndoModel - - <empty> - <pusty> + + Page right + Strona w prawo - - - QUndoStack - - Redo - Przywróć + + Page up + Strona do góry - - Undo - Cofnij + + Position + Położenie - QUnicodeControlCharacterMenu + QSocks5SocketEngine - - Insert Unicode control character - Wstaw znak + + Connection to proxy refused + Odmowa połączenia z pośrednikiem - - LRE Start of left-to-right embedding - LRE Początek osadzania od lewej do prawej + + Connection to proxy closed prematurely + Przedwczesne zakończenie połączenia z pośrednikiem - - LRM Left-to-right mark - LRM znacznik od prawej do lewej + + Proxy host not found + Nie odnaleziono hosta pośredniczącego - - LRO Start of left-to-right override - LRO Początek nadpisania od lewej do prawej + + Connection to proxy timed out + Przekroczony czas połączenia do pośrednika - - PDF Pop directional formatting - PDF Formatowanie kierunkowe pop + + Proxy authentication failed + Autoryzacja pośrednika zakończona błędem - - RLE Start of right-to-left embedding - RLE Początek osadzania od prawej do lewej + + Proxy authentication failed: %1 + Autoryzacja pośrednika zakończona błędem: %1 - - RLM Right-to-left mark - RLM Znacznik od prawej do lewej + + SOCKS version 5 protocol error + Błąd protokołu SOCKS wersji 5 - - RLO Start of right-to-left override - RLO Początek nadpisania od prawej do lewej + + General SOCKSv5 server failure + Generalny błąd serwera SOCKS wersji 5 - - ZWJ Zero width joiner - ZWJ Łącznik zerowej długości + + Connection not allowed by SOCKSv5 server + Połączenie niedozwolone przez serwer SOCKS wersji 5 - - ZWNJ Zero width non-joiner - ZWNJ Rozdzielnik zerowej długości + + TTL expired + TTL stracił ważność - - ZWSP Zero width space - ZWSP Przerwa zerowej długości + + SOCKSv5 command not supported + Nieobsługiwana komenda SOCKS wersji 5 - - - QWebFrame - - Request cancelled - Prośba anulowana + + Address type not supported + Nieobsługiwany typ adresu - - Request blocked - Prośba zablokowana + + Unknown SOCKSv5 proxy error code 0x%1 + Nieznany kod błędu (0x%1) pośrednika SOCKS wersji 5 - - Cannot show URL - Nie można pokazać URL + + Network operation timed out + Przekroczony czas operacji sieciowej + + + QSoftKeyManager - - Frame load interruped by policy change - Ładowanie ramki przerwane przez zmianę strategii + + Ok + OK - - Cannot show mimetype - Nie można pokazać typu MIME + + Select + Wybierz - - File does not exist - Plik nie istnieje + + Done + Zrobione + + + + Options + Opcje + + + + Cancel + Anuluj + + + + Exit + Wyjście - QWebPage + QSpinBox - - Submit - default label for Submit buttons in forms on web pages - Wyślij + + Less + Mniej - - Submit - Submit (input element) alt text for <input> elements with no alt, title, or value - Wyślij + + More + Więcej + + + QSql - - Reset - default label for Reset buttons in forms on web pages - Wyczyść + + Cancel + Anuluj + + + + Cancel your edits? + Anulować zmiany? + + + + Confirm + Potwierdź + + + + Delete + Skasuj + + + + Delete this record? + Skasować ten rekord? + + + + Insert + Wstaw + + + + + + No + Nie + + + + Save edits? + Zachować zmiany? + + + + Update + Uaktualnij + + + + + + Yes + Tak + + + + QSslSocket + + + Unable to write data: %1 + Nie można zapisać danych: %1 + + + + Error while reading: %1 + Błąd podczas czytania: %1 + + + + Error during SSL handshake: %1 + Błąd podczas nawiązania sesji SSL: %1 + + + + Error creating SSL context (%1) + Błąd tworzenia kontekstu (%1) + + + + Invalid or empty cipher list (%1) + Niepoprawna lub pusta lista szyfrów (%1) + + + + Error creating SSL session, %1 + Błąd tworzenia sesji SSL, %1 - Choose File - title for file button used in HTML forms - Wybierz plik + Error creating SSL session: %1 + Błąd tworzenia sesji SSL: %1 - - No file selected - text to display in file button used in HTML forms when no file is selected - Nie zaznaczono pliku + + Cannot provide a certificate with no key, %1 + Nie można dostarczyć certyfikatu bez klucza, %1 + + + + Error loading local certificate, %1 + Błąd ładowania lokalnego certyfikatu, %1 + + + + Error loading private key, %1 + Błąd ładowania prywatnego klucza, %1 + + + + Private key does not certificate public key, %1 + Prywatny klucz nie uwiarygodnia publicznego, %1 + + + + QStateMachine + + + Missing initial state in compound state '%1' + Brak stanu początkowego w stanie złożonym '%1' + + + + Missing default state in history state '%1' + Brak domyślnego stanu w historycznym stanie '%1' + + + + No common ancestor for targets and source of transition from state '%1' + Brak wspólnego przodka dla stanów docelowych i stanu źródłowego w przejściu ze stanu '%1' + + + + Unknown error + Nieznany błąd + + + + QSystemSemaphore + + + + %1: out of resources + %1: zasoby wyczerpane + + + + + %1: permission denied + %1: brak dostępu + + + + %1: already exists + %1: już istnieje + + + + %1: does not exist + %1: nie istnieje + + + + + %1: unknown error %2 + %1: nieznany błąd %2 + + + + QTDSDriver + + + Unable to open connection + Nie można otworzyć połączenia - Open in New Window - Open in New Window context menu item - Otwórz w nowym oknie + Unable to use database + Nie można użyć bazy danych + + + + QTabBar + + + Scroll Left + Przewiń w lewo + + + + Scroll Right + Przewiń w prawo + + + + QTcpServer + + + Operation on socket is not supported + Operacja na gnieździe nieobsługiwana + + + + QTextControl + + + &Copy + S&kopiuj + + + + Copy &Link Location + Skopiuj &adres odsyłacza + + + + Cu&t + &Wytnij + + + + Delete + Skasuj + + + + &Paste + &Wklej + + + + &Redo + &Przywróć + + + + Select All + Zaznacz wszystko + + + + &Undo + &Cofnij + + + + QToolButton + + + + Open + Otwórz + + + + + Press + Wciśnij + + + + QUdpSocket + + + This platform does not support IPv6 + Ta platforma nie obsługuje IPv6 + + + + QUndoGroup + + + Redo + Przywróć + + + + Undo + Cofnij + + + + QUndoModel + + + <empty> + <pusty> + + + + QUndoStack + + + Redo + Przywróć + + + + Undo + Cofnij + + + + QUnicodeControlCharacterMenu + + + Insert Unicode control character + Wstaw znak kontroli Unicode + + + + LRE Start of left-to-right embedding + LRE Początek osadzania od lewej do prawej + + + + LRM Left-to-right mark + LRM znacznik od prawej do lewej + + + + LRO Start of left-to-right override + LRO Początek nadpisania od lewej do prawej + + + + PDF Pop directional formatting + PDF Formatowanie kierunkowe pop + + + + RLE Start of right-to-left embedding + RLE Początek osadzania od prawej do lewej + + + + RLM Right-to-left mark + RLM Znacznik od prawej do lewej + + + + RLO Start of right-to-left override + RLO Początek nadpisania od prawej do lewej + + + + ZWJ Zero width joiner + ZWJ Łącznik zerowej długości + + + + ZWNJ Zero width non-joiner + ZWNJ Rozdzielnik zerowej długości + + + + ZWSP Zero width space + ZWSP Przerwa zerowej długości + + + + QWebFrame + + + Request cancelled + Prośba anulowana + + + + Request blocked + Prośba zablokowana + + + + Cannot show URL + Nie można pokazać URL + + + + Frame load interrupted by policy change + Ładowanie ramki przerwane przez zmianę strategii + + + + Cannot show mimetype + Nie można pokazać typu MIME + + + + File does not exist + Plik nie istnieje + + + + QWebPage + + + Submit + default label for Submit buttons in forms on web pages + Wyślij + + + + Submit + Submit (input element) alt text for <input> elements with no alt, title, or value + Wyślij + + + + Reset + default label for Reset buttons in forms on web pages + Wyczyść + + + + Choose File + title for file button used in HTML forms + Wybierz plik + + + + No file selected + text to display in file button used in HTML forms when no file is selected + Nie zaznaczono pliku + + + + Open in New Window + Open in New Window context menu item + Otwórz w nowym oknie + + + + Save Link... + Download Linked File context menu item + Zachowaj odsyłacz... + + + + Copy Link + Copy Link context menu item + Skopiuj odsyłacz + + + + Open Image + Open Image in New Window context menu item + Otwórz obrazek + + + + Save Image + Download Image context menu item + Zachowaj obrazek + + + + Copy Image + Copy Link context menu item + Skopiuj obrazek + + + + Open Frame + Open Frame in New Window context menu item + Otwórz ramkę + + + + Copy + Copy context menu item + Skopiuj + + + + Go Back + Back context menu item + Wróć + + + + Go Forward + Forward context menu item + Idź dalej + + + + Stop + Stop context menu item + Zatrzymaj + + + + Reload + Reload context menu item + Przeładuj + + + + Cut + Cut context menu item + Wytnij + + + + Paste + Paste context menu item + Wklej + + + + No Guesses Found + No Guesses Found context menu item + Nie odnaleziono podpowiedzi + + + + Ignore + Ignore Spelling context menu item + Zignoruj + + + + Add To Dictionary + Learn Spelling context menu item + Dodaj do słownika + + + + Search The Web + Search The Web context menu item + Wyszukaj w sieci + + + + Look Up In Dictionary + Look Up in Dictionary context menu item + Poszukaj w słowniku + + + + Open Link + Open Link context menu item + Otwórz odsyłacz + + + + Ignore + Ignore Grammar context menu item + Zignoruj + + + + Spelling + Spelling and Grammar context sub-menu item + Pisownia + + + + Show Spelling and Grammar + menu item title + Pokaż pisownię i gramatykę + + + + Hide Spelling and Grammar + menu item title + Schowaj pisownię i gramatykę + + + + Check Spelling + Check spelling context menu item + Sprawdź pisownię + + + + Check Spelling While Typing + Check spelling while typing context menu item + Sprawdzaj pisownię podczas pisania + + + + Check Grammar With Spelling + Check grammar with spelling context menu item + Sprawdzaj gramatykę wraz z pisownią + + + + Fonts + Font context sub-menu item + Czcionki + + + + Bold + Bold context menu item + Pogrubiony + + + + Italic + Italic context menu item + Kursywa + + + + Underline + Underline context menu item + Podkreślenie + + + + Outline + Outline context menu item + Kontur + + + + Direction + Writing direction context sub-menu item + Kierunek + + + + Text Direction + Text direction context sub-menu item + Kierunek tekstu + + + + Default + Default writing direction context menu item + Domyślny + + + + Loading... + Media controller status message when the media is loading + Ładowanie... + + + + Live Broadcast + Media controller status message when watching a live broadcast + Transmisja na żywo + + + + Audio Element + Media controller element + Element dźwiękowy + + + + Video Element + Media controller element + Element wideo + + + + Mute Button + Media controller element + Przycisk wyłączania głosu + + + + Unmute Button + Media controller element + Przycisk włączania głosu + + + + Play Button + Media controller element + Przycisk odtwarzania + + + + Pause Button + Media controller element + Przycisk pauzy + + + + Slider + Media controller element + Suwak + + + + Slider Thumb + Media controller element + Uchwyt suwaka + + + + Rewind Button + Media controller element + Przycisk przewijania + + + + Return to Real-time Button + Media controller element + Przycisk powrotu do czasu rzeczywistego + + + + Elapsed Time + Media controller element + Czas który upłynął + + + + Remaining Time + Media controller element + Czas który pozostał + + + + Status Display + Media controller element + Wyświetlacz stanu + + + + Fullscreen Button + Media controller element + Przycisk trybu pełnoekranowego + + + + Seek Forward Button + Media controller element + Przycisk przeszukiwania do przodu + + + + Seek Back Button + Media controller element + Przycisk przeszukiwania do tyłu + + + + Audio element playback controls and status display + Media controller element + Kontrolki odtwarzania dźwięku i wyświetlacz stanu + + + + Video element playback controls and status display + Media controller element + Kontrolki odtwarzania wideo i wyświetlacz stanu + + + + Mute audio tracks + Media controller element + Wyłącz ścieżkę dźwiękową + + + + Unmute audio tracks + Media controller element + Włącz ścieżkę dźwiękową + + + + Begin playback + Media controller element + Rozpocznij odtwarzanie + + + + Pause playback + Media controller element + Wstrzymaj odtwarzanie + + + + Movie time scrubber + Media controller element + + + + + Movie time scrubber thumb + Media controller element + + + + + Rewind movie + Media controller element + Przewiń film + + + + Return streaming movie to real-time + Media controller element + Przywróć przesyłanie filmu do czasu rzeczywistego + + + + Current movie time + Media controller element + Czas bieżącego filmu + + + + Remaining movie time + Media controller element + Czas do końca filmu + + + + Current movie status + Media controller element + Stan bieżącego filmu + + + + Play movie in full-screen mode + Media controller element + Odtwarzaj film w trybie pełnoekranowym + + + + Seek quickly back + Media controller element + Przeszukaj szybko do tyłu + + + + Seek quickly forward + Media controller element + Przeszukaj szybko do przodu + + + + Indefinite time + Media time description + Nieokreślony czas + + + + %1 days %2 hours %3 minutes %4 seconds + Media time description + %1 dni %2 godzin %3 minut %4 sekund + + + + %1 hours %2 minutes %3 seconds + Media time description + %1 godzin %2 minut %3 sekund + + + + %1 minutes %2 seconds + Media time description + %1 minut %2 sekund + + + + %1 seconds + Media time description + %1 sekund + + + + Inspect + Inspect Element context menu item + Zwiedzaj + + + + No recent searches + Label for only item in menu that appears when clicking on the search field image, when no searches have been performed + Brak ostatnich wyszukiwań + + + + Recent searches + label for first item in the menu that appears when clicking on the search field image, used as embedded menu title + Ostatnie wyszukiwania + + + + Clear recent searches + menu item in Recent Searches menu that empties menu's contents + Wyczyść ostatnie wyszukiwania + + + + Unknown + Unknown filesize FTP directory listing item + Nieznany + + + + Web Inspector - %2 + Wizytator sieciowy - %2 + + + + Bad HTTP request + Niepoprawna komenda HTTP + + + + This is a searchable index. Enter search keywords: + text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' + To jest indeks wyszukiwawczy. Podaj słowa do wyszukania: + + + + Left to Right + Left to Right context menu item + Z lewej na prawą + + + + Right to Left + Right to Left context menu item + Z prawej na lewą + + + + %1 (%2x%3 pixels) + Title string for images + %1 (%2x%3 piksli) + + + + Scroll here + Przewiń tutaj + + + + Left edge + Lewa krawędź + + + + Top + Do góry + + + + Right edge + Prawa krawędź + + + + Bottom + W dół + + + + Page left + Strona w lewo + + + + Page up + Strona do góry + + + + Page right + Strona w prawo + + + + Page down + Strona w dół + + + + Scroll left + Przewiń w lewo + + + + Scroll up + Przewiń do góry + + + + Scroll right + Przewiń w prawo + + + + Scroll down + Przewiń w dół + + + + %n file(s) + number of chosen file + + %n plik + %n pliki + %n plików + + + + + JavaScript Alert - %1 + Ostrzeżenie JavaScript - %1 + + + + JavaScript Confirm - %1 + Potwierdzenie JavaScript - %1 + + + + JavaScript Prompt - %1 + Zachęta JavaScript - %1 + + + + JavaScript Problem - %1 + Problem JavaScript - %1 + + + + The script on this page appears to have a problem. Do you want to stop the script? + Skrypt na tej stronie nie działa poprawnie. Czy chcesz przerwać ten skrypt? + + + + Move the cursor to the next character + Przesuń kursor do nastepnego znaku + + + + Move the cursor to the previous character + Przesuń kursor do poprzedniego znaku + + + + Move the cursor to the next word + Przesuń kursor do nastepnego słowa + + + + Move the cursor to the previous word + Przesuń kursor do poprzedniego słowa + + + + Move the cursor to the next line + Przesuń kursor do nastepnej linii + + + + Move the cursor to the previous line + Przesuń kursor do poprzedniej linii + + + + Move the cursor to the start of the line + Przesuń kursor do początku linii + + + + Move the cursor to the end of the line + Przesuń kursor do końca linii + + + + Move the cursor to the start of the block + Przesuń kursor do początku bloku + + + + Move the cursor to the end of the block + Przesuń kursor do końca bloku + + + + Move the cursor to the start of the document + Przesuń kursor do początku dokumentu + + + + Move the cursor to the end of the document + Przesuń kursor do końca dokumentu + + + + Select all + Zaznacz wszystko + + + + Select to the next character + Zaznacz do następnego znaku + + + + Select to the previous character + Zaznacz do poprzedniego znaku + + + + Select to the next word + Zaznacz do następnego słowa + + + + Select to the previous word + Zaznacz do poprzedniego słowa + + + + Select to the next line + Zaznacz do następnej linii + + + + Select to the previous line + Zaznacz do poprzedniej linii + + + + Select to the start of the line + Zaznacz do początku linii + + + + Select to the end of the line + Zaznacz do końca linii + + + + Select to the start of the block + Zaznacz do początku bloku + + + + Select to the end of the block + Zaznacz do końca bloku + + + + Select to the start of the document + Zaznacz do początku dokumentu + + + + Select to the end of the document + Zaznacz do końca dokumentu + + + + Delete to the start of the word + Skasuj do początku słowa + + + + Delete to the end of the word + Skasuj do końca słowa + + + + Insert a new paragraph + Wstaw nowy paragraf + + + + Insert a new line + Wstaw nową linię + + + + Paste and Match Style + Wklej i dopasuj styl + + + + Remove formatting + Usuń formatowanie + + + + Strikethrough + Przekreślenie + + + + Subscript + Indeks dolny + + + + Superscript + Indeks górny + + + + Insert Bulleted List + Wstaw listę wypunktową + + + + Insert Numbered List + Wstaw listę ponumerowaną + + + + Indent + Zwiększ wcięcie + + + + Outdent + Zmniejsz wcięcie + + + + Center + Wyśrodkuj + + + + Justify + Wyjustuj + + + + Align Left + Wyrównaj do lewej + + + + Align Right + Wyrównaj do prawej + + + + QWhatsThisAction + + + What's This? + Co to jest? + + + + QWidget + + + * + * + + + + QWizard + + + Go Back + Wróć + + + + Continue + Kontynuuj + + + + Commit + Dokonaj + + + + Done + Wykonano + + + + Help + Pomoc + + + + < &Back + < &Wstecz + + + + &Finish + &Zakończ + + + + Cancel + Anuluj + + + + &Help + &Pomoc + + + + &Next + &Dalej + + + + &Next > + &Dalej > + + + + QWorkspace + + + + %1 - [%2] + %1 - [%2] + + + + Close + Zamknij + + + + &Close + &Zamknij + + + + Ma&ximize + Zma&ksymalizuj + + + + Minimize + Zminimalizuj + + + + Mi&nimize + Zmi&nimalizuj + + + + &Move + &Przenieś + + + + &Restore + &Przywróć + + + + Restore Down + Przywróć pod spód + + + + + Sh&ade + &Zwiń + + + + &Size + &Rozmiar + + + + Stay on &Top + Pozostaw na &wierzchu + + + + &Unshade + R&ozwiń + + + + QXml + + + encoding declaration or standalone declaration expected while reading the XML declaration + oczekiwano deklaracji "encoding" lub "standalone" podczas odczytywania deklaracji XML + + + + error in the text declaration of an external entity + błąd w deklaracji "text" zewnętrznej jednostki + + + + error occurred while parsing comment + wystąpił błąd podczas parsowania komentarza + + + + error occurred while parsing content + wystąpił błąd podczas parsowania zawartości + + + + error occurred while parsing document type definition + wystąpił błąd podczas parsowania typu definicji dokumentu + + + + error occurred while parsing element + wystąpił błąd podczas parsowania elementu + + + + error occurred while parsing reference + wystąpił błąd podczas parsowania odwołania + + + + error triggered by consumer + błąd wywołany przez konsumenta + + + + external parsed general entity reference not allowed in attribute value + odwołanie do jednostki ogólnej zewnętrznie przetworzonej nie dozwolone dla wartości atrybutu + + + + external parsed general entity reference not allowed in DTD + odwołanie do jednostki ogólnej zewnętrznie przetworzonej nie dozwolone w DTD + + + + internal general entity reference not allowed in DTD + odwołanie do jednostki ogólnej wewnętrznej nie dozwolone w DTD + + + + invalid name for processing instruction + niepoprawna nazwa dla instrukcji przetwarzającej + + + + letter is expected + oczekiwana jest litera + + + + more than one document type definition + więcej niż jedna definicja typu dokumentu + + + + no error occurred + nie pojawił się żaden błąd + + + + recursive entities + jednostki rekurencyjne + + + + standalone declaration expected while reading the XML declaration + deklaracja "standalone" oczekiwana podczas czytania deklaracji XML + + + + tag mismatch + niepoprawny tag + + + + unexpected character + nieoczekiwany znak + + + + unexpected end of file + nieoczekiwany koniec pliku + + + + unparsed entity reference in wrong context + odwołanie do jednostki nieprzetworzonej w złym kontekście + + + + version expected while reading the XML declaration + oczekiwana wersja podczas czytania deklaracji XML + + + + wrong value for standalone declaration + błędna wartość dla deklaracji "standalone" + + + + QXmlStream + + + + Extra content at end of document. + Dodatkowa treść na końcu dokumentu. + + + + Invalid entity value. + Niepoprawna wartość jednostki. + + + + Invalid XML character. + Niepoprawny znak XML. + + + + Sequence ']]>' not allowed in content. + Ciąg ']]>' niedozwolony w treści. + + + + Namespace prefix '%1' not declared + Przedrostek przestrzeni nazw '%1' nie został zadeklarowany + + + + Attribute redefined. + Atrybut zdefiniowany wielokrotnie. + + + + Unexpected character '%1' in public id literal. + Nieoczekiwany znak '%1' w publicznej stałej znakowej. + + + + Invalid XML version string. + Niepoprawna wersja XML. + + + + Unsupported XML version. + Nieobsługiwana wersja XML. + + + + %1 is an invalid encoding name. + %1 jest niepoprawną nazwą kodowania. + + + + Encoding %1 is unsupported + Kodowanie %1 jest nieobsługiwane + + + + Standalone accepts only yes or no. + Tylko wartości "tak" lub "nie" są akceptowane przez "standalone". + + + + Invalid attribute in XML declaration. + Niepoprawny atrybut w deklaracji XML. + + + + Premature end of document. + Przedwczesne zakończenie dokumentu. + + + + Invalid document. + Niepoprawny dokument. + + + + Expected + Oczekiwano + + + + , but got ' + , ale otrzymano ' + + + + Unexpected ' + Nieoczekiwany ' + + + + Expected character data. + Oczekiwana dana znakowa. + + + + Recursive entity detected. + Wykryto jednostkę rekurencyjną. + + + + Start tag expected. + Oczekiwano tagu start. + + + + XML declaration not at start of document. + Deklaracja XML nie jest na początku dokumentu. + + + + NDATA in parameter entity declaration. + NDATA w deklaracji parametru obiektu. + + + + %1 is an invalid processing instruction name. + %1 jest niepoprawną nazwą instrukcji przetwarzającej. + + + + Invalid processing instruction name. + Niepoprawna nazwa instrukcji przetwarzającej. + + + + + + + Illegal namespace declaration. + Niepoprawna deklaracja przestrzeni nazw. + + + + Invalid XML name. + Niepoprawna nazwa XML. + + + + Opening and ending tag mismatch. + Niezgodne tagi początku i końca. + + + + Reference to unparsed entity '%1'. + Odwołanie do nieprzetworzonej jednostki '%1'. + + + + + + Entity '%1' not declared. + Jednostka '%1' nie zadeklarowana. + + + + Reference to external entity '%1' in attribute value. + Odwołanie do zewnętrznej jednostki '%1' jako wartość atrybutu. + + + + Invalid character reference. + Niepoprawny znak odwołania. + + + + + Encountered incorrectly encoded content. + Natrafiono na niepoprawnie zakodowaną treść. + + + + The standalone pseudo attribute must appear after the encoding. + Pseudo atrybut "standalone" musi pojawić sie po "encoding". + + + + %1 is an invalid PUBLIC identifier. + %1 jest niepoprawnym publicznym identyfikatorem. + + + + QtXmlPatterns + + + Network timeout. + Przekroczony czas połączenia. + + + + Element %1 can't be serialized because it appears outside the document element. + Element %1 nie może być zserializowany ponieważ pojawił się poza elementem "document". + + + + Attribute %1 can't be serialized because it appears at the top level. + Atrybut %1 nie może być zserializowany ponieważ pojawił się na najwyższym poziomie. + + + + Year %1 is invalid because it begins with %2. + Rok %1 jest niepoprawny ponieważ rozpoczyna się: %2. + + + + Day %1 is outside the range %2..%3. + Dzień %1 jest poza zakresem %2..%3. + + + + Month %1 is outside the range %2..%3. + Miesiąc %1 jest poza zakresem %2..%3. + + + + Overflow: Can't represent date %1. + Przepełnienie: Nie można wyrazić daty %1. + + + + Day %1 is invalid for month %2. + Dzień %1 jest niepoprawny dla miesiąca %2. + + + + Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; + Czas 24:%1:%2:%3 jest niepoprawny. Godzina jest 24, ale minuty, sekundy i milisekundy nie są równocześnie zerami; + + + + Time %1:%2:%3.%4 is invalid. + Czas %1:%2:%3.%4 jest niepoprawny. + + + + Overflow: Date can't be represented. + Przepełnienie: Data nie może być wyrażona. + + + + + At least one component must be present. + Przynajmniej jeden komponent musi być obecny. + + + + At least one time component must appear after the %1-delimiter. + Przynajmniej jeden komponent musi wystąpić po nawiasie %1. + + + + %1 is not a valid value of type %2. + %1 nie jest poprawną wartością dla typu %2. + + + + When casting to %1 from %2, the source value cannot be %3. + W rzutowaniu %1 na %2 wartość źródłowa nie może być %3. + + + + + Dividing a value of type %1 by %2 (not-a-number) is not allowed. + Dzielenie wartości typu %1 przez %2 (typ nienumeryczny) jest niedozwolone. + + + + Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. + Dzielenie wartości typu %1 przez %2 lub %3 (plus lub minus zero) jest niedozwolone. + + + + Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. + Mnożenie wartości typu %1 przez %2 lub %3 (plus lub minus nieskończoność) jest niedozwolone. + + + + A value of type %1 cannot have an Effective Boolean Value. + Wartość typu %1 nie może posiadać efektywnej wartości boolowskiej (EBV). + + + + Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. + Efektywna wartość boolowska (EBV) nie może być obliczona dla sekwencji zawierającej dwie lub więcej wartości atomowe. + + + + Value %1 of type %2 exceeds maximum (%3). + Wartość %1 typu %2 przekracza maksimum (%3). + + + + Value %1 of type %2 is below minimum (%3). + Wartość %1 typu %2 jest poniżej minimum (%3). + + + + A value of type %1 must contain an even number of digits. The value %2 does not. + Wartość typu %1 musi zawierać parzystą liczbę cyfr. Wartość %2 nie zawiera. + + + + %1 is not valid as a value of type %2. + Wartość %1 nie jest poprawna jako wartość typu %2. + + + + Operator %1 cannot be used on type %2. + Operator %1 nie może być użyty dla typu %2. + + + + Operator %1 cannot be used on atomic values of type %2 and %3. + Operator %1 nie może być użyty dla atomowych wartości typu %2 i %3. + + + + The namespace URI in the name for a computed attribute cannot be %1. + Przestrzeń nazw URI nie może być %1 w nazwie dla obliczonego atrybutu. + + + + The name for a computed attribute cannot have the namespace URI %1 with the local name %2. + Nazwa dla wyliczonego atrybutu nie może zawierać przestrzeni nazw URI %1 z lokalną nazwą %2. + + + + Type error in cast, expected %1, received %2. + Błąd typów w rzutowaniu: spodziewano się %1, otrzymano %2. + + + + When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. + Podczas rzutowania na %1 lub na typ pochodny, wartość źródłowa musi być tego samego typu lub musi być zapisem tekstowym. Typ %2 nie jest dozwolony. + + + + A comment cannot contain %1 + Komentarz nie może zawierać %1 + + + + A comment cannot end with a %1. + Komentarz nie może kończyć się: %1. + + + + An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. + Węzeł "attribute" nie może być podelementem węzła "document". Dlatego atrybut %1 jest w złym miejscu. + + + + A library module cannot be evaluated directly. It must be imported from a main module. + Moduł biblioteki nie może być bezpośrednio oceniony. On musi być zaimportowany z głównego modułu. + + + + No template by name %1 exists. + Szablon o nazwie %1 nie istnieje. + + + + A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. + Wartość typu %1 nie może być predykatem. Predykat musi być typu liczbowego lub Efektywną Wartość Logiczną. + + + + A positional predicate must evaluate to a single numeric value. + Wynikiem predykatu pozycyjnego musi być pojedyńcza wartość liczbowa. + + + + %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. + %1 nie jest poprawną nazwą docelową w instrukcji przetwarzania. Nazwa musi być wartością %2, np. %3. + + + + The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. + Ostatni krok w ścieżce musi zawierać albo wezły albo wartości atomowe. Nie może zawierać obu jednocześnie. + + + + The data of a processing instruction cannot contain the string %1 + Dane instrukcji przetwarzania nie mogą zawierać ciągu %1 + + + + No namespace binding exists for the prefix %1 + Żadna przestrzeń nazw nie jest powiązana z przedrostkiem %1 + + + + No namespace binding exists for the prefix %1 in %2 + Żadna przestrzeń nazw nie jest powiązana z przedrostkiem %1 w %2 + + + + + %1 is an invalid %2 + %1 jest niepoprawnym %2 + + + + The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. + Pierwszy argument w %1 nie może być typu %2. Musi on być typu liczbowego: xs:yearMonthDuration lub xs:dayTimeDuration. + + + + The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. + Pierwszy argument w %1 nie może być typu %2. Musi on być typu: %3, %4 lub %5. + + + + The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. + Drugi argument w %1 nie może być typu %2. Musi on być typu: %3, %4 lub %5. + + + + %1 is not a valid XML 1.0 character. + %1 nie jest poprawnym znakiem XML 1.0. + + + + If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. + Jeśli oba argumenty mają przesunięcia strefowe, muszą one być takie same. %1 i %2 nie są takie same. + + + + %1 was called. + Wywołano %1. + + + + %1 must be followed by %2 or %3, not at the end of the replacement string. + Po %1 musi następowac %2 lub %3, lecz nie na końcu zastępczego ciągu. + + + + In the replacement string, %1 must be followed by at least one digit when not escaped. + W ciągu zastępczym, po %1 musi następować przynajmniej jedna cyfra + + + + In the replacement string, %1 can only be used to escape itself or %2, not %3 + W ciągu zastępczym, %1 może być użyte tylko do zabezpieczenia samej siebie lub %2, nigdy %3 + + + + %1 matches newline characters + %1 dopasowało znak nowej linii + + + + %1 and %2 match the start and end of a line. + %1 i %2 dopasowały początek i koniec linii. + + + + Matches are case insensitive + Dopasowania uwzględniają wielkość liter + + + + Whitespace characters are removed, except when they appear in character classes + Spacje są usuwane z wyjątkiem kiedy pojawią się w klasach znakowych + + + + %1 is an invalid regular expression pattern: %2 + %1 jest niepoprawnym wzorcem wyrażenia regularnego: %2 + + + + %1 is an invalid flag for regular expressions. Valid flags are: + %1 jest niepoprawną flagą dla wyrażeń regularnych. Poprawnymi flagami są: + + + + If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. + Jeśli pierwszy argument jest pustą sekwencją lub zerowej długości ciągiem (przy braku przestrzeni nazw), przedrostek nie może wystąpić. Podano przedrostek %1. + + + + It will not be possible to retrieve %1. + Nie będzie można odzyskać %1. - - Save Link... - Download Linked File context menu item - Zachowaj odsyłacz... + + The default collection is undefined + Domyślna kolekcja jest niezdefiniowana - - Copy Link - Copy Link context menu item - Skopiuj odsyłacz + + %1 cannot be retrieved + %1 nie może być odzyskane - - Open Image - Open Image in New Window context menu item - Otwórz obrazek + + The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). + Znormalizowana forma %1 nie jest obsługiwana. Obsługiwanymi formami są: %2, %3, %4 i %5 oraz pusta forma (brak normalizacji). - - Save Image - Download Image context menu item - Zachowaj obrazek + + A zone offset must be in the range %1..%2 inclusive. %3 is out of range. + Przesunięcie strefowe musi być w zakresie %1..%2 włącznie. %3 jest poza tym zakresem. - - Copy Image - Copy Link context menu item - Skopiuj obrazek + + Required cardinality is %1; got cardinality %2. + Wymagana liczność wynosi %1; otrzymano %2. - - Open Frame - Open Frame in New Window context menu item - Otwórz ramkę + + The item %1 did not match the required type %2. + Element %1 nie został dopasowany do wymaganego typu %2. - - Copy - Copy context menu item - Skopiuj + + + %1 is an unknown schema type. + %1 jest nieznanym typem schematu. - - Go Back - Back context menu item - Wróć + + Only one %1 declaration can occur in the query prolog. + Tylko jedna deklaracja %1 może się pojawić w prologu zapytania. - - Go Forward - Forward context menu item - Idź dalej + + The initialization of variable %1 depends on itself + Inicjalizacja zmiennej %1 zależy od niej samej - - Stop - Stop context menu item - Zatrzymaj + + The variable %1 is unused + Zmienna %1 jest nieużywana - - Reload - Reload context menu item - Przeładuj + + Version %1 is not supported. The supported XQuery version is 1.0. + Wersja %1 nie jest obsługiwana. Obsługiwaną wersją XQuery jest wersja 1.0. - - Cut - Cut context menu item - Wytnij + + No function with signature %1 is available + Żadna funkcja w postaci %1 nie jest dostępna - - Paste - Paste context menu item - Wklej + + It is not possible to redeclare prefix %1. + Nie jest możliwe ponowne zadeklarowanie przedrostka %1. - - No Guesses Found - No Guesses Found context menu item - Nie odnaleziono podpowiedzi + + Prefix %1 is already declared in the prolog. + Przedrostek %1 jest już zadeklarowany w prologu. - - Ignore - Ignore Spelling context menu item - Zignoruj + + The name of an option must have a prefix. There is no default namespace for options. + Nazwa opcji musi posiadać przedrostek. Nie istnieje domyślna przestrzeń nazw dla opcji. - - Add To Dictionary - Learn Spelling context menu item - Dodaj do słownika + + The Schema Import feature is not supported, and therefore %1 declarations cannot occur. + Cecha "Import schematu" nie jest obsługiwana, dlatego deklaracje %1 nie mogą pojawić. - - Search The Web - Search The Web context menu item - Wyszukaj w sieci + + The target namespace of a %1 cannot be empty. + Docelowa przestrzeń nazw dla %1 nie może być pusta. - - Look Up In Dictionary - Look Up in Dictionary context menu item - Poszukaj w słowniku + + The module import feature is not supported + Cecha "Import modułu" nie jest obsługiwana - - Open Link - Open Link context menu item - Otwórz odsyłacz + + No value is available for the external variable by name %1. + Brak wartości dla zewnętrznej zmiennej o nazwie %1. - - Ignore - Ignore Grammar context menu item - Zignoruj + + The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. + Przestrzeń nazw %1 jest zarezerwowana, dlatego funkcje zdefiniowane przez użytkownika nie mogą jej użyć. Spróbuj predefiniowany przedrostek %2, który istnieje w takich przypadkach. - - Spelling - Spelling and Grammar context sub-menu item - Pisownia + + The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 + Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika w module bibliotecznym musi odpowiadać przestrzeni nazw modułu. Powinna to być %1 zamiast %2 - - Show Spelling and Grammar - menu item title - Pokaż pisownię i gramatykę + + A function already exists with the signature %1. + Funkcja w postaci %1 już istnieje. - - Hide Spelling and Grammar - menu item title - Schowaj pisownię i gramatykę + + No external functions are supported. All supported functions can be used directly, without first declaring them as external + Zewnętrzne funkcje nie są obsługiwane. Wszystkie obsługiwane funkcje mogą być używane bezpośrednio, bez ich uprzedniego deklarowania jako zewnętrzne - - Check Spelling - Check spelling context menu item - Sprawdź pisownię + + An argument by name %1 has already been declared. Every argument name must be unique. + Argument o nazwie %1 został już zadeklarowany. Każda nazwa argumentu musi być unikatowa. - - Check Spelling While Typing - Check spelling while typing context menu item - Sprawdzaj pisownię podczas pisania + + The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. + Nazwa zmiennej powiązanej w wyrażeniu "for" musi być inna od zmiennej pozycjonującej. W związku z tym dwie zmienne o nazwie %1 kolidują ze sobą. - - Check Grammar With Spelling - Check grammar with spelling context menu item - Sprawdzaj gramatykę wraz z pisownią + + The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. + Cecha "Walidacja schematu" nie jest obsługiwana. Dlatego też wyrażenia %1 nie mogą być użyte. - - Fonts - Font context sub-menu item - Czcionki + + None of the pragma expressions are supported. Therefore, a fallback expression must be present + Wyrażenia "pragma" nie są obsługiwane. Dlatego musi wystąpić wyrażenie zastępcze - - Bold - Bold context menu item - Pogrubiony + + The %1-axis is unsupported in XQuery + Oś %1 nie jest obsługiwana w XQuery - - Italic - Italic context menu item - Kursywa + + %1 is not a valid numeric literal. + %1 nie jest poprawnym zapisem liczbowym. - - Underline - Underline context menu item - Podkreślenie + + W3C XML Schema identity constraint selector + Selektor ograniczenia jednostki W3C XML Schema - - Outline - Outline context menu item - Kontur + + W3C XML Schema identity constraint field + Pole ograniczenia jednostki W3C XML Schema - - Direction - Writing direction context sub-menu item - Kierunek + + A construct was encountered which is disallowed in the current language(%1). + Wystąpiła konstrukcja która jest niedozwolona w bieżącym języku (%1). - - Text Direction - Text direction context sub-menu item - + + No variable by name %1 exists + Zmienna o nazwie %1 nie istnieje - - Default - Default writing direction context menu item - Domyślny + + A template by name %1 has already been declared. + Szablon o nazwie %1 został już zadeklarowany. - - LTR - Left to Right context menu item - Z lewej do prawej + + The keyword %1 cannot occur with any other mode name. + Słowo kluczowe %1 nie może wystapić z inną nazwą trybu. - - RTL - Right to Left context menu item - Z prawej do lewej + + The value of attribute %1 must of type %2, which %3 isn't. + Wartość atrybutu %1 musi być typu %2, którym nie jest %3. - - Inspect - Inspect Element context menu item - Zwiedzaj + + The prefix %1 can not be bound. By default, it is already bound to the namespace %2. + Przedrostek %1 nie może być powiązany. Jest on domyślnie powiązany z przestrzenią nazw %2. - - No recent searches - Label for only item in menu that appears when clicking on the search field image, when no searches have been performed - Brak ostatnich wyszukiwań + + A variable by name %1 has already been declared. + Zmienna o nazwie %1 została już zadeklarowana. - - Recent searches - label for first item in the menu that appears when clicking on the search field image, used as embedded menu title - Ostatnie wyszukiwania + + A stylesheet function must have a prefixed name. + Funkcja arkusza stylu musi zawierać nazwę z przedrostkiem. + + + + The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) + Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika nie może być pusta (spróbuj predefiniowany przedrostek %1, który stworzono specjalnie do takich sytuacji) - - Clear recent searches - menu item in Recent Searches menu that empties menu's contents - Wyczyść ostatnie wyszukiwania + + When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. + Gdy funkcja %1 jest wykorzystana do dopasowania wewnątrz wzorca, jej argument musi być referencją do zmiennej lub napisem. - - Unknown - Unknown filesize FTP directory listing item - Nieznany + + In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. + We wzorze XSL-T pierwszy argument w funkcji %1 musi być stałą znakową podczas dopasowywania. - - Web Inspector - %2 - Wizytator sieciowy - %2 + + In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. + We wzorze XSL-T pierwszy argument w funkcji %1 musi być stałą znakową lub nazwą zmiennej podczas dopasowywania. - - Bad HTTP request - Niepoprawna komenda HTTP + + In an XSL-T pattern, function %1 cannot have a third argument. + We wzorze XSL-T funkcja %1 nie może zawierać trzeciego argumentu. - - This is a searchable index. Enter search keywords: - text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' - To jest indeks wyszukiwawczy. Podaj słowa do wyszukania: + + In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. + We wzorze XSL-T tylko funkcje %1 i %2 mogą być użyte do dopasowania, zaś funkcja %3 nie. - - %1 (%2x%3 pixels) - Title string for images - %1 (%2x%3 piksli) + + In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. + We wzorze XSL-T tylko osie %2 i %3 mogą być użyte, zaś oś %1 nie. - - Scroll here - Przewiń tutaj + + %1 is an invalid template mode name. + %1 nie jest poprawną nazwa trybu szablonu. - - Left edge - Lewa krawędź + + Each name of a template parameter must be unique; %1 is duplicated. + Każda nazwa parametru szablonu musi być unikatowa; %1 się powtarza. - - Top - Do góry + + No function by name %1 is available. + Żadna funkcja o nazwie %1 nie jest dostępna. - - Right edge - Prawa krawędź + + The namespace URI cannot be the empty string when binding to a prefix, %1. + Przestrzeń nazw URI nie może być pustym ciągiem w powiązaniu z przedrostkiem, %1. - - Bottom - W dół + + %1 is an invalid namespace URI. + %1 jest niepoprawną przestrzenią nazw URI. - - Page left - Strona w lewo + + It is not possible to bind to the prefix %1 + Nie jest możliwe powiązanie z przedrostkiem %1 - - Page up - Strona do góry + + Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). + Przestrzeń nazw %1 może być jedynie powiązana z %2 (w przeciwnym wypadku jest ona domyślnie zadeklarowana). - - Page right - Strona w prawo + + Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). + Przedrostek %1 może być jedynie powiązany z %2 (w przeciwnym wypadku jest on domyślnie zadeklarowany). - - Page down - Strona w dół + + Two namespace declaration attributes have the same name: %1. + Atrybuty deklaracji przestrzeni nazw mają tą samą nazwę: %1. - - Scroll left - Przewiń w lewo + + The namespace URI must be a constant and cannot use enclosed expressions. + Przestrzeń nazw URI nie może być stałą i nie może używać zawartych w niej wyrażeń. - - Scroll up - Przewiń do góry + + An attribute by name %1 has already appeared on this element. + Atrybut o nazwie %1 już się pojawił w tym elemencie. - - Scroll right - Przewiń w prawo + + A direct element constructor is not well-formed. %1 is ended with %2. + Konstruktor elementu bezpośredniego nie jest dobrze sformatowany. %1 jest zakończony %2. - - Scroll down - Przewiń w dół + + The name %1 does not refer to any schema type. + Nazwa %1 nie odpowiada żadnemu typowi schematu. - - - %n file(s) - number of chosen file - - - - - + + + %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. + %1 jest typem złożonym. Rzutowanie na typy złożone nie jest możliwe. Jednakże rzutowanie na typy atomowe np.: %2 jest dozwolone. - - JavaScript Alert - %1 - + + %1 is not an atomic type. Casting is only possible to atomic types. + %1 nie jest typem atomowym. Możliwe jest rzutowanie tylko na typy atomowe. - - JavaScript Confirm - %1 - + + %1 is not a valid name for a processing-instruction. + %1 nie jest poprawną nazwą dla instrukcji przetwarzającej. - - JavaScript Prompt - %1 - + + + %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. + %1 nie jest wewnątrz zakresu deklaracji atrybutów. Zwróć uwagę że importowanie schematów nie jest obsługiwane. - - Move the cursor to the next character - + + The name of an extension expression must be in a namespace. + Nazwa dodatkowego wyrażenia musi znajdować sie w przestrzeni nazw. - - Move the cursor to the previous character - + + empty + pusty - - Move the cursor to the next word - + + zero or one + zero lub jeden - - Move the cursor to the previous word - + + exactly one + dokładnie jeden - - Move the cursor to the next line - + + one or more + jeden lub więcej - - Move the cursor to the previous line - + + zero or more + zero lub więcej - - Move the cursor to the start of the line - + + Required type is %1, but %2 was found. + Odnaleziono typ %2, lecz wymaganym typem jest %1. - - Move the cursor to the end of the line - + + Promoting %1 to %2 may cause loss of precision. + Przekształcenie %1 do %2 może spowodować utratę precyzji. - - Move the cursor to the start of the block - + + The focus is undefined. + Focus jest niezdefiniowany. - - Move the cursor to the end of the block - + + It's not possible to add attributes after any other kind of node. + Dodanie atrybutu poza węzłami nie jest możliwe. - - Move the cursor to the start of the document - + + An attribute by name %1 has already been created. + Atrybut o nazwie %1 został już utworzony. - - Move the cursor to the end of the document - + + Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. + Obsługiwane jest jedynie "Unicode Codepoint Collation" (%1), %2 nie jest obsługiwane. - - Select all - + + Integer division (%1) by zero (%2) is undefined. + Dzielenie w dziedzinie liczb całkowitych (%1) przez zero (%2) jest niezdefiniowane. - - Select to the next character - + + Division (%1) by zero (%2) is undefined. + Dzielenie (%1) przez zero (%2) jest niezdefiniowane. - - Select to the previous character - + + Modulus division (%1) by zero (%2) is undefined. + Dzielenie modulo (%1) przez zero (%2) jest niezdefiniowane. - - Select to the next word - + + The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. + Docelowa nazwa w instrukcji przetwarzania nie może być %1 w żadnej kombinacji wielkich i małych liter. Dlatego nazwa %2 jest niepoprawna. + + + + %1 takes at most %n argument(s). %2 is therefore invalid. + + %1 przyjmuje co najwyżej %n argument. %2 jest dlatego niepoprawne. + %1 przyjmuje co najwyżej %n argumenty. %2 jest dlatego niepoprawne. + %1 przyjmuje co najwyżej %n argumentów. %2 jest dlatego niepoprawne. + + + + + %1 requires at least %n argument(s). %2 is therefore invalid. + + %1 wymaga przynajmniej %n argumentu. %2 jest dlatego niepoprawne. + %1 wymaga przynajmniej %n argumentów. %2 jest dlatego niepoprawne. + %1 wymaga przynajmniej %n argumentów. %2 jest dlatego niepoprawne. + - - Select to the previous word - + + The root node of the second argument to function %1 must be a document node. %2 is not a document node. + Głównym węzłem drugiego argumentu w funkcji %1 musi być węzeł "document". %2 nie jest węzłem "document". - - Select to the next line - + + %1 is not a whole number of minutes. + %1 nie jest całkowitą liczbą minut. - - Select to the previous line - + + The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. + Enkodowanie %1 jest niepoprawne. Może ono zawierać jedynie znaki alfabetu łacińskiego, nie może zawierać spacji i musi być dopasowane do wyrażenia regularnego %2. - - Select to the start of the line - + + + A default namespace declaration must occur before function, variable, and option declarations. + Domyślna deklaracja przestrzeni nazw musi pojawić się przed deklaracjami funkcji, zmiennych i opcji. - - Select to the end of the line - + + Namespace declarations must occur before function, variable, and option declarations. + Deklaracje przestrzeni nazw muszą pojawić się przed deklaracjami funkcji, zmiennych i opcji. - - Select to the start of the block - + + Module imports must occur before function, variable, and option declarations. + Importy modułów muszą pojawić się przed deklaracjami funkcji, zmiennych i opcji. - - Select to the end of the block - + + %1 is an unsupported encoding. + Nieobsługiwane kodowanie %1. - - Select to the start of the document - + + %1 contains octets which are disallowed in the requested encoding %2. + %1 zawiera bity które są niedozwolone w zażądanym kodowaniu %2. - - Select to the end of the document - + + The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. + Kod %1 który pojawił się w %2 i który używa kodowania %3 jest niepoprawnym znakiem XML. - - Delete to the start of the word - + + Ambiguous rule match. + Dopasowano niejednoznaczną regułę. - - Delete to the end of the word - + + In a namespace constructor, the value for a namespace cannot be an empty string. + W konstruktorze przestrzeni nazw wartość przestrzeni nazw nie może być pustym ciągiem. - - Insert a new paragraph - + + The prefix must be a valid %1, which %2 is not. + Przedrostek musi być poprawnym %1, którym %2 nie jest. - - Insert a new line - + + The prefix %1 cannot be bound. + Przedrostek %1 nie może być powiązany. - - - QWhatsThisAction - - What's This? - Co to jest? + + Only the prefix %1 can be bound to %2 and vice versa. + Tylko przedrostek %1 może być powiązany z %2 i vice versa. - - - QWidget - - * - * + + The parameter %1 is required, but no corresponding %2 is supplied. + Wymagany jest parametr %1 lecz żaden odpowiadający mu %2 nie został dostarczony. - - - QWizard - - Go Back - Wróć + + The parameter %1 is passed, but no corresponding %2 exists. + Przekazany jest parametr %1 lecz żaden odpowiadający mu %2 nie istnieje. - - Continue - Kontynuuj + + The URI cannot have a fragment + URI nie może posiadać fragmentu - - Commit - Dokonaj + + Element %1 is not allowed at this location. + Element %1 jest niedozwolony w tym miejscu. - - Done - Wykonano + + Text nodes are not allowed at this location. + Węzły tekstowe są niedozwolone w tym miejscu. - Quit - Przerwij + + Parse error: %1 + Błąd parsowania: %1 - - Help - Pomoc + + The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. + Wartość atrybutu wersji XSL-T musi być typu %1, którym %2 nie jest. - - < &Back - < &Wstecz + + Running an XSL-T 1.0 stylesheet with a 2.0 processor. + Przetwarzanie arkusza XSL-T w wersji 1.0 przez procesor w wersji 2.0. - - &Finish - &Zakończ + + Unknown XSL-T attribute %1. + Nieznany atrybut %1 XSL-T. - - Cancel - Anuluj + + Attribute %1 and %2 are mutually exclusive. + Atrybuty %1 i %2 wzajemnie się wykluczającą. - - &Help - &Pomoc + + In a simplified stylesheet module, attribute %1 must be present. + W uproszczonym module arkuszu stylu musi wystapić atrybut %1. - - &Next - &Dalej + + If element %1 has no attribute %2, it cannot have attribute %3 or %4. + Jeśli element %1 nie posiada atrybutu %2, nie może on również posiadać atrybutu %3 ani %4. - - &Next > - &Dalej > + + Element %1 must have at least one of the attributes %2 or %3. + Element %1 musi posiadać przynajmiej jeden z atrybutów: %2 lub %3. - - - QWorkspace - - - %1 - [%2] - %1 - [%2] + + At least one mode must be specified in the %1-attribute on element %2. + Przynajmniej jeden tryb musi być podany w atrybucie %1 elementu %2. - - Close - Zamknij + + Element %1 must come last. + Element %1 musi wystąpić jako ostatni. - - &Close - &Zamknij + + At least one %1-element must occur before %2. + Przynajmniej jeden element %1 musi wystąpić przed %2. - - Ma&ximize - Zma&ksymalizuj + + Only one %1-element can appear. + Może wystąpić tylko jeden element %1. - - Minimize - Zminimalizuj + + At least one %1-element must occur inside %2. + Przynajmniej jeden element %1 musi wystąpić wewnątrz %2. - - Mi&nimize - Zmi&nimalizuj + + When attribute %1 is present on %2, a sequence constructor cannot be used. + Kiedy atrybut %1 występuje w %2 konstruktor sekwencyjny nie może być użyty. - - &Move - &Przenieś + + Element %1 must have either a %2-attribute or a sequence constructor. + Element %1 musi posiadać albo atrybut %2 albo sekwencyjny konstruktor. - - &Restore - &Przywróć + + When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. + Kiedy wymagany jest parametr, domyślna wartość nie może być dostarczona przez atrybut %1 ani przez sekwencyjny konstruktor. - - Restore Down - Przywróć pod spód + + Element %1 cannot have children. + Element %1 nie może posiadać potomków. - - - Sh&ade - &Zwiń + + Element %1 cannot have a sequence constructor. + Element %1 nie może posiadać sekwencyjnego konstruktora. - - &Size - &Rozmiar + + + The attribute %1 cannot appear on %2, when it is a child of %3. + Atrybut %1 nie może wystąpić w %2 kiedy jest on potomkiem %3. - - Stay on &Top - Pozostaw na &wierzchu + + A parameter in a function cannot be declared to be a tunnel. + Parametr funkcji nie może być zadeklarowany jako tunelowy. - - &Unshade - R&ozwiń + + This processor is not Schema-aware and therefore %1 cannot be used. + Procesor nie obsługuje schematów, więc %1 nie może zostać użyte. - - - QXml - - encoding declaration or standalone declaration expected while reading the XML declaration - oczekiwano deklaracji "encoding" lub "standalone" podczas odczytywania deklaracji XML + + Top level stylesheet elements must be in a non-null namespace, which %1 isn't. + Elementy arkusza stylu najwyższego poziomu muszą być w niezerowej przestrzeni nazw, którą %1 nie jest. - - error in the text declaration of an external entity - błąd w deklaracji "text" zewnętrznej jednostki + + The value for attribute %1 on element %2 must either be %3 or %4, not %5. + Wartością atrybutu %1 w elemencie %2 musi być %3 albo %4, lecz nie %5. - - error occurred while parsing comment - wystąpił błąd podczas parsowania komentarza + + Attribute %1 cannot have the value %2. + Atrybut %1 nie może posiadać wartości %2. + + + + The attribute %1 can only appear on the first %2 element. + Atrybut %1 może wystąpić jedynie w pierwszym elemencie %2. - - error occurred while parsing content - wystąpił błąd podczas parsowania zawartości + + At least one %1 element must appear as child of %2. + Przynajmniej jeden element %1 musi wystąpić jako potomek %2. - - error occurred while parsing document type definition - wystąpił błąd podczas parsowania typu definicji dokumentu + + %1 has inheritance loop in its base type %2. + %1 ma pętlę w dziedziczeniu w jego podstawowym typie %2. - - error occurred while parsing element - wystąpił błąd podczas parsowania elementu + + + Circular inheritance of base type %1. + Zapętlenie w dziedziczeniu podstawowego typu %1. - - error occurred while parsing reference - wystąpił błąd podczas parsowania odwołania + + Circular inheritance of union %1. + Zapętlenie w dziedziczeniu unii %1. - - error triggered by consumer - błąd wywołany przez konsumenta + + %1 is not allowed to derive from %2 by restriction as the latter defines it as final. + Nie można wywieść %1 z %2 ograniczając go ponieważ jest on zdefiniowany jako ostateczny. - - external parsed general entity reference not allowed in attribute value - odwołanie do jednostki ogólnej zewnętrznie przetworzonej nie dozwolone dla wartości atrybutu + + %1 is not allowed to derive from %2 by extension as the latter defines it as final. + Nie można wywieść %1 z %2 rozszerzając go ponieważ jest on zdefiniowany jako ostateczny. - - external parsed general entity reference not allowed in DTD - odwołanie do jednostki ogólnej zewnętrznie przetworzonej nie dozwolone w DTD + + Base type of simple type %1 cannot be complex type %2. + Typ podstawowy dla typu prostego %1 nie może być typem złożonym %2. - - internal general entity reference not allowed in DTD - odwołanie do jednostki ogólnej wewnętrznej nie dozwolone w DTD + + Simple type %1 cannot have direct base type %2. + Typ prosty %1 nie może mieć bezpośredniego typu podstawowego %2. - - invalid name for processing instruction - niepoprawna nazwa dla instrukcji przetwarzającej + + + Simple type %1 is not allowed to have base type %2. + Typ prosty %1 nie może mieć typu podstawowego %2. - - letter is expected - oczekiwana jest litera + + Simple type %1 can only have simple atomic type as base type. + Typem podstawowym typu prostego %1 może być tylko typ atomowy. - - more than one document type definition - więcej niż jedna definicja typu dokumentu + + Simple type %1 cannot derive from %2 as the latter defines restriction as final. + Typ prosty %1 nie może wywodzić się z %2 ponieważ ten ostatni jest zdefiniowany jako ostateczny. - - no error occurred - nie pojawił się żaden błąd + + + Variety of item type of %1 must be either atomic or union. + Typem elementu %1 musi być albo typ atomowy albo unia. - - recursive entities - jednostki rekurencyjne + + + Variety of member types of %1 must be atomic. + Typy składników %1 muszą być atomowe. - - standalone declaration expected while reading the XML declaration - deklaracja "standalone" oczekiwana podczas czytania deklaracji XML + + + %1 is not allowed to derive from %2 by list as the latter defines it as final. + Nie można wywieść %1 z %2 poprzez listę ponieważ jest to zdefiniowane ostatecznie w typie podstawowym. - - tag mismatch - niepoprawny tag + + Simple type %1 is only allowed to have %2 facet. + Typ prosty %1 może jedynie posiadać aspekt %2. - - unexpected character - nieoczekiwany znak + + Base type of simple type %1 must have variety of type list. + Typ podstawowy dla typu prostego %1 musi być listą typów. - - unexpected end of file - nieoczekiwany koniec pliku + + Base type of simple type %1 has defined derivation by restriction as final. + Typ podstawowy dla typu prostego %1 ma zdefiniowane wywodzenie poprzez ograniczenie jako ostateczne. - - unparsed entity reference in wrong context - odwołanie do jednostki nieprzetworzonej w złym kontekście + + Item type of base type does not match item type of %1. + Typ elementu w podstawowym typie nie pasuje do typu %1. - - version expected while reading the XML declaration - oczekiwana wersja podczas czytania deklaracji XML + + + Simple type %1 contains not allowed facet type %2. + Typ prosty %1 posiada niedozwolony aspekt %2. - - wrong value for standalone declaration - błędna wartość dla deklaracji "standalone" + + + %1 is not allowed to derive from %2 by union as the latter defines it as final. + Nie można wywieść %1 z %2 poprzez unię ponieważ jest to zdefiniowane ostatecznie w typie podstawowym. - - - QXmlStream - - - Extra content at end of document. - Dodatkowa treść na końcu dokumentu. + + %1 is not allowed to have any facets. + %1 nie może posiadać żadnych aspektów. - - Invalid entity value. - Niepoprawna wartość jednostki. + + Base type %1 of simple type %2 must have variety of union. + Typ podstawowy %1 dla typu prostego %2 musi być unią. - - Invalid XML character. - Niepoprawny znak XML. + + Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute. + Typ podstawowy %1 dla typu prostego %2 nie może posiadać ograniczenia dla atrybutu %3. - - Sequence ']]>' not allowed in content. - Ciąg ']]>' niedozwolony w treści. + + Member type %1 cannot be derived from member type %2 of %3's base type %4. + Typ %1 składnika nie może być wywiedziony z typu %2 który jest typem składnika %3 typu podstawowego %4. - - Namespace prefix '%1' not declared - Przedrostek przestrzeni nazw '%1' nie został zadeklarowany + + Derivation method of %1 must be extension because the base type %2 is a simple type. + Metodą wywodzenia z %1 musi być rozszerzenie ponieważ typ podstawowy %2 jest typem prostym. - - Attribute redefined. - Atrybut zdefiniowany wielokrotnie. + + Complex type %1 has duplicated element %2 in its content model. + Typ złożony %1 posiada powielony element %2 w jego modelu zawartości. - - Unexpected character '%1' in public id literal. - Nieoczekiwany znak '%1' w publicznej stałej znakowej. + + Complex type %1 has non-deterministic content. + Typ złożony %1 posiada nieokreśloną zawartość. - - Invalid XML version string. - Niepoprawna wersja XML. + + Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3. + Atrybuty typu złożonego %1 nie są poprawnym rozszerzeniem atrybutów typu podstawowego %2: %3. - - Unsupported XML version. - Nieobsługiwana wersja XML. + + Content model of complex type %1 is not a valid extension of content model of %2. + Model zawartości typu złożonego %1 nie jest poprawnym rozszerzenien modelu zawartości %2. - - %1 is an invalid encoding name. - %1 jest niepoprawną nazwą kodowania. + + Complex type %1 must have simple content. + Typ złożony %1 musi mieć prostą zawartość. - Encoding %1 is unsupported - Kodowanie %1 jest nieobsługiwane - - - - Standalone accepts only yes or no. - Tylko wartości "tak" lub "nie" są akceptowane przez "standalone". + Complex type %1 must have the same simple type as its base class %2. + Typ złożony %1 musi posiadać ten sam prosty typ jaki posiada jego klasa podstawowa %2. - - Invalid attribute in XML declaration. - Niepoprawny atrybut w deklaracji XML. + + Complex type %1 cannot be derived from base type %2%3. + Typ złożony %1 nie może być wywiedziony z typu %2%3. - - Premature end of document. - Przedwczesne zakończenie dokumentu. + + Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3. + Atrybuty typu złożonego %1 nie są poprawnym ograniczeniem atrybutów typu podstawowego %2: %3. - - Invalid document. - Niepoprawny dokument. + + Complex type %1 with simple content cannot be derived from complex base type %2. + Typ złożony %1 z prostą zawartością nie może być wywiedziony z podstawowego typu złożonego %2. - - Expected - Oczekiwano + + Item type of simple type %1 cannot be a complex type. + Typ elementu w prostym typie %1 nie może być typem złożonym. - - , but got ' - , ale otrzymano ' + + Member type of simple type %1 cannot be a complex type. + Typ składnika typu prostego %1 nie może być typem złożonym. - - Unexpected ' - Nieoczekiwany ' + + %1 is not allowed to have a member type with the same name as itself. + %1 nie może posiadać typu składnika o tej samej nazwie jaką on sam posiada. - - Expected character data. - Oczekiwana dana znakowa. + + + + %1 facet collides with %2 facet. + Aspekt %1 koliduje z aspektem %2. - - Recursive entity detected. - Wykryto jednostkę rekurencyjną. + + %1 facet must have the same value as %2 facet of base type. + Aspekt %1 musi mieć tą samą wartość jaką ma aspekt %2 typu podstawowego. - - Start tag expected. - Oczekiwano tagu start. + + %1 facet must be equal or greater than %2 facet of base type. + Wartość aspektu %1 musi większa od lub równa wartości aspektu %2 typu podstawowego. - - XML declaration not at start of document. - Deklaracja XML nie jest na początku dokumentu. + + + + + + + + + %1 facet must be less than or equal to %2 facet of base type. + Wartość aspektu %1 musi być mniejsza od lub równa wartości aspektu %2 typu podstawowego. - - NDATA in parameter entity declaration. - NDATA w deklaracji parametru obiektu. + + %1 facet contains invalid regular expression + Aspekt %1 zawiera niepoprawe wyrażenie regularne - - %1 is an invalid processing instruction name. - %1 jest niepoprawną nazwą instrukcji przetwarzającej. + + Unknown notation %1 used in %2 facet. + Nieznany zapis %1 użyty w aspekcie %2. - - Invalid processing instruction name. - Niepoprawna nazwa instrukcji przetwarzającej. + + %1 facet contains invalid value %2: %3. + Aspekt %1 zawiera niepoprawną wartość %2: %3. - - - - - Illegal namespace declaration. - Niepoprawna deklaracja przestrzeni nazw. + + %1 facet cannot be %2 or %3 if %4 facet of base type is %5. + Aspektem %1 nie może być %2 ani %3 jeśli aspektem %4 typu podstawowego jest %5. - - Invalid XML name. - Niepoprawna nazwa XML. + + %1 facet cannot be %2 if %3 facet of base type is %4. + Aspektem %1 nie może być %2 jeśli aspektem %3 typu podstawowego jest %4. - - Opening and ending tag mismatch. - Niezgodne tagi początku i końca. + + + + %1 facet must be less than or equal to %2 facet. + Wartość aspektu %1 musi być mniejsza od lub równa wartości aspektu %2. - - Reference to unparsed entity '%1'. - Odwołanie do nieprzetworzonej jednostki '%1'. + + + + %1 facet must be less than %2 facet of base type. + Wartość aspektu %1 musi być mniejsza od wartości aspektu %2 typu podstawowego. - - - - Entity '%1' not declared. - Jednostka '%1' nie zadeklarowana. + + + %1 facet and %2 facet cannot appear together. + Aspekty %1 i %2 nie mogą wystąpić jednocześnie. - - Reference to external entity '%1' in attribute value. - Odwołanie do zewnętrznej jednostki '%1' jako wartość atrybutu. + + + + %1 facet must be greater than %2 facet of base type. + Wartość aspektu %1 musi być większa od wartości aspektu %2 typu podstawowego. - - Invalid character reference. - Niepoprawny znak odwołania. + + + %1 facet must be less than %2 facet. + Wartość aspektu %1 musi być mniejsza od wartości aspektu %2. - - - Encountered incorrectly encoded content. - Natrafiono na niepoprawnie zakodowaną treść. + + + %1 facet must be greater than or equal to %2 facet of base type. + Wartość aspektu %1 musi być większa od lub równa wartości aspektu %2 typu podstawowego. - - The standalone pseudo attribute must appear after the encoding. - Pseudo atrybut "standalone" musi pojawić sie po "encoding". + + Simple type contains not allowed facet %1. + Typ prosty zawiera niedozwolony aspekt %1. - - %1 is an invalid PUBLIC identifier. - %1 jest niepoprawnym publicznym identyfikatorem. + + %1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. + Aspekty %1, %2, %3, %4, %5 i %6 nie są dozwolone podczas wywodzenia z listy. - - - QtXmlPatterns - - Network timeout. - Przekroczony czas połączenia. + + Only %1 and %2 facets are allowed when derived by union. + Dozwolone są jedynie aspekty %1 i %2 podczas wywodzenia z unii. - - Element %1 can't be serialized because it appears outside the document element. - Element %1 nie może być zserializowany ponieważ pojawił się poza elementem "document". + + + %1 contains %2 facet with invalid data: %3. + %1 zawiera aspekt %2 z niepoprawnymi danymi: %3. - - Attribute %1 can't be serialized because it appears at the top level. - Atrybut %1 nie może być zserializowany ponieważ pojawił się na najwyższym poziomie. + + Attribute group %1 contains attribute %2 twice. + Grupa atrybutów %1 zawiera dwukrotnie atrybut %2. - - Year %1 is invalid because it begins with %2. - Rok %1 jest niepoprawny ponieważ rozpoczyna się: %2. + + Attribute group %1 contains two different attributes that both have types derived from %2. + Grupa atrybutów %1 zawiera dwa różne atrybuty których typy są wywiedzione z %2. - - Day %1 is outside the range %2..%3. - Dzień %1 jest poza zakresem %2..%3. + + Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3. + Grupa atrybutów %1 zawiera atrybut %2 który ma ograniczenie wartości ale typ wywodzi się z %3. - - Month %1 is outside the range %2..%3. - Miesiąc %1 jest poza zakresem %2..%3. + + Complex type %1 contains attribute %2 twice. + Typ złożony %1 zawiera atrybut %2 dwukrotnie. - - Overflow: Can't represent date %1. - Przepełnienie: Nie można wyrazić daty %1. + + Complex type %1 contains two different attributes that both have types derived from %2. + Typ złożony %1 zawiera dwa różne atrybuty których typy są wywiedzione z %2. - - Day %1 is invalid for month %2. - Dzień %1 jest niepoprawny dla miesiąca %2. + + Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. + Typ złożony %1 zawiera atrybut %2 który ma ograniczenie wartości ale typ wywodzi się z %3. - - Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; - Czas 24:%1:%2:%3 jest niepoprawny. Godzina jest 24, ale minuty, sekundy i milisekundy nie są równocześnie zerami; + + Element %1 is not allowed to have a value constraint if its base type is complex. + Element %1 nie może zawierać ograniczenia wartości gdy jego typ podstawowy jest złożony. - - Time %1:%2:%3.%4 is invalid. - Czas %1:%2:%3.%4 jest niepoprawny. + + Element %1 is not allowed to have a value constraint if its type is derived from %2. + Element %1 nie może zawierać ograniczenia wartości gdy jego typ jest wywiedziony z %2. - - Overflow: Date can't be represented. - Przepełnienie: Data nie może być wyrażona. + + + Value constraint of element %1 is not of elements type: %2. + Ograniczenie wartości elementu %1 nie jest typu: %2. - - - At least one component must be present. - Przynajmniej jeden komponent musi być obecny. + + Element %1 is not allowed to have substitution group affiliation as it is no global element. + Element %1 nie może przynależeć do grupy zastępującej ponieważ nie jest on elementem globalnym. - - At least one time component must appear after the %1-delimiter. - Przynajmniej jeden komponent musi wystąpić po nawiasie %1. + + Type of element %1 cannot be derived from type of substitution group affiliation. + Typ elementu %1 nie może być wywiedziony z typu przynależnego do grupy zastępującej. - - No operand in an integer division, %1, can be %2. - Żaden składnik dzielenia %1 nie może być %2. + + Value constraint of attribute %1 is not of attributes type: %2. + Ograniczenie wartości atrybutu %1 nie jest typu: %2. - - %1 is not a valid value of type %2. - %1 nie jest poprawną wartością dla typu %2. + + Attribute %1 has value constraint but has type derived from %2. + Atrybut %1 posiada ograniczenie wartości lecz jego typ wywodzi się z %2. - - When casting to %1 from %2, the source value cannot be %3. - W rzutowaniu %1 na %2 wartość źródłowa nie może być %3. + + %1 attribute in derived complex type must be %2 like in base type. + Atrybut %1 w wywiedzionym typie złożonym musi być %2 jak w typie podstawowym. - - - Dividing a value of type %1 by %2 (not-a-number) is not allowed. - Dzielenie wartości typu %1 przez %2 (typ nienumeryczny) jest niedozwolone. + + Attribute %1 in derived complex type must have %2 value constraint like in base type. + Atrybut %1 w wywiedzionym typie złożonym musi zawierać ograniczenie wartości %2 jak w typie podstawowym. - - Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. - Dzielenie wartości typu %1 przez %2 lub %3 (plus lub minus zero) jest niedozwolone. + + Attribute %1 in derived complex type must have the same %2 value constraint like in base type. + Atrybut %1 w wywiedzionym typie złożonym musi zawierać te same ograniczenie wartości %2 jak w typie podstawowym. - - Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. - Mnożenie wartości typu %1 przez %2 lub %3 (plus lub minus nieskończoność) jest niedozwolone. + + Attribute %1 in derived complex type must have %2 value constraint. + Atrybut %1 w wywiedzionym typie złożonym musi zawierać ograniczenie wartości %2. - - A value of type %1 cannot have an Effective Boolean Value. - Wartość typu %1 nie może posiadać efektywnej wartości boolowskiej (EBV). + + processContent of base wildcard must be weaker than derived wildcard. + "processContent" podstawowego znacznika musi być słabszy od wywiedzionego znacznika. - - Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. - Efektywna wartość boolowska (EBV) nie może być obliczona dla sekwencji zawierającej dwie lub więcej wartości atomowe. + + + Element %1 exists twice with different types. + Istnieją dwa elementy %1 o różnych typach. - - Value %1 of type %2 exceeds maximum (%3). - Wartość %1 typu %2 przekracza maksimum (%3). + + Particle contains non-deterministic wildcards. + Element zawiera nieokreślone znaczniki. - - Value %1 of type %2 is below minimum (%3). - Wartość %1 typu %2 jest poniżej minimum (%3). + + + Base attribute %1 is required but derived attribute is not. + Wymagany jest bazowy atrybut %1, wywiedziony zaś nie. - - A value of type %1 must contain an even number of digits. The value %2 does not. - Wartość typu %1 musi zawierać parzystą liczbę cyfr. Wartość %2 nie zawiera. + + Type of derived attribute %1 cannot be validly derived from type of base attribute. + Typ wywiedzionego atrybutu %1 nie może być poprawnie wywiedziony z typu podstawowego atrybutu. - - %1 is not valid as a value of type %2. - Wartość %1 nie jest poprawna jako wartość typu %2. + + Value constraint of derived attribute %1 does not match value constraint of base attribute. + Ograniczenie wartości wywiedzionego atrybutu %1 nie pasuje do ograniczenia wartości podstawowego atrybutu. - - Operator %1 cannot be used on type %2. - Operator %1 nie może być użyty dla typu %2. + + Derived attribute %1 does not exists in the base definition. + Wywyiedziony atrybut %1 nie istnieje w podstawowej definicji. - - Operator %1 cannot be used on atomic values of type %2 and %3. - Operator %1 nie może być użyty dla atomowych wartości typu %2 i %3. + + Derived attribute %1 does not match the wildcard in the base definition. + Wywiedziony atrybut %1 nie pasuje do znacznika w podstawowej definicji. - - The namespace URI in the name for a computed attribute cannot be %1. - Przestrzeń nazw URI nie może być %1 w nazwie dla obliczonego atrybutu. + + Base attribute %1 is required but missing in derived definition. + Brak wymaganego bazowego atrybutu %1 w wywiedzionej definicji. - The name for a computed attribute cannot have the namespace URI %1 with the local name %2. - Nazwa dla wyliczonego atrybutu nie może mieć przestrzeni nazw URI %1 z lokalną nazwą %2. + Derived definition contains an %1 element that does not exists in the base definition + Wywiedziona definicja zawiera element %1 który nie istnieje w definicji podstawowej - - Type error in cast, expected %1, received %2. - Błąd typów w rzutowaniu: spodziewano się %1, otrzymano %2. + + Derived wildcard is not a subset of the base wildcard. + Wywiedziony znacznik nie jest podzbiorem podstawowego znacznika. - - When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. - Podczas rzutowania na %1 lub na typ pochodny, wartość źródłowa musi być tego samego typu lub musi być zapisem tekstowym. Typ %2 nie jest dozwolony. + + %1 of derived wildcard is not a valid restriction of %2 of base wildcard + %1 wywiedzionego znacznika nie jest poprawnym ograniczeniem %2 podstawowego znacznika - - It is not possible to cast from %1 to %2. - Nie można zrzutować %1 na %2. + + Attribute %1 from base type is missing in derived type. + Brak atrybutu %1 typu bazowego w wywiedzionej definicji. - - Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated. - Rzutowanie na %1 nie jest możliwe, ponieważ to jest typ abstrakcyjny i dlatego nie można go zinstancjonować. + + Type of derived attribute %1 differs from type of base attribute. + Typ wywiedzionego atrybutu %1 różni się od typu podstawowego atrybutu. - - It's not possible to cast the value %1 of type %2 to %3 - Nie można zrzutować wartości %1 typu %2 na %3 + + Base definition contains an %1 element that is missing in the derived definition + Podstawowa definicja zawiera element %1 którego brakuje w wywiedzionej definicji - - Failure when casting from %1 to %2: %3 - Błąd podczas rzutowania %1 na %2: %3 + + %1 references unknown %2 or %3 element %4. + %1 odwołuje się do nieznanego elementu %2 lub %3: %4. - - A comment cannot contain %1 - Komentarz nie może zawierać %1 + + %1 references identity constraint %2 that is no %3 or %4 element. + %1 odwołuje się do ograniczenia jednostki %2 które nie jest elementem %3 ani %4. - - A comment cannot end with a %1. - Komentarz nie może kończyć się: %1. + + %1 has a different number of fields from the identity constraint %2 that it references. + %1 posiada inna liczbę pól od ograniczenia jednostki %2 które się do niego odwołuje. - - No comparisons can be done involving the type %1. - Żadne porównania nie mogą być wykonane dla typu %1. + + Base type %1 of %2 element cannot be resolved. + Nie można rozwiązać typu podstawowego %1 elementu %2. - - Operator %1 is not available between atomic values of type %2 and %3. - Operator %1 jest niedostępny pomiędzy atomowymi wartościami %2 i %3. + + Item type %1 of %2 element cannot be resolved. + Nie można rozwiązać typu elementu %1 w elemencie %2. - - An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. - Węzeł "attribute" nie może być dzieckiem węzła "document". Dlatego atrybut %1 jest w złym miejscu. + + Member type %1 of %2 element cannot be resolved. + Nie można rozwiązać typu %1 składnika elementu %2. - - A library module cannot be evaluated directly. It must be imported from a main module. - Moduł biblioteki nie może być bezpośrednio oceniony. On musi być zaimportowany z głównego modułu. + + + + Type %1 of %2 element cannot be resolved. + Nie można rozwiązać typu %1 elementu %2. - - No template by name %1 exists. - Szablon o nazwie %1 nie istnieje. + + Base type %1 of complex type cannot be resolved. + Nie można rozwiązać typu podstawowego %1 dla typu złożonego. - - A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. - Wartość typu %1 nie może być predykatem. Predykat musi być typu liczbowego lub Efektywną Wartość Logiczną. + + %1 cannot have complex base type that has a %2. + %1 nie może mieć złożonego typu podstawowego który ma %2. - - A positional predicate must evaluate to a single numeric value. - Wynikiem predykatu pozycyjnego musi być pojedyńcza wartość liczbowa. + + Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type. + Model zawartości typu złożonego %1 posiada element %2 więc nie może być on wywiedziony poprzez rozszerzenie niepustego typu. - - %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. - %1 nie jest poprawną nazwą docelową w instrukcji przetwarzania. Nazwa musi być wartością %2, np. %3. + + Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model. + Typ złożony %1 nie może być wywiedziony z %2 poprzez rozszerzenie ponieważ ten ostatni zawiera element %3 w jego modelu zawartości. - - The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. - Ostatni krok w ścieżce musi zawierać albo wezły albo wartości atomowe. Nie może zawierać obu jednocześnie. + + Type of %1 element must be a simple type, %2 is not. + Typem elementu %1 musi być typ prosty, %2 nim nie jest. - - The data of a processing instruction cannot contain the string %1 - Dane instrukcji przetwarzania nie mogą zawierać ciągu %1 + + Substitution group %1 of %2 element cannot be resolved. + Nie można rozwiązać grupy zastępującej %1 elementu %2. - - No namespace binding exists for the prefix %1 - Żadna przestrzeń nazw nie jest powiązana z przedrostkiem %1 + + Substitution group %1 has circular definition. + Grupa zastępująca %1 posiada cykliczną definicję. - - No namespace binding exists for the prefix %1 in %2 - Żadna przestrzeń nazw nie jest powiązana z przedrostkiem %1 w %2 + + + Duplicated element names %1 in %2 element. + Powielona nazwa elementu %1 w elemencie %2. - - - %1 is an invalid %2 - %1 jest niepoprawnym %2 + + + + + Reference %1 of %2 element cannot be resolved. + Nie można rozwiązać odwołania %1 do elementu %2. - - The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. - Pierwszy argument w %1 nie może być typu %2. Musi on być typu liczbowego: xs:yearMonthDuration lub xs:dayTimeDuration. + + Circular group reference for %1. + Cykliczne odwołanie do grupy dla %1. - - The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. - Pierwszy argument w %1 nie może być typu %2. Musi on być typu: %3, %4 lub %5. + + %1 element is not allowed in this scope + Element %1 nie jest dozwolony w tym zakresie - - The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. - Drugi argument w %1 nie może być typu %2. Musi on być typu: %3, %4 lub %5. + + %1 element cannot have %2 attribute with value other than %3. + Element %1 nie może mieć atrybutu %2 z wartością inną niż %3. - - %1 is not a valid XML 1.0 character. - %1 nie jest poprawnym znakiem XML 1.0. + + %1 element cannot have %2 attribute with value other than %3 or %4. + Element %1 nie może mieć atrybutu %2 z wartością inną niż %3 lub %4. - - The first argument to %1 cannot be of type %2. - Pierwszy argument dla %1 nie może być typu %2. + + %1 or %2 attribute of reference %3 does not match with the attribute declaration %4. + Atrybut %1 lub %2 odwołania %3 nie pasuje do deklaracji atrybutu %4. - - If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. - Jeśli oba argumenty mają przesunięcia strefowe, muszą one być takie same. %1 i %2 nie są takie same. + + Attribute group %1 has circular reference. + Grupa atrybutów %1 posiada cykliczne odwołanie. - - %1 was called. - Wywołano %1. + + %1 attribute in %2 must have %3 use like in base type %4. + Atrybut %1 w %2 powinien używać %3 jak w typie podstawowym %4. - - %1 must be followed by %2 or %3, not at the end of the replacement string. - Po %1 musi następowac %2 lub %3, lecz nie na końcu zastępczego ciągu. + + Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2. + Znacznik atrybutu %1 nie jest poprawnym ograniczeniem znacznika atrybutu typu podstawowego %2. - - In the replacement string, %1 must be followed by at least one digit when not escaped. - W zastępczym ciągu, po %1 musi następować przynajmniej jedna cyfra + + %1 has attribute wildcard but its base type %2 has not. + %1 posiada znacznik atrybutu lecz jego typ podstawowy %2 go nie posiada. - In the replacement string, %1 can only be used to escape itself or %2, not %3 - W zastępczym ciągu %1 może być użyte tylko do zabezpieczenia samej siebie lub %2, nigdy %3 + Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible. + Nie można wyrazić unii znacznika atrybutu typu %1 i znacznika atrybutu jego typu podstawowego %2. - - %1 matches newline characters - %1 dopasowało znak nowej linii + + Enumeration facet contains invalid content: {%1} is not a value of type %2. + Aspekt "enumeration" posiada niepoprawną zawartość: {%1} nie jest wartością typu %2. - - %1 and %2 match the start and end of a line. - %1 i %2 dopasowały początek i koniec linii. + + Namespace prefix of qualified name %1 is not defined. + Przedrostek przestrzeni nazw występujący w pełnej nazwie %1 nie jest zdefiniowany. - - Matches are case insensitive - Dopasowania uwzględniają wielkość liter + + + %1 element %2 is not a valid restriction of the %3 element it redefines: %4. + Element %1 (%2) nie jest poprawnym ograniczeniem elementu %3 który redefiniuje: %4. - - Whitespace characters are removed, except when they appear in character classes - Spacje są usuwane z wyjątkiem kiedy pojawią się w klasach znakowych + + Empty particle cannot be derived from non-empty particle. + Pusty element nie może być wywiedziony z niepustego elementu. - - %1 is an invalid regular expression pattern: %2 - %1 jest niepoprawnym wzorcem wyrażenia regularnego: %2 + + Derived particle is missing element %1. + Brak elementu %1 w wywiedzionym elemencie. - - %1 is an invalid flag for regular expressions. Valid flags are: - %1 jest niepoprawną flagą dla wyrażeń regularnych. Poprawnymi flagami są: + + Derived element %1 is missing value constraint as defined in base particle. + Brak ograniczenia wartości w wywiedzionym elemencie %1 takiego jak w podstawowym elemencie. - - If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. - Jeśli pierwszy argument jest pustą sekwencją lub zerowej długości ciągiem (przy braku przestrzeni nazw), przedrostek nie może wystąpić. Wystąpił przedrostek %1. + + Derived element %1 has weaker value constraint than base particle. + Wywiedziony element %1 posiada słabsze ograniczenie wartości niż element podstawowy. - - It will not be possible to retrieve %1. - Nie będzie można odzyskać %1. + + Fixed value constraint of element %1 differs from value constraint in base particle. + Ostateczne ograniczenie wartości elementu %1 różni się od ograniczenia wartości w podstawowym elemencie. - - The default collection is undefined - Domyślna kolekcja jest niezdefiniowana + + Derived element %1 cannot be nillable as base element is not nillable. + Wywiedziony element %1 może być zerowalny ponieważ element podstawowy nie jest zerowalny. - - %1 cannot be retrieved - %1 nie może być odzyskane + + Block constraints of derived element %1 must not be more weaker than in the base element. + Ograniczenia blokujące dla wywiedzionego elementu %1 nie mogą być słabsze od ograniczeń w elemencie podstawowym. - - The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). - Znormalizowana forma %1 nie jest obsługiwana. Obsługiwanymi formami są: %2, %3, %4 i %5 oraz pusta forma (brak normalizacji). + + Simple type of derived element %1 cannot be validly derived from base element. + Typ prosty w elemencie wywiedzionym %1 nie może być poprawnie wywiedziony z elementu podstawowego. - - A zone offset must be in the range %1..%2 inclusive. %3 is out of range. - Przesunięcie strefowe musi być w zakresie %1..%2 włącznie. %3 jest poza tym zakresem. + + Complex type of derived element %1 cannot be validly derived from base element. + Typ złożony w elemencie wywiedzionym %1 nie może być poprawnie wywiedziony z elementu podstawowego. - - Required cardinality is %1; got cardinality %2. - Wymagana liczność wynosi %1; otrzymano %2. + + Element %1 is missing in derived particle. + Brak elementu %1 w wywiedzionym elemencie. - - The item %1 did not match the required type %2. - Element %1 nie został dopasowany do wymaganego typu %2. + + Element %1 does not match namespace constraint of wildcard in base particle. + Element %1 nie pasuje do znacznika w ograniczeniu przestrzeni nazw w elemencie podstawowym. - - - %1 is an unknown schema type. - %1 jest nieznanym typem schematu. + + Wildcard in derived particle is not a valid subset of wildcard in base particle. + Znacznik w wywiedzionym elemencie nie jest poprawnym podzbiorem znacznika w elemencie podstawowym. - - Only one %1 declaration can occur in the query prolog. - Tylko jedna deklaracja %1 może się pojawić w prologu zapytania. + + processContent of wildcard in derived particle is weaker than wildcard in base particle. + "processContent" znacznika w wywiedzionym elemencie jest słabszy od znacznika w podstawowym elemencie. - - The initialization of variable %1 depends on itself - Inicjalizacja zmiennej %1 zależy od niej samej + + Derived particle allows content that is not allowed in the base particle. + Wywiedziony element pozwala na zawartość która jest niedozwolona w podstawowym elemencie. - - The variable %1 is unused - Zmienna %1 jest nieużywana + + Can not process unknown element %1, expected elements are: %2. + Nie można przetworzyć nieznanego elementu %1, spodziewanymi elementami są: %2. - - Version %1 is not supported. The supported XQuery version is 1.0. - Wersja %1 nie jest obsługiwana. Obsługiwaną wersją XQuery jest wersja 1.0. + + Element %1 is not allowed in this scope, possible elements are: %2. + Element %1 jest niedozwolony w tym zakresie, możliwymi elementami są: %2. - - No function with signature %1 is available - Żadna funkcja w postaci %1 nie jest dostępna + + Child element is missing in that scope, possible child elements are: %1. + Brak podelementu w tym zakresie, możliwymi podelementami są: %1. - - It is not possible to redeclare prefix %1. - Nie jest możliwe ponowne zadeklarowanie przedrostka %1. + + Document is not a XML schema. + Dokument nie jest schematem XML. - Only the prefix %1 can be declared to bind the namespace %2. By default, it is already bound to the prefix %1. - Jedynie przedrostek %1 może być zadeklarowany do powiązania przestrzeni nazw %2. Domyślnie jest ona powiązana z przedrostkiem %1. + + %1 attribute of %2 element contains invalid content: {%3} is not a value of type %4. + Atrybut %1 elementu %2 posiada niepoprawną zawartość: {%3} nie jest wartością typu %4. - - Prefix %1 is already declared in the prolog. - Przedrostek %1 jest już zadeklarowany w prologu. + + %1 attribute of %2 element contains invalid content: {%3}. + Atrybut %1 elementu %2 posiada niepoprawną zawartość: {%3}. - - The name of an option must have a prefix. There is no default namespace for options. - Nazwa opcji musi posiadać przedrostek. Nie istnieje domyślna przestrzeń nazw dla opcji. + + Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema. + Docelowa przestrzeń nazw %1 załączonego schematu jest różna od docelowej przestrzeni nazw %2 która jest zdefiniowana w schemacie załączającym. - - The Schema Import feature is not supported, and therefore %1 declarations cannot occur. - Cecha "Import schematu" nie jest obsługiwana, dlatego deklaracje %1 nie mogą pojawić. + + + Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema. + Docelowa przestrzeń nazw %1 zaimportowanego schematu jest różna od docelowej przestrzeni nazw %2 która jest zdefiniowana w schemacie importującym. - - The target namespace of a %1 cannot be empty. - Docelowa przestrzeń nazw dla %1 nie może być pusta. + + %1 element is not allowed to have the same %2 attribute value as the target namespace %3. + Element %1 nie może zawierać tej samej wartości atrybutu %2 co docelowa przestrzeń nazw %3. - The module import feature is not supported - Cecha "Import modułu" nie jest obsługiwana + %1 element without %2 attribute is not allowed inside schema without target namespace. + Element %1 bez atrybutu %2 jest niedozwolony wewnątrz schematu bez docelowej przestrzeni nazw. - - No value is available for the external variable by name %1. - Brak wartości dla zewnętrznej zmiennej o nazwie %1. + + + %1 element is not allowed inside %2 element if %3 attribute is present. + Element %1 jest niedozwolony wewnątrz elementu %2 jeśli jest obecny atrybut %3. - - The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. - Przestrzeń nazw %1 jest zarezerwowana, dlatego funkcje zdefiniowane przez użytkownika nie mogą jej użyć. Spróbuj predefiniowany przedrostek %2, który istnieje w takich przypadkach. + + + + %1 element has neither %2 attribute nor %3 child element. + Element %1 nie posiada ani atrybutu %2 ani podelementu %3. - - The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 - Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika w module bibliotecznym musi odpowiadać przestrzeni nazw modułu. Powinna to być %1 zamiast %2 + + + + + + + + + + + + + + + %1 element with %2 child element must not have a %3 attribute. + Element %1 z podelementem %2 nie może mieć atrybutu %3. - - A function already exists with the signature %1. - Funkcja w postaci %1 już istnieje. + + %1 attribute of %2 element must be %3 or %4. + Atrybutem %1 elementu %2 musi być %3 lub %4. - - No external functions are supported. All supported functions can be used directly, without first declaring them as external - Zewnętrzne funkcje nie są obsługiwane. Wszystkie obsługiwane funkcje mogą być używane bezpośrednio, bez ich uprzedniego deklarowania jako zewnętrzne + + %1 attribute of %2 element must have a value of %3. + Atrybut %1 elementu %2 musi posiadać wartość %3. - - An argument by name %1 has already been declared. Every argument name must be unique. - Argument o nazwie %1 został już zadeklarowany. Każda nazwa argumentu musi być unikalna. + + + %1 attribute of %2 element must have a value of %3 or %4. + Atrybut %1 elementu %2 musi posiadać wartość %3 lub %4. - - The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. - Nazwa zmiennej powiązanej w wyrażeniu "for" musi być inna od zmiennej pozycjonującej. W związku z tym dwie zmienne o nazwie %1 kolidują ze sobą. + + + + + + + + + + + + + + + %1 element must not have %2 and %3 attribute together. + Element %1 nie może posiadać jednocześnie atrybutów %2 i %3. - - The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. - Cecha "Walidacja schematu" nie jest obsługiwana. Dlatego też wyrażenia %1 nie mogą być użyte. + + + Content of %1 attribute of %2 element must not be from namespace %3. + Zawartość atrybutu %1 elementu %2 nie może pochodzić z przestrzeni nazw %3. - - None of the pragma expressions are supported. Therefore, a fallback expression must be present - Wyrażenia "pragma" nie są obsługiwane. Dlatego musi wystąpić wyrażenie zastępcze + + + %1 attribute of %2 element must not be %3. + Atrybut %1 elementu %2 nie może być %3. - - The %1-axis is unsupported in XQuery - Oś %1 nie jest obsługiwana w XQuery + + %1 attribute of %2 element must have the value %3 because the %4 attribute is set. + Atrybut %1 elementu %2 musi zawierać wartość %3 ponieważ atrybut %4 jest ustawiony. - - %1 is not a valid numeric literal. - %1 nie jest poprawnym zapisem liczbowym. + + Specifying use='prohibited' inside an attribute group has no effect. + Podawanie: use='prohibited' wewnątrz grupy atrybutów nie przynosi żadnego efektu. - - No variable by name %1 exists - Zmienna o nazwie %1 nie istnieje + + %1 element must have either %2 or %3 attribute. + Element %1 musi zawierać atrybut %2 albo %3. - - A construct was encountered which only is allowed in XQuery. - Wystąpiła konstrukcja dozwolona jedynie w XQuery. + + %1 element must have either %2 attribute or %3 or %4 as child element. + Element %1 musi zawierać albo atrybut %2 albo %3 lub %4 jako podelement. - - A template by name %1 has already been declared. - Szablon o nazwie %1 został już zadeklarowany. + + %1 element requires either %2 or %3 attribute. + Element %1 wymaga atrybutu %2 albo %3. - - The keyword %1 cannot occur with any other mode name. - Słowo kluczowe %1 nie może wystapić z inną nazwą trybu. + + Text or entity references not allowed inside %1 element + Tekst ani odwołanie nie są dozwolone wewnątrz elementu %1 - - The value of attribute %1 must of type %2, which %3 isn't. - Wartość atrybutu %1 musi być typu %2, którym nie jest %3. + + + %1 attribute of %2 element must contain %3, %4 or a list of URIs. + Atrybut %1 elementu %2 musi zawierać %3, %4 lub listę URI. - - The prefix %1 can not be bound. By default, it is already bound to the namespace %2. - + + %1 element is not allowed in this context. + Element %1 jest niedozwolony w tym kontekście. - - A variable by name %1 has already been declared. - Zmienna o nazwie %1 została już zadeklarowana. + + %1 attribute of %2 element has larger value than %3 attribute. + Atrybut %1 elementu %2 posiada większą wartość niż atrybut %3. - - A stylesheet function must have a prefixed name. - Funkcja arkusza stylu musi mieć nazwę z przedrostkiem. + + Prefix of qualified name %1 is not defined. + Przedrostek w pełnej nazwie %1 nie jest zdefiniowany. - - The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) - Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika nie może być pusta (spróbuj predefiniowany przedrostek %1, który stworzono specjalnie do takich sytuacji) + + + %1 attribute of %2 element must either contain %3 or the other values. + Atrybut %1 elementu %2 musi zawierać albo %3 albo inne wartości. - - When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. - Gdy funkcja %1 jest wykorzystana do dopasowania wewnątrz wzorca, jej argument musi być referencją do zmiennej lub napisem. + + Component with id %1 has been defined previously. + Komponent o identyfikatorze %1 został uprzednio zdefiniowany. + + + + Element %1 already defined. + Element %1 jest już zdefiniowany. - In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. - We wzorze XSL-T pierwszy argument w funkcji %1 musi być stałą znakową podczas dopasowywania. + Attribute %1 already defined. + Atrybut %1 jest już zdefiniowany. - - In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. - We wzorze XSL-T pierwszy argument w funkcji %1 musi być stałą znakową lub nazwą zmiennej podczas dopasowywania. + + Type %1 already defined. + Typ %1 jest już zdefiniowany. - - In an XSL-T pattern, function %1 cannot have a third argument. - We wzorze XSL-T funkcja %1 nie może mieć trzeciego argumentu. + + Attribute group %1 already defined. + Grupa atrybutów %1 jest już zdefiniowana. - - In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. - We wzorze XSL-T tylko funkcje %1 i %2 mogą być użyte do dopasowania, zaś funkcja %3 nie. + + Element group %1 already defined. + Grupa elementów %1 jest już zdefiniowana. - - In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. - We wzorze XSL-T tylko osie %2 i %3 mogą być użyte, zaś oś %1 nie. + + Notation %1 already defined. + Zapis %1 jest już zdefiniowany. - - %1 is an invalid template mode name. - %1 nie jest poprawną nazwa trybu szablonu. + + Identity constraint %1 already defined. + Ograniczenie jednostki %1 jest już zdefiniowane. - - Each name of a template parameter must be unique; %1 is duplicated. - Każda nazwa parametru szablonu musi być unikatowa; %1 się powtarza. + + Duplicated facets in simple type %1. + Powielone aspekty w prostym typie %1. - - No function by name %1 is available. - Żadna funkcja o nazwie %1 nie jest dostępna. + + + + %1 is not valid according to %2. + Ponieważ nie wiadomo co jest podmiotem nie można stwierdzić czy to ma być "poprawnym", "poprawną" czy "poprawne" + %1 nie jest poprawne według %2. - - The namespace URI cannot be the empty string when binding to a prefix, %1. - Przestrzeń nazw URI nie może być pustym ciągiem w powiązaniu z przedrostkiem, %1. + + String content does not match the length facet. + Wartość ciągu koliduje z aspektem "length". - - %1 is an invalid namespace URI. - %1 jest niepoprawną przestrzenią nazw URI. + + String content does not match the minLength facet. + Wartość ciągu koliduje z aspektem "minLength". - - It is not possible to bind to the prefix %1 - Nie jest możliwe powiązanie z przedrostkiem %1 + + String content does not match the maxLength facet. + Wartość ciągu koliduje z aspektem "maxLength". - - Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). - Przestrzeń nazw %1 może być jedynie powiązana z %2 (w przeciwnym wypadku jest ona domyślnie zadeklarowana). + + String content does not match pattern facet. + Wartość ciągu koliduje z aspektem "pattern". - - Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). - Przedrostek %1 może być jedynie powiązany z %2 (w przeciwnym wypadku jest on domyślnie zadeklarowany). + + String content is not listed in the enumeration facet. + Wartość ciągu nie widnieje na liście aspektu "enumeration". - - Two namespace declaration attributes have the same name: %1. - Atrybuty deklaracji przestrzeni nazw mają tą samą nazwę: %1. + + Signed integer content does not match the maxInclusive facet. + Wartość liczby całkowitej koliduje z aspektem "maxInclusive". - - The namespace URI must be a constant and cannot use enclosed expressions. - Przestrzeń nazw URI nie może być stałą i nie może używać zawartych w niej wyrażeń. + + Signed integer content does not match the maxExclusive facet. + Wartość liczby całkowitej koliduje z aspektem "maxExclusive". - - An attribute by name %1 has already appeared on this element. - Atrybut o nazwie %1 już się pojawił w tym elemencie. + + Signed integer content does not match the minInclusive facet. + Wartość liczby całkowitej koliduje z aspektem "minInclusive". - - A direct element constructor is not well-formed. %1 is ended with %2. - Konstruktor elementu bezpośredniego nie jest dobrze sformatowany. %1 jest zakończony %2. + + Signed integer content does not match the minExclusive facet. + Wartość liczby całkowitej koliduje z aspektem "minExclusive". - - The name %1 does not refer to any schema type. - Nazwa %1 nie odpowiada żadnemu typowi schematu. + + Signed integer content is not listed in the enumeration facet. + Wartość liczby całkowitej nie widnieje na liście aspektu "enumeration". - - %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. - %1 jest typem złożonym. Rzutowanie na typy złożone nie jest możliwe. Jednakże rzutowanie na typy atomowe np.: %2 jest dozwolone. + + Signed integer content does not match pattern facet. + Wartość liczby całkowitej koliduje z aspektem "pattern". - %1 is not an atomic type. Casting is only possible to atomic types. - %1 nie jest typem atomowym. Możliwe jest rzutowanie tylko na typy atomowe. + Signed integer content does not match in the totalDigits facet. + Wartość liczby całkowitej koliduje z aspektem "totalDigits". - - %1 is not a valid name for a processing-instruction. - + + Unsigned integer content does not match the maxInclusive facet. + Wartość liczby naturalnej koliduje z aspektem "maxInclusive". - %1 is not a valid name for a processing-instruction. Therefore this name test will never match. - %1 nie jest poprawną nazwą dla instrukcji przetwarzającej. Dlatego ten test nazwy nigdy nie zostanie dopasowany. + + Unsigned integer content does not match the maxExclusive facet. + Wartość liczby naturalnej koliduje z aspektem "maxExclusive". - - - %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. - + + Unsigned integer content does not match the minInclusive facet. + Wartość liczby naturalnej koliduje z aspektem "minInclusive". - - The name of an extension expression must be in a namespace. - Nazwa dodatkowego wyrażenia musi znajdować sie w przestrzeni nazw. + + Unsigned integer content does not match the minExclusive facet. + Wartość liczby naturalnej koliduje z aspektem "minExclusive". - - empty - pusty + + Unsigned integer content is not listed in the enumeration facet. + Wartość liczby naturalnej nie widnieje na liście aspektu "enumeration". - - zero or one - zero lub jeden + + Unsigned integer content does not match pattern facet. + Wartość liczby naturalnej koliduje z aspektem "pattern". - - exactly one - dokładnie jeden + + Unsigned integer content does not match in the totalDigits facet. + Wartość liczby naturalnej koliduje z aspektem "totalDigits". - - one or more - jeden lub więcej + + Double content does not match the maxInclusive facet. + Wartość liczby rzeczywistej koliduje z aspektem "maxInclusive". - - zero or more - zero lub więcej + + Double content does not match the maxExclusive facet. + Wartość liczby rzeczywistej koliduje z aspektem "maxExclusive". - - Required type is %1, but %2 was found. - Odnaleziono typ %2, lecz wymaganym typem jest %1. + + Double content does not match the minInclusive facet. + Wartość liczby rzeczywistej koliduje z aspektem "minInclusive". - - Promoting %1 to %2 may cause loss of precision. - Przekształcenie %1 do %2 może spowodować utratę precyzji. + + Double content does not match the minExclusive facet. + Wartość liczby rzeczywistej koliduje z aspektem "minExclusive". - - The focus is undefined. - Focus jest niezdefiniowany. + + Double content is not listed in the enumeration facet. + Wartość liczby rzeczywistej nie widnieje na liście aspektu "enumeration". - - It's not possible to add attributes after any other kind of node. - Dodanie atrybutu poza węzłami nie jest możliwe. + + Double content does not match pattern facet. + Wartość liczby rzeczywistej koliduje z aspektem "pattern". + + + + Decimal content does not match in the fractionDigits facet. + Wartość liczby rzeczywistej koliduje z aspektem "fractionDigits". - - An attribute by name %1 has already been created. - Atrybut o nazwie %1 został już utworzony. + + Decimal content does not match in the totalDigits facet. + Wartość liczby rzeczywistej koliduje z aspektem "totalDigits". - - Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. - Obsługiwane jest jedynie "Unicode Codepoint Collation" (%1), %2 nie jest obsługiwane. + + Date time content does not match the maxInclusive facet. + Zawartość daty i czasu koliduje z aspektem "maxInclusive". - - An %1-attribute with value %2 has already been declared. - Atrybut %1 o wartości %2 został już zadeklarowany. + + Date time content does not match the maxExclusive facet. + Zawartość daty i czasu koliduje z aspektem "maxExclusive". - - An %1-attribute must have a valid %2 as value, which %3 isn't. - Atrybut %1 musi mieć poprawną %2 wartość. %3 nią nie jest. + + Date time content does not match the minInclusive facet. + Zawartość daty i czasu koliduje z aspektem "minInclusive". - - The first operand in an integer division, %1, cannot be infinity (%2). - Dzielnik %1 nie może być nieskończonością (%2). + + Date time content does not match the minExclusive facet. + Zawartość daty i czasu koliduje z aspektem "minExclusive". - - The second operand in a division, %1, cannot be zero (%2). - Dzielna %1 nie może być zerem (%2). + + Date time content is not listed in the enumeration facet. + Zawartość daty i czasu nie widnieje na liście aspektu "enumeration". - - Integer division (%1) by zero (%2) is undefined. - Dzielenie w dziedzinie liczb całkowitych (%1) przez zero (%2) jest niezdefiniowane. + + Date time content does not match pattern facet. + Zawartość daty i czasu koliduje z aspektem "pattern". - - Division (%1) by zero (%2) is undefined. - Dzielenie (%1) przez zero (%2) jest niezdefiniowane. + + Duration content does not match the maxInclusive facet. + Wartość czasu trwania koliduje z aspektem "maxInclusive". - - Modulus division (%1) by zero (%2) is undefined. - Dzielenie modulo (%1) przez zero (%2) jest niezdefiniowane. + + Duration content does not match the maxExclusive facet. + Wartość czasu trwania koliduje z aspektem "maxExclusive". - - No casting is possible with %1 as the target type. - Rzutowanie na typ %1 nie jest możliwe. + + Duration content does not match the minInclusive facet. + Wartość czasu trwania koliduje z aspektem "minInclusive". - - The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. - Docelowa nazwa w instrukcji przetwarzania nie może być %1 w żadnej kombinacji wielkich i małych liter. Dlatego nazwa %2 jest niepoprawna. - - - - %1 takes at most %n argument(s). %2 is therefore invalid. - - %1 przyjmuje co najwyżej %n argument. %2 jest dlatego niepoprawne. - %1 przyjmuje co najwyżej %n argumenty. %2 jest dlatego niepoprawne. - %1 przyjmuje co najwyżej %n argumentów. %2 jest dlatego niepoprawne. - + + Duration content does not match the minExclusive facet. + Wartość czasu trwania koliduje z aspektem "minExclusive". - - - %1 requires at least %n argument(s). %2 is therefore invalid. - - %1 wymaga przynajmniej %n argumentu. %2 jest dlatego niepoprawne. - %1 wymaga przynajmniej %n argumentów. %2 jest dlatego niepoprawne. - %1 wymaga przynajmniej %n argumentów. %2 jest dlatego niepoprawne. - + + + Duration content is not listed in the enumeration facet. + Wartość czasu trwania nie widnieje na liście aspektu "enumeration". - - The root node of the second argument to function %1 must be a document node. %2 is not a document node. - Głównym węzłem drugiego argumentu w funkcji %1 musi być węzeł "document". %2 nie jest węzłem "document". + + Duration content does not match pattern facet. + Wartość czasu trwania koliduje z aspektem "pattern". - - %1 is not a whole number of minutes. - %1 nie jest całkowitą liczbą minut. + + Boolean content does not match pattern facet. + Wartość boolowska koliduje z aspektem "pattern". - - The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. - Enkodowanie %1 jest niepoprawne. Może ono zawierać jedynie znaki alfabetu łacińskiego, nie może zawierać spacji i musi być dopasowane do wyrażenia regularnego %2. + + Binary content does not match the length facet. + Wartość binarna koliduje z aspektem "length". - - - A default namespace declaration must occur before function, variable, and option declarations. - Domyślna deklaracja przestrzeni nazw musi pojawić się przed deklaracjami funkcji, zmiennych i opcji. + + Binary content does not match the minLength facet. + Wartość binarna koliduje z aspektem "minLength". - - Namespace declarations must occur before function, variable, and option declarations. - Deklaracje przestrzeni nazw muszą pojawić się przed deklaracjami funkcji, zmiennych i opcji. + + Binary content does not match the maxLength facet. + Wartość binarna koliduje z aspektem "maxLength". - - Module imports must occur before function, variable, and option declarations. - Importy modułów muszą pojawić się przed deklaracjami funkcji, zmiennych i opcji. + + Binary content is not listed in the enumeration facet. + Wartość binarna nie widnieje na liście aspektu "enumeration". - - %1 is an unsupported encoding. - Nieobsługiwane kodowanie %1. + + Invalid QName content: %1. + Niepoprawna zawartość QName: %1. - - %1 contains octets which are disallowed in the requested encoding %2. - %1 zawiera bity które są niedozwolone w zażądanym kodowaniu %2. + + QName content is not listed in the enumeration facet. + Zawartość QName nie widnieje na liście aspektu "enumeration". - The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. - + QName content does not match pattern facet. + Zawartość QName koliduje z aspektem "pattern". - - Ambiguous rule match. - Dopasowano niejednoznaczną regułę. + + Notation content is not listed in the enumeration facet. + Zapis zawartości nie widnieje na liście aspektu "enumeration". - In a namespace constructor, the value for a namespace value cannot be an empty string. - W konstruktorze przestrzeni nazw wartość przestrzeni nazw nie może być pustym ciągiem. + + List content does not match length facet. + Zawartość listy koliduje z aspektem "length". - - In a namespace constructor, the value for a namespace cannot be an empty string. - + + List content does not match minLength facet. + Zawartość listy koliduje z aspektem "minLength". - - The prefix must be a valid %1, which %2 is not. - Przedrostek musi być poprawnym %1, którym %2 nie jest. + + List content does not match maxLength facet. + Zawartość listy koliduje z aspektem "maxLength". - - The prefix %1 cannot be bound. - Przedrostek %1 nie może być powiązany. + + List content is not listed in the enumeration facet. + Zawartość listy nie widnieje na liście aspektu "enumeration". - - Only the prefix %1 can be bound to %2 and vice versa. - Tylko przedrostek %1 może być powiązany z %2 i vice versa. + + List content does not match pattern facet. + Zawartość listy koliduje z aspektem "pattern". - - Circularity detected - Wykryto cykl + + Union content is not listed in the enumeration facet. + Zawartość unii nie widnieje na liście aspektu "enumeration". - - The parameter %1 is required, but no corresponding %2 is supplied. - Wymagany jest parametr %1 lecz żaden odpowiadający mu %2 nie został dostarczony. + + Union content does not match pattern facet. + Zawartość unii koliduje z aspektem "pattern". - - The parameter %1 is passed, but no corresponding %2 exists. - Przekazany jest parametr %1 lecz żaden odpowiadający mu %2 nie istnieje. + + Data of type %1 are not allowed to be empty. + Dane typu %1 nie mogą być puste. - - The URI cannot have a fragment - URI nie może posiadać fragmentu + + Element %1 is missing child element. + Brak wymaganego podelementu w elemencie %1. - - Element %1 is not allowed at this location. - Element %1 jest niedozwolony w tym miejscu. + + There is one IDREF value with no corresponding ID: %1. + Istnieje wartość IDREF bez odpowiadającej jej wartości ID: %1. - - Text nodes are not allowed at this location. - Węzły tekstowe są niedozwolone w tym miejscu. + + Loaded schema file is invalid. + Załadowany plik nie jest poprawnym plikiem ze schematem. - - Parse error: %1 - Błąd parsowania: %1 + + %1 contains invalid data. + %1 zawiera niepoprawne dane. - - The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. - Wartość atrybutu wersji XSL-T musi być typu %1, którym %2 nie jest. + + xsi:schemaLocation namespace %1 has already appeared earlier in the instance document. + Przestrzeń nazw "xsi:schemaLocation" %1 wystąpiła już wcześniej w dokumencie. - - Running an XSL-T 1.0 stylesheet with a 2.0 processor. - Przetwarzanie arkusza XSL-T w wersji 1.0 przez procesor w wersji 2.0. + + xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute. + "xsi:noNamespaceSchemaLocation" nie może wystąpić po pierwszym elemencie lub atrybucie który nie jest przestrzenią nazw. - - Unknown XSL-T attribute %1. - Nieznany atrybut %1 XSL-T. + + No schema defined for validation. + Brak zdefiniowanego schematu dla walidacji. - - Attribute %1 and %2 are mutually exclusive. - Atrybuty %1 i %2 wzajemnie się wykluczającą. + + No definition for element %1 available. + Brak dostępnej definicji dla elementu %1. - - In a simplified stylesheet module, attribute %1 must be present. - W uproszczonym module arkuszu stylu musi wystapić atrybut %1. + + + + Specified type %1 is not known to the schema. + Podany typ %1 nie jest schematowi znany. - - If element %1 has no attribute %2, it cannot have attribute %3 or %4. - Jeśli element %1 nie posiada atrybutu %2, nie może on również posiadać atrybutu %3 ani %4. + + Element %1 is not defined in this scope. + Element %1 nie jest zdefiniowany w tym zakresie. - - Element %1 must have at least one of the attributes %2 or %3. - Element %1 musi posiadać przynajmiej jeden z atrybutów: %2 lub %3. + + Declaration for element %1 does not exist. + Brak deklaracji dla elementu %1. - - At least one mode must be specified in the %1-attribute on element %2. - Przynajmniej jeden tryb musi być określony w atrybucie %1 elementu %2. + + Element %1 contains invalid content. + Element %1 posiada niepoprawną zawartość. - - Attribute %1 cannot appear on the element %2. Only the standard attributes can appear. - W elemencie %2 nie może wystąpić atrybut %1. Wystąpić mogą jedynie standardowe atrybuty. + + Element %1 is declared as abstract. + Element %1 jest zadeklarowany jako abstrakcyjny. - - Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes. - W elemencie %2 nie może wystąpić atrybut %1. Wystąpić może %3 lub standardowe atrybuty. + + Element %1 is not nillable. + Element %1 nie jest zerowalny. - Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes. - W elemencie %2 nie może wystąpić atrybut %1. Wystąpić może %3, %4 lub standardowe atrybuty. + Attribute %1 contains invalid data: %2 + Atrybut %1 zawiera niepoprawne dane: %2 - - Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes. - W elemencie %2 nie może wystąpić atrybut %1. Wystąpić może %3 lub standardowe atrybuty. + + Element contains content although it is nillable. + Element posiada zawartość chociaż jest zerowalny. - - XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is. - Atrybuty XSL-T w elementach XSL-T muszą być w zerowej przestrzeni nazw a nie w przestrzeni nazw XSL-T którą jest %1. + + Fixed value constrained not allowed if element is nillable. + Ograniczenie sztywnej wartości jest niedozwolone gdy element jest zerowalny. - - The attribute %1 must appear on element %2. - W elemencie %2 musi wystąpić atrybut %1. + + Specified type %1 is not validly substitutable with element type %2. + Podany typ %1 nie jest poprawnie zastępowalny typem elementu %2. - - The element with local name %1 does not exist in XSL-T. - Element o lokalnej nazwie %1 nie istnieje w XSL-T. + + Complex type %1 is not allowed to be abstract. + Typ złożony %1 nie może być abstrakcyjny. - - Element %1 must come last. - Element %1 musi wystąpić jako ostatni. + + Element %1 contains not allowed attributes. + Element %1 zawiera niedozwolone atrybuty. - - At least one %1-element must occur before %2. - Przynajmniej jeden element %1 musi wystąpić przed %2. + + + Element %1 contains not allowed child element. + Element %1 zawiera niedozwolony podelement. - - Only one %1-element can appear. - Może wystąpić tylko jeden element %1. + + + Content of element %1 does not match its type definition: %2. + Zawartość elementu %1 nie pasuje do jego definicji typu: %2. - - At least one %1-element must occur inside %2. - Przynajmniej jeden element %1 musi wystąpić wewnątrz %2. + + + + Content of element %1 does not match defined value constraint. + Zawartość elementu %1 nie pasuje do zdefiniowanego ograniczenia wartości. - - When attribute %1 is present on %2, a sequence constructor cannot be used. - Kiedy atrybut %1 występuje w %2 konstruktor sekwencyjny nie może być użyty. + + Element %1 contains not allowed child content. + Element %1 zawiera niedozwolony podelement. - - Element %1 must have either a %2-attribute or a sequence constructor. - Element %1 musi posiadać albo atrybut %2 albo sekwencyjny konstruktor. + + Element %1 contains not allowed text content. + Element %1 zawiera niedozwolony text. - - When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. - Kiedy wymagany jest parametr, domyślna wartość nie może być dostarczona przez atrybut %1 ani przez sekwencyjny konstruktor. + + Element %1 can not contain other elements, as it has a fixed content. + Element %1 nie może zawierać innych elementów ponieważ posiada on sztywną zawartość. - - Element %1 cannot have children. - Element %1 nie może posiadać potomków. + + Element %1 is missing required attribute %2. + Brak wymaganego atrybutu %2 w elemencie %1. - - Element %1 cannot have a sequence constructor. - Element %1 nie może posiadać sekwencyjnego konstruktora. + + Attribute %1 does not match the attribute wildcard. + Atrybut %1 nie pasuje do znacznika atrybutu. - - The attribute %1 cannot appear on %2, when it is a child of %3. - Atrybut %1 nie może wystąpić w %2 kiedy jest on potomkiem %3. + Declaration for attribute %1 does not exist. + Brak deklaracji atrybutu %1. - - A parameter in a function cannot be declared to be a tunnel. - + + Element %1 contains two attributes of type %2. + Element %1 posiada dwa atrybuty typu %2. - - This processor is not Schema-aware and therefore %1 cannot be used. - Procesor nie obsługuje schematów, więc %1 nie może zostać użyte. + + Attribute %1 contains invalid content. + Atrybut %1 posiada niepoprawną zawartość. - - Top level stylesheet elements must be in a non-null namespace, which %1 isn't. - Elementy arkusza stylu najwyższego poziomu muszą być w niezerowej przestrzeni nazw, którą %1 nie jest. + + Element %1 contains unknown attribute %2. + Element %1 posiada nieznany atrybut %2. - - The value for attribute %1 on element %2 must either be %3 or %4, not %5. - Wartością atrybutu %1 w elemencie %2 musi być %3 albo %4, lecz nie %5. + + + Content of attribute %1 does not match its type definition: %2. + Zawartość atrybutu %1 nie pasuje do jego definicji typu: %2. + + + + + Content of attribute %1 does not match defined value constraint. + Zawartość elementu %1 nie pasuje do zdefiniowanego ograniczenia wartości. + + + + Non-unique value found for constraint %1. + Znaleziono nieunikatową wartość dla ograniczenia %1. - Attribute %1 cannot have the value %2. - Atrybut %1 nie może posiadać wartości %2. + Key constraint %1 contains absent fields. + Ograniczenie klucza %1 zawiera nieobecne pola. - - The attribute %1 can only appear on the first %2 element. - Atrybut %1 może wystąpić jedynie w pierwszym elemencie %2. + + Key constraint %1 contains references nillable element %2. + - - At least one %1 element must appear as child of %2. - Przynajmniej jeden element %1 musi wystąpić jako potomek %2. + + No referenced value found for key reference %1. + Brak wartości do której odwołuje sie klucz %1. - - - VolumeSlider - - Muted - Wyciszony + + More than one value found for field %1. + Znaleziono więcej niż jedną wartość dla pola %1. - - - Volume: %1% - Głośność: %1% + + Field %1 has no simple type. + Pole %1 nie posiada prostego typu. + + + + ID value '%1' is not unique. + Wartość ID "%1" nie jest unikatowa. + + + + '%1' attribute contains invalid QName content: %2. + Atrybut "%1" zawiera niepoprawną zawartość QName: %2. diff --git a/translations/qtconfig_pl.ts b/translations/qtconfig_pl.ts index 8bf0a52..06d19da 100644 --- a/translations/qtconfig_pl.ts +++ b/translations/qtconfig_pl.ts @@ -97,15 +97,11 @@ - <h3>%1</h3><br/>Version %2<br/><br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).<br/><br/>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.<br/> + <h3>%1</h3><br/>Version %2<br/><br/>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). - <h3>%1</h3><br/>Version %2 - <h3>%1</h3><br/>Wersja %2 - - - + Qt Configuration @@ -137,19 +133,19 @@ &Anuluj - + No changes to be saved. Brak zmian do zapisania. Desktop Settings (Default) - + Ustawienia pulpitu (domyślne) Choose style and palette based on your desktop settings. - + Wybierz styl i paletę na podstawie ustawień Twojego pulpitu. @@ -827,7 +823,7 @@ p, li { white-space: pre-wrap; } Desktop settings will only take effect after an application restart. - + Ustawienia pulpitu zostaną zaaplikowane po ponownym uruchomieniu aplikacji. diff --git a/translations/qvfb_pl.ts b/translations/qvfb_pl.ts index a5baaed..bc3313e 100644 --- a/translations/qvfb_pl.ts +++ b/translations/qvfb_pl.ts @@ -4,7 +4,7 @@ AnimationSaveWidget - + Record Nagraj @@ -128,42 +128,42 @@ 1 bit monochrome - 1 bit czarno-biały + 1 bitowa monochromatyczna 4 bit grayscale - 4 bit poziom szarości + 4 bitowa skala szarości 8 bit - 8 bit + 8 bitowa 12 (16) bit - 12 (16) bit + 12 (16) bitowa 16 bit - 16 bit + 16 bitowa 18 bit - 18 bit + 18 bitowa 24 bit - 24 bit + 24 bitowa 32 bit - 32 bit + 32 bitowa @@ -238,12 +238,27 @@ 15 bit - 15 bit + 15 bitowa 32 bit ARGB - 32 bit ARGB + 32 bitowa ARGB + + + + 2 bit grayscale + 2 bitowa skala szarości + + + + Swap red and blue channels + Zamień kanał czerwony z niebieskim + + + + BGR format + format BGR @@ -307,12 +322,12 @@ QVFb - + Browse... Przeglądaj... - + Load Custom Skin... Załaduj skórki użytkownika... -- cgit v0.12 From c19f93eee1219ff91772f34d32b8ff4c20a4341d Mon Sep 17 00:00:00 2001 From: Janne Koskinen Date: Wed, 14 Oct 2009 16:54:02 +0300 Subject: QtWebkit demos&examples compilation fix for Symbian Fix for applications not compiling containing #include due to relative inclusion problem in Symbian build environment. Task-number: QTBUG-4846 Reviewed-by: Iain --- mkspecs/features/qt_functions.prf | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 6322233..3f84f42 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -45,9 +45,15 @@ defineTest(qtAddLibrary) { } } } - symbian*:isEqual(LIB_NAME, QtGui) { - # Needed for #include because qs60mainapplication.h includes aknapp.h - INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE + symbian { + isEqual(LIB_NAME, QtGui) { + # Needed for #include because qs60mainapplication.h includes aknapp.h + INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE + } + isEqual(LIB_NAME, QtWebKit) { + # Needed for #include because relative inclusion problem in toolchain + INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtXmlPatterns + } } isEmpty(LINKAGE) { if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { -- cgit v0.12 From c9f819e118454f6562ae5dbb25f28105a804c190 Mon Sep 17 00:00:00 2001 From: Richard Moe Gustavsen Date: Wed, 14 Oct 2009 16:08:19 +0200 Subject: Cocoa: QInputDialog autotest reveals event dispatcher bug On Cocoa, we sometimes need to block sending posted events (because we need to flush the event que now and then without touching Qt events). But we forgot to do same for timer callback. So this patch makes sure that we dont send the timer event immidiatly if we are just flushing the event que. Rev-By: brad --- src/gui/kernel/qeventdispatcher_mac.mm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/gui/kernel/qeventdispatcher_mac.mm b/src/gui/kernel/qeventdispatcher_mac.mm index 49c851b..c9dd949 100644 --- a/src/gui/kernel/qeventdispatcher_mac.mm +++ b/src/gui/kernel/qeventdispatcher_mac.mm @@ -136,14 +136,19 @@ void QEventDispatcherMacPrivate::activateTimer(CFRunLoopTimerRef, void *info) if (tmr == 0 || tmr->pending == true) return; // Can't send another timer event if it's pending. - tmr->pending = true; - QTimerEvent e(tmr->id); - qt_sendSpontaneousEvent(tmr->obj, &e); - // Get the value again in case the timer gets unregistered during the sendEvent. - tmr = macTimerHash.value(timerID); - if (tmr != 0) - tmr->pending = false; + if (blockSendPostedEvents) { + QCoreApplication::postEvent(tmr->obj, new QTimerEvent(tmr->id)); + } else { + tmr->pending = true; + QTimerEvent e(tmr->id); + qt_sendSpontaneousEvent(tmr->obj, &e); + // Get the value again in case the timer gets unregistered during the sendEvent. + tmr = macTimerHash.value(timerID); + if (tmr != 0) + tmr->pending = false; + } + } void QEventDispatcherMac::registerTimer(int timerId, int interval, QObject *obj) @@ -767,7 +772,7 @@ NSModalSession QEventDispatcherMacPrivate::currentModalSession() // Sadly, we need to introduce this little event flush // to stop dialogs from blinking/poping in front if a // modal session restart was needed: - while (NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask + while (NSEvent *event = [NSApp nextEventMatchingMask:0 untilDate:nil inMode:NSDefaultRunLoopMode dequeue: YES]) { -- cgit v0.12 From 1a62cb6ba07ef64e5101cbfca85bb539075742d5 Mon Sep 17 00:00:00 2001 From: Iain Date: Wed, 14 Oct 2009 16:09:29 +0100 Subject: Update IBY file to contain all Qt modules, inc. phonon, multimedia, sql Reviewed-by: Janne Koskinen --- src/s60installs/qt.iby | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/s60installs/qt.iby b/src/s60installs/qt.iby index 3a7f008..bc69dce 100644 --- a/src/s60installs/qt.iby +++ b/src/s60installs/qt.iby @@ -49,10 +49,14 @@ file=ABI_DIR\BUILD_DIR\QtGui.dll SHARED_LIB_DIR\QtGui.dll PAG file=ABI_DIR\BUILD_DIR\QtOpenGL.dll SHARED_LIB_DIR\QtOpenGL.dll PAGED file=ABI_DIR\BUILD_DIR\QtOpenVG.dll SHARED_LIB_DIR\QtOpenVG.dll PAGED file=ABI_DIR\BUILD_DIR\QtSvg.dll SHARED_LIB_DIR\QtSvg.dll PAGED +file=ABI_DIR\BUILD_DIR\QtSql.dll SHARED_LIB_DIR\QtSql.dll PAGED file=ABI_DIR\BUILD_DIR\QtXml.dll SHARED_LIB_DIR\QtXml.dll PAGED file=ABI_DIR\BUILD_DIR\QtNetwork.dll SHARED_LIB_DIR\QtNetwork.dll PAGED file=ABI_DIR\BUILD_DIR\QtScript.dll SHARED_LIB_DIR\QtScript.dll PAGED file=ABI_DIR\BUILD_DIR\QtTest.dll SHARED_LIB_DIR\QtTest.dll PAGED +file=ABI_DIR\BUILD_DIR\QtWebKit.dll SHARED_LIB_DIR\QtWebKit.dll PAGED +file=ABI_DIR\BUILD_DIR\phonon.dll SHARED_LIB_DIR\phonon.dll PAGED +file=ABI_DIR\BUILD_DIR\QtMultimedia.dll SHARED_LIB_DIR\QtMultimedia.dll PAGED // imageformats file=ABI_DIR\BUILD_DIR\qgif.dll SHARED_LIB_DIR\qgif.dll PAGED @@ -77,6 +81,10 @@ file=ABI_DIR\BUILD_DIR\phonon_mmf.dll SHARED_LIB_DIR\phonon_mmf.dll PAG // graphicssystems file=ABI_DIR\BUILD_DIR\qvggraphicssystem.dll SHARED_LIB_DIR\qvggraphicssystem.dll PAGED +// S60 version compatibility plugins for 5.0 (3.1 and 3.2 devices are never likely to have this in ROM, +// so don't bother including those plugins +file=ABI_DIR\BUILD_DIR\qts60plugin_5_0.dll SHARED_LIB_DIR\qts60plugin_5_0.dll PAGED + S60_APP_RESOURCE(s60main) // imageformats stubs -- cgit v0.12 From fad919927f2ab2ca3e9eebb59c5f3a9171b068a5 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 14 Oct 2009 18:08:58 +0200 Subject: Disable tst_QTableView::tabFocus to work when qt_tab_all_widget is disabled Logic copied from the QMenu test Also do the same in the QButtonGroup test --- tests/auto/qbuttongroup/tst_qbuttongroup.cpp | 11 ++++++----- tests/auto/qtableview/tst_qtableview.cpp | 6 ++++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/tests/auto/qbuttongroup/tst_qbuttongroup.cpp b/tests/auto/qbuttongroup/tst_qbuttongroup.cpp index a19f865..b568068 100644 --- a/tests/auto/qbuttongroup/tst_qbuttongroup.cpp +++ b/tests/auto/qbuttongroup/tst_qbuttongroup.cpp @@ -128,14 +128,15 @@ void tst_QButtonGroup::cleanup() { } +QT_BEGIN_NAMESPACE +extern bool qt_tab_all_widgets; +QT_END_NAMESPACE + + void tst_QButtonGroup::arrowKeyNavigation() { -#ifdef Q_WS_MAC - QSettings appleSettings(QLatin1String("apple.com")); - QVariant appleValue = appleSettings.value(QLatin1String("AppleKeyboardUIMode"), 0); - if (!(appleValue.toInt() & 0x2)) + if (!qt_tab_all_widgets) QSKIP("This test requires full keyboard control to be enabled.", SkipAll); -#endif QDialog dlg(0); QHBoxLayout layout(&dlg); diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index 78a0dfd..d92656c 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -3250,9 +3250,15 @@ void tst_QTableView::resizeToContents() } +QT_BEGIN_NAMESPACE + extern bool qt_tab_all_widgets; // qapplication_mac.cpp +QT_END_NAMESPACE void tst_QTableView::tabFocus() { + if (!qt_tab_all_widgets) + QSKIP("This test requires full keyboard control to be enabled.", SkipAll); + // QTableView enables tabKeyNavigation by default, but you should be able // to change focus on an empty table view, or on a table view that doesn't // have this property set. -- cgit v0.12 From 5e92ae16f80d6a0a824744fa4a2bdb7d6ce726e0 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 14 Oct 2009 18:23:35 +0200 Subject: stabilize QTableView test on cocoa --- tests/auto/qtableview/tst_qtableview.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index d92656c..5ff217c 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -2703,6 +2703,7 @@ void tst_QTableView::indexAt() QtTestTableView view; view.show(); + QTest::qWaitForWindowShown(&view); //some styles change the scroll mode in their polish view.setHorizontalScrollMode(QAbstractItemView::ScrollPerItem); @@ -2718,9 +2719,10 @@ void tst_QTableView::indexAt() for (int c = 0; c < columnCount; ++c) view.setColumnWidth(c, columnWidth); - QTest::qWait(0); // ### needed to pass the test + QTest::qWait(20); view.horizontalScrollBar()->setValue(horizontalScroll); view.verticalScrollBar()->setValue(verticalScroll); + QTest::qWait(20); QModelIndex index = view.indexAt(QPoint(x, y)); QCOMPARE(index.row(), expectedRow); -- cgit v0.12 From 93eb7c1378d97978fbe415f532e341de0138f4fe Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 15 Oct 2009 10:44:27 +1000 Subject: Back-port several OpenGL/ES fixes from 4.6 to 4.5 8ee6d090d45198fb2530849236c97f014666b7e4: fix EGL_SAMPLES b125af1b298d694c332f56deebe4755d0c985d5d: memory leak of EGLSurface's ef8d9fa7091b0d45fe15aae43b8f1c47547cb16d: double-destroy of pbuffer 73d9dced8298dfad7bc72607146e81e96fffb6d4: suppress pbuffer warnings Reviewed-by: Donald Carr --- src/opengl/qgl_egl.cpp | 2 +- src/opengl/qgl_qws.cpp | 2 ++ src/opengl/qglpixelbuffer_egl.cpp | 15 +++++++++++---- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/opengl/qgl_egl.cpp b/src/opengl/qgl_egl.cpp index 7e91c35..348a677 100644 --- a/src/opengl/qgl_egl.cpp +++ b/src/opengl/qgl_egl.cpp @@ -74,7 +74,7 @@ void qt_egl_set_format(QEglProperties& props, int deviceType, const QGLFormat& f props.setValue(EGL_STENCIL_SIZE, f.stencilBufferSize() == -1 ? 1 : f.stencilBufferSize()); if (f.sampleBuffers()) { props.setValue(EGL_SAMPLE_BUFFERS, 1); - props.setValue(EGL_SAMPLES, f.samples()); + props.setValue(EGL_SAMPLES, f.samples() == -1 ? 1 : f.samples()); } else { props.setValue(EGL_SAMPLE_BUFFERS, 0); } diff --git a/src/opengl/qgl_qws.cpp b/src/opengl/qgl_qws.cpp index b842426..4058b66 100644 --- a/src/opengl/qgl_qws.cpp +++ b/src/opengl/qgl_qws.cpp @@ -187,6 +187,8 @@ void QGLContext::reset() d->cleanup(); doneCurrent(); if (d->eglContext) { + if (d->eglContext->surface() != EGL_NO_SURFACE) + eglDestroySurface(d->eglContext->display(), d->eglContext->surface()); delete d->eglContext; d->eglContext = 0; } diff --git a/src/opengl/qglpixelbuffer_egl.cpp b/src/opengl/qglpixelbuffer_egl.cpp index b2f16c1..fbe6c36 100644 --- a/src/opengl/qglpixelbuffer_egl.cpp +++ b/src/opengl/qglpixelbuffer_egl.cpp @@ -152,7 +152,7 @@ bool QGLPixelBufferPrivate::init(const QSize &size, const QGLFormat &f, QGLWidge bool QGLPixelBufferPrivate::cleanup() { - eglDestroySurface(QEglContext::defaultDisplay(0), pbuf); + // No need to destroy "pbuf" here - it is done in QGLContext::reset(). return true; } @@ -203,13 +203,20 @@ GLuint QGLPixelBuffer::generateDynamicTexture() const bool QGLPixelBuffer::hasOpenGLPbuffers() { // See if we have at least 1 configuration that matches the default format. - QEglContext ctx; - if (!ctx.openDisplay(0)) + EGLDisplay dpy = QEglContext::defaultDisplay(0); + if (dpy == EGL_NO_DISPLAY) return false; QEglProperties configProps; qt_egl_set_format(configProps, QInternal::Pbuffer, QGLFormat::defaultFormat()); configProps.setRenderableType(QEglContext::OpenGL); - return ctx.chooseConfig(configProps, QEglContext::BestPixelFormat); + do { + EGLConfig cfg = 0; + EGLint matching = 0; + if (eglChooseConfig(dpy, configProps.properties(), + &cfg, 1, &matching) && matching > 0) + return true; + } while (configProps.reduceConfiguration()); + return false; } QT_END_NAMESPACE -- cgit v0.12 From 4f2fecbdb852028bd191fa63aa66527107672dc7 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 15 Oct 2009 10:50:57 +1000 Subject: Remove the surface holder from the PowerVR screen driver The PvrEglSurfaceHolder is a hold-over from Qtopia that isn't needed any more and was never very stable anyway. Reviewed-by: trustme Back port of f613b0170d0fe806378779472315d0bbdc1aada9 --- .../powervr/pvreglscreen/pvreglscreen.cpp | 128 ++------------------- .../gfxdrivers/powervr/pvreglscreen/pvreglscreen.h | 19 --- .../powervr/pvreglscreen/pvreglwindowsurface.cpp | 8 +- .../powervr/pvreglscreen/pvreglwindowsurface.h | 4 +- 4 files changed, 11 insertions(+), 148 deletions(-) diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp index cb453d7..6696672 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp @@ -60,17 +60,20 @@ PvrEglScreen::PvrEglScreen(int displayId) ttyfd = -1; doGraphicsMode = true; oldKdMode = KD_TEXT; - if (QWSServer::instance()) - holder = new PvrEglSurfaceHolder(); - else - holder = 0; + + // Make sure that the EGL layer is initialized and the drivers loaded. + EGLDisplay dpy = eglGetDisplay((EGLNativeDisplayType)EGL_DEFAULT_DISPLAY); + if (!eglInitialize(dpy, 0, 0)) + qWarning("Could not initialize EGL display - are the drivers loaded?"); + + // Make sure that screen 0 is initialized. + pvrQwsScreenWindow(0); } PvrEglScreen::~PvrEglScreen() { if (fd >= 0) ::close(fd); - delete holder; } bool PvrEglScreen::initDevice() @@ -194,7 +197,7 @@ QWSWindowSurface* PvrEglScreen::createSurface(QWidget *widget) const QWSWindowSurface* PvrEglScreen::createSurface(const QString &key) const { if (key == QLatin1String("PvrEgl")) - return new PvrEglWindowSurface(holder); + return new PvrEglWindowSurface(); return QScreen::createSurface(key); } @@ -275,116 +278,3 @@ bool PvrEglScreenSurfaceFunctions::createNativeWindow(QWidget *widget, EGLNative *native = (EGLNativeWindowType)(nsurface->nativeDrawable()); return true; } - -// The PowerVR engine on the device needs to allocate about 2Mb of -// contiguous physical memory to manage drawing into a surface. -// -// The problem is that once Qtopia begins its startup sequence, -// it allocates enough memory to severely fragment the physical -// address space on the device. This leaves the PowerVR engine -// unable to allocate the necessary contiguous physical memory -// when an EGL surface is created. -// -// A solution to this is to pre-allocate a dummy surface early -// in the startup sequence before memory becomes fragmented, -// reserving it for any future EGL applications to use. -// -// However, the PowerVR engine has problems managing multiple -// surfaces concurrently, and so real EGL applications end up -// with unacceptably slow frame rates unless the dummy surface -// is destroyed while the real EGL applications are running. -// -// In summary, we need to try to ensure that there is always at -// least one EGL surface active at any given time to reserve the -// memory but destroy the temporary surface when a real surface -// is using the device. That is the purpose of PvrEglSurfaceHolder. - -PvrEglSurfaceHolder::PvrEglSurfaceHolder(QObject *parent) - : QObject(parent) -{ - numRealSurfaces = 0; - - PvrQwsRect rect; - rect.x = 0; - rect.y = 0; - rect.width = 16; - rect.height = 16; - tempSurface = pvrQwsCreateWindow(0, -1, &rect); - - dpy = EGL_NO_DISPLAY; - config = 0; - surface = EGL_NO_SURFACE; - - dpy = eglGetDisplay((EGLNativeDisplayType)EGL_DEFAULT_DISPLAY); - if (!eglInitialize(dpy, 0, 0)) { - qWarning("Could not initialize EGL display - are the drivers loaded?"); - dpy = EGL_NO_DISPLAY; - return; - } - - EGLint attribList[16]; - int temp = 0; - attribList[temp++] = EGL_LEVEL; // Framebuffer level 0 - attribList[temp++] = 0; - attribList[temp++] = EGL_SURFACE_TYPE; - attribList[temp++] = EGL_WINDOW_BIT; - attribList[temp++] = EGL_NONE; - - EGLint numConfigs = 0; - if (!eglChooseConfig(dpy, attribList, &config, 1, &numConfigs) || numConfigs != 1) { - qWarning("Could not find a matching a EGL configuration"); - eglTerminate(dpy); - dpy = EGL_NO_DISPLAY; - return; - } - - surface = eglCreateWindowSurface - (dpy, config, (EGLNativeWindowType)(-1), NULL); - if (surface == EGL_NO_SURFACE) - qWarning("Could not create the temporary EGL surface"); -} - -PvrEglSurfaceHolder::~PvrEglSurfaceHolder() -{ - if (surface != EGL_NO_SURFACE) - eglDestroySurface(dpy, surface); - if (dpy != EGL_NO_DISPLAY) - eglTerminate(dpy); - if (tempSurface) - pvrQwsDestroyDrawable(tempSurface); -} - -// Add a real EGL surface to the system. -void PvrEglSurfaceHolder::addSurface() -{ - ++numRealSurfaces; - if (numRealSurfaces == 1) { - // Destroy the temporary surface while some other application - // is making use of the EGL sub-system for 3D rendering. - if (surface != EGL_NO_SURFACE) { - eglDestroySurface(dpy, surface); - surface = EGL_NO_SURFACE; - } - } -} - -// Remove an actual EGL surface from the system. -void PvrEglSurfaceHolder::removeSurface() -{ - if (numRealSurfaces > 0) { - --numRealSurfaces; - if (numRealSurfaces == 0) { - // The last real EGL surface has been destroyed, so re-create - // the temporary surface. There is a race condition here in - // that Qtopia could allocate a lot of memory just after - // the real EGL surface is destroyed but before we could - // create the temporary surface again. - if (surface == EGL_NO_SURFACE && dpy != EGL_NO_DISPLAY) { - surface = eglCreateWindowSurface - (dpy, config, (EGLNativeWindowType)(-1), NULL); - if (surface == EGL_NO_SURFACE) - qWarning("Could not re-create the temporary EGL surface"); - } - } - } -} diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h index 1c79f8e..8bf42c7 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h @@ -59,24 +59,6 @@ private: int displayId; }; -class PvrEglSurfaceHolder : public QObject -{ - Q_OBJECT -public: - PvrEglSurfaceHolder(QObject *parent=0); - ~PvrEglSurfaceHolder(); - - void addSurface(); - void removeSurface(); - -private: - int numRealSurfaces; - PvrQwsDrawable *tempSurface; - EGLDisplay dpy; - EGLConfig config; - EGLSurface surface; -}; - class PvrEglScreen : public QGLScreen { public: @@ -105,7 +87,6 @@ private: int fd; int ttyfd, oldKdMode; - PvrEglSurfaceHolder *holder; QString ttyDevice; bool doGraphicsMode; }; diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp index 09c0ace..2c5ac21 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp @@ -53,7 +53,6 @@ PvrEglWindowSurface::PvrEglWindowSurface this->widget = widget; this->screen = screen; - this->holder = 0; this->pdevice = 0; QPoint pos = offset(widget); @@ -78,7 +77,7 @@ PvrEglWindowSurface::PvrEglWindowSurface drawable = pvrQwsCreateWindow(screenNum, (long)widget, &pvrRect); } -PvrEglWindowSurface::PvrEglWindowSurface(PvrEglSurfaceHolder *holder) +PvrEglWindowSurface::PvrEglWindowSurface() : QWSGLWindowSurface() { setSurfaceFlags(QWSWindowSurface::Opaque); @@ -86,9 +85,6 @@ PvrEglWindowSurface::PvrEglWindowSurface(PvrEglSurfaceHolder *holder) widget = 0; screen = 0; pdevice = 0; - - this->holder = holder; - holder->addSurface(); } PvrEglWindowSurface::~PvrEglWindowSurface() @@ -100,8 +96,6 @@ PvrEglWindowSurface::~PvrEglWindowSurface() if (drawable && pvrQwsReleaseWindow(drawable)) pvrQwsDestroyDrawable(drawable); - if (holder) - holder->removeSurface(); delete pdevice; } diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h index 0da3653..58a5fb2 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h @@ -46,13 +46,12 @@ #include "pvrqwsdrawable.h" class QScreen; -class PvrEglSurfaceHolder; class PvrEglWindowSurface : public QWSGLWindowSurface { public: PvrEglWindowSurface(QWidget *widget, QScreen *screen, int screenNum); - PvrEglWindowSurface(PvrEglSurfaceHolder *holder); + PvrEglWindowSurface(); ~PvrEglWindowSurface(); QString key() const { return QLatin1String("PvrEgl"); } @@ -78,7 +77,6 @@ private: QWidget *widget; PvrQwsDrawable *drawable; QScreen *screen; - PvrEglSurfaceHolder *holder; QPaintDevice *pdevice; }; -- cgit v0.12 From e49d92f620313c0921ece291548a8a9c6a809586 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 15 Oct 2009 13:12:52 +1000 Subject: customshader won't work on OpenGL/ES 1.1 so disable for those platforms Reviewed-by: trustme --- examples/effects/effects.pro | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/effects/effects.pro b/examples/effects/effects.pro index 01fa293..2dec8d5 100644 --- a/examples/effects/effects.pro +++ b/examples/effects/effects.pro @@ -5,7 +5,11 @@ SUBDIRS = \ lighting \ fademessage -contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles2):SUBDIRS += customshader +!contains(QT_CONFIG, opengles1):!contains(QT_CONFIG, opengles1cl) { + contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles2) { + SUBDIRS += customshader + } +} # install target.path = $$[QT_INSTALL_EXAMPLES]/effects -- cgit v0.12 From 03c587f510f2a5f9126b53a0c3913ac06bb86c79 Mon Sep 17 00:00:00 2001 From: Stian Sandvik Thomassen Date: Thu, 15 Oct 2009 13:31:39 +1000 Subject: Removed assertion from QComboBox::removeItem() Made QComboBox::removeItem() do nothing instead of asserting if index is out of range. Reviewed-by: Andy Shaw --- src/gui/widgets/qcombobox.cpp | 5 ++++- tests/auto/qcombobox/tst_qcombobox.cpp | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp index b606538..0e888d6 100644 --- a/src/gui/widgets/qcombobox.cpp +++ b/src/gui/widgets/qcombobox.cpp @@ -2174,11 +2174,14 @@ void QComboBox::insertSeparator(int index) /*! Removes the item at the given \a index from the combobox. This will update the current index if the index is removed. + + This function does nothing if \a index is out of range. */ void QComboBox::removeItem(int index) { - Q_ASSERT(index >= 0 && index < count()); Q_D(QComboBox); + if (index < 0 || index >= count()) + return; d->model->removeRows(index, 1, d->root); } diff --git a/tests/auto/qcombobox/tst_qcombobox.cpp b/tests/auto/qcombobox/tst_qcombobox.cpp index e76f0f7..0d3469d 100644 --- a/tests/auto/qcombobox/tst_qcombobox.cpp +++ b/tests/auto/qcombobox/tst_qcombobox.cpp @@ -151,6 +151,7 @@ private slots: void subControlRectsWithOffset_data(); void subControlRectsWithOffset(); void task260974_menuItemRectangleForComboBoxPopup(); + void removeItem(); protected slots: void onEditTextChanged( const QString &newString ); @@ -2398,5 +2399,22 @@ void tst_QComboBox::task260974_menuItemRectangleForComboBoxPopup() #endif } +void tst_QComboBox::removeItem() +{ + QComboBox cb; + cb.removeItem(-1); + cb.removeItem(1); + cb.removeItem(0); + QCOMPARE(cb.count(), 0); + + cb.addItem("foo"); + cb.removeItem(-1); + QCOMPARE(cb.count(), 1); + cb.removeItem(1); + QCOMPARE(cb.count(), 1); + cb.removeItem(0); + QCOMPARE(cb.count(), 0); +} + QTEST_MAIN(tst_QComboBox) #include "tst_qcombobox.moc" -- cgit v0.12 From 162dd5b9360a362a78e77387ed92c49934201a32 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Thu, 15 Oct 2009 12:26:03 +1000 Subject: Change the frame rate property to a qreal from a QPair rational While a rational number is a common way to represent a frame rate, QPair isn't a proper numeric type meaning it can't be used as anything more than an identifer for an exact frame rate without being converted to a real, or extending it to a proper rational type. Rev by: Justin McPherson --- src/multimedia/video/qvideosurfaceformat.cpp | 51 +++++++--------------- src/multimedia/video/qvideosurfaceformat.h | 8 +--- .../tst_qvideosurfaceformat.cpp | 39 ++++++----------- 3 files changed, 30 insertions(+), 68 deletions(-) diff --git a/src/multimedia/video/qvideosurfaceformat.cpp b/src/multimedia/video/qvideosurfaceformat.cpp index 2b0de96..e6ef8f3 100644 --- a/src/multimedia/video/qvideosurfaceformat.cpp +++ b/src/multimedia/video/qvideosurfaceformat.cpp @@ -58,7 +58,7 @@ public: , scanLineDirection(QVideoSurfaceFormat::TopToBottom) , pixelAspectRatio(1, 1) , yuvColorSpace(QVideoSurfaceFormat::YCbCr_Undefined) - , frameRate(0, 0) + , frameRate(0.0) { } @@ -73,7 +73,7 @@ public: , pixelAspectRatio(1, 1) , yuvColorSpace(QVideoSurfaceFormat::YCbCr_Undefined) , viewport(QPoint(0, 0), size) - , frameRate(0, 0) + , frameRate(0.0) { } @@ -100,7 +100,7 @@ public: && frameSize == other.frameSize && pixelAspectRatio == other.pixelAspectRatio && viewport == other.viewport - && frameRate == other.frameRate + && frameRatesEqual(frameRate, other.frameRate) && yuvColorSpace == other.yuvColorSpace && propertyNames.count() == other.propertyNames.count()) { for (int i = 0; i < propertyNames.count(); ++i) { @@ -115,6 +115,11 @@ public: } } + inline static bool frameRatesEqual(qreal r1, qreal r2) + { + return qAbs(r1 - r2) <= 0.00001 * qMin(qAbs(r1), qAbs(r2)); + } + QVideoFrame::PixelFormat pixelFormat; QAbstractVideoBuffer::HandleType handleType; QVideoSurfaceFormat::Direction scanLineDirection; @@ -122,7 +127,7 @@ public: QSize pixelAspectRatio; QVideoSurfaceFormat::YuvColorSpace yuvColorSpace; QRect viewport; - QVideoSurfaceFormat::FrameRate frameRate; + qreal frameRate; QList propertyNames; QList propertyValues; }; @@ -201,15 +206,6 @@ public: The full range Y'CbCr color space used in JPEG files. */ - -/*! - \typedef QVideoSurfaceFormat::FrameRate - - A pair of integers representing the frame rate of a video stream. - - The first number is the numerator and the second the denominator. -*/ - /*! Constructs a null video stream format. */ @@ -415,41 +411,24 @@ void QVideoSurfaceFormat::setScanLineDirection(Direction direction) } /*! - Returns the frame rate of a video stream. - - The frame rate is a rational number represented by a pair of integers. - The first integer is the numerator and the second the denominator. + Returns the frame rate of a video stream in frames per second. */ -QVideoSurfaceFormat::FrameRate QVideoSurfaceFormat::frameRate() const +qreal QVideoSurfaceFormat::frameRate() const { return d->frameRate; } /*! - Sets the frame \a rate of a video stream. - - The frame rate is a rational number represented by a pair of integers. - The first integer is the numerator and the second the denominator. + Sets the frame \a rate of a video stream in frames per second. */ -void QVideoSurfaceFormat::setFrameRate(const FrameRate &rate) +void QVideoSurfaceFormat::setFrameRate(qreal rate) { d->frameRate = rate; } /*! - \overload - - Sets the \a numerator and \a denominator of the frame rate of a video stream. -*/ - -void QVideoSurfaceFormat::setFrameRate(int numerator, int denominator) -{ - d->frameRate = qMakePair(numerator, denominator); -} - -/*! Returns a video stream's pixel aspect ratio. */ @@ -599,8 +578,8 @@ void QVideoSurfaceFormat::setProperty(const char *name, const QVariant &value) if (qVariantCanConvert(value)) d->scanLineDirection = qvariant_cast(value); } else if (qstrcmp(name, "frameRate") == 0) { - if (qVariantCanConvert(value)) - d->frameRate = qvariant_cast(value); + if (qVariantCanConvert(value)) + d->frameRate = qvariant_cast(value); } else if (qstrcmp(name, "pixelAspectRatio") == 0) { if (qVariantCanConvert(value)) d->pixelAspectRatio = qvariant_cast(value); diff --git a/src/multimedia/video/qvideosurfaceformat.h b/src/multimedia/video/qvideosurfaceformat.h index b3005bd..1f4a5cb 100644 --- a/src/multimedia/video/qvideosurfaceformat.h +++ b/src/multimedia/video/qvideosurfaceformat.h @@ -87,8 +87,6 @@ public: #endif }; - typedef QPair FrameRate; - QVideoSurfaceFormat(); QVideoSurfaceFormat( const QSize &size, @@ -120,9 +118,8 @@ public: Direction scanLineDirection() const; void setScanLineDirection(Direction direction); - FrameRate frameRate() const; - void setFrameRate(const FrameRate &rate); - void setFrameRate(int numerator, int denominator = 1); + qreal frameRate() const; + void setFrameRate(qreal rate); QSize pixelAspectRatio() const; void setPixelAspectRatio(const QSize &ratio); @@ -147,7 +144,6 @@ Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, const QVideoSurfaceFormat &); QT_END_NAMESPACE -Q_DECLARE_METATYPE(QVideoSurfaceFormat::FrameRate) Q_DECLARE_METATYPE(QVideoSurfaceFormat::Direction) Q_DECLARE_METATYPE(QVideoSurfaceFormat::YuvColorSpace) diff --git a/tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp b/tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp index bc6fe68..9623e80 100644 --- a/tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp +++ b/tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp @@ -120,7 +120,7 @@ void tst_QVideoSurfaceFormat::constructNull() QCOMPARE(format.frameHeight(), -1); QCOMPARE(format.viewport(), QRect()); QCOMPARE(format.scanLineDirection(), QVideoSurfaceFormat::TopToBottom); - QCOMPARE(format.frameRate(), QVideoSurfaceFormat::FrameRate()); + QCOMPARE(format.frameRate(), 0.0); QCOMPARE(format.pixelAspectRatio(), QSize(1, 1)); QCOMPARE(format.yuvColorSpace(), QVideoSurfaceFormat::YCbCr_Undefined); } @@ -159,7 +159,7 @@ void tst_QVideoSurfaceFormat::construct() QCOMPARE(format.frameHeight(), frameSize.height()); QCOMPARE(format.viewport(), viewport); QCOMPARE(format.scanLineDirection(), QVideoSurfaceFormat::TopToBottom); - QCOMPARE(format.frameRate(), QVideoSurfaceFormat::FrameRate()); + QCOMPARE(format.frameRate(), 0.0); QCOMPARE(format.pixelAspectRatio(), QSize(1, 1)); QCOMPARE(format.yuvColorSpace(), QVideoSurfaceFormat::YCbCr_Undefined); } @@ -315,21 +315,21 @@ void tst_QVideoSurfaceFormat::scanLineDirection() void tst_QVideoSurfaceFormat::frameRate_data() { - QTest::addColumn("frameRate"); + QTest::addColumn("frameRate"); QTest::newRow("null") - << QVideoSurfaceFormat::FrameRate(0, 0); + << 0.0; QTest::newRow("1/1") - << QVideoSurfaceFormat::FrameRate(1, 1); + << 1.0; QTest::newRow("24/1") - << QVideoSurfaceFormat::FrameRate(24, 1); + << 24.0; QTest::newRow("15/2") - << QVideoSurfaceFormat::FrameRate(15, 2); + << 7.5; } void tst_QVideoSurfaceFormat::frameRate() { - QFETCH(QVideoSurfaceFormat::FrameRate, frameRate); + QFETCH(qreal, frameRate); { QVideoSurfaceFormat format(QSize(64, 64), QVideoFrame::Format_RGB32); @@ -337,29 +337,16 @@ void tst_QVideoSurfaceFormat::frameRate() format.setFrameRate(frameRate); QCOMPARE(format.frameRate(), frameRate); - QCOMPARE(qvariant_cast(format.property("frameRate")), - frameRate); - } - { - QVideoSurfaceFormat format(QSize(64, 64), QVideoFrame::Format_RGB32); - - format.setFrameRate(frameRate.first, frameRate.second); - - QCOMPARE(format.frameRate(), frameRate); - QCOMPARE( - qvariant_cast(format.property("frameRate")), - frameRate); + QCOMPARE(qvariant_cast(format.property("frameRate")), frameRate); } { QVideoSurfaceFormat format(QSize(64, 64), QVideoFrame::Format_RGB32); format.setFrameRate(frameRate); - format.setProperty( - "frameRate", qVariantFromValue(frameRate)); + format.setProperty("frameRate", frameRate); QCOMPARE(format.frameRate(), frameRate); - QCOMPARE(qvariant_cast(format.property("frameRate")), - frameRate); + QCOMPARE(qvariant_cast(format.property("frameRate")), frameRate); } } @@ -609,13 +596,13 @@ void tst_QVideoSurfaceFormat::compare() QCOMPARE(format1 == format2, true); QCOMPARE(format1 != format2, false); - format1.setFrameRate(QVideoSurfaceFormat::FrameRate(15, 2)); + format1.setFrameRate(7.5); // Not equal frame rate differs. QCOMPARE(format1 == format2, false); QCOMPARE(format1 != format2, true); - format2.setFrameRate(15, 2); + format2.setFrameRate(7.50001); // Equal. QCOMPARE(format1 == format2, true); -- cgit v0.12 From f4ad1cc44e3a25d0089d39cdf16820d9fbb2e050 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 15 Oct 2009 14:34:46 +1000 Subject: Centralize all GL paint engine creations into qt_qgl_paint_engine() The qt_qgl_paint_engine() function was being used by QWS, but there's no reason why it can't be used by other platforms too. This should also fix ES 2.0 paint engine support under QWS, which was stubbed out. Reviewed-by: Sarah Smith Reviewed-by: Gunnar --- src/opengl/qgl.cpp | 22 ++++++++-------------- src/opengl/qgl_p.h | 4 +--- src/opengl/qglpaintdevice_qws.cpp | 4 ---- src/opengl/qwindowsurface_gl.cpp | 12 +----------- 4 files changed, 10 insertions(+), 32 deletions(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 8aef8b4..5e00b11 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -4735,16 +4735,19 @@ Q_GLOBAL_STATIC(QGL2PaintEngineEx, qt_gl_2_engine) Q_GLOBAL_STATIC(QOpenGLPaintEngine, qt_gl_engine) #endif -#ifdef Q_WS_QWS Q_OPENGL_EXPORT QPaintEngine* qt_qgl_paint_engine() { -#if !defined(QT_OPENGL_ES_2) +#if defined(QT_OPENGL_ES_1) || defined(QT_OPENGL_ES_1_CL) return qt_gl_engine(); +#elif defined(QT_OPENGL_ES_2) + return qt_gl_2_engine(); #else - return 0; // XXX + if (qt_gl_preferGL2Engine()) + return qt_gl_2_engine(); + else + return qt_gl_engine(); #endif } -#endif /*! \internal @@ -4754,16 +4757,7 @@ Q_OPENGL_EXPORT QPaintEngine* qt_qgl_paint_engine() */ QPaintEngine *QGLWidget::paintEngine() const { -#if defined(QT_OPENGL_ES_1) || defined(QT_OPENGL_ES_1_CL) - return qt_gl_engine(); -#elif defined(QT_OPENGL_ES_2) - return qt_gl_2_engine(); -#else - if (qt_gl_preferGL2Engine()) - return qt_gl_2_engine(); - else - return qt_gl_engine(); -#endif + return qt_qgl_paint_engine(); } #ifdef QT3_SUPPORT diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index 8d4f673..129e7f7 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -505,9 +505,7 @@ private: }; -#ifdef Q_WS_QWS -extern QPaintEngine* qt_qgl_paint_engine(); -#endif +extern Q_OPENGL_EXPORT QPaintEngine* qt_qgl_paint_engine(); bool qt_gl_preferGL2Engine(); diff --git a/src/opengl/qglpaintdevice_qws.cpp b/src/opengl/qglpaintdevice_qws.cpp index 600efa6..8c2f27d 100644 --- a/src/opengl/qglpaintdevice_qws.cpp +++ b/src/opengl/qglpaintdevice_qws.cpp @@ -72,11 +72,7 @@ QWSGLPaintDevice::~QWSGLPaintDevice() QPaintEngine* QWSGLPaintDevice::paintEngine() const { -#if !defined(QT_OPENGL_ES_2) return qt_qgl_paint_engine(); -#else - return 0; // XXX -#endif } int QWSGLPaintDevice::metric(PaintDeviceMetric m) const diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index 7f8577a..b341243 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -283,19 +283,9 @@ int QGLWindowSurfaceGLPaintDevice::metric(PaintDeviceMetric m) const return d->q_ptr->window()->metric(m); } -Q_GLOBAL_STATIC(QGL2PaintEngineEx, qt_gl_window_surface_2_engine) - -#if !defined (QT_OPENGL_ES_2) -Q_GLOBAL_STATIC(QOpenGLPaintEngine, qt_gl_window_surface_engine) -#endif - QPaintEngine *QGLWindowSurfaceGLPaintDevice::paintEngine() const { -#if !defined(QT_OPENGL_ES_2) - if (!qt_gl_preferGL2Engine()) - return qt_gl_window_surface_engine(); -#endif - return qt_gl_window_surface_2_engine(); + return qt_qgl_paint_engine(); } QGLWindowSurface::QGLWindowSurface(QWidget *window) -- cgit v0.12 From 8b568a5afd24ecb343b7508bf6b27b27af59b226 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Thu, 15 Oct 2009 16:26:19 +1000 Subject: qt_paint_device_metric() for fetching metrics Custom window surfaces, graphics systems, and Qt/Embedded screen drivers often need to access QPaintDevice::metric(), but it is protected. Hence the growing number of friends in QWidget and QImage. The qt_paint_device_metric() function provides a more future-proof approach that doesn't require lots of friends. Reviewed-by: Gunnar --- src/gui/kernel/qwidget.h | 3 --- src/gui/painting/qpaintdevice.cpp | 5 +++++ src/gui/painting/qpaintdevice.h | 1 + src/gui/painting/qpaintengine_raster.cpp | 9 +-------- src/opengl/qglpaintdevice_qws.cpp | 9 +-------- src/opengl/qwindowsurface_gl.cpp | 2 +- src/openvg/qwindowsurface_vg.cpp | 2 +- .../graphicssystems/shivavg/shivavgwindowsurface.cpp | 14 +------------- 8 files changed, 11 insertions(+), 34 deletions(-) diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h index 3501c6e..3cc3093 100644 --- a/src/gui/kernel/qwidget.h +++ b/src/gui/kernel/qwidget.h @@ -726,14 +726,11 @@ private: friend class QGLContext; friend class QGLWidget; friend class QGLWindowSurface; - friend class QGLWindowSurfaceGLPaintDevice; - friend class QVGWindowSurface; friend class QX11PaintEngine; friend class QWin32PaintEngine; friend class QShortcutPrivate; friend class QShortcutMap; friend class QWindowSurface; - friend class QD3DWindowSurface; friend class QGraphicsProxyWidget; friend class QGraphicsProxyWidgetPrivate; friend class QStyleSheetStyle; diff --git a/src/gui/painting/qpaintdevice.cpp b/src/gui/painting/qpaintdevice.cpp index 95c0b44..6114938 100644 --- a/src/gui/painting/qpaintdevice.cpp +++ b/src/gui/painting/qpaintdevice.cpp @@ -65,4 +65,9 @@ int QPaintDevice::metric(PaintDeviceMetric) const return 0; } +Q_GUI_EXPORT int qt_paint_device_metric(const QPaintDevice *device, QPaintDevice::PaintDeviceMetric metric) +{ + return device->metric(metric); +} + QT_END_NAMESPACE diff --git a/src/gui/painting/qpaintdevice.h b/src/gui/painting/qpaintdevice.h index 92aa3cb..c8e86b8 100644 --- a/src/gui/painting/qpaintdevice.h +++ b/src/gui/painting/qpaintdevice.h @@ -137,6 +137,7 @@ public: friend class QPainter; friend class QFontEngineMac; friend class QX11PaintEngine; + friend Q_GUI_EXPORT int qt_paint_device_metric(const QPaintDevice *device, PaintDeviceMetric metric); }; #ifdef QT3_SUPPORT diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index 6037bd5..240403d 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -4213,13 +4213,6 @@ void QRasterBuffer::prepare(QCustomRasterPaintDevice *device) drawHelper = qDrawHelper + format; } -class MetricAccessor : public QWidget { -public: - int metric(PaintDeviceMetric m) { - return QWidget::metric(m); - } -}; - int QCustomRasterPaintDevice::metric(PaintDeviceMetric m) const { switch (m) { @@ -4231,7 +4224,7 @@ int QCustomRasterPaintDevice::metric(PaintDeviceMetric m) const break; } - return (static_cast(widget)->metric(m)); + return qt_paint_device_metric(widget, m); } int QCustomRasterPaintDevice::bytesPerLine() const diff --git a/src/opengl/qglpaintdevice_qws.cpp b/src/opengl/qglpaintdevice_qws.cpp index 8c2f27d..1512278 100644 --- a/src/opengl/qglpaintdevice_qws.cpp +++ b/src/opengl/qglpaintdevice_qws.cpp @@ -52,13 +52,6 @@ public: QWidget *widget; }; -class QMetricAccessor : public QWidget { -public: - int metric(PaintDeviceMetric m) { - return QWidget::metric(m); - } -}; - QWSGLPaintDevice::QWSGLPaintDevice(QWidget *widget) : d_ptr(new QWSGLPaintDevicePrivate) { @@ -80,7 +73,7 @@ int QWSGLPaintDevice::metric(PaintDeviceMetric m) const Q_D(const QWSGLPaintDevice); Q_ASSERT(d->widget); - return ((QMetricAccessor *) d->widget)->metric(m); + return qt_paint_device_metric(d->widget, m); } QWSGLWindowSurface* QWSGLPaintDevice::windowSurface() const diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index b341243..df84a76 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -280,7 +280,7 @@ QGLContext* QGLWindowSurfaceGLPaintDevice::context() const int QGLWindowSurfaceGLPaintDevice::metric(PaintDeviceMetric m) const { - return d->q_ptr->window()->metric(m); + return qt_paint_device_metric(d->q_ptr->window(), m); } QPaintEngine *QGLWindowSurfaceGLPaintDevice::paintEngine() const diff --git a/src/openvg/qwindowsurface_vg.cpp b/src/openvg/qwindowsurface_vg.cpp index 6cc2e27..661e06a 100644 --- a/src/openvg/qwindowsurface_vg.cpp +++ b/src/openvg/qwindowsurface_vg.cpp @@ -111,7 +111,7 @@ QPaintEngine *QVGWindowSurface::paintEngine() const int QVGWindowSurface::metric(PaintDeviceMetric met) const { - return window()->metric(met); + return qt_paint_device_metric(window(), met); } QT_END_NAMESPACE diff --git a/src/plugins/graphicssystems/shivavg/shivavgwindowsurface.cpp b/src/plugins/graphicssystems/shivavg/shivavgwindowsurface.cpp index df623ba..955aa55 100644 --- a/src/plugins/graphicssystems/shivavg/shivavgwindowsurface.cpp +++ b/src/plugins/graphicssystems/shivavg/shivavgwindowsurface.cpp @@ -350,21 +350,9 @@ QPaintEngine *ShivaVGWindowSurface::paintEngine() const return d_ptr->engine; } -// We need to get access to QWidget::metric() from ShivaVGWindowSurface::metric, -// but it is not a friend of QWidget. To get around this, we create a -// fake QX11PaintEngine class, which is a friend. -class QX11PaintEngine -{ -public: - static int metric(const QWidget *widget, QPaintDevice::PaintDeviceMetric met) - { - return widget->metric(met); - } -}; - int ShivaVGWindowSurface::metric(PaintDeviceMetric met) const { - return QX11PaintEngine::metric(window(), met); + return qt_paint_device_metric(window(), met); } QT_END_NAMESPACE -- cgit v0.12 From 144294922df5a6782d96cd134a5e690c5262c408 Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Thu, 15 Oct 2009 16:54:07 +1000 Subject: Remove qdocconf files for the old mac-specific source package. These files are not used for the qt-everywhere source packages, and the platform-specific source packages are no longer needed. Reviewed-by: Trust Me --- tools/qdoc3/test/qt-api-only-with-xcode.qdocconf | 29 ---------------------- tools/qdoc3/test/qt-build-docs-with-xcode.qdocconf | 3 --- tools/qdoc3/test/qt-with-xcode.qdocconf | 3 --- 3 files changed, 35 deletions(-) delete mode 100644 tools/qdoc3/test/qt-api-only-with-xcode.qdocconf delete mode 100644 tools/qdoc3/test/qt-build-docs-with-xcode.qdocconf delete mode 100644 tools/qdoc3/test/qt-with-xcode.qdocconf diff --git a/tools/qdoc3/test/qt-api-only-with-xcode.qdocconf b/tools/qdoc3/test/qt-api-only-with-xcode.qdocconf deleted file mode 100644 index 0d78cda..0000000 --- a/tools/qdoc3/test/qt-api-only-with-xcode.qdocconf +++ /dev/null @@ -1,29 +0,0 @@ -include(qt-build-docs-with-xcode.qdocconf) - -# Ensures that the generated index contains a URL that can be used by the -# tools documentation (assistant.qdocconf, designer.qdocconf, linguist.qdocconf, -# qmake.qdocconf). - -url = ./ - -# Ensures that the documentation for the tools is not included in the generated -# .qhp file. - -qhp.Qt.excluded = $QT_SOURCE_TREE/doc/src/development/assistant-manual.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/simpletextviewer.qdoc \ - $QT_SOURCE_TREE/doc/src/development/designer-manual.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/calculatorbuilder.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/calculatorform.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/customwidgetplugin.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/taskmenuextension.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/containerextension.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/worldtimeclockbuilder.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/worldtimeclockplugin.qdoc \ - $QT_SOURCE_TREE/doc/src/internationalization/linguist-manual.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/hellotr.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/arrowpad.qdoc \ - $QT_SOURCE_TREE/doc/src/examples/trollprint.qdoc \ - $QT_SOURCE_TREE/doc/src/development/qmake-manual.qdoc - -outputdir = $QT_BUILD_TREE/doc-build/html-qt -base = file:$QT_BUILD_TREE/doc-build/html-qt diff --git a/tools/qdoc3/test/qt-build-docs-with-xcode.qdocconf b/tools/qdoc3/test/qt-build-docs-with-xcode.qdocconf deleted file mode 100644 index e4be476..0000000 --- a/tools/qdoc3/test/qt-build-docs-with-xcode.qdocconf +++ /dev/null @@ -1,3 +0,0 @@ -include( qt-build-docs.qdocconf ) - -HTML.generatemacrefs = "true" diff --git a/tools/qdoc3/test/qt-with-xcode.qdocconf b/tools/qdoc3/test/qt-with-xcode.qdocconf deleted file mode 100644 index 932f6d9..0000000 --- a/tools/qdoc3/test/qt-with-xcode.qdocconf +++ /dev/null @@ -1,3 +0,0 @@ -include( qt.qdocconf ) - -HTML.generatemacrefs = "true" -- cgit v0.12 From 90aef55f03990960fff581339513c1918c7de36f Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Thu, 15 Oct 2009 17:13:08 +1000 Subject: Signal for an update when the cursor is visible The bug against QFxTextInput is actually due to a bug in QLineControl. Task-number: QT-2319 Reviewed-by: Martin Jones --- src/gui/widgets/qlinecontrol.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp index 5930540..7f9ff82 100644 --- a/src/gui/widgets/qlinecontrol.cpp +++ b/src/gui/widgets/qlinecontrol.cpp @@ -1290,7 +1290,7 @@ void QLineControl::setCursorBlinkPeriod(int msec) m_blinkStatus = 1; } else { m_blinkTimer = 0; - if (m_blinkStatus == 0) + if (m_blinkStatus == 1) emit updateNeeded(inputMask().isEmpty() ? cursorRect() : QRect()); } m_blinkPeriod = msec; -- cgit v0.12 From e479ba841f62cc4af709e97f8085d7779e14e3e9 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 15 Oct 2009 09:52:42 +0200 Subject: Compile tests under Windows --- tests/auto/qbuttongroup/tst_qbuttongroup.cpp | 2 +- tests/auto/qtableview/tst_qtableview.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/qbuttongroup/tst_qbuttongroup.cpp b/tests/auto/qbuttongroup/tst_qbuttongroup.cpp index b568068..8b0335c 100644 --- a/tests/auto/qbuttongroup/tst_qbuttongroup.cpp +++ b/tests/auto/qbuttongroup/tst_qbuttongroup.cpp @@ -129,7 +129,7 @@ void tst_QButtonGroup::cleanup() } QT_BEGIN_NAMESPACE -extern bool qt_tab_all_widgets; +extern bool Q_GUI_EXPORT qt_tab_all_widgets; QT_END_NAMESPACE diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp index 5ff217c..d75cfa7 100644 --- a/tests/auto/qtableview/tst_qtableview.cpp +++ b/tests/auto/qtableview/tst_qtableview.cpp @@ -3253,7 +3253,7 @@ void tst_QTableView::resizeToContents() } QT_BEGIN_NAMESPACE - extern bool qt_tab_all_widgets; // qapplication_mac.cpp +extern bool Q_GUI_EXPORT qt_tab_all_widgets; // qapplication.cpp QT_END_NAMESPACE void tst_QTableView::tabFocus() -- cgit v0.12 From 376a5a845ba6d19751a58ea79a8d5701c4ba4d13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Thu, 15 Oct 2009 09:58:29 +0200 Subject: Compile on Carbon. ifdef out QCocoaPrintPanelDelegate. --- src/gui/dialogs/qprintdialog_mac.mm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/dialogs/qprintdialog_mac.mm b/src/gui/dialogs/qprintdialog_mac.mm index 667fc40..56a065a 100644 --- a/src/gui/dialogs/qprintdialog_mac.mm +++ b/src/gui/dialogs/qprintdialog_mac.mm @@ -122,6 +122,8 @@ QT_END_NAMESPACE QT_USE_NAMESPACE +#ifdef QT_MAC_USE_COCOA + @class QCocoaPrintPanelDelegate; @interface QCocoaPrintPanelDelegate : NSObject { @@ -197,6 +199,8 @@ QT_USE_NAMESPACE } @end +#endif + QT_BEGIN_NAMESPACE extern void macStartInterceptWindowTitle(QWidget *window); -- cgit v0.12 From 6c694eaae2b40be57c3292f43e085893095d9722 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 14 Oct 2009 13:18:18 +0100 Subject: When reparenting native widget, delayed deletion of Symbian control until control returns to the event loop. This is necessary because reparenting can be triggered from the context of a control's event handler. If reparenting causes that control to be deleted, a crash can result. Task-number: QTBUG-4664 Reviewed-by: axis --- src/gui/kernel/qapplication_s60.cpp | 5 +++++ src/gui/kernel/qwidget.cpp | 7 +++++++ src/gui/kernel/qwidget.h | 3 +++ src/gui/kernel/qwidget_p.h | 1 + src/gui/kernel/qwidget_s60.cpp | 13 ++++++++++++- 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index b1706af..1a8aae0 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1122,6 +1122,11 @@ void qt_init(QApplicationPrivate * /* priv */, int) ; } */ + + // Register WId with the metatype system. This is to enable + // QWidgetPrivate::create_sys to used delayed slot invokation in order + // to destroy WId objects during reparenting. + qRegisterMetaType("WId"); } /***************************************************************************** diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index 7c11c00..7c9356e 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -11994,3 +11994,10 @@ void QWidget::clearMask() XRender extension is not supported on the X11 display, or if the handle could not be created. */ + +#ifdef Q_OS_SYMBIAN +void QWidgetPrivate::_q_delayedDestroy(WId winId) +{ + delete winId; +} +#endif diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h index 76418af..e7daf9f 100644 --- a/src/gui/kernel/qwidget.h +++ b/src/gui/kernel/qwidget.h @@ -773,6 +773,9 @@ private: private: Q_DISABLE_COPY(QWidget) Q_PRIVATE_SLOT(d_func(), void _q_showIfNotHidden()) +#ifdef Q_OS_SYMBIAN + Q_PRIVATE_SLOT(d_func(), void _q_delayedDestroy(WId winId)) +#endif QWidgetData *data; diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index a4cc0da..c7b8d42 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -295,6 +295,7 @@ public: #ifdef Q_OS_SYMBIAN void setSoftKeys_sys(const QList &softkeys); void activateSymbianWindow(WId wid = 0); + void _q_delayedDestroy(WId winId); #endif void raise_sys(); diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 5527cc8..c3686b3 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -56,6 +56,12 @@ #include #endif +// This is necessary in order to be able to perform delayed invokation on slots +// which take arguments of type WId. One example is +// QWidgetPrivate::_q_delayedDestroy, which is used to delay destruction of +// CCoeControl objects until after the CONE event handler has finished running. +Q_DECLARE_METATYPE(WId) + QT_BEGIN_NAMESPACE extern bool qt_nograb(); @@ -438,7 +444,12 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de if (destroyw) { destroyw->ControlEnv()->AppUi()->RemoveFromStack(destroyw); - CBase::Delete(destroyw); + + // Delay deletion of the control in case this function is called in the + // context of a CONE event handler such as + // CCoeControl::ProcessPointerEventL + QMetaObject::invokeMethod(q, "_q_delayedDestroy", + Qt::QueuedConnection, Q_ARG(WId, destroyw)); } if (q->testAttribute(Qt::WA_AcceptTouchEvents)) -- cgit v0.12 From 1c4b7e282b54bc39f5e3af96363973f0ec9c8cb9 Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Thu, 15 Oct 2009 11:20:58 +0200 Subject: Remove trailing whitespace. --- src/3rdparty/phonon/mmf/abstractmediaplayer.cpp | 2 +- src/3rdparty/phonon/mmf/abstractplayer.h | 6 +- src/3rdparty/phonon/mmf/mediaobject.cpp | 2 +- .../phonon/mmf/mmfphonondebug/objectdump.cpp | 118 ++++++++++----------- .../phonon/mmf/mmfphonondebug/objectdump.h | 30 +++--- .../phonon/mmf/mmfphonondebug/objecttree.cpp | 20 ++-- .../phonon/mmf/mmfphonondebug/objecttree.h | 38 +++---- 7 files changed, 108 insertions(+), 108 deletions(-) diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp index 2fdb092..4c9d1a5 100644 --- a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp @@ -381,7 +381,7 @@ void MMF::AbstractMediaPlayer::changeState(PrivateState newState) ) { // Ensure initial volume is set on MMF API before starting playback doVolumeChanged(); - + // Check whether play() was called while clip was being loaded. If so, // playback should be started now if (m_playPending) { diff --git a/src/3rdparty/phonon/mmf/abstractplayer.h b/src/3rdparty/phonon/mmf/abstractplayer.h index ec39ab1..08558cf 100644 --- a/src/3rdparty/phonon/mmf/abstractplayer.h +++ b/src/3rdparty/phonon/mmf/abstractplayer.h @@ -87,7 +87,7 @@ public: // VolumeObserver virtual void volumeChanged(qreal volume); - + void setVideoOutput(VideoOutput* videoOutput); /** @@ -146,9 +146,9 @@ private: protected: // Not owned VideoOutput* m_videoOutput; - + qreal m_volume; - + private: PrivateState m_state; Phonon::ErrorType m_error; diff --git a/src/3rdparty/phonon/mmf/mediaobject.cpp b/src/3rdparty/phonon/mmf/mediaobject.cpp index 76db5cb..29ac2df 100644 --- a/src/3rdparty/phonon/mmf/mediaobject.cpp +++ b/src/3rdparty/phonon/mmf/mediaobject.cpp @@ -112,7 +112,7 @@ MMF::MediaType MMF::MediaObject::fileMediaType MediaType result = MediaTypeUnknown; if (openRecognizer()) { - + const QHBufC fileNameSymbian(QDir::toNativeSeparators(fileName)); m_file.Close(); diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp index ef2b81c..c5d066e 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp @@ -36,7 +36,7 @@ namespace ObjectDump QAnnotator::~QAnnotator() { - + } @@ -45,53 +45,53 @@ QAnnotator::~QAnnotator() //----------------------------------------------------------------------------- QList QAnnotatorBasic::annotation(const QObject& object) -{ +{ QList result; - + QByteArray array; QTextStream stream(&array); - + stream << '[' << &object << ']'; stream << ' '; stream << object.metaObject()->className(); - + if(object.objectName() != "") stream << " \"" << object.objectName() << '"'; - + if(object.isWidgetType()) stream << " isWidget"; - + stream.flush(); result.append(array); return result; } QList QAnnotatorWidget::annotation(const QObject& object) -{ +{ QList result; - + const QWidget* widget = qobject_cast(&object); if(widget) { - + QByteArray array; QTextStream stream(&array); - + stream << "widget: "; - + if(widget->isVisible()) stream << "visible "; else stream << "invisible "; - + stream << widget->x() << ',' << widget->y() << ' '; stream << widget->size().width() << 'x'<< widget->size().height() << ' '; - + stream << "hint " << widget->sizeHint().width() << 'x' << widget->sizeHint().height(); - + stream.flush(); result.append(array); } - + return result; } @@ -105,12 +105,12 @@ class QDumperBase public: QDumperBase(); ~QDumperBase(); - + void setPrefix(const QString& prefix); void addAnnotator(QAnnotator* annotator); - + protected: - QByteArray m_prefix; + QByteArray m_prefix; QList m_annotators; }; @@ -139,7 +139,7 @@ void QDumperBase::addAnnotator(QAnnotator* annotator) // Protect against an exception occurring during QList::append QScopedPointer holder(annotator); m_annotators.append(annotator); - holder.take(); + holder.take(); } @@ -148,13 +148,13 @@ void QDumperBase::addAnnotator(QAnnotator* annotator) //----------------------------------------------------------------------------- class QDumperPrivate : public QDumperBase -{ +{ public: QDumperPrivate(); ~QDumperPrivate(); void dumpObject(const QObject& object); - + }; @@ -206,27 +206,27 @@ void QDumper::addAnnotator(QAnnotator* annotator) } void QDumper::dumpObject(const QObject& object) -{ +{ d_func()->dumpObject(object); } - + //----------------------------------------------------------------------------- // QVisitor //----------------------------------------------------------------------------- class QVisitorPrivate : public QDumperBase -{ +{ public: QVisitorPrivate(); ~QVisitorPrivate(); - + void setIndent(unsigned indent); - + void visitNode(const QObject& object); void visitComplete(); -private: +private: class Node { public: @@ -235,24 +235,24 @@ private: QList m_annotation; QList m_children; - + typedef QList::const_iterator child_iterator; }; - + private: Node* findNode(const QObject* object) const; QByteArray branchBuffer(const QList& branches, bool isNodeLine, bool isLastChild) const; void dumpRecursive(const Node& node, QList branches, bool isLastChild); void dumpNode(const Node& node, const QList& branches, bool isLastChild); - + private: unsigned m_indent; - + QScopedPointer m_root; - + // Hash table used to associate internal nodes with QObjects typedef QHash Hash; - Hash m_hash; + Hash m_hash; }; static const unsigned DefaultIndent = 2; @@ -274,19 +274,19 @@ void QVisitorPrivate::setIndent(unsigned indent) } // Builds up a mirror of the object tree, rooted in m_root, with each node -// storing annotations generated by +// storing annotations generated by void QVisitorPrivate::visitNode(const QObject& object) -{ +{ QObject* const objectParent = object.parent(); Node* const nodeParent = objectParent ? findNode(objectParent) : 0; // Create a new node and store in scoped pointer for exception safety Node* node = new Node; QScopedPointer nodePtr(node); - + // Associate node with QObject m_hash.insert(&object, node); - + // Insert node into internal tree if(nodeParent) { @@ -297,7 +297,7 @@ void QVisitorPrivate::visitNode(const QObject& object) Q_ASSERT(m_root.isNull()); m_root.reset(nodePtr.take()); } - + // Generate and store annotations QAnnotator* annotator; foreach(annotator, m_annotators) @@ -322,13 +322,13 @@ QByteArray QVisitorPrivate::branchBuffer (const QList& branches, bool isNodeLine, bool isLastChild) const { const int depth = branches.count(); - + const QByteArray indent(m_indent, ' '); const QByteArray horiz(m_indent, '-'); QByteArray buffer; QTextStream stream(&buffer); - + for (int i=0; i branches, bool isLastChild) -{ +{ dumpNode(node, branches, isLastChild); - + // Recurse down tree const Node::child_iterator begin = node.m_children.begin(); const Node::child_iterator end = node.m_children.end(); for(Node::child_iterator i = begin; end != i; ++i) { - + isLastChild = (end == i + 1); - + if(begin == i) branches.push_back(!isLastChild); else branches.back() = !isLastChild; - + static const bool isNodeLine = false; const QByteArray buffer = branchBuffer(branches, isNodeLine, false); qDebug() << buffer.constData(); - + dumpRecursive(**i, branches, isLastChild); } } void QVisitorPrivate::dumpNode (const Node& node, const QList& branches, bool isLastChild) -{ +{ const QList::const_iterator begin = node.m_annotation.begin(), end = node.m_annotation.end(); - + if(begin == end) { // No annotations - just dump the object pointer const bool isNodeLine = true; @@ -408,7 +408,7 @@ void QVisitorPrivate::dumpNode QVisitorPrivate::Node::Node() { - + } QVisitorPrivate::Node::~Node() @@ -453,7 +453,7 @@ void QVisitor::visitPrepare() } void QVisitor::visitNode(const QObject& object) -{ +{ d_func()->visitNode(object); } @@ -474,7 +474,7 @@ void addDefaultAnnotators(QDumper& dumper) { dumper.addAnnotator(new QAnnotatorBasic); dumper.addAnnotator(new QAnnotatorWidget); - + // Add platform-specific annotators addDefaultAnnotators_sys(dumper); } @@ -483,7 +483,7 @@ void addDefaultAnnotators(QVisitor& visitor) { visitor.addAnnotator(new QAnnotatorBasic); visitor.addAnnotator(new QAnnotatorWidget); - + // Add platform-specific annotators addDefaultAnnotators_sys(visitor); } @@ -492,7 +492,7 @@ void dumpTreeFromRoot(const QObject& root, QVisitor& visitor) { // Set up iteration range ObjectTree::DepthFirstConstIterator begin(root), end; - + // Invoke generic visitor algorithm ObjectTree::visit(begin, end, visitor); } @@ -505,7 +505,7 @@ void dumpTreeFromLeaf(const QObject& leaf, QVisitor& visitor) { root = root->parent(); } - + dumpTreeFromRoot(*root, visitor); } @@ -513,7 +513,7 @@ void dumpAncestors(const QObject& leaf, QVisitor& visitor) { // Set up iteration range ObjectTree::AncestorConstIterator begin(leaf), end; - + // Invoke generic visitor algorithm ObjectTree::visit(begin, end, visitor); } diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h index cbd9bea..e94b3ac 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h @@ -32,7 +32,7 @@ namespace ObjectDump { /** - * Abstract base for annotator classes invoked by QVisitor. + * Abstract base for annotator classes invoked by QVisitor. */ class OBJECTDUMP_EXPORT QAnnotator : public QObject { @@ -72,29 +72,29 @@ class OBJECTDUMP_EXPORT QDumper : public QObject { Q_OBJECT Q_DECLARE_PRIVATE(QDumper) - + public: QDumper(); ~QDumper(); - + /** * Specify a prefix, to be printed on each line of output. */ void setPrefix(const QString& prefix); - + /** * Takes ownership of annotator. */ void addAnnotator(QAnnotator* annotator); - + /** * Invoke each annotator on the object and write to debug output. */ void dumpObject(const QObject& object); - + private: QScopedPointer d_ptr; - + }; @@ -107,36 +107,36 @@ class OBJECTDUMP_EXPORT QVisitor : public QObject { Q_OBJECT Q_DECLARE_PRIVATE(QVisitor) - + public: QVisitor(); ~QVisitor(); - + /** * Specify a prefix, to be printed on each line of output. */ void setPrefix(const QString& prefix); - + /** * Set number of spaces by which each level of the tree is indented. */ void setIndent(unsigned indent); - + /** * Called by the visitor algorithm before starting the visit. */ void visitPrepare(); - + /** * Called by the visitor algorithm as each node is visited. */ void visitNode(const QObject& object); - + /** * Called by the visitor algorithm when the visit is complete. */ void visitComplete(); - + /** * Takes ownership of annotator. */ @@ -144,7 +144,7 @@ public: private: QScopedPointer d_ptr; - + }; diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp index 5053b2d..bc61435 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp @@ -28,38 +28,38 @@ namespace ObjectTree DepthFirstConstIterator::DepthFirstConstIterator() : m_pointee(0) { - + } DepthFirstConstIterator::DepthFirstConstIterator (const QObject& root) : m_pointee(&root) { - + } - + DepthFirstConstIterator& DepthFirstConstIterator::operator++() { const QObjectList& children = m_pointee->children(); - + if (children.count() == 0) { backtrack(); } else { m_history.push(0); - m_pointee = children.first(); + m_pointee = children.first(); } - + return *this; } void DepthFirstConstIterator::backtrack() -{ +{ if (m_history.count()) { const int index = m_history.top(); m_history.pop(); - + const QObjectList& siblings = m_pointee->parent()->children(); if (siblings.count() > index + 1) { m_history.push(index + 1); @@ -70,7 +70,7 @@ void DepthFirstConstIterator::backtrack() backtrack(); } } - else { + else { // Reached end of search m_pointee = 0; } @@ -80,7 +80,7 @@ void DepthFirstConstIterator::backtrack() AncestorConstIterator::AncestorConstIterator() { - + } AncestorConstIterator::AncestorConstIterator(const QObject& leaf) diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h index f2729fa..6eb6076 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h @@ -34,24 +34,24 @@ namespace ObjectTree */ class OBJECTDUMP_EXPORT DepthFirstConstIterator { -public: +public: DepthFirstConstIterator(); DepthFirstConstIterator(const QObject& root); - + DepthFirstConstIterator& operator++(); - + inline bool operator==(const DepthFirstConstIterator& other) const { return other.m_pointee == m_pointee; } - + inline bool operator!=(const DepthFirstConstIterator& other) const { return other.m_pointee != m_pointee; } - + inline const QObject* operator->() const { return m_pointee; } inline const QObject& operator*() const { return *m_pointee; } - + private: void backtrack(); - + private: const QObject* m_pointee; QStack m_history; @@ -62,40 +62,40 @@ private: */ class OBJECTDUMP_EXPORT AncestorConstIterator { -public: +public: AncestorConstIterator(); AncestorConstIterator(const QObject& root); - + inline AncestorConstIterator& operator++() { m_ancestors.pop(); return *this; } - + inline bool operator==(const AncestorConstIterator& other) const { return other.m_ancestors == m_ancestors; } - + inline bool operator!=(const AncestorConstIterator& other) const { return other.m_ancestors != m_ancestors; } - + inline const QObject* operator->() const { return m_ancestors.top(); } inline const QObject& operator*() const { return *m_ancestors.top(); } - + private: QStack m_ancestors; - + }; /** * Generic algorithm for visiting nodes in an object tree. Nodes in the * tree are visited in a const context, therefore they are not modified * by this algorithm. - * + * * Visitor must provide functions with the following signatures: - * + * * Called before visit begins * void visitPrepare() - * + * * Called on each node visited * void visitNode(const QObject& object) - * + * * Called when visit is complete * void visitComplete() */ @@ -103,7 +103,7 @@ template void visit(Iterator begin, Iterator end, Visitor& visitor) { visitor.visitPrepare(); - + for( ; begin != end; ++begin) visitor.visitNode(*begin); -- cgit v0.12 From 3f1f0210cefaa3523c8d2cd5ead4bdbd5d92a68a Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Thu, 15 Oct 2009 11:28:21 +0200 Subject: Use QT_NO_DEBUG, not _DEBUG. --- src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 8 ++++---- src/3rdparty/phonon/mmf/utils.cpp | 2 +- src/3rdparty/phonon/mmf/utils.h | 4 ++-- src/3rdparty/phonon/mmf/videooutput.cpp | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index 6d7e0ed..53bbb77 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -27,7 +27,7 @@ along with this library. If not, see . #include "mmf_videoplayer.h" #include "utils.h" -#ifdef _DEBUG +#ifndef QT_NO_DEBUG #include "objectdump.h" #endif @@ -341,7 +341,7 @@ void MMF::VideoPlayer::videoOutputRegionChanged() } -#ifdef _DEBUG +#ifndef QT_NO_DEBUG // The following code is for debugging problems related to video visibility. It allows // the VideoPlayer instance to query the window server in order to determine the @@ -392,7 +392,7 @@ void MMF::VideoPlayer::updateMmfOutput() // MvpuoPrepareComplete, at which point the MMF controller has been // loaded. -#ifdef _DEBUG +#ifndef QT_NO_DEBUG getDsaRegion(m_wsSession, *m_window); #endif @@ -449,7 +449,7 @@ bool MMF::VideoPlayer::getNativeWindowSystemHandles() // Get top-level window control = QApplication::activeWindow()->effectiveWinId(); -#ifdef _DEBUG +#ifndef QT_NO_DEBUG if(m_videoOutput) { QScopedPointer dumper(new ObjectDump::QDumper); dumper->setPrefix("Phonon::MMF"); // to aid searchability of logs diff --git a/src/3rdparty/phonon/mmf/utils.cpp b/src/3rdparty/phonon/mmf/utils.cpp index 2f5b68f..607f938 100644 --- a/src/3rdparty/phonon/mmf/utils.cpp +++ b/src/3rdparty/phonon/mmf/utils.cpp @@ -62,7 +62,7 @@ MMF::MediaType MMF::Utils::mimeTypeToMediaType(const TDesC& mimeType) } -#ifdef _DEBUG +#ifndef QT_NO_DEBUG #include #include diff --git a/src/3rdparty/phonon/mmf/utils.h b/src/3rdparty/phonon/mmf/utils.h index 38964d0..727abb0 100644 --- a/src/3rdparty/phonon/mmf/utils.h +++ b/src/3rdparty/phonon/mmf/utils.h @@ -54,7 +54,7 @@ void panic(PanicCode code); */ MediaType mimeTypeToMediaType(const TDesC& mimeType); -#ifdef _DEBUG +#ifndef QT_NO_DEBUG /** * Retrieve color of specified pixel from the screen. */ @@ -138,7 +138,7 @@ public: #define _TRACE_MODULE Phonon::MMF // Macros available for use by implementation code -#ifdef _DEBUG +#ifndef QT_NO_DEBUG #define TRACE_CONTEXT(_fn, _cat) const ::Phonon::MMF::TTraceContext _tc((TText*)L ## #_fn, (TUint)this, _cat); #define TRACE_ENTRY_0() { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "+ Phonon::MMF::%s [0x%08x]"), _tc.iFunction, _tc.iAddr); } #define TRACE_ENTRY(string, args...) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "+ Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp index 0541612..13d00f5 100644 --- a/src/3rdparty/phonon/mmf/videooutput.cpp +++ b/src/3rdparty/phonon/mmf/videooutput.cpp @@ -20,7 +20,7 @@ along with this library. If not, see . #include "videooutput.h" #include "videooutputobserver.h" -#ifdef _DEBUG +#ifndef QT_NO_DEBUG #include "objectdump.h" #endif @@ -173,7 +173,7 @@ void MMF::VideoOutput::videoOutputRegionChanged() void MMF::VideoOutput::dump() const { -#ifdef _DEBUG +#ifndef QT_NO_DEBUG TRACE_CONTEXT(VideoOutput::dump, EVideoInternal); QScopedPointer visitor(new ObjectDump::QVisitor); visitor->setPrefix("Phonon::MMF"); // to aid searchability of logs -- cgit v0.12 From 104adfdb63ec3bfe0afafea5278c45ebb873065d Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Thu, 15 Oct 2009 11:31:11 +0200 Subject: sed -i -e 's/if(/if (/g' `find -name "*.cpp" -or -name "*.h" -or -name "*.pro"` --- src/3rdparty/phonon/mmf/audioplayer.cpp | 4 ++-- src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 28 +++++++++++----------- .../phonon/mmf/mmfphonondebug/objectdump.cpp | 22 ++++++++--------- .../mmf/mmfphonondebug/objectdump_symbian.cpp | 16 ++++++------- src/3rdparty/phonon/mmf/utils.cpp | 4 ++-- src/3rdparty/phonon/mmf/utils.h | 14 +++++------ src/3rdparty/phonon/mmf/videooutput.cpp | 2 +- 7 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/3rdparty/phonon/mmf/audioplayer.cpp b/src/3rdparty/phonon/mmf/audioplayer.cpp index ceaf305..1d259a8 100644 --- a/src/3rdparty/phonon/mmf/audioplayer.cpp +++ b/src/3rdparty/phonon/mmf/audioplayer.cpp @@ -213,8 +213,8 @@ void MMF::AudioPlayer::MapcPlayComplete(TInt aError) } /* - if(aError == KErrNone) { - if(m_nextSource.type() == MediaSource::Empty) { + if (aError == KErrNone) { + if (m_nextSource.type() == MediaSource::Empty) { emit finished(); } else { setSource(m_nextSource); diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index 53bbb77..c05afae 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -70,7 +70,7 @@ void MMF::VideoPlayer::construct() TRACE_CONTEXT(VideoPlayer::VideoPlayer, EVideoApi); TRACE_ENTRY_0(); - if(m_videoOutput) + if (m_videoOutput) m_videoOutput->setObserver(this); const TInt priority = 0; @@ -122,7 +122,7 @@ void MMF::VideoPlayer::doPlay() TRACE_CONTEXT(VideoPlayer::doPlay, EVideoApi); // See comment in updateMmfOutput - if(m_mmfOutputChangePending) { + if (m_mmfOutputChangePending) { TRACE_0("MMF output change pending - pushing now"); updateMmfOutput(); } @@ -151,7 +151,7 @@ void MMF::VideoPlayer::doSeek(qint64 ms) TRACE_CONTEXT(VideoPlayer::doSeek, EVideoApi); bool wasPlaying = false; - if(state() == PlayingState) { + if (state() == PlayingState) { // The call to SetPositionL does not have any effect if playback is // ongoing, so we pause before seeking. doPause(); @@ -160,8 +160,8 @@ void MMF::VideoPlayer::doSeek(qint64 ms) TRAPD(err, m_player->SetPositionL(TTimeIntervalMicroSeconds(ms * 1000))); - if(KErrNone == err) { - if(wasPlaying) + if (KErrNone == err) { + if (wasPlaying) doPlay(); } else { @@ -251,11 +251,11 @@ void MMF::VideoPlayer::MvpuoPrepareComplete(TInt aError) if (KErrNone == err) { maxVolumeChanged(m_player->MaxVolume()); - if(m_videoOutput) + if (m_videoOutput) m_videoOutput->setFrameSize(m_frameSize); // See comment in updateMmfOutput - if(m_mmfOutputChangePending) { + if (m_mmfOutputChangePending) { TRACE_0("MMF output change pending - pushing now"); updateMmfOutput(); } @@ -330,8 +330,8 @@ void MMF::VideoPlayer::videoOutputRegionChanged() const bool changed = getNativeWindowSystemHandles(); // See comment in updateMmfOutput - if(changed) { - if(state() == LoadingState) + if (changed) { + if (state() == LoadingState) m_mmfOutputChangePending = true; else updateMmfOutput(); @@ -367,7 +367,7 @@ void getDsaRegion(RWsSession &session, const RWindowBase &window) ao.SetActive(); dsa.Close(); ao.Cancel(); - if(region) { + if (region) { qDebug() << "Phonon::MMF::getDsaRegion count" << region->Count(); for(int i=0; iCount(); ++i) { const TRect& rect = region->RectangleList()[i]; @@ -425,7 +425,7 @@ void MMF::VideoPlayer::videoOutputChanged() TRACE_CONTEXT(VideoPlayer::videoOutputChanged, EVideoInternal); TRACE_ENTRY_0(); - if(m_videoOutput) { + if (m_videoOutput) { m_videoOutput->setObserver(this); m_videoOutput->setFrameSize(m_frameSize); } @@ -442,7 +442,7 @@ bool MMF::VideoPlayer::getNativeWindowSystemHandles() CCoeControl *control = 0; - if(m_videoOutput) + if (m_videoOutput) // Create native window control = m_videoOutput->winId(); else @@ -450,7 +450,7 @@ bool MMF::VideoPlayer::getNativeWindowSystemHandles() control = QApplication::activeWindow()->effectiveWinId(); #ifndef QT_NO_DEBUG - if(m_videoOutput) { + if (m_videoOutput) { QScopedPointer dumper(new ObjectDump::QDumper); dumper->setPrefix("Phonon::MMF"); // to aid searchability of logs ObjectDump::addDefaultAnnotators(*dumper); @@ -478,7 +478,7 @@ bool MMF::VideoPlayer::getNativeWindowSystemHandles() bool changed = false; - if(window != m_window || rect != m_rect) { + if (window != m_window || rect != m_rect) { m_window = window; m_rect = rect; changed = true; diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp index c5d066e..2629d74 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp @@ -55,10 +55,10 @@ QList QAnnotatorBasic::annotation(const QObject& object) stream << ' '; stream << object.metaObject()->className(); - if(object.objectName() != "") + if (object.objectName() != "") stream << " \"" << object.objectName() << '"'; - if(object.isWidgetType()) + if (object.isWidgetType()) stream << " isWidget"; stream.flush(); @@ -71,14 +71,14 @@ QList QAnnotatorWidget::annotation(const QObject& object) QList result; const QWidget* widget = qobject_cast(&object); - if(widget) { + if (widget) { QByteArray array; QTextStream stream(&array); stream << "widget: "; - if(widget->isVisible()) + if (widget->isVisible()) stream << "visible "; else stream << "invisible "; @@ -288,7 +288,7 @@ void QVisitorPrivate::visitNode(const QObject& object) m_hash.insert(&object, node); // Insert node into internal tree - if(nodeParent) + if (nodeParent) { nodeParent->m_children.append(nodePtr.take()); } @@ -330,18 +330,18 @@ QByteArray QVisitorPrivate::branchBuffer QTextStream stream(&buffer); for (int i=0; i::const_iterator begin = node.m_annotation.begin(), end = node.m_annotation.end(); - if(begin == end) { + if (begin == end) { // No annotations - just dump the object pointer const bool isNodeLine = true; QByteArray buffer = branchBuffer(branches, isNodeLine, isLastChild); diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp index 2fceb62..8d582a7 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp @@ -35,11 +35,11 @@ QList QAnnotatorWidget::annotation(const QObject& object) QList result; const QWidget* widget = qobject_cast(&object); - if(widget) { + if (widget) { const QWExtra* extra = qt_widget_private(const_cast(widget))->extraData(); - if(extra) { + if (extra) { QByteArray array; QTextStream stream(&array); @@ -61,10 +61,10 @@ QList QAnnotatorControl::annotation(const QObject& object) QList result; const QWidget* widget = qobject_cast(&object); - if(widget) { + if (widget) { const CCoeControl* control = widget->effectiveWinId(); - if(control) { + if (control) { QByteArray array; QTextStream stream(&array); @@ -72,7 +72,7 @@ QList QAnnotatorControl::annotation(const QObject& object) stream << "control: " << control << ' '; stream << "parent " << control->Parent() << ' '; - if(control->IsVisible()) + if (control->IsVisible()) stream << "visible "; else stream << "invisible "; @@ -80,7 +80,7 @@ QList QAnnotatorControl::annotation(const QObject& object) stream << control->Position().iX << ',' << control->Position().iY << ' '; stream << control->Size().iWidth << 'x' << control->Size().iHeight; - if(control->OwnsWindow()) + if (control->OwnsWindow()) stream << " ownsWindow "; stream.flush(); @@ -96,12 +96,12 @@ QList QAnnotatorWindow::annotation(const QObject& object) QList result; const QWidget* widget = qobject_cast(&object); - if(widget) { + if (widget) { const CCoeControl* control = widget->effectiveWinId(); RDrawableWindow *window = 0; - if(control && (window = control->DrawableWindow())) { + if (control && (window = control->DrawableWindow())) { QByteArray array; QTextStream stream(&array); diff --git a/src/3rdparty/phonon/mmf/utils.cpp b/src/3rdparty/phonon/mmf/utils.cpp index 607f938..bc1c424 100644 --- a/src/3rdparty/phonon/mmf/utils.cpp +++ b/src/3rdparty/phonon/mmf/utils.cpp @@ -111,7 +111,7 @@ QColor MMF::Utils::getScreenPixel(const QPoint& pos) TScreenInfo info; TRAPD(err, getScreenInfoL(info)); QColor pixel; - if(err == KErrNone and pos.x() < info.width and pos.y() < info.height) + if (err == KErrNone and pos.x() < info.width and pos.y() < info.height) { const int bytesPerPixel = info.bpp / 8; Q_ASSERT(bytesPerPixel >= 3); @@ -129,7 +129,7 @@ QColor MMF::Utils::getScreenPixel(const QPoint& pos) pixel.setGreen(*ptr++); pixel.setRed(*ptr++); - if(bytesPerPixel == 4) + if (bytesPerPixel == 4) pixel.setAlpha(*ptr++); } return pixel; diff --git a/src/3rdparty/phonon/mmf/utils.h b/src/3rdparty/phonon/mmf/utils.h index 727abb0..7e363e8 100644 --- a/src/3rdparty/phonon/mmf/utils.h +++ b/src/3rdparty/phonon/mmf/utils.h @@ -140,14 +140,14 @@ public: // Macros available for use by implementation code #ifndef QT_NO_DEBUG #define TRACE_CONTEXT(_fn, _cat) const ::Phonon::MMF::TTraceContext _tc((TText*)L ## #_fn, (TUint)this, _cat); -#define TRACE_ENTRY_0() { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "+ Phonon::MMF::%s [0x%08x]"), _tc.iFunction, _tc.iAddr); } -#define TRACE_ENTRY(string, args...) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "+ Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } -#define TRACE_EXIT_0() { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "- Phonon::MMF::%s [0x%08x]"), _tc.iFunction, _tc.iAddr); } -#define TRACE_EXIT(string, args...) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "- Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } -#define TRACE_RETURN(string, result) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "r Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, result); } return result; +#define TRACE_ENTRY_0() { if (_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "+ Phonon::MMF::%s [0x%08x]"), _tc.iFunction, _tc.iAddr); } +#define TRACE_ENTRY(string, args...) { if (_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "+ Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } +#define TRACE_EXIT_0() { if (_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "- Phonon::MMF::%s [0x%08x]"), _tc.iFunction, _tc.iAddr); } +#define TRACE_EXIT(string, args...) { if (_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "- Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } +#define TRACE_RETURN(string, result) { if (_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## "r Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, result); } return result; #define TRACE_PANIC(code) { _TRACE_PRINT(_TRACE_TEXT(L ## "! Phonon::MMF::%s [0x%08x] panic %d"), _tc.iFunction, _tc.iAddr, code); } Utils::panic(code); -#define TRACE_0(string) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## " Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr); } -#define TRACE(string, args...) { if(_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## " Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } +#define TRACE_0(string) { if (_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## " Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr); } +#define TRACE(string, args...) { if (_tc.Enabled()) _TRACE_PRINT(_TRACE_TEXT(L ## " Phonon::MMF::%s [0x%08x] " L ## string), _tc.iFunction, _tc.iAddr, args); } #else #define TRACE_CONTEXT(_fn, _cat) #define TRACE_ENTRY_0() diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp index 13d00f5..9c1118c 100644 --- a/src/3rdparty/phonon/mmf/videooutput.cpp +++ b/src/3rdparty/phonon/mmf/videooutput.cpp @@ -150,7 +150,7 @@ bool MMF::VideoOutput::event(QEvent* event) { TRACE_CONTEXT(VideoOutput::event, EVideoInternal); - if(event->type() == QEvent::WinIdChange) { + if (event->type() == QEvent::WinIdChange) { TRACE_0("WinIdChange"); videoOutputRegionChanged(); return true; -- cgit v0.12 From 572e3c9e04a265998b5b7dea4237828186be6f17 Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Thu, 15 Oct 2009 11:32:13 +0200 Subject: sed -i -e 's/for(/for (/g' `find -name "*.cpp" -or -name "*.h" -or -name "*.pro"` --- src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 2 +- src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp | 4 ++-- src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h | 2 +- src/3rdparty/phonon/mmf/utils.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index c05afae..6694a9a 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -369,7 +369,7 @@ void getDsaRegion(RWsSession &session, const RWindowBase &window) ao.Cancel(); if (region) { qDebug() << "Phonon::MMF::getDsaRegion count" << region->Count(); - for(int i=0; iCount(); ++i) { + for (int i=0; iCount(); ++i) { const TRect& rect = region->RectangleList()[i]; qDebug() << "Phonon::MMF::getDsaRegion rect" << rect.iTl.iX << rect.iTl.iY << rect.iBr.iX << rect.iBr.iY; diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp index 2629d74..9add439 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp @@ -363,7 +363,7 @@ void QVisitorPrivate::dumpRecursive // Recurse down tree const Node::child_iterator begin = node.m_children.begin(); const Node::child_iterator end = node.m_children.end(); - for(Node::child_iterator i = begin; end != i; ++i) { + for (Node::child_iterator i = begin; end != i; ++i) { isLastChild = (end == i + 1); @@ -394,7 +394,7 @@ void QVisitorPrivate::dumpNode } else { // Dump annotations - for(QList::const_iterator i = begin; end != i; ++i) { + for (QList::const_iterator i = begin; end != i; ++i) { const bool isNodeLine = (begin == i); QByteArray buffer = branchBuffer(branches, isNodeLine, isLastChild); buffer.append(*i); diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h index 6eb6076..98bdf14 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h @@ -104,7 +104,7 @@ void visit(Iterator begin, Iterator end, Visitor& visitor) { visitor.visitPrepare(); - for( ; begin != end; ++begin) + for ( ; begin != end; ++begin) visitor.visitNode(*begin); visitor.visitComplete(); diff --git a/src/3rdparty/phonon/mmf/utils.cpp b/src/3rdparty/phonon/mmf/utils.cpp index bc1c424..58d1ece 100644 --- a/src/3rdparty/phonon/mmf/utils.cpp +++ b/src/3rdparty/phonon/mmf/utils.cpp @@ -138,7 +138,7 @@ QColor MMF::Utils::getScreenPixel(const QPoint& pos) // Debugging: for debugging video visibility void MMF::Utils::dumpScreenPixelSample() { - for(int i=0; i<20; ++i) { + for (int i=0; i<20; ++i) { const QPoint pos(i*10, i*10); const QColor pixel = Utils::getScreenPixel(pos); RDebug::Printf( -- cgit v0.12 From 428c56a3a622df3f9164c3e52b729877bc679585 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Thu, 15 Oct 2009 11:32:55 +0200 Subject: doc: Clarified when setDefaultFormat() is ignored by constructors. Task-number: QTBUG-4443 --- src/corelib/io/qsettings.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 1fd2165..a1c9833 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -2565,8 +2565,9 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile, Example: \snippet doc/src/snippets/code/src_corelib_io_qsettings.cpp 10 - The scope is QSettings::UserScope and the format is - QSettings::NativeFormat. + The scope is set to QSettings::UserScope, and the format is + set to QSettings::NativeFormat (i.e. calling setDefaultFormat() + before calling this constructor has no effect). \sa setDefaultFormat(), {Fallback Mechanism} */ @@ -2583,11 +2584,12 @@ QSettings::QSettings(const QString &organization, const QString &application, QO If \a scope is QSettings::UserScope, the QSettings object searches user-specific settings first, before it searches system-wide - settings as a fallback. If \a scope is - QSettings::SystemScope, the QSettings object ignores user-specific - settings and provides access to system-wide settings. + settings as a fallback. If \a scope is QSettings::SystemScope, the + QSettings object ignores user-specific settings and provides + access to system-wide settings. - The storage format is QSettings::NativeFormat. + The storage format is set to QSettings::NativeFormat (i.e. calling + setDefaultFormat() before calling this constructor has no effect). If no application name is given, the QSettings object will only access the organization-wide \l{Fallback Mechanism}{locations}. @@ -2668,6 +2670,8 @@ QSettings::QSettings(const QString &fileName, Format format, QObject *parent) The scope is QSettings::UserScope and the format is defaultFormat() (QSettings::NativeFormat by default). + Use setDefaultFormat() before calling this constructor + to change the default format used by this constructor. The code @@ -3352,10 +3356,12 @@ QVariant QSettings::value(const QString &key, const QVariant &defaultValue) cons /*! \since 4.4 - Sets the default file format to the given \a format, used for storing - settings for the QSettings(QObject *) constructor. + Sets the default file format to the given \a format, which is used + for storing settings for the QSettings(QObject *) constructor. - If no default format is set, QSettings::NativeFormat is used. + If no default format is set, QSettings::NativeFormat is used. See + the documentation for the QSettings constructor you are using to + see if that constructor will ignore this function. \sa format() */ -- cgit v0.12 From 9935ad5366463429ed4aa9b8db03c4605586f866 Mon Sep 17 00:00:00 2001 From: Frans Englich Date: Thu, 15 Oct 2009 11:37:45 +0200 Subject: Replace tabs with whitespace. sed -i -e 's/\t/ /g' `find -name "*.cpp" -or -name "*.h" -or -name "*.pro"` --- src/3rdparty/phonon/mmf/abstractmediaplayer.cpp | 30 ++++----- src/3rdparty/phonon/mmf/mmf_medianode.cpp | 2 +- src/3rdparty/phonon/mmf/mmf_videoplayer.cpp | 72 +++++++++++----------- .../mmf/mmfphonondebug/objectdump_symbian.cpp | 6 +- src/3rdparty/phonon/mmf/videooutput.cpp | 20 +++--- 5 files changed, 65 insertions(+), 65 deletions(-) diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp index 4c9d1a5..af2c31e 100644 --- a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp @@ -376,20 +376,20 @@ void MMF::AbstractMediaPlayer::changeState(PrivateState newState) setState(newState); if ( - LoadingState == oldPhononState - and StoppedState == newPhononState - ) { - // Ensure initial volume is set on MMF API before starting playback - doVolumeChanged(); - - // Check whether play() was called while clip was being loaded. If so, - // playback should be started now - if (m_playPending) { - TRACE_0("play was called while loading; starting playback now"); - m_playPending = false; - play(); - } - } + LoadingState == oldPhononState + and StoppedState == newPhononState + ) { + // Ensure initial volume is set on MMF API before starting playback + doVolumeChanged(); + + // Check whether play() was called while clip was being loaded. If so, + // playback should be started now + if (m_playPending) { + TRACE_0("play was called while loading; starting playback now"); + m_playPending = false; + play(); + } + } TRACE_EXIT_0(); } @@ -400,7 +400,7 @@ void MMF::AbstractMediaPlayer::changeState(PrivateState newState) void MMF::AbstractMediaPlayer::tick() { - // For the MWC compiler, we need to qualify the base class. + // For the MWC compiler, we need to qualify the base class. emit MMF::AbstractPlayer::tick(currentTime()); } diff --git a/src/3rdparty/phonon/mmf/mmf_medianode.cpp b/src/3rdparty/phonon/mmf/mmf_medianode.cpp index b60d6f4..253c5e7 100644 --- a/src/3rdparty/phonon/mmf/mmf_medianode.cpp +++ b/src/3rdparty/phonon/mmf/mmf_medianode.cpp @@ -74,7 +74,7 @@ bool MMF::MediaNode::applyNodesOnMediaObject(MediaNode *) // data(length of the graph) which typically is very small. // First, we go to the very beginning of the graph. - MMF::MediaNode *current = this; + MMF::MediaNode *current = this; do { MediaNode *const candidate = current->source(); if (candidate) diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp index 6694a9a..a93aca0 100644 --- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp +++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp @@ -16,7 +16,7 @@ along with this library. If not, see . */ -#include // for QApplication::activeWindow +#include // for QApplication::activeWindow #include #include #include @@ -71,7 +71,7 @@ void MMF::VideoPlayer::construct() TRACE_ENTRY_0(); if (m_videoOutput) - m_videoOutput->setObserver(this); + m_videoOutput->setObserver(this); const TInt priority = 0; const TMdaPriorityPreference preference = EMdaPriorityPreferenceNone; @@ -152,17 +152,17 @@ void MMF::VideoPlayer::doSeek(qint64 ms) bool wasPlaying = false; if (state() == PlayingState) { - // The call to SetPositionL does not have any effect if playback is - // ongoing, so we pause before seeking. - doPause(); - wasPlaying = true; + // The call to SetPositionL does not have any effect if playback is + // ongoing, so we pause before seeking. + doPause(); + wasPlaying = true; } TRAPD(err, m_player->SetPositionL(TTimeIntervalMicroSeconds(ms * 1000))); if (KErrNone == err) { - if (wasPlaying) - doPlay(); + if (wasPlaying) + doPlay(); } else { TRACE("SetPositionL error %d", err); @@ -252,7 +252,7 @@ void MMF::VideoPlayer::MvpuoPrepareComplete(TInt aError) maxVolumeChanged(m_player->MaxVolume()); if (m_videoOutput) - m_videoOutput->setFrameSize(m_frameSize); + m_videoOutput->setFrameSize(m_frameSize); // See comment in updateMmfOutput if (m_mmfOutputChangePending) { @@ -350,32 +350,32 @@ void MMF::VideoPlayer::videoOutputRegionChanged() class CDummyAO : public CActive { public: - CDummyAO() : CActive(CActive::EPriorityStandard) { CActiveScheduler::Add(this); } - void RunL() { } - void DoCancel() { } - TRequestStatus& Status() { return iStatus; } - void SetActive() { CActive::SetActive(); } + CDummyAO() : CActive(CActive::EPriorityStandard) { CActiveScheduler::Add(this); } + void RunL() { } + void DoCancel() { } + TRequestStatus& Status() { return iStatus; } + void SetActive() { CActive::SetActive(); } }; void getDsaRegion(RWsSession &session, const RWindowBase &window) { - RDirectScreenAccess dsa(session); - TInt err = dsa.Construct(); - CDummyAO ao; - RRegion* region; - err = dsa.Request(region, ao.Status(), window); - ao.SetActive(); - dsa.Close(); - ao.Cancel(); - if (region) { - qDebug() << "Phonon::MMF::getDsaRegion count" << region->Count(); - for (int i=0; iCount(); ++i) { - const TRect& rect = region->RectangleList()[i]; - qDebug() << "Phonon::MMF::getDsaRegion rect" + RDirectScreenAccess dsa(session); + TInt err = dsa.Construct(); + CDummyAO ao; + RRegion* region; + err = dsa.Request(region, ao.Status(), window); + ao.SetActive(); + dsa.Close(); + ao.Cancel(); + if (region) { + qDebug() << "Phonon::MMF::getDsaRegion count" << region->Count(); + for (int i=0; iCount(); ++i) { + const TRect& rect = region->RectangleList()[i]; + qDebug() << "Phonon::MMF::getDsaRegion rect" << rect.iTl.iX << rect.iTl.iY << rect.iBr.iX << rect.iBr.iY; - } - region->Close(); - } + } + region->Close(); + } } #endif // _DEBUG @@ -426,8 +426,8 @@ void MMF::VideoPlayer::videoOutputChanged() TRACE_ENTRY_0(); if (m_videoOutput) { - m_videoOutput->setObserver(this); - m_videoOutput->setFrameSize(m_frameSize); + m_videoOutput->setObserver(this); + m_videoOutput->setFrameSize(m_frameSize); } videoOutputRegionChanged(); @@ -443,11 +443,11 @@ bool MMF::VideoPlayer::getNativeWindowSystemHandles() CCoeControl *control = 0; if (m_videoOutput) - // Create native window - control = m_videoOutput->winId(); + // Create native window + control = m_videoOutput->winId(); else - // Get top-level window - control = QApplication::activeWindow()->effectiveWinId(); + // Get top-level window + control = QApplication::activeWindow()->effectiveWinId(); #ifndef QT_NO_DEBUG if (m_videoOutput) { diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp index 8d582a7..03220a7 100644 --- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp +++ b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp @@ -111,9 +111,9 @@ QList QAnnotatorWindow::annotation(const QObject& object) // ClientHandle() is available first in 5.0. #if !defined(__SERIES60_31__) && !defined(__S60_32__) if (QSysInfo::s60Version() > QSysInfo::SV_S60_3_2) - // Client-side window handle - // Cast to a void pointer so that log output is in hexadecimal format. - stream << "cli " << reinterpret_cast(window->ClientHandle()) << ' '; + // Client-side window handle + // Cast to a void pointer so that log output is in hexadecimal format. + stream << "cli " << reinterpret_cast(window->ClientHandle()) << ' '; #endif // Server-side address of CWsWindow object diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp index 9c1118c..f0393a7 100644 --- a/src/3rdparty/phonon/mmf/videooutput.cpp +++ b/src/3rdparty/phonon/mmf/videooutput.cpp @@ -52,16 +52,16 @@ MMF::VideoOutput::VideoOutput(QWidget* parent) TRACE_ENTRY("parent 0x%08x", parent); setPalette(QPalette(Qt::black)); - setAttribute(Qt::WA_OpaquePaintEvent, true); - setAttribute(Qt::WA_NoSystemBackground, true); - setAutoFillBackground(false); - - // Causes QSymbianControl::Draw not to BitBlt this widget's region of the - // backing store. Since the backing store is (by default) a 16MU bitmap, - // blitting it results in this widget's screen region in the final - // framebuffer having opaque alpha values. This in turn causes the video - // to be invisible when running on the target device. - qt_widget_private(this)->extraData()->disableBlit = true; + setAttribute(Qt::WA_OpaquePaintEvent, true); + setAttribute(Qt::WA_NoSystemBackground, true); + setAutoFillBackground(false); + + // Causes QSymbianControl::Draw not to BitBlt this widget's region of the + // backing store. Since the backing store is (by default) a 16MU bitmap, + // blitting it results in this widget's screen region in the final + // framebuffer having opaque alpha values. This in turn causes the video + // to be invisible when running on the target device. + qt_widget_private(this)->extraData()->disableBlit = true; dump(); -- cgit v0.12 From 0f3e7310de5b3ca8cfd2ec5da4e408fb638926d8 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 15 Oct 2009 12:40:46 +0200 Subject: fix compilation with namespaces --- src/gui/kernel/qgesture.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h index 0034819..02eb526 100644 --- a/src/gui/kernel/qgesture.h +++ b/src/gui/kernel/qgesture.h @@ -51,12 +51,12 @@ QT_BEGIN_HEADER +Q_DECLARE_METATYPE(Qt::GestureState) + QT_BEGIN_NAMESPACE QT_MODULE(Gui) -Q_DECLARE_METATYPE(Qt::GestureState) - class QGesturePrivate; class Q_GUI_EXPORT QGesture : public QObject { @@ -180,8 +180,12 @@ public: friend class QPinchGestureRecognizer; }; +QT_END_NAMESPACE + Q_DECLARE_METATYPE(QPinchGesture::WhatChanged) +QT_BEGIN_NAMESPACE + class QSwipeGesturePrivate; class Q_GUI_EXPORT QSwipeGesture : public QGesture { -- cgit v0.12 From c0380b7805921446c30a560f0ffd01d0323fa797 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Thu, 15 Oct 2009 13:00:52 +0200 Subject: Fix pointer grab issues in S60 Did the long awaited "refactor me" in QSymbianControl::HandlePointerEvent Pointer is grabbed by MousePress, and released by MouseRelease - unless already globally grabbed. Pointer events are routed to the widget that grabbed the mouse. Task-number: QTBUG-4695 Task-number: QTBUG-4674 Reviewed-by: axis --- src/gui/kernel/qapplication_s60.cpp | 144 ++++++++++++++++++++++-------------- 1 file changed, 88 insertions(+), 56 deletions(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 6d50e55..f3b64ca 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -464,12 +464,47 @@ void QSymbianControl::HandlePointerEventL(const TPointerEvent& pEvent) QT_TRYCATCH_LEAVING(HandlePointerEvent(pEvent)); } +typedef QPair Event; + +/* + * Helper function called by HandlePointerEvent - separated to keep that function readable + */ +static void generateEnterLeaveEvents(QList &events, QWidget *widgetUnderPointer, + QPoint globalPos, Qt::MouseButton button, Qt::KeyboardModifiers modifiers) +{ + //moved to another widget, create enter and leave events + if (S60->lastPointerEventTarget) { + QMouseEvent mEventLeave(QEvent::Leave, S60->lastPointerEventTarget->mapFromGlobal( + S60->lastCursorPos), S60->lastCursorPos, button, QApplicationPrivate::mouse_buttons, + modifiers); + events.append(Event(S60->lastPointerEventTarget, mEventLeave)); + } + if (widgetUnderPointer) { + QMouseEvent mEventEnter(QEvent::Enter, widgetUnderPointer->mapFromGlobal(globalPos), + globalPos, button, QApplicationPrivate::mouse_buttons, modifiers); + + events.append(Event(widgetUnderPointer, mEventEnter)); +#ifndef QT_NO_CURSOR + S60->curWin = widgetUnderPointer->effectiveWinId(); + if (!QApplication::overrideCursor()) { +#ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS + if (S60->brokenPointerCursors) + qt_symbian_set_pointer_sprite(widgetUnderPointer->cursor()); + else +#endif + qt_symbian_setWindowCursor(widgetUnderPointer->cursor(), S60->curWin); + } +#endif + } +} + + void QSymbianControl::HandlePointerEvent(const TPointerEvent& pEvent) { - //### refactor me, getting too complex QMouseEvent::Type type; Qt::MouseButton button; mapS60MouseEventTypeToQt(&type, &button, &pEvent); + Qt::KeyboardModifiers modifiers = mapToQtModifiers(pEvent.iModifiers); if (m_previousEventLongTap) if (type == QEvent::MouseButtonRelease){ @@ -481,79 +516,76 @@ void QSymbianControl::HandlePointerEvent(const TPointerEvent& pEvent) return; // store events for later sending/saving - QWidget *alienWidget; - typedef QPair Event; QList events; QPoint widgetPos = QPoint(pEvent.iPosition.iX, pEvent.iPosition.iY); TPoint controlScreenPos = PositionRelativeToScreen(); QPoint globalPos = QPoint(controlScreenPos.iX, controlScreenPos.iY) + widgetPos; - if (type == QEvent::MouseButtonPress || type == QEvent::MouseButtonDblClick || type == QEvent::MouseMove) - { - // get the widget where the event happened - alienWidget = qwidget->childAt(widgetPos); - if (!alienWidget) - alienWidget = qwidget; - S60->mousePressTarget = alienWidget; + // widgets interested in the event + QWidget *widgetUnderPointer = qwidget->childAt(widgetPos); + if (!widgetUnderPointer) + widgetUnderPointer = qwidget; //i.e. this container widget + + QWidget *widgetWithMouseGrab = QWidget::mouseGrabber(); + + // handle auto grab of pointer when pressing / releasing + if (!widgetWithMouseGrab && type == QEvent::MouseButtonPress) { + //if previously auto-grabbed, generate a fake mouse release (platform bug: mouse release event was lost) + if (S60->mousePressTarget) { + QMouseEvent mEvent(QEvent::MouseButtonRelease, S60->mousePressTarget->mapFromGlobal(globalPos), globalPos, + button, QApplicationPrivate::mouse_buttons, modifiers); + events.append(Event(S60->mousePressTarget,mEvent)); + } + //auto grab the mouse + widgetWithMouseGrab = S60->mousePressTarget = widgetUnderPointer; + widgetWithMouseGrab->grabMouse(); + } + if (widgetWithMouseGrab && widgetWithMouseGrab == S60->mousePressTarget && type == QEvent::MouseButtonRelease) { + //release the auto grab - note this release event still goes to the autograb widget + S60->mousePressTarget = 0; + widgetWithMouseGrab->releaseMouse(); } - alienWidget = S60->mousePressTarget; + QWidget *widgetToReceiveMouseEvent; + if (widgetWithMouseGrab) + widgetToReceiveMouseEvent = widgetWithMouseGrab; + else + widgetToReceiveMouseEvent = widgetUnderPointer; - if (alienWidget != S60->lastPointerEventTarget) - if (type == QEvent::MouseButtonPress || type == QEvent::MouseButtonDblClick || type == QEvent::MouseMove) - { - //moved to another widget, create enter and leave events - if (S60->lastPointerEventTarget) - { - QMouseEvent mEventLeave(QEvent::Leave, S60->lastPointerEventTarget->mapFromGlobal(S60->lastCursorPos), S60->lastCursorPos, - button, QApplicationPrivate::mouse_buttons, mapToQtModifiers(pEvent.iModifiers)); - events.append(Event(S60->lastPointerEventTarget,mEventLeave)); - } - if (alienWidget) { - QMouseEvent mEventEnter(QEvent::Enter, alienWidget->mapFromGlobal(globalPos), - globalPos, button, QApplicationPrivate::mouse_buttons, mapToQtModifiers( - pEvent.iModifiers)); + //queue QEvent::Enter and QEvent::Leave, if the pointer has moved + if (widgetUnderPointer != S60->lastPointerEventTarget && (type == QEvent::MouseButtonPress || type == QEvent::MouseButtonDblClick || type == QEvent::MouseMove)) + generateEnterLeaveEvents(events, widgetUnderPointer, globalPos, button, modifiers); - events.append(Event(alienWidget, mEventEnter)); -#ifndef QT_NO_CURSOR - S60->curWin = alienWidget->effectiveWinId(); - if (!QApplication::overrideCursor()) { -#ifndef Q_SYMBIAN_FIXED_POINTER_CURSORS - if (S60->brokenPointerCursors) - qt_symbian_set_pointer_sprite(alienWidget->cursor()); - else -#endif - qt_symbian_setWindowCursor(alienWidget->cursor(), S60->curWin); - } -#endif - } - } + //save global state S60->lastCursorPos = globalPos; + S60->lastPointerEventPos = widgetPos; + S60->lastPointerEventTarget = widgetUnderPointer; + #if !defined(QT_NO_CURSOR) && !defined(Q_SYMBIAN_FIXED_POINTER_CURSORS) if (S60->brokenPointerCursors) qt_symbian_move_cursor_sprite(); #endif - S60->lastPointerEventPos = widgetPos; - S60->lastPointerEventTarget = alienWidget; - if (alienWidget) - { - QMouseEvent mEvent(type, alienWidget->mapFromGlobal(globalPos), globalPos, - button, QApplicationPrivate::mouse_buttons, mapToQtModifiers(pEvent.iModifiers)); - events.append(Event(alienWidget,mEvent)); - QEventDispatcherS60 *dispatcher; - // It is theoretically possible for someone to install a different event dispatcher. - if ((dispatcher = qobject_cast(alienWidget->d_func()->threadData->eventDispatcher)) != 0) { - if (dispatcher->excludeUserInputEvents()) { - for (int i=0;i < events.count();++i) - { - Event next = events[i]; - dispatcher->saveInputEvent(this, next.first, new QMouseEvent(next.second)); - } - return; + + //queue this event. + Q_ASSERT(widgetToReceiveMouseEvent); + QMouseEvent mEvent(type, widgetToReceiveMouseEvent->mapFromGlobal(globalPos), globalPos, + button, QApplicationPrivate::mouse_buttons, modifiers); + events.append(Event(widgetToReceiveMouseEvent,mEvent)); + QEventDispatcherS60 *dispatcher; + // It is theoretically possible for someone to install a different event dispatcher. + if ((dispatcher = qobject_cast(widgetToReceiveMouseEvent->d_func()->threadData->eventDispatcher)) != 0) { + if (dispatcher->excludeUserInputEvents()) { + for (int i=0;i < events.count();++i) + { + Event next = events[i]; + dispatcher->saveInputEvent(this, next.first, new QMouseEvent(next.second)); } + return; } } + + //send events in the queue for (int i=0;i < events.count();++i) { Event next = events[i]; -- cgit v0.12 From 449eae92ce603bf4134bfec820fedc334934de73 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 15 Oct 2009 13:26:03 +0200 Subject: compile fix with namepaces --- examples/gestures/imageviewer/imagewidget.h | 2 ++ examples/opengl/pbuffers/cube.h | 2 ++ examples/opengl/pbuffers/glwidget.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/examples/gestures/imageviewer/imagewidget.h b/examples/gestures/imageviewer/imagewidget.h index e05a67a..7b91fbf 100644 --- a/examples/gestures/imageviewer/imagewidget.h +++ b/examples/gestures/imageviewer/imagewidget.h @@ -46,10 +46,12 @@ #include #include +QT_BEGIN_NAMESPACE class QGestureEvent; class QPanGesture; class QPinchGesture; class QSwipeGesture; +QT_END_NAMESPACE class ImageWidget : public QWidget { diff --git a/examples/opengl/pbuffers/cube.h b/examples/opengl/pbuffers/cube.h index c882f1f..f17299f 100644 --- a/examples/opengl/pbuffers/cube.h +++ b/examples/opengl/pbuffers/cube.h @@ -48,7 +48,9 @@ #include #include +QT_BEGIN_NAMESPACE class QPropertyAnimation; +QT_END_NAMESPACE class Geometry { diff --git a/examples/opengl/pbuffers/glwidget.h b/examples/opengl/pbuffers/glwidget.h index c019abe..1b46bfd 100644 --- a/examples/opengl/pbuffers/glwidget.h +++ b/examples/opengl/pbuffers/glwidget.h @@ -47,7 +47,9 @@ class Geometry; class Cube; class Tile; +QT_BEGIN_NAMESPACE class QGLPixelBuffer; +QT_END_NAMESPACE class GLWidget : public QGLWidget { -- cgit v0.12 From aaef78412021c2e02aa7c6aa355a09634a6fd549 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Wed, 14 Oct 2009 17:49:11 +0200 Subject: QNAM HTTP Code: Proceed POSTing on encryptedBytesWritten() ... not only on bytesWritten() Reviewed-by: Peter Hartmann --- src/network/access/qhttpnetworkconnectionchannel.cpp | 12 ++++++++++++ src/network/access/qhttpnetworkconnectionchannel_p.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index 81fac57..6962ab3 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -105,6 +105,9 @@ void QHttpNetworkConnectionChannel::init() QObject::connect(sslSocket, SIGNAL(sslErrors(const QList&)), this, SLOT(_q_sslErrors(const QList&)), Qt::DirectConnection); + QObject::connect(sslSocket, SIGNAL(encryptedBytesWritten(qint64)), + this, SLOT(_q_encryptedBytesWritten(qint64)), + Qt::DirectConnection); } #endif } @@ -881,6 +884,15 @@ void QHttpNetworkConnectionChannel::_q_sslErrors(const QList &errors) //QNetworkReply::NetworkError errorCode = QNetworkReply::ProtocolFailure; emit connection->sslErrors(errors); } + +void QHttpNetworkConnectionChannel::_q_encryptedBytesWritten(qint64 bytes) +{ + Q_UNUSED(bytes); + // bytes have been written to the socket. write even more of them :) + if (isSocketWriting()) + sendRequest(); + // otherwise we do nothing +} #endif QT_END_NAMESPACE diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h index 1d1153e..127a431 100644 --- a/src/network/access/qhttpnetworkconnectionchannel_p.h +++ b/src/network/access/qhttpnetworkconnectionchannel_p.h @@ -180,6 +180,7 @@ public: #ifndef QT_NO_OPENSSL void _q_encrypted(); // start sending request (https) void _q_sslErrors(const QList &errors); // ssl errors from the socket + void _q_encryptedBytesWritten(qint64 bytes); // proceed sending #endif }; -- cgit v0.12 From 8af395611e6aa07c2de7b8d48c21cd8ced74087c Mon Sep 17 00:00:00 2001 From: axis Date: Thu, 15 Oct 2009 13:32:29 +0200 Subject: Made Mac Cocoa use the input method hints when deciding on IM. New behavior is to turn them off when inputting numbers or hidden text, which is the way it was in Qt 4.5. Task: QT-1938 Task: QT-2257 RevBy: Prasanth Ullattil --- src/gui/kernel/qcocoaview_mac.mm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm index b1c5fc5..cc1376f 100644 --- a/src/gui/kernel/qcocoaview_mac.mm +++ b/src/gui/kernel/qcocoaview_mac.mm @@ -1066,7 +1066,10 @@ extern "C" { sendToPopup = true; } - if (widgetToGetKey->testAttribute(Qt::WA_InputMethodEnabled)) { + if (widgetToGetKey->testAttribute(Qt::WA_InputMethodEnabled) + && !(widgetToGetKey->inputMethodHints() & Qt::ImhDigitsOnly + || widgetToGetKey->inputMethodHints() & Qt::ImhFormattedNumbersOnly + || widgetToGetKey->inputMethodHints() & Qt::ImhHiddenText)) { [qt_mac_nativeview_for(widgetToGetKey) interpretKeyEvents:[NSArray arrayWithObject: theEvent]]; } if (sendKeyEvents && !composing) { -- cgit v0.12 From f13ddaf06eeef9231dc8974c158652e966731013 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Thu, 15 Oct 2009 14:16:15 +0200 Subject: QSslSocket: Documentation enhancement Clarify about bytesWritten() and encryptedBytesWritten() Reviewed-by: David Boddie --- src/network/ssl/qsslsocket.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index 0e9cb4f..a5732fb 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -149,6 +149,13 @@ This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (\l{http://www.openssl.org/}). + \note Be aware of the difference between the bytesWritten() signal and + the encryptedBytesWritten() signal. For a QTcpSocket, bytesWritten() + will get emitted as soon as data has been written to the TCP socket. + For a QSslSocket, bytesWritten() will get emitted when the data + is being encrypted and encryptedBytesWritten() + will get emitted as soon as data has been written to the TCP socket. + \sa QSslCertificate, QSslCipher, QSslError */ -- cgit v0.12 From aa24e2390124707db6720c148ff7e1d4edad795d Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Thu, 15 Oct 2009 13:50:50 +0200 Subject: doc: Changed \reimp to \internal because base class version is. Task-number: QTBUG-4599 --- src/qt3support/widgets/q3combobox.cpp | 3 ++- src/qt3support/widgets/q3toolbar.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/qt3support/widgets/q3combobox.cpp b/src/qt3support/widgets/q3combobox.cpp index 9e7fd77..2aee4ac 100644 --- a/src/qt3support/widgets/q3combobox.cpp +++ b/src/qt3support/widgets/q3combobox.cpp @@ -2234,7 +2234,8 @@ bool Q3ComboBox::autoCompletion() const return d->useCompletion; } -/*!\reimp +/*! + \internal */ void Q3ComboBox::styleChange( QStyle& s ) { diff --git a/src/qt3support/widgets/q3toolbar.cpp b/src/qt3support/widgets/q3toolbar.cpp index dbe3afd..00ff47b 100644 --- a/src/qt3support/widgets/q3toolbar.cpp +++ b/src/qt3support/widgets/q3toolbar.cpp @@ -422,7 +422,7 @@ void Q3ToolBar::addSeparator() } /*! - \internal + \internal */ void Q3ToolBar::styleChange(QStyle &oldStyle) -- cgit v0.12 From 2eb373a68367a6511e12d60034e920345431bcc8 Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Thu, 15 Oct 2009 14:47:35 +0200 Subject: Some sub menus are disabled in Cocoa The commit faec535829a0e454a6784b0c5c37cb63e7da8f73 introduced this bug. Since we can add a submenu to the same supermenu, we should consider it before disabling the submenu who already have a supermenu. Reviewed-by: MortenS --- src/gui/widgets/qmenu_mac.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm index 354161d..c3b954f 100644 --- a/src/gui/widgets/qmenu_mac.mm +++ b/src/gui/widgets/qmenu_mac.mm @@ -1413,7 +1413,7 @@ QMenuPrivate::QMacMenuPrivate::syncAction(QMacMenuAction *action) SetMenuItemProperty(data.submenuHandle, 0, kMenuCreatorQt, kMenuPropertyCausedQWidget, sizeof(caused), &caused); #else NSMenu *subMenu = static_cast(action->action->menu()->macMenu()); - if ([subMenu supermenu] != nil) { + if ([subMenu supermenu] && [subMenu supermenu] != [item menu]) { // The menu is already a sub-menu of another one. Cocoa will throw an exception, // in such cases. For the time being, a new QMenu with same set of actions is the // only workaround. @@ -1686,7 +1686,7 @@ QMenuBarPrivate::QMacMenuBarPrivate::syncAction(QMacMenuAction *action) GetMenuItemProperty(action->menu, 0, kMenuCreatorQt, kMenuPropertyQWidget, sizeof(caused), 0, &caused); SetMenuItemProperty(submenu, 0, kMenuCreatorQt, kMenuPropertyCausedQWidget, sizeof(caused), &caused); #else - if ([submenu supermenu] != nil) + if ([submenu supermenu] && [submenu supermenu] != [item menu]) return; else [item setSubmenu:submenu]; -- cgit v0.12 From 5d8a1b95ceece54177c1bf8f8b855498d64c4118 Mon Sep 17 00:00:00 2001 From: ninerider Date: Thu, 15 Oct 2009 15:09:32 +0200 Subject: Default section size is taken instead of some fixed value Test failed on different styles such as Windows Mobile. Reviewed-by: Ossi --- tests/auto/qheaderview/tst_qheaderview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qheaderview/tst_qheaderview.cpp b/tests/auto/qheaderview/tst_qheaderview.cpp index 920231d..3286768 100644 --- a/tests/auto/qheaderview/tst_qheaderview.cpp +++ b/tests/auto/qheaderview/tst_qheaderview.cpp @@ -1836,7 +1836,7 @@ void tst_QHeaderView::preserveHiddenSectionWidth() model.insertRow(1); view.showSection(2); QCOMPARE(view.sectionSize(0), 100); - QCOMPARE(view.sectionSize(1), 30); + QCOMPARE(view.sectionSize(1), view.defaultSectionSize()); QCOMPARE(view.sectionSize(2), 50); } -- cgit v0.12 From 0ff40995a804709fc9f638fb86a3068990f79ab6 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 15 Oct 2009 16:12:41 +0300 Subject: Removed Symbian exemption from adding QtUiTools to browser demo. The exemption was originally added to make the demo compile when QtUiTools was not yet compiled for Symbian. Task-number: QT-1018 Reviewed-by: Janne Anttila --- demos/browser/browser.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/browser/browser.pro b/demos/browser/browser.pro index 6c5f005..a42aa60 100644 --- a/demos/browser/browser.pro +++ b/demos/browser/browser.pro @@ -3,7 +3,7 @@ TARGET = browser QT += webkit network CONFIG += qt warn_on -contains(QT_BUILD_PARTS, tools):!symbian:!embedded: CONFIG += uitools +contains(QT_BUILD_PARTS, tools):!embedded: CONFIG += uitools else: DEFINES += QT_NO_UITOOLS release:DEFINES+=QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT -- cgit v0.12 From 53a0caa5c3b4e2ae9cd496c82f3d033614b1384d Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 15 Oct 2009 16:27:10 +0200 Subject: Small fixes in Polish translation --- translations/designer_pl.ts | 2 +- translations/linguist_pl.ts | 16 ++++++++-------- translations/qt_pl.ts | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/translations/designer_pl.ts b/translations/designer_pl.ts index 001b54a..0c196d8 100644 --- a/translations/designer_pl.ts +++ b/translations/designer_pl.ts @@ -4709,7 +4709,7 @@ Czy chcesz nadpisać szablon? The file "%1" has changed outside Designer. Do you want to reload it? - Plik "%1" zmienił się na zewnątrz Designera. Czy chcesz go ponownie załadować? + Plik "%1" zmienił się na zewnątrz Designera. Czy chcesz go ponownie załadować? diff --git a/translations/linguist_pl.ts b/translations/linguist_pl.ts index 93b3a1d..b59ebc3 100644 --- a/translations/linguist_pl.ts +++ b/translations/linguist_pl.ts @@ -1511,32 +1511,32 @@ Wszystkie pliki (*) Russian - Rosyjskie + rosyjski German - Niemieckie + niemiecki Japanese - Japońskie + japoński French - Francuskie + francuski Polish - Polskie + polski Chinese - Chińskie + chiński @@ -1581,7 +1581,7 @@ Wszystkie pliki (*) %1 translation (%2) - %1 tłumaczenie (%2) + Tłumaczenie na język %1 (%2) @@ -1591,7 +1591,7 @@ Wszystkie pliki (*) %1 translation - %1 tłumaczenie + Tłumaczenie na język %1 diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts index 8afb485..424fd31 100644 --- a/translations/qt_pl.ts +++ b/translations/qt_pl.ts @@ -8513,12 +8513,12 @@ Proszę wybrać inną nazwę pliku. Circular inheritance of base type %1. - Zapętlenie w dziedziczeniu podstawowego typu %1. + Cykliczne dziedziczenie podstawowego typu %1. Circular inheritance of union %1. - Zapętlenie w dziedziczeniu unii %1. + Cykliczne dziedziczenie unii %1. @@ -9143,7 +9143,7 @@ Proszę wybrać inną nazwę pliku. Fixed value constraint of element %1 differs from value constraint in base particle. - Ostateczne ograniczenie wartości elementu %1 różni się od ograniczenia wartości w podstawowym elemencie. + Ograniczenie stałej wartości elementu %1 różni się od ograniczenia wartości w podstawowym elemencie. @@ -9793,7 +9793,7 @@ Proszę wybrać inną nazwę pliku. Fixed value constrained not allowed if element is nillable. - Ograniczenie sztywnej wartości jest niedozwolone gdy element jest zerowalny. + Ograniczenie stałej wartości jest niedozwolone gdy element jest zerowalny. @@ -9842,7 +9842,7 @@ Proszę wybrać inną nazwę pliku. Element %1 can not contain other elements, as it has a fixed content. - Element %1 nie może zawierać innych elementów ponieważ posiada on sztywną zawartość. + Element %1 nie może zawierać innych elementów ponieważ posiada on stałą zawartość. -- cgit v0.12 From 8d1d511a51aa26b4d86f4cc83e1eed194441469f Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Thu, 15 Oct 2009 17:08:03 +0200 Subject: Fix themed icon loader on DEs other than KDE and Gnome. Make sure that we at least try to load an icon via the "hicolor" theme. Reviewed-by: Olivier Goffart --- src/gui/image/qiconloader.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index 5412e11..e7620bd 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -78,6 +78,8 @@ static QString fallbackTheme() return X11->desktopVersion >= 4 ? QString::fromLatin1("oxygen") : QString::fromLatin1("crystalsvg"); + } else { + return QLatin1String("hicolor"); } #endif return QString(); -- cgit v0.12 From 739a36b3e86d6c112bc1720ec92a61433c48ee80 Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Thu, 15 Oct 2009 08:15:34 -0700 Subject: Fix a problem with QDirectFBScreen::instance If using a proxy screen QScreen::instance() will not return a QDirectFBScreen but rather a QProxyScreen. This patch lets QDirectFBScreen::instance hold its own pointer. Reviewed-by: Jervey Kong --- src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp | 11 +++++++++++ src/plugins/gfxdrivers/directfb/qdirectfbscreen.h | 7 +------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp index 0f7a6de..00eeebd 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp @@ -99,8 +99,11 @@ public: qint64 cursorImageKey; QDirectFBScreen *q; + static QDirectFBScreen *instance; }; +QDirectFBScreen *QDirectFBScreenPrivate::instance = 0; + QDirectFBScreenPrivate::QDirectFBScreenPrivate(QDirectFBScreen *qptr) : QWSGraphicsSystem(qptr), dfb(0), flipFlags(DSFLIP_NONE), directFBFlags(QDirectFBScreen::NoFlags), alphaPixmapFormat(QImage::Format_Invalid), @@ -802,13 +805,21 @@ void QDirectFBScreenCursor::set(const QImage &image, int hotx, int hoty) QDirectFBScreen::QDirectFBScreen(int display_id) : QScreen(display_id, DirectFBClass), d_ptr(new QDirectFBScreenPrivate(this)) { + QDirectFBScreenPrivate::instance = this; } QDirectFBScreen::~QDirectFBScreen() { + if (QDirectFBScreenPrivate::instance == this) + QDirectFBScreenPrivate::instance = 0; delete d_ptr; } +QDirectFBScreen *QDirectFBScreen::instance() +{ + return QDirectFBScreenPrivate::instance; +} + int QDirectFBScreen::depth(DFBSurfacePixelFormat format) { switch (format) { diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h index 5e8c5c6..437f1ae 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h @@ -163,12 +163,7 @@ public: QWSWindowSurface *createSurface(QWidget *widget) const; QWSWindowSurface *createSurface(const QString &key) const; - static inline QDirectFBScreen *instance() { - QScreen *inst = QScreen::instance(); - Q_ASSERT(!inst || inst->classId() == QScreen::DirectFBClass); - return static_cast(inst); - } - + static QDirectFBScreen *instance(); void waitIdle(); IDirectFBSurface *surfaceForWidget(const QWidget *widget, QRect *rect) const; #ifdef QT_DIRECTFB_SUBSURFACE -- cgit v0.12 From 563b9362dbdedadb773ae45d6fa672f2c75463d9 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 15 Oct 2009 17:50:57 +0200 Subject: Sub-attaq : Don't let user move the boat with the mouse. Reviewed-by:TrustMe --- demos/sub-attaq/boat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/sub-attaq/boat.cpp b/demos/sub-attaq/boat.cpp index 3b1bac7..cb40329 100644 --- a/demos/sub-attaq/boat.cpp +++ b/demos/sub-attaq/boat.cpp @@ -87,7 +87,7 @@ Boat::Boat() : PixmapItem(QString("boat"), GraphicsScene::Big), speed(0), bombsAlreadyLaunched(0), direction(Boat::None), movementAnimation(0) { setZValue(4); - setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsFocusable); + setFlags(QGraphicsItem::ItemIsFocusable); //The movement animation used to animate the boat movementAnimation = new QPropertyAnimation(this, "pos"); -- cgit v0.12 From fd2049b3e318e28a10c18fe344de54820ef9ea40 Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Thu, 15 Oct 2009 09:01:41 -0700 Subject: Make QT_DIRECTFB_SUBSURFACE an opt-in option Previously you had to define QT_NO_DIRECTFB_SUBSURFACE to prevent Qt from using subsurfaces for locked surfaces. Now make the default be QT_NO_DIRECTFB_SUBSURFACE and rather allow people to define QT_DIRECTFB_SUBSURFACE to use this option. Reviewed-by: Donald Carr --- src/gui/embedded/directfb.pri | 2 +- src/plugins/gfxdrivers/directfb/qdirectfbscreen.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/embedded/directfb.pri b/src/gui/embedded/directfb.pri index fa4dd68..84253b5 100644 --- a/src/gui/embedded/directfb.pri +++ b/src/gui/embedded/directfb.pri @@ -1,7 +1,7 @@ # These defines might be necessary if your DirectFB driver doesn't # support all of the DirectFB API. # -#DEFINES += QT_NO_DIRECTFB_SUBSURFACE +#DEFINES += QT_DIRECTFB_SUBSURFACE #DEFINES += QT_DIRECTFB_WINDOW_AS_CURSOR #DEFINES += QT_NO_DIRECTFB_IMAGEPROVIDER #DEFINES += QT_DIRECTFB_IMAGEPROVIDER_KEEPALIVE diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h index 437f1ae..0520cdc 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h @@ -54,8 +54,8 @@ QT_BEGIN_NAMESPACE QT_MODULE(Gui) -#if !defined QT_NO_DIRECTFB_SUBSURFACE && !defined QT_DIRECTFB_SUBSURFACE -#define QT_DIRECTFB_SUBSURFACE +#if !defined QT_DIRECTFB_SUBSURFACE && !defined QT_NO_DIRECTFB_SUBSURFACE +#define QT_NO_DIRECTFB_SUBSURFACE #endif #if !defined QT_NO_DIRECTFB_LAYER && !defined QT_DIRECTFB_LAYER #define QT_DIRECTFB_LAYER -- cgit v0.12 From 307a12d9e2a5ec302e44d29c5ba5ca4cf0f7ebff Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Thu, 15 Oct 2009 18:37:13 +0200 Subject: Use the fallback icon theme name, if the system icon theme name can not be determined. This restores the behavior from before the the gui plugin merge. Reviewed-by: Olivier Goffart --- src/gui/image/qiconloader.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index e7620bd..46c5431 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -89,6 +89,8 @@ QIconLoader::QIconLoader() : m_themeKey(1), m_supportsSvg(false) { m_systemTheme = qt_guiPlatformPlugin()->systemIconThemeName(); + if (m_systemTheme.isEmpty()) + m_systemTheme = fallbackTheme(); QFactoryLoader iconFactoryLoader(QIconEngineFactoryInterfaceV2_iid, QLatin1String("/iconengines"), @@ -109,6 +111,8 @@ void QIconLoader::updateSystemTheme() // Only change if this is not explicitly set by the user if (m_userTheme.isEmpty()) { QString theme = qt_guiPlatformPlugin()->systemIconThemeName(); + if (theme.isEmpty()) + theme = fallbackTheme(); if (theme != m_systemTheme) { m_systemTheme = theme; invalidateKey(); -- cgit v0.12 From cdd181ddff47be15d396d05ca41d1ca11f8705fc Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Thu, 15 Oct 2009 15:03:16 -0700 Subject: Don't trust layer when using window_as_cursor When using QT_DIRECTFB_WINDOW_AS_CURSOR it's likely that the layer doesn't properly support the mouse. Seeing as one might still very well have layer support for windows I can't tie the event parsing solely to NO_DIRECTFB_LAYER. Reviewed-by: Donald Carr --- src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp index 8662df6..57b1950 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp @@ -207,7 +207,7 @@ void QDirectFBMouseHandlerPrivate::readMouseData() int wheel = 0; if (input.type == DIET_AXISMOTION) { -#ifdef QT_NO_DIRECTFB_LAYER +#if defined(QT_NO_DIRECTFB_LAYER) || defined(QT_DIRECTFB_WINDOW_AS_CURSOR) if (input.flags & DIEF_AXISABS) { switch (input.axis) { case DIAI_X: x = input.axisabs; break; -- cgit v0.12 From e7bd71fadbf4cd54e86616eda5dcd404b10c08c3 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 16 Oct 2009 08:45:46 +1000 Subject: Remove unnecessary QWSGLPaintDevice now that we have QGLPaintDevice Reviewed-by: Tom --- src/opengl/opengl.pro | 4 +- src/opengl/qgl.cpp | 1 - src/opengl/qglpaintdevice_p.h | 2 +- src/opengl/qglpaintdevice_qws.cpp | 85 ------------------------------------ src/opengl/qglpaintdevice_qws_p.h | 86 ------------------------------------- src/opengl/qglwindowsurface_qws.cpp | 1 - src/opengl/qpaintengine_opengl.cpp | 1 - 7 files changed, 2 insertions(+), 178 deletions(-) delete mode 100644 src/opengl/qglpaintdevice_qws.cpp delete mode 100644 src/opengl/qglpaintdevice_qws_p.h diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index d434725..e561932 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -126,14 +126,12 @@ wince*: { embedded { SOURCES += qgl_qws.cpp \ - qglpaintdevice_qws.cpp \ qglpixelbuffer_egl.cpp \ qglscreen_qws.cpp \ qglwindowsurface_qws.cpp \ qgl_egl.cpp - HEADERS += qglpaintdevice_qws_p.h \ - qglscreen_qws.h \ + HEADERS += qglscreen_qws.h \ qglwindowsurface_qws_p.h \ qgl_egl_p.h diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 5e00b11..0d00f59 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -76,7 +76,6 @@ #endif #ifdef Q_WS_QWS -#include #include #endif diff --git a/src/opengl/qglpaintdevice_p.h b/src/opengl/qglpaintdevice_p.h index 1e7ba8d..63ba5da 100644 --- a/src/opengl/qglpaintdevice_p.h +++ b/src/opengl/qglpaintdevice_p.h @@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE -class QGLPaintDevice : public QPaintDevice +class Q_OPENGL_EXPORT QGLPaintDevice : public QPaintDevice { public: QGLPaintDevice(); diff --git a/src/opengl/qglpaintdevice_qws.cpp b/src/opengl/qglpaintdevice_qws.cpp deleted file mode 100644 index 1512278..0000000 --- a/src/opengl/qglpaintdevice_qws.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtOpenGL module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include -#include -#include - -QT_BEGIN_NAMESPACE - -class QWSGLPaintDevicePrivate -{ -public: - QWidget *widget; -}; - -QWSGLPaintDevice::QWSGLPaintDevice(QWidget *widget) : - d_ptr(new QWSGLPaintDevicePrivate) -{ - Q_D(QWSGLPaintDevice); - d->widget = widget; -} - -QWSGLPaintDevice::~QWSGLPaintDevice() -{ -} - -QPaintEngine* QWSGLPaintDevice::paintEngine() const -{ - return qt_qgl_paint_engine(); -} - -int QWSGLPaintDevice::metric(PaintDeviceMetric m) const -{ - Q_D(const QWSGLPaintDevice); - Q_ASSERT(d->widget); - - return qt_paint_device_metric(d->widget, m); -} - -QWSGLWindowSurface* QWSGLPaintDevice::windowSurface() const -{ - Q_D(const QWSGLPaintDevice); - return static_cast(d->widget->windowSurface()); -} - -QT_END_NAMESPACE diff --git a/src/opengl/qglpaintdevice_qws_p.h b/src/opengl/qglpaintdevice_qws_p.h deleted file mode 100644 index 6dc9d31..0000000 --- a/src/opengl/qglpaintdevice_qws_p.h +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtOpenGL module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QWSGLPAINTDEVICE_GL_P_H -#define QWSGLPAINTDEVICE_GL_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of the QGLWindowSurface class. This header file may change from -// version to version without notice, or even be removed. -// -// We mean it. -// - -#include -#include - -QT_BEGIN_NAMESPACE - -class QWidget; -class QWSGLWindowSurface; -class QWSGLPaintDevicePrivate; - -class Q_OPENGL_EXPORT QWSGLPaintDevice : public QPaintDevice -{ - Q_DECLARE_PRIVATE(QWSGLPaintDevice) -public: - QWSGLPaintDevice(QWidget *widget); - ~QWSGLPaintDevice(); - - QPaintEngine *paintEngine() const; - - int metric(PaintDeviceMetric m) const; - - QWSGLWindowSurface *windowSurface() const; - -private: - friend class QWSGLWindowSurface; - QScopedPointer d_ptr; -}; - - -QT_END_NAMESPACE - -#endif // QWSGLPAINTDEVICE_GL_P_H diff --git a/src/opengl/qglwindowsurface_qws.cpp b/src/opengl/qglwindowsurface_qws.cpp index 6bf3257..5041cb9 100644 --- a/src/opengl/qglwindowsurface_qws.cpp +++ b/src/opengl/qglwindowsurface_qws.cpp @@ -43,7 +43,6 @@ #include #include #include "private/qglwindowsurface_qws_p.h" -#include "private/qglpaintdevice_qws_p.h" #include "private/qpaintengine_opengl_p.h" QT_BEGIN_NAMESPACE diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp index 3e4a8e7..1a11476 100644 --- a/src/opengl/qpaintengine_opengl.cpp +++ b/src/opengl/qpaintengine_opengl.cpp @@ -66,7 +66,6 @@ #include "util/fragmentprograms_p.h" #ifdef Q_WS_QWS -#include "private/qglpaintdevice_qws_p.h" #include "private/qglwindowsurface_qws_p.h" #include "qwsmanager_qws.h" #include "private/qwsmanager_p.h" -- cgit v0.12 From 35298949b75c1f9876e4031f184cdc106df2a5da Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Thu, 15 Oct 2009 15:27:14 -0700 Subject: Allow setting DFBDisplayLayer background color We already have an option for setting the background color of the primary surface when running with NO_WM. Reuse the same option for allowing users to set the background color of the primary layer. Also fix the regexp. Reviewed-by: Donald Carr --- .../gfxdrivers/directfb/qdirectfbscreen.cpp | 66 +++++++++++++++++++--- 1 file changed, 59 insertions(+), 7 deletions(-) diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp index 00eeebd..449bc0d 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp @@ -1061,6 +1061,26 @@ static inline bool setIntOption(const QStringList &arguments, const QString &var return false; } +static inline QColor colorFromName(const QString &name) +{ + QRegExp rx("#([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])"); + rx.setCaseSensitivity(Qt::CaseInsensitive); + if (rx.exactMatch(name)) { + Q_ASSERT(rx.numCaptures() == 4); + int ints[4]; + int i; + for (i=0; i<4; ++i) { + bool ok; + ints[i] = rx.cap(i + 1).toUInt(&ok, 16); + if (!ok || ints[i] > 255) + break; + } + if (i == 4) + return QColor(ints[0], ints[1], ints[2], ints[3]); + } + return QColor(name); +} + bool QDirectFBScreen::connect(const QString &displaySpec) { DFBResult result = DFB_OK; @@ -1293,18 +1313,50 @@ bool QDirectFBScreen::connect(const QString &displaySpec) #endif #ifdef QT_DIRECTFB_WM surface->Release(surface); + QColor backgroundColor; #else - QRegExp backgroundColorRegExp(QLatin1String("bgcolor=?(.+)")); + QColor &backgroundColor = d_ptr->backgroundColor; +#endif + + QRegExp backgroundColorRegExp(QLatin1String("bgcolor=(.+)")); backgroundColorRegExp.setCaseSensitivity(Qt::CaseInsensitive); if (displayArgs.indexOf(backgroundColorRegExp) != -1) { - d_ptr->backgroundColor.setNamedColor(backgroundColorRegExp.cap(1)); + backgroundColor = colorFromName(backgroundColorRegExp.cap(1)); } - if (!d_ptr->backgroundColor.isValid()) - d_ptr->backgroundColor = Qt::green; - d_ptr->primarySurface->Clear(d_ptr->primarySurface, d_ptr->backgroundColor.red(), - d_ptr->backgroundColor.green(), d_ptr->backgroundColor.blue(), - d_ptr->backgroundColor.alpha()); +#ifdef QT_NO_DIRECTFB_WM + if (!backgroundColor.isValid()) + backgroundColor = Qt::green; + d_ptr->primarySurface->Clear(d_ptr->primarySurface, backgroundColor.red(), + backgroundColor.green(), backgroundColor.blue(), + backgroundColor.alpha()); d_ptr->primarySurface->Flip(d_ptr->primarySurface, 0, d_ptr->flipFlags); +#else + if (backgroundColor.isValid()) { + DFBResult result = d_ptr->dfbLayer->SetCooperativeLevel(d_ptr->dfbLayer, DLSCL_ADMINISTRATIVE); + if (result != DFB_OK) { + DirectFBError("QDirectFBScreen::connect " + "Unable to set cooperative level", result); + } + result = d_ptr->dfbLayer->SetBackgroundColor(d_ptr->dfbLayer, backgroundColor.red(), backgroundColor.green(), + backgroundColor.blue(), backgroundColor.alpha()); + if (result != DFB_OK) { + DirectFBError("QDirectFBScreenCursor::connect: " + "Unable to set background color", result); + } + + result = d_ptr->dfbLayer->SetBackgroundMode(d_ptr->dfbLayer, DLBM_COLOR); + if (result != DFB_OK) { + DirectFBError("QDirectFBScreenCursor::connect: " + "Unable to set background mode", result); + } + + result = d_ptr->dfbLayer->SetCooperativeLevel(d_ptr->dfbLayer, DLSCL_SHARED); + if (result != DFB_OK) { + DirectFBError("QDirectFBScreen::connect " + "Unable to set cooperative level", result); + } + + } #endif return true; -- cgit v0.12 From 077f9711f0b9174ef9e9ffa7022aa06a9b3fc867 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Thu, 15 Oct 2009 14:40:33 +1000 Subject: Move audio and video examples into the common multimedia directory. Brings the video examples into multimedia directory, and removes the audio sub-directory so the directory structure is in line with the other example categories. Task-number: QT-667 Reviewed-by: Kurt Korbatits --- demos/qtdemo/xml/examples.xml | 2 +- doc/src/examples/audiodevices.qdoc | 2 +- doc/src/examples/audioinput.qdoc | 2 +- doc/src/examples/audiooutput.qdoc | 2 +- doc/src/examples/videographicsitem.qdoc | 2 +- doc/src/examples/videowidget.qdoc | 30 +-- doc/src/getting-started/examples.qdoc | 10 +- examples/examples.pro | 3 +- examples/multimedia/audio/audio.pro | 10 - .../multimedia/audio/audiodevices/audiodevices.cpp | 274 ------------------- .../multimedia/audio/audiodevices/audiodevices.h | 78 ------ .../multimedia/audio/audiodevices/audiodevices.pro | 17 -- .../audio/audiodevices/audiodevicesbase.ui | 233 ---------------- examples/multimedia/audio/audiodevices/main.cpp | 55 ---- .../multimedia/audio/audioinput/audioinput.cpp | 296 --------------------- examples/multimedia/audio/audioinput/audioinput.h | 124 --------- .../multimedia/audio/audioinput/audioinput.pro | 16 -- examples/multimedia/audio/audioinput/main.cpp | 55 ---- .../multimedia/audio/audiooutput/audiooutput.cpp | 270 ------------------- .../multimedia/audio/audiooutput/audiooutput.h | 110 -------- .../multimedia/audio/audiooutput/audiooutput.pro | 16 -- examples/multimedia/audio/audiooutput/main.cpp | 56 ---- examples/multimedia/audiodevices/audiodevices.cpp | 274 +++++++++++++++++++ examples/multimedia/audiodevices/audiodevices.h | 78 ++++++ examples/multimedia/audiodevices/audiodevices.pro | 17 ++ .../multimedia/audiodevices/audiodevicesbase.ui | 233 ++++++++++++++++ examples/multimedia/audiodevices/main.cpp | 55 ++++ examples/multimedia/audioinput/audioinput.cpp | 296 +++++++++++++++++++++ examples/multimedia/audioinput/audioinput.h | 124 +++++++++ examples/multimedia/audioinput/audioinput.pro | 16 ++ examples/multimedia/audioinput/main.cpp | 55 ++++ examples/multimedia/audiooutput/audiooutput.cpp | 270 +++++++++++++++++++ examples/multimedia/audiooutput/audiooutput.h | 110 ++++++++ examples/multimedia/audiooutput/audiooutput.pro | 16 ++ examples/multimedia/audiooutput/main.cpp | 56 ++++ examples/multimedia/multimedia.pro | 14 +- examples/multimedia/videographicsitem/main.cpp | 55 ++++ .../videographicsitem/videographicsitem.pro | 21 ++ .../multimedia/videographicsitem/videoitem.cpp | 144 ++++++++++ examples/multimedia/videographicsitem/videoitem.h | 79 ++++++ .../multimedia/videographicsitem/videoplayer.cpp | 210 +++++++++++++++ .../multimedia/videographicsitem/videoplayer.h | 86 ++++++ examples/multimedia/videowidget/main.cpp | 54 ++++ examples/multimedia/videowidget/videoplayer.cpp | 183 +++++++++++++ examples/multimedia/videowidget/videoplayer.h | 79 ++++++ examples/multimedia/videowidget/videowidget.cpp | 114 ++++++++ examples/multimedia/videowidget/videowidget.h | 76 ++++++ examples/multimedia/videowidget/videowidget.pro | 25 ++ .../multimedia/videowidget/videowidgetsurface.cpp | 175 ++++++++++++ .../multimedia/videowidget/videowidgetsurface.h | 81 ++++++ examples/video/video.pro | 6 - examples/video/videographicsitem/main.cpp | 55 ---- .../video/videographicsitem/videographicsitem.pro | 21 -- examples/video/videographicsitem/videoitem.cpp | 144 ---------- examples/video/videographicsitem/videoitem.h | 79 ------ examples/video/videographicsitem/videoplayer.cpp | 210 --------------- examples/video/videographicsitem/videoplayer.h | 86 ------ examples/video/videowidget/main.cpp | 54 ---- examples/video/videowidget/videoplayer.cpp | 183 ------------- examples/video/videowidget/videoplayer.h | 79 ------ examples/video/videowidget/videowidget.cpp | 114 -------- examples/video/videowidget/videowidget.h | 76 ------ examples/video/videowidget/videowidget.pro | 19 -- examples/video/videowidget/videowidgetsurface.cpp | 175 ------------ examples/video/videowidget/videowidgetsurface.h | 81 ------ 65 files changed, 3020 insertions(+), 3021 deletions(-) delete mode 100644 examples/multimedia/audio/audio.pro delete mode 100644 examples/multimedia/audio/audiodevices/audiodevices.cpp delete mode 100644 examples/multimedia/audio/audiodevices/audiodevices.h delete mode 100644 examples/multimedia/audio/audiodevices/audiodevices.pro delete mode 100644 examples/multimedia/audio/audiodevices/audiodevicesbase.ui delete mode 100644 examples/multimedia/audio/audiodevices/main.cpp delete mode 100644 examples/multimedia/audio/audioinput/audioinput.cpp delete mode 100644 examples/multimedia/audio/audioinput/audioinput.h delete mode 100644 examples/multimedia/audio/audioinput/audioinput.pro delete mode 100644 examples/multimedia/audio/audioinput/main.cpp delete mode 100644 examples/multimedia/audio/audiooutput/audiooutput.cpp delete mode 100644 examples/multimedia/audio/audiooutput/audiooutput.h delete mode 100644 examples/multimedia/audio/audiooutput/audiooutput.pro delete mode 100644 examples/multimedia/audio/audiooutput/main.cpp create mode 100644 examples/multimedia/audiodevices/audiodevices.cpp create mode 100644 examples/multimedia/audiodevices/audiodevices.h create mode 100644 examples/multimedia/audiodevices/audiodevices.pro create mode 100644 examples/multimedia/audiodevices/audiodevicesbase.ui create mode 100644 examples/multimedia/audiodevices/main.cpp create mode 100644 examples/multimedia/audioinput/audioinput.cpp create mode 100644 examples/multimedia/audioinput/audioinput.h create mode 100644 examples/multimedia/audioinput/audioinput.pro create mode 100644 examples/multimedia/audioinput/main.cpp create mode 100644 examples/multimedia/audiooutput/audiooutput.cpp create mode 100644 examples/multimedia/audiooutput/audiooutput.h create mode 100644 examples/multimedia/audiooutput/audiooutput.pro create mode 100644 examples/multimedia/audiooutput/main.cpp create mode 100644 examples/multimedia/videographicsitem/main.cpp create mode 100644 examples/multimedia/videographicsitem/videographicsitem.pro create mode 100644 examples/multimedia/videographicsitem/videoitem.cpp create mode 100644 examples/multimedia/videographicsitem/videoitem.h create mode 100644 examples/multimedia/videographicsitem/videoplayer.cpp create mode 100644 examples/multimedia/videographicsitem/videoplayer.h create mode 100644 examples/multimedia/videowidget/main.cpp create mode 100644 examples/multimedia/videowidget/videoplayer.cpp create mode 100644 examples/multimedia/videowidget/videoplayer.h create mode 100644 examples/multimedia/videowidget/videowidget.cpp create mode 100644 examples/multimedia/videowidget/videowidget.h create mode 100644 examples/multimedia/videowidget/videowidget.pro create mode 100644 examples/multimedia/videowidget/videowidgetsurface.cpp create mode 100644 examples/multimedia/videowidget/videowidgetsurface.h delete mode 100644 examples/video/video.pro delete mode 100644 examples/video/videographicsitem/main.cpp delete mode 100644 examples/video/videographicsitem/videographicsitem.pro delete mode 100644 examples/video/videographicsitem/videoitem.cpp delete mode 100644 examples/video/videographicsitem/videoitem.h delete mode 100644 examples/video/videographicsitem/videoplayer.cpp delete mode 100644 examples/video/videographicsitem/videoplayer.h delete mode 100644 examples/video/videowidget/main.cpp delete mode 100644 examples/video/videowidget/videoplayer.cpp delete mode 100644 examples/video/videowidget/videoplayer.h delete mode 100644 examples/video/videowidget/videowidget.cpp delete mode 100644 examples/video/videowidget/videowidget.h delete mode 100644 examples/video/videowidget/videowidget.pro delete mode 100644 examples/video/videowidget/videowidgetsurface.cpp delete mode 100644 examples/video/videowidget/videowidgetsurface.h diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml index 2c31484..83bd200 100644 --- a/demos/qtdemo/xml/examples.xml +++ b/demos/qtdemo/xml/examples.xml @@ -154,7 +154,7 @@ - + diff --git a/doc/src/examples/audiodevices.qdoc b/doc/src/examples/audiodevices.qdoc index 0d0932e..1505846 100644 --- a/doc/src/examples/audiodevices.qdoc +++ b/doc/src/examples/audiodevices.qdoc @@ -40,7 +40,7 @@ ****************************************************************************/ /*! - \example multimedia/audio/audiodevices + \example multimedia/audiodevices \title Audio Devices Example The Audio Devices example demonstrates the basic use of QAudioDeviceInfo class diff --git a/doc/src/examples/audioinput.qdoc b/doc/src/examples/audioinput.qdoc index ac44d75..8553e92 100644 --- a/doc/src/examples/audioinput.qdoc +++ b/doc/src/examples/audioinput.qdoc @@ -40,7 +40,7 @@ ****************************************************************************/ /*! - \example multimedia/audio/audioinput + \example multimedia/audioinput \title AudioInput Example The Audio Input example demonstrates the basic use of QAudioInput class diff --git a/doc/src/examples/audiooutput.qdoc b/doc/src/examples/audiooutput.qdoc index 2ed6ce4..58b8ea9 100644 --- a/doc/src/examples/audiooutput.qdoc +++ b/doc/src/examples/audiooutput.qdoc @@ -40,7 +40,7 @@ ****************************************************************************/ /*! - \example multimedia/audio/audiooutput + \example multimedia/audiooutput \title Audio Output Example The Audio Output example demonstrates the basic use of the QAudioOutput class diff --git a/doc/src/examples/videographicsitem.qdoc b/doc/src/examples/videographicsitem.qdoc index ce24f09..e1cb6ed 100644 --- a/doc/src/examples/videographicsitem.qdoc +++ b/doc/src/examples/videographicsitem.qdoc @@ -40,7 +40,7 @@ ****************************************************************************/ /*! - \example video/videographicsitem + \example multimedia/videographicsitem \title Video Graphics Item Example The Video Graphics Item example shows how to implement a QGraphicsItem that displays video on a diff --git a/doc/src/examples/videowidget.qdoc b/doc/src/examples/videowidget.qdoc index 1b214d2..4223c1f 100644 --- a/doc/src/examples/videowidget.qdoc +++ b/doc/src/examples/videowidget.qdoc @@ -40,7 +40,7 @@ ****************************************************************************/ /*! - \example video/videowidget + \example multimedia/videowidget \title Video Widget Example The Video Widget example shows how to implement a video widget using @@ -50,7 +50,7 @@ \section1 VideoWidgetSurface Class Definition - \snippet examples/video/videowidget/videowidgetsurface.h 0 + \snippet examples/multimedia/videowidget/videowidgetsurface.h 0 The VideoWidgetSurface class inherits QAbstractVideoSurface and paints video frames on a QWidget. This is a separate class to VideoWidget as both @@ -62,7 +62,7 @@ \section1 VideoWidgetSurface Class Implementation - \snippet examples/video/videowidget/videowidgetsurface.cpp 0 + \snippet examples/multimedia/videowidget/videowidgetsurface.cpp 0 From the supportedPixelFormats() function we return a list of pixel formats the surface can paint. The order of the list hints at which formats are @@ -74,7 +74,7 @@ return any pixel formats if handleType is not QAbstractVideoBuffer::NoHandle. - \snippet examples/video/videowidget/videowidgetsurface.cpp 1 + \snippet examples/multimedia/videowidget/videowidgetsurface.cpp 1 In isFormatSupported() we test if the frame type of a surface format maps to a valid QImage format, that the frame size is not empty, and the handle @@ -85,7 +85,7 @@ that the size is not empty so a reimplementation wasn't strictly necessary in this case. - \snippet examples/video/videowidget/videowidgetsurface.cpp 2 + \snippet examples/multimedia/videowidget/videowidgetsurface.cpp 2 To start our surface we'll extract the image format and size from the selected video format and save it for use in the paint() function. If the @@ -94,7 +94,7 @@ by calling QAbstractVideoSurface::start(). Finally since the video size may have changed we'll trigger an update of the widget, and video geometry. - \snippet examples/video/videowidget/videowidgetsurface.cpp 5 + \snippet examples/multimedia/videowidget/videowidgetsurface.cpp 5 The updateVideoRect() function calculates the region within the widget the video occupies. The \l {QVideoSurfaceFormat::sizeHint()}{size hint} of the @@ -105,7 +105,7 @@ size in the center of the widget. Otherwise we shrink the size maintaining the aspect ratio so that it does fit. - \snippet examples/video/videowidget/videowidgetsurface.cpp 4 + \snippet examples/multimedia/videowidget/videowidgetsurface.cpp 4 We can't paint from outside a paint event, so when a new frame is received in present() we save a reference to it and force an immediate repaint of @@ -118,7 +118,7 @@ \l {QAbstractVideoSurface::UnsupportedFormatError}{UnsupportedFormatError} on our surface and stop it immediately. - \snippet examples/video/videowidget/videowidgetsurface.cpp 6 + \snippet examples/multimedia/videowidget/videowidgetsurface.cpp 6 The paint() function is called by the video widget to paint the current video frame. Before we draw the frame first we'll check the format for @@ -128,7 +128,7 @@ construct a new QImage from the current video frame, and draw it to the the widget. - \snippet examples/video/videowidget/videowidgetsurface.cpp 3 + \snippet examples/multimedia/videowidget/videowidgetsurface.cpp 3 When the surface is stopped we need to release the current frame and invalidate the video region. Then we confirm the surface has been @@ -141,7 +141,7 @@ The VideoWidget class uses the VideoWidgetSurface class to implement a video widget. - \snippet examples/video/videowidget/videowidget.h 0 + \snippet examples/multimedia/videowidget/videowidget.h 0 The VideoWidget QWidget implementation is minimal with just the sizeHint(), paintEvent(), and resizeEvent() functions in addition to the constructor, @@ -149,7 +149,7 @@ \section1 VideoWidget Class Implementation - \snippet examples/video/videowidget/videowidget.cpp 0 + \snippet examples/multimedia/videowidget/videowidget.cpp 0 In the VideoWidget constructor we set some flags to speed up re-paints a little. Setting the Qt::WA_NoSystemBackground flag and disabling automatic @@ -162,17 +162,17 @@ Finally we construct an instance of the VideoWidgetSurface class. - \snippet examples/video/videowidget/videowidget.cpp 1 + \snippet examples/multimedia/videowidget/videowidget.cpp 1 In the destructor we simply delete the VideoWidgetSurface instance. - \snippet examples/video/videowidget/videowidget.cpp 2 + \snippet examples/multimedia/videowidget/videowidget.cpp 2 We get the size hint for the widget from the video format of the surface which is calculated from viewport and pixel aspect ratio of the video format. - \snippet examples/video/videowidget/videowidget.cpp 3 + \snippet examples/multimedia/videowidget/videowidget.cpp 3 When the video widget receives a paint event we first check if the surface is started, if not then we simply fill the widget with the background @@ -180,7 +180,7 @@ by the paint region, before calling paint on the video surface to draw the current frame. - \snippet examples/video/videowidget/videowidget.cpp 4 + \snippet examples/multimedia/videowidget/videowidget.cpp 4 The resizeEvent() function is reimplemented to trigger an update of the video region when the widget is resized. diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc index d72f816..d6ade22 100644 --- a/doc/src/getting-started/examples.qdoc +++ b/doc/src/getting-started/examples.qdoc @@ -806,16 +806,16 @@ Audio API in Qt applications. \list - \o \l{multimedia/audio/audiodevices}{Audio Devices} - \o \l{multimedia/audio/audiooutput}{Audio Output} - \o \l{multimedia/audio/audioinput}{Audio Input} + \o \l{multimedia/audiodevices}{Audio Devices} + \o \l{multimedia/audiooutput}{Audio Output} + \o \l{multimedia/audioinput}{Audio Input} \endlist \section1 Video Output \list - \o \l{video/videowidget}{Video Widget}\raisedaster - \o \l{video/videographicsitem}{Video Graphics Item} + \o \l{multimedia/videowidget}{Video Widget}\raisedaster + \o \l{multimedia/videographicsitem}{Video Graphics Item} \endlist \section1 Phonon diff --git a/examples/examples.pro b/examples/examples.pro index 7acd67b..d11e36b 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -39,8 +39,7 @@ symbian: SUBDIRS = \ xml contains(QT_CONFIG, multimedia) { - SUBDIRS += video - !static: SUBDIRS += multimedia + SUBDIRS += multimedia } contains(QT_CONFIG, script): SUBDIRS += script diff --git a/examples/multimedia/audio/audio.pro b/examples/multimedia/audio/audio.pro deleted file mode 100644 index c64bb34..0000000 --- a/examples/multimedia/audio/audio.pro +++ /dev/null @@ -1,10 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS = audioinput \ - audiooutput \ - audiodevices - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio -sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS audio.pro README -sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio -INSTALLS += target sources diff --git a/examples/multimedia/audio/audiodevices/audiodevices.cpp b/examples/multimedia/audio/audiodevices/audiodevices.cpp deleted file mode 100644 index 4198605..0000000 --- a/examples/multimedia/audio/audiodevices/audiodevices.cpp +++ /dev/null @@ -1,274 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -#include -#include - -#include "audiodevices.h" - -AudioDevicesBase::AudioDevicesBase( QMainWindow *parent, Qt::WFlags f ) -{ - Q_UNUSED(parent) - Q_UNUSED(f) - setupUi( this ); -} - -AudioDevicesBase::~AudioDevicesBase() {} - - -AudioTest::AudioTest( QMainWindow *parent, Qt::WFlags f ) - : AudioDevicesBase( parent, f ) -{ - nearestFreq->setDisabled(true); - nearestChannel->setDisabled(true); - nearestCodec->setDisabled(true); - nearestSampleSize->setDisabled(true); - nearestSampleType->setDisabled(true); - nearestEndian->setDisabled(true); - logOutput->setDisabled(true); - - mode = QAudio::AudioOutput; - modeBox->addItem("Input"); - modeBox->addItem("Output"); - - connect(testButton,SIGNAL(clicked()),SLOT(test())); - connect(modeBox,SIGNAL(activated(int)),SLOT(modeChanged(int))); - connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int))); - connect(frequencyBox,SIGNAL(activated(int)),SLOT(freqChanged(int))); - connect(channelsBox,SIGNAL(activated(int)),SLOT(channelChanged(int))); - connect(codecsBox,SIGNAL(activated(int)),SLOT(codecChanged(int))); - connect(sampleSizesBox,SIGNAL(activated(int)),SLOT(sampleSizeChanged(int))); - connect(sampleTypesBox,SIGNAL(activated(int)),SLOT(sampleTypeChanged(int))); - connect(endianBox,SIGNAL(activated(int)),SLOT(endianChanged(int))); - - modeBox->setCurrentIndex(0); - modeChanged(0); - deviceBox->setCurrentIndex(0); - deviceChanged(0); -} - -AudioTest::~AudioTest() -{ -} - -void AudioTest::test() -{ - // tries to set all the settings picked. - logOutput->clear(); - logOutput->append("NOTE: an invalid codec audio/test exists for testing, to get a fail condition."); - - if (!deviceInfo.isNull()) { - if (deviceInfo.isFormatSupported(settings)) { - logOutput->append("Success"); - nearestFreq->setText(""); - nearestChannel->setText(""); - nearestCodec->setText(""); - nearestSampleSize->setText(""); - nearestSampleType->setText(""); - nearestEndian->setText(""); - } else { - QAudioFormat nearest = deviceInfo.nearestFormat(settings); - logOutput->append(tr("Failed")); - nearestFreq->setText(QString("%1").arg(nearest.frequency())); - nearestChannel->setText(QString("%1").arg(nearest.channels())); - nearestCodec->setText(nearest.codec()); - nearestSampleSize->setText(QString("%1").arg(nearest.sampleSize())); - - switch(nearest.sampleType()) { - case QAudioFormat::SignedInt: - nearestSampleType->setText("SignedInt"); - break; - case QAudioFormat::UnSignedInt: - nearestSampleType->setText("UnSignedInt"); - break; - case QAudioFormat::Float: - nearestSampleType->setText("Float"); - break; - case QAudioFormat::Unknown: - nearestSampleType->setText("Unknown"); - } - switch(nearest.byteOrder()) { - case QAudioFormat::LittleEndian: - nearestEndian->setText("LittleEndian"); - break; - case QAudioFormat::BigEndian: - nearestEndian->setText("BigEndian"); - } - } - } - else - logOutput->append("No Device"); -} - -void AudioTest::modeChanged(int idx) -{ - // mode has changed - if(idx == 0) - mode=QAudio::AudioInput; - else - mode=QAudio::AudioOutput; - - deviceBox->clear(); - foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::deviceList(mode)) - deviceBox->addItem(deviceInfo.deviceName(), qVariantFromValue(deviceInfo)); -} - -void AudioTest::deviceChanged(int idx) -{ - if (deviceBox->count() == 0) - return; - - // device has changed - deviceInfo = deviceBox->itemData(idx).value(); - - frequencyBox->clear(); - QList freqz = deviceInfo.supportedFrequencies(); - for(int i = 0; i < freqz.size(); ++i) - frequencyBox->addItem(QString("%1").arg(freqz.at(i))); - if(freqz.size()) - settings.setFrequency(freqz.at(0)); - - channelsBox->clear(); - QList chz = deviceInfo.supportedChannels(); - for(int i = 0; i < chz.size(); ++i) - channelsBox->addItem(QString("%1").arg(chz.at(i))); - if(chz.size()) - settings.setChannels(chz.at(0)); - - codecsBox->clear(); - QStringList codecz = deviceInfo.supportedCodecs(); - for(int i = 0; i < codecz.size(); ++i) - codecsBox->addItem(QString("%1").arg(codecz.at(i))); - if(codecz.size()) - settings.setCodec(codecz.at(0)); - // Add false to create failed condition! - codecsBox->addItem("audio/test"); - - sampleSizesBox->clear(); - QList sampleSizez = deviceInfo.supportedSampleSizes(); - for(int i = 0; i < sampleSizez.size(); ++i) - sampleSizesBox->addItem(QString("%1").arg(sampleSizez.at(i))); - if(sampleSizez.size()) - settings.setSampleSize(sampleSizez.at(0)); - - sampleTypesBox->clear(); - QList sampleTypez = deviceInfo.supportedSampleTypes(); - for(int i = 0; i < sampleTypez.size(); ++i) { - switch(sampleTypez.at(i)) { - case QAudioFormat::SignedInt: - sampleTypesBox->addItem("SignedInt"); - break; - case QAudioFormat::UnSignedInt: - sampleTypesBox->addItem("UnSignedInt"); - break; - case QAudioFormat::Float: - sampleTypesBox->addItem("Float"); - break; - case QAudioFormat::Unknown: - sampleTypesBox->addItem("Unknown"); - } - if(sampleTypez.size()) - settings.setSampleType(sampleTypez.at(0)); - } - - endianBox->clear(); - QList endianz = deviceInfo.supportedByteOrders(); - for(int i = 0; i < endianz.size(); ++i) { - switch(endianz.at(i)) { - case QAudioFormat::LittleEndian: - endianBox->addItem("Little Endian"); - break; - case QAudioFormat::BigEndian: - endianBox->addItem("Big Endian"); - break; - } - } - if(endianz.size()) - settings.setByteOrder(endianz.at(0)); -} - -void AudioTest::freqChanged(int idx) -{ - // freq has changed - settings.setFrequency(frequencyBox->itemText(idx).toInt()); -} - -void AudioTest::channelChanged(int idx) -{ - settings.setChannels(channelsBox->itemText(idx).toInt()); -} - -void AudioTest::codecChanged(int idx) -{ - settings.setCodec(codecsBox->itemText(idx)); -} - -void AudioTest::sampleSizeChanged(int idx) -{ - settings.setSampleSize(sampleSizesBox->itemText(idx).toInt()); -} - -void AudioTest::sampleTypeChanged(int idx) -{ - switch(sampleTypesBox->itemText(idx).toInt()) { - case QAudioFormat::SignedInt: - settings.setSampleType(QAudioFormat::SignedInt); - break; - case QAudioFormat::UnSignedInt: - settings.setSampleType(QAudioFormat::UnSignedInt); - break; - case QAudioFormat::Float: - settings.setSampleType(QAudioFormat::Float); - } -} - -void AudioTest::endianChanged(int idx) -{ - switch(endianBox->itemText(idx).toInt()) { - case QAudioFormat::LittleEndian: - settings.setByteOrder(QAudioFormat::LittleEndian); - break; - case QAudioFormat::BigEndian: - settings.setByteOrder(QAudioFormat::BigEndian); - } -} - diff --git a/examples/multimedia/audio/audiodevices/audiodevices.h b/examples/multimedia/audio/audiodevices/audiodevices.h deleted file mode 100644 index 5fe5547..0000000 --- a/examples/multimedia/audio/audiodevices/audiodevices.h +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -#include -#include -#include - -#include "ui_audiodevicesbase.h" - -class AudioDevicesBase : public QMainWindow, public Ui::AudioDevicesBase -{ -public: - AudioDevicesBase( QMainWindow *parent = 0, Qt::WFlags f = 0 ); - virtual ~AudioDevicesBase(); -}; - -class AudioTest : public AudioDevicesBase -{ - Q_OBJECT -public: - AudioTest( QMainWindow *parent = 0, Qt::WFlags f = 0 ); - virtual ~AudioTest(); - - QAudioDeviceInfo deviceInfo; - QAudioFormat settings; - QAudio::Mode mode; - -private slots: - void modeChanged(int idx); - void deviceChanged(int idx); - void freqChanged(int idx); - void channelChanged(int idx); - void codecChanged(int idx); - void sampleSizeChanged(int idx); - void sampleTypeChanged(int idx); - void endianChanged(int idx); - void test(); -}; - diff --git a/examples/multimedia/audio/audiodevices/audiodevices.pro b/examples/multimedia/audio/audiodevices/audiodevices.pro deleted file mode 100644 index 173aa8f..0000000 --- a/examples/multimedia/audio/audiodevices/audiodevices.pro +++ /dev/null @@ -1,17 +0,0 @@ -HEADERS = audiodevices.h -SOURCES = audiodevices.cpp \ - main.cpp -FORMS += audiodevicesbase.ui - -QT += multimedia - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiodevices -sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiodevices.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiodevices -INSTALLS += target sources - -symbian { - TARGET.UID3 = 0xA000D7BE - include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) -} diff --git a/examples/multimedia/audio/audiodevices/audiodevicesbase.ui b/examples/multimedia/audio/audiodevices/audiodevicesbase.ui deleted file mode 100644 index 5207338..0000000 --- a/examples/multimedia/audio/audiodevices/audiodevicesbase.ui +++ /dev/null @@ -1,233 +0,0 @@ - - - AudioDevicesBase - - - - 0 - 0 - 504 - 702 - - - - AudioDevicesBase - - - - - - - - - - 1 - 0 - - - - Device - - - - - - - Mode - - - - - - - - - - - - - QFrame::Panel - - - QFrame::Raised - - - Actual Settings - - - Qt::AlignCenter - - - - - - - QFrame::Panel - - - QFrame::Raised - - - Nearest Settings - - - Qt::AlignCenter - - - - - - - Frequency - - - - - - - Frequency - - - - - - - - - - - - - Channels - - - - - - - Channel - - - - - - - - - - - - - Codecs - - - - - - - Codec - - - - - - - - - - - - - SampleSize - - - - - - - SampleSize - - - - - - - - - - - - - SampleType - - - - - - - SampleType - - - - - - - - - - - - - Endianess - - - - - - - Endianess - - - - - - - - - - - - - - 0 - 40 - - - - - - - - Test - - - - - - - - - - - 0 - 0 - 504 - 19 - - - - - - - - diff --git a/examples/multimedia/audio/audiodevices/main.cpp b/examples/multimedia/audio/audiodevices/main.cpp deleted file mode 100644 index d5ddd4f..0000000 --- a/examples/multimedia/audio/audiodevices/main.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -#include "audiodevices.h" - -int main(int argv, char **args) -{ - QApplication app(argv, args); - app.setApplicationName("Audio Device Test"); - - AudioTest audio; - audio.show(); - - return app.exec(); -} diff --git a/examples/multimedia/audio/audioinput/audioinput.cpp b/examples/multimedia/audio/audioinput/audioinput.cpp deleted file mode 100644 index 05723ae..0000000 --- a/examples/multimedia/audio/audioinput/audioinput.cpp +++ /dev/null @@ -1,296 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include - -#include -#include -#include - -#include -#include -#include "audioinput.h" - -#define BUFFER_SIZE 4096 - -AudioInfo::AudioInfo(QObject* parent, QAudioInput* device) - :QIODevice( parent ) -{ - input = device; - - m_maxValue = 0; -} - -AudioInfo::~AudioInfo() -{ -} - -void AudioInfo::start() -{ - open(QIODevice::WriteOnly); -} - -void AudioInfo::stop() -{ - close(); -} - -qint64 AudioInfo::readData(char *data, qint64 maxlen) -{ - Q_UNUSED(data) - Q_UNUSED(maxlen) - - return 0; -} - -qint64 AudioInfo::writeData(const char *data, qint64 len) -{ - int samples = len/2; // 2 bytes per sample - int maxAmp = 32768; // max for S16 samples - bool clipping = false; - - m_maxValue = 0; - - qint16* s = (qint16*)data; - - // sample format is S16LE, only! - - for(int i=0;i m_maxValue) m_maxValue = abs(sample); - } - // check for clipping - if(m_maxValue>=(maxAmp-1)) clipping = true; - - float value = ((float)m_maxValue/(float)maxAmp); - if(clipping) m_maxValue = 100; - else m_maxValue = (int)(value*100); - - emit update(); - - return len; -} - -int AudioInfo::LinearMax() -{ - return m_maxValue; -} - -RenderArea::RenderArea(QWidget *parent) - : QWidget(parent) -{ - setBackgroundRole(QPalette::Base); - setAutoFillBackground(true); - - level = 0; - setMinimumHeight(30); - setMinimumWidth(200); -} - -void RenderArea::paintEvent(QPaintEvent * /* event */) -{ - QPainter painter(this); - - painter.setPen(Qt::black); - painter.drawRect(QRect(painter.viewport().left()+10, painter.viewport().top()+10, - painter.viewport().right()-20, painter.viewport().bottom()-20)); - - if(level == 0) - return; - - painter.setPen(Qt::red); - - int pos = ((painter.viewport().right()-20)-(painter.viewport().left()+11))*level/100; - int x1,y1,x2,y2; - for(int i=0;i<10;i++) { - x1 = painter.viewport().left()+11; - y1 = painter.viewport().top()+10+i; - x2 = painter.viewport().left()+20+pos; - y2 = painter.viewport().top()+10+i; - if(x2 < painter.viewport().left()+10) - x2 = painter.viewport().left()+10; - - painter.drawLine(QPoint(x1,y1),QPoint(x2,y2)); - } -} - -void RenderArea::setLevel(int value) -{ - level = value; - repaint(); -} - - -InputTest::InputTest() -{ - QWidget *window = new QWidget; - QVBoxLayout* layout = new QVBoxLayout; - - canvas = new RenderArea; - layout->addWidget(canvas); - - deviceBox = new QComboBox(this); - QList devices = QAudioDeviceInfo::deviceList(QAudio::AudioInput); - for(int i = 0; i < devices.size(); ++i) { - deviceBox->addItem(devices.at(i).deviceName(), qVariantFromValue(devices.at(i))); - } - connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int))); - layout->addWidget(deviceBox); - - button = new QPushButton(this); - button->setText(tr("Click for Push Mode")); - connect(button,SIGNAL(clicked()),SLOT(toggleMode())); - layout->addWidget(button); - - button2 = new QPushButton(this); - button2->setText(tr("Click To Suspend")); - connect(button2,SIGNAL(clicked()),SLOT(toggleSuspend())); - layout->addWidget(button2); - - window->setLayout(layout); - setCentralWidget(window); - window->show(); - - buffer = new char[BUFFER_SIZE]; - - pullMode = true; - - // AudioInfo class only supports mono S16LE samples! - format.setFrequency(8000); - format.setChannels(1); - format.setSampleSize(16); - format.setSampleType(QAudioFormat::SignedInt); - format.setByteOrder(QAudioFormat::LittleEndian); - format.setCodec("audio/pcm"); - - audioInput = new QAudioInput(format,this); - connect(audioInput,SIGNAL(notify()),SLOT(status())); - connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); - audioinfo = new AudioInfo(this,audioInput); - connect(audioinfo,SIGNAL(update()),SLOT(refreshDisplay())); - audioinfo->start(); - audioInput->start(audioinfo); -} - -InputTest::~InputTest() {} - -void InputTest::status() -{ - qWarning()<<"bytesReady = "<bytesReady()<<" bytes, clock = "<clock()<<"ms, totalTime = "<totalTime()/1000<<"ms"; -} - -void InputTest::readMore() -{ - if(!audioInput) - return; - qint64 len = audioInput->bytesReady(); - if(len > 4096) - len = 4096; - qint64 l = input->read(buffer,len); - if(l > 0) { - audioinfo->write(buffer,l); - } -} - -void InputTest::toggleMode() -{ - // Change bewteen pull and push modes - audioInput->stop(); - - if (pullMode) { - button->setText(tr("Click for Pull Mode")); - input = audioInput->start(0); - connect(input,SIGNAL(readyRead()),SLOT(readMore())); - pullMode = false; - } else { - button->setText(tr("Click for Push Mode")); - pullMode = true; - audioInput->start(audioinfo); - } -} - -void InputTest::toggleSuspend() -{ - // toggle suspend/resume - if(audioInput->state() == QAudio::SuspendState) { - qWarning()<<"status: Suspended, resume()"; - audioInput->resume(); - button2->setText("Click To Suspend"); - } else if (audioInput->state() == QAudio::ActiveState) { - qWarning()<<"status: Active, suspend()"; - audioInput->suspend(); - button2->setText("Click To Resume"); - } else if (audioInput->state() == QAudio::StopState) { - qWarning()<<"status: Stopped, resume()"; - audioInput->resume(); - button2->setText("Click To Suspend"); - } else if (audioInput->state() == QAudio::IdleState) { - qWarning()<<"status: IdleState"; - } -} - -void InputTest::state(QAudio::State state) -{ - qWarning()<<" state="<setLevel(audioinfo->LinearMax()); - canvas->repaint(); -} - -void InputTest::deviceChanged(int idx) -{ - audioinfo->stop(); - audioInput->stop(); - audioInput->disconnect(this); - delete audioInput; - - device = deviceBox->itemData(idx).value(); - audioInput = new QAudioInput(device, format, this); - connect(audioInput,SIGNAL(notify()),SLOT(status())); - connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); - audioinfo->start(); - audioInput->start(audioinfo); -} diff --git a/examples/multimedia/audio/audioinput/audioinput.h b/examples/multimedia/audio/audioinput/audioinput.h deleted file mode 100644 index 14e1bac..0000000 --- a/examples/multimedia/audio/audioinput/audioinput.h +++ /dev/null @@ -1,124 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include -#include -#include -#include -#include - -#include - -class AudioInfo : public QIODevice -{ - Q_OBJECT -public: - AudioInfo(QObject* parent, QAudioInput* device); - ~AudioInfo(); - - void start(); - void stop(); - - int LinearMax(); - - qint64 readData(char *data, qint64 maxlen); - qint64 writeData(const char *data, qint64 len); - - QAudioInput* input; - -private: - int m_maxValue; - -signals: - void update(); -}; - - -class RenderArea : public QWidget -{ - Q_OBJECT - -public: - RenderArea(QWidget *parent = 0); - - void setLevel(int value); - -protected: - void paintEvent(QPaintEvent *event); - -private: - int level; - QPixmap pixmap; -}; - -class InputTest : public QMainWindow -{ - Q_OBJECT -public: - InputTest(); - ~InputTest(); - - QAudioDeviceInfo device; - QAudioFormat format; - QAudioInput* audioInput; - AudioInfo* audioinfo; - QIODevice* input; - RenderArea* canvas; - - bool pullMode; - - QPushButton* button; - QPushButton* button2; - QComboBox* deviceBox; - - char* buffer; - -private slots: - void refreshDisplay(); - void status(); - void readMore(); - void toggleMode(); - void toggleSuspend(); - void state(QAudio::State s); - void deviceChanged(int idx); -}; - diff --git a/examples/multimedia/audio/audioinput/audioinput.pro b/examples/multimedia/audio/audioinput/audioinput.pro deleted file mode 100644 index 0d6198d..0000000 --- a/examples/multimedia/audio/audioinput/audioinput.pro +++ /dev/null @@ -1,16 +0,0 @@ -HEADERS = audioinput.h -SOURCES = audioinput.cpp \ - main.cpp - -QT += multimedia - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audioinput -sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audioinput.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audioinput -INSTALLS += target sources - -symbian { - TARGET.UID3 = 0xA000D7BF - include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) -} diff --git a/examples/multimedia/audio/audioinput/main.cpp b/examples/multimedia/audio/audioinput/main.cpp deleted file mode 100644 index d7e9c6c..0000000 --- a/examples/multimedia/audio/audioinput/main.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -#include "audioinput.h" - -int main(int argv, char **args) -{ - QApplication app(argv, args); - app.setApplicationName("Audio Input Test"); - - InputTest input; - input.show(); - - return app.exec(); -} diff --git a/examples/multimedia/audio/audiooutput/audiooutput.cpp b/examples/multimedia/audio/audiooutput/audiooutput.cpp deleted file mode 100644 index 9e532cd..0000000 --- a/examples/multimedia/audio/audiooutput/audiooutput.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include -#include - -#include -#include -#include "audiooutput.h" - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -#define SECONDS 1 -#define FREQ 600 -#define SYSTEM_FREQ 44100 - -Generator::Generator(QObject *parent) - :QIODevice( parent ) -{ - finished = false; - buffer = new char[SECONDS*SYSTEM_FREQ*4+1000]; - t=buffer; - len=fillData(t,FREQ,SECONDS); /* mono FREQHz sine */ - pos = 0; - total = len; -} - -Generator::~Generator() -{ - delete [] buffer; -} - -void Generator::start() -{ - open(QIODevice::ReadOnly); -} - -void Generator::stop() -{ - close(); -} - -int Generator::putShort(char *t, unsigned int value) -{ - *(unsigned char *)(t++)=value&255; - *(unsigned char *)(t)=(value/256)&255; - return 2; -} - -int Generator::fillData(char *start, int frequency, int seconds) -{ - int i, len=0; - int value; - for(i=0; i 16384) - len = 16384; - - if(len < (SECONDS*SYSTEM_FREQ*2)-pos) { - // Normal - memcpy(data,t+pos,len); - pos+=len; - return len; - } else { - // Whats left and reset to start - qint64 left = (SECONDS*SYSTEM_FREQ*2)-pos; - memcpy(data,t+pos,left); - pos=0; - return left; - } -} - -qint64 Generator::writeData(const char *data, qint64 len) -{ - Q_UNUSED(data); - Q_UNUSED(len); - - return 0; -} - -AudioTest::AudioTest() -{ - QWidget *window = new QWidget; - QVBoxLayout* layout = new QVBoxLayout; - - deviceBox = new QComboBox(this); - foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::deviceList(QAudio::AudioOutput)) - deviceBox->addItem(deviceInfo.deviceName(), qVariantFromValue(deviceInfo)); - connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int))); - layout->addWidget(deviceBox); - - button = new QPushButton(this); - button->setText(tr("Click for Push Mode")); - connect(button,SIGNAL(clicked()),SLOT(toggle())); - layout->addWidget(button); - - button2 = new QPushButton(this); - button2->setText(tr("Click To Suspend")); - connect(button2,SIGNAL(clicked()),SLOT(togglePlay())); - layout->addWidget(button2); - - window->setLayout(layout); - setCentralWidget(window); - window->show(); - - buffer = new char[BUFFER_SIZE]; - - gen = new Generator(this); - - pullMode = true; - - timer = new QTimer(this); - connect(timer,SIGNAL(timeout()),SLOT(writeMore())); - - gen->start(); - - settings.setFrequency(SYSTEM_FREQ); - settings.setChannels(1); - settings.setSampleSize(16); - settings.setCodec("audio/pcm"); - settings.setByteOrder(QAudioFormat::LittleEndian); - settings.setSampleType(QAudioFormat::SignedInt); - audioOutput = new QAudioOutput(settings,this); - connect(audioOutput,SIGNAL(notify()),SLOT(status())); - connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); - - audioOutput->start(gen); -} - -AudioTest::~AudioTest() -{ - delete [] buffer; -} - -void AudioTest::deviceChanged(int idx) -{ - timer->stop(); - gen->stop(); - audioOutput->stop(); - audioOutput->disconnect(this); - delete audioOutput; - - device = deviceBox->itemData(idx).value(); - audioOutput = new QAudioOutput(device,settings,this); - connect(audioOutput,SIGNAL(notify()),SLOT(status())); - connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); - gen->start(); - audioOutput->start(gen); -} - -void AudioTest::status() -{ - qWarning()<<"byteFree = "<bytesFree()<<" bytes, clock = "<clock()<<"ms, totalTime = "<totalTime()/1000<<"ms"; -} - -void AudioTest::writeMore() -{ - if(!audioOutput) - return; - - if(audioOutput->state() == QAudio::StopState) - return; - - int l; - int out; - - int chunks = audioOutput->bytesFree()/audioOutput->periodSize(); - while(chunks) { - l = gen->read(buffer,audioOutput->periodSize()); - if(l > 0) - out = output->write(buffer,l); - if(l != audioOutput->periodSize()) - break; - chunks--; - } -} - -void AudioTest::toggle() -{ - // Change between pull and push modes - - timer->stop(); - audioOutput->stop(); - - if (pullMode) { - button->setText("Click for Pull Mode"); - output = audioOutput->start(0); - pullMode = false; - timer->start(20); - } else { - button->setText("Click for Push Mode"); - pullMode = true; - audioOutput->start(gen); - } -} - -void AudioTest::togglePlay() -{ - // toggle suspend/resume - if(audioOutput->state() == QAudio::SuspendState) { - qWarning()<<"status: Suspended, resume()"; - audioOutput->resume(); - button2->setText("Click To Suspend"); - } else if (audioOutput->state() == QAudio::ActiveState) { - qWarning()<<"status: Active, suspend()"; - audioOutput->suspend(); - button2->setText("Click To Resume"); - } else if (audioOutput->state() == QAudio::StopState) { - qWarning()<<"status: Stopped, resume()"; - audioOutput->resume(); - button2->setText("Click To Suspend"); - } else if (audioOutput->state() == QAudio::IdleState) { - qWarning()<<"status: IdleState"; - } -} - -void AudioTest::state(QAudio::State state) -{ - qWarning()<<" state="< - -#define BUFFER_SIZE 32768 - -#include -#include -#include -#include -#include -#include - -#include - -class Generator : public QIODevice -{ - Q_OBJECT -public: - Generator(QObject *parent); - ~Generator(); - - void start(); - void stop(); - - char *t; - int len; - int pos; - int total; - char *buffer; - bool finished; - int chunk_size; - - qint64 readData(char *data, qint64 maxlen); - qint64 writeData(const char *data, qint64 len); - -private: - int putShort(char *t, unsigned int value); - int fillData(char *start, int frequency, int seconds); -}; - -class AudioTest : public QMainWindow -{ - Q_OBJECT -public: - AudioTest(); - ~AudioTest(); - - QAudioDeviceInfo device; - Generator* gen; - QAudioOutput* audioOutput; - QIODevice* output; - QTimer* timer; - QAudioFormat settings; - - bool pullMode; - char* buffer; - - QPushButton* button; - QPushButton* button2; - QComboBox* deviceBox; - -private slots: - void status(); - void writeMore(); - void toggle(); - void togglePlay(); - void state(QAudio::State s); - void deviceChanged(int idx); -}; - diff --git a/examples/multimedia/audio/audiooutput/audiooutput.pro b/examples/multimedia/audio/audiooutput/audiooutput.pro deleted file mode 100644 index b43763c..0000000 --- a/examples/multimedia/audio/audiooutput/audiooutput.pro +++ /dev/null @@ -1,16 +0,0 @@ -HEADERS = audiooutput.h -SOURCES = audiooutput.cpp \ - main.cpp - -QT += multimedia - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiooutput -sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiooutput.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiooutput -INSTALLS += target sources - -symbian { - TARGET.UID3 = 0xA000D7C0 - include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) -} diff --git a/examples/multimedia/audio/audiooutput/main.cpp b/examples/multimedia/audio/audiooutput/main.cpp deleted file mode 100644 index 79ec99e..0000000 --- a/examples/multimedia/audio/audiooutput/main.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -#include - -#include "audiooutput.h" - -int main(int argv, char **args) -{ - QApplication app(argv, args); - app.setApplicationName("Audio Output Test"); - - AudioTest audio; - audio.show(); - - return app.exec(); -} diff --git a/examples/multimedia/audiodevices/audiodevices.cpp b/examples/multimedia/audiodevices/audiodevices.cpp new file mode 100644 index 0000000..4198605 --- /dev/null +++ b/examples/multimedia/audiodevices/audiodevices.cpp @@ -0,0 +1,274 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include +#include + +#include "audiodevices.h" + +AudioDevicesBase::AudioDevicesBase( QMainWindow *parent, Qt::WFlags f ) +{ + Q_UNUSED(parent) + Q_UNUSED(f) + setupUi( this ); +} + +AudioDevicesBase::~AudioDevicesBase() {} + + +AudioTest::AudioTest( QMainWindow *parent, Qt::WFlags f ) + : AudioDevicesBase( parent, f ) +{ + nearestFreq->setDisabled(true); + nearestChannel->setDisabled(true); + nearestCodec->setDisabled(true); + nearestSampleSize->setDisabled(true); + nearestSampleType->setDisabled(true); + nearestEndian->setDisabled(true); + logOutput->setDisabled(true); + + mode = QAudio::AudioOutput; + modeBox->addItem("Input"); + modeBox->addItem("Output"); + + connect(testButton,SIGNAL(clicked()),SLOT(test())); + connect(modeBox,SIGNAL(activated(int)),SLOT(modeChanged(int))); + connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int))); + connect(frequencyBox,SIGNAL(activated(int)),SLOT(freqChanged(int))); + connect(channelsBox,SIGNAL(activated(int)),SLOT(channelChanged(int))); + connect(codecsBox,SIGNAL(activated(int)),SLOT(codecChanged(int))); + connect(sampleSizesBox,SIGNAL(activated(int)),SLOT(sampleSizeChanged(int))); + connect(sampleTypesBox,SIGNAL(activated(int)),SLOT(sampleTypeChanged(int))); + connect(endianBox,SIGNAL(activated(int)),SLOT(endianChanged(int))); + + modeBox->setCurrentIndex(0); + modeChanged(0); + deviceBox->setCurrentIndex(0); + deviceChanged(0); +} + +AudioTest::~AudioTest() +{ +} + +void AudioTest::test() +{ + // tries to set all the settings picked. + logOutput->clear(); + logOutput->append("NOTE: an invalid codec audio/test exists for testing, to get a fail condition."); + + if (!deviceInfo.isNull()) { + if (deviceInfo.isFormatSupported(settings)) { + logOutput->append("Success"); + nearestFreq->setText(""); + nearestChannel->setText(""); + nearestCodec->setText(""); + nearestSampleSize->setText(""); + nearestSampleType->setText(""); + nearestEndian->setText(""); + } else { + QAudioFormat nearest = deviceInfo.nearestFormat(settings); + logOutput->append(tr("Failed")); + nearestFreq->setText(QString("%1").arg(nearest.frequency())); + nearestChannel->setText(QString("%1").arg(nearest.channels())); + nearestCodec->setText(nearest.codec()); + nearestSampleSize->setText(QString("%1").arg(nearest.sampleSize())); + + switch(nearest.sampleType()) { + case QAudioFormat::SignedInt: + nearestSampleType->setText("SignedInt"); + break; + case QAudioFormat::UnSignedInt: + nearestSampleType->setText("UnSignedInt"); + break; + case QAudioFormat::Float: + nearestSampleType->setText("Float"); + break; + case QAudioFormat::Unknown: + nearestSampleType->setText("Unknown"); + } + switch(nearest.byteOrder()) { + case QAudioFormat::LittleEndian: + nearestEndian->setText("LittleEndian"); + break; + case QAudioFormat::BigEndian: + nearestEndian->setText("BigEndian"); + } + } + } + else + logOutput->append("No Device"); +} + +void AudioTest::modeChanged(int idx) +{ + // mode has changed + if(idx == 0) + mode=QAudio::AudioInput; + else + mode=QAudio::AudioOutput; + + deviceBox->clear(); + foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::deviceList(mode)) + deviceBox->addItem(deviceInfo.deviceName(), qVariantFromValue(deviceInfo)); +} + +void AudioTest::deviceChanged(int idx) +{ + if (deviceBox->count() == 0) + return; + + // device has changed + deviceInfo = deviceBox->itemData(idx).value(); + + frequencyBox->clear(); + QList freqz = deviceInfo.supportedFrequencies(); + for(int i = 0; i < freqz.size(); ++i) + frequencyBox->addItem(QString("%1").arg(freqz.at(i))); + if(freqz.size()) + settings.setFrequency(freqz.at(0)); + + channelsBox->clear(); + QList chz = deviceInfo.supportedChannels(); + for(int i = 0; i < chz.size(); ++i) + channelsBox->addItem(QString("%1").arg(chz.at(i))); + if(chz.size()) + settings.setChannels(chz.at(0)); + + codecsBox->clear(); + QStringList codecz = deviceInfo.supportedCodecs(); + for(int i = 0; i < codecz.size(); ++i) + codecsBox->addItem(QString("%1").arg(codecz.at(i))); + if(codecz.size()) + settings.setCodec(codecz.at(0)); + // Add false to create failed condition! + codecsBox->addItem("audio/test"); + + sampleSizesBox->clear(); + QList sampleSizez = deviceInfo.supportedSampleSizes(); + for(int i = 0; i < sampleSizez.size(); ++i) + sampleSizesBox->addItem(QString("%1").arg(sampleSizez.at(i))); + if(sampleSizez.size()) + settings.setSampleSize(sampleSizez.at(0)); + + sampleTypesBox->clear(); + QList sampleTypez = deviceInfo.supportedSampleTypes(); + for(int i = 0; i < sampleTypez.size(); ++i) { + switch(sampleTypez.at(i)) { + case QAudioFormat::SignedInt: + sampleTypesBox->addItem("SignedInt"); + break; + case QAudioFormat::UnSignedInt: + sampleTypesBox->addItem("UnSignedInt"); + break; + case QAudioFormat::Float: + sampleTypesBox->addItem("Float"); + break; + case QAudioFormat::Unknown: + sampleTypesBox->addItem("Unknown"); + } + if(sampleTypez.size()) + settings.setSampleType(sampleTypez.at(0)); + } + + endianBox->clear(); + QList endianz = deviceInfo.supportedByteOrders(); + for(int i = 0; i < endianz.size(); ++i) { + switch(endianz.at(i)) { + case QAudioFormat::LittleEndian: + endianBox->addItem("Little Endian"); + break; + case QAudioFormat::BigEndian: + endianBox->addItem("Big Endian"); + break; + } + } + if(endianz.size()) + settings.setByteOrder(endianz.at(0)); +} + +void AudioTest::freqChanged(int idx) +{ + // freq has changed + settings.setFrequency(frequencyBox->itemText(idx).toInt()); +} + +void AudioTest::channelChanged(int idx) +{ + settings.setChannels(channelsBox->itemText(idx).toInt()); +} + +void AudioTest::codecChanged(int idx) +{ + settings.setCodec(codecsBox->itemText(idx)); +} + +void AudioTest::sampleSizeChanged(int idx) +{ + settings.setSampleSize(sampleSizesBox->itemText(idx).toInt()); +} + +void AudioTest::sampleTypeChanged(int idx) +{ + switch(sampleTypesBox->itemText(idx).toInt()) { + case QAudioFormat::SignedInt: + settings.setSampleType(QAudioFormat::SignedInt); + break; + case QAudioFormat::UnSignedInt: + settings.setSampleType(QAudioFormat::UnSignedInt); + break; + case QAudioFormat::Float: + settings.setSampleType(QAudioFormat::Float); + } +} + +void AudioTest::endianChanged(int idx) +{ + switch(endianBox->itemText(idx).toInt()) { + case QAudioFormat::LittleEndian: + settings.setByteOrder(QAudioFormat::LittleEndian); + break; + case QAudioFormat::BigEndian: + settings.setByteOrder(QAudioFormat::BigEndian); + } +} + diff --git a/examples/multimedia/audiodevices/audiodevices.h b/examples/multimedia/audiodevices/audiodevices.h new file mode 100644 index 0000000..5fe5547 --- /dev/null +++ b/examples/multimedia/audiodevices/audiodevices.h @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include +#include +#include + +#include "ui_audiodevicesbase.h" + +class AudioDevicesBase : public QMainWindow, public Ui::AudioDevicesBase +{ +public: + AudioDevicesBase( QMainWindow *parent = 0, Qt::WFlags f = 0 ); + virtual ~AudioDevicesBase(); +}; + +class AudioTest : public AudioDevicesBase +{ + Q_OBJECT +public: + AudioTest( QMainWindow *parent = 0, Qt::WFlags f = 0 ); + virtual ~AudioTest(); + + QAudioDeviceInfo deviceInfo; + QAudioFormat settings; + QAudio::Mode mode; + +private slots: + void modeChanged(int idx); + void deviceChanged(int idx); + void freqChanged(int idx); + void channelChanged(int idx); + void codecChanged(int idx); + void sampleSizeChanged(int idx); + void sampleTypeChanged(int idx); + void endianChanged(int idx); + void test(); +}; + diff --git a/examples/multimedia/audiodevices/audiodevices.pro b/examples/multimedia/audiodevices/audiodevices.pro new file mode 100644 index 0000000..232da09 --- /dev/null +++ b/examples/multimedia/audiodevices/audiodevices.pro @@ -0,0 +1,17 @@ +HEADERS = audiodevices.h +SOURCES = audiodevices.cpp \ + main.cpp +FORMS += audiodevicesbase.ui + +QT += multimedia + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audiodevices +sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiodevices.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audiodevices +INSTALLS += target sources + +symbian { + TARGET.UID3 = 0xA000D7BE + include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) +} diff --git a/examples/multimedia/audiodevices/audiodevicesbase.ui b/examples/multimedia/audiodevices/audiodevicesbase.ui new file mode 100644 index 0000000..5207338 --- /dev/null +++ b/examples/multimedia/audiodevices/audiodevicesbase.ui @@ -0,0 +1,233 @@ + + + AudioDevicesBase + + + + 0 + 0 + 504 + 702 + + + + AudioDevicesBase + + + + + + + + + + 1 + 0 + + + + Device + + + + + + + Mode + + + + + + + + + + + + + QFrame::Panel + + + QFrame::Raised + + + Actual Settings + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Raised + + + Nearest Settings + + + Qt::AlignCenter + + + + + + + Frequency + + + + + + + Frequency + + + + + + + + + + + + + Channels + + + + + + + Channel + + + + + + + + + + + + + Codecs + + + + + + + Codec + + + + + + + + + + + + + SampleSize + + + + + + + SampleSize + + + + + + + + + + + + + SampleType + + + + + + + SampleType + + + + + + + + + + + + + Endianess + + + + + + + Endianess + + + + + + + + + + + + + + 0 + 40 + + + + + + + + Test + + + + + + + + + + + 0 + 0 + 504 + 19 + + + + + + + + diff --git a/examples/multimedia/audiodevices/main.cpp b/examples/multimedia/audiodevices/main.cpp new file mode 100644 index 0000000..d5ddd4f --- /dev/null +++ b/examples/multimedia/audiodevices/main.cpp @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "audiodevices.h" + +int main(int argv, char **args) +{ + QApplication app(argv, args); + app.setApplicationName("Audio Device Test"); + + AudioTest audio; + audio.show(); + + return app.exec(); +} diff --git a/examples/multimedia/audioinput/audioinput.cpp b/examples/multimedia/audioinput/audioinput.cpp new file mode 100644 index 0000000..05723ae --- /dev/null +++ b/examples/multimedia/audioinput/audioinput.cpp @@ -0,0 +1,296 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +#include +#include +#include + +#include +#include +#include "audioinput.h" + +#define BUFFER_SIZE 4096 + +AudioInfo::AudioInfo(QObject* parent, QAudioInput* device) + :QIODevice( parent ) +{ + input = device; + + m_maxValue = 0; +} + +AudioInfo::~AudioInfo() +{ +} + +void AudioInfo::start() +{ + open(QIODevice::WriteOnly); +} + +void AudioInfo::stop() +{ + close(); +} + +qint64 AudioInfo::readData(char *data, qint64 maxlen) +{ + Q_UNUSED(data) + Q_UNUSED(maxlen) + + return 0; +} + +qint64 AudioInfo::writeData(const char *data, qint64 len) +{ + int samples = len/2; // 2 bytes per sample + int maxAmp = 32768; // max for S16 samples + bool clipping = false; + + m_maxValue = 0; + + qint16* s = (qint16*)data; + + // sample format is S16LE, only! + + for(int i=0;i m_maxValue) m_maxValue = abs(sample); + } + // check for clipping + if(m_maxValue>=(maxAmp-1)) clipping = true; + + float value = ((float)m_maxValue/(float)maxAmp); + if(clipping) m_maxValue = 100; + else m_maxValue = (int)(value*100); + + emit update(); + + return len; +} + +int AudioInfo::LinearMax() +{ + return m_maxValue; +} + +RenderArea::RenderArea(QWidget *parent) + : QWidget(parent) +{ + setBackgroundRole(QPalette::Base); + setAutoFillBackground(true); + + level = 0; + setMinimumHeight(30); + setMinimumWidth(200); +} + +void RenderArea::paintEvent(QPaintEvent * /* event */) +{ + QPainter painter(this); + + painter.setPen(Qt::black); + painter.drawRect(QRect(painter.viewport().left()+10, painter.viewport().top()+10, + painter.viewport().right()-20, painter.viewport().bottom()-20)); + + if(level == 0) + return; + + painter.setPen(Qt::red); + + int pos = ((painter.viewport().right()-20)-(painter.viewport().left()+11))*level/100; + int x1,y1,x2,y2; + for(int i=0;i<10;i++) { + x1 = painter.viewport().left()+11; + y1 = painter.viewport().top()+10+i; + x2 = painter.viewport().left()+20+pos; + y2 = painter.viewport().top()+10+i; + if(x2 < painter.viewport().left()+10) + x2 = painter.viewport().left()+10; + + painter.drawLine(QPoint(x1,y1),QPoint(x2,y2)); + } +} + +void RenderArea::setLevel(int value) +{ + level = value; + repaint(); +} + + +InputTest::InputTest() +{ + QWidget *window = new QWidget; + QVBoxLayout* layout = new QVBoxLayout; + + canvas = new RenderArea; + layout->addWidget(canvas); + + deviceBox = new QComboBox(this); + QList devices = QAudioDeviceInfo::deviceList(QAudio::AudioInput); + for(int i = 0; i < devices.size(); ++i) { + deviceBox->addItem(devices.at(i).deviceName(), qVariantFromValue(devices.at(i))); + } + connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int))); + layout->addWidget(deviceBox); + + button = new QPushButton(this); + button->setText(tr("Click for Push Mode")); + connect(button,SIGNAL(clicked()),SLOT(toggleMode())); + layout->addWidget(button); + + button2 = new QPushButton(this); + button2->setText(tr("Click To Suspend")); + connect(button2,SIGNAL(clicked()),SLOT(toggleSuspend())); + layout->addWidget(button2); + + window->setLayout(layout); + setCentralWidget(window); + window->show(); + + buffer = new char[BUFFER_SIZE]; + + pullMode = true; + + // AudioInfo class only supports mono S16LE samples! + format.setFrequency(8000); + format.setChannels(1); + format.setSampleSize(16); + format.setSampleType(QAudioFormat::SignedInt); + format.setByteOrder(QAudioFormat::LittleEndian); + format.setCodec("audio/pcm"); + + audioInput = new QAudioInput(format,this); + connect(audioInput,SIGNAL(notify()),SLOT(status())); + connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); + audioinfo = new AudioInfo(this,audioInput); + connect(audioinfo,SIGNAL(update()),SLOT(refreshDisplay())); + audioinfo->start(); + audioInput->start(audioinfo); +} + +InputTest::~InputTest() {} + +void InputTest::status() +{ + qWarning()<<"bytesReady = "<bytesReady()<<" bytes, clock = "<clock()<<"ms, totalTime = "<totalTime()/1000<<"ms"; +} + +void InputTest::readMore() +{ + if(!audioInput) + return; + qint64 len = audioInput->bytesReady(); + if(len > 4096) + len = 4096; + qint64 l = input->read(buffer,len); + if(l > 0) { + audioinfo->write(buffer,l); + } +} + +void InputTest::toggleMode() +{ + // Change bewteen pull and push modes + audioInput->stop(); + + if (pullMode) { + button->setText(tr("Click for Pull Mode")); + input = audioInput->start(0); + connect(input,SIGNAL(readyRead()),SLOT(readMore())); + pullMode = false; + } else { + button->setText(tr("Click for Push Mode")); + pullMode = true; + audioInput->start(audioinfo); + } +} + +void InputTest::toggleSuspend() +{ + // toggle suspend/resume + if(audioInput->state() == QAudio::SuspendState) { + qWarning()<<"status: Suspended, resume()"; + audioInput->resume(); + button2->setText("Click To Suspend"); + } else if (audioInput->state() == QAudio::ActiveState) { + qWarning()<<"status: Active, suspend()"; + audioInput->suspend(); + button2->setText("Click To Resume"); + } else if (audioInput->state() == QAudio::StopState) { + qWarning()<<"status: Stopped, resume()"; + audioInput->resume(); + button2->setText("Click To Suspend"); + } else if (audioInput->state() == QAudio::IdleState) { + qWarning()<<"status: IdleState"; + } +} + +void InputTest::state(QAudio::State state) +{ + qWarning()<<" state="<setLevel(audioinfo->LinearMax()); + canvas->repaint(); +} + +void InputTest::deviceChanged(int idx) +{ + audioinfo->stop(); + audioInput->stop(); + audioInput->disconnect(this); + delete audioInput; + + device = deviceBox->itemData(idx).value(); + audioInput = new QAudioInput(device, format, this); + connect(audioInput,SIGNAL(notify()),SLOT(status())); + connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); + audioinfo->start(); + audioInput->start(audioinfo); +} diff --git a/examples/multimedia/audioinput/audioinput.h b/examples/multimedia/audioinput/audioinput.h new file mode 100644 index 0000000..14e1bac --- /dev/null +++ b/examples/multimedia/audioinput/audioinput.h @@ -0,0 +1,124 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include +#include + +#include + +class AudioInfo : public QIODevice +{ + Q_OBJECT +public: + AudioInfo(QObject* parent, QAudioInput* device); + ~AudioInfo(); + + void start(); + void stop(); + + int LinearMax(); + + qint64 readData(char *data, qint64 maxlen); + qint64 writeData(const char *data, qint64 len); + + QAudioInput* input; + +private: + int m_maxValue; + +signals: + void update(); +}; + + +class RenderArea : public QWidget +{ + Q_OBJECT + +public: + RenderArea(QWidget *parent = 0); + + void setLevel(int value); + +protected: + void paintEvent(QPaintEvent *event); + +private: + int level; + QPixmap pixmap; +}; + +class InputTest : public QMainWindow +{ + Q_OBJECT +public: + InputTest(); + ~InputTest(); + + QAudioDeviceInfo device; + QAudioFormat format; + QAudioInput* audioInput; + AudioInfo* audioinfo; + QIODevice* input; + RenderArea* canvas; + + bool pullMode; + + QPushButton* button; + QPushButton* button2; + QComboBox* deviceBox; + + char* buffer; + +private slots: + void refreshDisplay(); + void status(); + void readMore(); + void toggleMode(); + void toggleSuspend(); + void state(QAudio::State s); + void deviceChanged(int idx); +}; + diff --git a/examples/multimedia/audioinput/audioinput.pro b/examples/multimedia/audioinput/audioinput.pro new file mode 100644 index 0000000..a54d452 --- /dev/null +++ b/examples/multimedia/audioinput/audioinput.pro @@ -0,0 +1,16 @@ +HEADERS = audioinput.h +SOURCES = audioinput.cpp \ + main.cpp + +QT += multimedia + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audioinput +sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audioinput.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audioinput +INSTALLS += target sources + +symbian { + TARGET.UID3 = 0xA000D7BF + include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) +} diff --git a/examples/multimedia/audioinput/main.cpp b/examples/multimedia/audioinput/main.cpp new file mode 100644 index 0000000..d7e9c6c --- /dev/null +++ b/examples/multimedia/audioinput/main.cpp @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "audioinput.h" + +int main(int argv, char **args) +{ + QApplication app(argv, args); + app.setApplicationName("Audio Input Test"); + + InputTest input; + input.show(); + + return app.exec(); +} diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp new file mode 100644 index 0000000..9e532cd --- /dev/null +++ b/examples/multimedia/audiooutput/audiooutput.cpp @@ -0,0 +1,270 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +#include +#include +#include "audiooutput.h" + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +#define SECONDS 1 +#define FREQ 600 +#define SYSTEM_FREQ 44100 + +Generator::Generator(QObject *parent) + :QIODevice( parent ) +{ + finished = false; + buffer = new char[SECONDS*SYSTEM_FREQ*4+1000]; + t=buffer; + len=fillData(t,FREQ,SECONDS); /* mono FREQHz sine */ + pos = 0; + total = len; +} + +Generator::~Generator() +{ + delete [] buffer; +} + +void Generator::start() +{ + open(QIODevice::ReadOnly); +} + +void Generator::stop() +{ + close(); +} + +int Generator::putShort(char *t, unsigned int value) +{ + *(unsigned char *)(t++)=value&255; + *(unsigned char *)(t)=(value/256)&255; + return 2; +} + +int Generator::fillData(char *start, int frequency, int seconds) +{ + int i, len=0; + int value; + for(i=0; i 16384) + len = 16384; + + if(len < (SECONDS*SYSTEM_FREQ*2)-pos) { + // Normal + memcpy(data,t+pos,len); + pos+=len; + return len; + } else { + // Whats left and reset to start + qint64 left = (SECONDS*SYSTEM_FREQ*2)-pos; + memcpy(data,t+pos,left); + pos=0; + return left; + } +} + +qint64 Generator::writeData(const char *data, qint64 len) +{ + Q_UNUSED(data); + Q_UNUSED(len); + + return 0; +} + +AudioTest::AudioTest() +{ + QWidget *window = new QWidget; + QVBoxLayout* layout = new QVBoxLayout; + + deviceBox = new QComboBox(this); + foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::deviceList(QAudio::AudioOutput)) + deviceBox->addItem(deviceInfo.deviceName(), qVariantFromValue(deviceInfo)); + connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int))); + layout->addWidget(deviceBox); + + button = new QPushButton(this); + button->setText(tr("Click for Push Mode")); + connect(button,SIGNAL(clicked()),SLOT(toggle())); + layout->addWidget(button); + + button2 = new QPushButton(this); + button2->setText(tr("Click To Suspend")); + connect(button2,SIGNAL(clicked()),SLOT(togglePlay())); + layout->addWidget(button2); + + window->setLayout(layout); + setCentralWidget(window); + window->show(); + + buffer = new char[BUFFER_SIZE]; + + gen = new Generator(this); + + pullMode = true; + + timer = new QTimer(this); + connect(timer,SIGNAL(timeout()),SLOT(writeMore())); + + gen->start(); + + settings.setFrequency(SYSTEM_FREQ); + settings.setChannels(1); + settings.setSampleSize(16); + settings.setCodec("audio/pcm"); + settings.setByteOrder(QAudioFormat::LittleEndian); + settings.setSampleType(QAudioFormat::SignedInt); + audioOutput = new QAudioOutput(settings,this); + connect(audioOutput,SIGNAL(notify()),SLOT(status())); + connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); + + audioOutput->start(gen); +} + +AudioTest::~AudioTest() +{ + delete [] buffer; +} + +void AudioTest::deviceChanged(int idx) +{ + timer->stop(); + gen->stop(); + audioOutput->stop(); + audioOutput->disconnect(this); + delete audioOutput; + + device = deviceBox->itemData(idx).value(); + audioOutput = new QAudioOutput(device,settings,this); + connect(audioOutput,SIGNAL(notify()),SLOT(status())); + connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State))); + gen->start(); + audioOutput->start(gen); +} + +void AudioTest::status() +{ + qWarning()<<"byteFree = "<bytesFree()<<" bytes, clock = "<clock()<<"ms, totalTime = "<totalTime()/1000<<"ms"; +} + +void AudioTest::writeMore() +{ + if(!audioOutput) + return; + + if(audioOutput->state() == QAudio::StopState) + return; + + int l; + int out; + + int chunks = audioOutput->bytesFree()/audioOutput->periodSize(); + while(chunks) { + l = gen->read(buffer,audioOutput->periodSize()); + if(l > 0) + out = output->write(buffer,l); + if(l != audioOutput->periodSize()) + break; + chunks--; + } +} + +void AudioTest::toggle() +{ + // Change between pull and push modes + + timer->stop(); + audioOutput->stop(); + + if (pullMode) { + button->setText("Click for Pull Mode"); + output = audioOutput->start(0); + pullMode = false; + timer->start(20); + } else { + button->setText("Click for Push Mode"); + pullMode = true; + audioOutput->start(gen); + } +} + +void AudioTest::togglePlay() +{ + // toggle suspend/resume + if(audioOutput->state() == QAudio::SuspendState) { + qWarning()<<"status: Suspended, resume()"; + audioOutput->resume(); + button2->setText("Click To Suspend"); + } else if (audioOutput->state() == QAudio::ActiveState) { + qWarning()<<"status: Active, suspend()"; + audioOutput->suspend(); + button2->setText("Click To Resume"); + } else if (audioOutput->state() == QAudio::StopState) { + qWarning()<<"status: Stopped, resume()"; + audioOutput->resume(); + button2->setText("Click To Suspend"); + } else if (audioOutput->state() == QAudio::IdleState) { + qWarning()<<"status: IdleState"; + } +} + +void AudioTest::state(QAudio::State state) +{ + qWarning()<<" state="< + +#define BUFFER_SIZE 32768 + +#include +#include +#include +#include +#include +#include + +#include + +class Generator : public QIODevice +{ + Q_OBJECT +public: + Generator(QObject *parent); + ~Generator(); + + void start(); + void stop(); + + char *t; + int len; + int pos; + int total; + char *buffer; + bool finished; + int chunk_size; + + qint64 readData(char *data, qint64 maxlen); + qint64 writeData(const char *data, qint64 len); + +private: + int putShort(char *t, unsigned int value); + int fillData(char *start, int frequency, int seconds); +}; + +class AudioTest : public QMainWindow +{ + Q_OBJECT +public: + AudioTest(); + ~AudioTest(); + + QAudioDeviceInfo device; + Generator* gen; + QAudioOutput* audioOutput; + QIODevice* output; + QTimer* timer; + QAudioFormat settings; + + bool pullMode; + char* buffer; + + QPushButton* button; + QPushButton* button2; + QComboBox* deviceBox; + +private slots: + void status(); + void writeMore(); + void toggle(); + void togglePlay(); + void state(QAudio::State s); + void deviceChanged(int idx); +}; + diff --git a/examples/multimedia/audiooutput/audiooutput.pro b/examples/multimedia/audiooutput/audiooutput.pro new file mode 100644 index 0000000..26f68fe --- /dev/null +++ b/examples/multimedia/audiooutput/audiooutput.pro @@ -0,0 +1,16 @@ +HEADERS = audiooutput.h +SOURCES = audiooutput.cpp \ + main.cpp + +QT += multimedia + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audiooutput +sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiooutput.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audiooutput +INSTALLS += target sources + +symbian { + TARGET.UID3 = 0xA000D7C0 + include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) +} diff --git a/examples/multimedia/audiooutput/main.cpp b/examples/multimedia/audiooutput/main.cpp new file mode 100644 index 0000000..79ec99e --- /dev/null +++ b/examples/multimedia/audiooutput/main.cpp @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include + +#include "audiooutput.h" + +int main(int argv, char **args) +{ + QApplication app(argv, args); + app.setApplicationName("Audio Output Test"); + + AudioTest audio; + audio.show(); + + return app.exec(); +} diff --git a/examples/multimedia/multimedia.pro b/examples/multimedia/multimedia.pro index ac78b15..4a764f2 100644 --- a/examples/multimedia/multimedia.pro +++ b/examples/multimedia/multimedia.pro @@ -1,5 +1,15 @@ -TEMPLATE = subdirs -SUBDIRS = audio +TEMPLATE = subdirs + +!static { + SUBDIRS += \ + audiodevices \ + audioinput \ + audiooutput +} + +SUBDIRS += \ + videographicsitem \ + videowidget # install target.path = $$[QT_INSTALL_EXAMPLES]/multimedia diff --git a/examples/multimedia/videographicsitem/main.cpp b/examples/multimedia/videographicsitem/main.cpp new file mode 100644 index 0000000..3bf4c6d --- /dev/null +++ b/examples/multimedia/videographicsitem/main.cpp @@ -0,0 +1,55 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "videoplayer.h" + +#include + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + + VideoPlayer player; + player.show(); + + return app.exec(); +} + diff --git a/examples/multimedia/videographicsitem/videographicsitem.pro b/examples/multimedia/videographicsitem/videographicsitem.pro new file mode 100644 index 0000000..7c118cc --- /dev/null +++ b/examples/multimedia/videographicsitem/videographicsitem.pro @@ -0,0 +1,21 @@ +QT += multimedia + +contains(QT_CONFIG, opengl): QT += opengl + +HEADERS += videoplayer.h \ + videoitem.h + +SOURCES += main.cpp \ + videoplayer.cpp \ + videoitem.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/videographicsitem +sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.png images +sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/videographicsitem +INSTALLS += target sources + +symbian { + TARGET.UID3 = 0xA000D7C2 + include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) +} diff --git a/examples/multimedia/videographicsitem/videoitem.cpp b/examples/multimedia/videographicsitem/videoitem.cpp new file mode 100644 index 0000000..c95e335 --- /dev/null +++ b/examples/multimedia/videographicsitem/videoitem.cpp @@ -0,0 +1,144 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "videoitem.h" + +#include + +VideoItem::VideoItem(QGraphicsItem *parent) + : QGraphicsItem(parent) + , imageFormat(QImage::Format_Invalid) + , framePainted(false) +{ +} + +VideoItem::~VideoItem() +{ +} + +QRectF VideoItem::boundingRect() const +{ + return QRectF(QPointF(0,0), surfaceFormat().sizeHint()); +} + +void VideoItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + Q_UNUSED(option); + Q_UNUSED(widget); + + if (currentFrame.map(QAbstractVideoBuffer::ReadOnly)) { + const QTransform oldTransform = painter->transform(); + + if (surfaceFormat().scanLineDirection() == QVideoSurfaceFormat::BottomToTop) { + painter->scale(1, -1); + painter->translate(0, -boundingRect().height()); + } + + painter->drawImage(boundingRect(), QImage( + currentFrame.bits(), + imageSize.width(), + imageSize.height(), + imageFormat)); + + painter->setTransform(oldTransform); + + framePainted = true; + + currentFrame.unmap(); + } +} + +QList VideoItem::supportedPixelFormats( + QAbstractVideoBuffer::HandleType handleType) const +{ + if (handleType == QAbstractVideoBuffer::NoHandle) { + return QList() + << QVideoFrame::Format_RGB32 + << QVideoFrame::Format_ARGB32 + << QVideoFrame::Format_ARGB32_Premultiplied + << QVideoFrame::Format_RGB565 + << QVideoFrame::Format_RGB555; + } else { + return QList(); + } +} + +bool VideoItem::start(const QVideoSurfaceFormat &format) +{ + if (isFormatSupported(format)) { + imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat()); + imageSize = format.frameSize(); + framePainted = true; + + QAbstractVideoSurface::start(format); + + prepareGeometryChange(); + + return true; + } else { + return false; + } +} + +void VideoItem::stop() +{ + currentFrame = QVideoFrame(); + framePainted = false; + + QAbstractVideoSurface::stop(); +} + +bool VideoItem::present(const QVideoFrame &frame) +{ + if (!framePainted) { + if (!isStarted()) + setError(StoppedError); + + return false; + } else { + currentFrame = frame; + framePainted = false; + + update(); + + return true; + } +} diff --git a/examples/multimedia/videographicsitem/videoitem.h b/examples/multimedia/videographicsitem/videoitem.h new file mode 100644 index 0000000..96f578a --- /dev/null +++ b/examples/multimedia/videographicsitem/videoitem.h @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef VIDEOITEM_H +#define VIDEOITEM_H + +#include +#include + +class VideoItem + : public QAbstractVideoSurface, + public QGraphicsItem +{ + Q_OBJECT + Q_INTERFACES(QGraphicsItem) +public: + explicit VideoItem(QGraphicsItem *parentItem = 0); + ~VideoItem(); + + QRectF boundingRect() const; + void paint( + QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + + //video surface + QList supportedPixelFormats( + QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const; + + bool start(const QVideoSurfaceFormat &format); + void stop(); + bool present(const QVideoFrame &frame); + +private: + QImage::Format imageFormat; + QSize imageSize; + + QVideoFrame currentFrame; + bool framePainted; +}; + +#endif + diff --git a/examples/multimedia/videographicsitem/videoplayer.cpp b/examples/multimedia/videographicsitem/videoplayer.cpp new file mode 100644 index 0000000..83644db --- /dev/null +++ b/examples/multimedia/videographicsitem/videoplayer.cpp @@ -0,0 +1,210 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "videoplayer.h" +#include "videoitem.h" + +#include + +#ifndef QT_NO_OPENGL +# include +#endif + +VideoPlayer::VideoPlayer(QWidget *parent, Qt::WindowFlags flags) + : QWidget(parent, flags) + , videoItem(0) + , playButton(0) + , positionSlider(0) +{ + connect(&movie, SIGNAL(stateChanged(QMovie::MovieState)), + this, SLOT(movieStateChanged(QMovie::MovieState))); + connect(&movie, SIGNAL(frameChanged(int)), + this, SLOT(frameChanged(int))); + + videoItem = new VideoItem; + + QGraphicsScene *scene = new QGraphicsScene(this); + QGraphicsView *graphicsView = new QGraphicsView(scene); + +#ifndef QT_NO_OPENGL + graphicsView->setViewport(new QGLWidget); +#endif + + scene->addItem(videoItem); + + QSlider *rotateSlider = new QSlider(Qt::Horizontal); + rotateSlider->setRange(-180, 180); + rotateSlider->setValue(0); + + connect(rotateSlider, SIGNAL(valueChanged(int)), + this, SLOT(rotateVideo(int))); + + QAbstractButton *openButton = new QPushButton(tr("Open...")); + connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); + + playButton = new QPushButton; + playButton->setEnabled(false); + playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); + + connect(playButton, SIGNAL(clicked()), + this, SLOT(play())); + + positionSlider = new QSlider(Qt::Horizontal); + positionSlider->setRange(0, 0); + + connect(positionSlider, SIGNAL(sliderMoved(int)), + this, SLOT(setPosition(int))); + + connect(&movie, SIGNAL(frameChanged(int)), + positionSlider, SLOT(setValue(int))); + + QBoxLayout *controlLayout = new QHBoxLayout; + controlLayout->setMargin(0); + controlLayout->addWidget(openButton); + controlLayout->addWidget(playButton); + controlLayout->addWidget(positionSlider); + + QBoxLayout *layout = new QVBoxLayout; + layout->addWidget(graphicsView); + layout->addWidget(rotateSlider); + layout->addLayout(controlLayout); + + setLayout(layout); +} + +VideoPlayer::~VideoPlayer() +{ +} + +void VideoPlayer::openFile() +{ + QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie")); + + if (!fileName.isEmpty()) { + if (videoItem->isStarted()) + videoItem->stop(); + + movie.setFileName(fileName); + + playButton->setEnabled(true); + positionSlider->setMaximum(movie.frameCount()); + + movie.jumpToFrame(0); + } +} + +void VideoPlayer::play() +{ + switch(movie.state()) { + case QMovie::NotRunning: + movie.start(); + break; + case QMovie::Paused: + movie.setPaused(false); + break; + case QMovie::Running: + movie.setPaused(true); + break; + } +} + +void VideoPlayer::movieStateChanged(QMovie::MovieState state) +{ + switch(state) { + case QMovie::NotRunning: + case QMovie::Paused: + playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); + break; + case QMovie::Running: + playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause)); + break; + } +} + +void VideoPlayer::frameChanged(int frame) +{ + if (!presentImage(movie.currentImage())) { + movie.stop(); + playButton->setEnabled(false); + positionSlider->setMaximum(0); + } else { + positionSlider->setValue(frame); + } +} + +void VideoPlayer::setPosition(int frame) +{ + movie.jumpToFrame(frame); +} + +void VideoPlayer::rotateVideo(int angle) +{ + //rotate around the center of video element + qreal x = videoItem->boundingRect().width() / 2.0; + qreal y = videoItem->boundingRect().height() / 2.0; + videoItem->setTransform(QTransform().translate(x, y).rotate(angle).translate(-x, -y)); +} + +bool VideoPlayer::presentImage(const QImage &image) +{ + QVideoFrame frame(image); + + if (!frame.isValid()) + return false; + + QVideoSurfaceFormat currentFormat = videoItem->surfaceFormat(); + + if (frame.pixelFormat() != currentFormat.pixelFormat() + || frame.size() != currentFormat.frameSize()) { + QVideoSurfaceFormat format(frame.size(), frame.pixelFormat()); + + if (!videoItem->start(format)) + return false; + } + + if (!videoItem->present(frame)) { + videoItem->stop(); + + return false; + } else { + return true; + } +} diff --git a/examples/multimedia/videographicsitem/videoplayer.h b/examples/multimedia/videographicsitem/videoplayer.h new file mode 100644 index 0000000..8e73e4c --- /dev/null +++ b/examples/multimedia/videographicsitem/videoplayer.h @@ -0,0 +1,86 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef VIDEOPLAYER_H +#define VIDEOPLAYER_H + +#include +#include + +QT_BEGIN_NAMESPACE +class QAbstractButton; +class QAbstractVideoSurface; +class QSlider; +QT_END_NAMESPACE + + +class VideoItem; + +class VideoPlayer : public QWidget +{ + Q_OBJECT +public: + VideoPlayer(QWidget *parent = 0, Qt::WindowFlags flags = 0); + ~VideoPlayer(); + + QSize sizeHint() const { return QSize(800, 600); } + +public slots: + void openFile(); + void play(); + +private slots: + void movieStateChanged(QMovie::MovieState state); + void frameChanged(int frame); + void setPosition(int frame); + void rotateVideo(int angle); + +private: + bool presentImage(const QImage &image); + + QMovie movie; + VideoItem *videoItem; + QAbstractButton *playButton; + QSlider *positionSlider; +}; + +#endif + diff --git a/examples/multimedia/videowidget/main.cpp b/examples/multimedia/videowidget/main.cpp new file mode 100644 index 0000000..f5edf73 --- /dev/null +++ b/examples/multimedia/videowidget/main.cpp @@ -0,0 +1,54 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "videoplayer.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + + VideoPlayer player; + player.show(); + + return app.exec(); +} diff --git a/examples/multimedia/videowidget/videoplayer.cpp b/examples/multimedia/videowidget/videoplayer.cpp new file mode 100644 index 0000000..ed24714 --- /dev/null +++ b/examples/multimedia/videowidget/videoplayer.cpp @@ -0,0 +1,183 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "videoplayer.h" + +#include "videowidget.h" + +#include + +VideoPlayer::VideoPlayer(QWidget *parent) + : QWidget(parent) + , surface(0) + , playButton(0) + , positionSlider(0) +{ + connect(&movie, SIGNAL(stateChanged(QMovie::MovieState)), + this, SLOT(movieStateChanged(QMovie::MovieState))); + connect(&movie, SIGNAL(frameChanged(int)), + this, SLOT(frameChanged(int))); + + VideoWidget *videoWidget = new VideoWidget; + surface = videoWidget->videoSurface(); + + QAbstractButton *openButton = new QPushButton(tr("Open...")); + connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); + + playButton = new QPushButton; + playButton->setEnabled(false); + playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); + + connect(playButton, SIGNAL(clicked()), + this, SLOT(play())); + + positionSlider = new QSlider(Qt::Horizontal); + positionSlider->setRange(0, 0); + + connect(positionSlider, SIGNAL(sliderMoved(int)), + this, SLOT(setPosition(int))); + + connect(&movie, SIGNAL(frameChanged(int)), + positionSlider, SLOT(setValue(int))); + + QBoxLayout *controlLayout = new QHBoxLayout; + controlLayout->setMargin(0); + controlLayout->addWidget(openButton); + controlLayout->addWidget(playButton); + controlLayout->addWidget(positionSlider); + + QBoxLayout *layout = new QVBoxLayout; + layout->addWidget(videoWidget); + layout->addLayout(controlLayout); + + setLayout(layout); +} + +VideoPlayer::~VideoPlayer() +{ +} + +void VideoPlayer::openFile() +{ + QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie")); + + if (!fileName.isEmpty()) { + if (surface->isStarted()) + surface->stop(); + + movie.setFileName(fileName); + + playButton->setEnabled(true); + positionSlider->setMaximum(movie.frameCount()); + + movie.jumpToFrame(0); + } +} + +void VideoPlayer::play() +{ + switch(movie.state()) { + case QMovie::NotRunning: + movie.start(); + break; + case QMovie::Paused: + movie.setPaused(false); + break; + case QMovie::Running: + movie.setPaused(true); + break; + } +} + +void VideoPlayer::movieStateChanged(QMovie::MovieState state) +{ + switch(state) { + case QMovie::NotRunning: + case QMovie::Paused: + playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); + break; + case QMovie::Running: + playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause)); + break; + } +} + +void VideoPlayer::frameChanged(int frame) +{ + if (!presentImage(movie.currentImage())) { + movie.stop(); + playButton->setEnabled(false); + positionSlider->setMaximum(0); + } else { + positionSlider->setValue(frame); + } +} + +void VideoPlayer::setPosition(int frame) +{ + movie.jumpToFrame(frame); +} + +bool VideoPlayer::presentImage(const QImage &image) +{ + QVideoFrame frame(image); + + if (!frame.isValid()) + return false; + + QVideoSurfaceFormat currentFormat = surface->surfaceFormat(); + + if (frame.pixelFormat() != currentFormat.pixelFormat() + || frame.size() != currentFormat.frameSize()) { + QVideoSurfaceFormat format(frame.size(), frame.pixelFormat()); + + if (!surface->start(format)) + return false; + } + + if (!surface->present(frame)) { + surface->stop(); + + return false; + } else { + return true; + } +} diff --git a/examples/multimedia/videowidget/videoplayer.h b/examples/multimedia/videowidget/videoplayer.h new file mode 100644 index 0000000..6547415 --- /dev/null +++ b/examples/multimedia/videowidget/videoplayer.h @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef VIDEOPLAYER_H +#define VIDEOPLAYER_H + +#include +#include + +QT_BEGIN_NAMESPACE +class QAbstractButton; +class QAbstractVideoSurface; +class QSlider; +QT_END_NAMESPACE + +class VideoPlayer : public QWidget +{ + Q_OBJECT +public: + VideoPlayer(QWidget *parent = 0); + ~VideoPlayer(); + +public slots: + void openFile(); + void play(); + +private slots: + void movieStateChanged(QMovie::MovieState state); + void frameChanged(int frame); + void setPosition(int frame); + +private: + bool presentImage(const QImage &image); + + QMovie movie; + QAbstractVideoSurface *surface; + QAbstractButton *playButton; + QSlider *positionSlider; +}; + +#endif diff --git a/examples/multimedia/videowidget/videowidget.cpp b/examples/multimedia/videowidget/videowidget.cpp new file mode 100644 index 0000000..80688e1 --- /dev/null +++ b/examples/multimedia/videowidget/videowidget.cpp @@ -0,0 +1,114 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "videowidget.h" + +#include "videowidgetsurface.h" + +#include + +//! [0] +VideoWidget::VideoWidget(QWidget *parent) + : QWidget(parent) + , surface(0) +{ + setAutoFillBackground(false); + setAttribute(Qt::WA_NoSystemBackground, true); + setAttribute(Qt::WA_PaintOnScreen, true); + + QPalette palette = this->palette(); + palette.setColor(QPalette::Background, Qt::black); + setPalette(palette); + + setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); + + surface = new VideoWidgetSurface(this); +} +//! [0] + +//! [1] +VideoWidget::~VideoWidget() +{ + delete surface; +} +//! [1] + +//! [2] +QSize VideoWidget::sizeHint() const +{ + return surface->surfaceFormat().sizeHint(); +} +//! [2] + + +//! [3] +void VideoWidget::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + + if (surface->isStarted()) { + const QRect videoRect = surface->videoRect(); + + if (!videoRect.contains(event->rect())) { + QRegion region = event->region(); + region.subtract(videoRect); + + QBrush brush = palette().background(); + + foreach (const QRect &rect, region.rects()) + painter.fillRect(rect, brush); + } + + surface->paint(&painter); + } else { + painter.fillRect(event->rect(), palette().background()); + } +} +//! [3] + +//! [4] +void VideoWidget::resizeEvent(QResizeEvent *event) +{ + QWidget::resizeEvent(event); + + surface->updateVideoRect(); +} +//! [4] diff --git a/examples/multimedia/videowidget/videowidget.h b/examples/multimedia/videowidget/videowidget.h new file mode 100644 index 0000000..8c343bf --- /dev/null +++ b/examples/multimedia/videowidget/videowidget.h @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef VIDEOWIDGET_H +#define VIDEOWIDGET_H + +#include "videowidgetsurface.h" + +#include + +QT_BEGIN_NAMESPACE +class QAbstractVideoSurface; +QT_END_NAMESPACE + +class VideoWidgetSurface; + +//! [0] +class VideoWidget : public QWidget +{ + Q_OBJECT +public: + VideoWidget(QWidget *parent = 0); + ~VideoWidget(); + + QAbstractVideoSurface *videoSurface() const { return surface; } + + QSize sizeHint() const; + +protected: + void paintEvent(QPaintEvent *event); + void resizeEvent(QResizeEvent *event); + +private: + VideoWidgetSurface *surface; +}; +//! [0] + +#endif diff --git a/examples/multimedia/videowidget/videowidget.pro b/examples/multimedia/videowidget/videowidget.pro new file mode 100644 index 0000000..3f93745 --- /dev/null +++ b/examples/multimedia/videowidget/videowidget.pro @@ -0,0 +1,25 @@ +TEMPLATE = app + +QT += multimedia + +HEADERS = \ + videoplayer.h \ + videowidget.h \ + videowidgetsurface.h + +SOURCES = \ + main.cpp \ + videoplayer.cpp \ + videowidget.cpp \ + videowidgetsurface.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/videowidget +sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.png images +sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/videowidget +INSTALLS += target sources + +symbian { + TARGET.UID3 = 0xA000D7C3 + include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) +} diff --git a/examples/multimedia/videowidget/videowidgetsurface.cpp b/examples/multimedia/videowidget/videowidgetsurface.cpp new file mode 100644 index 0000000..ec9b8b5 --- /dev/null +++ b/examples/multimedia/videowidget/videowidgetsurface.cpp @@ -0,0 +1,175 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "videowidgetsurface.h" + +#include + +VideoWidgetSurface::VideoWidgetSurface(QWidget *widget, QObject *parent) + : QAbstractVideoSurface(parent) + , widget(widget) + , imageFormat(QImage::Format_Invalid) +{ +} + +//! [0] +QList VideoWidgetSurface::supportedPixelFormats( + QAbstractVideoBuffer::HandleType handleType) const +{ + if (handleType == QAbstractVideoBuffer::NoHandle) { + return QList() + << QVideoFrame::Format_RGB32 + << QVideoFrame::Format_ARGB32 + << QVideoFrame::Format_ARGB32_Premultiplied + << QVideoFrame::Format_RGB565 + << QVideoFrame::Format_RGB555; + } else { + return QList(); + } +} +//! [0] + +//! [1] +bool VideoWidgetSurface::isFormatSupported( + const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const +{ + Q_UNUSED(similar); + + const QImage::Format imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat()); + const QSize size = format.frameSize(); + + return imageFormat != QImage::Format_Invalid + && !size.isEmpty() + && format.handleType() == QAbstractVideoBuffer::NoHandle; +} +//! [1] + +//! [2] +bool VideoWidgetSurface::start(const QVideoSurfaceFormat &format) +{ + const QImage::Format imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat()); + const QSize size = format.frameSize(); + + if (imageFormat != QImage::Format_Invalid && !size.isEmpty()) { + this->imageFormat = imageFormat; + imageSize = size; + sourceRect = format.viewport(); + + QAbstractVideoSurface::start(format); + + widget->updateGeometry(); + updateVideoRect(); + + return true; + } else { + return false; + } +} +//! [2] + +//! [3] +void VideoWidgetSurface::stop() +{ + currentFrame = QVideoFrame(); + targetRect = QRect(); + + QAbstractVideoSurface::stop(); + + widget->update(); +} +//! [3] + +//! [4] +bool VideoWidgetSurface::present(const QVideoFrame &frame) +{ + if (surfaceFormat().pixelFormat() != frame.pixelFormat() + || surfaceFormat().frameSize() != frame.size()) { + setError(IncorrectFormatError); + stop(); + + return false; + } else { + currentFrame = frame; + + widget->repaint(targetRect); + + return true; + } +} +//! [4] + +//! [5] +void VideoWidgetSurface::updateVideoRect() +{ + QSize size = surfaceFormat().sizeHint(); + size.scale(widget->size().boundedTo(size), Qt::KeepAspectRatio); + + targetRect = QRect(QPoint(0, 0), size); + targetRect.moveCenter(widget->rect().center()); +} +//! [5] + +//! [6] +void VideoWidgetSurface::paint(QPainter *painter) +{ + if (currentFrame.map(QAbstractVideoBuffer::ReadOnly)) { + const QTransform oldTransform = painter->transform(); + + if (surfaceFormat().scanLineDirection() == QVideoSurfaceFormat::BottomToTop) { + painter->scale(1, -1); + painter->translate(0, -widget->height()); + } + + QImage image( + currentFrame.bits(), + currentFrame.width(), + currentFrame.height(), + currentFrame.bytesPerLine(), + imageFormat); + + painter->drawImage(targetRect, image, sourceRect); + + painter->setTransform(oldTransform); + + currentFrame.unmap(); + } +} +//! [6] diff --git a/examples/multimedia/videowidget/videowidgetsurface.h b/examples/multimedia/videowidget/videowidgetsurface.h new file mode 100644 index 0000000..83439d3 --- /dev/null +++ b/examples/multimedia/videowidget/videowidgetsurface.h @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef VIDEOWIDGETSURFACE_H +#define VIDEOWIDGETSURFACE_H + +#include +#include +#include +#include + +//! [0] +class VideoWidgetSurface : public QAbstractVideoSurface +{ + Q_OBJECT +public: + VideoWidgetSurface(QWidget *widget, QObject *parent = 0); + + QList supportedPixelFormats( + QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const; + bool isFormatSupported(const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const; + + bool start(const QVideoSurfaceFormat &format); + void stop(); + + bool present(const QVideoFrame &frame); + + QRect videoRect() const { return targetRect; } + void updateVideoRect(); + + void paint(QPainter *painter); + +private: + QWidget *widget; + QImage::Format imageFormat; + QRect targetRect; + QSize imageSize; + QRect sourceRect; + QVideoFrame currentFrame; +}; +//! [0] + +#endif diff --git a/examples/video/video.pro b/examples/video/video.pro deleted file mode 100644 index f0b63b6..0000000 --- a/examples/video/video.pro +++ /dev/null @@ -1,6 +0,0 @@ -TEMPLATE = subdirs - -SUBDIRS += \ - videographicsitem \ - videowidget - diff --git a/examples/video/videographicsitem/main.cpp b/examples/video/videographicsitem/main.cpp deleted file mode 100644 index 3bf4c6d..0000000 --- a/examples/video/videographicsitem/main.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "videoplayer.h" - -#include - -int main(int argc, char **argv) -{ - QApplication app(argc, argv); - - VideoPlayer player; - player.show(); - - return app.exec(); -} - diff --git a/examples/video/videographicsitem/videographicsitem.pro b/examples/video/videographicsitem/videographicsitem.pro deleted file mode 100644 index d79c3fb..0000000 --- a/examples/video/videographicsitem/videographicsitem.pro +++ /dev/null @@ -1,21 +0,0 @@ -QT += multimedia - -contains(QT_CONFIG, opengl): QT += opengl - -HEADERS += videoplayer.h \ - videoitem.h - -SOURCES += main.cpp \ - videoplayer.cpp \ - videoitem.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/video/videographicsitem -sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.png images -sources.path = $$[QT_INSTALL_EXAMPLES]/video/videographicsitem -INSTALLS += target sources - -symbian { - TARGET.UID3 = 0xA000D7C2 - include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) -} diff --git a/examples/video/videographicsitem/videoitem.cpp b/examples/video/videographicsitem/videoitem.cpp deleted file mode 100644 index c95e335..0000000 --- a/examples/video/videographicsitem/videoitem.cpp +++ /dev/null @@ -1,144 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "videoitem.h" - -#include - -VideoItem::VideoItem(QGraphicsItem *parent) - : QGraphicsItem(parent) - , imageFormat(QImage::Format_Invalid) - , framePainted(false) -{ -} - -VideoItem::~VideoItem() -{ -} - -QRectF VideoItem::boundingRect() const -{ - return QRectF(QPointF(0,0), surfaceFormat().sizeHint()); -} - -void VideoItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) -{ - Q_UNUSED(option); - Q_UNUSED(widget); - - if (currentFrame.map(QAbstractVideoBuffer::ReadOnly)) { - const QTransform oldTransform = painter->transform(); - - if (surfaceFormat().scanLineDirection() == QVideoSurfaceFormat::BottomToTop) { - painter->scale(1, -1); - painter->translate(0, -boundingRect().height()); - } - - painter->drawImage(boundingRect(), QImage( - currentFrame.bits(), - imageSize.width(), - imageSize.height(), - imageFormat)); - - painter->setTransform(oldTransform); - - framePainted = true; - - currentFrame.unmap(); - } -} - -QList VideoItem::supportedPixelFormats( - QAbstractVideoBuffer::HandleType handleType) const -{ - if (handleType == QAbstractVideoBuffer::NoHandle) { - return QList() - << QVideoFrame::Format_RGB32 - << QVideoFrame::Format_ARGB32 - << QVideoFrame::Format_ARGB32_Premultiplied - << QVideoFrame::Format_RGB565 - << QVideoFrame::Format_RGB555; - } else { - return QList(); - } -} - -bool VideoItem::start(const QVideoSurfaceFormat &format) -{ - if (isFormatSupported(format)) { - imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat()); - imageSize = format.frameSize(); - framePainted = true; - - QAbstractVideoSurface::start(format); - - prepareGeometryChange(); - - return true; - } else { - return false; - } -} - -void VideoItem::stop() -{ - currentFrame = QVideoFrame(); - framePainted = false; - - QAbstractVideoSurface::stop(); -} - -bool VideoItem::present(const QVideoFrame &frame) -{ - if (!framePainted) { - if (!isStarted()) - setError(StoppedError); - - return false; - } else { - currentFrame = frame; - framePainted = false; - - update(); - - return true; - } -} diff --git a/examples/video/videographicsitem/videoitem.h b/examples/video/videographicsitem/videoitem.h deleted file mode 100644 index 96f578a..0000000 --- a/examples/video/videographicsitem/videoitem.h +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef VIDEOITEM_H -#define VIDEOITEM_H - -#include -#include - -class VideoItem - : public QAbstractVideoSurface, - public QGraphicsItem -{ - Q_OBJECT - Q_INTERFACES(QGraphicsItem) -public: - explicit VideoItem(QGraphicsItem *parentItem = 0); - ~VideoItem(); - - QRectF boundingRect() const; - void paint( - QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); - - //video surface - QList supportedPixelFormats( - QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const; - - bool start(const QVideoSurfaceFormat &format); - void stop(); - bool present(const QVideoFrame &frame); - -private: - QImage::Format imageFormat; - QSize imageSize; - - QVideoFrame currentFrame; - bool framePainted; -}; - -#endif - diff --git a/examples/video/videographicsitem/videoplayer.cpp b/examples/video/videographicsitem/videoplayer.cpp deleted file mode 100644 index 83644db..0000000 --- a/examples/video/videographicsitem/videoplayer.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "videoplayer.h" -#include "videoitem.h" - -#include - -#ifndef QT_NO_OPENGL -# include -#endif - -VideoPlayer::VideoPlayer(QWidget *parent, Qt::WindowFlags flags) - : QWidget(parent, flags) - , videoItem(0) - , playButton(0) - , positionSlider(0) -{ - connect(&movie, SIGNAL(stateChanged(QMovie::MovieState)), - this, SLOT(movieStateChanged(QMovie::MovieState))); - connect(&movie, SIGNAL(frameChanged(int)), - this, SLOT(frameChanged(int))); - - videoItem = new VideoItem; - - QGraphicsScene *scene = new QGraphicsScene(this); - QGraphicsView *graphicsView = new QGraphicsView(scene); - -#ifndef QT_NO_OPENGL - graphicsView->setViewport(new QGLWidget); -#endif - - scene->addItem(videoItem); - - QSlider *rotateSlider = new QSlider(Qt::Horizontal); - rotateSlider->setRange(-180, 180); - rotateSlider->setValue(0); - - connect(rotateSlider, SIGNAL(valueChanged(int)), - this, SLOT(rotateVideo(int))); - - QAbstractButton *openButton = new QPushButton(tr("Open...")); - connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); - - playButton = new QPushButton; - playButton->setEnabled(false); - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); - - connect(playButton, SIGNAL(clicked()), - this, SLOT(play())); - - positionSlider = new QSlider(Qt::Horizontal); - positionSlider->setRange(0, 0); - - connect(positionSlider, SIGNAL(sliderMoved(int)), - this, SLOT(setPosition(int))); - - connect(&movie, SIGNAL(frameChanged(int)), - positionSlider, SLOT(setValue(int))); - - QBoxLayout *controlLayout = new QHBoxLayout; - controlLayout->setMargin(0); - controlLayout->addWidget(openButton); - controlLayout->addWidget(playButton); - controlLayout->addWidget(positionSlider); - - QBoxLayout *layout = new QVBoxLayout; - layout->addWidget(graphicsView); - layout->addWidget(rotateSlider); - layout->addLayout(controlLayout); - - setLayout(layout); -} - -VideoPlayer::~VideoPlayer() -{ -} - -void VideoPlayer::openFile() -{ - QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie")); - - if (!fileName.isEmpty()) { - if (videoItem->isStarted()) - videoItem->stop(); - - movie.setFileName(fileName); - - playButton->setEnabled(true); - positionSlider->setMaximum(movie.frameCount()); - - movie.jumpToFrame(0); - } -} - -void VideoPlayer::play() -{ - switch(movie.state()) { - case QMovie::NotRunning: - movie.start(); - break; - case QMovie::Paused: - movie.setPaused(false); - break; - case QMovie::Running: - movie.setPaused(true); - break; - } -} - -void VideoPlayer::movieStateChanged(QMovie::MovieState state) -{ - switch(state) { - case QMovie::NotRunning: - case QMovie::Paused: - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); - break; - case QMovie::Running: - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause)); - break; - } -} - -void VideoPlayer::frameChanged(int frame) -{ - if (!presentImage(movie.currentImage())) { - movie.stop(); - playButton->setEnabled(false); - positionSlider->setMaximum(0); - } else { - positionSlider->setValue(frame); - } -} - -void VideoPlayer::setPosition(int frame) -{ - movie.jumpToFrame(frame); -} - -void VideoPlayer::rotateVideo(int angle) -{ - //rotate around the center of video element - qreal x = videoItem->boundingRect().width() / 2.0; - qreal y = videoItem->boundingRect().height() / 2.0; - videoItem->setTransform(QTransform().translate(x, y).rotate(angle).translate(-x, -y)); -} - -bool VideoPlayer::presentImage(const QImage &image) -{ - QVideoFrame frame(image); - - if (!frame.isValid()) - return false; - - QVideoSurfaceFormat currentFormat = videoItem->surfaceFormat(); - - if (frame.pixelFormat() != currentFormat.pixelFormat() - || frame.size() != currentFormat.frameSize()) { - QVideoSurfaceFormat format(frame.size(), frame.pixelFormat()); - - if (!videoItem->start(format)) - return false; - } - - if (!videoItem->present(frame)) { - videoItem->stop(); - - return false; - } else { - return true; - } -} diff --git a/examples/video/videographicsitem/videoplayer.h b/examples/video/videographicsitem/videoplayer.h deleted file mode 100644 index 8e73e4c..0000000 --- a/examples/video/videographicsitem/videoplayer.h +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef VIDEOPLAYER_H -#define VIDEOPLAYER_H - -#include -#include - -QT_BEGIN_NAMESPACE -class QAbstractButton; -class QAbstractVideoSurface; -class QSlider; -QT_END_NAMESPACE - - -class VideoItem; - -class VideoPlayer : public QWidget -{ - Q_OBJECT -public: - VideoPlayer(QWidget *parent = 0, Qt::WindowFlags flags = 0); - ~VideoPlayer(); - - QSize sizeHint() const { return QSize(800, 600); } - -public slots: - void openFile(); - void play(); - -private slots: - void movieStateChanged(QMovie::MovieState state); - void frameChanged(int frame); - void setPosition(int frame); - void rotateVideo(int angle); - -private: - bool presentImage(const QImage &image); - - QMovie movie; - VideoItem *videoItem; - QAbstractButton *playButton; - QSlider *positionSlider; -}; - -#endif - diff --git a/examples/video/videowidget/main.cpp b/examples/video/videowidget/main.cpp deleted file mode 100644 index f5edf73..0000000 --- a/examples/video/videowidget/main.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "videoplayer.h" - -#include - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - - VideoPlayer player; - player.show(); - - return app.exec(); -} diff --git a/examples/video/videowidget/videoplayer.cpp b/examples/video/videowidget/videoplayer.cpp deleted file mode 100644 index ed24714..0000000 --- a/examples/video/videowidget/videoplayer.cpp +++ /dev/null @@ -1,183 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "videoplayer.h" - -#include "videowidget.h" - -#include - -VideoPlayer::VideoPlayer(QWidget *parent) - : QWidget(parent) - , surface(0) - , playButton(0) - , positionSlider(0) -{ - connect(&movie, SIGNAL(stateChanged(QMovie::MovieState)), - this, SLOT(movieStateChanged(QMovie::MovieState))); - connect(&movie, SIGNAL(frameChanged(int)), - this, SLOT(frameChanged(int))); - - VideoWidget *videoWidget = new VideoWidget; - surface = videoWidget->videoSurface(); - - QAbstractButton *openButton = new QPushButton(tr("Open...")); - connect(openButton, SIGNAL(clicked()), this, SLOT(openFile())); - - playButton = new QPushButton; - playButton->setEnabled(false); - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); - - connect(playButton, SIGNAL(clicked()), - this, SLOT(play())); - - positionSlider = new QSlider(Qt::Horizontal); - positionSlider->setRange(0, 0); - - connect(positionSlider, SIGNAL(sliderMoved(int)), - this, SLOT(setPosition(int))); - - connect(&movie, SIGNAL(frameChanged(int)), - positionSlider, SLOT(setValue(int))); - - QBoxLayout *controlLayout = new QHBoxLayout; - controlLayout->setMargin(0); - controlLayout->addWidget(openButton); - controlLayout->addWidget(playButton); - controlLayout->addWidget(positionSlider); - - QBoxLayout *layout = new QVBoxLayout; - layout->addWidget(videoWidget); - layout->addLayout(controlLayout); - - setLayout(layout); -} - -VideoPlayer::~VideoPlayer() -{ -} - -void VideoPlayer::openFile() -{ - QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie")); - - if (!fileName.isEmpty()) { - if (surface->isStarted()) - surface->stop(); - - movie.setFileName(fileName); - - playButton->setEnabled(true); - positionSlider->setMaximum(movie.frameCount()); - - movie.jumpToFrame(0); - } -} - -void VideoPlayer::play() -{ - switch(movie.state()) { - case QMovie::NotRunning: - movie.start(); - break; - case QMovie::Paused: - movie.setPaused(false); - break; - case QMovie::Running: - movie.setPaused(true); - break; - } -} - -void VideoPlayer::movieStateChanged(QMovie::MovieState state) -{ - switch(state) { - case QMovie::NotRunning: - case QMovie::Paused: - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); - break; - case QMovie::Running: - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause)); - break; - } -} - -void VideoPlayer::frameChanged(int frame) -{ - if (!presentImage(movie.currentImage())) { - movie.stop(); - playButton->setEnabled(false); - positionSlider->setMaximum(0); - } else { - positionSlider->setValue(frame); - } -} - -void VideoPlayer::setPosition(int frame) -{ - movie.jumpToFrame(frame); -} - -bool VideoPlayer::presentImage(const QImage &image) -{ - QVideoFrame frame(image); - - if (!frame.isValid()) - return false; - - QVideoSurfaceFormat currentFormat = surface->surfaceFormat(); - - if (frame.pixelFormat() != currentFormat.pixelFormat() - || frame.size() != currentFormat.frameSize()) { - QVideoSurfaceFormat format(frame.size(), frame.pixelFormat()); - - if (!surface->start(format)) - return false; - } - - if (!surface->present(frame)) { - surface->stop(); - - return false; - } else { - return true; - } -} diff --git a/examples/video/videowidget/videoplayer.h b/examples/video/videowidget/videoplayer.h deleted file mode 100644 index 6547415..0000000 --- a/examples/video/videowidget/videoplayer.h +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef VIDEOPLAYER_H -#define VIDEOPLAYER_H - -#include -#include - -QT_BEGIN_NAMESPACE -class QAbstractButton; -class QAbstractVideoSurface; -class QSlider; -QT_END_NAMESPACE - -class VideoPlayer : public QWidget -{ - Q_OBJECT -public: - VideoPlayer(QWidget *parent = 0); - ~VideoPlayer(); - -public slots: - void openFile(); - void play(); - -private slots: - void movieStateChanged(QMovie::MovieState state); - void frameChanged(int frame); - void setPosition(int frame); - -private: - bool presentImage(const QImage &image); - - QMovie movie; - QAbstractVideoSurface *surface; - QAbstractButton *playButton; - QSlider *positionSlider; -}; - -#endif diff --git a/examples/video/videowidget/videowidget.cpp b/examples/video/videowidget/videowidget.cpp deleted file mode 100644 index 80688e1..0000000 --- a/examples/video/videowidget/videowidget.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "videowidget.h" - -#include "videowidgetsurface.h" - -#include - -//! [0] -VideoWidget::VideoWidget(QWidget *parent) - : QWidget(parent) - , surface(0) -{ - setAutoFillBackground(false); - setAttribute(Qt::WA_NoSystemBackground, true); - setAttribute(Qt::WA_PaintOnScreen, true); - - QPalette palette = this->palette(); - palette.setColor(QPalette::Background, Qt::black); - setPalette(palette); - - setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); - - surface = new VideoWidgetSurface(this); -} -//! [0] - -//! [1] -VideoWidget::~VideoWidget() -{ - delete surface; -} -//! [1] - -//! [2] -QSize VideoWidget::sizeHint() const -{ - return surface->surfaceFormat().sizeHint(); -} -//! [2] - - -//! [3] -void VideoWidget::paintEvent(QPaintEvent *event) -{ - QPainter painter(this); - - if (surface->isStarted()) { - const QRect videoRect = surface->videoRect(); - - if (!videoRect.contains(event->rect())) { - QRegion region = event->region(); - region.subtract(videoRect); - - QBrush brush = palette().background(); - - foreach (const QRect &rect, region.rects()) - painter.fillRect(rect, brush); - } - - surface->paint(&painter); - } else { - painter.fillRect(event->rect(), palette().background()); - } -} -//! [3] - -//! [4] -void VideoWidget::resizeEvent(QResizeEvent *event) -{ - QWidget::resizeEvent(event); - - surface->updateVideoRect(); -} -//! [4] diff --git a/examples/video/videowidget/videowidget.h b/examples/video/videowidget/videowidget.h deleted file mode 100644 index 8c343bf..0000000 --- a/examples/video/videowidget/videowidget.h +++ /dev/null @@ -1,76 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef VIDEOWIDGET_H -#define VIDEOWIDGET_H - -#include "videowidgetsurface.h" - -#include - -QT_BEGIN_NAMESPACE -class QAbstractVideoSurface; -QT_END_NAMESPACE - -class VideoWidgetSurface; - -//! [0] -class VideoWidget : public QWidget -{ - Q_OBJECT -public: - VideoWidget(QWidget *parent = 0); - ~VideoWidget(); - - QAbstractVideoSurface *videoSurface() const { return surface; } - - QSize sizeHint() const; - -protected: - void paintEvent(QPaintEvent *event); - void resizeEvent(QResizeEvent *event); - -private: - VideoWidgetSurface *surface; -}; -//! [0] - -#endif diff --git a/examples/video/videowidget/videowidget.pro b/examples/video/videowidget/videowidget.pro deleted file mode 100644 index 4a1d717..0000000 --- a/examples/video/videowidget/videowidget.pro +++ /dev/null @@ -1,19 +0,0 @@ -TEMPLATE = app - -QT += multimedia - -HEADERS = \ - videoplayer.h \ - videowidget.h \ - videowidgetsurface.h - -SOURCES = \ - main.cpp \ - videoplayer.cpp \ - videowidget.cpp \ - videowidgetsurface.cpp - -symbian { - TARGET.UID3 = 0xA000D7C3 - include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) -} diff --git a/examples/video/videowidget/videowidgetsurface.cpp b/examples/video/videowidget/videowidgetsurface.cpp deleted file mode 100644 index ec9b8b5..0000000 --- a/examples/video/videowidget/videowidgetsurface.cpp +++ /dev/null @@ -1,175 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "videowidgetsurface.h" - -#include - -VideoWidgetSurface::VideoWidgetSurface(QWidget *widget, QObject *parent) - : QAbstractVideoSurface(parent) - , widget(widget) - , imageFormat(QImage::Format_Invalid) -{ -} - -//! [0] -QList VideoWidgetSurface::supportedPixelFormats( - QAbstractVideoBuffer::HandleType handleType) const -{ - if (handleType == QAbstractVideoBuffer::NoHandle) { - return QList() - << QVideoFrame::Format_RGB32 - << QVideoFrame::Format_ARGB32 - << QVideoFrame::Format_ARGB32_Premultiplied - << QVideoFrame::Format_RGB565 - << QVideoFrame::Format_RGB555; - } else { - return QList(); - } -} -//! [0] - -//! [1] -bool VideoWidgetSurface::isFormatSupported( - const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const -{ - Q_UNUSED(similar); - - const QImage::Format imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat()); - const QSize size = format.frameSize(); - - return imageFormat != QImage::Format_Invalid - && !size.isEmpty() - && format.handleType() == QAbstractVideoBuffer::NoHandle; -} -//! [1] - -//! [2] -bool VideoWidgetSurface::start(const QVideoSurfaceFormat &format) -{ - const QImage::Format imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat()); - const QSize size = format.frameSize(); - - if (imageFormat != QImage::Format_Invalid && !size.isEmpty()) { - this->imageFormat = imageFormat; - imageSize = size; - sourceRect = format.viewport(); - - QAbstractVideoSurface::start(format); - - widget->updateGeometry(); - updateVideoRect(); - - return true; - } else { - return false; - } -} -//! [2] - -//! [3] -void VideoWidgetSurface::stop() -{ - currentFrame = QVideoFrame(); - targetRect = QRect(); - - QAbstractVideoSurface::stop(); - - widget->update(); -} -//! [3] - -//! [4] -bool VideoWidgetSurface::present(const QVideoFrame &frame) -{ - if (surfaceFormat().pixelFormat() != frame.pixelFormat() - || surfaceFormat().frameSize() != frame.size()) { - setError(IncorrectFormatError); - stop(); - - return false; - } else { - currentFrame = frame; - - widget->repaint(targetRect); - - return true; - } -} -//! [4] - -//! [5] -void VideoWidgetSurface::updateVideoRect() -{ - QSize size = surfaceFormat().sizeHint(); - size.scale(widget->size().boundedTo(size), Qt::KeepAspectRatio); - - targetRect = QRect(QPoint(0, 0), size); - targetRect.moveCenter(widget->rect().center()); -} -//! [5] - -//! [6] -void VideoWidgetSurface::paint(QPainter *painter) -{ - if (currentFrame.map(QAbstractVideoBuffer::ReadOnly)) { - const QTransform oldTransform = painter->transform(); - - if (surfaceFormat().scanLineDirection() == QVideoSurfaceFormat::BottomToTop) { - painter->scale(1, -1); - painter->translate(0, -widget->height()); - } - - QImage image( - currentFrame.bits(), - currentFrame.width(), - currentFrame.height(), - currentFrame.bytesPerLine(), - imageFormat); - - painter->drawImage(targetRect, image, sourceRect); - - painter->setTransform(oldTransform); - - currentFrame.unmap(); - } -} -//! [6] diff --git a/examples/video/videowidget/videowidgetsurface.h b/examples/video/videowidget/videowidgetsurface.h deleted file mode 100644 index 83439d3..0000000 --- a/examples/video/videowidget/videowidgetsurface.h +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef VIDEOWIDGETSURFACE_H -#define VIDEOWIDGETSURFACE_H - -#include -#include -#include -#include - -//! [0] -class VideoWidgetSurface : public QAbstractVideoSurface -{ - Q_OBJECT -public: - VideoWidgetSurface(QWidget *widget, QObject *parent = 0); - - QList supportedPixelFormats( - QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const; - bool isFormatSupported(const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const; - - bool start(const QVideoSurfaceFormat &format); - void stop(); - - bool present(const QVideoFrame &frame); - - QRect videoRect() const { return targetRect; } - void updateVideoRect(); - - void paint(QPainter *painter); - -private: - QWidget *widget; - QImage::Format imageFormat; - QRect targetRect; - QSize imageSize; - QRect sourceRect; - QVideoFrame currentFrame; -}; -//! [0] - -#endif -- cgit v0.12 From 46616a79db9ab11ce726243f12615a478a4c368a Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 16 Oct 2009 12:22:10 +1000 Subject: Implement the strength parameter for OpenVG colorize filters Task-number: QT-2016 Reviewed-by: trustme --- src/openvg/qpaintengine_vg.cpp | 3 -- src/openvg/qpixmapfilter_vg.cpp | 86 +++++++++++++++++++---------------------- src/openvg/qpixmapfilter_vg_p.h | 5 --- 3 files changed, 40 insertions(+), 54 deletions(-) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index e0c99d7..fdd61ea 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -3328,9 +3328,6 @@ QPixmapFilter *QVGPaintEngine::pixmapFilter(int type, const QPixmapFilter *proto d->convolutionFilter.reset(new QVGPixmapConvolutionFilter); return d->convolutionFilter.data(); case QPixmapFilter::ColorizeFilter: - // Strength parameter does not work with current implementation. - if ((static_cast(prototype))->strength() != 1.0f) - break; if (!d->colorizeFilter) d->colorizeFilter.reset(new QVGPixmapColorizeFilter); return d->colorizeFilter.data(); diff --git a/src/openvg/qpixmapfilter_vg.cpp b/src/openvg/qpixmapfilter_vg.cpp index 613f4ea..3305bbb 100644 --- a/src/openvg/qpixmapfilter_vg.cpp +++ b/src/openvg/qpixmapfilter_vg.cpp @@ -123,8 +123,7 @@ void QVGPixmapConvolutionFilter::draw } QVGPixmapColorizeFilter::QVGPixmapColorizeFilter() - : QPixmapColorizeFilter(), - firstTime(true) + : QPixmapColorizeFilter() { } @@ -136,7 +135,7 @@ void QVGPixmapColorizeFilter::draw(QPainter *painter, const QPointF &dest, const { if (src.pixmapData()->classId() != QPixmapData::OpenVGClass) { // The pixmap data is not an instance of QVGPixmapData, so fall - // back to the default convolution filter implementation. + // back to the default colorize filter implementation. QPixmapColorizeFilter::draw(painter, dest, src, srcRect); return; } @@ -154,50 +153,45 @@ void QVGPixmapColorizeFilter::draw(QPainter *painter, const QPointF &dest, const if (dstImage == VG_INVALID_HANDLE) return; - // Recompute the color matrix if the color has changed. + // Determine the weights for the matrix from the color and strength. QColor c = color(); - if (c != prevColor || firstTime) { - prevColor = c; - - // Determine the weights for the matrix from the color. - VGfloat weights[3]; - VGfloat invweights[3]; - VGfloat alpha = c.alphaF(); - weights[0] = c.redF() * alpha; - weights[1] = c.greenF() * alpha; - weights[2] = c.blueF() * alpha; - invweights[0] = 1.0f - weights[0]; - invweights[1] = 1.0f - weights[1]; - invweights[2] = 1.0f - weights[2]; - - // Grayscale weights. - static const VGfloat redGray = 11.0f / 32.0f; - static const VGfloat greenGray = 16.0f / 32.0f; - static const VGfloat blueGray = 1.0f - (redGray + greenGray); - - matrix[0][0] = redGray * invweights[0]; - matrix[0][1] = redGray * invweights[1]; - matrix[0][2] = redGray * invweights[2]; - matrix[0][3] = 0.0f; - matrix[1][0] = greenGray * invweights[0]; - matrix[1][1] = greenGray * invweights[1]; - matrix[1][2] = greenGray * invweights[2]; - matrix[1][3] = 0.0f; - matrix[2][0] = blueGray * invweights[0]; - matrix[2][1] = blueGray * invweights[1]; - matrix[2][2] = blueGray * invweights[2]; - matrix[2][3] = 0.0f; - matrix[3][0] = 0.0f; - matrix[3][1] = 0.0f; - matrix[3][2] = 0.0f; - matrix[3][3] = 1.0f; - matrix[4][0] = weights[0]; - matrix[4][1] = weights[1]; - matrix[4][2] = weights[2]; - matrix[4][3] = 0.0f; - } - - firstTime = false; + VGfloat strength = this->strength(); + VGfloat weights[3]; + VGfloat invweights[3]; + VGfloat alpha = c.alphaF(); + weights[0] = c.redF() * alpha; + weights[1] = c.greenF() * alpha; + weights[2] = c.blueF() * alpha; + invweights[0] = (1.0f - weights[0]) * strength; + invweights[1] = (1.0f - weights[1]) * strength; + invweights[2] = (1.0f - weights[2]) * strength; + + // Grayscale weights. + static const VGfloat redGray = 11.0f / 32.0f; + static const VGfloat greenGray = 16.0f / 32.0f; + static const VGfloat blueGray = 1.0f - (redGray + greenGray); + + VGfloat matrix[5][4]; + matrix[0][0] = redGray * invweights[0] + (1.0f - strength); + matrix[0][1] = redGray * invweights[1]; + matrix[0][2] = redGray * invweights[2]; + matrix[0][3] = 0.0f; + matrix[1][0] = greenGray * invweights[0]; + matrix[1][1] = greenGray * invweights[1] + (1.0f - strength); + matrix[1][2] = greenGray * invweights[2]; + matrix[1][3] = 0.0f; + matrix[2][0] = blueGray * invweights[0]; + matrix[2][1] = blueGray * invweights[1]; + matrix[2][2] = blueGray * invweights[2] + (1.0f - strength); + matrix[2][3] = 0.0f; + matrix[3][0] = 0.0f; + matrix[3][1] = 0.0f; + matrix[3][2] = 0.0f; + matrix[3][3] = 1.0f; + matrix[4][0] = weights[0] * strength; + matrix[4][1] = weights[1] * strength; + matrix[4][2] = weights[2] * strength; + matrix[4][3] = 0.0f; vgColorMatrix(dstImage, srcImage, matrix[0]); diff --git a/src/openvg/qpixmapfilter_vg_p.h b/src/openvg/qpixmapfilter_vg_p.h index 58111ec..f79b6c2 100644 --- a/src/openvg/qpixmapfilter_vg_p.h +++ b/src/openvg/qpixmapfilter_vg_p.h @@ -79,11 +79,6 @@ public: ~QVGPixmapColorizeFilter(); void draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect) const; - -private: - mutable VGfloat matrix[5][4]; - mutable QColor prevColor; - mutable bool firstTime; }; class Q_OPENVG_EXPORT QVGPixmapDropShadowFilter : public QPixmapDropShadowFilter -- cgit v0.12 From 8ca1bd6fccb080808331f9de056d3915a60917fb Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 16 Oct 2009 12:36:19 +1000 Subject: qdoc: OpenVG supports the blur filter too --- doc/src/howtos/openvg.qdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/howtos/openvg.qdoc b/doc/src/howtos/openvg.qdoc index 42d2357..5de2e22 100644 --- a/doc/src/howtos/openvg.qdoc +++ b/doc/src/howtos/openvg.qdoc @@ -292,8 +292,8 @@ \section2 Pixmap filters - Convolution, colorize, and drop shadow filters are accelerated using - OpenVG operations. + Convolution, colorize, drop shadow, and blur filters are accelerated + using OpenVG operations. \section1 Known issues -- cgit v0.12 From 8e4fa6e87f74cfb3457e8270a361cf30ca7d3593 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 16 Oct 2009 14:48:59 +1000 Subject: Recognize transformed screens when looking for a QGLScreen If the QWS_DISPLAY is specified as "Transformed:powervr:...", then we will encounter QScreen::TransformedClass rather than QScreen::ProxyClass when searching for the QGLScreen. This change makes the code search for both. Task-number: QT-2261 Reviewed-by: Sarah Smith --- src/gui/egl/qegl_qws.cpp | 3 ++- src/opengl/qgl_qws.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/egl/qegl_qws.cpp b/src/gui/egl/qegl_qws.cpp index 590b666..df1179a 100644 --- a/src/gui/egl/qegl_qws.cpp +++ b/src/gui/egl/qegl_qws.cpp @@ -83,7 +83,8 @@ static QScreen *screenForDevice(QPaintDevice *device) screenNumber = 0; screen = screen->subScreens()[screenNumber]; } - while (screen->classId() == QScreen::ProxyClass) { + while (screen->classId() == QScreen::ProxyClass || + screen->classId() == QScreen::TransformedClass) { screen = static_cast(screen)->screen(); } return screen; diff --git a/src/opengl/qgl_qws.cpp b/src/opengl/qgl_qws.cpp index bb23ace..5e59975 100644 --- a/src/opengl/qgl_qws.cpp +++ b/src/opengl/qgl_qws.cpp @@ -73,7 +73,8 @@ static QGLScreen *glScreenForDevice(QPaintDevice *device) screenNumber = 0; screen = screen->subScreens()[screenNumber]; } - while (screen->classId() == QScreen::ProxyClass) { + while (screen->classId() == QScreen::ProxyClass || + screen->classId() == QScreen::TransformedClass) { screen = static_cast(screen)->screen(); } if (screen->classId() == QScreen::GLClass) -- cgit v0.12 From fbe6a9aaae0c6de017af08150678bf2001284178 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 16 Oct 2009 14:48:59 +1000 Subject: Recognize transformed screens when looking for a QGLScreen If the QWS_DISPLAY is specified as "Transformed:powervr:...", then we will encounter QScreen::TransformedClass rather than QScreen::ProxyClass when searching for the QGLScreen. This change makes the code search for both. Task-number: QT-2261 Reviewed-by: Sarah Smith Back port of 8e4fa6e87f74cfb3457e8270a361cf30ca7d3593 --- src/opengl/qegl_qws.cpp | 3 ++- src/opengl/qgl_qws.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/opengl/qegl_qws.cpp b/src/opengl/qegl_qws.cpp index 8d1c8b0..f0433bb 100644 --- a/src/opengl/qegl_qws.cpp +++ b/src/opengl/qegl_qws.cpp @@ -65,7 +65,8 @@ static QGLScreen *glScreenForDevice(QPaintDevice *device) screenNumber = 0; screen = screen->subScreens()[screenNumber]; } - while (screen->classId() == QScreen::ProxyClass) { + while (screen->classId() == QScreen::ProxyClass || + screen->classId() == QScreen::TransformedClass) { screen = static_cast(screen)->screen(); } if (screen->classId() == QScreen::GLClass) diff --git a/src/opengl/qgl_qws.cpp b/src/opengl/qgl_qws.cpp index 4058b66..dd578b2 100644 --- a/src/opengl/qgl_qws.cpp +++ b/src/opengl/qgl_qws.cpp @@ -72,7 +72,8 @@ static QGLScreen *glScreenForDevice(QPaintDevice *device) screenNumber = 0; screen = screen->subScreens()[screenNumber]; } - while (screen->classId() == QScreen::ProxyClass) { + while (screen->classId() == QScreen::ProxyClass || + screen->classId() == QScreen::TransformedClass) { screen = static_cast(screen)->screen(); } if (screen->classId() == QScreen::GLClass) -- cgit v0.12 From 75719e4e06882825fe056935d782b4153bf0ac5b Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 16 Oct 2009 16:45:55 +1000 Subject: Make screen rotation work properly with the PowerVR screen driver Task-number: QT-2261 Reviewed-by: Tom --- .../gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c | 10 ++++ .../gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h | 3 + .../gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h | 1 + .../gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c | 14 ++++- src/plugins/gfxdrivers/powervr/README | 5 ++ .../powervr/pvreglscreen/pvreglscreen.cpp | 67 +++++++++++++++++++++- .../gfxdrivers/powervr/pvreglscreen/pvreglscreen.h | 9 ++- .../powervr/pvreglscreen/pvreglwindowsurface.cpp | 54 ++++++++++++++++- .../powervr/pvreglscreen/pvreglwindowsurface.h | 8 ++- 9 files changed, 162 insertions(+), 9 deletions(-) diff --git a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c index ac9dc8d..c1b655a 100644 --- a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c +++ b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c @@ -617,6 +617,16 @@ void pvrQwsGetGeometry(PvrQwsDrawable *drawable, PvrQwsRect *rect) *rect = drawable->rect; } +void pvrQwsSetRotation(PvrQwsDrawable *drawable, int angle) +{ + if (drawable->rotationAngle != angle) { + drawable->rotationAngle = angle; + + /* Force the buffers to be recreated if the rotation angle changes */ + pvrQwsInvalidateBuffers(drawable); + } +} + int pvrQwsGetStride(PvrQwsDrawable *drawable) { if (drawable->backBuffersValid) diff --git a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h index 952ff6f..b9e035f 100644 --- a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h +++ b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h @@ -126,6 +126,9 @@ void pvrQwsSetGeometry(PvrQwsDrawable *drawable, const PvrQwsRect *rect); /* Get the current geometry for a drawable */ void pvrQwsGetGeometry(PvrQwsDrawable *drawable, PvrQwsRect *rect); +/* Set the rotation angle in degrees */ +void pvrQwsSetRotation(PvrQwsDrawable *drawable, int angle); + /* Get the line stride for a drawable. Returns zero if the buffers are not allocated or have been invalidated */ int pvrQwsGetStride(PvrQwsDrawable *drawable); diff --git a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h index cf80a90..dcd4e4f 100644 --- a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h +++ b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h @@ -114,6 +114,7 @@ struct _PvrQwsDrawable int isFullScreen; int strideBytes; int stridePixels; + int rotationAngle; PvrQwsSwapFunction swapFunction; void *userData; PvrQwsDrawable *nextWinId; diff --git a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c index 253f39f..28b2251 100644 --- a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c +++ b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c @@ -132,6 +132,16 @@ static WSEGLError wseglCloseDisplay(WSEGLDisplayHandle display) return WSEGL_SUCCESS; } +static WSEGLRotationAngle wseglRotationValue(int degrees) +{ + switch (degrees) { + case 90: return WSEGL_ROTATE_90; + case 180: return WSEGL_ROTATE_180; + case 270: return WSEGL_ROTATE_270; + default: return WSEGL_ROTATE_0; + } +} + /* Create the WSEGL drawable version of a native window */ static WSEGLError wseglCreateWindowDrawable (WSEGLDisplayHandle display, WSEGLConfig *config, @@ -152,7 +162,7 @@ static WSEGLError wseglCreateWindowDrawable *drawable = (WSEGLDrawableHandle)screen; if (!pvrQwsAllocBuffers(screen)) return WSEGL_OUT_OF_MEMORY; - *rotationAngle = WSEGL_ROTATE_0; + *rotationAngle = wseglRotationValue(screen->rotationAngle); return WSEGL_SUCCESS; } @@ -163,7 +173,7 @@ static WSEGLError wseglCreateWindowDrawable /* The drawable is ready to go */ *drawable = (WSEGLDrawableHandle)draw; - *rotationAngle = WSEGL_ROTATE_0; + *rotationAngle = wseglRotationValue(draw->rotationAngle); if (!pvrQwsAllocBuffers(draw)) return WSEGL_OUT_OF_MEMORY; return WSEGL_SUCCESS; diff --git a/src/plugins/gfxdrivers/powervr/README b/src/plugins/gfxdrivers/powervr/README index 4dce87f..322a6b2 100644 --- a/src/plugins/gfxdrivers/powervr/README +++ b/src/plugins/gfxdrivers/powervr/README @@ -51,6 +51,11 @@ on the device with: hellogl_es -qws +The driver also supports screen rotation if Qt is configured with the +-qt-gfx-transformed option and the QWS_DISPLAY variable is wrapped in a +"Transformed" declaration: + + Transformed:powervr:mmWidth40:mmHeight54:Rot90:0 Know Issues: * A QGLWidget may not have window decorations if it is a top-level window. diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp index 61f2225..1dec9ea 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp @@ -44,6 +44,9 @@ #include "pvrqwsdrawable_p.h" #include #include +#ifndef QT_NO_QWS_TRANSFORMED +#include +#endif #include #include #include @@ -62,6 +65,7 @@ PvrEglScreen::PvrEglScreen(int displayId) ttyfd = -1; doGraphicsMode = true; oldKdMode = KD_TEXT; + parent = 0; // Make sure that the EGL layer is initialized and the drivers loaded. EGLDisplay dpy = eglGetDisplay((EGLNativeDisplayType)EGL_DEFAULT_DISPLAY); @@ -192,7 +196,7 @@ bool PvrEglScreen::hasOpenGL() QWSWindowSurface* PvrEglScreen::createSurface(QWidget *widget) const { if (qobject_cast(widget)) - return new PvrEglWindowSurface(widget, (QScreen *)this, displayId); + return new PvrEglWindowSurface(widget, (PvrEglScreen *)this, displayId); return QScreen::createSurface(widget); } @@ -206,6 +210,67 @@ QWSWindowSurface* PvrEglScreen::createSurface(const QString &key) const } //![1] +#ifndef QT_NO_QWS_TRANSFORMED + +static const QScreen *parentScreen + (const QScreen *current, const QScreen *lookingFor) +{ + if (!current) + return 0; + switch (current->classId()) { + case QScreen::ProxyClass: + case QScreen::TransformedClass: { + const QScreen *child = + static_cast(current)->screen(); + if (child == lookingFor) + return current; + else + return parentScreen(child, lookingFor); + } + // Not reached. + + case QScreen::MultiClass: { + QList screens = current->subScreens(); + foreach (QScreen *screen, screens) { + if (screen == lookingFor) + return current; + const QScreen *parent = parentScreen(screen, lookingFor); + if (parent) + return parent; + } + } + break; + + default: break; + } + return 0; +} + +int PvrEglScreen::transformation() const +{ + // We need to search for our parent screen, which is assumed to be + // "Transformed". If it isn't, then there is no transformation. + // There is no direct method to get the parent screen so we need + // to search every screen until we find ourselves. + if (!parent && qt_screen != this) + parent = parentScreen(qt_screen, this); + if (!parent) + return 0; + if (parent->classId() != QScreen::TransformedClass) + return 0; + return 90 * static_cast(parent) + ->transformation(); +} + +#else + +int PvrEglScreen::transformation() const +{ + return 0; +} + +#endif + void PvrEglScreen::sync() { // Put code here to synchronize 2D and 3D operations if necessary. diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h index 8bf42c7..5769e70 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h @@ -46,16 +46,18 @@ #include #include "pvrqwsdrawable.h" +class PvrEglScreen; + class PvrEglScreenSurfaceFunctions : public QGLScreenSurfaceFunctions { public: - PvrEglScreenSurfaceFunctions(QScreen *s, int screenNum) + PvrEglScreenSurfaceFunctions(PvrEglScreen *s, int screenNum) : screen(s), displayId(screenNum) {} bool createNativeWindow(QWidget *widget, EGLNativeWindowType *native); private: - QScreen *screen; + PvrEglScreen *screen; int displayId; }; @@ -80,6 +82,8 @@ public: QWSWindowSurface* createSurface(QWidget *widget) const; QWSWindowSurface* createSurface(const QString &key) const; + int transformation() const; + private: void sync(); void openTty(); @@ -89,6 +93,7 @@ private: int ttyfd, oldKdMode; QString ttyDevice; bool doGraphicsMode; + mutable const QScreen *parent; }; #endif diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp index 2c5ac21..4a3787f 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp @@ -46,7 +46,7 @@ #include PvrEglWindowSurface::PvrEglWindowSurface - (QWidget *widget, QScreen *screen, int screenNum) + (QWidget *widget, PvrEglScreen *screen, int screenNum) : QWSGLWindowSurface(widget) { setSurfaceFlags(QWSWindowSurface::Opaque); @@ -63,6 +63,7 @@ PvrEglWindowSurface::PvrEglWindowSurface pvrRect.y = pos.y(); pvrRect.width = size.width(); pvrRect.height = size.height(); + transformRects(&pvrRect, 1); // Try to recover a previous PvrQwsDrawable object for the widget // if there is one. This can happen when a PvrEglWindowSurface @@ -75,6 +76,7 @@ PvrEglWindowSurface::PvrEglWindowSurface pvrQwsSetGeometry(drawable, &pvrRect); else drawable = pvrQwsCreateWindow(screenNum, (long)widget, &pvrRect); + pvrQwsSetRotation(drawable, screen->transformation()); } PvrEglWindowSurface::PvrEglWindowSurface() @@ -113,7 +115,9 @@ void PvrEglWindowSurface::setGeometry(const QRect &rect) pvrRect.y = rect.y(); pvrRect.width = rect.width(); pvrRect.height = rect.height(); + transformRects(&pvrRect, 1); pvrQwsSetGeometry(drawable, &pvrRect); + pvrQwsSetRotation(drawable, screen->transformation()); } QWSGLWindowSurface::setGeometry(rect); } @@ -127,7 +131,9 @@ bool PvrEglWindowSurface::move(const QPoint &offset) pvrRect.y = rect.y(); pvrRect.width = rect.width(); pvrRect.height = rect.height(); + transformRects(&pvrRect, 1); pvrQwsSetGeometry(drawable, &pvrRect); + pvrQwsSetRotation(drawable, screen->transformation()); } return QWSGLWindowSurface::move(offset); } @@ -200,7 +206,9 @@ void PvrEglWindowSurface::setDirectRegion(const QRegion &r, int id) pvrRect.y = rect.y(); pvrRect.width = rect.width(); pvrRect.height = rect.height(); + transformRects(&pvrRect, 1); pvrQwsSetVisibleRegion(drawable, &pvrRect, 1); + pvrQwsSetRotation(drawable, screen->transformation()); if (!pvrQwsSwapBuffers(drawable, 1)) screen->solidFill(QColor(0, 0, 0), region); } else { @@ -213,9 +221,53 @@ void PvrEglWindowSurface::setDirectRegion(const QRegion &r, int id) pvrRects[index].width = rect.width(); pvrRects[index].height = rect.height(); } + transformRects(pvrRects, rects.size()); pvrQwsSetVisibleRegion(drawable, pvrRects, rects.size()); + pvrQwsSetRotation(drawable, screen->transformation()); if (!pvrQwsSwapBuffers(drawable, 1)) screen->solidFill(QColor(0, 0, 0), region); delete [] pvrRects; } } + +void PvrEglWindowSurface::transformRects(PvrQwsRect *rects, int count) const +{ + switch (screen->transformation()) { + case 0: break; + + case 90: + { + for (int index = 0; index < count; ++index) { + int x = rects[index].y; + int y = screen->height() - (rects[index].x + rects[index].width); + rects[index].x = x; + rects[index].y = y; + qSwap(rects[index].width, rects[index].height); + } + } + break; + + case 180: + { + for (int index = 0; index < count; ++index) { + int x = screen->width() - (rects[index].x + rects[index].width); + int y = screen->height() - (rects[index].y + rects[index].height); + rects[index].x = x; + rects[index].y = y; + } + } + break; + + case 270: + { + for (int index = 0; index < count; ++index) { + int x = screen->width() - (rects[index].y + rects[index].height); + int y = rects[index].x; + rects[index].x = x; + rects[index].y = y; + qSwap(rects[index].width, rects[index].height); + } + } + break; + } +} diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h index 58a5fb2..b0a161c 100644 --- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h +++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h @@ -45,12 +45,12 @@ #include #include "pvrqwsdrawable.h" -class QScreen; +class PvrEglScreen; class PvrEglWindowSurface : public QWSGLWindowSurface { public: - PvrEglWindowSurface(QWidget *widget, QScreen *screen, int screenNum); + PvrEglWindowSurface(QWidget *widget, PvrEglScreen *screen, int screenNum); PvrEglWindowSurface(); ~PvrEglWindowSurface(); @@ -76,8 +76,10 @@ public: private: QWidget *widget; PvrQwsDrawable *drawable; - QScreen *screen; + PvrEglScreen *screen; QPaintDevice *pdevice; + + void transformRects(PvrQwsRect *rects, int count) const; }; #endif -- cgit v0.12 From 43b39e75e88f7765f5203019a8e371677d69abf1 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 16 Oct 2009 10:10:03 +0300 Subject: Corrected QT_BUILD_PARTS handling for Symbian in projects.pro. Changed QT_BUILD_PARTS to be set in projects.pro only when it's empty also in Symbian, since configure now correctly sets it in .qmake.cache. Task-number: QT-1018 Reviewed-by: Janne Koskinen --- projects.pro | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/projects.pro b/projects.pro index 2a6a956..aa1eb71 100644 --- a/projects.pro +++ b/projects.pro @@ -8,7 +8,11 @@ TEMPLATE = subdirs cross_compile: CONFIG += nostrip isEmpty(QT_BUILD_PARTS) { #defaults - QT_BUILD_PARTS = libs tools examples demos docs translations + symbian { + QT_BUILD_PARTS = libs tools examples demos + } else { + QT_BUILD_PARTS = libs tools examples demos docs translations + } } else { #make sure the order makes sense contains(QT_BUILD_PARTS, translations) { QT_BUILD_PARTS -= translations @@ -28,10 +32,6 @@ isEmpty(QT_BUILD_PARTS) { #defaults } } -symbian { - QT_BUILD_PARTS = libs tools examples demos -} - #process the projects for(PROJECT, $$list($$lower($$unique(QT_BUILD_PARTS)))) { isEqual(PROJECT, tools) { -- cgit v0.12 From 0175a0c4a5aff3294891cdbed95a06fa9a658417 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 16 Oct 2009 11:28:14 +0300 Subject: Fixed uitools.prf to include QtUiTools.lib statically in Symbian Using just -lQtUiTools instead of -lQtUiTools.lib will make qmake attempt to autodetect whether or not the lib is static or dynamic, which will not work since QtUiTools is not necessarily yet built. Task-number: QT-1018 Reviewed-by: Janne Koskinen --- mkspecs/features/uitools.prf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mkspecs/features/uitools.prf b/mkspecs/features/uitools.prf index 6eba066..2d14b04 100644 --- a/mkspecs/features/uitools.prf +++ b/mkspecs/features/uitools.prf @@ -2,7 +2,9 @@ QT += xml qt:load(qt) # Include the correct version of the UiLoader library -QTUITOOLS_LINKAGE = -lQtUiTools +symbian: QTUITOOLS_LINKAGE = -lQtUiTools.lib +else: QTUITOOLS_LINKAGE = -lQtUiTools + CONFIG(debug, debug|release) { mac: QTUITOOLS_LINKAGE = -lQtUiTools_debug win32: QTUITOOLS_LINKAGE = -lQtUiToolsd -- cgit v0.12 From 13987aea1672149ff2ebcfde33cc611db7548923 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Fri, 16 Oct 2009 10:46:11 +0200 Subject: Networking documentation: Small improvement Task-number: 262144 Reviewed-by: TrustMe --- src/network/access/qnetworkaccessmanager.cpp | 3 ++- src/network/access/qnetworkreply.cpp | 3 ++- src/network/access/qnetworkrequest.cpp | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 439d564..b1160aa 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -95,9 +95,10 @@ static void ensureInitialized() /*! \class QNetworkAccessManager \brief The QNetworkAccessManager class allows the application to - post network requests and receive replies + send network requests and receive replies \since 4.4 + \ingroup network \inmodule QtNetwork \reentrant diff --git a/src/network/access/qnetworkreply.cpp b/src/network/access/qnetworkreply.cpp index 4eb53bf..9ab4057 100644 --- a/src/network/access/qnetworkreply.cpp +++ b/src/network/access/qnetworkreply.cpp @@ -59,9 +59,10 @@ QNetworkReplyPrivate::QNetworkReplyPrivate() \class QNetworkReply \since 4.4 \brief The QNetworkReply class contains the data and headers for a request - posted with QNetworkAccessManager + sent with QNetworkAccessManager \reentrant + \ingroup network \inmodule QtNetwork The QNetworkReply class contains the data and meta data related to diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index 33bc57b..86195c6 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE /*! \class QNetworkRequest - \brief The QNetworkRequest class holds one request to be sent with the Network Access API. + \brief The QNetworkRequest class holds a request to be sent with QNetworkAccessManager. \since 4.4 \ingroup network -- cgit v0.12 From 93c7ab5a2b10481e4f10a6477379d8157ae5f7b0 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Fri, 16 Oct 2009 10:47:58 +0200 Subject: doc: Fixed the wording in some \brief commands. --- src/gui/s60framework/qs60mainappui.cpp | 2 +- src/gui/s60framework/qs60maindocument.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/s60framework/qs60mainappui.cpp b/src/gui/s60framework/qs60mainappui.cpp index 611ca59..e630253 100644 --- a/src/gui/s60framework/qs60mainappui.cpp +++ b/src/gui/s60framework/qs60mainappui.cpp @@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE /*! \class QS60MainAppUi \since 4.6 - \brief Helper class for S60 migration + \brief The QS60MainAppUi class is a helper class for S60 migration. \warning This class is provided only to get access to S60 specific functionality in the application framework classes. It is not diff --git a/src/gui/s60framework/qs60maindocument.cpp b/src/gui/s60framework/qs60maindocument.cpp index 54df17e..7405784 100644 --- a/src/gui/s60framework/qs60maindocument.cpp +++ b/src/gui/s60framework/qs60maindocument.cpp @@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE /*! \class QS60MainDocument \since 4.6 - \brief Helper class for S60 migration + \brief The QS60MainDocument class is a helper class for S60 migration. \warning This class is provided only to get access to S60 specific functionality in the application framework classes. It is not -- cgit v0.12 From e7a92a1b9ff31cf036982bee1221d7e7cb3aea6a Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Thu, 15 Oct 2009 16:35:45 +0200 Subject: QNetworkProxyFactory: Never return empty list on windows Task-number: Salesforce 00062670 Reviewed-by: Thiago --- src/network/kernel/qnetworkproxy_win.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/network/kernel/qnetworkproxy_win.cpp b/src/network/kernel/qnetworkproxy_win.cpp index f0fff2f..2100215 100644 --- a/src/network/kernel/qnetworkproxy_win.cpp +++ b/src/network/kernel/qnetworkproxy_win.cpp @@ -398,7 +398,12 @@ QList QNetworkProxyFactory::systemProxyForQuery(const QNetworkPro if (isBypassed(query.peerHostName(), sp->proxyBypass)) return sp->defaultResult; - return parseServerList(query, sp->proxyServerList); + QList result = parseServerList(query, sp->proxyServerList); + // In some cases, this was empty. See SF task 00062670 + if (result.isEmpty()) + return sp->defaultResult; + + return result; } #else // !UNICODE -- cgit v0.12 From 2e1811d128c29b4e9fb01790d5a1f7a01b8f395c Mon Sep 17 00:00:00 2001 From: Rohan McGovern Date: Fri, 16 Oct 2009 11:56:09 +0200 Subject: Fixed `-debug' option to cetest deploying release DLLs. cetest was processing .pro files without build_pass set. That's wrong, as it means the qmake logic is set up for generating the debug-and-release glue project instead of the real project. Until commit 75b41faff44a1488d88eca6e910d4b617cb42221, it didn't matter. After that commit, cetest would always try to deploy release versions of Qt DLLs even when run with `-debug'. Reviewed-by: joerg --- tools/qtestlib/wince/cetest/main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/qtestlib/wince/cetest/main.cpp b/tools/qtestlib/wince/cetest/main.cpp index 9df70e7..e00c0e7 100644 --- a/tools/qtestlib/wince/cetest/main.cpp +++ b/tools/qtestlib/wince/cetest/main.cpp @@ -237,6 +237,8 @@ int main(int argc, char **argv) debugOutput(QString::fromLatin1("Using Project File:").append(proFile),1); } + Option::before_user_vars.append("CONFIG+=build_pass"); + // read target and deployment rules int qmakeArgc = 1; char* qmakeArgv[] = { "qmake.exe" }; -- cgit v0.12 From 8172a2cfcdb5508196ca2c7c56ab79890fc50a13 Mon Sep 17 00:00:00 2001 From: axis Date: Fri, 16 Oct 2009 11:55:10 +0200 Subject: Removed unnecessary include from a public header file. Task: QT-2265 RevBy: Janne Anttila Compiles on all three Symbian compilers. Strictly speaking GCCE wasn't able to link QtGui, but that seemed to be unrelated to this change. --- src/corelib/global/qnamespace.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index ad4bc55..f28f94e 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -44,10 +44,6 @@ #include -#ifdef Q_OS_SYMBIAN -# include -#endif - QT_BEGIN_HEADER QT_BEGIN_NAMESPACE -- cgit v0.12 From d186d527cd43df3aa453c9ad3ab7507d7f37f790 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Fri, 16 Oct 2009 12:58:04 +0200 Subject: build: Removed alternative definition for ADP_DOCS_QDOCCONF_FILE It used a qdocconf file that no longer exists; something for xcode. --- doc/doc.pri | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/doc/doc.pri b/doc/doc.pri index 9105fbb..d4fdcd8 100644 --- a/doc/doc.pri +++ b/doc/doc.pri @@ -19,11 +19,7 @@ $$unixstyle { QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && set QT_BUILD_TREE=$$QT_BUILD_TREE&& set QT_SOURCE_TREE=$$QT_SOURCE_TREE&& $$QT_BUILD_TREE/bin/qdoc3.exe $$DOCS_GENERATION_DEFINES QDOC = $$replace(QDOC, "/", "\\") } -macx { - ADP_DOCS_QDOCCONF_FILE = qt-build-docs-with-xcode.qdocconf -} else { - ADP_DOCS_QDOCCONF_FILE = qt-build-docs.qdocconf -} +ADP_DOCS_QDOCCONF_FILE = qt-build-docs.qdocconf QT_DOCUMENTATION = ($$QDOC qt-api-only.qdocconf assistant.qdocconf designer.qdocconf \ linguist.qdocconf qmake.qdocconf) && \ (cd $$QT_BUILD_TREE && \ -- cgit v0.12 From bfa428f7d32b2fa56a6839200cd9b301fd97e217 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Fri, 16 Oct 2009 13:41:22 +0200 Subject: doc: Corrected typo. --- src/gui/graphicsview/qgraphicsscene.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 0773559..a624b10 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -5297,7 +5297,7 @@ void QGraphicsScene::setActivePanel(QGraphicsItem *item) /*! \since 4.4 - Returns the current active window, or 0 if there is no window is currently + Returns the current active window, or 0 if no window is currently active. \sa QGraphicsScene::setActiveWindow() -- cgit v0.12 From 0f8bff1970d4b0f10e98ce7d6ab341620f4ce76b Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Fri, 16 Oct 2009 14:30:39 +0200 Subject: doc: Changed Trolltech to Nokia --- src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp index b06b93a..41067f1 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp @@ -137,7 +137,7 @@ void QWebViewPrivate::_q_pageDestroyed() It can be used in various applications to display web content live from the Internet. - The image below shows QWebView previewed in \QD with the Trolltech website. + The image below shows QWebView previewed in \QD with a Nokia website. \image qwebview-url.png -- cgit v0.12 From 25f4ccc3a9de2e4610974540f88c331238218c72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Meril=C3=A4?= Date: Fri, 16 Oct 2009 15:45:18 +0300 Subject: Softkeys remain disabled if action owning action widget is enabled Softkeys have a QAction that is related to some action widget. The initial state of the action was set according the state of action widget (enabled/disabled). Now, if action widget's state changes, the softkey's action remain in the initial state. This was fixed by removing the enable/disable from the QAction and instead use the real state of action widget when handling the command of softkey. Task-number: QTBUG-4619 Reviewed-by: Janne Anttila --- src/gui/dialogs/qerrormessage.cpp | 13 +++++++------ src/gui/dialogs/qprogressdialog.cpp | 2 +- src/gui/dialogs/qwizard.cpp | 2 +- src/gui/kernel/qsoftkeymanager.cpp | 6 +++--- src/gui/widgets/qdialogbuttonbox.cpp | 3 +-- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/gui/dialogs/qerrormessage.cpp b/src/gui/dialogs/qerrormessage.cpp index 436ef94..762936a 100644 --- a/src/gui/dialogs/qerrormessage.cpp +++ b/src/gui/dialogs/qerrormessage.cpp @@ -245,12 +245,6 @@ QErrorMessage::QErrorMessage(QWidget * parent) Q_D(QErrorMessage); QGridLayout * grid = new QGridLayout(this); d->icon = new QLabel(this); -#ifdef QT_SOFTKEYS_ENABLED - d->okAction = new QAction(this); - d->okAction->setSoftKeyRole(QAction::PositiveSoftKey); - connect(d->okAction, SIGNAL(triggered()), this, SLOT(accept())); - addAction(d->okAction); -#endif #ifndef QT_NO_MESSAGEBOX d->icon->setPixmap(QMessageBox::standardIcon(QMessageBox::Information)); d->icon->setAlignment(Qt::AlignHCenter | Qt::AlignTop); @@ -262,6 +256,13 @@ QErrorMessage::QErrorMessage(QWidget * parent) d->again->setChecked(true); grid->addWidget(d->again, 1, 1, Qt::AlignTop); d->ok = new QPushButton(this); +#ifdef QT_SOFTKEYS_ENABLED + d->okAction = new QAction(d->ok); + d->okAction->setSoftKeyRole(QAction::PositiveSoftKey); + connect(d->okAction, SIGNAL(triggered()), this, SLOT(accept())); + addAction(d->okAction); +#endif + #if defined(Q_WS_WINCE) || defined(Q_WS_S60) d->ok->setFixedSize(0,0); diff --git a/src/gui/dialogs/qprogressdialog.cpp b/src/gui/dialogs/qprogressdialog.cpp index 5fb10bf..f5024bb 100644 --- a/src/gui/dialogs/qprogressdialog.cpp +++ b/src/gui/dialogs/qprogressdialog.cpp @@ -453,7 +453,7 @@ void QProgressDialog::setCancelButton(QPushButton *cancelButton) cancelButton->show(); #else { - d->cancelAction = new QAction(cancelButton->text(), this); + d->cancelAction = new QAction(cancelButton->text(), cancelButton); d->cancelAction->setSoftKeyRole(QAction::NegativeSoftKey); connect(d->cancelAction, SIGNAL(triggered()), this, SIGNAL(canceled())); addAction(d->cancelAction); diff --git a/src/gui/dialogs/qwizard.cpp b/src/gui/dialogs/qwizard.cpp index 0f6d353..0102e25 100644 --- a/src/gui/dialogs/qwizard.cpp +++ b/src/gui/dialogs/qwizard.cpp @@ -1340,7 +1340,7 @@ bool QWizardPrivate::ensureButton(QWizard::WizardButton which) const pushButton->setText(buttonDefaultText(wizStyle, which, this)); #ifdef QT_SOFTKEYS_ENABLED - QAction *softKey = new QAction(pushButton->text(), antiFlickerWidget); + QAction *softKey = new QAction(pushButton->text(), pushButton); QAction::SoftKeyRole softKeyRole; switch(which) { case QWizard::NextButton: diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index 1214f08..6116a5e 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -125,7 +125,6 @@ QAction *QSoftKeyManager::createAction(StandardSoftKey standardKey, QWidget *act break; } action->setSoftKeyRole(softKeyRole); - action->setEnabled(actionWidget->isEnabled()); return action; } @@ -210,7 +209,7 @@ void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList &softkeys) for (int index = 0; index < softkeys.count(); index++) { const QAction* softKeyAction = softkeys.at(index); switch (softKeyAction->softKeyRole()) { - // Positive Actions go on LSK + // Positive Actions on the LSK case QAction::PositiveSoftKey: position = 0; break; @@ -253,7 +252,8 @@ bool QSoftKeyManager::handleCommand(int command) QAction *action = softKeys.at(i); if (action->softKeyRole() != QAction::NoSoftKey) { if (j == index) { - if (action->isEnabled()) { + QWidget *parent = action->parentWidget(); + if (parent && parent->isEnabled()) { action->activate(QAction::Trigger); return true; } diff --git a/src/gui/widgets/qdialogbuttonbox.cpp b/src/gui/widgets/qdialogbuttonbox.cpp index 280ca63..10f8db8 100644 --- a/src/gui/widgets/qdialogbuttonbox.cpp +++ b/src/gui/widgets/qdialogbuttonbox.cpp @@ -560,7 +560,7 @@ QAction* QDialogButtonBoxPrivate::createSoftKey(QAbstractButton *button, QDialog Q_Q(QDialogButtonBox); QAction::SoftKeyRole softkeyRole; - QAction *action = new QAction(button->text(), q); + QAction *action = new QAction(button->text(), button); switch (role) { case ApplyRole: @@ -581,7 +581,6 @@ QAction* QDialogButtonBoxPrivate::createSoftKey(QAbstractButton *button, QDialog } QObject::connect(action, SIGNAL(triggered()), button, SIGNAL(clicked())); action->setSoftKeyRole(softkeyRole); - action->setEnabled(button->isEnabled()); return action; } #endif -- cgit v0.12 From 06d1c12c24c38b0cd8822b1faf2694c7331f75cb Mon Sep 17 00:00:00 2001 From: Liang QI Date: Fri, 16 Oct 2009 16:20:31 +0200 Subject: Fix tst_QMenu on Symbian. For tst_QMenu::activeSubMenuPosition, QS60Style::pixelMetric(QStyle::PM_SubMenuOverlap) is different with other styles. For tst_QMenu::menuSizeHint, Softkey actions are not widgets and have no geometry. For tst_QMenu::task258920_mouseBorder, QS60Style::styleHint(QStyle::SH_Menu_MouseTracking) is false. RevBy: Shane Kearns RevBy: axis --- tests/auto/qmenu/tst_qmenu.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/auto/qmenu/tst_qmenu.cpp b/tests/auto/qmenu/tst_qmenu.cpp index 4eb149f..f12fa92 100644 --- a/tests/auto/qmenu/tst_qmenu.cpp +++ b/tests/auto/qmenu/tst_qmenu.cpp @@ -675,7 +675,13 @@ void tst_QMenu::activeSubMenuPosition() #ifdef Q_OS_WINCE_WM QSKIP("Not true for Windows Mobile Soft Keys", SkipSingle); #endif + +#ifdef Q_OS_SYMBIAN + // On Symbian, QS60Style::pixelMetric(QStyle::PM_SubMenuOverlap) is different with other styles. + QVERIFY(sub->pos().x() < main->pos().x()); +#else QVERIFY(sub->pos().x() > main->pos().x()); +#endif QCOMPARE(sub->activeAction(), subAction); } @@ -778,6 +784,11 @@ void tst_QMenu::menuSizeHint() int maxWidth =0; QRect result; foreach(QAction *action, menu.actions()) { +#ifdef QT_SOFTKEYS_ENABLED + // Softkey actions are not widgets and have no geometry. + if (menu.actionGeometry(action).topLeft() == QPoint(0,0)) + continue; +#endif maxWidth = qMax(maxWidth, menu.actionGeometry(action).width()); result |= menu.actionGeometry(action); QCOMPARE(result.x(), left + hmargin + panelWidth); @@ -816,6 +827,9 @@ void tst_QMenu::task258920_mouseBorder() QSKIP("Mouse move related signals for Windows Mobile unavailable", SkipAll); #endif Menu258920 menu; + // On Symbian, styleHint(QStyle::SH_Menu_MouseTracking) in QS60Style is false. + // For other styles which inherit from QWindowsStyle, the value is true. + menu.setMouseTracking(true); QAction *action = menu.addAction("test"); menu.popup(QApplication::desktop()->availableGeometry().center()); -- cgit v0.12 From 792bdecebdd426672bc2d687a55ef1a732322ac9 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 16 Oct 2009 15:49:18 +0300 Subject: Refactored SymbianSubdirsMetaMakefileGenerator out of qmake. There was no need to have SymbianSubdirsMetaMakefileGenerator in cross-platform metamakefile.cpp, so moved the Symbian specific functionality to symmake.cpp as suggested by qmake reviewers. Task-number: QT-822 Reviewed-by: Janne Anttila --- qmake/generators/metamakefile.cpp | 268 +---------------------------------- qmake/generators/symbian/symmake.cpp | 100 ++++++------- qmake/project.cpp | 47 +++--- 3 files changed, 69 insertions(+), 346 deletions(-) diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp index 69dd627..5915fcf 100644 --- a/qmake/generators/metamakefile.cpp +++ b/qmake/generators/metamakefile.cpp @@ -419,269 +419,6 @@ SubdirsMetaMakefileGenerator::~SubdirsMetaMakefileGenerator() subs.clear(); } -class SymbianSubdirsMetaMakefileGenerator : public SubdirsMetaMakefileGenerator -{ -public: - SymbianSubdirsMetaMakefileGenerator(QMakeProject *p, const QString &n, bool op) : SubdirsMetaMakefileGenerator(p, n, op) { } - virtual ~SymbianSubdirsMetaMakefileGenerator(); - - virtual bool init(); - virtual bool write(const QString &); - -protected: - - static QMap mmpPaths; - - static QMultiMap mmpDependency; - - static QStringList getDependencyList(QString mmpFilename, int recursionDepth); - - static QStringList calculateRelativePaths(QString mmpParent, QStringList mmpChildren); - -private: - QString cleanFromSpecialCharacters(QString& str); -}; - -QMap SymbianSubdirsMetaMakefileGenerator::mmpPaths; - -QMultiMap SymbianSubdirsMetaMakefileGenerator::mmpDependency; - -QStringList SymbianSubdirsMetaMakefileGenerator::getDependencyList(QString mmpFilename, int recursionDepth) -{ - QStringList list; - - QList values = mmpDependency.values(mmpFilename); - if (recursionDepth < 0) { - // special case; just first dependency level - list = values; - return list; - } - if (values.size() == 0) { - //reached recursion END condition - if (recursionDepth == 0) { - --recursionDepth; - return list; // empty list // no dependencies / return - } else { - list.append(mmpFilename); - recursionDepth--; - return list; // leaf // return - } - } else { - recursionDepth++; - for (int i = 0; i < values.size(); ++i) { - QString current = values.at(i); - QStringList tailList = getDependencyList(current, recursionDepth); - for (int j = 0; j < tailList.size(); ++j) { - QString path = tailList.at(j); - list.append(path); - } - } - - if (recursionDepth > 0) { - //for mmp somewhere in middle - list.append(mmpFilename); - } - recursionDepth--; - return list; - } -} - -SymbianSubdirsMetaMakefileGenerator::~SymbianSubdirsMetaMakefileGenerator() { } - -bool SymbianSubdirsMetaMakefileGenerator::write(const QString &oldpwd) -{ - return SubdirsMetaMakefileGenerator::write(oldpwd); -} - -QString SymbianSubdirsMetaMakefileGenerator::cleanFromSpecialCharacters(QString& str) -{ - QString tmp = str; - - tmp.replace(QString("/"), QString("_")); - tmp.replace(QString("\\"), QString("_")); - tmp.replace(QString("-"), QString("_")); - tmp.replace(QString(":"), QString("_")); - tmp.replace(QString("."), QString("_")); - - return tmp; -} - -bool SymbianSubdirsMetaMakefileGenerator::init() -{ - if (init_flag) - return false; - - init_flag = true; - - // If we are here then we have template == subdirs - - Option::recursive = true; - - if (Option::recursive) { - QString old_output_dir = QDir::cleanPath(Option::output_dir); - if (!old_output_dir.endsWith('/')) - old_output_dir += '/'; - QString old_output = Option::output.fileName(); - QString oldpwd = QDir::cleanPath(qmake_getpwd()); - - if (!oldpwd.endsWith('/')) - oldpwd += '/'; - - // find the parent mmp filename - int end = oldpwd.size() - 1; - int start = oldpwd.lastIndexOf("/", end - 2); - QString parentMmpFilename = oldpwd.mid(start + 1, end - start - 1); - parentMmpFilename.prepend(oldpwd); - parentMmpFilename = parentMmpFilename.append(Option::mmp_ext); - - - const QStringList &subdirs = project->values("SUBDIRS"); - static int recurseDepth = -1; - ++recurseDepth; - for (int i = 0; i < subdirs.size(); ++i) { - Subdir *sub = new Subdir; - sub->indent = recurseDepth; - - QFileInfo subdir(subdirs.at(i)); - // childMmpFielname should be derived from subdirName - QString subdirName = subdirs.at(i); - if (!project->isEmpty(subdirs.at(i) + ".file")) - subdir = project->first(subdirs.at(i) + ".file"); - else if (!project->isEmpty(subdirs.at(i) + ".subdir")) - subdir = project->first(subdirs.at(i) + ".subdir"); - QString sub_name; - - QString childMmpFilename; - - if (subdir.isDir()) { - subdir = QFileInfo(subdir.filePath() + "/" + subdir.fileName() + Option::pro_ext); - childMmpFilename = subdir.fileName(); - childMmpFilename = subdir.absoluteFilePath(); - childMmpFilename.replace(Option::pro_ext, QString("")); - childMmpFilename.append(Option::mmp_ext); - } else { - childMmpFilename = subdir.absoluteFilePath(); - childMmpFilename.replace(Option::pro_ext, Option::mmp_ext); - sub_name = childMmpFilename; - sub_name.replace(Option::mmp_ext, QString("")); - sub_name.replace(0, sub_name.lastIndexOf("/") + 1, QString("")); - project->values("SHADOW_BLD_INFS").append(QString("bld.inf.") + sub_name); - } - - //handle sub project - QMakeProject *sub_proj = new QMakeProject(project->properties()); - for (int ind = 0; ind < sub->indent; ++ind) - printf(" "); - sub->input_dir = subdir.absolutePath(); - if (subdir.isRelative() && old_output_dir != oldpwd) { - sub->output_dir = old_output_dir + "/" + subdir.path(); - printf("Reading %s [%s]\n", subdir.absoluteFilePath().toLatin1().constData(), sub->output_dir.toLatin1().constData()); - } else { - sub->output_dir = sub->input_dir; - printf("Reading %s\n", subdir.absoluteFilePath().toLatin1().constData()); - } - - // find the child mmp filename - qmake_setpwd(sub->input_dir); - - QString newpwd = qmake_getpwd(); - - Option::output_dir = sub->output_dir; - if (Option::output_dir.at(Option::output_dir.length() - 1) != QLatin1Char('/')) - Option::output_dir += QLatin1Char('/'); - sub_proj->read(subdir.fileName()); - if (!sub_proj->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) { - fprintf(stderr, "Project file(%s) not recursed because all requirements not met:\n\t%s\n", - subdir.fileName().toLatin1().constData(), - sub_proj->values("QMAKE_FAILED_REQUIREMENTS").join(" ").toLatin1().constData()); - delete sub; - delete sub_proj; - //continue; - } else { - // map mmpfile to its absolut filepath - mmpPaths.insert(childMmpFilename, newpwd); - - // update mmp files dependency map - mmpDependency.insert(parentMmpFilename, childMmpFilename); - - sub->makefile = MetaMakefileGenerator::createMetaGenerator(sub_proj, sub_name); - if (0 && sub->makefile->type() == SUBDIRSMETATYPE) { - subs.append(sub); - } else { - const QString output_name = Option::output.fileName(); - Option::output.setFileName(sub->output_file); - sub->makefile->write(sub->output_dir); - delete sub; - qmakeClearCaches(); - sub = 0; - Option::output.setFileName(output_name); - } - } - - Option::output_dir = old_output_dir; - qmake_setpwd(oldpwd); - - } - --recurseDepth; - Option::output.setFileName(old_output); - Option::output_dir = old_output_dir; - qmake_setpwd(oldpwd); - } - - Subdir *self = new Subdir; - self->input_dir = qmake_getpwd(); - - // To fully expand find all dependencies: - // Do as recursion, then insert result as subdirs data in project - QString newpwd = qmake_getpwd(); - if (!newpwd.endsWith('/')) - newpwd += '/'; - int end = newpwd.size() - 1; - int start = newpwd.lastIndexOf("/", end - 2); - QString mmpFilename = newpwd.mid(start + 1, end - start - 1); - mmpFilename.prepend(newpwd); - mmpFilename = mmpFilename.append(Option::mmp_ext); - - // map mmpfile to its absolute filepath - mmpPaths.insert(mmpFilename, newpwd); - - QStringList directDependencyList = getDependencyList(mmpFilename, -1); - for (int i = 0; i < directDependencyList.size(); ++i) { - project->values("MMPFILES_DIRECT_DEPENDS").append(directDependencyList.at(i)); - } - - QStringList dependencyList = getDependencyList(mmpFilename, 0); - - self->output_dir = Option::output_dir; - if (!Option::recursive || (!Option::output.fileName().endsWith(Option::dir_sep) && !QFileInfo(Option::output).isDir())) - self->output_file = Option::output.fileName(); - self->makefile = new BuildsMetaMakefileGenerator(project, name, false); - self->makefile->init(); - subs.append(self); - - return true; -} - -QStringList SymbianSubdirsMetaMakefileGenerator::calculateRelativePaths(QString mmpParent, QStringList mmpChildren) -{ - QStringList mmpRelativePaths; - QString parentDir = mmpPaths.value(mmpParent); - QDir directory(parentDir); - for (int i = 0; i < mmpChildren.size(); ++i) { - QString childDir = mmpPaths.value(mmpChildren.at(i)); - if (mmpChildren.at(i) == mmpParent) - mmpRelativePaths.append(mmpChildren.at(i)); - else { - QString relativePath = directory.relativeFilePath(childDir); - if (relativePath.startsWith("..")) - mmpRelativePaths.append(childDir); - else - directory.relativeFilePath(relativePath); - } - } - return mmpRelativePaths; -} - //Factory things QT_BEGIN_INCLUDE_NAMESPACE #include "unixmake.h" @@ -750,10 +487,7 @@ MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &na MetaMakefileGenerator *ret = 0; if ((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE || Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) { - if (proj->first("MAKEFILE_GENERATOR").startsWith("SYMBIAN") && proj->values("TEMPLATE").contains("subdirs")) { - // new metamakefilegenerator type to support subdirs for symbian related projects - ret = new SymbianSubdirsMetaMakefileGenerator(proj, name, op); - } else if (proj->first("TEMPLATE").endsWith("subdirs")) + if (proj->first("TEMPLATE").endsWith("subdirs")) ret = new SubdirsMetaMakefileGenerator(proj, name, op); } if (!ret) diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index 3d24053..19af1da 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -1092,6 +1092,7 @@ void SymbianMakefileGenerator::writeMmpFileRulesPart(QTextStream& t) void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploymentExtension) { // Read user defined bld inf rules + QMap userBldInfRules; for (QMap::iterator it = project->variables().begin(); it != project->variables().end(); ++it) { if (it.key().startsWith(BLD_INF_RULES_BASE)) { @@ -1122,58 +1123,44 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy QString mmpfilename = escapeFilePath(fileFixify(project->projectFile())); mmpfilename = mmpfilename.replace(mmpfilename.lastIndexOf("."), 4, Option::mmp_ext); QString currentPath = qmake_getpwd(); + QDir directory(currentPath); - if (!currentPath.endsWith(QString("/"))) - currentPath.append("/"); - - QStringList mmpProjects = project->values("MMPFILES_DIRECT_DEPENDS"); - QStringList shadowProjects = project->values("SHADOW_BLD_INFS"); - - removeDuplicatedStrings(mmpProjects); - removeDuplicatedStrings(shadowProjects); + const QStringList &subdirs = project->values("SUBDIRS"); + foreach(QString item, subdirs) { + QString fixedItem; + if (!project->isEmpty(item + ".file")) { + fixedItem = project->first(item + ".file"); + } else if (!project->isEmpty(item + ".subdir")) { + fixedItem = project->first(item + ".subdir"); + } else { + fixedItem = item; + } - // Go in reverse order as that is the way how we build the list - QListIterator iT(mmpProjects); - iT.toBack(); - while (iT.hasPrevious()) { - QString fullMmpName = iT.previous(); - QString relativePath; + QFileInfo subdir(fileInfo(fixedItem)); + QString relativePath = directory.relativeFilePath(fixedItem); + QString subdirFileName = subdir.completeBaseName(); + QString fullProName = subdir.absoluteFilePath();; QString bldinfFilename; - QString fullProFilename = fullMmpName; - fullProFilename.replace(Option::mmp_ext, Option::pro_ext); - QString uid = generate_uid(fullProFilename); - - QString cleanMmpName = fullProFilename; - cleanMmpName.replace(Option::pro_ext, QString("")); - cleanMmpName.replace(0, cleanMmpName.lastIndexOf("/") + 1, QString("")); - - if (shadowProjects.contains(BLD_INF_FILENAME "." + cleanMmpName)) { // shadow project - QDir directory(currentPath); - relativePath = directory.relativeFilePath(fullProFilename); - bldinfFilename = BLD_INF_FILENAME "." + cleanMmpName; + if (subdir.isDir()) { + // Subdir is a regular project + bldinfFilename = relativePath + QString("/") + QString(BLD_INF_FILENAME); + fullProName += QString("/") + subdirFileName + Option::pro_ext; + } else { + // Subdir is actually a .pro file if (relativePath.contains("/")) { - // Shadow .pro not in same directory as parent .pro - if (relativePath.startsWith("..")) { - // Shadow .pro out of parent .pro - relativePath.replace(relativePath.lastIndexOf("/"), relativePath.length(), QString("")); - bldinfFilename.prepend("/").prepend(relativePath); - } else { - relativePath.replace(relativePath.lastIndexOf("/"), relativePath.length(), QString("")); - bldinfFilename.prepend("/").prepend(relativePath); - } + // .pro not in same directory as parent .pro + relativePath.remove(relativePath.lastIndexOf("/") + 1, relativePath.length()); + bldinfFilename = relativePath; } else { - // Shadow .pro and parent .pro in same directory - bldinfFilename.prepend("./"); + // .pro and parent .pro in same directory + bldinfFilename = QString("./"); } - } else { // regular project - QDir directory(currentPath); - relativePath = directory.relativeFilePath(fullProFilename); - relativePath.replace(relativePath.lastIndexOf("/"), relativePath.length(), QString("")); - bldinfFilename = relativePath.append("/").append(BLD_INF_FILENAME); + bldinfFilename += QString(BLD_INF_FILENAME ".") + subdirFileName; } - QString bldinfDefine = QString("BLD_INF_") + cleanMmpName + QString("_") + uid; + QString uid = generate_uid(fullProName); + QString bldinfDefine = QString("BLD_INF_") + subdirFileName + QString("_") + uid; bldinfDefine = bldinfDefine.toUpper(); removeSpecialCharacters(bldinfDefine); @@ -1195,6 +1182,7 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy t << endl; // Add project mmps and old style extension makefiles + QString mmpTag; if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive)) mmpTag = QLatin1String(BLD_INF_TAG_TESTMMPFILES); @@ -1204,9 +1192,7 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy t << endl << mmpTag << endl << endl; writeBldInfMkFilePart(t, addDeploymentExtension); - if (targetType == TypeSubdirs) { - mmpProjects.removeOne(mmpfilename); - } else { + if (targetType != TypeSubdirs) { QString shortProFilename = project->projectFile(); shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString("")); shortProFilename.replace(Option::pro_ext, QString("")); @@ -1224,6 +1210,7 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy t << endl << BLD_INF_TAG_EXTENSIONS << endl << endl; // Generate extension rules + writeBldInfExtensionRulesPart(t); userItems = userBldInfRules.value(BLD_INF_TAG_EXTENSIONS); @@ -1698,8 +1685,8 @@ void SymbianMakefileGenerator::writeSisTargets(QTextStream &t) .arg(MAKE_CACHE_NAME) .arg(OK_SIS_TARGET) .arg(FAIL_SIS_NOCACHE_TARGET) - .arg(FAIL_SIS_NOPKG_TARGET); - t << siscommand << endl; + .arg(FAIL_SIS_NOPKG_TARGET); + t << siscommand << endl; t << endl; t << OK_SIS_TARGET ":" << endl; @@ -1710,15 +1697,15 @@ void SymbianMakefileGenerator::writeSisTargets(QTextStream &t) .arg("pkg"); t << pkgcommand << endl; t << endl; - - t << FAIL_SIS_NOPKG_TARGET ":" << endl; - t << "\t$(error PKG file does not exist, 'SIS' target is only supported for executables or projects with DEPLOYMENT statement)" << endl; + + t << FAIL_SIS_NOPKG_TARGET ":" << endl; + t << "\t$(error PKG file does not exist, 'SIS' target is only supported for executables or projects with DEPLOYMENT statement)" << endl; t << endl; - - t << FAIL_SIS_NOCACHE_TARGET ":" << endl; - t << "\t$(error Project has to be build before calling 'SIS' target)" << endl; + + t << FAIL_SIS_NOCACHE_TARGET ":" << endl; + t << "\t$(error Project has to be build before calling 'SIS' target)" << endl; t << endl; - + t << RESTORE_BUILD_TARGET ":" << endl; t << "-include " MAKE_CACHE_NAME << endl; @@ -1728,7 +1715,8 @@ void SymbianMakefileGenerator::writeSisTargets(QTextStream &t) void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t) { t << "dodistclean:" << endl; - foreach(QString item, project->values("SUBDIRS")) { + const QStringList &subdirs = project->values("SUBDIRS"); + foreach(QString item, subdirs) { bool fromFile = false; QString fixedItem; if (!project->isEmpty(item + ".file")) { diff --git a/qmake/project.cpp b/qmake/project.cpp index 89fe5bd..e49441b 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -519,7 +519,7 @@ static isForSymbian_enum isForSymbian_value = isForSymbian_NOT_SET; // Checking for symbian build is primarily determined from the qmake spec, // but if that is not specified, detect if symbian is the default spec // by checking the MAKEFILE_GENERATOR variable value. -static void init_isForSymbian(const QMap& vars) +static void init_symbian(const QMap& vars) { if (isForSymbian_value != isForSymbian_NOT_SET) return; @@ -527,26 +527,27 @@ static void init_isForSymbian(const QMap& vars) QString spec = QFileInfo(Option::mkfile::qmakespec).fileName(); if (spec.startsWith("symbian-abld", Qt::CaseInsensitive)) { isForSymbian_value = isForSymbian_ABLD; - return; - } - if (spec.startsWith("symbian-sbsv2", Qt::CaseInsensitive)) { + } else if (spec.startsWith("symbian-sbsv2", Qt::CaseInsensitive)) { isForSymbian_value = isForSymbian_SBSV2; - return; - } - - QStringList generatorList = vars["MAKEFILE_GENERATOR"]; - - if (!generatorList.isEmpty()) { - QString generator = generatorList.first(); - if (generator.startsWith("SYMBIAN_ABLD")) - isForSymbian_value = isForSymbian_ABLD; - else if (generator.startsWith("SYMBIAN_SBSV2")) - isForSymbian_value = isForSymbian_SBSV2; - else - isForSymbian_value = isForSymbian_FALSE; } else { - isForSymbian_value = isForSymbian_FALSE; + QStringList generatorList = vars["MAKEFILE_GENERATOR"]; + + if (!generatorList.isEmpty()) { + QString generator = generatorList.first(); + if (generator.startsWith("SYMBIAN_ABLD")) + isForSymbian_value = isForSymbian_ABLD; + else if (generator.startsWith("SYMBIAN_SBSV2")) + isForSymbian_value = isForSymbian_SBSV2; + else + isForSymbian_value = isForSymbian_FALSE; + } else { + isForSymbian_value = isForSymbian_FALSE; + } } + + // Force recursive on Symbian, as non-recursive is not really a viable option there + if (isForSymbian_value != isForSymbian_FALSE) + Option::recursive = true; } bool isForSymbian() @@ -554,9 +555,9 @@ bool isForSymbian() // If isForSymbian_value has not been initialized explicitly yet, // call initializer with dummy map to check qmake spec. if (isForSymbian_value == isForSymbian_NOT_SET) - init_isForSymbian(QMap()); + init_symbian(QMap()); - return (isForSymbian_value == isForSymbian_ABLD || isForSymbian_value == isForSymbian_SBSV2); + return (isForSymbian_value != isForSymbian_FALSE); } bool isForSymbianSbsv2() @@ -564,7 +565,7 @@ bool isForSymbianSbsv2() // If isForSymbian_value has not been initialized explicitly yet, // call initializer with dummy map to check qmake spec. if (isForSymbian_value == isForSymbian_NOT_SET) - init_isForSymbian(QMap()); + init_symbian(QMap()); return (isForSymbian_value == isForSymbian_SBSV2); } @@ -1463,7 +1464,7 @@ QMakeProject::read(uchar cmd) return false; } - init_isForSymbian(base_vars); + init_symbian(base_vars); if(Option::mkfile::do_cache && !Option::mkfile::cachefile.isEmpty()) { debug_msg(1, "QMAKECACHE file: reading %s", Option::mkfile::cachefile.toLatin1().constData()); @@ -1715,7 +1716,7 @@ QMakeProject::doProjectInclude(QString file, uchar flags, QMap Date: Tue, 13 Oct 2009 19:20:40 +0200 Subject: Doc: Gesture API documentation review and improvements. Reviewed-by: Trust Me --- doc/src/frameworks-technologies/gestures.qdoc | 245 ++++------- doc/src/getting-started/examples.qdoc | 7 +- .../snippets/gestures/imageviewer/imagewidget.cpp | 364 ---------------- .../snippets/gestures/imageviewer/imagewidget.h | 137 ------ .../gestures/imageviewer/tapandholdgesture.cpp | 159 ------- .../gestures/imageviewer/tapandholdgesture.h | 74 ---- doc/src/snippets/gestures/qgesture.cpp | 283 ------------ doc/src/snippets/gestures/qgesture.h | 101 ----- doc/src/snippets/gestures/qstandardgestures.cpp | 483 --------------------- doc/src/snippets/gestures/qstandardgestures.h | 126 ------ examples/gestures/imageviewer/imageviewer.pro | 8 +- examples/gestures/imageviewer/imagewidget.cpp | 10 +- examples/gestures/imageviewer/main.cpp | 33 +- examples/gestures/imageviewer/mainwidget.cpp | 56 +++ examples/gestures/imageviewer/mainwidget.h | 63 +++ src/gui/kernel/qgesture.cpp | 26 +- src/gui/kernel/qgesturerecognizer.cpp | 23 +- 17 files changed, 265 insertions(+), 1933 deletions(-) delete mode 100644 doc/src/snippets/gestures/imageviewer/imagewidget.cpp delete mode 100644 doc/src/snippets/gestures/imageviewer/imagewidget.h delete mode 100644 doc/src/snippets/gestures/imageviewer/tapandholdgesture.cpp delete mode 100644 doc/src/snippets/gestures/imageviewer/tapandholdgesture.h delete mode 100644 doc/src/snippets/gestures/qgesture.cpp delete mode 100644 doc/src/snippets/gestures/qgesture.h delete mode 100644 doc/src/snippets/gestures/qstandardgestures.cpp delete mode 100644 doc/src/snippets/gestures/qstandardgestures.h create mode 100644 examples/gestures/imageviewer/mainwidget.cpp create mode 100644 examples/gestures/imageviewer/mainwidget.h diff --git a/doc/src/frameworks-technologies/gestures.qdoc b/doc/src/frameworks-technologies/gestures.qdoc index 158a273..e5947a2 100644 --- a/doc/src/frameworks-technologies/gestures.qdoc +++ b/doc/src/frameworks-technologies/gestures.qdoc @@ -59,176 +59,115 @@ \section1 Overview - QGesture is the central class in Qt's gesture framework, providing - the API used by classes that represent specific gestures, such as - QPanGesture, QPinchGesture, and QSwipeGesture. These standard - classes are ready to use, and each exposes functions and - properties that give gesture-specific information about the user's - input. This is described in the \l{Using Standard Gestures With Widgets} - section. - - QGesture is also designed to be subclassed and extended so that - support for new gestures can be implemented by developers. Adding - support for a new gesture involves implementing code to recognize - the gesture from incoming events. This is described in the + QGesture is the central class in Qt's gesture framework, providing a container + for information about gestures performed by the user, such as panning, pinching + and swiping. QGesture exposes properties that give general information that is + common to all gestures, and these can be extended to provide additional + gesture-specific information. + + Developers can also implement new gestures by subclassing and extending the + QGestureRecognizer class. Adding support for a new gesture involves implementing + code to recognize the gesture from input events. This is described in the \l{Creating Your Own Gesture Recognizer} section. \section1 Using Standard Gestures with Widgets - Gesture objects are applied directly to widgets and other controls that accept - user input \mdash these are the \e{target objects}. When a gesture object is - constructed, the target object is typically passed to the constructor, though - it can also be passed as the argument to the \l{QGesture::}{setGestureTarget()} - function. + Gestures can be enabled for instances of QWidget and QGraphicsObject subclasses. + An object that accepts gesture input is referred to as a \e{target object}. - \snippet examples/gestures/imageviewer/imagewidget.cpp construct swipe gesture + To enable a gesture for a target object, call its QWidget::grabGesture() or + QGraphicsObject::grabGesture() function with an argument describing the + required gesture type. The standard types are defined by the Qt::GestureType + enum and include many commonly used gestures. + + \snippet examples/gestures/imageviewer/imagewidget.cpp enable gestures In the above code, the gesture is set up in the constructor of the target object - itself, so the argument to the QSwipeGesture constructor is \e this. + itself. + + When the user performs a gesture, QGestureEvent events will be delivered to the + target object, and these can be handled by reimplementing the QWidget::event() + handler function for widgets or QGraphicsItem::sceneEvent() for graphics objects. + + For convenience, the \l{Image Gestures Example} reimplements the general + \l{QWidget::}{event()} handler function and delegates gesture events to a + specialized gestureEvent() function: - When the user performs a gesture, various signals may be emitted by the - gesture object. To monitor the user's actions, you need to connect signals - from the gesture object to slots in your code. + \snippet examples/gestures/imageviewer/imagewidget.cpp event handler - \snippet examples/gestures/imageviewer/imagewidget.cpp connect swipe gesture + The gesture events delivered to the target object can be examined individually + and dealt with appropriately: - Here, the \l{QGesture::}{triggered()} signal is used to inform the application - that a gesture was used. More precise monitoring of a gesture can be implemented - by connecting its \l{QGesture::}{started()}, \l{QGesture::}{canceled()} and - \l{QGesture::}{finished()} signals to slots. + \snippet examples/gestures/imageviewer/imagewidget.cpp gesture event handler - Responding to a signal is simply a matter of obtaining the gesture that sent - it and examining the information it contains. + Responding to a gesture is simply a matter of obtaining the QGesture object + delivered in the QGestureEvent sent to the target object and examining the + information it contains. - \snippet examples/gestures/imageviewer/imagewidget.cpp swipe slot start + \snippet examples/gestures/imageviewer/imagewidget.cpp swipe function Here, we examine the direction in which the user swiped the widget and modify its contents accordingly. - \section1 Using Standard Gestures with Graphics Items - - The approach used for applying gestures to widgets can also be used with - graphics items. However, instead of passing a target object to the - gesture object's constructor, you set a target graphics item with the - \l{QGesture::}{setGraphicsItem()} function. \section1 Creating Your Own Gesture Recognizer - QGesture is a base class for a user defined gesture recognizer class. In - order to implement the recognizer you will need to subclass the - QGesture class and implement the pure virtual function - \l{QGesture::}{filterEvent()} to filter out events that are not relevant - to your gesture. - - Once you have implemented the \l{QGesture::}{filterEvent()} function to - make your own recognizer you can process events. A sequence of events may, - according to your own rules, represent a gesture. The events can be singly - passed to the recognizer via the \l{QGesture::}{filterEvent()} function - or as a stream of events by specifying a parent source of events. The events - can be from any source and could result in any action as defined by the user. - The source and action need not be graphical, though that would be the most - likely scenario. To find how to connect a source of events to automatically - feed into the recognizer see the QGesture documentation. - - Recognizers based on QGesture can emit any of the following signals to - indicate their progress in recognizing user input: - - \list - \o \l{QGesture::}{triggered()} is emitted when a gesture is recognized. - \o \l{QGesture::}{started()} indicates that the gesture object has started - to recognize user input. - \o \l{QGesture::}{finished()} is emitted when the gesture object has - recognized the user input as a gesture, and finished handling it. - \o \l{QGesture::}{canceled()} indicates that the gesture was canceled, - either by the user or by the application. - \endlist - - These signals are emitted when the state changes with the call to - \l{QGesture::}{updateState()}, more than one signal may - be emitted when a change of state occurs. There are four GestureStates - - \table - \header \o New State \o Description \o QGesture Actions on Entering this State - \row \o Qt::NoGesture \o Initial value \o emit \l {QGesture::}{canceled()} - \row \o Qt::GestureStarted \o A continuous gesture has started \o emit \l{QGesture::}{started()} and emit \l{QGesture::}{triggered()} - \row \o Qt::GestureUpdated \o A gesture continues \o emit \l{QGesture::}{triggered()} - \row \o Qt::GestureFinished \o A gesture has finished. \o emit \l{QGesture::}{finished()} - \endtable - - \note \l{QGesture::started()}{started()} can be emitted if entering any - state greater than NoGesture if NoGesture was the previous state. This - means that your state machine does not need to explicitly use the - Qt::GestureStarted state, you can simply proceed from NoGesture to - Qt::GestureUpdated to emit a \l{QGesture::started()}{started()} signal - and a \l{QGesture::triggered()}{triggered()} signal. - - You may use some or all of these states when implementing the pure - virtual function \l{QGesture::filterEvent()}{filterEvent()}. - \l{QGesture::filterEvent()}{filterEvent()} will usually implement a - state machine using the GestureState enums, but the details of which - states are used is up to the developer. - - You may also need to reimplement the virtual function \l{QGesture::reset()}{reset()} - if internal data or objects need to be re-initialized. The function must - conclude with a call to \l{QGesture::updateState()}{updateState()} to - change the current state to Qt::NoGesture. - - \section1 The ImageViewer Example - - To illustrate how to use QGesture we will look at the ImageViewer - example. This example uses QPanGesture, a standard gesture, and an - implementation of TapAndHoldGesture. Note that TapAndHoldGesture is - platform-dependent. - - \snippet doc/src/snippets/gestures/imageviewer/tapandholdgesture.cpp tapandhold-reset - - In ImageViewer we see that the ImageWidget class uses two gestures: - \l QPanGesture and TapAndHoldGesture. The - QPanGesture is a standard gesture which is part of Qt. - TapAndHoldGesture is defined and implemented as part of the example. - The ImageWidget listens for signals from the gestures, but is not - interested in the \l{QGesture::started()}{started()} signal. - - \snippet doc/src/snippets/gestures/imageviewer/imagewidget.h imagewidget-slots - - TapAndHoldGesture uses QTouchEvent events and mouse events to detect - start, update and end events that can be mapped onto the GestureState - changes. The implementation in this case uses a timer as well. If the - timeout event occurs a given number of times after the start of the gesture - then the gesture is considered to have finished whether or not the - appropriate touch or mouse event has occurred. Also if a large jump in - the position of the event occurs, as calculated by the \l {QPoint::manhattanLength()}{manhattanLength()} - call, then the gesture is canceled by calling \l{QGesture::reset()}{reset()} - which tidies up and uses \l{QGesture::updateState()}{updateState()} to - change state to NoGesture which will result in the \l{QGesture::canceled()}{canceled()} - signal being emitted by the recognizer. - - ImageWidget handles the signals by connecting the slots to the signals, - although \c canceled() is not connected here. - - \snippet doc/src/snippets/gestures/imageviewer/imagewidget.cpp imagewidget-connect - - These functions in turn will have to be aware of which gesture - object was the source of the signal since we have more than one source - per slot. This is easily done by using the QObject::sender() function - as shown here - - \snippet doc/src/snippets/gestures/imageviewer/imagewidget.cpp imagewidget-triggered-1 - - As \l{QGesture::triggered()}{triggered()} signals are handled by - gestureTriggered() there may be position updates invoking calls to, - for example, goNextImage(), this will cause a change in the image - handling logic of ImageWidget and a call to updateImage() to display - the changed state. - - Following the logic of how the QEvent is processed we can summmarize - it as follows: - \list - \o filterEvent() becomes the event filter of the parent ImageWidget object - for a QPanGesture object and a TapAndHoldGesture object. - \o filterEvent() then calls updateState() to change states - \o updateState() emits the appropriate signal(s) for the state change. - \o The signals are caught by the defined slots in ImageWidget - \o The widget logic changes and an update() results in a paint event. - \endlist + Adding support for a new gesture involves creating and registering a new gesture + recognizer. Depending on the recognition process for the gesture, it may also + involve creating a new gesture object. + + To create a new recognizer, you need to subclass QGestureRecognizer to create a + custom recognizer class. There is one virtual function that you must reimplement + and two others that can be reimplemented as required. + + \section2 Filtering Input Events + + The \l{QGestureRecognizer::}{filterEvent()} function must be reimplemented. + This function handles and filters the incoming input events for the target objects + and determines whether or not they correspond to the gesture the recognizer is + looking for. + + Although the logic for gesture recognition is implemented in this function, + possibly using a state machine based on the Qt::GestureState enums, you can store + persistent information about the state of the recognition process in the QGesture + object supplied. + + Your \l{QGestureRecognizer::}{filterEvent()} function must return a value of + Qt::GestureState that indicates the state of recognition for a given gesture and + target object. This determines whether or not a gesture event will be delivered + to a target object. + + \section2 Custom Gestures + + If you choose to represent a gesture by a custom QGesture subclass, you will need to + reimplement the \l{QGestureRecognizer::}{createGesture()} function to construct + instances of your gesture class instead of standard QGesture instances. Alternatively, + you may want to use standard QGesture instances, but add additional dynamic properties + to them to express specific details of the gesture you want to handle. + + \section2 Resetting Gestures + + If you use custom gesture objects that need to be reset or otherwise specially + handled when a gesture is canceled, you need to reimplement the + \l{QGestureRecognizer::}{reset()} function to perform these special tasks. + + Note that QGesture objects are only created once for each combination of target object + and gesture type, and they are reused every time the user attempts to perform the + same gesture type on the target object. As a result, it can be useful to reimplement + the \l{QGestureRecognizer::}{reset()} function to clean up after each previous attempt + at recognizing a gesture. + + + \section1 Using a New Gesture Recognizer + + To use a gesture recognizer, construct an instance of your QGestureRecognizer + subclass, and register it with the application with + QApplication::registerGestureRecognizer(). A recognizer for a given type of + gesture can be removed with QApplication::unregisterGestureRecognizer(). + + + \section1 Further Reading + + The \l{Image Gestures Example} shows how to enable gestures for a widget in + a simple image viewer application. */ diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc index d6ade22..05940e4 100644 --- a/doc/src/getting-started/examples.qdoc +++ b/doc/src/getting-started/examples.qdoc @@ -1072,18 +1072,17 @@ /*! \page examples-gestures.html \title Gestures Examples - + \previouspage Animation Framework Examples \contentspage Qt Examples \nextpage D-Bus Examples The API of the gesture framework is not yet finalized and still subject to change. -\omit + \list - \o \l{widgets/imageviewer}{Image Viewer} + \o \l{gestures/imagegestures}{Image Gestures} \endlist -\endomit */ /*! diff --git a/doc/src/snippets/gestures/imageviewer/imagewidget.cpp b/doc/src/snippets/gestures/imageviewer/imagewidget.cpp deleted file mode 100644 index 409db2e..0000000 --- a/doc/src/snippets/gestures/imageviewer/imagewidget.cpp +++ /dev/null @@ -1,364 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "imagewidget.h" - -#include - -ImageWidget::ImageWidget(QWidget *parent) - : QWidget(parent) -{ - setAttribute(Qt::WA_AcceptTouchEvents); - setAttribute(Qt::WA_PaintOnScreen); - setAttribute(Qt::WA_OpaquePaintEvent); - setAttribute(Qt::WA_NoSystemBackground); - - setObjectName("ImageWidget"); - - setMinimumSize(QSize(100,100)); - - position = 0; - zoomed = rotated = false; - - zoomedIn = false; - horizontalOffset = 0; - verticalOffset = 0; - -//! [imagewidget-connect] - panGesture = new QPanGesture(this); - connect(panGesture, SIGNAL(triggered()), this, SLOT(gestureTriggered())); - - tapAndHoldGesture = new TapAndHoldGesture(this); - connect(tapAndHoldGesture, SIGNAL(triggered()), this, SLOT(gestureTriggered())); - connect(tapAndHoldGesture, SIGNAL(finished()), this, SLOT(gestureFinished())); -//! [imagewidget-connect] -} - -void ImageWidget::paintEvent(QPaintEvent*) -{ - QPainter p(this); - if (currentImage.isNull()) { - p.fillRect(geometry(), Qt::white); - return; - } - int hoffset = 0; - int voffset = 0; - const int w = pixmap.width(); - const int h = pixmap.height(); - p.save(); - if (zoomedIn) { - hoffset = horizontalOffset; - voffset = verticalOffset; - if (horizontalOffset > 0) - p.fillRect(0, 0, horizontalOffset, height(), Qt::white); - if (verticalOffset > 0) - p.fillRect(0, 0, width(), verticalOffset, Qt::white); - } - p.drawPixmap(hoffset, voffset, pixmap); - if (hoffset + w < width()) - p.fillRect(hoffset + w, 0, width() - w - hoffset, height(), Qt::white); - if (voffset + h < height()) - p.fillRect(0, voffset + h, width(), height() - h - voffset, Qt::white); - - // paint touch feedback - if (touchFeedback.tapped || touchFeedback.doubleTapped) { - p.setPen(QPen(Qt::gray, 2)); - p.drawEllipse(touchFeedback.position, 5, 5); - if (touchFeedback.doubleTapped) { - p.setPen(QPen(Qt::darkGray, 2, Qt::DotLine)); - p.drawEllipse(touchFeedback.position, 15, 15); - } else if (touchFeedback.tapAndHoldState != 0) { - QPoint pts[8] = { - touchFeedback.position + QPoint( 0, -15), - touchFeedback.position + QPoint( 10, -10), - touchFeedback.position + QPoint( 15, 0), - touchFeedback.position + QPoint( 10, 10), - touchFeedback.position + QPoint( 0, 15), - touchFeedback.position + QPoint(-10, 10), - touchFeedback.position + QPoint(-15, 0) - }; - for (int i = 0; i < touchFeedback.tapAndHoldState/5; ++i) - p.drawEllipse(pts[i], 3, 3); - } - } else if (touchFeedback.sliding) { - p.setPen(QPen(Qt::red, 3)); - QPoint endPos = QPoint(touchFeedback.position.x(), touchFeedback.slidingStartPosition.y()); - p.drawLine(touchFeedback.slidingStartPosition, endPos); - int dx = 10; - if (touchFeedback.slidingStartPosition.x() < endPos.x()) - dx = -1*dx; - p.drawLine(endPos, endPos + QPoint(dx, 5)); - p.drawLine(endPos, endPos + QPoint(dx, -5)); - } - - for (int i = 0; i < TouchFeedback::MaximumNumberOfTouches; ++i) { - if (touchFeedback.touches[i].isNull()) - break; - p.drawEllipse(touchFeedback.touches[i], 10, 10); - } - p.restore(); -} - -void ImageWidget::mousePressEvent(QMouseEvent *event) -{ - touchFeedback.tapped = true; - touchFeedback.position = event->pos(); -} - -void ImageWidget::mouseDoubleClickEvent(QMouseEvent *event) -{ - touchFeedback.doubleTapped = true; - const QPoint p = event->pos(); - touchFeedback.position = p; - horizontalOffset = p.x() - currentImage.width()*1.0*p.x()/width(); - verticalOffset = p.y() - currentImage.height()*1.0*p.y()/height(); - setZoomedIn(!zoomedIn); - zoomed = rotated = false; - updateImage(); - - feedbackFadeOutTimer.start(500, this); -} - -//! [imagewidget-triggered-1] -void ImageWidget::gestureTriggered() -{ - if (sender() == panGesture) { -//! [imagewidget-triggered-1] - touchFeedback.tapped = false; - touchFeedback.doubleTapped = false; - QPanGesture *pg = qobject_cast(sender()); - if (zoomedIn) { -#ifndef QT_NO_CURSOR - switch (pg->state()) { - case Qt::GestureStarted: - case Qt::GestureUpdated: - setCursor(Qt::SizeAllCursor); - break; - default: - setCursor(Qt::ArrowCursor); - } -#endif - horizontalOffset += pg->lastOffset().width(); - verticalOffset += pg->lastOffset().height(); - } else { - // only slide gesture should be accepted - if (pg->state() == Qt::GestureFinished) { - touchFeedback.sliding = false; - zoomed = rotated = false; - if (pg->totalOffset().width() > 0) - goNextImage(); - else - goPrevImage(); - updateImage(); - } - } - update(); - feedbackFadeOutTimer.start(500, this); - } else if (sender() == tapAndHoldGesture) { - if (tapAndHoldGesture->state() == Qt::GestureFinished) { - qDebug() << "tap and hold detected"; - touchFeedback.reset(); - update(); - - QMenu menu; - menu.addAction("Action 1"); - menu.addAction("Action 2"); - menu.addAction("Action 3"); - menu.exec(mapToGlobal(tapAndHoldGesture->pos())); - } else { - ++touchFeedback.tapAndHoldState; - update(); - } - feedbackFadeOutTimer.start(500, this); - } -} - -void ImageWidget::gestureFinished() -{ - qDebug() << "gesture finished" << sender(); -} - -void ImageWidget::gestureCancelled() -{ - qDebug() << "gesture cancelled" << sender(); -} - -void ImageWidget::resizeEvent(QResizeEvent*) -{ - updateImage(); -} - -void ImageWidget::updateImage() -{ - // should use qtconcurrent here? - transformation = QTransform(); - if (zoomedIn) { - } else { - if (currentImage.isNull()) - return; - if (zoomed) { - transformation = transformation.scale(zoom, zoom); - } else { - double xscale = (double)width()/currentImage.width(); - double yscale = (double)height()/currentImage.height(); - if (xscale < yscale) - yscale = xscale; - else - xscale = yscale; - transformation = transformation.scale(xscale, yscale); - } - if (rotated) - transformation = transformation.rotate(angle); - } - pixmap = QPixmap::fromImage(currentImage).transformed(transformation); - update(); -} - -void ImageWidget::openDirectory(const QString &path) -{ - this->path = path; - QDir dir(path); - QStringList nameFilters; - nameFilters << "*.jpg" << "*.png"; - files = dir.entryList(nameFilters, QDir::Files|QDir::Readable, QDir::Name); - - position = 0; - goToImage(0); - updateImage(); -} - -QImage ImageWidget::loadImage(const QString &fileName) -{ - QImageReader reader(fileName); - if (!reader.canRead()) { - qDebug() << fileName << ": can't load image"; - return QImage(); - } - QImage image; - if (!reader.read(&image)) { - qDebug() << fileName << ": corrupted image"; - return QImage(); - } - return image; -} - -void ImageWidget::setZoomedIn(bool zoomed) -{ - zoomedIn = zoomed; -} - -void ImageWidget::goNextImage() -{ - if (files.isEmpty()) - return; - if (position < files.size()-1) { - ++position; - prevImage = currentImage; - currentImage = nextImage; - if (position+1 < files.size()) - nextImage = loadImage(path+QLatin1String("/")+files.at(position+1)); - else - nextImage = QImage(); - } - setZoomedIn(false); - updateImage(); -} - -void ImageWidget::goPrevImage() -{ - if (files.isEmpty()) - return; - if (position > 0) { - --position; - nextImage = currentImage; - currentImage = prevImage; - if (position > 0) - prevImage = loadImage(path+QLatin1String("/")+files.at(position-1)); - else - prevImage = QImage(); - } - setZoomedIn(false); - updateImage(); -} - -void ImageWidget::goToImage(int index) -{ - if (files.isEmpty()) - return; - if (index < 0 || index >= files.size()) { - qDebug() << "goToImage: invalid index: " << index; - return; - } - if (index == position+1) { - goNextImage(); - return; - } - if (position > 0 && index == position-1) { - goPrevImage(); - return; - } - position = index; - pixmap = QPixmap(); - if (index > 0) - prevImage = loadImage(path+QLatin1String("/")+files.at(position-1)); - else - prevImage = QImage(); - currentImage = loadImage(path+QLatin1String("/")+files.at(position)); - if (position+1 < files.size()) - nextImage = loadImage(path+QLatin1String("/")+files.at(position+1)); - else - nextImage = QImage(); - setZoomedIn(false); - updateImage(); -} - -void ImageWidget::timerEvent(QTimerEvent *event) -{ - if (event->timerId() == touchFeedback.tapTimer.timerId()) { - touchFeedback.tapTimer.stop(); - } else if (event->timerId() == feedbackFadeOutTimer.timerId()) { - feedbackFadeOutTimer.stop(); - touchFeedback.reset(); - } - update(); -} - -#include "moc_imagewidget.cpp" diff --git a/doc/src/snippets/gestures/imageviewer/imagewidget.h b/doc/src/snippets/gestures/imageviewer/imagewidget.h deleted file mode 100644 index 5553093..0000000 --- a/doc/src/snippets/gestures/imageviewer/imagewidget.h +++ /dev/null @@ -1,137 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef IMAGEWIDGET_H -#define IMAGEWIDGET_H - -#include -#include -#include - -#include - -#include "tapandholdgesture.h" - -class ImageWidget : public QWidget -{ - Q_OBJECT - -public: - ImageWidget(QWidget *parent = 0); - - void openDirectory(const QString &path); - -protected: - void paintEvent(QPaintEvent*); - void resizeEvent(QResizeEvent*); - void timerEvent(QTimerEvent*); - void mousePressEvent(QMouseEvent*); - void mouseDoubleClickEvent(QMouseEvent*); - -//! [imagewidget-slots] -private slots: - void gestureTriggered(); - void gestureFinished(); - void gestureCancelled(); -//! [imagewidget-slots] - -private: - void updateImage(); - QImage loadImage(const QString &fileName); - void loadImage(); - void setZoomedIn(bool zoomed); - void goNextImage(); - void goPrevImage(); - void goToImage(int index); - - QPanGesture *panGesture; - TapAndHoldGesture *tapAndHoldGesture; - - QString path; - QStringList files; - int position; - - QImage prevImage, nextImage; - QImage currentImage; - QPixmap pixmap; - QTransform transformation; - - bool zoomedIn; - int horizontalOffset; - int verticalOffset; - - bool zoomed; - qreal zoom; - bool rotated; - qreal angle; - - struct TouchFeedback - { - bool tapped; - QPoint position; - bool sliding; - QPoint slidingStartPosition; - QBasicTimer tapTimer; - int tapState; - bool doubleTapped; - int tapAndHoldState; - - enum { MaximumNumberOfTouches = 5 }; - QPoint touches[MaximumNumberOfTouches]; - - inline TouchFeedback() { reset(); } - inline void reset() - { - tapped = false; - sliding = false; - tapTimer.stop(); - tapState = 0; - doubleTapped = false; - tapAndHoldState = 0; - for (int i = 0; i < MaximumNumberOfTouches; ++i) { - touches[i] = QPoint(); - } - } - } touchFeedback; - QBasicTimer feedbackFadeOutTimer; -}; - -#endif diff --git a/doc/src/snippets/gestures/imageviewer/tapandholdgesture.cpp b/doc/src/snippets/gestures/imageviewer/tapandholdgesture.cpp deleted file mode 100644 index 7dd2359..0000000 --- a/doc/src/snippets/gestures/imageviewer/tapandholdgesture.cpp +++ /dev/null @@ -1,159 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "tapandholdgesture.h" - -#include - -// #define TAPANDHOLD_USING_MOUSE - -/*! - \class TapAndHoldGesture - \since 4.6 - - \brief The TapAndHoldGesture class represents a Tap-and-Hold gesture, - providing additional information. -*/ - -const int TapAndHoldGesture::iterationCount = 40; -const int TapAndHoldGesture::iterationTimeout = 50; - -/*! - Creates a new Tap and Hold gesture handler object and marks it as a child - of \a parent. - - On some platforms like Windows there is a system-wide tap and hold gesture - that cannot be overriden, hence the gesture might never trigger and default - context menu will be shown instead. -*/ -TapAndHoldGesture::TapAndHoldGesture(QWidget *parent) - : QGesture(parent), iteration(0) -{ -} - -/*! \internal */ -bool TapAndHoldGesture::filterEvent(QEvent *event) -{ - if (!event->spontaneous()) - return false; - const QTouchEvent *ev = static_cast(event); - switch (event->type()) { - case QEvent::TouchBegin: { - if (timer.isActive()) - timer.stop(); - timer.start(TapAndHoldGesture::iterationTimeout, this); - const QPoint p = ev->touchPoints().at(0).pos().toPoint(); - position = p; - break; - } - case QEvent::TouchUpdate: - if (ev->touchPoints().size() == 1) { - const QPoint startPos = ev->touchPoints().at(0).startPos().toPoint(); - const QPoint pos = ev->touchPoints().at(0).pos().toPoint(); - if ((startPos - pos).manhattanLength() > 15) - reset(); - } else { - reset(); - } - break; - case QEvent::TouchEnd: - reset(); - break; -#ifdef TAPANDHOLD_USING_MOUSE - case QEvent::MouseButtonPress: { - if (timer.isActive()) - timer.stop(); - timer.start(TapAndHoldGesture::iterationTimeout, this); - const QPoint p = static_cast(event)->pos(); - position = startPosition = p; - break; - } - case QEvent::MouseMove: { - const QPoint startPos = startPosition; - const QPoint pos = static_cast(event)->pos(); - if ((startPos - pos).manhattanLength() > 15) - reset(); - break; - } - case QEvent::MouseButtonRelease: - reset(); - break; -#endif // TAPANDHOLD_USING_MOUSE - default: - break; - } - return false; -} - -/*! \internal */ -void TapAndHoldGesture::timerEvent(QTimerEvent *event) -{ - if (event->timerId() != timer.timerId()) - return; - if (iteration == TapAndHoldGesture::iterationCount) { - timer.stop(); - updateState(Qt::GestureFinished); - } else { - updateState(Qt::GestureUpdated); - } - ++iteration; -} - -/*! \internal */ -//! [tapandhold-reset] -void TapAndHoldGesture::reset() -{ - timer.stop(); - iteration = 0; - position = startPosition = QPoint(); - updateState(Qt::NoGesture); -} -//! [tapandhold-reset] - -/*! - \property TapAndHoldGesture::pos - - \brief The position of the gesture. -*/ -QPoint TapAndHoldGesture::pos() const -{ - return position; -} diff --git a/doc/src/snippets/gestures/imageviewer/tapandholdgesture.h b/doc/src/snippets/gestures/imageviewer/tapandholdgesture.h deleted file mode 100644 index 682342e..0000000 --- a/doc/src/snippets/gestures/imageviewer/tapandholdgesture.h +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef TAPANDHOLDGESTURE_H -#define TAPANDHOLDGESTURE_H - -#include -#include -#include - -class TapAndHoldGesture : public QGesture -{ - Q_OBJECT - Q_PROPERTY(QPoint pos READ pos) - -public: - TapAndHoldGesture(QWidget *parent); - - bool filterEvent(QEvent *event); - void reset(); - - QPoint pos() const; - -protected: - void timerEvent(QTimerEvent *event); - -private: - QBasicTimer timer; - int iteration; - QPoint position; - QPoint startPosition; - static const int iterationCount; - static const int iterationTimeout; -}; - -#endif // TAPANDHOLDGESTURE_H diff --git a/doc/src/snippets/gestures/qgesture.cpp b/doc/src/snippets/gestures/qgesture.cpp deleted file mode 100644 index 77f5cc2..0000000 --- a/doc/src/snippets/gestures/qgesture.cpp +++ /dev/null @@ -1,283 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qgesture.h" -#include -#include "qgraphicsitem.h" - -QT_BEGIN_NAMESPACE - - -class QEventFilterProxyGraphicsItem : public QGraphicsItem -{ -public: - QEventFilterProxyGraphicsItem(QGesture *g) - : gesture(g) - { - } - bool sceneEventFilter(QGraphicsItem *, QEvent *event) - { - return gesture ? gesture->filterEvent(event) : false; - } - QRectF boundingRect() const { return QRectF(); } - void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) { } - -private: - QGesture *gesture; -}; - -/* - \class QGesture - \since 4.6 - - \brief The QGesture class is the base class for implementing custom - gestures. - - This class represents both an object that recognizes a gesture out of a set - of input events (a gesture recognizer), and a gesture object itself that - can be used to get extended information about the triggered gesture. - - The class has a list of properties that can be queried by the user to get - some gesture-specific parameters (for example, an offset of a Pan gesture). - - Usually gesture recognizer implements a state machine, storing its state - internally in the recognizer object. The recognizer receives input events - through the \l{QGesture::}{filterEvent()} virtual function and decides - whether the event should change the state of the recognizer by emitting an - appropriate signal. - - Input events should be either fed to the recognizer one by one with a - filterEvent() function, or the gesture recognizer should be attached to an - object it filters events for by specifying it as a parent object. The - QGesture object installs itself as an event filter to the parent object - automatically, the unsetObject() function should be used to remove an event - filter from the parent object. To make a - gesture that operates on a QGraphicsItem, both the appropriate QGraphicsView - should be passed as a parent object and setGraphicsItem() functions should - be used to attach a gesture to a graphics item. - - This is a base class, to create a custom gesture type, you should subclass - it and implement its pure virtual functions. - - \sa QPanGesture -*/ - -/* \fn bool QGesture::filterEvent(QEvent *event) - - Parses input \a event and emits a signal when detects a gesture. - - In your reimplementation of this function, if you want to filter the \a - event out, i.e. stop it being handled further, return true; otherwise - return false; - - This is a pure virtual function that needs to be implemented in subclasses. -*/ - -/* \fn void QGesture::started() - - The signal is emitted when the gesture is started. Extended information - about the gesture is contained in the signal sender object. - - In addition to started(), a triggered() signal should also be emitted. -*/ - -/* \fn void QGesture::triggered() - - The signal is emitted when the gesture is detected. Extended information - about the gesture is contained in the signal sender object. -*/ - -/* \fn void QGesture::finished() - - The signal is emitted when the gesture is finished. Extended information - about the gesture is contained in the signal sender object. -*/ - -/* \fn void QGesture::cancelled() - - The signal is emitted when the gesture is cancelled, for example the reset() - function is called while the gesture was in the process of emitting a - triggered() signal. Extended information about the gesture is contained in - the sender object. -*/ - - -/* - Creates a new gesture handler object and marks it as a child of \a parent. - - The \a parent object is also the default event source for the gesture, - meaning that the gesture installs itself as an event filter for the \a - parent. - - \sa setGraphicsItem() -*/ -QGesture::QGesture(QObject *parent) - : QObject(*new QGesturePrivate, parent) -{ - if (parent) - parent->installEventFilter(this); -} - -/* \internal - */ -QGesture::QGesture(QGesturePrivate &dd, QObject *parent) - : QObject(dd, parent) -{ - if (parent) - parent->installEventFilter(this); -} - -/* - Destroys the gesture object. -*/ -QGesture::~QGesture() -{ -} - -/* \internal - */ -bool QGesture::eventFilter(QObject *receiver, QEvent *event) -{ - Q_D(QGesture); - if (d->graphicsItem && receiver == parent()) - return false; - return filterEvent(event); -} - -/* - \property QGesture::state - - \brief The current state of the gesture. -*/ - -/* - Returns the gesture recognition state. - */ -Qt::GestureState QGesture::state() const -{ - return d_func()->state; -} - -/* - Sets this gesture's recognition state to \a state and emits appropriate - signals. - - This functions emits the signals according to the old state and the new - \a state, and it should be called after all the internal properties have been - initialized. - - \sa started(), triggered(), finished(), cancelled() - */ -void QGesture::updateState(Qt::GestureState state) -{ - Q_D(QGesture); - if (d->state == state) { - if (state == Qt::GestureUpdated) - emit triggered(); - return; - } - const Qt::GestureState oldState = d->state; - d->state = state; - if (state != Qt::NoGesture && oldState > state) { - // comparing the state as ints: state should only be changed from - // started to (optionally) updated and to finished. - qWarning("QGesture::updateState: incorrect new state"); - return; - } - if (oldState == Qt::NoGesture) - emit started(); - if (state == Qt::GestureUpdated) - emit triggered(); - else if (state == Qt::GestureFinished) - emit finished(); - else if (state == Qt::NoGesture) - emit cancelled(); - - if (state == Qt::GestureFinished) { - // gesture is finished, so we reset the internal state. - d->state = Qt::NoGesture; - } -} - -/* - Sets the \a graphicsItem the gesture is filtering events for. - - The gesture will install an event filter to the \a graphicsItem and - redirect them to the filterEvent() function. - - \sa graphicsItem() -*/ -void QGesture::setGraphicsItem(QGraphicsItem *graphicsItem) -{ - Q_D(QGesture); - if (d->graphicsItem && d->eventFilterProxyGraphicsItem) - d->graphicsItem->removeSceneEventFilter(d->eventFilterProxyGraphicsItem); - d->graphicsItem = graphicsItem; - if (!d->eventFilterProxyGraphicsItem) - d->eventFilterProxyGraphicsItem = new QEventFilterProxyGraphicsItem(this); - if (graphicsItem) - graphicsItem->installSceneEventFilter(d->eventFilterProxyGraphicsItem); -} - -/* - Returns the graphics item the gesture is filtering events for. - - \sa setGraphicsItem() -*/ -QGraphicsItem* QGesture::graphicsItem() const -{ - return d_func()->graphicsItem; -} - -/* \fn void QGesture::reset() - - Resets the internal state of the gesture. This function might be called by - the filterEvent() implementation in a derived class, or by the user to - cancel a gesture. The base class implementation calls - updateState(Qt::NoGesture) which emits the cancelled() - signal if the state() of the gesture indicated it was active. -*/ -void QGesture::reset() -{ - updateState(Qt::NoGesture); -} - -QT_END_NAMESPACE diff --git a/doc/src/snippets/gestures/qgesture.h b/doc/src/snippets/gestures/qgesture.h deleted file mode 100644 index 3fc89a1..0000000 --- a/doc/src/snippets/gestures/qgesture.h +++ /dev/null @@ -1,101 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QGESTURE_H -#define QGESTURE_H - -#include -#include -#include -#include -#include -#include - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Gui) - -class QGraphicsItem; -class QGesturePrivate; -class Q_GUI_EXPORT QGesture : public QObject -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QGesture) - - Q_PROPERTY(Qt::GestureState state READ state) - -public: - explicit QGesture(QObject *parent = 0); - ~QGesture(); - - virtual bool filterEvent(QEvent *event) = 0; - - void setGraphicsItem(QGraphicsItem *); - QGraphicsItem *graphicsItem() const; - - Qt::GestureState state() const; - -protected: - QGesture(QGesturePrivate &dd, QObject *parent); - bool eventFilter(QObject*, QEvent*); - - virtual void reset(); - void updateState(Qt::GestureState state); - -//! [qgesture-signals] -Q_SIGNALS: - void started(); - void triggered(); - void finished(); - void cancelled(); -//! [qgesture-signals] - -private: - friend class QWidget; -}; - -QT_END_NAMESPACE - -QT_END_HEADER - -#endif // QGESTURE_H diff --git a/doc/src/snippets/gestures/qstandardgestures.cpp b/doc/src/snippets/gestures/qstandardgestures.cpp deleted file mode 100644 index b22f6ae..0000000 --- a/doc/src/snippets/gestures/qstandardgestures.cpp +++ /dev/null @@ -1,483 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qstandardgestures.h" -#include "qstandardgestures_p.h" - -#include -#include -#include -#include -#include - -QT_BEGIN_NAMESPACE - -#ifdef Q_WS_WIN -QWidgetPrivate *qt_widget_private(QWidget *widget); -#endif - -/*! - \class QPanGesture - \since 4.6 - - \brief The QPanGesture class represents a Pan gesture, - providing additional information related to panning. -*/ - -/*! - Creates a new Pan gesture handler object and marks it as a child of \a - parent. - - On some platform like Windows it's necessary to provide a non-null widget - as \a parent to get native gesture support. -*/ -QPanGesture::QPanGesture(QWidget *parent) - : QGesture(*new QPanGesturePrivate, parent) -{ - if (parent) { - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - qAppPriv->widgetGestures[parent].pan = this; -#ifdef Q_WS_WIN - qt_widget_private(parent)->winSetupGestures(); -#endif - } -} - -/*! \internal */ -bool QPanGesture::event(QEvent *event) -{ - switch (event->type()) { - case QEvent::ParentAboutToChange: - if (QWidget *w = qobject_cast(parent())) { - QApplicationPrivate::instance()->widgetGestures[w].pan = 0; -#ifdef Q_WS_WIN - qt_widget_private(w)->winSetupGestures(); -#endif - } - break; - case QEvent::ParentChange: - if (QWidget *w = qobject_cast(parent())) { - QApplicationPrivate::instance()->widgetGestures[w].pan = this; -#ifdef Q_WS_WIN - qt_widget_private(w)->winSetupGestures(); -#endif - } - break; - default: - break; - } - -#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA) - Q_D(QPanGesture); - if (event->type() == QEvent::Timer) { - const QTimerEvent *te = static_cast(event); - if (te->timerId() == d->panFinishedTimer) { - killTimer(d->panFinishedTimer); - d->panFinishedTimer = 0; - d->lastOffset = QSize(0, 0); - updateState(Qt::GestureFinished); - } - } -#endif - - return QObject::event(event); -} - -bool QPanGesture::eventFilter(QObject *receiver, QEvent *event) -{ -#ifdef Q_WS_WIN - Q_D(QPanGesture); - if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) { - QNativeGestureEvent *ev = static_cast(event); - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - QApplicationPrivate::WidgetStandardGesturesMap::iterator it; - it = qAppPriv->widgetGestures.find(static_cast(receiver)); - if (it == qAppPriv->widgetGestures.end()) - return false; - if (this != it.value().pan) - return false; - Qt::GestureState nextState = Qt::NoGesture; - switch(ev->gestureType) { - case QNativeGestureEvent::GestureBegin: - // next we might receive the first gesture update event, so we - // prepare for it. - d->state = Qt::NoGesture; - return false; - case QNativeGestureEvent::Pan: - nextState = Qt::GestureUpdated; - event->accept(); - break; - case QNativeGestureEvent::GestureEnd: - if (state() == Qt::NoGesture) - return false; // some other gesture has ended - nextState = Qt::GestureFinished; - break; - default: - return false; - } - if (state() == Qt::NoGesture) { - d->lastOffset = d->totalOffset = QSize(); - } else { - d->lastOffset = QSize(ev->position.x() - d->lastPosition.x(), - ev->position.y() - d->lastPosition.y()); - d->totalOffset += d->lastOffset; - } - d->lastPosition = ev->position; - updateState(nextState); - return true; - } -#endif - return QGesture::eventFilter(receiver, event); -} - -/*! \internal */ -bool QPanGesture::filterEvent(QEvent *event) -{ - Q_D(QPanGesture); - if (!event->spontaneous()) - return false; - const QTouchEvent *ev = static_cast(event); - if (event->type() == QEvent::TouchBegin) { - QTouchEvent::TouchPoint p = ev->touchPoints().at(0); - d->lastPosition = p.pos().toPoint(); - d->lastOffset = d->totalOffset = QSize(); - } else if (event->type() == QEvent::TouchEnd) { - if (state() != Qt::NoGesture) { - if (!ev->touchPoints().isEmpty()) { - QTouchEvent::TouchPoint p = ev->touchPoints().at(0); - const QPoint pos = p.pos().toPoint(); - const QPoint lastPos = p.lastPos().toPoint(); - const QPoint startPos = p.startPos().toPoint(); - d->lastOffset = QSize(pos.x() - lastPos.x(), pos.y() - lastPos.y()); - d->totalOffset = QSize(pos.x() - startPos.x(), pos.y() - startPos.y()); - } - updateState(Qt::GestureFinished); - } - reset(); - } else if (event->type() == QEvent::TouchUpdate) { - QTouchEvent::TouchPoint p = ev->touchPoints().at(0); - const QPoint pos = p.pos().toPoint(); - const QPoint lastPos = p.lastPos().toPoint(); - const QPoint startPos = p.startPos().toPoint(); - d->lastOffset = QSize(pos.x() - lastPos.x(), pos.y() - lastPos.y()); - d->totalOffset = QSize(pos.x() - startPos.x(), pos.y() - startPos.y()); - if (d->totalOffset.width() > 10 || d->totalOffset.height() > 10 || - d->totalOffset.width() < -10 || d->totalOffset.height() < -10) { - updateState(Qt::GestureUpdated); - } - } -#ifdef Q_OS_MAC - else if (event->type() == QEvent::Wheel) { - // On Mac, there is really no native panning gesture. Instead, a two - // finger pan is delivered as mouse wheel events. Otoh, on Windows, you - // either get mouse wheel events or pan events. We have decided to make this - // the Qt behaviour as well, meaning that on Mac, wheel - // events will be masked away when listening for pan events. -#ifndef QT_MAC_USE_COCOA - // In Carbon we receive neither touch-, nor pan gesture events. - // So we create pan gestures by converting wheel events. After all, this - // is how things are supposed to work on mac in the first place. - const QWheelEvent *wev = static_cast(event); - int offset = wev->delta() / -120; - d->lastOffset = wev->orientation() == Qt::Horizontal ? QSize(offset, 0) : QSize(0, offset); - - if (state() == Qt::NoGesture) { - d->totalOffset = d->lastOffset; - } else { - d->totalOffset += d->lastOffset; - } - - killTimer(d->panFinishedTimer); - d->panFinishedTimer = startTimer(200); - updateState(Qt::GestureUpdated); -#endif - return true; - } -#endif - return false; -} - -/*! \internal */ -void QPanGesture::reset() -{ - Q_D(QPanGesture); - d->lastOffset = d->totalOffset = QSize(); - d->lastPosition = QPoint(); -#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA) - if (d->panFinishedTimer) { - killTimer(d->panFinishedTimer); - d->panFinishedTimer = 0; - } -#endif - QGesture::reset(); -} - -/*! - \property QPanGesture::totalOffset - - Specifies a total pan offset since the start of the gesture. -*/ -QSize QPanGesture::totalOffset() const -{ - Q_D(const QPanGesture); - return d->totalOffset; -} - -/*! - \property QPanGesture::lastOffset - - Specifies a pan offset since the last time the gesture was - triggered. -*/ -QSize QPanGesture::lastOffset() const -{ - Q_D(const QPanGesture); - return d->lastOffset; -} - - -/*! - \class QPinchGesture - \since 4.6 - - \brief The QPinchGesture class represents a Pinch gesture, - providing additional information related to zooming and/or rotation. -*/ - -/*! - Creates a new Pinch gesture handler object and marks it as a child of \a - parent. - - On some platform like Windows it's necessary to provide a non-null widget - as \a parent to get native gesture support. -*/ -QPinchGesture::QPinchGesture(QWidget *parent) - : QGesture(*new QPinchGesturePrivate, parent) -{ - if (parent) { - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - qAppPriv->widgetGestures[parent].pinch = this; -#ifdef Q_WS_WIN - qt_widget_private(parent)->winSetupGestures(); -#endif - } -} - -/*! \internal */ -bool QPinchGesture::event(QEvent *event) -{ - switch (event->type()) { - case QEvent::ParentAboutToChange: - if (QWidget *w = qobject_cast(parent())) { - QApplicationPrivate::instance()->widgetGestures[w].pinch = 0; -#ifdef Q_WS_WIN - qt_widget_private(w)->winSetupGestures(); -#endif - } - break; - case QEvent::ParentChange: - if (QWidget *w = qobject_cast(parent())) { - QApplicationPrivate::instance()->widgetGestures[w].pinch = this; -#ifdef Q_WS_WIN - qt_widget_private(w)->winSetupGestures(); -#endif - } - break; - default: - break; - } - return QObject::event(event); -} - -bool QPinchGesture::eventFilter(QObject *receiver, QEvent *event) -{ -#ifdef Q_WS_WIN - Q_D(QPinchGesture); - if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) { - QNativeGestureEvent *ev = static_cast(event); - QApplicationPrivate *qAppPriv = QApplicationPrivate::instance(); - QApplicationPrivate::WidgetStandardGesturesMap::iterator it; - it = qAppPriv->widgetGestures.find(static_cast(receiver)); - if (it == qAppPriv->widgetGestures.end()) - return false; - if (this != it.value().pinch) - return false; - Qt::GestureState nextState = Qt::NoGesture; - switch(ev->gestureType) { - case QNativeGestureEvent::GestureBegin: - // next we might receive the first gesture update event, so we - // prepare for it. - d->state = Qt::NoGesture; - d->scaleFactor = d->lastScaleFactor = 1; - d->rotationAngle = d->lastRotationAngle = 0; - d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPoint(); - d->initialDistance = 0; - return false; - case QNativeGestureEvent::Rotate: - d->lastRotationAngle = d->rotationAngle; - d->rotationAngle = -1 * GID_ROTATE_ANGLE_FROM_ARGUMENT(ev->argument); - nextState = Qt::GestureUpdated; - event->accept(); - break; - case QNativeGestureEvent::Zoom: - if (d->initialDistance != 0) { - d->lastScaleFactor = d->scaleFactor; - int distance = int(qint64(ev->argument)); - d->scaleFactor = (qreal) distance / d->initialDistance; - } else { - d->initialDistance = int(qint64(ev->argument)); - } - nextState = Qt::GestureUpdated; - event->accept(); - break; - case QNativeGestureEvent::GestureEnd: - if (state() == Qt::NoGesture) - return false; // some other gesture has ended - nextState = Qt::GestureFinished; - break; - default: - return false; - } - if (d->startCenterPoint.isNull()) - d->startCenterPoint = d->centerPoint; - d->lastCenterPoint = d->centerPoint; - d->centerPoint = static_cast(receiver)->mapFromGlobal(ev->position); - updateState(nextState); - return true; - } -#endif - return QGesture::eventFilter(receiver, event); -} - -/*! \internal */ -bool QPinchGesture::filterEvent(QEvent *event) -{ - Q_UNUSED(event); - return false; -} - -/*! \internal */ -void QPinchGesture::reset() -{ - Q_D(QPinchGesture); - d->scaleFactor = d->lastScaleFactor = 0; - d->rotationAngle = d->lastRotationAngle = 0; - d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPoint(); - QGesture::reset(); -} - -/*! - \property QPinchGesture::scaleFactor - - Specifies a scale factor of the pinch gesture. -*/ -qreal QPinchGesture::scaleFactor() const -{ - return d_func()->scaleFactor; -} - -/*! - \property QPinchGesture::lastScaleFactor - - Specifies a previous scale factor of the pinch gesture. -*/ -qreal QPinchGesture::lastScaleFactor() const -{ - return d_func()->lastScaleFactor; -} - -/*! - \property QPinchGesture::rotationAngle - - Specifies a rotation angle of the gesture. -*/ -qreal QPinchGesture::rotationAngle() const -{ - return d_func()->rotationAngle; -} - -/*! - \property QPinchGesture::lastRotationAngle - - Specifies a previous rotation angle of the gesture. -*/ -qreal QPinchGesture::lastRotationAngle() const -{ - return d_func()->lastRotationAngle; -} - -/*! - \property QPinchGesture::centerPoint - - Specifies a center point of the gesture. The point can be used as a center - point that the object is rotated around. -*/ -QPoint QPinchGesture::centerPoint() const -{ - return d_func()->centerPoint; -} - -/*! - \property QPinchGesture::lastCenterPoint - - Specifies a previous center point of the gesture. -*/ -QPoint QPinchGesture::lastCenterPoint() const -{ - return d_func()->lastCenterPoint; -} - -/*! - \property QPinchGesture::startCenterPoint - - Specifies an initial center point of the gesture. Difference between the - startCenterPoint and the centerPoint is the distance at which pinching - fingers has shifted. -*/ -QPoint QPinchGesture::startCenterPoint() const -{ - return d_func()->startCenterPoint; -} - -QT_END_NAMESPACE - -#include "moc_qstandardgestures.cpp" - diff --git a/doc/src/snippets/gestures/qstandardgestures.h b/doc/src/snippets/gestures/qstandardgestures.h deleted file mode 100644 index efd6c6e..0000000 --- a/doc/src/snippets/gestures/qstandardgestures.h +++ /dev/null @@ -1,126 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSTANDARDGESTURES_H -#define QSTANDARDGESTURES_H - -#include -#include - -#include - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Gui) - -class QPanGesturePrivate; -class Q_GUI_EXPORT QPanGesture : public QGesture -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QPanGesture) - - Q_PROPERTY(QSize totalOffset READ totalOffset) - Q_PROPERTY(QSize lastOffset READ lastOffset) - -public: - QPanGesture(QWidget *parent); - - bool filterEvent(QEvent *event); - - QSize totalOffset() const; - QSize lastOffset() const; - -protected: - void reset(); - -private: - bool event(QEvent *event); - bool eventFilter(QObject *receiver, QEvent *event); - - friend class QWidget; -}; - -class QPinchGesturePrivate; -class Q_GUI_EXPORT QPinchGesture : public QGesture -{ - Q_OBJECT - Q_DECLARE_PRIVATE(QPinchGesture) - - Q_PROPERTY(qreal scaleFactor READ scaleFactor) - Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor) - - Q_PROPERTY(qreal rotationAngle READ rotationAngle) - Q_PROPERTY(qreal lastRotationAngle READ lastRotationAngle) - - Q_PROPERTY(QPoint startCenterPoint READ startCenterPoint) - Q_PROPERTY(QPoint lastCenterPoint READ lastCenterPoint) - Q_PROPERTY(QPoint centerPoint READ centerPoint) - -public: - QPinchGesture(QWidget *parent); - - bool filterEvent(QEvent *event); - void reset(); - - QPoint startCenterPoint() const; - QPoint lastCenterPoint() const; - QPoint centerPoint() const; - - qreal scaleFactor() const; - qreal lastScaleFactor() const; - - qreal rotationAngle() const; - qreal lastRotationAngle() const; - -private: - bool event(QEvent *event); - bool eventFilter(QObject *receiver, QEvent *event); - - friend class QWidget; -}; - -QT_END_NAMESPACE - -QT_END_HEADER - -#endif // QSTANDARDGESTURES_H diff --git a/examples/gestures/imageviewer/imageviewer.pro b/examples/gestures/imageviewer/imageviewer.pro index 68c1f1c..7780ad9 100644 --- a/examples/gestures/imageviewer/imageviewer.pro +++ b/examples/gestures/imageviewer/imageviewer.pro @@ -1,6 +1,8 @@ -HEADERS += imagewidget.h -SOURCES += imagewidget.cpp \ - main.cpp +HEADERS = imagewidget.h \ + mainwidget.h +SOURCES = imagewidget.cpp \ + main.cpp \ + mainwidget.cpp # install target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp index f3fd8e4..c4a4e50 100644 --- a/examples/gestures/imageviewer/imagewidget.cpp +++ b/examples/gestures/imageviewer/imagewidget.cpp @@ -59,17 +59,21 @@ ImageWidget::ImageWidget(QWidget *parent) setAttribute(Qt::WA_OpaquePaintEvent); setAttribute(Qt::WA_NoSystemBackground); +//! [enable gestures] grabGesture(Qt::PanGesture); grabGesture(Qt::PinchGesture); grabGesture(Qt::SwipeGesture); +//! [enable gestures] } +//! [event handler] bool ImageWidget::event(QEvent *event) { if (event->type() == QEvent::Gesture) return gestureEvent(static_cast(event)); return QWidget::event(event); } +//! [event handler] void ImageWidget::paintEvent(QPaintEvent*) { @@ -98,6 +102,7 @@ void ImageWidget::mouseDoubleClickEvent(QMouseEvent *) update(); } +//! [gesture event handler] bool ImageWidget::gestureEvent(QGestureEvent *event) { if (QGesture *pan = event->gesture(Qt::PanGesture)) { @@ -112,6 +117,7 @@ bool ImageWidget::gestureEvent(QGestureEvent *event) } return false; } +//! [gesture event handler] void ImageWidget::panTriggered(QPanGesture *gesture) { @@ -147,7 +153,7 @@ void ImageWidget::pinchTriggered(QPinchGesture *gesture) update(); } -//! [swipe slot] +//! [swipe function] void ImageWidget::swipeTriggered(QSwipeGesture *gesture) { if (gesture->horizontalDirection() == QSwipeGesture::Left @@ -157,7 +163,7 @@ void ImageWidget::swipeTriggered(QSwipeGesture *gesture) goNextImage(); update(); } -//! [swipe slot] +//! [swipe function] void ImageWidget::resizeEvent(QResizeEvent*) { diff --git a/examples/gestures/imageviewer/main.cpp b/examples/gestures/imageviewer/main.cpp index c3d03f3..9c99f31 100644 --- a/examples/gestures/imageviewer/main.cpp +++ b/examples/gestures/imageviewer/main.cpp @@ -41,36 +41,7 @@ #include -#include "imagewidget.h" - -class MainWidget : public QMainWindow -{ - Q_OBJECT - -public: - MainWidget(QWidget *parent = 0); - -public slots: - void openDirectory(const QString &path); - -private: - bool loadImage(const QString &fileName); - - ImageWidget *imageWidget; -}; - -MainWidget::MainWidget(QWidget *parent) - : QMainWindow(parent) -{ - resize(400, 300); - imageWidget = new ImageWidget(this); - setCentralWidget(imageWidget); -} - -void MainWidget::openDirectory(const QString &path) -{ - imageWidget->openDirectory(path); -} +#include "mainwidget.h" int main(int argc, char *argv[]) { @@ -86,5 +57,3 @@ int main(int argc, char *argv[]) return app.exec(); } - -#include "main.moc" diff --git a/examples/gestures/imageviewer/mainwidget.cpp b/examples/gestures/imageviewer/mainwidget.cpp new file mode 100644 index 0000000..51e9f1e --- /dev/null +++ b/examples/gestures/imageviewer/mainwidget.cpp @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "imagewidget.h" +#include "mainwidget.h" + +MainWidget::MainWidget(QWidget *parent) + : QMainWindow(parent) +{ + resize(400, 300); + imageWidget = new ImageWidget(this); + setCentralWidget(imageWidget); +} + +void MainWidget::openDirectory(const QString &path) +{ + imageWidget->openDirectory(path); +} diff --git a/examples/gestures/imageviewer/mainwidget.h b/examples/gestures/imageviewer/mainwidget.h new file mode 100644 index 0000000..1a99155 --- /dev/null +++ b/examples/gestures/imageviewer/mainwidget.h @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MAINWIDGET_H +#define MAINWIDGET_H + +#include + +class MainWidget : public QMainWindow +{ + Q_OBJECT + +public: + MainWidget(QWidget *parent = 0); + +public slots: + void openDirectory(const QString &path); + +private: + bool loadImage(const QString &fileName); + + ImageWidget *imageWidget; +}; + +#endif diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index 3639a45..6231d19 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -51,11 +51,14 @@ QT_BEGIN_NAMESPACE \brief The QGesture class represents a gesture, containing properties that describe the corresponding user input. - QGesture objects are delivered to widgets and \l{QGraphicsObject}s with - \l{QGestureEvent}s. + Gesture objects are not constructed directly by developers. They are created by + the QGestureRecognizer object that is registered with the application; see + QApplication::registerGestureRecognizer(). + + \section1 Gesture Properties The class has a list of properties that can be queried by the user to get - some gesture-specific arguments. For example, the QPinchGesture gesture has a scale + some gesture-specific arguments. For example, the pinch gesture has a scale factor that is exposed as a property. Developers of custom gesture recognizers can add additional properties in @@ -63,6 +66,23 @@ QT_BEGIN_NAMESPACE by adding new dynamic properties to a QGesture object, or by subclassing the QGesture class (or one of its subclasses). + \section1 Lifecycle of a Gesture Object + + A QGesture instance is created when the application calls QWidget::grabGesture() + or QGraphicsObject::grabGesture() to configure a widget or graphics object (the + target object) for gesture input. One gesture object is created for each target + object. + + The registered gesture recognizer monitors the input events for the target + object via its \l{QGestureRecognizer::}{filterEvent()} function, updating the + properties of the gesture object as required. + + The gesture object may be delivered to the target object in a QGestureEvent if + the corresponding gesture is active or has just been canceled. Each event that + is delivered contains a list of gesture objects, since support for more than + one gesture may be enabled for the target object. Due to the way events are + handled in Qt, gesture events may be filtered by other objects. + \sa QGestureEvent, QGestureRecognizer */ diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp index 2af087f..1998cba 100644 --- a/src/gui/kernel/qgesturerecognizer.cpp +++ b/src/gui/kernel/qgesturerecognizer.cpp @@ -65,9 +65,11 @@ QT_BEGIN_NAMESPACE about the user's input. Gestures are created when the framework calls createGesture() to handle user input - for a particular target QWidget or QGraphicsObject instance. Once a QGesture has been - created for one of these objects, the gesture recognizer will receive events for it - in its filterEvent() handler function. + for a particular instance of a QWidget or QGraphicsObject subclass. A QGesture object + is created for each widget or item that is configured to use gestures. + + Once a QGesture has been created for a target object, the gesture recognizer will + receive events for it in its filterEvent() handler function. When a gesture is canceled, the reset() function is called, giving the recognizer the chance to update the appropriate properties in the corresponding QGesture object. @@ -75,15 +77,18 @@ QT_BEGIN_NAMESPACE \section1 Supporting New Gestures To add support for new gestures, you need to derive from QGestureRecognizer to create - a custom recognizer class and register it with the application by calling - QApplication::registerGestureRecognizer(). You can also derive from QGesture to create - a custom gesture class, or rely on dynamic properties to express specific details - of the gesture you want to handle. + a custom recognizer class, construct an instance of this class, and register it with + the application by calling QApplication::registerGestureRecognizer(). You can also + subclass QGesture to create a custom gesture class, or rely on dynamic properties + to express specific details of the gesture you want to handle. Your custom QGestureRecognizer subclass needs to reimplement the filterEvent() function to handle and filter the incoming input events for QWidget and QGraphicsObject subclasses. - Although the logic for gesture recognition is implemented in this function, the state of - recognition for each target object can be recorded in the QGesture object supplied. + Although the logic for gesture recognition is implemented in this function, you can + store persistent information about the state of the recognition process in the QGesture + object supplied. The filterEvent() function must return a value of Qt::GestureState that + indicates the state of recognition for a given gesture and target object. This determines + whether or not a gesture event will be delivered to a target object. If you choose to represent a gesture by a custom QGesture subclass, you will need to reimplement the createGesture() function to construct instances of your gesture class. -- cgit v0.12 From f0688de89cb82f6d3715bb03d7706fca4e6ab86f Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 13 Oct 2009 19:26:35 +0200 Subject: Doc: Moving the Image Gestures example. Reviewed-by: Trust Me --- examples/gestures/gestures.pro | 2 +- examples/gestures/imagegestures/imagegestures.pro | 16 ++ examples/gestures/imagegestures/imagewidget.cpp | 268 ++++++++++++++++++++++ examples/gestures/imagegestures/imagewidget.h | 98 ++++++++ examples/gestures/imagegestures/main.cpp | 59 +++++ examples/gestures/imagegestures/mainwidget.cpp | 56 +++++ examples/gestures/imagegestures/mainwidget.h | 63 +++++ examples/gestures/imageviewer/imageviewer.pro | 16 -- examples/gestures/imageviewer/imagewidget.cpp | 268 ---------------------- examples/gestures/imageviewer/imagewidget.h | 98 -------- examples/gestures/imageviewer/main.cpp | 59 ----- examples/gestures/imageviewer/mainwidget.cpp | 56 ----- examples/gestures/imageviewer/mainwidget.h | 63 ----- 13 files changed, 561 insertions(+), 561 deletions(-) create mode 100644 examples/gestures/imagegestures/imagegestures.pro create mode 100644 examples/gestures/imagegestures/imagewidget.cpp create mode 100644 examples/gestures/imagegestures/imagewidget.h create mode 100644 examples/gestures/imagegestures/main.cpp create mode 100644 examples/gestures/imagegestures/mainwidget.cpp create mode 100644 examples/gestures/imagegestures/mainwidget.h delete mode 100644 examples/gestures/imageviewer/imageviewer.pro delete mode 100644 examples/gestures/imageviewer/imagewidget.cpp delete mode 100644 examples/gestures/imageviewer/imagewidget.h delete mode 100644 examples/gestures/imageviewer/main.cpp delete mode 100644 examples/gestures/imageviewer/mainwidget.cpp delete mode 100644 examples/gestures/imageviewer/mainwidget.h diff --git a/examples/gestures/gestures.pro b/examples/gestures/gestures.pro index 09cd56a..e3978b6 100644 --- a/examples/gestures/gestures.pro +++ b/examples/gestures/gestures.pro @@ -1,7 +1,7 @@ TEMPLATE = \ subdirs SUBDIRS = \ - imageviewer + imagegestures # install target.path = $$[QT_INSTALL_EXAMPLES]/gestures diff --git a/examples/gestures/imagegestures/imagegestures.pro b/examples/gestures/imagegestures/imagegestures.pro new file mode 100644 index 0000000..7780ad9 --- /dev/null +++ b/examples/gestures/imagegestures/imagegestures.pro @@ -0,0 +1,16 @@ +HEADERS = imagewidget.h \ + mainwidget.h +SOURCES = imagewidget.cpp \ + main.cpp \ + mainwidget.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer +sources.files = $$SOURCES \ + $$HEADERS \ + $$RESOURCES \ + $$FORMS \ + imageviewer.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer +INSTALLS += target \ + sources diff --git a/examples/gestures/imagegestures/imagewidget.cpp b/examples/gestures/imagegestures/imagewidget.cpp new file mode 100644 index 0000000..c4a4e50 --- /dev/null +++ b/examples/gestures/imagegestures/imagewidget.cpp @@ -0,0 +1,268 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "imagewidget.h" + +#include + +ImageWidget::ImageWidget(QWidget *parent) + : QWidget(parent), + position(0), + horizontalOffset(0), + verticalOffset(0), + rotationAngle(0), + scaleFactor(1) + +{ + setObjectName("ImageWidget"); + setMinimumSize(QSize(100,100)); + + setAttribute(Qt::WA_PaintOnScreen); + setAttribute(Qt::WA_OpaquePaintEvent); + setAttribute(Qt::WA_NoSystemBackground); + +//! [enable gestures] + grabGesture(Qt::PanGesture); + grabGesture(Qt::PinchGesture); + grabGesture(Qt::SwipeGesture); +//! [enable gestures] +} + +//! [event handler] +bool ImageWidget::event(QEvent *event) +{ + if (event->type() == QEvent::Gesture) + return gestureEvent(static_cast(event)); + return QWidget::event(event); +} +//! [event handler] + +void ImageWidget::paintEvent(QPaintEvent*) +{ + QPainter p(this); + p.fillRect(rect(), Qt::white); + + float iw = currentImage.width(); + float ih = currentImage.height(); + float wh = height(); + float ww = width(); + + p.translate(ww/2, wh/2); + p.translate(horizontalOffset, verticalOffset); + p.rotate(rotationAngle); + p.scale(scaleFactor, scaleFactor); + p.translate(-iw/2, -ih/2); + p.drawImage(0, 0, currentImage); +} + +void ImageWidget::mouseDoubleClickEvent(QMouseEvent *) +{ + rotationAngle = 0; + scaleFactor = 1; + verticalOffset = 0; + horizontalOffset = 0; + update(); +} + +//! [gesture event handler] +bool ImageWidget::gestureEvent(QGestureEvent *event) +{ + if (QGesture *pan = event->gesture(Qt::PanGesture)) { + panTriggered(static_cast(pan)); + return true; + } else if (QGesture *pinch = event->gesture(Qt::PinchGesture)) { + pinchTriggered(static_cast(pinch)); + return true; + } else if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) { + swipeTriggered(static_cast(swipe)); + return true; + } + return false; +} +//! [gesture event handler] + +void ImageWidget::panTriggered(QPanGesture *gesture) +{ +#ifndef QT_NO_CURSOR + switch (gesture->state()) { + case Qt::GestureStarted: + case Qt::GestureUpdated: + setCursor(Qt::SizeAllCursor); + break; + default: + setCursor(Qt::ArrowCursor); + } +#endif + QSizeF lastOffset = gesture->offset(); + horizontalOffset += lastOffset.width(); + verticalOffset += lastOffset.height(); + update(); +} + +void ImageWidget::pinchTriggered(QPinchGesture *gesture) +{ + QPinchGesture::WhatChanged whatChanged = gesture->whatChanged(); + if (whatChanged & QPinchGesture::RotationAngleChanged) { + qreal value = gesture->property("rotationAngle").toReal(); + qreal lastValue = gesture->property("lastRotationAngle").toReal(); + rotationAngle += value - lastValue; + } + if (whatChanged & QPinchGesture::ScaleFactorChanged) { + qreal value = gesture->property("scaleFactor").toReal(); + qreal lastValue = gesture->property("lastScaleFactor").toReal(); + scaleFactor += value - lastValue; + } + update(); +} + +//! [swipe function] +void ImageWidget::swipeTriggered(QSwipeGesture *gesture) +{ + if (gesture->horizontalDirection() == QSwipeGesture::Left + || gesture->verticalDirection() == QSwipeGesture::Up) + goPrevImage(); + else + goNextImage(); + update(); +} +//! [swipe function] + +void ImageWidget::resizeEvent(QResizeEvent*) +{ + update(); +} + +void ImageWidget::openDirectory(const QString &path) +{ + this->path = path; + QDir dir(path); + QStringList nameFilters; + nameFilters << "*.jpg" << "*.png"; + files = dir.entryList(nameFilters, QDir::Files|QDir::Readable, QDir::Name); + + position = 0; + goToImage(0); + update(); +} + +QImage ImageWidget::loadImage(const QString &fileName) +{ + QImageReader reader(fileName); + if (!reader.canRead()) { + qDebug() << fileName << ": can't load image"; + return QImage(); + } + + QImage image; + if (!reader.read(&image)) { + qDebug() << fileName << ": corrupted image"; + return QImage(); + } + return image; +} + +void ImageWidget::goNextImage() +{ + if (files.isEmpty()) + return; + + if (position < files.size()-1) { + ++position; + prevImage = currentImage; + currentImage = nextImage; + if (position+1 < files.size()) + nextImage = loadImage(path+QLatin1String("/")+files.at(position+1)); + else + nextImage = QImage(); + } + update(); +} + +void ImageWidget::goPrevImage() +{ + if (files.isEmpty()) + return; + + if (position > 0) { + --position; + nextImage = currentImage; + currentImage = prevImage; + if (position > 0) + prevImage = loadImage(path+QLatin1String("/")+files.at(position-1)); + else + prevImage = QImage(); + } + update(); +} + +void ImageWidget::goToImage(int index) +{ + if (files.isEmpty()) + return; + + if (index < 0 || index >= files.size()) { + qDebug() << "goToImage: invalid index: " << index; + return; + } + + if (index == position+1) { + goNextImage(); + return; + } + + if (position > 0 && index == position-1) { + goPrevImage(); + return; + } + + position = index; + + if (index > 0) + prevImage = loadImage(path+QLatin1String("/")+files.at(position-1)); + else + prevImage = QImage(); + currentImage = loadImage(path+QLatin1String("/")+files.at(position)); + if (position+1 < files.size()) + nextImage = loadImage(path+QLatin1String("/")+files.at(position+1)); + else + nextImage = QImage(); + update(); +} diff --git a/examples/gestures/imagegestures/imagewidget.h b/examples/gestures/imagegestures/imagewidget.h new file mode 100644 index 0000000..7b91fbf --- /dev/null +++ b/examples/gestures/imagegestures/imagewidget.h @@ -0,0 +1,98 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef IMAGEWIDGET_H +#define IMAGEWIDGET_H + +#include +#include +#include + +QT_BEGIN_NAMESPACE +class QGestureEvent; +class QPanGesture; +class QPinchGesture; +class QSwipeGesture; +QT_END_NAMESPACE + +class ImageWidget : public QWidget +{ + Q_OBJECT + +public: + ImageWidget(QWidget *parent = 0); + + void openDirectory(const QString &path); + +protected: + bool event(QEvent*); + bool gestureEvent(QGestureEvent*); + void paintEvent(QPaintEvent*); + void resizeEvent(QResizeEvent*); + void mouseDoubleClickEvent(QMouseEvent*); + +private: + void panTriggered(QPanGesture*); + void pinchTriggered(QPinchGesture*); + void swipeTriggered(QSwipeGesture*); + +private: + void updateImage(); + QImage loadImage(const QString &fileName); + void loadImage(); + void goNextImage(); + void goPrevImage(); + void goToImage(int index); + + QString path; + QStringList files; + int position; + + QImage prevImage, nextImage; + QImage currentImage; + + float horizontalOffset; + float verticalOffset; + float rotationAngle; + float scaleFactor; +}; + +#endif diff --git a/examples/gestures/imagegestures/main.cpp b/examples/gestures/imagegestures/main.cpp new file mode 100644 index 0000000..9c99f31 --- /dev/null +++ b/examples/gestures/imagegestures/main.cpp @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "mainwidget.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + + MainWidget w; + w.show(); + + if (QApplication::arguments().size() > 1) + w.openDirectory(QApplication::arguments().at(1)); + else + w.openDirectory(QFileDialog::getExistingDirectory(0, "Select image folder")); + + return app.exec(); +} diff --git a/examples/gestures/imagegestures/mainwidget.cpp b/examples/gestures/imagegestures/mainwidget.cpp new file mode 100644 index 0000000..51e9f1e --- /dev/null +++ b/examples/gestures/imagegestures/mainwidget.cpp @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "imagewidget.h" +#include "mainwidget.h" + +MainWidget::MainWidget(QWidget *parent) + : QMainWindow(parent) +{ + resize(400, 300); + imageWidget = new ImageWidget(this); + setCentralWidget(imageWidget); +} + +void MainWidget::openDirectory(const QString &path) +{ + imageWidget->openDirectory(path); +} diff --git a/examples/gestures/imagegestures/mainwidget.h b/examples/gestures/imagegestures/mainwidget.h new file mode 100644 index 0000000..1a99155 --- /dev/null +++ b/examples/gestures/imagegestures/mainwidget.h @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MAINWIDGET_H +#define MAINWIDGET_H + +#include + +class MainWidget : public QMainWindow +{ + Q_OBJECT + +public: + MainWidget(QWidget *parent = 0); + +public slots: + void openDirectory(const QString &path); + +private: + bool loadImage(const QString &fileName); + + ImageWidget *imageWidget; +}; + +#endif diff --git a/examples/gestures/imageviewer/imageviewer.pro b/examples/gestures/imageviewer/imageviewer.pro deleted file mode 100644 index 7780ad9..0000000 --- a/examples/gestures/imageviewer/imageviewer.pro +++ /dev/null @@ -1,16 +0,0 @@ -HEADERS = imagewidget.h \ - mainwidget.h -SOURCES = imagewidget.cpp \ - main.cpp \ - mainwidget.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer -sources.files = $$SOURCES \ - $$HEADERS \ - $$RESOURCES \ - $$FORMS \ - imageviewer.pro -sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer -INSTALLS += target \ - sources diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp deleted file mode 100644 index c4a4e50..0000000 --- a/examples/gestures/imageviewer/imagewidget.cpp +++ /dev/null @@ -1,268 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "imagewidget.h" - -#include - -ImageWidget::ImageWidget(QWidget *parent) - : QWidget(parent), - position(0), - horizontalOffset(0), - verticalOffset(0), - rotationAngle(0), - scaleFactor(1) - -{ - setObjectName("ImageWidget"); - setMinimumSize(QSize(100,100)); - - setAttribute(Qt::WA_PaintOnScreen); - setAttribute(Qt::WA_OpaquePaintEvent); - setAttribute(Qt::WA_NoSystemBackground); - -//! [enable gestures] - grabGesture(Qt::PanGesture); - grabGesture(Qt::PinchGesture); - grabGesture(Qt::SwipeGesture); -//! [enable gestures] -} - -//! [event handler] -bool ImageWidget::event(QEvent *event) -{ - if (event->type() == QEvent::Gesture) - return gestureEvent(static_cast(event)); - return QWidget::event(event); -} -//! [event handler] - -void ImageWidget::paintEvent(QPaintEvent*) -{ - QPainter p(this); - p.fillRect(rect(), Qt::white); - - float iw = currentImage.width(); - float ih = currentImage.height(); - float wh = height(); - float ww = width(); - - p.translate(ww/2, wh/2); - p.translate(horizontalOffset, verticalOffset); - p.rotate(rotationAngle); - p.scale(scaleFactor, scaleFactor); - p.translate(-iw/2, -ih/2); - p.drawImage(0, 0, currentImage); -} - -void ImageWidget::mouseDoubleClickEvent(QMouseEvent *) -{ - rotationAngle = 0; - scaleFactor = 1; - verticalOffset = 0; - horizontalOffset = 0; - update(); -} - -//! [gesture event handler] -bool ImageWidget::gestureEvent(QGestureEvent *event) -{ - if (QGesture *pan = event->gesture(Qt::PanGesture)) { - panTriggered(static_cast(pan)); - return true; - } else if (QGesture *pinch = event->gesture(Qt::PinchGesture)) { - pinchTriggered(static_cast(pinch)); - return true; - } else if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) { - swipeTriggered(static_cast(swipe)); - return true; - } - return false; -} -//! [gesture event handler] - -void ImageWidget::panTriggered(QPanGesture *gesture) -{ -#ifndef QT_NO_CURSOR - switch (gesture->state()) { - case Qt::GestureStarted: - case Qt::GestureUpdated: - setCursor(Qt::SizeAllCursor); - break; - default: - setCursor(Qt::ArrowCursor); - } -#endif - QSizeF lastOffset = gesture->offset(); - horizontalOffset += lastOffset.width(); - verticalOffset += lastOffset.height(); - update(); -} - -void ImageWidget::pinchTriggered(QPinchGesture *gesture) -{ - QPinchGesture::WhatChanged whatChanged = gesture->whatChanged(); - if (whatChanged & QPinchGesture::RotationAngleChanged) { - qreal value = gesture->property("rotationAngle").toReal(); - qreal lastValue = gesture->property("lastRotationAngle").toReal(); - rotationAngle += value - lastValue; - } - if (whatChanged & QPinchGesture::ScaleFactorChanged) { - qreal value = gesture->property("scaleFactor").toReal(); - qreal lastValue = gesture->property("lastScaleFactor").toReal(); - scaleFactor += value - lastValue; - } - update(); -} - -//! [swipe function] -void ImageWidget::swipeTriggered(QSwipeGesture *gesture) -{ - if (gesture->horizontalDirection() == QSwipeGesture::Left - || gesture->verticalDirection() == QSwipeGesture::Up) - goPrevImage(); - else - goNextImage(); - update(); -} -//! [swipe function] - -void ImageWidget::resizeEvent(QResizeEvent*) -{ - update(); -} - -void ImageWidget::openDirectory(const QString &path) -{ - this->path = path; - QDir dir(path); - QStringList nameFilters; - nameFilters << "*.jpg" << "*.png"; - files = dir.entryList(nameFilters, QDir::Files|QDir::Readable, QDir::Name); - - position = 0; - goToImage(0); - update(); -} - -QImage ImageWidget::loadImage(const QString &fileName) -{ - QImageReader reader(fileName); - if (!reader.canRead()) { - qDebug() << fileName << ": can't load image"; - return QImage(); - } - - QImage image; - if (!reader.read(&image)) { - qDebug() << fileName << ": corrupted image"; - return QImage(); - } - return image; -} - -void ImageWidget::goNextImage() -{ - if (files.isEmpty()) - return; - - if (position < files.size()-1) { - ++position; - prevImage = currentImage; - currentImage = nextImage; - if (position+1 < files.size()) - nextImage = loadImage(path+QLatin1String("/")+files.at(position+1)); - else - nextImage = QImage(); - } - update(); -} - -void ImageWidget::goPrevImage() -{ - if (files.isEmpty()) - return; - - if (position > 0) { - --position; - nextImage = currentImage; - currentImage = prevImage; - if (position > 0) - prevImage = loadImage(path+QLatin1String("/")+files.at(position-1)); - else - prevImage = QImage(); - } - update(); -} - -void ImageWidget::goToImage(int index) -{ - if (files.isEmpty()) - return; - - if (index < 0 || index >= files.size()) { - qDebug() << "goToImage: invalid index: " << index; - return; - } - - if (index == position+1) { - goNextImage(); - return; - } - - if (position > 0 && index == position-1) { - goPrevImage(); - return; - } - - position = index; - - if (index > 0) - prevImage = loadImage(path+QLatin1String("/")+files.at(position-1)); - else - prevImage = QImage(); - currentImage = loadImage(path+QLatin1String("/")+files.at(position)); - if (position+1 < files.size()) - nextImage = loadImage(path+QLatin1String("/")+files.at(position+1)); - else - nextImage = QImage(); - update(); -} diff --git a/examples/gestures/imageviewer/imagewidget.h b/examples/gestures/imageviewer/imagewidget.h deleted file mode 100644 index 7b91fbf..0000000 --- a/examples/gestures/imageviewer/imagewidget.h +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef IMAGEWIDGET_H -#define IMAGEWIDGET_H - -#include -#include -#include - -QT_BEGIN_NAMESPACE -class QGestureEvent; -class QPanGesture; -class QPinchGesture; -class QSwipeGesture; -QT_END_NAMESPACE - -class ImageWidget : public QWidget -{ - Q_OBJECT - -public: - ImageWidget(QWidget *parent = 0); - - void openDirectory(const QString &path); - -protected: - bool event(QEvent*); - bool gestureEvent(QGestureEvent*); - void paintEvent(QPaintEvent*); - void resizeEvent(QResizeEvent*); - void mouseDoubleClickEvent(QMouseEvent*); - -private: - void panTriggered(QPanGesture*); - void pinchTriggered(QPinchGesture*); - void swipeTriggered(QSwipeGesture*); - -private: - void updateImage(); - QImage loadImage(const QString &fileName); - void loadImage(); - void goNextImage(); - void goPrevImage(); - void goToImage(int index); - - QString path; - QStringList files; - int position; - - QImage prevImage, nextImage; - QImage currentImage; - - float horizontalOffset; - float verticalOffset; - float rotationAngle; - float scaleFactor; -}; - -#endif diff --git a/examples/gestures/imageviewer/main.cpp b/examples/gestures/imageviewer/main.cpp deleted file mode 100644 index 9c99f31..0000000 --- a/examples/gestures/imageviewer/main.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include - -#include "mainwidget.h" - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - - MainWidget w; - w.show(); - - if (QApplication::arguments().size() > 1) - w.openDirectory(QApplication::arguments().at(1)); - else - w.openDirectory(QFileDialog::getExistingDirectory(0, "Select image folder")); - - return app.exec(); -} diff --git a/examples/gestures/imageviewer/mainwidget.cpp b/examples/gestures/imageviewer/mainwidget.cpp deleted file mode 100644 index 51e9f1e..0000000 --- a/examples/gestures/imageviewer/mainwidget.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "imagewidget.h" -#include "mainwidget.h" - -MainWidget::MainWidget(QWidget *parent) - : QMainWindow(parent) -{ - resize(400, 300); - imageWidget = new ImageWidget(this); - setCentralWidget(imageWidget); -} - -void MainWidget::openDirectory(const QString &path) -{ - imageWidget->openDirectory(path); -} diff --git a/examples/gestures/imageviewer/mainwidget.h b/examples/gestures/imageviewer/mainwidget.h deleted file mode 100644 index 1a99155..0000000 --- a/examples/gestures/imageviewer/mainwidget.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef MAINWIDGET_H -#define MAINWIDGET_H - -#include - -class MainWidget : public QMainWindow -{ - Q_OBJECT - -public: - MainWidget(QWidget *parent = 0); - -public slots: - void openDirectory(const QString &path); - -private: - bool loadImage(const QString &fileName); - - ImageWidget *imageWidget; -}; - -#endif -- cgit v0.12 From 20fd14900702103442ee95dd025706c6f263c6f6 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 16 Oct 2009 17:07:48 +0200 Subject: Doc: Documentation for gesture features. Still a moving target. Reviewed-by: Trust Me --- doc/src/diagrams/gestures/pangesture.svg | 273 +++++++++++++++++ doc/src/diagrams/gestures/pinchgesture.svg | 341 +++++++++++++++++++++ doc/src/diagrams/gestures/swipegesture-details.svg | 168 ++++++++++ doc/src/diagrams/gestures/swipegesture.svg | 158 ++++++++++ doc/src/frameworks-technologies/gestures.qdoc | 20 +- doc/src/images/pangesture.png | Bin 0 -> 7153 bytes doc/src/images/pinchgesture.png | Bin 0 -> 10094 bytes doc/src/images/swipegesture.png | Bin 0 -> 6864 bytes examples/gestures/imagegestures/imagewidget.cpp | 7 +- examples/gestures/imagegestures/imagewidget.h | 16 +- examples/gestures/imagegestures/mainwidget.h | 2 + src/gui/kernel/qapplication.cpp | 2 +- src/gui/kernel/qevent.cpp | 42 +++ src/gui/kernel/qgesture.cpp | 242 ++++++++++++++- src/gui/kernel/qgesturerecognizer.cpp | 1 + 15 files changed, 1246 insertions(+), 26 deletions(-) create mode 100644 doc/src/diagrams/gestures/pangesture.svg create mode 100644 doc/src/diagrams/gestures/pinchgesture.svg create mode 100644 doc/src/diagrams/gestures/swipegesture-details.svg create mode 100644 doc/src/diagrams/gestures/swipegesture.svg create mode 100644 doc/src/images/pangesture.png create mode 100644 doc/src/images/pinchgesture.png create mode 100644 doc/src/images/swipegesture.png diff --git a/doc/src/diagrams/gestures/pangesture.svg b/doc/src/diagrams/gestures/pangesture.svg new file mode 100644 index 0000000..c5b95ca --- /dev/null +++ b/doc/src/diagrams/gestures/pangesture.svg @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/diagrams/gestures/pinchgesture.svg b/doc/src/diagrams/gestures/pinchgesture.svg new file mode 100644 index 0000000..1c520b9 --- /dev/null +++ b/doc/src/diagrams/gestures/pinchgesture.svg @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/diagrams/gestures/swipegesture-details.svg b/doc/src/diagrams/gestures/swipegesture-details.svg new file mode 100644 index 0000000..0f7de5b --- /dev/null +++ b/doc/src/diagrams/gestures/swipegesture-details.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/diagrams/gestures/swipegesture.svg b/doc/src/diagrams/gestures/swipegesture.svg new file mode 100644 index 0000000..fc60a4d --- /dev/null +++ b/doc/src/diagrams/gestures/swipegesture.svg @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/doc/src/frameworks-technologies/gestures.qdoc b/doc/src/frameworks-technologies/gestures.qdoc index e5947a2..a619fe8 100644 --- a/doc/src/frameworks-technologies/gestures.qdoc +++ b/doc/src/frameworks-technologies/gestures.qdoc @@ -41,10 +41,9 @@ /*! \page gestures-overview.html - \startpage index.html Qt Reference Documentation - \title Gestures Programming \ingroup frameworks-technologies + \startpage index.html Qt Reference Documentation \brief An overview of the Qt support for Gesture programming. @@ -60,10 +59,11 @@ \section1 Overview QGesture is the central class in Qt's gesture framework, providing a container - for information about gestures performed by the user, such as panning, pinching - and swiping. QGesture exposes properties that give general information that is - common to all gestures, and these can be extended to provide additional - gesture-specific information. + for information about gestures performed by the user. QGesture exposes + properties that give general information that is common to all gestures, and + these can be extended to provide additional gesture-specific information. + Common panning, pinching and swiping gestures are represented by specialized + classes: QPanGesture, QPinchGesture and QSwipeGesture. Developers can also implement new gestures by subclassing and extending the QGestureRecognizer class. Adding support for a new gesture involves implementing @@ -80,7 +80,7 @@ required gesture type. The standard types are defined by the Qt::GestureType enum and include many commonly used gestures. - \snippet examples/gestures/imageviewer/imagewidget.cpp enable gestures + \snippet examples/gestures/imagegestures/imagewidget.cpp enable gestures In the above code, the gesture is set up in the constructor of the target object itself. @@ -93,18 +93,18 @@ \l{QWidget::}{event()} handler function and delegates gesture events to a specialized gestureEvent() function: - \snippet examples/gestures/imageviewer/imagewidget.cpp event handler + \snippet examples/gestures/imagegestures/imagewidget.cpp event handler The gesture events delivered to the target object can be examined individually and dealt with appropriately: - \snippet examples/gestures/imageviewer/imagewidget.cpp gesture event handler + \snippet examples/gestures/imagegestures/imagewidget.cpp gesture event handler Responding to a gesture is simply a matter of obtaining the QGesture object delivered in the QGestureEvent sent to the target object and examining the information it contains. - \snippet examples/gestures/imageviewer/imagewidget.cpp swipe function + \snippet examples/gestures/imagegestures/imagewidget.cpp swipe function Here, we examine the direction in which the user swiped the widget and modify its contents accordingly. diff --git a/doc/src/images/pangesture.png b/doc/src/images/pangesture.png new file mode 100644 index 0000000..24caf91 Binary files /dev/null and b/doc/src/images/pangesture.png differ diff --git a/doc/src/images/pinchgesture.png b/doc/src/images/pinchgesture.png new file mode 100644 index 0000000..95614c4 Binary files /dev/null and b/doc/src/images/pinchgesture.png differ diff --git a/doc/src/images/swipegesture.png b/doc/src/images/swipegesture.png new file mode 100644 index 0000000..0b7d35a Binary files /dev/null and b/doc/src/images/swipegesture.png differ diff --git a/examples/gestures/imagegestures/imagewidget.cpp b/examples/gestures/imagegestures/imagewidget.cpp index c4a4e50..95525c5 100644 --- a/examples/gestures/imagegestures/imagewidget.cpp +++ b/examples/gestures/imagegestures/imagewidget.cpp @@ -43,6 +43,7 @@ #include +//! [constructor] ImageWidget::ImageWidget(QWidget *parent) : QWidget(parent), position(0), @@ -52,19 +53,15 @@ ImageWidget::ImageWidget(QWidget *parent) scaleFactor(1) { - setObjectName("ImageWidget"); setMinimumSize(QSize(100,100)); - setAttribute(Qt::WA_PaintOnScreen); - setAttribute(Qt::WA_OpaquePaintEvent); - setAttribute(Qt::WA_NoSystemBackground); - //! [enable gestures] grabGesture(Qt::PanGesture); grabGesture(Qt::PinchGesture); grabGesture(Qt::SwipeGesture); //! [enable gestures] } +//! [constructor] //! [event handler] bool ImageWidget::event(QEvent *event) diff --git a/examples/gestures/imagegestures/imagewidget.h b/examples/gestures/imagegestures/imagewidget.h index 7b91fbf..56e2316 100644 --- a/examples/gestures/imagegestures/imagewidget.h +++ b/examples/gestures/imagegestures/imagewidget.h @@ -53,28 +53,28 @@ class QPinchGesture; class QSwipeGesture; QT_END_NAMESPACE +//! [class definition begin] class ImageWidget : public QWidget { Q_OBJECT public: ImageWidget(QWidget *parent = 0); - void openDirectory(const QString &path); protected: - bool event(QEvent*); - bool gestureEvent(QGestureEvent*); - void paintEvent(QPaintEvent*); - void resizeEvent(QResizeEvent*); - void mouseDoubleClickEvent(QMouseEvent*); + bool event(QEvent *event); + void paintEvent(QPaintEvent *event); + void resizeEvent(QResizeEvent *event); + void mouseDoubleClickEvent(QMouseEvent *event); private: + bool gestureEvent(QGestureEvent *event); void panTriggered(QPanGesture*); void pinchTriggered(QPinchGesture*); void swipeTriggered(QSwipeGesture*); +//! [class definition begin] -private: void updateImage(); QImage loadImage(const QString &fileName); void loadImage(); @@ -93,6 +93,8 @@ private: float verticalOffset; float rotationAngle; float scaleFactor; +//! [class definition end] }; +//! [class definition end] #endif diff --git a/examples/gestures/imagegestures/mainwidget.h b/examples/gestures/imagegestures/mainwidget.h index 1a99155..71b09b0 100644 --- a/examples/gestures/imagegestures/mainwidget.h +++ b/examples/gestures/imagegestures/mainwidget.h @@ -44,6 +44,8 @@ #include +class ImageWidget; + class MainWidget : public QMainWindow { Q_OBJECT diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index b990fe2..6f6d706 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -5643,7 +5643,7 @@ Qt::GestureType QApplication::registerGestureRecognizer(QGestureRecognizer *reco Unregisters all gesture recognizers of the specified \a type. - \sa registerGestureRecognizer + \sa registerGestureRecognizer() */ void QApplication::unregisterGestureRecognizer(Qt::GestureType type) { diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 4826704..2ff6d65 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -3563,6 +3563,7 @@ QMenubarUpdatedEvent::QMenubarUpdatedEvent(QMenuBar * const menuBar) \brief The QTouchEvent class contains parameters that describe a touch event. \since 4.6 \ingroup events + \ingroup multitouch \section1 Enabling Touch Events @@ -4195,6 +4196,7 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T \class QGestureEvent \since 4.6 \ingroup events + \ingroup gestures \brief The QGestureEvent class provides the description of triggered gestures. @@ -4316,4 +4318,44 @@ bool QGestureEvent::isAccepted(QGesture *gesture) const return gesture ? gesture->d_func()->accept : false; } +#ifdef Q_NO_USING_KEYWORD +/*! + \fn void QGestureEvent::setAccepted(bool accepted) + + Sets or clears the event's internal flag that determines whether it should + be delivered to other objects. + + Calling this function with a value of true for \a accepted indicates that the + caller has accepted the event and that it should not be propagated further. + Calling this function with a value of false indicates that the caller has + ignored the event and that it should be delivered to other objects. + + For convenience, the accept flag can also be set with accept(), and cleared + with ignore(). + + \sa QEvent::accepted +*/ +/*! + \fn bool QGestureEvent::isAccepted() const + + Returns true is the event has been accepted; otherwise returns false. + + \sa QEvent::accepted +*/ +/*! + \fn void QGestureEvent::accept() + + Accepts the event, the equivalent of calling setAccepted(true). + + \sa QEvent::accept() +*/ +/*! + \fn void QGestureEvent::ignore() + + Ignores the event, the equivalent of calling setAccepted(false). + + \sa QEvent::ignore() +*/ +#endif + QT_END_NAMESPACE diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index 6231d19..fc8df49 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -47,6 +47,7 @@ QT_BEGIN_NAMESPACE /*! \class QGesture \since 4.6 + \ingroup gestures \brief The QGesture class represents a gesture, containing properties that describe the corresponding user input. @@ -185,8 +186,55 @@ void QGesture::unsetHotSpot() d_func()->isHotSpotSet = false; } -// QPanGesture +/*! + \class QPanGesture + \since 4.6 + \brief The QPanGesture class describes a panning gesture made by the user. + \ingroup gestures + + \image pangesture.png + + \sa {Gestures Programming}, QPinchGesture, QSwipeGesture +*/ + +/*! + \property QPanGesture::totalOffset + \brief the total offset from the first input position to the current input + position + + The total offset measures the total change in position of the user's input + covered by the gesture on the input device. +*/ + +/*! + \property QPanGesture::lastOffset + \brief the last offset recorded for this gesture + + The last offset contains the change in position of the user's input as + reported in the \l offset property when a previous gesture event was + delivered for this gesture. + + If no previous event was delivered with information about this gesture + (i.e., this gesture object contains information about the first movement + in the gesture) then this property contains a zero size. +*/ +/*! + \property QPanGesture::offset + \brief the offset from the previous input position to the current input + position + + The offset measures the change in position of the user's input on the + input device. +*/ + +/*! + \property QPanGesture::acceleration +*/ + +/*! + \internal +*/ QPanGesture::QPanGesture(QObject *parent) : QGesture(*new QPanGesturePrivate, parent) { @@ -234,8 +282,139 @@ void QPanGesture::setAcceleration(qreal value) d_func()->acceleration = value; } -// QPinchGesture +/*! + \class QPinchGesture + \since 4.6 + \brief The QPinchGesture class describes a pinch gesture made my the user. + \ingroup multitouch + \ingroup gestures + + A pinch gesture is a form of multitouch user input in which the user typically + touches two points on the input device with a thumb and finger, before moving + them closer together or further apart to change the scale factor, zoom, or level + of detail of the user interface. + + \image pinchgesture.png + + Instead of repeatedly applying the same pinching gesture, the user may + continue to touch the input device in one place, and apply a second touch + to a new point, continuing the gesture. When this occurs, gesture events + will continue to be delivered to the target object, containing an instance + of QPinchGesture in the Qt::GestureUpdated state. + + \sa {Gestures Programming}, QPanGesture, QSwipeGesture +*/ + +/*! + \enum QPinchGesture::WhatChange + + This enum describes the changes that can occur to the properties of + the gesture object. + + \value ScaleFactorChanged The scale factor held by scaleFactor changed. + \value RotationAngleChanged The rotation angle held by rotationAngle changed. + \value CenterPointChanged The center point held by centerPoint changed. + + \sa whatChanged +*/ + +/*! + \property QPinchGesture::whatChanged + \brief the property of the gesture that has changed + + This property indicates which of the other properties has changed since + the previous gesture event included information about this gesture. You + can use this information to determine which aspect of your user interface + needs to be updated. + + \sa scaleFactor, rotationAngle, centerPoint +*/ + +/*! + \property QPinchGesture::totalScaleFactor + \brief the total scale factor + + The total scale factor measures the total change in scale factor from the + original value to the current scale factor. + + \sa scaleFactor, lastScaleFactor +*/ +/*! + \property QPinchGesture::lastScaleFactor + \brief the last scale factor recorded for this gesture + + The last scale factor contains the scale factor reported in the + \l scaleFactor property when a previous gesture event included + information about this gesture. + + If no previous event was delivered with information about this gesture + (i.e., this gesture object contains information about the first movement + in the gesture) then this property contains zero. + + \sa scaleFactor, totalScaleFactor +*/ +/*! + \property QPinchGesture::scaleFactor + \brief the current scale factor + + The scale factor measures the scale factor associated with the distance + between two of the user's inputs on a multitouch device. + + \sa totalScaleFactor, lastScaleFactor +*/ +/*! + \property QPinchGesture::totalRotationAngle + \brief the total angle covered by the gesture + + This total angle measures the complete angle covered by the gesture. Usually, this + is equal to the value held by the \l rotationAngle property, except in the case where + the user performs multiple rotations by removing and repositioning one of the touch + points, as described above. In this case, the total angle will be the sum of the + rotation angles for the multiple stages of the gesture. + + \sa rotationAngle, lastRotationAngle +*/ +/*! + \property QPinchGesture::lastRotationAngle + \brief the last reported angle covered by the gesture motion + + The last rotation angle is the angle as reported in the \l rotationAngle property + when a previous gesture event was delivered for this gesture. + + \sa rotationAngle, totalRotationAngle +*/ +/*! + \property QPinchGesture::rotationAngle + \brief the angle covered by the gesture motion + + \sa totalRotationAngle, lastRotationAngle +*/ + +/*! + \property QPinchGesture::startCenterPoint + \brief the starting position of the center point + + \sa centerPoint, lastCenterPoint +*/ +/*! + \property QPinchGesture::lastCenterPoint + \brief the last position of the center point recorded for this gesture + + \sa centerPoint, startCenterPoint +*/ +/*! + \property QPinchGesture::centerPoint + \brief the current center point + + The center point is the midpoint between the two input points in the gesture. + + \sa startCenterPoint, lastCenterPoint +*/ + +/*! + \internal +*/ QPinchGesture::QPinchGesture(QObject *parent) : QGesture(*new QPinchGesturePrivate, parent) { @@ -345,8 +524,65 @@ void QPinchGesture::setRotationAngle(qreal value) d_func()->rotationAngle = value; } -// QSwipeGesture +/*! + \class QSwipeGesture + \since 4.6 + \brief The QSwipeGesture class describes a swipe gesture made by the user. + \ingroup gestures + + \image swipegesture.png + + \sa {Gestures Programming}, QPanGesture, QPinchGesture +*/ + +/*! + \enum QSwipeGesture::SwipeDirection + + This enum describes the possible directions for the gesture's motion + along the horizontal and vertical axes. + + \value NoDirection The gesture had no motion associated with it on a particular axis. + \value Left The gesture involved a horizontal motion to the left. + \value Right The gesture involved a horizontal motion to the right. + \value Up The gesture involved an upward vertical motion. + \value Down The gesture involved a downward vertical motion. +*/ + +/*! + \property QSwipeGesture::horizontalDirection + \brief the horizontal direction of the gesture + + If the gesture has a horizontal component, the horizontal direction + is either Left or Right; otherwise, it is NoDirection. + + \sa verticalDirection, swipeAngle +*/ +/*! + \property QSwipeGesture::verticalDirection + \brief the vertical direction of the gesture + + If the gesture has a vertical component, the vertical direction + is either Up or Down; otherwise, it is NoDirection. + + \sa horizontalDirection, swipeAngle +*/ + +/*! + \property QSwipeGesture::swipeAngle + \brief the angle of the motion associated with the gesture + + If the gesture has either a horizontal or vertical component, the + swipe angle describes the angle between the direction of motion and the + x-axis as defined using the standard widget + \l{The Coordinate System}{coordinate system}. + + \sa horizontalDirection, verticalDirection +*/ + +/*! + \internal +*/ QSwipeGesture::QSwipeGesture(QObject *parent) : QGesture(*new QSwipeGesturePrivate, parent) { diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp index 1998cba..9de3bcc 100644 --- a/src/gui/kernel/qgesturerecognizer.cpp +++ b/src/gui/kernel/qgesturerecognizer.cpp @@ -49,6 +49,7 @@ QT_BEGIN_NAMESPACE \class QGestureRecognizer \since 4.6 \brief The QGestureRecognizer class provides the infrastructure for gesture recognition. + \ingroup gestures Gesture recognizers are responsible for creating and managing QGesture objects and monitoring input events sent to QWidget and QGraphicsObject subclasses. -- cgit v0.12